# ExifTool Version History

RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml

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

Apr. 28, 2012 - Version 8.90 (production release)

- Added ability to fix double-UTF-encoded embedded XMP
- Added a warning for invalid XMP
- Added a new Minolta/Sony LensType (thanks Matthias)
- Added a new values for some Canon tags
- Decode ColorBalance information for a few more Nikon models
- Ignore trailing whitespace when writing converted values
- Enhanced the -z option to avoid writing the 2424 bytes of padding in XMP
- Improved decoding of some Sony MakerNotes tags (thanks Jos Roost)
- Improved "best guess" for fixing corrupted makernote offsets of some Sony models

Apr. 21, 2012 - Version 8.89

- Added new Nikon and Ricoh LensID's
- Added a new Olympus CameraType
- Added new Canon LensType, EasyMode and CanonModelID values
- Added new Pentax PictureMode and PentaxModelID values
- Added support for IDimager XMP tags
- Added a number of new XMP-crs tags used by LR4
- Decode a few more QuickTime tags
- More improvements decoding Minolta/Sony CameraSettings (thanks Jos Roost)
- Enhanced -ext option to allow files with any extension to be processed
- Increased maximum number of SubIFD's to accommodate some DNG 1.4 images
- Lowered priority of JPEG APP12 PictureInfo tags when reading
- Created mechanism to allow self-referential XMP structures

Apr. 15, 2012 - Version 8.88

- Added a new Canon LensType (thanks Gerald Erdmann)
- Decode a number of new Olympus tags and values
- Decode a few more QuickTime tags
- Many more improvements and additions to Sony decoding (thanks Jos Roost)
- Changed Ricoh InternalSerialNumber to also convert numerical value
- Removed the ability to create IFD1 in TIFF-format images (you shouldn't really do this anyway)
- Fixed incorrect IFD number in some error messages when writing

Apr. 9, 2012 - Version 8.87

- Added a new PentaxModelID
- Added new values for some Panasonic tags
- Added a couple of new Canon LensTypes
- Decode a few more Sony tags and values (thanks Jos Roost)
- Decode more CanonVRD tags
- Decode makernotes from Pentax WG-2 GPS MOV videos
- Changed Panasonic AdvancedSceneMode to a Composite tag
- Fixed problem introduced in 8.70 where excluding groups from deletion didn't work when copying back tags in the same command
- Fixed problem repairing incorrect makernotes offsets in JPEG images from Sony SLT and NEX cameras

Apr. 3, 2012 - Version 8.86

- Added a few new values for some Panasonic tags
- Added a new CanonModelID and a new Canon LensType
- Added a new Nikon LensID
- Decode more Sony CameraSettings3 information (thanks Jos Roost)
- Decode another Canon 5D tag
- Decode some new CanonVRD DLO tags
- Changed decoding of CanonVRD VRDVersion tag
- Changed formatting of a Pentax LensType for consistency with other lenses
- Patched decoding of Reconyx:DateTimeOriginal to accomodate values written with an incorrect byte order by some models

Mar. 25, 2012 - Version 8.85 (production release)

- Added a couple more Olympus CameraType values
- Added two new Pentax LensType's and a PentaxModelID
- Decode a number of new Sony CameraSettings3 tags (thanks Jos Roost)
- Decode a few new Pentax K-01 tags
- Decode new custom functions of the Canon 5D Mark III
- Recognize another non-standard APP1 XMP header
- Increased unrolled depth of XMP-mwg-kw:HierarchicalKeywords from 4 to 6
- Extended "-charset exif=CHARSET" to also apply to EXIF UserComment when stored as ASCII
- Changed name of Olympus MaxApertureAtCurrentFocal to to MaxAperture
- Patched to avoid possibility of unnecessary "references previous directory" warning when the length of one directory is zero

Mar. 17, 2012 - Version 8.84

- Added a few more SonyModelID's (thanks Jos Roost)
- Added a new CanonModelID and a number of new Canon LensType values
- Added a new Minolta/Sony LensType
- Decode CameraTemperature for a number of new Canon PowerShot models
- Decode information from PANA atom of Panasonic DMC-FT20 MP4 videos
- Decode a bit more of the Casio MakerNotes
- Improved Polish translations for EXIF information (thanks Kacper Perschke)
- Changed some warning messages for invalid IFD entries
- Patched to allow writing of Sony MakerNotes containing invalid IFD entries

Mar. 13, 2012 - Version 8.83

- Added a new SonyModelID and a new Nikon LensID (thanks Gregg Lee and Jos Roost)
- Added Finnish translations (thanks Jens Duttke and Jarkko Mäkineva)
- Fixed the Composite:LensID problem properly this time (with any luck)

Mar. 13, 2012 - Version 8.82

- Added ability to extract information from PostScript-type DFONT files
- Added a new Minolta/Sony LensType (thanks Jos Roost)
- Improved geotagging of orientation information when extrapolating past end of track
- Changed behaviour while copying information to allow flattened tags to be specified without the need to use the --struct option
- Removed unnecessary warning when writing PreviewImage to Ricoh DNG file
- Fixed problem introduced in 8.81 which prevented generation of the Composite LensID for Nikon images when duplicate tags were disabled
- API Changes:
  - Added NoFlat option to SetNewValues()
  - Changed Struct option to allow copying of both structured and flattened tags at the same time

Mar. 9, 2012 - Version 8.81

- Added some new Canon, Pentax and Sony/Minolta LensType's
- Added a few new FujiFilm PictureMode values (thanks Kai Lappalainen)
- Added some new FujiFilm FilmMode values
- Added a couple of new CanonModelID values
- Added local timezone message to -v2 geotagging output
- Made all Pentax LensType tags writable
- Improved Composite LensID logic to use Sony LensSpec value if available
- Fixed problem opening files with path names that begin with "&"

Feb. 25, 2012 - Version 8.80

- Added a new Olympus CameraType
- Improved geotagging to tolerate out-of-sequence and missing NMEA sentences
- Increased the maximum XMP tag ID length to 250 characters to allow very deep user-defined structure hierarchies

Feb. 20, 2012 - Version 8.79

- Avoid deleting the JPEG APP14 Adobe segment when deleting all metadata
- Added ability to read/write/create JPEG APP14 Adobe segment as a block
- Added some new CanonModelID values
- Added another Panasonic WhiteBalance value (thanks PeterK)
- Decode Panasonic ColorTempKelvin tag
- Decode information from Qualcomm APP7 JPEG segment
- Extract PreviewImage for a few more uncommon camera models
- Strengthened MP3 file recognition to avoid mis-identification of some files
- Fixed problems reading "sfnt" resource in some DFONT files
- Fixed problems writing some LensType values for 3rd-party lenses

Feb. 11, 2012 - Version 8.78

- Added basic read support for a few obscure audio formats (LA, OFR, PAC, WV)
- Added a couple more Canon LensType values
- Decode some new Kodak tags in MP4 videos
- Patched timezone problem on MirBSD due to leap-second "feature" of this OS
- Fixed problem converting Adobe XMP LensID's for Pentax lenses
- Fixed runtime warning due to conflict with some Vorbis tag ID's
- Fixed problem which could result in duplicate columns in -csv output when used with -f and the "#" suffix on a tag name
- API Changes:
  - Added XMPAutoConv option

Jan. 27, 2012 - Version 8.77 (production release)

- Added some new and updated some existing Sony/Minolta LensType values
- Added two missing Minolta Teleconverter values
- Added a new Canon LensType
- Decode Olympus ArtFilterEffect
- Enhanced -c (CoordFormat) option to allow signed coordinate output
- Changed -sort option to always sort -json and -X outputs by tag name
- Minor change to an Olympus LensType name (thanks Niels Kristian Bech Jensen)
- Fixed problem geotagging orientation information from PTNTHPR sentence
- Fixed decoding of negative Pentax EffectiveLV values
- Fixed typo in an Olympus LensType

Jan. 18, 2012 - Version 8.76

- Added -sort option to sort output by tag name or description
- Added support for FujiFilm RAF version 1.03 images and downgraded RAF version error to a warning
- Added a number of new Minolta/Sony LensType's
- Added a new CanonModelID
- Decode FocusPosition for Sony A850 and calculate Composite FocusDistance
- Decode IFD found in some Samsung Type1 maker notes
- Patched Olympus test to fix failure on some platforms
- Patched -json output to filter out invalid UTF-8 characters
- API Changes:
  - Added Sort2 option and 'Descr' setting for Sort option
  - Added secondary sort option to GetFoundTags() and GetTagList()
  - Changed name of Sort 'Alpha' setting to 'Tag' (but 'Alpha' still works for backward compatibility)

Jan. 8, 2012 - Version 8.75 (production release)

- Added -php output option (thanks Marcel)
- Decode another AIFF tag and handle character encoding in AIFF text values
- Recognize PHP files
- Enhanced Geotag feature to write speed/track from NMEA GPRMC sentence, and orientation information from Honeywell NMEA PTNTHPR sentence
- Changed verbose XMP output to print raw values
- Lowered default priority of "avoided" tags so they don't override other same-named tags when reading with duplicate tags disabled
- Patched tests to ignore MirBSD leap-second unconformity
- Patched ZIP module to avoid failed tests with Perl 5.6.2 on GNU/Linux 2.6
- Fixed problem reading xref table of some PDF files created by PScript5.dll
- Fixed problem reading RicohSubdir from AVI videos of the GR Digital 4

Dec. 28, 2011 - Version 8.74

- Added read/write support for Hasselblad FFF images
- Added iptcCore.args convenience file to the distribution package
- Catch CONT signal to allow calling applications to trigger an immediate response (avoiding a delay of up to 0.01 sec) after writing arguments to a -stay_open ARGFILE
- Protect against some infinite loops that could be created when using some of the advanced exiftool options
- Improved decoding of Samsung PictureWizard (thanks Pascal de Bruijn)
- Improved handling of bad IFD entries in -htmlDump output
- Changed print conversion of EXIF:FNumber and XMP:FNumber to use 2 decimal digits for values less than 1.0, and disable conversion for invalid values
- Tightened up the -stay_open feature to fix a few potential problems
- Fixed bug using -csv+= or -json+= for non-list-type tags
- Fixed problem deleting unknown makernotes as a block
- API Changes:
  - Enhanced SetNewValue() AddValue option to allow this option to be ignored for non-list tags

Dec. 16, 2011 - Version 8.73

- Added read support for OpenEXR and Radiance RGBE images
- Added a couple of new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a new PentaxModelID
- Added a new Olympus CameraType
- Created new FileSequence tag for use in batch processing
- Decode maker notes from Pentax Optio RZ18 AVI videos
- Tolerate unrecognized IPTC records (but still issue warning)
- Changed ScaleFactor35efl calculation to also use Pentax SensorSize
- Minor changes to two Samsung lens names (thanks Pascal de Bruijn)

Dec. 8, 2011 - Version 8.72

- Added support for reading XMP from INX files
- Added PDF HasXFA tag
- Added a new XMP Colorants field (not in 2010 XMP specification)
- Decode Casio BestShotMode for yet more cameras
- Decode a few more Casio ImageStabilization values
- Decode a few more Olympus tags and added conversion for CameraType
- Protect against reading insanely large XMP (> 300 MB) in INDD files
- Extract large (> 64 kB) unknown XMP tags as binary data
- Reduced memory requirements for XMP processing (by 1/10)
- Fixed another place where empty XMP structures could hide (in lists)

Nov. 19, 2011 - Version 8.71

- Added two new Olympus LensType values (thanks Martin Hilbers)
- Avoid recreating duplicate groups when deleting whole groups and adding back tags in the same step
- Fixed problem where the QuickTime -charset option didn't work for some tags
- Fixed bug introduced in 8.69 which could cause excessive memory usage when reading QuickTime videos with the -u option
- Fixed problem where existing empty XMP structure couldn't be deleted or overwritten as a structured tag

Nov. 15, 2011 - Version 8.70

- Compatibility Notice: Changed order of operations when batch processing with -tagsFromFile option to be consistent with non-batch mode
- Added -listItem option
- Added read support for IDML files
- Added a new Canon LensType (thanks Jon Charnas)
- Added a couple of new Samsung LensType's (thanks Tae-Sun Park)
- Added support for another DigiKam XMP tag
- Decode a couple more ID3 tags
- Decode Casio BestShotMode for more cameras
- Improved decoding of Casio AFMode
- Extract unknown FLAC blocks as binary data
- Changed ITC:ImageType to make "numerical" value more friendly
- Changed priority of two unreliable Samsung tags
- Fixed bug where ExifTool could produce improperly formatted XMP when writing structure elements to a previously empty XMP structure (the empty XMP structure was not being properly deleted). Affected XMP may be repaired by re-writing any element of the structure with this version of ExifTool
- API Changes:
  - Added ProtectSaved option to SetNewValue() and return save count from SaveNewValues()

Nov. 9, 2011 - Version 8.69

- IMPORTANT: Fixed bug which could corrupt GIF images when writing a Comment to a GIF image containing XMP metadata
- Added ability to read/write ICC_Profile in GIF images
- Added ability to specify internal encoding of EXIF "ASCII" strings and QuickTime strings
- Added a new DigiKam XMP tag
- Decode a number of new Sony tags
- Decode a few new Pentax tags and added a few new values
- Decode a few new QuickTime and ID3 tags
- Decode Casio BestShotMode for a number of models
- Improved validity checking of ICC_Profile segments in JPEG image
- Tolerate UTF-8 byte order mark (BOM) in input CSV and JSON files
- No longer trim trailing spaces from arguments in -@ argfiles
- Upgraded Windows executable version to use PAR 1.002
- Changed priority of the Sony DynamicRangeOptimizer tags
- Changed MWG feature to use UTF8 encoding for EXIF strings by default
- Changed the -b option to avoid loading large binary values for tags that have been excluded with the -x option or --TAG
- Changed Canon AFMicroAdjActive to AFMicroAdjMode and improved decoding
- Fixed problem where the PreviewImage could be lost when writing to images from some newer Sony cameras
- Fixed problem reporting duplicate information when -if used with -TAG#
- Fixed incorrectly written XMP-tiff:YCbCrSubSampling tag
- Fixed problem opening files with names beginning and/or ending with some characters such as SPACE, '>', '<' and '|'; however file names ending with '|' are still not allowed
- API Changes:
  - Added CharsetEXIF and CharsetQuickTime options

Oct. 21, 2011 - Version 8.68

- Added a new CanonModelID and a new SonyModelID
- Added new Canon and Pentax LensType's
- Decode more makernote information from Nikon MOV videos
- Improved decoding of Sony LensSpec and enabled writing of this tag
- Overhauled Minolta/Sony LensType list for consistency with official Sony lens names and removed a couple of anomalous entries (thanks Jos Roost)
- Fixed problem with negative temperatures in Reconyx makernotes
- Fixed bug which could cause runtime warnings when -f used with -X and -l
- Fixed some minor problems when using -X with MWG option
- Fixed issue where some missing tags could be printed when -f option was used in combination with wildcard tag names

Oct. 13, 2011 - Version 8.67

- Added a new Canon LensType (thanks Norbert Wasser)
- Decode tags from FujiIFD in HS10 and X100 RAF images
- Decode LocationInfo tags from Nikon maker notes
- Decode GPS tags from Nikon MOV videos
- Decode information from Microsoft "Xtra" atom in QuickTime files
- Decode Sony LensSpec information (thanks Jos Roost)
- Use more specific MakerNotes names in warning messages and verbose output
- Updated Canon CustomFunctions for the EOS 600D and 1100D
- Improved handling of some corrupted RIFF files
- Improved decoding of Samsung manual lens types (thanks Pascal de Bruijn)
- Changed "No writable tags found" warning to "No writable tags set from"
- Fixed problem handling resource forks in newer versions of OS X
- Fixed problem writing XMP as a block to Jpeg2000 images
- Fixed problem which could cause XMP and IPTC to be ignored when using MWG feature with TIFF images and performing multiple operations in a single command

Oct. 3, 2011 - Version 8.66

- Added the ability to use "$GROUP:all" in -if and -p expressions (evaluates to "1" if any tag exists in the specified group, or "0" otherwise)
- Added a new Sony/Minolta LensType (thanks Florian Knorn)
- Added list of recommended modules to Perl installation
- Decode ColorBalance information for a few new Nikon models
- Updated Canon CustomFunctions for the EOS 600D and 1100D
- Fixed problem writing "now" to MWG date/time tags

Sept. 24, 2011 - Version 8.65 (production release)

- Added a few new CanonModelID's
- Added a new Sony/Minolta LensType
- Added a new Canon LensType (thanks Klaus Reinfeld)
- Added a number of new Olympus ArtFilter/MagicFilter values
- Included new .args files in distribution: exif2iptc.args and iptc2exif.args
- Enhanced writing of date/time tags to recognize "now" for the current time
- Improved decoding of H264 Gain
- Minor improvement to -htmlDump for some invalid IFD entries
- Allow PostScript date/time tags to be written without the -n option
- Allow NikonCapture:ExposureAdj2 to be written without the -n option
- Fixed problem introduced in version 8.62 where DateTimeOriginal in IFD0 of NEF images was no longer updated when shifting times
- Fixed problem where keywords could be duplicated when exporting to XMP while using the MWG module
- Fixed problem reading PDF images with extra whitespace before xref table
- Fixed format problem in CSV output for filenames containing a comma or quote
- Fixed problem reading concatenated AVI videos

Sept. 10, 2011 - Version 8.64

- Added 2 new ACDSee XMP tags (thanks Hannes Leubbers)
- Added a new Sony FileFormat value
- Added a new CanonModelID
- Added a few new Pentax DigitalFilter and ImageTone values
- Enhanced -execute option to allow a command ID number to be added
- Enhanced -csv and -json import features to also key on canonical SourceFile path (requires Cwd module)
- Improved Composite LensID logic for some Sony cameras
- Fixed misleading error message when using -if option on file that doesn't exist
- Fixed problems decoding a number of inconsistent tags in the Sigma SD1 maker notes

Aug. 27, 2011 - Version 8.63

- Added support for a number of new Open Document file extensions
- Added a few new CanonModelID and SonyModelID values
- Added a new Ricoh GXR LensID
- Added a new Sony/Minolta LensType (thanks Mladen Sever)
- Added patch to read the improperly formatted DateTimeOriginal in AVI videos written by the Kodak Easyshare Sport camera
- API Changes:
  - Added QuickTimeUTC option

Aug. 21, 2011 - Version 8.62 - "JPEG2000 Update"

- Added read support for JPEG2000 codestream format (J2C)
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a few new Pentax LensType's
- Added a few new Sony/Minolta LensType's (thanks Wolfram for 2 of these)
- Added two new Sony Teleconverter values (thanks Wolfram)
- Decode a few more JPEG2000 UUID's written by Adobe JPEG2000 plugin
- Decode additional JPEG2000 ColorSpecification information
- Recognize a few more JPEG2000 file extensions
- Updated some CanonModelID's
- Tolerate extra comma at end of line in imported -csv files
- Changed name of Kodak Type9 SerialNumber tag to UnknownNumber
- Fixed bug which in rare situations could result in an erroneous "IFD pointer references previous IFD" warning
- Fixed another memory leak when writing and removed circular references from ExifTool object to prevent future bugs like this
- Fixed problem in Windows where values in the -X (XML) output containing CR+LF were converted to CR+CR+LF
- Fixed superfluous warning which could occur when using += to decrement a numerical tag
- Fixed an incorrectly spelt Pentax city name (thanks John Francis)

July 16, 2011 - Version 8.61

- Added the ability to increment/decrement tags with numerical values using +=
- Added support for Extensis Portfolio XMP tags plus a number of non-standard and/or undocumented XMP-xmp and XMP-xmpMM tags
- Added read support for Microsoft Compiled HTML (CHM) format
- Added read support for Ogg Video (OGV) files
- Added new LensType values for Pentax (thanks Heike Herrmann), Sony/Minolta (thanks Fabio Suprani and Florian Knorn), Nikon (thanks Jens Kriese), Olympus and Sigma cameras
- Added a new QuickTime VendorID
- Recognize DEX (Dalvik Executable) files
- Identify Windows 64-bit EXE/DLL files and relax EXE validation
- Validate date/time values when reading NMEA GPS log files
- Changed decoding of CFAPattern to return a string of numbers with -n option
- Extract all unknown makernote blocks as undef, regardless of actual format
- Improved print conversion of Pentax ShakeReduction
- Fixed problem processing some Ogg files with multiple streams
- Fixed incorrect namespace URI for stArea (used by MWG 2.0 regions)
- Fixed problem with spaces in -geotag path when using wildcards
- Fixed problem writing PDF:Keywords list items individually if they contain special characters
- API Changes:
  - Enhanced SetNewValue() to allow increment/decrement of numerical tags

June 25, 2011 - Version 8.60 (production release)

- Added Composite Flash tag to facilitate copying of flash information between XMP and EXIF
- Added new Pentax and Canon LensType values and fixed a Pentax lens name
- Added a few new Leica LensType's (thanks Olaf Ulrich)
- Added a new PentaxModelID
- Enhanced GPSDateStamp conversion to tolerate null separators (Casio EX-H20G)
- Made DNG LinearizationCurve and Nikon ContrastCurve writable but protected
- Renamed Nikon LinearizationTable to NEFLinearizationTable and made writable but protected
- Removed Leica M8 FrameSelector tag since it seems to have evolved into an extension of the LensType tag for newer lenses
- Fixed problem with order of operations when using multiple -if options

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

<-- Back to ExifTool home page