# ExifTool Version History

RSS feed: https://exiftool.org/rss.xml

Note: The most recent production release is Version 12.60. (Other versions are considered development releases, and are not uploaded to MetaCPAN.)

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:
  - Added WindowsWideFile option

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:
  - Added AvailableOptions method

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:
  - Added ImageHashType option

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:
  - Added NoWarning option

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 (>)

Mar. 28, 2023 - Version 12.59

- COMPATIBILITY WARNING: Changed the calculated ImageDataMD5 for JPEG images to include all data from the SOS to the EOI (including the SOS marker but not the EOI marker)
- Added new -fileNUM option to load tags from alternate files
- Added family 8 groups for accessing tags from alternate files
- Added new XMP-et:OriginalImageMD5 tag for storing ImageDataMD5 value
- Added verbose ImageDataMD5 message for JPEG files
- Added a new Nikon LensID (thanks Warren Hatch)
- Decode a new Olympus tag and improved decoding of another (thanks Herb)
- Decode a couple of new PanasonicRaw tags
- Decode image coordinates for a couple more VNT object types
- Enhanced ImageDataMD5 to also support MRW, CR3, IIQ, PNG, MOV/MP4 and some RIFF-based files
- Improved verbose messages when deleting NikonApp trailer
- Patched to avoid structure warnings when copying tags from Nikon files containing NKSC metadata
- Fixed %-C filename format code to work properly with the -fileOrder and -progress options
- Fixed potential ValueConv warning when reading LIF files
- API Changes:
  - Added SetAlternateFile method

Mar. 15, 2023 - Version 12.58

- Added Extra ImageDataMD5 tag to calculate MD5 of image data only
- Added support for reading DJI APP4 and APP7 JPEG segments
- Added a new SonyModelID value
- Decode a few new Nikon tags (thanks Warren Hatch)
- Downgraded "Windows file times" to a minor warning when Win32::API or Win32API::File is not installed while reading metadata
- Patched possible runtime warning when API IgnoreTags option is used to ignore FileType
- Fixed problem extracting NetName from Windows LNK files
- Fixed issue where the %C filename format code would increment the count on an output filename collision, but it is supposed to count the input files

Feb. 23, 2023 - Version 12.57

- Added two new Nikon Z lenses (thanks LibRaw)
- Added a new Sigma LensType (thanks LibRaw)
- Added a new Olympus LensType (thanks Herb)
- Decode more new Nikon tags (thanks Warren Hatch)
- Decode Photoshop LayerColors, LayerSections and LayerVisible tags
- Improved Verbose output for QuickTime-format files
- Set family 1 group name for Garmin GPS from uuid atom
- Enhanced -progress option to allow message to be displayed every NUM files
- Significant improvements to parsing of Nikon ShotInfo records for newer models
- Removed hex dump of APP segments from -v3 output when writing
- Fixed bug writing negative MIE GPS coordinates
- Fixed bug where a duplicate XMP could be generated when writing XMP to a JPEG XL image which already contained XMP
- Fixed problem where HEAD lines may be duplicated in an output file if the -p option was combined with -w+ or -W+

Feb. 9, 2023 - Version 12.56

- Added support for VNT files (both Scene7 Vignette and V-Note document)
- Added read support for InfiRay IJPEG metadata (thanks Marcos Del Sol Vives)
- Added some new Sony LensType values (thanks Jos Roost and François Piette)
- Added a new FujiFilm VideoRecordingMode value (thanks Greybeard)
- Added two new Canon LensTypes and CanonModelIDs (thanks Norbert Wasser)
- Added ability to extract semantic images from Apple ProRaw DNG files
- Added read support for the PNG cICP chunk
- Decode more Nikon tags (thanks Warren Hatch)
- Extract PreviewImage from Insta360 trailer record 0x200
- Extract EmbeddedImageRectangle and some other new tags from VNT files
- Minor improvement to arg_files/xmp2exif.args (thanks StarGeek)
- Enhanced -ee option to extract metadata from all frames of a multipart EXR image
- Removed EXR Layout tag and incorporated into new Flags tag
- Patched possible hang problem when reading corrupted .rm audio files

Jan. 17, 2023 - Version 12.55

- Added support for geotagging from FlightAware KML files
- Decode two more types of timed GPS from MOV/MP4 videos (66 types now)
- Decode a few new Nikon tags (thanks Warren Hatch)
- Decode a new Samsung HEIC tag
- Decode FujiFilm RollAngle
- Fixed bug where the FlatName property wasn't working properly for some user-defined structure tags

Jan. 6, 2023 - Version 12.54

- Decode a number of new Apple tags (thanks Frank Rupprecht)
- Increased precision of Sony FocusDistance2 conversion
- Fixed problem where GPSAltitude wasn't being set when geotagging from KML files
- Fixed bug writing HEIC/AVIF files which have a zero-sized mdat (ie. media data extends to end of file) which could cause an incorrect mdat size to be written

Jan. 4, 2023 - Version 12.53

- Added support for a number of new XMP tags written by ACR 15.1
- Added a new Nikon LensID
- Decode timed GPS from Lamax S9 dual dashcam MOV videos
- Decode a number of new Nikon tags (thanks Warren Hatch)
- Decode a couple of new Canon tags (thanks John Moyer)
- Decode FujiFilm BWMagentaGreen tag
- Enable block-write of EXIF to JXL files
- Accept values of "now" and "Z" when writing EXIF OffsetTime tags
- Changed priority of XMP when reading/writing HEIC files so that it is no longer preferred as with other QuickTime-based formats
- Changed family 1 group name of Canon DR4 tags from CanonVRD to CanonDR4 to allow newer tags to be differentiated from older ones. The family 0 group name for both remains CanonVRD
- Patched to recognize JXL EXIF box with non-zero header length
- Patched to avoid runtime error when writing a PDF with an Info dictionary which was stored incorrectly as a direct object
- Fixed problem writing EXIF to JXL images where a new EXIF box was created even if one previously existed

Dec. 6, 2022 - Version 12.52

- Added a few new Nikon LensID's (thanks LibRaw and Chris)
- Added Slovak translations (thanks Peter Bagin)
- Made SphericalVideoXML readable/writable as a block
- Improved handling of Matroska metadata tags, including language support
- Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
- Improved Composite:GPSAltitude conversion to honour -lang setting
- Improved -v2 messages to indicate files extracted from zip archives

Nov. 21, 2022 - Version 12.51

- Added a new Olympus LensType (thanks Herb)
- Extract C2PA JUMBF metadata from PNG images and extract C2PA Salt values
- Decode NikonSettings for Z9 firmware 3.0 (thanks Warren Hatch)
- Decode additional camm metadata from Insta360 Pro2 MP4 videos
- Improved Verbose output when writing Composite tags to add a "+" sign to indicate related tags that are being written
- Enhanced -geotag option CSV format to support GPSImgDirection column
- Fixed problem where -w+ option didn't work in Windows if there were Unicode characters in the path name
- Fixed problem where only the last image of the sequence was extracted (multiple times) when using -ee2 to extract embedded images from FLIR SEQ files
- Fixed issue where GPS reference directions may be unknowingly written when using ExifTool 12.44 or later to write GPSLatitude or GPSLongitude without specifying a group name. The fix was to Avoid writing the Composite tags unless the Composite group is specified explicitly
- Fixed -geotag to write orientation and track tags even if some tags in the category were missing
- Fixed inconsistency in selecting which tag to output with the -json option when multiple tags with the same JSON key exist and the -TAG# feature is used to disable print conversion
- Fixed problem writing QuickTime:PlayListID
- Fixed problem writing QuickTime tags when specifying tag ID (ie. family 7 group) as well as a language code

Nov. 8, 2022 - Version 12.50 (production release)

- Added a new XMP-GCreations tag
- Added a few new Sony lenses (thanks Jos Roost)
- Added new SonyModelID and Olympus CameraType values (thanks LibRaw and Herb)
- Added a couple of new XMP tags (thanks José Oliver-Didier)
- Added a new Nikon Z lens (thanks LibRaw)
- Added a new Canon LensType and CanonModelID (thanks Norbert Wasser and LibRaw)
- Added some new Pentax lenses (thanks LibRaw)
- Added experimental support for timed GPS in TS videos from Jomise T860S-GM dashcam (more samples are needed for this to be finalized)
- Decode information written in "skip" atom of 70mai Pro Plus+ MP4 videos
- Decode timed accelerometer data from Kenwood dashcam MP4 videos
- Decode a few new Nikon Z9 tags (thanks Stefan Grüßen)
- Decode ColorData for some newer Canon models (thanks LibRaw)
- Decode a number of new tags for the Sony ILCE-7RM5 (thanks Jos Roost)
- Updated IPTC XMP tags to correspond with new Photo Metadata 2022.1 standard
- Extract JPEG previews from FujiFilm HIF images
- Changed -if option so multiple -if options are evaluated at the lowest specified -fast level
- Changed MIMEType for ICO and CUR files
- Enhanced -fast2 so it stops processing QuickTime files at mdat atom
- Enhanced -listx output so -f also indicates the ID of the parent structure for Flattened tags
- Improved conversion of IPTC date-only and time-only tags to allow formatting with the -d option
- Improved Canon and Nikon TimeZone tags to accept a wider variety of input formats when writing
- Disabled extraction of Nikon Z9 MenuSettings for firmware 3.0 until they can be properly decoded (thanks Warren Hatch)
- Fixed decoding of AF points for some newer Nikon models
- Fixed inconsistent year and time zone for Kenwood dashcam timed GPS in MP4 videos

History of older versions (back to Nov. 19, 2003 - Version 1.00) -->

<-- Back to ExifTool home page