From 0c0e459bedc3a9c4a88102c1530451ab854f9225 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 16:09:44 -0400 Subject: [PATCH 01/15] 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 4339ef5a61397dd..9abe0ce374b2e85 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -681,8 +681,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', @@ -692,6 +697,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 8111a4e6c192a44a2b7550f00136946d88df949d 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/15] =?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 63efebce213633796ee4110526bd07b425d278d8 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 16:38:57 -0400 Subject: [PATCH 03/15] 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 a4c3829dfda87ac9886f656f15c6e842f787eca4 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 20:20:14 -0400 Subject: [PATCH 04/15] 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 7aca48f0c407b405cca3ffb92608b69044732e19 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 20:21:56 -0400 Subject: [PATCH 05/15] 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 a92d9c539af80ace685aa7722c9ba2d8276101b8 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 23 Mar 2026 21:04:15 -0400 Subject: [PATCH 06/15] 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 885bed29e945c5231c2e0c13c9a213dc15e129e4 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Wed, 1 Apr 2026 19:47:39 -0400 Subject: [PATCH 07/15] 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 de5970955cc747e04dc017fb70736e0f721a381e Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Wed, 1 Apr 2026 20:16:34 -0400 Subject: [PATCH 08/15] 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 9abe0ce374b2e85..3b81f18376aaf29 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -699,10 +699,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 b8280377f11c512dbdd2485c7d8e5152c06d9163 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Fri, 10 Apr 2026 21:36:30 -0400 Subject: [PATCH 09/15] 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 b1c1610eb4f4e67218172889ee42301510ae4a8b Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Fri, 10 Apr 2026 21:57:15 -0400 Subject: [PATCH 10/15] 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 2ab948d3214860dae9076920ae908ca41d2c3841 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Mon, 4 May 2026 15:21:53 +0000 Subject: [PATCH 11/15] 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 86b690f49ce1e60db3713baa8ea03f1fcaa19d62 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Tue, 7 Jul 2026 08:38:04 -0400 Subject: [PATCH 12/15] 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 b6a5e4c7fbf1b85..8d389491d3cbfe6 100644 --- a/Doc/whatsnew/3.16.rst +++ b/Doc/whatsnew/3.16.rst @@ -598,6 +598,8 @@ mimetypes * Valid extensions start with a '.' or are empty for :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions now raise a :exc:`ValueError`. +* Add more MIME types. + (Contributed by Charlie Lin in :gh:`146342`.) shutil ------ From 583e7a73921b0430e189e32875946ca48692881a Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Tue, 7 Jul 2026 10:38:58 -0400 Subject: [PATCH 13/15] Correct bink extension Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- Lib/mimetypes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 3b81f18376aaf29..6407ba6054b556d 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -698,7 +698,7 @@ def _default_mime_types(): '.mov' : 'video/quicktime', '.qt' : 'video/quicktime', '.pyv' : 'video/vnd.ms-playready.media.pyv', - '.blk' : 'video/vnd.radgamettools.bink', + '.bik' : 'video/vnd.radgamettools.bink', '.bk2' : 'video/vnd.radgamettools.bink', '.sswf' : 'video/vnd.sealed.swf', '.ssw' : 'video/vnd.sealed.swf', From ddec29776db67d0550f1c88e6390a8facc1f1ae2 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Tue, 7 Jul 2026 10:39:24 -0400 Subject: [PATCH 14/15] Update Doc/whatsnew/3.16.rst to state issue # Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- Doc/whatsnew/3.16.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.16.rst b/Doc/whatsnew/3.16.rst index 8d389491d3cbfe6..12415b5330e891f 100644 --- a/Doc/whatsnew/3.16.rst +++ b/Doc/whatsnew/3.16.rst @@ -599,7 +599,7 @@ mimetypes :meth:`mimetypes.MimeTypes.add_type`. Undotted extensions now raise a :exc:`ValueError`. * Add more MIME types. - (Contributed by Charlie Lin in :gh:`146342`.) + (Contributed by Charlie Lin in :gh:`146341`.) shutil ------ From 9afa4c454c0281c8702e01f5686d50b5e0a31614 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Thu, 9 Jul 2026 08:24:48 -0400 Subject: [PATCH 15/15] Update mimetypes.py --- Lib/mimetypes.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 6407ba6054b556d..985b12dd0415d8f 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -585,10 +585,6 @@ def _default_mime_types(): '.yaml' : 'application/yaml', '.yml' : 'application/yaml', '.zip' : 'application/zip', - '.3gp' : 'audio/3gpp', - '.3gpp' : 'audio/3gpp', - '.3g2' : 'audio/3gpp2', - '.3gpp2' : 'audio/3gpp2', '.aac' : 'audio/aac', '.adts' : 'audio/aac', '.loas' : 'audio/aac', @@ -682,7 +678,9 @@ def _default_mime_types(): '.vcf' : 'text/x-vcard', '.xml' : 'text/xml', '.3gp' : 'video/3gpp', + '.3gpp' : 'video/3gpp', '.3g2' : 'video/3gpp2', + '.3gpp2' : 'video/3gpp2', '.m4s' : 'video/iso.segment', '.lot' : 'video/lottie+json', '.mkv' : 'video/matroska',