From 770c074f07413dc7f2303ec744f62ed9555d1394 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 16:09:44 -0400 Subject: [PATCH 01/12] Add new video MIME types to mimetypes.py --- Lib/mimetypes.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 561b99a92c8d16b..d66e14d2318cd60 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -689,8 +689,13 @@ def _default_mime_types(): '.sgml' : 'text/x-sgml', '.vcf' : 'text/x-vcard', '.xml' : 'text/xml', + '.3gp' : 'video/3gpp', + '.3g2' : 'video/3gpp2', + '.m4s' : 'video/iso.segment', + '.lot' : 'video/lottie+json', '.mkv' : 'video/matroska', '.mk3d' : 'video/matroska-3d', + '.mj2' : 'video/mj2', '.mp4' : 'video/mp4', '.mpeg' : 'video/mpeg', '.m1v' : 'video/mpeg', @@ -700,6 +705,12 @@ def _default_mime_types(): '.ogv' : 'video/ogg', '.mov' : 'video/quicktime', '.qt' : 'video/quicktime', + '.pyv' : 'video/vnd.ms-playready.media.pyv', + '.blk' : 'video/vnd.radgamettools.bink', + '.bk2' : 'video/vnd.radgamettools.bink'. + '.sswf' : 'video/vnd.sealed.swf', + '.ssw' : 'video/vnd.sealed.swf', + '.yt' : 'video/vnd.youtube.yt'. '.webm' : 'video/webm', '.avi' : 'video/vnd.avi', '.m4v' : 'video/x-m4v', From 2c92834db89107f9e487887dadeddeba05b59d6d Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:14:59 +0000 Subject: [PATCH 02/12] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20b?= =?UTF-8?q?lurb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst new file mode 100644 index 000000000000000..2016617c8dce788 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -0,0 +1,11 @@ +Add the following MIME types corresponding to file extensions: + +- '.3gp' : 'video/3gpp', +- '.3g2' : 'video/3gpp2', + - '.m4s' : 'video/iso.segment', + - '.lot' : 'video/lottie+json', + - '.mj2' : 'video/mj2', + - '.pyv' : 'video/vnd.ms-playready.media.pyv', + - '.blk' and '.bk2': 'video/vnd.radgamettools.bink', + - '.sswf' and '.ssw' : 'video/vnd.sealed.swf', + - '.yt' : 'video/vnd.youtube.yt'. From 634dc9bb546e8d5fe9c077f922325cedfae2e6f6 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 16:38:57 -0400 Subject: [PATCH 03/12] Indent --- ...2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 2016617c8dce788..963c19f1e2c45f6 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -2,10 +2,11 @@ Add the following MIME types corresponding to file extensions: - '.3gp' : 'video/3gpp', - '.3g2' : 'video/3gpp2', - - '.m4s' : 'video/iso.segment', - - '.lot' : 'video/lottie+json', - - '.mj2' : 'video/mj2', - - '.pyv' : 'video/vnd.ms-playready.media.pyv', - - '.blk' and '.bk2': 'video/vnd.radgamettools.bink', - - '.sswf' and '.ssw' : 'video/vnd.sealed.swf', - - '.yt' : 'video/vnd.youtube.yt'. +- '.m4s' : 'video/iso.segment', +- '.lot' : 'video/lottie+json', +- '.mj2' : 'video/mj2', +- '.pyv' : 'video/vnd.ms-playready.media.pyv', +- '.blk' and '.bk2': 'video/vnd.radgamettools.bink', +- '.sswf' and '.ssw' : 'video/vnd.sealed.swf', +- '.yt' : 'video/vnd.youtube.yt'. + From f130c405639368be9cee1cbec9d3dfaaff54e33b Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 20:20:14 -0400 Subject: [PATCH 04/12] Formatting --- ...-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 963c19f1e2c45f6..51341998461c49b 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,12 +1,12 @@ -Add the following MIME types corresponding to file extensions: -- '.3gp' : 'video/3gpp', -- '.3g2' : 'video/3gpp2', -- '.m4s' : 'video/iso.segment', -- '.lot' : 'video/lottie+json', -- '.mj2' : 'video/mj2', -- '.pyv' : 'video/vnd.ms-playready.media.pyv', -- '.blk' and '.bk2': 'video/vnd.radgamettools.bink', -- '.sswf' and '.ssw' : 'video/vnd.sealed.swf', -- '.yt' : 'video/vnd.youtube.yt'. +Add the following MIME types corresponding to file extensions: + - ``.3gp`` : ``video/3gpp``, + - ``.3g2`` : ``video/3gpp2``, + - ``.m4s`` : ``video/iso.segment``, + - ``.lot`` : ``video/lottie+json``, + - ``.mj2`` : ``video/mj2``, + - ``.pyv`` : ``video/vnd.ms-playready.media.pyv``, + - ``.blk`` and ``.bk2``: ``video/vnd.radgamettools.bink``, + - ``.sswf`` and ``.ssw`` : ``video/vnd.sealed.swf``, + - ``.yt`` : ``video/vnd.youtube.yt``. From a3ccedfb49556a06f60551cd304729df2105aeaf Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 20:21:56 -0400 Subject: [PATCH 05/12] Omit comma --- .../Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 51341998461c49b..3bb7a85e40d211c 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,4 +1,3 @@ - Add the following MIME types corresponding to file extensions: - ``.3gp`` : ``video/3gpp``, @@ -9,4 +8,4 @@ Add the following MIME types corresponding to file extensions: - ``.pyv`` : ``video/vnd.ms-playready.media.pyv``, - ``.blk`` and ``.bk2``: ``video/vnd.radgamettools.bink``, - ``.sswf`` and ``.ssw`` : ``video/vnd.sealed.swf``, - - ``.yt`` : ``video/vnd.youtube.yt``. + - ``.yt`` : ``video/vnd.youtube.yt``. \ No newline at end of file From b2bd60f8889706d385b543221a873ccb1925fb8f Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 21:04:15 -0400 Subject: [PATCH 06/12] Again... --- ...6-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 3bb7a85e40d211c..e4067a6aba15d5f 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,11 +1,11 @@ Add the following MIME types corresponding to file extensions: - - ``.3gp`` : ``video/3gpp``, - - ``.3g2`` : ``video/3gpp2``, - - ``.m4s`` : ``video/iso.segment``, - - ``.lot`` : ``video/lottie+json``, - - ``.mj2`` : ``video/mj2``, - - ``.pyv`` : ``video/vnd.ms-playready.media.pyv``, - - ``.blk`` and ``.bk2``: ``video/vnd.radgamettools.bink``, - - ``.sswf`` and ``.ssw`` : ``video/vnd.sealed.swf``, - - ``.yt`` : ``video/vnd.youtube.yt``. \ No newline at end of file + - ``.3gp`` for ``video/3gpp`` + - ``.3g2`` for ``video/3gpp2`` + - ``.m4s`` for ``video/iso.segment`` + - ``.lot`` for ``video/lottie+json`` + - ``.mj2`` for ``video/mj2`` + - ``.pyv`` for ``video/vnd.ms-playready.media.pyv`` + - ``.blk`` and ``.bk2`` for ``video/vnd.radgamettools.bink`` + - ``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` + - ``.yt`` for ``video/vnd.youtube.yt`` From 536c5a62f039213cf1240c23b7949c6788533ea0 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Wed, 1 Apr 2026 19:47:39 -0400 Subject: [PATCH 07/12] Add name and GH issue in News fragment --- .../next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index e4067a6aba15d5f..818ac3a22e5a873 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -9,3 +9,5 @@ Add the following MIME types corresponding to file extensions: - ``.blk`` and ``.bk2`` for ``video/vnd.radgamettools.bink`` - ``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` - ``.yt`` for ``video/vnd.youtube.yt`` + +(Contributed by Charlie Lin in :gh:`146342`.) From 4cae25edec52d6933283ef1d54438aca8d410414 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Wed, 1 Apr 2026 20:16:34 -0400 Subject: [PATCH 08/12] Fix syntax errors in mimetypes.py --- Lib/mimetypes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index d66e14d2318cd60..4d43d0a9043a768 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -707,10 +707,10 @@ def _default_mime_types(): '.qt' : 'video/quicktime', '.pyv' : 'video/vnd.ms-playready.media.pyv', '.blk' : 'video/vnd.radgamettools.bink', - '.bk2' : 'video/vnd.radgamettools.bink'. + '.bk2' : 'video/vnd.radgamettools.bink', '.sswf' : 'video/vnd.sealed.swf', '.ssw' : 'video/vnd.sealed.swf', - '.yt' : 'video/vnd.youtube.yt'. + '.yt' : 'video/vnd.youtube.yt', '.webm' : 'video/webm', '.avi' : 'video/vnd.avi', '.m4v' : 'video/x-m4v', From 3a22e6ba6d932a936864ec168e539f964477f5c7 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Fri, 10 Apr 2026 21:36:30 -0400 Subject: [PATCH 09/12] Format --- .../Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 818ac3a22e5a873..304d24094b3018d 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,4 +1,4 @@ -Add the following MIME types corresponding to file extensions: +* Add the following MIME types corresponding to file extensions: - ``.3gp`` for ``video/3gpp`` - ``.3g2`` for ``video/3gpp2`` @@ -10,4 +10,4 @@ Add the following MIME types corresponding to file extensions: - ``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` - ``.yt`` for ``video/vnd.youtube.yt`` -(Contributed by Charlie Lin in :gh:`146342`.) + (Contributed by Charlie Lin in :gh:`146342`.) From 0c20ce2ff230feb54b2a3eb4b387011e182328ae Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Fri, 10 Apr 2026 21:57:15 -0400 Subject: [PATCH 10/12] Drop list --- ...-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index 304d24094b3018d..d557b0150d79aef 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,13 +1,14 @@ -* Add the following MIME types corresponding to file extensions: - - ``.3gp`` for ``video/3gpp`` - - ``.3g2`` for ``video/3gpp2`` - - ``.m4s`` for ``video/iso.segment`` - - ``.lot`` for ``video/lottie+json`` - - ``.mj2`` for ``video/mj2`` - - ``.pyv`` for ``video/vnd.ms-playready.media.pyv`` - - ``.blk`` and ``.bk2`` for ``video/vnd.radgamettools.bink`` - - ``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` - - ``.yt`` for ``video/vnd.youtube.yt`` +Add the following MIME types corresponding to file extensions: - (Contributed by Charlie Lin in :gh:`146342`.) +``.3gp`` for ``video/3gpp`` +``.3g2`` for ``video/3gpp2`` +``.m4s`` for ``video/iso.segment`` +``.lot`` for ``video/lottie+json`` +``.mj2`` for ``video/mj2`` +``.pyv`` for ``video/vnd.ms-playready.media.pyv`` +``.blk`` and ``.bk2`` for ``video/vnd.radgamettools.bink`` +``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` +``.yt`` for ``video/vnd.youtube.yt`` + +(Contributed by Charlie Lin in :gh:`146342`.) \ No newline at end of file From 0c69915f2b159ecaaff005f0edff84c733d94d2e Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 4 May 2026 15:21:53 +0000 Subject: [PATCH 11/12] CRLF -> LF --- .../Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst index d557b0150d79aef..db3ee1294908483 100644 --- a/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst +++ b/Misc/NEWS.d/next/Library/2026-03-23-20-14-57.gh-issue-146341.JSTJlL.rst @@ -1,4 +1,3 @@ - Add the following MIME types corresponding to file extensions: ``.3gp`` for ``video/3gpp`` @@ -11,4 +10,4 @@ Add the following MIME types corresponding to file extensions: ``.sswf`` and ``.ssw`` for ``video/vnd.sealed.swf`` ``.yt`` for ``video/vnd.youtube.yt`` -(Contributed by Charlie Lin in :gh:`146342`.) \ No newline at end of file +(Contributed by Charlie Lin in :gh:`146342`.) From bb699b68b110e8d7ec4cf369247db42d1c446e38 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Tue, 7 Jul 2026 08:38:04 -0400 Subject: [PATCH 12/12] Mark in whatsnew --- Doc/whatsnew/3.16.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Doc/whatsnew/3.16.rst b/Doc/whatsnew/3.16.rst index e342aa71c7924ea..61421d1ca10e66b 100644 --- a/Doc/whatsnew/3.16.rst +++ b/Doc/whatsnew/3.16.rst @@ -1109,6 +1109,8 @@ mimetypes Valid extensions must now start with a ``'.'`` or be empty; undotted extensions raise a :exc:`ValueError`. (Contributed by Nikita Sobolev in :gh:`149720`.) +* Add more MIME types. + (Contributed by Charlie Lin in :gh:`146342`.) shutil ------