ExifTool Version History
RSS feed: https://exiftool.org/rss.xml
Note: The most recent production release is Version 12.76. (Other versions are
considered development releases, and are not uploaded to MetaCPAN.)
Mar. 27, 2024 - Version 12.81
- Added ability to read EXIF and XMP from EXR images
- Added ability to delete unknown trailer when writing MOV/MP4 videos
- Added ability to write a couple of Stable Diffusion PNG tags
- Added ability to write one of the Microsoft Xtra Description tags (github
#248)
- Added support for using alternate city names in reverse Geolocation
- Added support for reading timed GPS from DOD LS600W TS videos
- Added support for new version of Canon DR4 files
- Added a number of new iTunesInfo tags
- Added a new Olympus LensType
- Allow regular expressions to be used when writing Geolocate tag
- Decode a number of new Nikon tags (thanks Warren Hatch)
- Enhanced writing of Geolocate tag to also write Keys:LocationName
- Cache the results of the last reverse geolocation search to speed batch
processing when multiple files have the same search parameters
- Patched problem that could cause runtime errors with some invaid tag names
- Fixed a couple of newly added FujiFilm tags
- Fixed decoding of FujiFilm AFAreaZoneSize
- API Changes:
Mar. 19, 2024 - Version 12.80
- Added GeolocationFeatureCode tag
- Added XMP-acdsee-rs tags and a new XMP-xmpDM tag
- Added ACDSeeRegion2MWGRegion conversion to config_files/acdsee.config
- Added GPSAltitudeRef to XMP-iptcExt LocationDetails structure
- Added a couple of new FujiFilm tags and a new CropMode value
- Added conversion for XMP-aux:ApproximateFocusDistance "infinity"
- Improved Geolocation regular expressions to allow negative matches
- Improved accuracy of Geolocation distance/bearing calculations
- Changed structure of Geolocation database (now version 1.02)
- Minor change to key format for user-defined Geolocation name translations
- Ignore API Geolocation option when copying tags if none of the Geolocation
tags are being copied
- Fixed case/spacing of "C2PA" in some CBOR tag descriptions
- Fixed bug extracting binary data from EXR files
- API Changes:
Mar. 15, 2024 - Version 12.79
- Improvements to new Geolocation feature:
- Added reverse Geolocation ability (obtain GPS coordinates from city
name), with support for regular expressions
- Added ability to geolocate while geotagging
- Added -listgeo option to list the Geolocation database
- Added the ability to include user-defined cities in the Geolocation
database
- Added the ability to write XMP-iptcExt LocationShown tags using Geolocate
feature
- Added the ability to specify which tags to read from file for the API
Geolocation option
- Added language translations for Geolocation names
- Increased resolution of Geolocation GPS positions and stored populations
- API Changes:
- Save necessary data members to allow GetInfo to be accessed by
user-defined tags
Mar. 5, 2024 - Version 12.78 - "Geolocation"
- Added new Geolocation feature and write-only Geolocate tag
- Added new config file entry (@Image::ExifTool::UserDefined::Arguments) to
allow default command-line arguments to be specified
- Added print conversion for TIFF-EPStandardID
- Added ability to delete Nextbase information from MP4 videos
- Decode timed GPS from MP4 videos written by Nextbase software
- Decode a number of new tags from Nextbase MP4 videos
- Decode a few new tags from Garmin MP4 videos
- Extract PreviewJXL images from DNG 1.7 files
- Generate Validate, ImageDataHash and UserParam tags earlier to allow them to
be used in UserDefined Composite tags
- Enhanced the -c option so a minus sign in the format specification prints a
signed coordinate without a leading "+" for positive numbers
- Changed formatting of some Accelerometer tags for consistency
- Changed behaviour of -ee3 option to do a brute-force scan for freeGPS in the
media data even when referenced by 'gps ' atom
- Other internal changes to decoding of timed GPS from videos
- Fixed problem were ExifTool would give up on extracting some types of timed
GPS from videos after 100 void fixes
- Fixed bug that could cause runtime error when reading Ogg files
- Fixed issue where some tags from alternate files using the -fileNUM option
weren't generated as requested
- API Changes:
Feb. 16, 2024 - Version 12.77
- Added new Olympus CameraType and LensType value (thanks herb)
- Added a new Canon Irix LensType
- Added the ability to delete MacOS XAttrMDItemWhereFroms
- Decode a few new Canon DPP tags (thanks John Moyer)
- Decode timed GPS from Adzome GS65H MOV videos
- Improved handling of XML-unfriendly characters in JSON field names (fixes
issue where -X option could produce invalid XML when reading JSON with the
-struct option)
- Fixed decoding of ShutterCount for Canon G5X-ii CR3 files
Jan. 31, 2024 - Version 12.76 (production release)
- Properly implement patch of 12.45 to avoid duplicating raw data when writing
Sony ARW images where the raw data is double-referenced as both strips and
tiles
- Improved handling of bad offsets in HtmlDump output
Jan. 30, 2024 - Version 12.75 (production release)
- CORRUPTION WARNING: Fixed bug introduced in 12.45 which could result in
corrupted Sony ARW images from some newer models when rewriting lossless
compressed ARW images which were previously edited by 12.44 or earlier
(the corruption is repairable, but requires a special version of ExifTool)
- Added ability to read C2PA JUMBF metadata from PDF and SVG files
- Added ability to extract JUMBF metadata as a block
- Added read support for C2PA (JUMBF-format) files
- Removed "date before 1970" warning entirely since 64-bit systems should be
able to handle dates in this range
- Improved Canon FocusMode decoding
- Fixed bug introducd in 12.74 which could cause "Undefined subroutine"
runtime error when reading MIE files
Jan. 23, 2024 - Version 12.74
- Added a couple of new Nikon lenses (thanks Chris)
- Added write support for a few new QuickTime Keys tags
- Decode ShutterCount for Canon EOS R5 (thanks John Moyer)
- Improved error messages in the case of file read errors
- Enhanced tag name strings (eg. -if and -p option arguments) to allow values
of multiple matching tags to be concatenated when a group name of "All" is
specified
- Enhanced -p option to add -p- feature which avoids adding trailing newline
- Changed warning from "Shift results in negative time" to "Shift results in
date before 1970"
- Patched calculation of GPSDateTime for the timed metadata in Track3 of
Garmin videos so the API QuickTimeUTC option is no longer required
- Fixed conversion error when writing QuickTime:GoogleTrackDuration
- Fixed misidentification of non-TIFF-format files containing DNGVersion tag
- Fixed bug where Avoid-ed XMP structures could be created when writing
another same-named structure
- Internal Changes:
- Changed form of all new() calls to accommodate backward
incompatibilities in recent versions of Perl
- Changed order of InsertTagValues() arguments
- DateFmt() now returns value of formatted date/time string
Jan. 10, 2024 - Version 12.73
- Added write support for Leica XMP-xmpDSA tags
- Added read support for timed GPS from Yada RoadCam Pro 4K dashcam videos
- Added read support for PNG cpIp chunk
- Added range checks on lat/long values when writing QuickTime:GPSCoordinates
- Decode a number of new values for Ricoh GR III tags
- Decode a new Leica tag
- Improved handling of Brotli compression errors
- Enhanced API NoWarning option to also apply to app "Warning:" outputs
- Identify PNG Plus files
- Changed name of Pentax ISOAutoParameters to ISOAutoMinSpeed and improved
decoding
- Fixed writing of date/time tags in XMP-xmpMM:Pantry structure
- API Changes:
Dec. 29, 2023 - Version 12.72
- Added read support for AAC audio files
- Added a new QuickTime Keys Android tag
- Added a number of new values for some Ricoh GR III tags
- Decode timed metadata from Intsa360 Ace Pro MP4 videos
- Decode GPSDateTime milliseconds in timed Insta360 metadata
- Decode timed metadata from INNOV K5 TS videos
- Decode a number of new GoPro timed-metadata tags
- Decode a few new Xiaomi EXIF tags
- Fixed writing of JPG/ARW images from some newer Sony models to preserve
HiddenData
Dec. 21, 2023 - Version 12.71
- Added a warning if there was an error reading an alternate file with the
-fileNUM option
- Added the ability to write QuickTime Keys:Encoder
- Added a few new Canon LensType values (thanks Norbert Wasser)
- Added a new, obscure EXIF tag (thanks Neal Krawetz)
- Decode real-time metadata from Ricoh Theta videos
- Decode SpecularWhiteLevel for more Canon models (github #232)
- Decode Canon DualPixelRaw tag (thanks John Moyer)
- Decode a few new Nikon tags (thanks Warren Hatch)
- Decode more FujiFilm M-RAW tags (thanks Greybeard)
- Improved generation of tag names for some JSON tag ID's containing colons
- Fixed "Undefined subroutine" error when writing makernotes as a block
- Fixed missing ID in family 7 group name for ID3 tags which are not valid for
the specified ID3 version
- Fixed bug where some tags from alternate files (with the -fileNUM option)
could show up as "not defined" when used in expressions even though they did
exist
- API Changes:
Nov. 19, 2023 - Version 12.70 (production release) - "20th Anniversary"
- This marks the 20th anniversary of the initial ExifTool release!
- Added ability to read/delete C2PA CAI JUMBF metadata from TIFF-based images
(eg. DNG), QuickTime-based files (eg. MP4) and WebP images, and read JUMBF
from other RIFF-based files (eg. WAV, AVI), GIF images and ID3v2 metadata
- Added read/write support for JPH images
- Added ability to read Leica Q3 maker notes
- Added ability to recognize and write FujiFilm M-RAW RAF images (multiple raw
images in a single file) and the ability to read preview-less RAF images
- Added support for reading a number of obscure Microsoft EXIF tags
- Added a few new Sony lenses and support for the ILCE-9M3 (thanks Jos Roost)
- Added a couple of new Panasonic Leica lenses
- Added a couple of new Canon RF lenses (thanks Norbert Wasser)
- Added a number of new CPUType values for ELF executables
- Added some new Olympus CameraType values
- Decode a few more ID3v2.2 tags (github #142)
- Decode a few new Canon G5X Mark II tags (thanks Martin B.)
- Decode WB_RGGBLevels for a few more Nikon cameras
- Extract information from FujiFilm M-RAW header
- Improved decoding of a few Nikon Z tags (thanks Warren Hatch)
- Marked misspelt XMP-drone-dji:GPSLongtitude tag to Avoid when writing
- Changed RIFF MaxDataRate conversion to use SI prefixes by default
- Fixed decoding of unknown ColorBalance information for some Nikon models
- Fixed an incorrect Nikon Z LensID
- API Changes:
Oct. 26, 2023 - Version 12.69
- Added support for DNG version 1.7.0.0
- Added a new XMP-GCamera tag
- Added a number of new Nikon Z lenses (thanks Warren Hatch and Stefan)
- Added a number of new XMP-crs tags
- Extract XML metadata from some Hasselblad images
- Tweaked -fast2 option to read metadata from inside mdat atom of HEIC images
- Patched FFF reader to be more tolerant of the mess made by incompetent
Hasselblad programmers (wrong IFD count for some values)
- Patched WebP reader to be more tolerant of the mess made by incompetent
Google programmers (EXIF with wrong header and XMP with wrong ID)
- Fixed writing of MakerNotes as a block to CR3 images (now properly stored in
the CMT3 chunk instead of the ExifIFD) and added ability to delete them from
the ExifIFD of CR3 images
- Fixed problem which could cause runtime error when copying MakerNotes from a
file that contains multiple maker note blocks
- Fixed problem which could cause "use of uninitialized variable" warnings
when reading images from some Nikon cameras
- Fixed List type for new XMP-photomech:CreatorIdentity tag
Oct. 16, 2023 - Version 12.68
- Added preliminary read support for XISF images
- Added the ability to delete CAI JUMBF metadata from PNG images
- Added support for writing Canon burst-roll CR3 images
- Added a new Nikon Z9 SubjectDetection value, and improved Zf support (thanks
Warren Hatch)
- Added a couple of new PentaxModelID values
- Added a few couple of new tag values for the Pentax K-3 Mark III Monochrome (github #226)
- Added a new XMP-photomech tag
- Added a new QuickTime ItemList tag
- Added a new Nikon LensID
- Added a new Canon LensType
- Support decimal values for FujiFilm ShadowTone and HighlightTone tags
- Decode some new Sony tags (thanks Jos Roost)
- Decode ShutterCount for Canon EOS R6 (thanks Martin B.)
- Decode QuickTime VideoFullRangeFlag
- Decode JPGCompression for the Nikon D3S
- Enhanced -geotag feature to allow writing QuickTime:GPSCoordinates
- Renamed Panasonic HDRShot tag to MergedImages (forum 15298)
- Fixed problem where some NEF files were misidentified as NRW
Sept. 19, 2023 - Version 12.67
- Added a new Pentax LensType (thanks dmont)
- Added a new FujiFilm FilmMode and FaceElementTypes values (thanks Greybeard)
- Fixed error writing new DataMining tag where URI prefix wasn't being
properly added to the value
Sept. 19, 2023 - Version 12.66
- Added a few new Canon LensType values (thanks Norbert Wasser)
- Added conversions for a few Apple:ImageCaptureType values
- Added new XMP tag for PLUS version 2.0.1
- Added a new CanonModelID (thanks Laurent Clevy)
- Decode another tag from Canon 1DS raw images (Hubert Figuière, github #219)
- Decode JPGCompression for newer Nikon models (thanks Warren Hatch)
- Fixed bug introduced in 12.65 where duplicate tags were not returned even
when the groups where specified explicitly
- API Changes:
Aug. 10, 2023 - Version 12.65
- Added a new QuickTime Keys tag
- Added a new CanonModelID (thanks Laurent Clevy)
- Added a new Canon LensType (thanks Norbert Wasser)
- Added number in brackets to converted Samsung MCCData value
- Decode a number of new Sony tags (thanks Jos Roost)
- Decode a few new FlashPix tags (github #217)
- Improved decoding of Nikon Z9 firmware 4.0 tags (thanks Warren Hatch)
- Improved parsing of PDF:Keywords to support semicolon-separated lists
- Enhanced -api option to show list of available options if no argument is
provided
- Lowered priority of IFD1 tags in ARW images so IFD0/SubIFD take precedence
- Changed QuickTime tag names for atID (AlbumTitleID to ArtistID) and plID
(PlayListID to AlbumID) (github issue #216), and added cmID (ComposerID)
- Changed Apple:MediaGroupUUID tag name back to ContentIdentifier
- Patched the -d option to handle the %s format code internally when writing
(avoids problems due to inconsistent behaviour of this format code in the
strptime function on different systems)
- Patched patch of version 12.32 to restore ability to read from named pipes
- Fixed bug which could cause a hang when processing a corrupt BigTIFF image
- Fixed document number for auxiliary image metadata in HEIC files
- Fixed misspelt Apple tag name (thanks Neal Krawetz)
- API Changes:
June 28, 2023 - Version 12.64
- Added a new Sony LensType (thanks Jos Roost)
- Added config_files/guano.config to the distribution (thanks StarGeek)
- Added support for Garmin Low-resolution Video (GLV) files
- Added JUMBF to the list of deletable groups
- Added (untested) read support for spherical video tags in Matroska videos
- Decode a number of new Nikon Z9 tags (thanks Warren Hatch)
- Decode AmbisonicAudio tags in spherical MP4 vidoes
- Decode another Apple tag
- Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
- Patched to allow writing QuickTime-based videos where the audio/video sample
description comes after the sample pointers
- Fixed parsing of GPS from Insta360 videos to properly skip void fixes
- Fixed problem where Apple iPhone 14 images produced invalid XML in -X output
when using -struct option
- API Changes:
- Added StructFormat option to allow JSON-format serialized structures
- Added NoDups option to eliminate duplicate items from queued values when
writing List-type tags
June 8, 2023 - Version 12.63
- Added ability to read/write/create Brotli-compressed metadata in JXL images
(requires IO::Compress::Brotli)
- Added partial support for Exif 3.0 specification:
- Added new EXIF tags
- Added MPF Original Preservation Image type
- Support for reading 'utf8' values (but still write only as 'string')
- Added support for Adobe XMP-hdrgm (HDR Gain Map) tags
- Added support for reading 7z files (thanks Amir Gooran, github #205) (but
currently this doesn't work for the Windows .exe version because I haven't
been able to install Compress::Raw::Lzma for ActivePerl)
- Added XMP-panorama tags
- Added warning if -csv is used with -p
- Added warning if trying to geotag from a UTF-16 track log
- Decode ImageWidth/Height from JXL images using partial codestreams
- Decode more Sony tags for some newer models (thanks Jos Roost)
- Extract GainMapImage (hrgm box) from JXL files
- Extract Guano information from WAV files
- Enhanced ImageDataMD5 feature and renamed to ImageDataHash (with
ImageDataMD5 alias for backward compatibility)
- Changed RARVersion tag name to FileVersion
- Fixed bug introduced in 12.46 which could cause a hang when reading a
corrupted RIFF-based file
- Fixed writing of Composition:GPSPosition when -n is used
- API Changes:
May 3, 2023 - Version 12.62
- Added basic read support for WPG images
- Added ImageDataMD5 support for HEIC images
- Added support for RAR version 5.0 files (thanks Amir Gooran, github #203)
- Added a few new XMP-aux tags (thanks John Ellis)
- Made Composite tags available for use in -fileNUM argument
- Better handling of FlashPix VT_EMPTY value
- Fixed "Can't write" error when specifying a .webp file for the -o option
- API Changes:
Apr. 24, 2023 - Version 12.61
- Added ImageDataMD5 support for J2C and JXL images
- Added support for PDF 2.0 (specification is finally freely available)
- Added ability to extract timed Accelerometer data from Azdome GS63H MP4
videos which don't contain GPS
- Added some new Sony lenses (thanks Jos Roost)
- Decode some new tags for the Sony ZV-E1 (thanks Jos Roost)
- Decode more tags for the Nikon Z30 (thanks Xavier)
- Enhanced -fileNUM option to allow tags from the main file to be used in the
file name string
- Validate sample offset and size when calculating ImageDataMD5 for MP4 videos
(note: may change ImageDataMD5 value for videos where audio data runs past
end of media data)
- Return error when attempting to write a fragmented JXL file
- Improved robustness for determining image size for corrupted JPEG
- Patched to allow Insta360 GPS records of unexpected length and tweaked
verification algorithm to determine validity of these records
- Fixed bug introduced in 12.57 where -progress:%f gave runtime warnings
- Fixed "--" option to ignore subsequent -common_args option
- Fixed incorrect ImageDataMD5 for Sony A100 ARW images
- Fixed problem reading new XMP-et:OriginalImageMD5 tag
Apr. 5, 2023 - Version 12.60 (production release)
- Added a new Sony FileFormat value
- Added Validate warning about duplicate EXIF
- Added ability to edit JPEG APP1 EXIF segment with incorrect header
- Decode a few new Sony ARW tags
- Improved -htmldump of non-EXIF-based maker notes
- Enhanced -geotag from CSV files support GPSSpeed (with variable units),
"bearing" for GPSTrack, and GPSDateTime in format "dd.mm.YYYY HH:MM:SS"
- Enhanced ImageDataMD5 to also support CRW, RAF, X3F and AVIF images
- Enhanced -efile option to also record updated and created file names
- Family 8 group names may now also be used in Composite Require/Desire tags
- Fixed handling of undefined tags in -if conditions to conform with
documentation and match -p and -tagsFromFile behaviour when -m or -f option
is used
- Fixed problem where setting the Geotime value didn't work when using an
advanced-formatting expression containing a greater-than symbol (>)
History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
<-- Back to ExifTool home page