From f78534de54a2737b7096d8a8506584b5061d5941 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 64160d787d85d21bbb1a8f5b54cb3898014fe9ed 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 f0cb26148caddbd3a373b4868a01122e8dc01052 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 9da90ccfbec5659b390cd8777cabe00592026297 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 afe8208370d9cecd1d349997982355a66d448fd3 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 6a0ce3834647efa263a6304cd8b168ee343fe30a 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 eb44724967ec9ff8c973b861f3cd42518043c9ad 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 5f96e250542b0956577b88460d05fc1383abe126 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 6f297ed6ed8629210cdb0b84b817edba40dd2f9c 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 d6b42ac7ae8595806dcd2b6837cd8de8649bc026 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 cf8fd13faf80fee4324aee81024c5ebcc391a39d 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 d434c7421489082f7edf812f3eeadb6db4c26bfd 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 e8c75d2f571061a..6cd4c1703136d3e 100644 --- a/Doc/whatsnew/3.16.rst +++ b/Doc/whatsnew/3.16.rst @@ -510,6 +510,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 029244fe0d492d0c06d3a7cb33b52207112aa507 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 068d60adbbac7a598b6f2eb68f84b8cb9b407d85 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 6cd4c1703136d3e..800f0b7e70b5f31 100644 --- a/Doc/whatsnew/3.16.rst +++ b/Doc/whatsnew/3.16.rst @@ -511,7 +511,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 39ebb01c20f7854257730b6990669e4bc60d7f9c 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',