# ExifTool Version History

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

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

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

- Added some new and updated some existing Sony/Minolta LensType values
- Added a new Canon LensType
- Added two missing Minolta Teleconverter values
- 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 is 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