diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst index 8503a4c7f973fc..23679717122251 100644 --- a/Doc/whatsnew/3.15.rst +++ b/Doc/whatsnew/3.15.rst @@ -695,6 +695,20 @@ mimetypes * Add ``application/toml``. (Contributed by Gil Forcada in :gh:`139959`.) * Rename ``application/x-texinfo`` to ``application/texinfo``. (Contributed by Charlie Lin in :gh:`140165`) +* Add the following: + - ``application/efi`` + - ``application/pem-certificate-chain`` + - ``application/pgp-keys`` + - ``application/sql`` + - ``application/zstd`` + - ``application/ocsp-request`` + - ``application/ocsp-response`` + - ``application/mathematica`` + - ``application/mathml+xml`` + - ``application/mbox`` + - ``application/pem-certificate-chain`` + + (Contributed by Charlie Lin in :gh:`140393`) pathlib diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 48a9f430d45262..f7372d8b1341b5 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -477,10 +477,16 @@ def _default_mime_types(): types_map = _types_map_default = { '.js' : 'text/javascript', '.mjs' : 'text/javascript', + '.efi' : 'application/efi', '.epub' : 'application/epub+zip', '.gz' : 'application/gzip', '.json' : 'application/json', '.webmanifest': 'application/manifest+json', + '.nb' : 'application/mathematica', + '.ma' : 'application/mathematica', + '.mb' : 'application/mathematica', + '.mml' : 'application/mathml+xml', + '.mbox' : 'application/mbox', '.doc' : 'application/msword', '.dot' : 'application/msword', '.wiz' : 'application/msword', @@ -493,13 +499,19 @@ def _default_mime_types(): '.o' : 'application/octet-stream', '.obj' : 'application/octet-stream', '.so' : 'application/octet-stream', + '.ors' : 'application/ocsp-response', + '.orq' : 'application/ocsp-request', '.oda' : 'application/oda', '.ogx' : 'application/ogg', '.pdf' : 'application/pdf', + '.pem' : 'application/pem-certificate-chain', + '.asc' : 'application/pgp-keys', '.p7c' : 'application/pkcs7-mime', '.ps' : 'application/postscript', '.ai' : 'application/postscript', '.eps' : 'application/postscript', + '.rfcxml' : 'application/rfc+xml', + '.sql' : 'application/sql', '.texi' : 'application/texinfo', '.texinfo': 'application/texinfo', '.toml' : 'application/toml', @@ -566,6 +578,7 @@ def _default_mime_types(): '.yaml' : 'application/yaml', '.yml' : 'application/yaml', '.zip' : 'application/zip', + '.zst' : 'application/zstd', '.3gp' : 'audio/3gpp', '.3gpp' : 'audio/3gpp', '.3g2' : 'audio/3gpp2', diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index 746984ec0ca9df..107c473f490a59 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -225,11 +225,23 @@ def test_guess_known_extensions(self): def test_preferred_extension(self): def check_extensions(): for mime_type, ext in ( + ('application/efi', '.efi'), ("application/epub+zip", ".epub"), + ('application/json', '.json'), + ('application/manifest+json', '.webmanifest'), + ('application/mathematica', '.nb'), + ('application/mathml+xml', '.mml'), + ('application/mbox', '.mbox'), ("application/octet-stream", ".bin"), ("application/gzip", ".gz"), + ('application/ocsp-response', '.ors'), + ('application/ocsp-request', '.orq'), + ('application/pem-certificate-chain', '.pem'), + ('application/pgp-keys', '.asc'), ("application/ogg", ".ogx"), ("application/postscript", ".ps"), + ('application/rfc+xml', '.rfcxml'), + ('application/sql', '.sql'), ("application/texinfo", ".texi"), ("application/toml", ".toml"), ("application/vnd.apple.mpegurl", ".m3u"), @@ -251,6 +263,7 @@ def check_extensions(): ("application/x-troff", ".roff"), ("application/xml", ".xsl"), ("application/yaml", ".yaml"), + ('application/zstd', '.zst'), ("audio/flac", ".flac"), ("audio/matroska", ".mka"), ("audio/mp4", ".m4a"), diff --git a/Misc/NEWS.d/next/Library/2025-10-21-16-39-58.gh-issue-140392.ouL6FW.rst b/Misc/NEWS.d/next/Library/2025-10-21-16-39-58.gh-issue-140392.ouL6FW.rst new file mode 100644 index 00000000000000..b0bebad5bfe35c --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-10-21-16-39-58.gh-issue-140392.ouL6FW.rst @@ -0,0 +1,12 @@ +:mod:`mimetypes`: Add the following MIME types: + +- ``application/efi`` +- ``application/mathematica`` +- ``application/mathml+xml`` +- ``application/mbox`` +- ``application/ocsp-request`` +- ``application/ocsp-response`` +- ``application/pem-certificate-chain`` +- ``application/pgp-keys`` +- ``application/sql`` +- ``application/zstd``