# ExifTool Version History

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

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

Feb. 9, 2021 - Version 12.18

- Added a new SonyModelID
- Decode a number of Sony tags for the ILCE-1 (thanks Jos Roost)
- Decode a couple of new Canon tags (thanks LibRaw)
- Patched to read differently formatted UserData:Keywords as written by iPhone
- Patched to tolerate out-of-order Nikon MakerNote IFD entries when obtaining tags necessary for decryption
- Fixed a few possible Condition warnings for some NikonSettings tags

Feb. 3, 2021 - Version 12.17

- Added a new Canon FocusMode value
- Added a new FujiFilm FilmMode value
- Added a number of new XMP-crs tags (thanks Herb)
- Decode a new H264 MDPM tag
- Allow non-conforming lower-case XMP boolean "true" and "false" values to be written, but only when print conversion is disabled
- Improved Validate option to warn about non-capitalized boolean XMP values
- Improved logic for setting GPSLatitude/LongitudeRef values when writing
- Changed -json and -php options so the -a option is implied even without the -g option
- Avoid extracting audio/video data from AVI videos when -ee -u is used
- Patched decoding of Canon ContinuousShootingSpeed for newer firmware versions of the EOS-1DXmkIII
- Re-worked LensID patch of version 12.00 (github issue #51)
- Fixed a few typos in newly-added NikonSettings tags (thanks Herb)
- Fixed problem where group could not be specified for PNG-pHYs tags when writing

Jan. 21, 2021 - Version 12.16 (production release)

- Extract another form of video subtitle text
- Enhanced -ee option with -ee2 and -ee3 to allow parsing of the H264 video stream in MP4 files
- Changed a Nikon FlashMode value
- Fixed problem that caused a failed DPX test on Strawberry Perl
- API Changes:
  - Enhanced ExtractEmbedded option

Jan. 18, 2021 - Version 12.15 (production release)

- Added a couple of new Sony LensType values (thanks LibRaw and Jos Roost)
- Added a new Nikon FlashMode value (thanks Mike)
- Decode NikonSettings (thanks Warren Hatch)
- Decode thermal information from DJI RJPEG images
- Fixed extra newline in -echo3 and -echo4 outputs added in version 12.10
- Fixed out-of-memory problem when writing some very large PNG files under Windows

Jan. 6, 2021 - Version 12.14

- Added support for 2 more types of timed GPS in video files (that makes 49 different formats now supported)
- Added validity check for PDF trailer dictionary Size
- Added a new Pentax LensType
- Extract metadata from Jpeg2000 Association box
- Changed -g:XX:YY and -G:XX:YY options to show empty strings for non-existent groups
- Patched to issue warning and avoid writing date/time values with a zero month or day number
- Patched to avoid runtime warnings if trying to set FileName to an empty string
- Fixed issue that could cause GPS test number 12 to fail on some systems
- Fixed problem extracting XML as a block from Jpeg2000 images, and extract XML tags in the XML group instead of XMP

Dec. 24, 2020 - Version 12.13

- Added -i HIDDEN option to ignore files with names that start with "."
- Added a few new Nikon ShutterMode values (thanks Jan Škoda)
- Added ability to write Google GCamera MicroVideo XMP tags
- Add time zone automatically to most string-based QuickTime date/time tags when writing unless the PrintConv option is disabled
- Decode a new Sony tag (thanks LibRaw)
- Changed behaviour when writing only pseudo tags to return an error and avoid writing any other tags if writing FileName fails
- Print "X image files read" message even if only 1 file is read when at least one other file has failed the -if condition

Dec. 4, 2020 - Version 12.12

- Added ability to geotag from DJI CSV log files
- Added a new CanonModelID
- Added a couple of new Sony LensType values (thanks LibRaw)
- Enhanced -csvDelim option to allow "\t", "\n", "\r" and "\\"
- Unescape "\b" and "\f" in imported JSON values
- Fixed bug introduced in 12.10 which generated a "Not an integer" warning when attempting to shift some QuickTime date/time tags
- Fixed shared-write permission problem with -@ argfile when using -stay_open and a filename containing special characters on Windows

Nov. 27, 2020 - Version 12.11

- Added -csvDelim option
- Added new Canon and Olympus LensType values (thanks LibRaw)
- Added a warning if ICC_Profile is deleted from an image (github issue #63)
- EndDir() function for -if option now works when -fileOrder is used
- Changed FileSize conversion to use binary prefixes since that is how the conversion is currently done (eg. MiB instead of MB)
- Patched -csv option so columns aren't resorted when using -G option and one of the tags is missing from a file
- Fixed incompatiblity with Google Photos when writing UserData:GPSCoordinates to MP4 videos
- Fixed problem where the tags available in a -p format string were limited to the same as the -if[NUM] option when NUM was specified
- Fixed incorrect decoding of SourceFileIndex/SourceDirectoryIndex for Ricoh models

Nov. 12, 2020 - Version 12.10

- Added -validate test for proper TIFF magic number in JPEG EXIF header
- Added support for Nikon Z7 LensData version 0801
- Added a new XMP-GPano tag
- Decode ColorData for the Canon EOS 1DXmkIII (thanks LibRaw)
- Decode more tags for the Sony ILCE-7SM3 (thanks Jos Roost)
- Automatically apply QuickTimeUTC option for CR3 files
- Improved decoding of XAttrMDLabel from MacOS files
- Ignore time zones when writing date/time values and using the -d option
- Enhanced -echo3 and -echo4 options to allow exit status to be returned
- Changed -execute so the -q option no longer suppresses the "{ready}" message when a synchronization number is used (eg. -execute123)

Oct. 29, 2020 - Version 12.09

- Added ability to copy CanonMakerNotes from CR3 images to other file types
- Added read support for ON1 presets file (.ONP)
- Added two new CanonModelID values
- Added trailing "/" when writing QuickTime:GPSCoordinates
- Added a number of new XMP-crs tags
- Added a new Sony LensType (thanks Jos Roost)
- Added a new Nikon Z lens (thanks LibRaw)
- Added a new Canon LensType
- Decode ColorData for Canon EOS R5/R6
- Decode a couple of new HEIF tags
- Decode FirmwareVersion for Canon M50
- Improved decoding of Sony CreativeStyle tags (thanks Jos Roost)
- Improved parsing of Radiance files to recognize comments
- Renamed GIF AspectRatio tag to PixelAspectRatio
- Patched EndDir() feature so subdirectories are always processed when -r is used (previously, EndDir() would end processing of a directory completely)
- Yet another tweak to the EventTime formatting rules (also allow time-only values with fractional seconds and a time zone)
- Avoid loading GoPro module unnecessarily when reading MP4 videos from some other cameras
- Fixed problem with an incorrect naming of CodecID tags in some MKV videos
- Fixed verbose output to avoid "adding" messages for existing flattened XMP tags

Oct. 15, 2020 - Version 12.08

- Added read support for MacOS "._" sidecar files
- Added a new Sony LensType (thanks Jos Roost)
- Recognize Mac OS X xattr files
- Extract ThumbnailImage from MP4 videos of more dashcam models
- Improved decoding of a number of Sony tags (thanks Jos Roost)
- Fixed problem where the special -if EndDir() function didn't work properly for directories after the one in which it was initially called
- Patched to read DLL files which don't have a .rsrc section (thanks Hank)
- Patched to support new IGC date format when geotagging
- Patched to read DLL files with an invalid size in the header

Oct. 2, 2020 - Version 12.07

- Added support for GoPro .360 videos
- Added some new Canon RF and Nikkor Z lenses (thanks LibRaw)
- Added some new Sony LensType and CreativeStyle values and decode some ILCE-7C tags (thanks Jos Roost)
- Added a number of new Olympus SceneMode values (thanks Herb)
- Added a new Nikon LensID
- Decode more timed metadata from Insta360 videos (thanks Thomas Allen)
- Decode timed GPS from videos of more Garmin dashcam models
- Decode a new GoPro video tag
- Reformat time-only EventTime values when writing and prevent arbitrary strings from being written
- Patched to accept backslashes in SourceFile entries for -csv option

Sept. 11, 2020 - Version 12.06

- Added read support for Lyrics3 metadata (and fixed problem where APE metadata may be ignored if Lyrics3 exists)
- Added a new Panasonic VideoBurstMode value (thanks Klaus Homeister)
- Added a new Olympus MultipleExposureMode value
- Added a new Nikon LensID
- Added back conversions for XMP-dwc EventTime that were removed in 12.04 with a patch to allow time-only values
- Decode GIF AspectRatio
- Decode Olympus FocusBracketStepSize (thanks Karsten)
- Extract PNG iDOT chunk in Binary format with the name AppleDataOffsets
- Process PNG images which do not start with mandatory IHDR chunk

Aug. 24, 2020 - Version 12.05

- Added a new Panasonic SelfTimer value (thanks Herb)
- Decode a few more DPX tags (thanks Harry Mallon)
- Extract AIFF APPL tag as ApplicationData
- Fixed bug writing QuickTime ItemList 'gnre' Genre values
- Fixed an incorrect value for Panasonic VideoBurstResolution (thanks Herb)
- Fixed problem when applying a time shift to some invalid makernote date/time values

Aug. 10, 2020 - Version 12.04

- Added read support for Zeiss ZISRAW CZI files
- Added some new values for a couple of Olympus tags (thanks Sebastian)
- Decode a number of new tags for the Sony ILCE-7SM3 (thanks Jos Roost)
- Removed formatting restrictions on XMP-dwc:EventTime to allow a time-only value to be written
- Moved new QuckTime ItemList tags added in version 12.02 to the proper group (they were incorrectly added to the Keys group)
- Improved QuickTime -v3 output to show default language codes
- Patched -lang option to work for the values of somet tags with coded translations
- Patched the format of a number of QuickTime tags when writing for improved compatibility with iTunes and AtomicParsley
- Patched to write a default QuickTime language code of 0x0000 (null) instead of 0x55c4 ('und')

July 29, 2020 - Version 12.03

- Added family 7 group names to allow tag ID's to be specified when reading and writing
- Fixed a couple of typos in tag values (thanks Herb)
- API Changes:
  - Added HexTagIDs option
  - Enhanced GetNewValue() to allow family 7 groups names to be used
- Internal Changes:
  - Changed Composite tag ID's to use "-" instead of "::" as a separator

July 27, 2020 - Version 12.02

- Added support for a number of new QuickTime ItemList tags
- Added support for writing XMP-xmp:RatingPercent
- Added a new Sony LensType (thanks Jos Roost and LibRaw)
- Added a new Pentax LensType (thanks James O'Neill)
- Decode barcodes from Ricoh APP5 RMETA segment
- Decode a few new QuickTime tags written by Ricoh and Garmin cameras
- Decode timed GPS from Sony A7R IV MP4 videos
- Decode timed GPS from 70mai dashcam videos
- Decode a few new Panasonic tags (thanks Klaus Homeister)
- Decode altitude and more accurate latitude/longitude from Transcend Driver Pro 230 MP4 videos
- Improved decoding of some Canon EOS 1DXmkIII custom functions
- Allow integer QuickTime TrackNumber and DiskNumber values
- Relax validity check of QuickTime:ContentCreateDate when writing with -n
- Removed "Com" from the start of some unknown QuickTime ItemList tag names
- Patched CanonCustom decoding for bug in Canon EOS-1DX firmware
- Changed QuickTime CleanAperture tags decode as signed rationals

June 24, 2020 - Version 12.01

- Added a new NEFCompression value (thanks Warren Hatch)
- Added a new Sony LensType (thanks Jos Roost)
- Decode timed GPS from Rove Stealth 4K dashcam videos
- Fixed bug which would corrupt TIFF images with 16-bit image data offsets when writing (these are very rare)

June 11, 2020 - Version 12.00 (production release)

- Added two new Olympus LensTypes (thanks Don Komarechka for one)
- Added two new Sony LensType values (thanks Jos Roost)
- Added a few new Nikon LensID's (thanks Mathieu Carbou)
- Added support for the Sony ZV-1 (thanks Jos Roost)
- Added a new CanonModelID (thanks Jos Roost)
- Added missing MimeType values for HEICS and HEIFS files
- Added definitions for a number of new XMP-crs tags
- Recognize WOFF and WOFF2 font files
- Decode streaming GPS from Roadhawk, EEEkit and 360Fly MP4 videos
- Decode a number of new tags for the Nikon D6 (thanks Warren Hatch)
- Decode a couple more AF tags for the D500/D850
- Decode a number of new Panasonic tags
- Improved Composite LensID logic (thanks Matt Stancliff)
- Enhanced -v option to state when a directory has 0 entries
- Removed a couple of incorrect Validate warnings for bilevel TIFF images
- Drop ContrastCurve tag when copying from NEF to JPEG
- Changed -csv output to add "Unknown" group name to column headings for missing tags when -f and -G options are used
- Patched to support new XMP LensID format for Nikon cameras as written by Apple Photos (thanks Mattsta)
- Fixed problem extracting metadata from Sigma DP2 Quattro X3F files
- Fixed End() and EndDir() functions so they work when writing and when the -v option is used
- Fixed problem recognizing some PGM files
- Fixed bug in offsets for some Photoshop information in -v3 output
- Fixed problem writing a list containing empty elements inside an XMP structure
- API Changes:
  - Added NoMultiExif option
  - Changed FilterW option to not write tag if $_ is set to undef

May 11, 2020 - Version 11.99

- Added a new Nikon LensID (thanks Mykyta Kozlov)
- Added a new Canon LensType
- Added a newn PentaxModelID
- Decode a few new QuickTime tags
- Decode new ID3 Grouping tag
- Decode a few more MinoltaRaw tags (thanks LibRaw)
- Fixed runtime warning which could occur when reading corrupted RTF files
- Fixed another potential pitfall in M2TS Duration calculation
- Fixed problem extracting some unknown QuickTime:Keys tags
- Fixed problem decoding Nikon D850 orientation tags
- Fixed bug where TIFF image data may not be padded to an even number of bytes

May 1, 2020 - Version 11.98

- Added a new Nikon LensID (thanks Warren Hatch)
- Added a new Sony LensType (thanks LibRaw)
- Added a new Canon LensType
- Patched to extract EXIF with an "Exif\0\0" header from WebP images
- Enhanced -efile option and added to the documentation
- Minor tweak to -htmlDump output (disallow locking of empty selection)
- Fixed problem determining Duration of some M2TS videos

Apr. 27, 2020 - Version 11.97

- Added experimental -efile option (undocumented)
- Decode NMEA GGA sentence from streaming GPS of some dashcam videos

Apr. 24, 2020 - Version 11.96

- Decode streaming GPS from Lucas LK-7900 Ace AVI videos
- Changed new Exit/ExitDir function names to End/EndDir
- Fixed inconsistencies when using "-use mwg" together with the -wm option

Apr. 23, 2020 - Version 11.95

- Added Exit() and ExitDir() functions for use in -if conditions (NOTE: these function names changed to End() and EndDir() in ExifTool 11.96)
- Enhanced -geotag feature to support a more flexible input CSV file format
- Enhanced -if and API Filter options to allow access to ExifTool object via $self
- Fixed problem reading HEIC Exif with a missing header

Apr. 17, 2020 - Version 11.94

- Added support for QuickTime ItemList:GPSCoordinates
- Added additional Validate test for overlapping EXIF values
- Added a new Sony LensType (thanks Jos Roost)
- Added a new Nikon LensID
- Decode a few more Nikon tags (thanks Warren Hatch)
- Decode Pentax ShutterType
- Changed color of locked highlighted selection in -htmlDump output
- Fixed problem reading PDF files written by Microsoft Print-to-PDF
- Fixed problem where -X output would produce invalid XML for MP4 files containing an HTCTrack

Apr. 3, 2020 - Version 11.93

- Added new config file to the distribution for writing Pix4D XMP-Camera tags (config_files/pix4d.config)
- Added support for the DOSCyrillic (cp866) character set
- Added IO::String to the Windows EXE version
- Improved identification of Canon RF lenses (thanks LibRaw)
- Enhanced -htmlDump output to add "File offset" entry for EXIF tags and ability lock highlighted selection by clicking the mouse
- Enhanced -srcfile option to generate OriginalFileName and OriginalDirectory UserParam tags
- Patched HEIC writer to add missing pitm box if necessary
- Fixed problem adding back EXIF after deleting it from HEIC file
- Fixed minor problem with incorrect number of bytes being reported for invalid header in corrupt files
- API Changes:
  - Enhanced UserParam option to allow parameters to be extracted as if they were normal tags

Mar. 19, 2020 - Version 11.92

- Added a new Nikon LensID (thanks Wolfgang Exler)
- Decode a few new Leica tags (thanks Tim Gray)
- Decode AccelerometerData from Samsung Gear 360 videos
- Fixed a couple of problems decoding timed GPS metadata from NextBase dashcam videos
- Fixed problem where -X option could produce invalid XML when reading corrupted XMP

Mar. 5, 2020 - Version 11.91

- Decode a couple of new Panasonic tags
- Documented -ec option (available since version 11.54)
- Reverted -htmlDump fix of 11.90 because it broke more than it fixed, and instead applied a targeted patch to fix this problem for RW2 files

Mar. 3, 2020 - Version 11.90

- Added a new Sony LensType (thanks LibRaw and Jos Roost)
- Added two new Olympus LensType values
- Added a new Canon LensType
- Added some new Canon RecordMode values
- Added some new QuickTime GeneralProfileIDC values
- Added new values for a couple of FujiFilm tags
- Added a number of new QuickTime GenreID values
- Decode Nikon Z6/Z7 phase-detect AF points (thanks Andy Dragon)
- Patched to avoid possible "Undefined subroutine" error in MacOS 10.15
- Fixed incorrect offsets in -htmlDump output for some file types

Feb. 25, 2020 - Version 11.89

- Added support for Exif 2.32 for XMP
- Recognize the HIF file extension
- Improved verbose output for QuickTime iref items
- Patched to create new GPS metadata in Canon CR3 images using a default byte order that is the same as existing EXIF boxes
- Patched to add missing newline that could occur in XMP with the API Compact Shorthand option

Feb. 20, 2020 - Version 11.88

- Added write support for new Google depth-map XMP tags
- Added config_files/depthmap.config to the distribution
- Added minor error when attempting to write FFF images due to incompatibility with Hasselblad Phocus software
- Patched to avoid "Invalid iloc offset size" error when writing some QuickTime-based files
- Fixed incorrect ColumnCount for CSV files
- Fixed various spelling errors (thanks Jens Schleusener)
- Fixed bug writing QuickTime:Rotation in HEIC files

Feb. 13, 2020 - Version 11.87

- Added read support for CSV files
- Added "--" option to indicate the end of options
- Added ability to read/write/copy/delete the JPEG trailer as a block
- Added new Olympus CameraType and LensType values (thanks LibRaw)
- Decode a few more FujiFilm tags
- Enhanced -fast option (API FastScan) to bypass PNG CRC validation when writing

Feb. 4, 2020 - Version 11.86

- Added support for DNG version 1.5
- Added config_files/acdsee.config to the full distribution (thanks StarGeek)
- Added a new Sony LensType (thanks Jos Roost and LibRaw)
- Decode two more bits from Nikon LensType (thanks LibRaw)
- Decode QuickTime MovieFragmentSequence
- Patched HEIC writer to add missing iref box if necessary
- Fixed typo in a Canon LensType value
- API Changes:
  - Patched ImageInfo() to recognize a stringified object as a file name

Jan. 28, 2020 - Version 11.85 (production release)

- Added a new Sony LensType (thanks Jos Roost)
- Added a new Olympus CameraType (thanks LibRaw)
- Added a two new Pentax LensType values
- Added a new FujiFilm FocusMode
- Decode timed GPS from Akaso dashcam MOV videos
- Decode Insta360 trailer from INSP images and made Insta360 a deletable group
- Patched kml.fmt file to limit maximum image size (thanks Fedor Kotov)
- Fixed problem decoding values from Leica M10 and S maker notes

History of older versions (back to 1.00) -->

<-- Back to ExifTool home page