diff --git a/src/Symfony/Component/Mime/MimeTypes.php b/src/Symfony/Component/Mime/MimeTypes.php index b1feb5fa722d8..19628b0b17009 100644 --- a/src/Symfony/Component/Mime/MimeTypes.php +++ b/src/Symfony/Component/Mime/MimeTypes.php @@ -135,7 +135,7 @@ public function guessMimeType(string $path): ?string /** * A map of MIME types and their default extensions. * - * Updated from upstream on 2021-09-03 + * Updated from upstream on 2023-10-14. * * @see Resources/bin/update_mime_types.php */ @@ -151,9 +151,11 @@ public function guessMimeType(string $path): ?string 'application/atsc-dwd+xml' => ['dwd'], 'application/atsc-held+xml' => ['held'], 'application/atsc-rsat+xml' => ['rsat'], + 'application/bat' => ['bat'], 'application/bdoc' => ['bdoc'], 'application/bzip2' => ['bz2', 'bz'], 'application/calendar+xml' => ['xcs'], + 'application/cbor' => ['cbor'], 'application/ccxml+xml' => ['ccxml'], 'application/cdfx+xml' => ['cdfx'], 'application/cdmi-capability' => ['cdmia'], @@ -163,9 +165,11 @@ public function guessMimeType(string $path): ?string 'application/cdmi-queue' => ['cdmiq'], 'application/cdr' => ['cdr'], 'application/coreldraw' => ['cdr'], + 'application/cpl+xml' => ['cpl'], 'application/csv' => ['csv'], 'application/cu-seeme' => ['cu'], 'application/dash+xml' => ['mpd'], + 'application/dash-patch+xml' => ['mpp'], 'application/davmount+xml' => ['davmount'], 'application/dbase' => ['dbf'], 'application/dbf' => ['dbf'], @@ -179,6 +183,7 @@ public function guessMimeType(string $path): ?string 'application/emotionml+xml' => ['emotionml'], 'application/epub+zip' => ['epub'], 'application/exi' => ['exi'], + 'application/express' => ['exp'], 'application/fdt+xml' => ['fdt'], 'application/fits' => ['fits', 'fit', 'fts'], 'application/font-tdpfr' => ['pfr'], @@ -225,6 +230,7 @@ public function guessMimeType(string $path): ?string 'application/mathml+xml' => ['mathml', 'mml'], 'application/mbox' => ['mbox'], 'application/mdb' => ['mdb'], + 'application/media-policy-dataset+xml' => ['mpf'], 'application/mediaservercontrol+xml' => ['mscml'], 'application/metalink+xml' => ['metalink'], 'application/metalink4+xml' => ['meta4'], @@ -262,7 +268,7 @@ public function guessMimeType(string $path): ?string 'application/pdf' => ['pdf'], 'application/pgp' => ['pgp', 'gpg', 'asc'], 'application/pgp-encrypted' => ['pgp', 'gpg', 'asc'], - 'application/pgp-keys' => ['skr', 'pkr', 'asc', 'pgp', 'gpg', 'key'], + 'application/pgp-keys' => ['asc', 'skr', 'pkr', 'pgp', 'gpg', 'key'], 'application/pgp-signature' => ['asc', 'sig', 'pgp', 'gpg'], 'application/photoshop' => ['psd'], 'application/pics-rules' => ['prf'], @@ -353,6 +359,7 @@ public function guessMimeType(string $path): ?string 'application/vnd.adobe.illustrator' => ['ai'], 'application/vnd.adobe.xdp+xml' => ['xdp'], 'application/vnd.adobe.xfdf' => ['xfdf'], + 'application/vnd.age' => ['age'], 'application/vnd.ahead.space' => ['ahead'], 'application/vnd.airzip.filesecure.azf' => ['azf'], 'application/vnd.airzip.filesecure.azs' => ['azs'], @@ -423,6 +430,8 @@ public function guessMimeType(string $path): ?string 'application/vnd.dvb.service' => ['svc'], 'application/vnd.dynageo' => ['geo'], 'application/vnd.ecowin.chart' => ['mag'], + 'application/vnd.efi.img' => ['raw-disk-image', 'img'], + 'application/vnd.efi.iso' => ['iso', 'iso9660'], 'application/vnd.emusic-emusic_package' => ['emp'], 'application/vnd.enliven' => ['nml'], 'application/vnd.epson.esf' => ['esf'], @@ -463,6 +472,7 @@ public function guessMimeType(string $path): ?string 'application/vnd.geonext' => ['gxt'], 'application/vnd.geoplan' => ['g2w'], 'application/vnd.geospace' => ['g3w'], + 'application/vnd.gerber' => ['gbr'], 'application/vnd.gmx' => ['gmx'], 'application/vnd.google-apps.document' => ['gdoc'], 'application/vnd.google-apps.presentation' => ['gslides'], @@ -728,6 +738,7 @@ public function guessMimeType(string $path): ?string 'application/vnd.trid.tpt' => ['tpt'], 'application/vnd.triscape.mxs' => ['mxs'], 'application/vnd.trueapp' => ['tra'], + 'application/vnd.truedoc' => ['pfr'], 'application/vnd.ufdl' => ['ufd', 'ufdl'], 'application/vnd.uiq.theme' => ['utz'], 'application/vnd.umajin' => ['umj'], @@ -761,6 +772,7 @@ public function guessMimeType(string $path): ?string 'application/vnd.zzazz.deck+xml' => ['zaz'], 'application/voicexml+xml' => ['vxml'], 'application/wasm' => ['wasm'], + 'application/watcherinfo+xml' => ['wif'], 'application/widget' => ['wgt'], 'application/winhlp' => ['hlp'], 'application/wk1' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], @@ -795,6 +807,7 @@ public function guessMimeType(string $path): ?string 'application/x-authorware-map' => ['aam'], 'application/x-authorware-seg' => ['aas'], 'application/x-awk' => ['awk'], + 'application/x-bat' => ['bat'], 'application/x-bcpio' => ['bcpio'], 'application/x-bdoc' => ['bdoc'], 'application/x-bittorrent' => ['torrent'], @@ -804,9 +817,12 @@ public function guessMimeType(string $path): ?string 'application/x-bsdiff' => ['bsdiff'], 'application/x-bz2' => ['bz2'], 'application/x-bzdvi' => ['dvi.bz2'], - 'application/x-bzip' => ['bz', 'bz2'], - 'application/x-bzip-compressed-tar' => ['tar.bz2', 'tar.bz', 'tbz2', 'tbz', 'tb2'], - 'application/x-bzip2' => ['bz2', 'boz', 'bz'], + 'application/x-bzip' => ['bz'], + 'application/x-bzip-compressed-tar' => ['tar.bz', 'tbz', 'tbz2', 'tb2'], + 'application/x-bzip2' => ['bz2', 'boz'], + 'application/x-bzip2-compressed-tar' => ['tar.bz2', 'tbz2', 'tb2'], + 'application/x-bzip3' => ['bz3'], + 'application/x-bzip3-compressed-tar' => ['tar.bz3', 'tbz3'], 'application/x-bzpdf' => ['pdf.bz2'], 'application/x-bzpostscript' => ['ps.bz2'], 'application/x-cb7' => ['cb7'], @@ -859,11 +875,14 @@ public function guessMimeType(string $path): ?string 'application/x-egon' => ['egon'], 'application/x-emf' => ['emf'], 'application/x-envoy' => ['evy'], + 'application/x-eris-link+cbor' => ['eris'], 'application/x-eva' => ['eva'], + 'application/x-excellon' => ['drl'], 'application/x-fd-file' => ['fd', 'qd'], 'application/x-fds-disk' => ['fds'], 'application/x-fictionbook' => ['fb2'], 'application/x-fictionbook+xml' => ['fb2'], + 'application/x-fishscript' => ['fish'], 'application/x-flash-video' => ['flv'], 'application/x-fluid' => ['fl'], 'application/x-font-afm' => ['afm'], @@ -894,6 +913,8 @@ public function guessMimeType(string $path): ?string 'application/x-gedcom' => ['ged', 'gedcom'], 'application/x-genesis-32x-rom' => ['32x', 'mdx'], 'application/x-genesis-rom' => ['gen', 'smd', 'sgd'], + 'application/x-gerber' => ['gbr'], + 'application/x-gerber-job' => ['gbrjob'], 'application/x-gettext' => ['po'], 'application/x-gettext-translation' => ['gmo', 'mo'], 'application/x-glade' => ['glade'], @@ -967,6 +988,7 @@ public function guessMimeType(string $path): ?string 'application/x-lha' => ['lha', 'lzh'], 'application/x-lhz' => ['lhz'], 'application/x-linguist' => ['ts'], + 'application/x-lmdb' => ['mdb', 'lmdb'], 'application/x-lotus123' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], 'application/x-lrzip' => ['lrz'], 'application/x-lrzip-compressed-tar' => ['tar.lrz', 'tlrz'], @@ -993,9 +1015,11 @@ public function guessMimeType(string $path): ?string 'application/x-mimearchive' => ['mhtml', 'mht'], 'application/x-mobi8-ebook' => ['azw3', 'kfx'], 'application/x-mobipocket-ebook' => ['prc', 'mobi'], + 'application/x-modrinth-modpack+zip' => ['mrpack'], 'application/x-ms-application' => ['application'], 'application/x-ms-asx' => ['asx', 'wax', 'wvx', 'wmx'], 'application/x-ms-dos-executable' => ['exe'], + 'application/x-ms-pdb' => ['pdb'], 'application/x-ms-shortcut' => ['lnk'], 'application/x-ms-wim' => ['wim', 'swm'], 'application/x-ms-wmd' => ['wmd'], @@ -1031,6 +1055,7 @@ public function guessMimeType(string $path): ?string 'application/x-nintendo-3ds-rom' => ['3ds', 'cci'], 'application/x-nintendo-ds-rom' => ['nds'], 'application/x-ns-proxy-autoconfig' => ['pac'], + 'application/x-nuscript' => ['nu'], 'application/x-nzb' => ['nzb'], 'application/x-object' => ['o', 'mod'], 'application/x-ogg' => ['ogx'], @@ -1095,6 +1120,7 @@ public function guessMimeType(string $path): ?string 'application/x-siag' => ['siag'], 'application/x-silverlight-app' => ['xap'], 'application/x-sit' => ['sit'], + 'application/x-sitx' => ['sitx'], 'application/x-smaf' => ['mmf', 'smaf'], 'application/x-sms-rom' => ['sms'], 'application/x-snes-rom' => ['sfc', 'smc'], @@ -1129,6 +1155,8 @@ public function guessMimeType(string $path): ?string 'application/x-thomson-cartridge-memo7' => ['m7'], 'application/x-thomson-cassette' => ['k7'], 'application/x-thomson-sap-image' => ['sap'], + 'application/x-tiled-tmx' => ['tmx'], + 'application/x-tiled-tsx' => ['tsx'], 'application/x-trash' => ['bak', 'old', 'sik'], 'application/x-trig' => ['trig'], 'application/x-troff' => ['tr', 'roff', 't'], @@ -1182,6 +1210,7 @@ public function guessMimeType(string $path): ?string 'application/x-zip-compressed-fb2' => ['fb2.zip'], 'application/x-zmachine' => ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'], 'application/x-zoo' => ['zoo'], + 'application/x-zpaq' => ['zpaq'], 'application/x-zstd-compressed-tar' => ['tar.zst', 'tzst'], 'application/xaml+xml' => ['xaml'], 'application/xcap-att+xml' => ['xav'], @@ -1202,6 +1231,7 @@ public function guessMimeType(string $path): ?string 'application/xslt+xml' => ['xsl', 'xslt'], 'application/xspf+xml' => ['xspf'], 'application/xv+xml' => ['mxml', 'xhvml', 'xvml', 'xvm'], + 'application/yaml' => ['yaml', 'yml'], 'application/yang' => ['yang'], 'application/yin+xml' => ['yin'], 'application/zip' => ['zip', 'zipx'], @@ -1242,6 +1272,7 @@ public function guessMimeType(string $path): ?string 'audio/usac' => ['loas', 'xhe'], 'audio/vnd.audible' => ['aa', 'aax'], 'audio/vnd.audible.aax' => ['aax'], + 'audio/vnd.audible.aaxc' => ['aaxc'], 'audio/vnd.dece.audio' => ['uva', 'uvva'], 'audio/vnd.digital-winds' => ['eol'], 'audio/vnd.dra' => ['dra'], @@ -1347,8 +1378,10 @@ public function guessMimeType(string $path): ?string 'font/woff' => ['woff'], 'font/woff2' => ['woff2'], 'image/aces' => ['exr'], - 'image/apng' => ['apng'], + 'image/apng' => ['apng', 'png'], 'image/astc' => ['astc'], + 'image/avci' => ['avci'], + 'image/avcs' => ['avcs'], 'image/avif' => ['avif', 'avifs'], 'image/avif-sequence' => ['avif', 'avifs'], 'image/bmp' => ['bmp', 'dib'], @@ -1379,7 +1412,7 @@ public function guessMimeType(string $path): ?string 'image/jpm' => ['jpm', 'jpgm'], 'image/jpx' => ['jpx', 'jpf'], 'image/jxl' => ['jxl'], - 'image/jxr' => ['jxr'], + 'image/jxr' => ['jxr', 'hdp', 'wdp'], 'image/jxra' => ['jxra'], 'image/jxrs' => ['jxrs'], 'image/jxs' => ['jxs'], @@ -1421,9 +1454,10 @@ public function guessMimeType(string $path): ?string 'image/vnd.fujixerox.edmics-mmr' => ['mmr'], 'image/vnd.fujixerox.edmics-rlc' => ['rlc'], 'image/vnd.microsoft.icon' => ['ico'], + 'image/vnd.mozilla.apng' => ['apng', 'png'], 'image/vnd.ms-dds' => ['dds'], 'image/vnd.ms-modi' => ['mdi'], - 'image/vnd.ms-photo' => ['wdp'], + 'image/vnd.ms-photo' => ['wdp', 'jxr', 'hdp'], 'image/vnd.net-fpx' => ['npx'], 'image/vnd.pco.b16' => ['b16'], 'image/vnd.rn-realpix' => ['rp'], @@ -1529,6 +1563,7 @@ public function guessMimeType(string $path): ?string 'model/mesh' => ['msh', 'mesh', 'silo'], 'model/mtl' => ['mtl'], 'model/obj' => ['obj'], + 'model/step+xml' => ['stpx'], 'model/step+zip' => ['stpz'], 'model/step-xml+zip' => ['stpxz'], 'model/stl' => ['stl'], @@ -1601,6 +1636,7 @@ public function guessMimeType(string $path): ?string 'text/vnd.curl.mcurl' => ['mcurl'], 'text/vnd.curl.scurl' => ['scurl'], 'text/vnd.dvb.subtitle' => ['sub'], + 'text/vnd.familysearch.gedcom' => ['ged', 'gedcom'], 'text/vnd.fly' => ['fly'], 'text/vnd.fmi.flexstor' => ['flx'], 'text/vnd.graphviz' => ['gv', 'dot'], @@ -1617,6 +1653,7 @@ public function guessMimeType(string $path): ?string 'text/x-adasrc' => ['adb', 'ads'], 'text/x-asm' => ['s', 'asm'], 'text/x-bibtex' => ['bib'], + 'text/x-blueprint' => ['blp'], 'text/x-c' => ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'], 'text/x-c++hdr' => ['hh', 'hp', 'hpp', 'h++', 'hxx'], 'text/x-c++src' => ['cpp', 'cxx', 'cc', 'C', 'c++'], @@ -1643,6 +1680,7 @@ public function guessMimeType(string $path): ?string 'text/x-elixir' => ['ex', 'exs'], 'text/x-emacs-lisp' => ['el'], 'text/x-erlang' => ['erl'], + 'text/x-fish' => ['fish'], 'text/x-fortran' => ['f', 'for', 'f77', 'f90', 'f95'], 'text/x-gcode-gx' => ['gx'], 'text/x-genie' => ['gs'], @@ -1681,6 +1719,9 @@ public function guessMimeType(string $path): ?string 'text/x-ms-regedit' => ['reg'], 'text/x-mup' => ['mup', 'not'], 'text/x-nfo' => ['nfo'], + 'text/x-nim' => ['nim'], + 'text/x-nimscript' => ['nims', 'nimble'], + 'text/x-nu' => ['nu'], 'text/x-objc++src' => ['mm'], 'text/x-objcsrc' => ['m'], 'text/x-ocaml' => ['ml', 'mli'], @@ -1727,6 +1768,7 @@ public function guessMimeType(string $path): ?string 'text/x-troff-ms' => ['ms'], 'text/x-twig' => ['twig'], 'text/x-txt2tags' => ['t2t'], + 'text/x-typst' => ['typ'], 'text/x-uil' => ['uil'], 'text/x-uuencode' => ['uu', 'uue'], 'text/x-vala' => ['vala', 'vapi'], @@ -1767,6 +1809,7 @@ public function guessMimeType(string $path): ?string 'video/ogg' => ['ogv', 'ogg'], 'video/quicktime' => ['mov', 'qt', 'moov', 'qtvr'], 'video/vivo' => ['viv', 'vivo'], + 'video/vnd.avi' => ['avi', 'avf', 'divx'], 'video/vnd.dece.hd' => ['uvh', 'uvvh'], 'video/vnd.dece.mobile' => ['uvm', 'uvvm'], 'video/vnd.dece.pd' => ['uvp', 'uvvp'], @@ -1863,6 +1906,7 @@ public function guessMimeType(string $path): ?string 'aam' => ['application/x-authorware-map'], 'aas' => ['application/x-authorware-seg'], 'aax' => ['audio/vnd.audible', 'audio/vnd.audible.aax', 'audio/x-pn-audibleaudio'], + 'aaxc' => ['audio/vnd.audible.aaxc'], 'abw' => ['application/x-abiword'], 'abw.CRASHED' => ['application/x-abiword'], 'abw.gz' => ['application/x-abiword'], @@ -1882,6 +1926,7 @@ public function guessMimeType(string $path): ?string 'afp' => ['application/vnd.ibm.modcap'], 'ag' => ['image/x-applix-graphics'], 'agb' => ['application/x-gba-rom'], + 'age' => ['application/vnd.age'], 'ahead' => ['application/vnd.ahead.space'], 'ai' => ['application/illustrator', 'application/postscript', 'application/vnd.adobe.illustrator'], 'aif' => ['audio/x-aiff'], @@ -1909,7 +1954,7 @@ public function guessMimeType(string $path): ?string 'anx' => ['application/annodex', 'application/x-annodex'], 'ape' => ['audio/x-ape'], 'apk' => ['application/vnd.android.package-archive'], - 'apng' => ['image/apng'], + 'apng' => ['image/apng', 'image/vnd.mozilla.apng'], 'appcache' => ['text/cache-manifest'], 'appimage' => ['application/vnd.appimage', 'application/x-iso9660-appimage'], 'application' => ['application/x-ms-application'], @@ -1938,8 +1983,10 @@ public function guessMimeType(string $path): ?string 'atx' => ['application/vnd.antix.game-component'], 'au' => ['audio/basic'], 'automount' => ['text/x-systemd-unit'], - 'avf' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], - 'avi' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], + 'avci' => ['image/avci'], + 'avcs' => ['image/avcs'], + 'avf' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.avi', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], + 'avi' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.avi', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], 'avif' => ['image/avif', 'image/avif-sequence'], 'avifs' => ['image/avif', 'image/avif-sequence'], 'aw' => ['application/applixware', 'application/x-applix-word'], @@ -1954,7 +2001,7 @@ public function guessMimeType(string $path): ?string 'azw3' => ['application/vnd.amazon.mobi8-ebook', 'application/x-mobi8-ebook'], 'b16' => ['image/vnd.pco.b16'], 'bak' => ['application/x-trash'], - 'bat' => ['application/x-msdownload'], + 'bat' => ['application/bat', 'application/x-bat', 'application/x-msdownload'], 'bcpio' => ['application/x-bcpio'], 'bdf' => ['application/x-font-bdf'], 'bdm' => ['application/vnd.syncml.dm+wbxml', 'video/mp2t'], @@ -1970,6 +2017,7 @@ public function guessMimeType(string $path): ?string 'blend' => ['application/x-blender'], 'blender' => ['application/x-blender'], 'blorb' => ['application/x-blorb'], + 'blp' => ['text/x-blueprint'], 'bmi' => ['application/vnd.bmi'], 'bmml' => ['application/vnd.balsamiq.bmml+xml'], 'bmp' => ['image/bmp', 'image/x-bmp', 'image/x-ms-bmp'], @@ -1980,8 +2028,9 @@ public function guessMimeType(string $path): ?string 'bsdiff' => ['application/x-bsdiff'], 'bsp' => ['model/vnd.valve.source.compiled-map'], 'btif' => ['image/prs.btif'], - 'bz' => ['application/bzip2', 'application/x-bzip', 'application/x-bzip2'], - 'bz2' => ['application/x-bz2', 'application/bzip2', 'application/x-bzip', 'application/x-bzip2'], + 'bz' => ['application/bzip2', 'application/x-bzip'], + 'bz2' => ['application/x-bz2', 'application/bzip2', 'application/x-bzip2'], + 'bz3' => ['application/x-bzip3'], 'c' => ['text/x-c', 'text/x-csrc'], 'c++' => ['text/x-c++src'], 'c11amc' => ['application/vnd.cluetrust.cartomobile-config'], @@ -1999,6 +2048,7 @@ public function guessMimeType(string $path): ?string 'cb7' => ['application/x-cb7', 'application/x-cbr'], 'cba' => ['application/x-cbr'], 'cbl' => ['text/x-cobol'], + 'cbor' => ['application/cbor'], 'cbr' => ['application/vnd.comicbook-rar', 'application/x-cbr'], 'cbt' => ['application/x-cbr', 'application/x-cbt'], 'cbz' => ['application/vnd.comicbook+zip', 'application/x-cbr', 'application/x-cbz'], @@ -2060,6 +2110,7 @@ public function guessMimeType(string $path): ?string 'cpi' => ['video/mp2t'], 'cpio' => ['application/x-cpio'], 'cpio.gz' => ['application/x-cpio-compressed'], + 'cpl' => ['application/cpl+xml'], 'cpp' => ['text/x-c', 'text/x-c++src'], 'cpt' => ['application/mac-compactpro'], 'cr' => ['text/crystal', 'text/x-crystal'], @@ -2124,7 +2175,7 @@ public function guessMimeType(string $path): ?string 'dir' => ['application/x-director'], 'dis' => ['application/vnd.mobius.dis'], 'disposition-notification' => ['message/disposition-notification'], - 'divx' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], + 'divx' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.avi', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], 'djv' => ['image/vnd.djvu', 'image/vnd.djvu+multipage', 'image/x-djvu', 'image/x.djvu'], 'djvu' => ['image/vnd.djvu', 'image/vnd.djvu+multipage', 'image/x-djvu', 'image/x.djvu'], 'dll' => ['application/x-msdownload'], @@ -2142,6 +2193,7 @@ public function guessMimeType(string $path): ?string 'dp' => ['application/vnd.osgi.dp'], 'dpg' => ['application/vnd.dpgraph'], 'dra' => ['audio/vnd.dra'], + 'drl' => ['application/x-excellon'], 'drle' => ['image/dicom-rle'], 'dsc' => ['text/prs.lines.tag'], 'dsf' => ['audio/dsd', 'audio/dsf', 'audio/x-dsd', 'audio/x-dsf'], @@ -2196,6 +2248,7 @@ public function guessMimeType(string $path): ?string 'epsi.bz2' => ['image/x-bzeps'], 'epsi.gz' => ['image/x-gzeps'], 'epub' => ['application/epub+zip'], + 'eris' => ['application/x-eris-link+cbor'], 'erl' => ['text/x-erlang'], 'es' => ['application/ecmascript', 'text/ecmascript'], 'es3' => ['application/vnd.eszigno3+xml'], @@ -2210,6 +2263,7 @@ public function guessMimeType(string $path): ?string 'ex' => ['text/x-elixir'], 'exe' => ['application/x-ms-dos-executable', 'application/x-msdos-program', 'application/x-msdownload'], 'exi' => ['application/exi'], + 'exp' => ['application/express'], 'exr' => ['image/aces', 'image/x-exr'], 'exs' => ['text/x-elixir'], 'ext' => ['application/vnd.novadigm.ext'], @@ -2243,6 +2297,7 @@ public function guessMimeType(string $path): ?string 'fh7' => ['image/x-freehand'], 'fhc' => ['image/x-freehand'], 'fig' => ['application/x-xfig', 'image/x-xfig'], + 'fish' => ['application/x-fishscript', 'text/x-fish'], 'fit' => ['application/fits', 'image/fits', 'image/x-fits'], 'fits' => ['application/fits', 'image/fits', 'image/x-fits'], 'fl' => ['application/x-fluid'], @@ -2285,7 +2340,8 @@ public function guessMimeType(string $path): ?string 'gb' => ['application/x-gameboy-rom'], 'gba' => ['application/x-gba-rom'], 'gbc' => ['application/x-gameboy-color-rom'], - 'gbr' => ['application/rpki-ghostbusters', 'image/x-gimp-gbr'], + 'gbr' => ['application/rpki-ghostbusters', 'application/vnd.gerber', 'application/x-gerber', 'image/x-gimp-gbr'], + 'gbrjob' => ['application/x-gerber-job'], 'gca' => ['application/x-gca-compressed'], 'gcode' => ['text/x.gcode'], 'gcrd' => ['text/directory', 'text/vcard', 'text/x-vcard'], @@ -2294,8 +2350,8 @@ public function guessMimeType(string $path): ?string 'gdl' => ['model/vnd.gdl'], 'gdoc' => ['application/vnd.google-apps.document'], 'gdshader' => ['application/x-godot-shader'], - 'ged' => ['application/x-gedcom', 'text/gedcom'], - 'gedcom' => ['application/x-gedcom', 'text/gedcom'], + 'ged' => ['application/x-gedcom', 'text/gedcom', 'text/vnd.familysearch.gedcom'], + 'gedcom' => ['application/x-gedcom', 'text/gedcom', 'text/vnd.familysearch.gedcom'], 'gem' => ['application/x-gtar', 'application/x-tar'], 'gen' => ['application/x-genesis-rom'], 'geo' => ['application/vnd.dynageo'], @@ -2368,6 +2424,7 @@ public function guessMimeType(string $path): ?string 'hdf' => ['application/x-hdf'], 'hdf4' => ['application/x-hdf'], 'hdf5' => ['application/x-hdf'], + 'hdp' => ['image/jxr', 'image/vnd.ms-photo'], 'heic' => ['image/heic', 'image/heic-sequence', 'image/heif', 'image/heif-sequence'], 'heics' => ['image/heic-sequence'], 'heif' => ['image/heic', 'image/heic-sequence', 'image/heif', 'image/heif-sequence'], @@ -2419,7 +2476,7 @@ public function guessMimeType(string $path): ?string 'iif' => ['application/vnd.shana.informed.interchange'], 'ilbm' => ['image/x-iff', 'image/x-ilbm'], 'ime' => ['audio/imelody', 'audio/x-imelody', 'text/x-imelody'], - 'img' => ['application/x-raw-disk-image'], + 'img' => ['application/vnd.efi.img', 'application/x-raw-disk-image'], 'img.xz' => ['application/x-raw-disk-image-xz-compressed'], 'imp' => ['application/vnd.accpac.simply.imp'], 'ims' => ['application/vnd.ms-ims'], @@ -2438,8 +2495,8 @@ public function guessMimeType(string $path): ?string 'ipynb' => ['application/x-ipynb+json'], 'irm' => ['application/vnd.ibm.rights-management'], 'irp' => ['application/vnd.irepository.package+xml'], - 'iso' => ['application/x-cd-image', 'application/x-dreamcast-rom', 'application/x-gamecube-iso-image', 'application/x-gamecube-rom', 'application/x-iso9660-image', 'application/x-saturn-rom', 'application/x-sega-cd-rom', 'application/x-sega-pico-rom', 'application/x-wbfs', 'application/x-wia', 'application/x-wii-iso-image', 'application/x-wii-rom'], - 'iso9660' => ['application/x-cd-image', 'application/x-iso9660-image'], + 'iso' => ['application/vnd.efi.iso', 'application/x-cd-image', 'application/x-dreamcast-rom', 'application/x-gamecube-iso-image', 'application/x-gamecube-rom', 'application/x-iso9660-image', 'application/x-saturn-rom', 'application/x-sega-cd-rom', 'application/x-sega-pico-rom', 'application/x-wbfs', 'application/x-wia', 'application/x-wii-iso-image', 'application/x-wii-rom'], + 'iso9660' => ['application/vnd.efi.iso', 'application/x-cd-image', 'application/x-iso9660-image'], 'it' => ['audio/x-it'], 'it87' => ['application/x-it87'], 'itp' => ['application/vnd.shana.informed.formtemplate'], @@ -2487,7 +2544,7 @@ public function guessMimeType(string $path): ?string 'jsonml' => ['application/jsonml+json'], 'jsx' => ['text/jsx'], 'jxl' => ['image/jxl'], - 'jxr' => ['image/jxr'], + 'jxr' => ['image/jxr', 'image/vnd.ms-photo'], 'jxra' => ['image/jxra'], 'jxrs' => ['image/jxrs'], 'jxs' => ['image/jxs'], @@ -2552,6 +2609,7 @@ public function guessMimeType(string $path): ?string 'list3820' => ['application/vnd.ibm.modcap'], 'listafp' => ['application/vnd.ibm.modcap'], 'litcoffee' => ['text/coffeescript'], + 'lmdb' => ['application/x-lmdb'], 'lnk' => ['application/x-ms-shortcut'], 'lnx' => ['application/x-atari-lynx-rom'], 'loas' => ['audio/usac'], @@ -2619,7 +2677,7 @@ public function guessMimeType(string $path): ?string 'mcd' => ['application/vnd.mcd'], 'mcurl' => ['text/vnd.curl.mcurl'], 'md' => ['text/markdown', 'text/x-markdown'], - 'mdb' => ['application/x-msaccess', 'application/mdb', 'application/msaccess', 'application/vnd.ms-access', 'application/vnd.msaccess', 'application/x-mdb', 'zz-application/zz-winassoc-mdb'], + 'mdb' => ['application/x-msaccess', 'application/mdb', 'application/msaccess', 'application/vnd.ms-access', 'application/vnd.msaccess', 'application/x-lmdb', 'application/x-mdb', 'zz-application/zz-winassoc-mdb'], 'mdi' => ['image/vnd.ms-modi'], 'mdx' => ['application/x-genesis-32x-rom', 'text/mdx'], 'me' => ['text/troff', 'text/x-troff-me'], @@ -2685,6 +2743,7 @@ public function guessMimeType(string $path): ?string 'mpd' => ['application/dash+xml'], 'mpe' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], 'mpeg' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], + 'mpf' => ['application/media-policy-dataset+xml'], 'mpg' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], 'mpg4' => ['video/mp4'], 'mpga' => ['audio/mp3', 'audio/mpeg', 'audio/x-mp3', 'audio/x-mpeg', 'audio/x-mpg'], @@ -2693,7 +2752,7 @@ public function guessMimeType(string $path): ?string 'mpls' => ['video/mp2t'], 'mpm' => ['application/vnd.blueice.multipass'], 'mpn' => ['application/vnd.mophun.application'], - 'mpp' => ['application/vnd.ms-project', 'audio/x-musepack'], + 'mpp' => ['application/dash-patch+xml', 'application/vnd.ms-project', 'audio/x-musepack'], 'mpt' => ['application/vnd.ms-project'], 'mpy' => ['application/vnd.ibm.minipay'], 'mqy' => ['application/vnd.mobius.mqy'], @@ -2701,6 +2760,7 @@ public function guessMimeType(string $path): ?string 'mrcx' => ['application/marcxml+xml'], 'mrl' => ['text/x-mrml'], 'mrml' => ['text/x-mrml'], + 'mrpack' => ['application/x-modrinth-modpack+zip'], 'mrw' => ['image/x-minolta-mrw'], 'ms' => ['text/troff', 'text/x-troff-ms'], 'mscml' => ['application/mediaservercontrol+xml'], @@ -2745,6 +2805,9 @@ public function guessMimeType(string $path): ?string 'ngc' => ['application/x-neo-geo-pocket-color-rom'], 'ngdat' => ['application/vnd.nokia.n-gage.data'], 'ngp' => ['application/x-neo-geo-pocket-rom'], + 'nim' => ['text/x-nim'], + 'nimble' => ['text/x-nimscript'], + 'nims' => ['text/x-nimscript'], 'nitf' => ['application/vnd.nitf'], 'nlu' => ['application/vnd.neurolanguage.nlu'], 'nml' => ['application/vnd.enliven'], @@ -2760,6 +2823,7 @@ public function guessMimeType(string $path): ?string 'nsv' => ['video/x-nsv'], 'nt' => ['application/n-triples'], 'ntf' => ['application/vnd.nitf'], + 'nu' => ['application/x-nuscript', 'text/x-nu'], 'numbers' => ['application/vnd.apple.numbers', 'application/x-iwork-numbers-sffnumbers'], 'nzb' => ['application/x-nzb'], 'o' => ['application/x-object'], @@ -2856,7 +2920,7 @@ public function guessMimeType(string $path): ?string 'pct' => ['image/x-pict'], 'pcurl' => ['application/vnd.curl.pcurl'], 'pcx' => ['image/vnd.zbrush.pcx', 'image/x-pcx'], - 'pdb' => ['application/vnd.palm', 'application/x-aportisdoc', 'application/x-palm-database', 'application/x-pilot'], + 'pdb' => ['application/vnd.palm', 'application/x-aportisdoc', 'application/x-ms-pdb', 'application/x-palm-database', 'application/x-pilot'], 'pdc' => ['application/x-aportisdoc'], 'pde' => ['text/x-processing'], 'pdf' => ['application/pdf', 'application/acrobat', 'application/nappdf', 'application/x-pdf', 'image/pdf'], @@ -2870,7 +2934,7 @@ public function guessMimeType(string $path): ?string 'pfa' => ['application/x-font-type1'], 'pfb' => ['application/x-font-type1'], 'pfm' => ['application/x-font-type1'], - 'pfr' => ['application/font-tdpfr'], + 'pfr' => ['application/font-tdpfr', 'application/vnd.truedoc'], 'pfx' => ['application/pkcs12', 'application/x-pkcs12'], 'pgm' => ['image/x-portable-graymap'], 'pgn' => ['application/vnd.chess-pgn', 'application/x-chess-pgn'], @@ -2901,7 +2965,7 @@ public function guessMimeType(string $path): ?string 'pm6' => ['application/x-pagemaker'], 'pmd' => ['application/x-pagemaker'], 'pml' => ['application/vnd.ctc-posml'], - 'png' => ['image/png'], + 'png' => ['image/png', 'image/apng', 'image/vnd.mozilla.apng'], 'pnm' => ['image/x-portable-anymap'], 'pntg' => ['image/x-macpaint'], 'po' => ['application/x-gettext', 'text/x-gettext-translation', 'text/x-po'], @@ -2989,7 +3053,7 @@ public function guessMimeType(string $path): ?string 'rar' => ['application/x-rar-compressed', 'application/vnd.rar', 'application/x-rar'], 'ras' => ['image/x-cmu-raster'], 'raw' => ['image/x-panasonic-raw', 'image/x-panasonic-rw'], - 'raw-disk-image' => ['application/x-raw-disk-image'], + 'raw-disk-image' => ['application/vnd.efi.img', 'application/x-raw-disk-image'], 'raw-disk-image.xz' => ['application/x-raw-disk-image-xz-compressed'], 'rax' => ['audio/vnd.m-realaudio', 'audio/vnd.rn-realaudio', 'audio/x-pn-realaudio'], 'rb' => ['application/x-ruby'], @@ -3112,7 +3176,7 @@ public function guessMimeType(string $path): ?string 'sis' => ['application/vnd.symbian.install'], 'sisx' => ['application/vnd.symbian.install', 'x-epoc/x-sisx-app'], 'sit' => ['application/x-stuffit', 'application/stuffit', 'application/x-sit'], - 'sitx' => ['application/x-stuffitx'], + 'sitx' => ['application/x-sitx', 'application/x-stuffitx'], 'siv' => ['application/sieve'], 'sk' => ['image/x-skencil'], 'sk1' => ['image/x-skencil'], @@ -3145,7 +3209,6 @@ public function guessMimeType(string $path): ?string 'snd' => ['audio/basic'], 'snf' => ['application/x-font-snf'], 'so' => ['application/x-sharedlib'], - 'so.[0-9]*' => ['application/x-sharedlib'], 'socket' => ['text/x-systemd-unit'], 'spc' => ['application/x-pkcs7-certificates'], 'spd' => ['application/x-font-speedo'], @@ -3183,6 +3246,7 @@ public function guessMimeType(string $path): ?string 'stk' => ['application/hyperstudio'], 'stl' => ['application/vnd.ms-pki.stl', 'model/stl', 'model/x.stl-ascii', 'model/x.stl-binary'], 'stm' => ['audio/x-stm'], + 'stpx' => ['model/step+xml'], 'stpxz' => ['model/step-xml+zip'], 'stpz' => ['model/step+zip'], 'str' => ['application/vnd.pg.format'], @@ -3227,7 +3291,8 @@ public function guessMimeType(string $path): ?string 'tar' => ['application/x-tar', 'application/x-gtar'], 'tar.Z' => ['application/x-tarz'], 'tar.bz' => ['application/x-bzip-compressed-tar'], - 'tar.bz2' => ['application/x-bzip-compressed-tar'], + 'tar.bz2' => ['application/x-bzip2-compressed-tar'], + 'tar.bz3' => ['application/x-bzip3-compressed-tar'], 'tar.gz' => ['application/x-compressed-tar'], 'tar.lrz' => ['application/x-lrzip-compressed-tar'], 'tar.lz' => ['application/x-lzip-compressed-tar'], @@ -3238,9 +3303,10 @@ public function guessMimeType(string $path): ?string 'tar.zst' => ['application/x-zstd-compressed-tar'], 'target' => ['text/x-systemd-unit'], 'taz' => ['application/x-tarz'], - 'tb2' => ['application/x-bzip-compressed-tar'], + 'tb2' => ['application/x-bzip2-compressed-tar', 'application/x-bzip-compressed-tar'], 'tbz' => ['application/x-bzip-compressed-tar'], - 'tbz2' => ['application/x-bzip-compressed-tar'], + 'tbz2' => ['application/x-bzip2-compressed-tar', 'application/x-bzip-compressed-tar'], + 'tbz3' => ['application/x-bzip3-compressed-tar'], 'tcap' => ['application/vnd.3gpp2.tcap'], 'tcl' => ['application/x-tcl', 'text/tcl', 'text/x-tcl'], 'td' => ['application/urc-targetdesc+xml'], @@ -3266,6 +3332,7 @@ public function guessMimeType(string $path): ?string 'tlrz' => ['application/x-lrzip-compressed-tar'], 'tlz' => ['application/x-lzma-compressed-tar'], 'tmo' => ['application/vnd.tmobile-livetv'], + 'tmx' => ['application/x-tiled-tmx'], 'tnef' => ['application/ms-tnef', 'application/vnd.ms-tnef'], 'tnf' => ['application/ms-tnef', 'application/vnd.ms-tnef'], 'toc' => ['application/x-cdrdao-toc'], @@ -3283,6 +3350,7 @@ public function guessMimeType(string $path): ?string 'tscn' => ['application/x-godot-scene'], 'tsd' => ['application/timestamped-data'], 'tsv' => ['text/tab-separated-values'], + 'tsx' => ['application/x-tiled-tsx'], 'tta' => ['audio/tta', 'audio/x-tta'], 'ttc' => ['font/collection'], 'ttf' => ['application/x-font-truetype', 'application/x-font-ttf', 'font/ttf'], @@ -3296,6 +3364,7 @@ public function guessMimeType(string $path): ?string 'txf' => ['application/vnd.mobius.txf'], 'txt' => ['text/plain'], 'txz' => ['application/x-xz-compressed-tar'], + 'typ' => ['text/x-typst'], 'tzo' => ['application/x-tzo'], 'tzst' => ['application/x-zstd-compressed-tar'], 'u32' => ['application/x-authorware-bin'], @@ -3418,7 +3487,7 @@ public function guessMimeType(string $path): ?string 'wbxml' => ['application/vnd.wap.wbxml'], 'wcm' => ['application/vnd.ms-works'], 'wdb' => ['application/vnd.ms-works'], - 'wdp' => ['image/vnd.ms-photo'], + 'wdp' => ['image/jxr', 'image/vnd.ms-photo'], 'weba' => ['audio/webm'], 'webapp' => ['application/x-web-app-manifest+json'], 'webm' => ['video/webm'], @@ -3426,6 +3495,7 @@ public function guessMimeType(string $path): ?string 'webp' => ['image/webp'], 'wg' => ['application/vnd.pmi.widget'], 'wgt' => ['application/widget'], + 'wif' => ['application/watcherinfo+xml'], 'wim' => ['application/x-ms-wim'], 'wk1' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], 'wk3' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], @@ -3553,10 +3623,10 @@ public function guessMimeType(string $path): ?string 'xwd' => ['image/x-xwindowdump'], 'xyz' => ['chemical/x-xyz'], 'xz' => ['application/x-xz'], - 'yaml' => ['application/x-yaml', 'text/x-yaml', 'text/yaml'], + 'yaml' => ['application/yaml', 'application/x-yaml', 'text/x-yaml', 'text/yaml'], 'yang' => ['application/yang'], 'yin' => ['application/yin+xml'], - 'yml' => ['application/x-yaml', 'text/x-yaml', 'text/yaml'], + 'yml' => ['application/yaml', 'application/x-yaml', 'text/x-yaml', 'text/yaml'], 'ymp' => ['text/x-suse-ymp'], 'yt' => ['application/vnd.youtube.yt', 'video/vnd.youtube.yt'], 'z1' => ['application/x-zmachine'], @@ -3577,6 +3647,7 @@ public function guessMimeType(string $path): ?string 'zirz' => ['application/vnd.zul'], 'zmm' => ['application/vnd.handheld-entertainment+xml'], 'zoo' => ['application/x-zoo'], + 'zpaq' => ['application/x-zpaq'], 'zsav' => ['application/x-spss-sav', 'application/x-spss-savefile'], 'zst' => ['application/zstd'], 'zz' => ['application/zlib'], diff --git a/src/Symfony/Component/Mime/Resources/bin/update_mime_types.php b/src/Symfony/Component/Mime/Resources/bin/update_mime_types.php index 5586f097f7ee8..b707d458e9d3b 100644 --- a/src/Symfony/Component/Mime/Resources/bin/update_mime_types.php +++ b/src/Symfony/Component/Mime/Resources/bin/update_mime_types.php @@ -14,7 +14,7 @@ } // load new map -$data = json_decode(file_get_contents('https://cdn.jsdelivr.net/gh/jshttp/mime-db@v1.49.0/db.json'), true); +$data = json_decode(file_get_contents('https://cdn.jsdelivr.net/gh/jshttp/mime-db/db.json'), true); $new = []; foreach ($data as $mimeType => $mimeTypeInformation) { if (!array_key_exists('extensions', $mimeTypeInformation)) { @@ -93,6 +93,7 @@ 'ogg' => ['audio/ogg'], 'pdf' => ['application/pdf'], 'php' => ['application/x-php'], + 'png' => ['image/png'], 'ppt' => ['application/vnd.ms-powerpoint'], 'rar' => ['application/x-rar-compressed'], 'hqx' => ['application/stuffit'], @@ -106,6 +107,8 @@ 'wma' => ['audio/x-ms-wma'], 'wmv' => ['audio/x-ms-wmv'], 'xls' => ['application/vnd.ms-excel'], + 'yaml' => ['application/yaml'], + 'yml' => ['application/yaml'], 'zip' => ['application/zip'], ]; @@ -158,7 +161,7 @@ $state = 1; } -$updated = preg_replace('{Updated from upstream on .+?\.}', 'Updated from upstream on '.date('Y-m-d'), $updated, -1); +$updated = preg_replace('{Updated from upstream on .+?\.}', sprintf('Updated from upstream on %s.', date('Y-m-d')), $updated, -1); file_put_contents($output, rtrim($updated, "\n")."\n");