Viewing file: ancient_history.html (484.67 KB) -rw-r--r-- Select action/file-type: (+ ) | (+ ) | (+ ) | Code (+ ) | Session (+ ) | (+ ) | SDB (+ ) | (+ ) | (+ ) | (+ ) | (+ ) | (+ ) |
ExifTool Ancient History
ExifTool Ancient History
Note: This page gives the history of older exiftool versions. See
history.html for the recent history.
Apr. 22, 2021 - Version 12.25
JPEG XL support is now official
Added read support for Medical Research Council (MRC) image files
Added ability to write a number of 3gp tags in video files
Added a new Sony PictureProfile value (thanks Jos Roost)
Added a new Sony LensType (thanks LibRaw)
Added a new Nikon LensID (thanks Niels Kristian Bech Jensen)
Added a new Canon LensType
Decode more GPS information from Blackvue dashcam videos
Decode a couple of new NikonSettings tags (thanks Warren Hatch)
Decode a few new RIFF tags
Improved Validate option to add minor warning if standard XMP is missing
xpacket wrapper
Avoid decoding some large arrays in DNG images to improve performance unless
the -m option is used
Patched bug that could give runtime warning when trying to write an empty
XMP structure
Fixed decoding of ImageWidth/Height for JPEG XL images
Fixed problem were Microsoft Xtra tags couldn't be deleted
Apr. 13, 2021 - Version 12.24
Added a new PhaseOne RawFormat value (thanks LibRaw)
Decode a new Sony tag (thanks Jos Roost)
Decode a few new Panasonic and FujiFilm tags (thanks LibRaw and Greybeard)
Updated acdsee.config in distribution (thanks StarGeek)
Recognize AutoCAD DXF files
More work on experimental JUMBF read support
More work on experimental JPEG XL read/write support
Patched security vulnerability in DjVu reader
Apr. 1, 2021 - Version 12.23
Added support for Olympus ORI files
Added experimental read/write support for JPEG XL images
Added experimental read support for JUMBF metadata in JPEG and Jpeg2000
images
Added built-in support for parsing GPS track from Denver ACG-8050 videos
with the -ee option
Added a some new Sony lenses (thanks Jos Roost and LibRaw)
Changed priority of Samsung trailer tags so the first DepthMapImage takes
precedence when -a is not used
Improved identification of M4A audio files
Patched to avoid escaping ',' in "Binary data" message when -struct is used
Removed Unknown flag from MXF VideoCodingSchemeID tag
Fixed -forcewrite=EXIF to apply to EXIF in binary header of EPS files
API Changes:
Mar. 17, 2021 - Version 12.22
Added a few new Sony LensTypes and a new SonyModelID (thanks Jos Roost and
LibRaw)
Added Extra BaseName tag
Added a new CanonModelID (thanks LibRaw)
Decode timed GPS from unlisted programs in M2TS videos with the -ee3 option
Decode more Sony rtmd tags
Decode some tags for the Sony ILME-FX3 (thanks Jos Roost)
Allow negative values to be written to XMP-aux:LensID
Recognize HEVC video program in M2TS files
Enhanced -b option so --b suppresses tags with binary data
Improved flexibility when writing GPS coordinates:
Now pulls latitude and longitude from a combined GPSCoordinates string
Recognize full word "South" and "West" to write negative coordinates
Improved warning when trying to write an integer QuickTime date/time tag and
Time::Local is not available
Convert GPSSpeed from mph to km/h in timed GPS from Garmin MP4 videos
Feb. 24, 2021 - Version 12.21
Added a few new iOS QuickTime tags
Decode a couple more Sony rtmd tags
Patch to avoid possible "Use of uninitialized value" warning when attempting
to write QuickTime date/time tags with an invalid value
Fixed problem writing Microsoft Xtra tags
Fixed Windows daylight savings time patch for file times that was broken in
12.19 (however directory times will not yet handle DST properly)
Feb. 23, 2021 - Version 12.20
Added ability to write some Microsoft Xtra tags in MOV/MP4 videos
Added two new Canon LensType values (thanks Norbert Wasser)
Added a new Nikon LensID
Fixed problem reading FITS comments that start before column 11
Feb. 18, 2021 - Version 12.19
Added -list_dir option
Added the "ls-l" Shortcut tag
Extract Comment and History from FITS files
Enhanced FilePermissions to include device type (similar to "ls -l")
Changed the name of Apple ContentIdentifier tag to MediaGroupUUID
(thanks Neal Krawetz)
Fixed a potential "substr outside of string" runtime error when reading
corrupted EXIF
Fixed edge case where NikonScanIFD may not be copied properly when copying
MakerNotes to another file
API Changes:
Added ability to read/write System tags of directories
Enhanced GetAllGroups() to support family 7 and take optional ExifTool
reference
Changed QuickTimeHandler option default to 1
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:
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:
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:
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
Added undocumented -xpath option for use by alternate Windows version
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
Jan. 10, 2020 - Version 11.84
Decode accelerometer data from timed metadata of more dashcam videos
Decode Canon G9 white balance tags (thanks LibRaw)
Recognize INSP files
Jan. 9, 2020 - Version 11.83
Added a couple of new XMP-crs tags (thanks Herb)
Fixed bug introduced in 11.82 with the -php -D output
Fixed problem where some flattened XMP tags could be written when they
should be avoided
Jan. 8, 2020 - Version 11.82
Added a new Canon LensType
Added a new CanonModelID (thanks LibRaw)
Added ability to process SubDirectories in QuickTime Keys tags
Removed minor error when writing PDF 2.0 files (github issue #30)
Fixed problem where trailing null bytes were removed from binary values in
the -php output when the -b option was used
Jan. 2, 2020 - Version 11.81
Added a new Nikon LensID
Added two new CanonModelID's (thanks LibRaw)
Decode AVIF AV1 configuration record
Changed names of QuickTime MovieData tags to "MediaData"
Patched to use 4-digit years in Time::Local calls
Patched Composite sub-second date/time tags to do additional validation of
source EXIF date/time tags before adding sub seconds
Fixed problem where -json output could produce invalid JSON when -struct was
used and the structure field names contained special characters (github
issue #32)
Fixed spelling in a Panasonic SceneMode value (thanks Hubert)
Dec. 17, 2019 - Version 11.80
Added a new Canon LensType
Added a new Nikon Z LensID (thanks LibRaw)
Added a few new Sony LensType values (thanks Jos Roost)
Attempt to improve reliability of Samsung DepthMapWidth/Height decoding
Updated a number of Canon-mount Tamron lens names to include the Tamron
model number
Patched MOV/MP4 writer to allow a small amount of garbage at the end of a
file to be deleted when writing with the -m option
Fixed bug where some Composite tags may not have taken priority over other
tags as they should have
Dec. 12, 2019 - Version 11.79
Added support for AVIF files
Added new Canon, Sigma and Sony LensType values (thanks LibRaw)
Made PDF 2.0 writable at your own risk with the -m option (github issue #30)
Enhanced -validate feature to warn about duplicate languages in an XMP
lang-alt list
Fixed inconsistency between documentation and ExifTool capabilities for
"Writable" status of some tags
Dec. 5, 2019 - Version 11.78
Added a new Nikon LensID (thanks Chris)
Added two new FujiFilm SceneRecognition values
Patched to avoid crash in Windows when writing a negative epoch time using
the "-d %s" option
Fixed problem editing MIE tags when using the "-wm w" option
Nov. 27, 2019 - Version 11.77
Added a new Nikon LensID (thanks Joe Schönberg)
Added a number of new Olympus LensType values (thanks LibRaw)
Added a new Canon LensType
Decode timed GPS from Ambarella A12 dash cam MP4 videos
Decode a number of new Sigma tags (thanks LibRaw)
Decode a couple of new PanasonicRaw tags (thanks LibRaw)
Enhanced -fileOrder option to add -fast feature
Nov. 12, 2019 - Version 11.76
Added support for the Sony ILCE-9M2 (thanks Jos Roost)
Added a couple of new XMP-GCamera tags
Added MIMEType values for some formats that previously reported
"application/unknown"
Enhanced -geotag feature to write pitch to CameraElevationAngle if available
Improved determination of MIMEEncoding for TXT files
Nov. 4, 2019 - Version 11.75
Added ability to read some basic characteristics of TXT files
Added kml_track.fmt to the fmt_files of the full distribution
Added built-in support for decoding GPS from the four video subtitle text
formats that were previously handled by separate config files, and removed
these config files from the distribution
Derive GPSDateTime from CreateDate and SampleTime if not already available
when extracting timed GPS metadata from QuickTime-format videos
Changed family 2 groups of some Extra tags
Oct. 29, 2019 - Version 11.74
Added support for new XMP IPTC Extension version 1.5 tags
Added a new Nikon LensID (thanks LibRaw)
Decode GPS track from Auto-Vox dashcam MOV videos
Improved Russian translations (thanks Andrei Korzhyts and Alexander)
Enhanced convert_regions.config to support new IPTC Extension 1.5 ImageRegion
Changed the way the FlatName element works when used in a structure element
(the structure name is now added as a prefix to the flattened tag name)
Patched gpx.fmt and gpx_wpt.fmt to support sub-seconds in GPSDateTime value
Oct. 23, 2019 - Version 11.73
Decode timed metadata from Parrot drone videos
Patched dji.config file to properly handle time zones
Fixed bug which caused runtime error when reading timed metadata from Cobra
Dash Cam AVI videos
Oct. 22, 2019 - Version 11.72
Added warning messages for corrupted Photoshop document data
Added a new Olympus CameraType
Added a new Canon LensType
Decode more Sigma tags
Improved Russian translations (thanks Alexander)
Updated decoding of some CanonCustom settings for recent models
Documented DNG OpcodeList values
Oct. 16, 2019 - Version 11.71
Added a new Sony LensType (thanks Jos Roost)
Added a few new Nikon Z LensID's
Added a simple print conversion for DNG OpcodeList tags (note that due to
this, these tags must now be copied using the -n option)
Fixed problems determining some video parameters for DV files
Changed behaviour of -sep option when writing empty list items
API Changes:
Oct. 10, 2019 - Version 11.70 (production release)
Added a new CanonModelID (thanks Laurent Clévy)
Improved identification of Office Open XML files (github issue #27)
Removed RAF version check when writing FujiFilm RAF files
Limited the number of accelerometer records that ExifTool will read by
default with the -ee option from INSV files to avoid excessive processing
times and memory usage
Patched Windows version to allow reading of shared files with Unicode names
(thanks Eriksson)
Patched to avoid converting some bad GPS coordinates (thanks Csaba Toth)
Fixed verbose output to include YCbCrSubSampling for JPEG files
Fixed conversion and group names for the new FujiFilm tag added in 11.68
Fixed format of GeoTiffDirectory and GeoTiffDoubleParams when writing
Oct. 2, 2019 - Version 11.69
Fixed bug introduced in version 11.66 where the sign was lost when writing
coordinate values between 0 and -1 to QuickTime:GPSCoordinates
Oct. 1, 2019 - Version 11.68
Added read support for yet another type of streaming GPS in MP4 videos
Added a number of new FujiFlashMode values
Decode a new FujiFilm tag
Made NikonCaptureOffsets and NikonCaptureVersion deletable
Enhanced tag name documentation to indicate deletable MakerNotes tags
Sept. 30, 2019 - Version 11.67
Added config_files/thinkware.config to the distribution
Fixed bug decoding negative GPS coordinates from INSV videos
Sept. 30, 2019 - Version 11.66
Added a new Nikon LensID (thanks LibRaw)
Added a few new Canon LensType values (thanks LibRaw and Tom Lachecki)
Decode a few more Hasselblad tags (thanks LibRaw)
Decode a new Canon tag (thanks Laurent Clévy)
Decode more Samsung trailer tags
Extract BWF iXML, aXML and UMID from RIFF-format files
Extract ICC_Profile from more types of PDF files
Enhanced %s of the -W option to recognize the PICT format
Recognize MacOS alias files
Changed name of Ricoh CropMode35mm tag and added a new value (thanks LibRaw)
Minor change to a Minolta lens name (thanks Jos Roost)
Fixed problem where NikonCapture information couldn't be deleted from an NEF
Fixed problem identifying some SVG files
Fixed typo in a CanonModelID value (thanks Dmitry)
Fixed bug which could result in "Internal error: no list index" warning when
creating nested XMP lang-alt lists
Fixed the names of a few Tamron lenses for Nikon (thanks Tom Lachecki)
Fixed problem extracting Layer information from some PSD files
Fixed writing of QuickTime GPSCoordinates to use the correct number of
digits before the decimal point for latitude and longitude
Aug. 29, 2019 - Version 11.65
Added new SonyModelID and Sony LensType values (thanks LibRaw and Jos Roost)
Added support for some new Sony models (thanks Jos Roost)
Added a couple of new CanonModelID values (thanks LibRaw)
Added a new Canon ColorDataVersion value
Enhanced FastScan option so a setting of 2 stops processing PNG images at
the IDAT chunk when reading
Preserve order of nested lang-alt list entries when -struct option is used
Aug. 28, 2019 - Version 11.64
Added a new Canon LensType (thanks LibRaw)
Added a new Nikon LensID (thanks Bruno)
Added config file for converting streaming GPS from BlueSkySea dashcam
Decode FocusDistance for Nikon Z6/Z7
Documented groups in families 5 and 6 (available but undocumented since
Exiftool version 8.22 and 11.50 respectively)
Fixed some ordering problems when writing/copying nested XMP lang-alt lists
Fixed some minor quirks with QuickTime language codes (thanks Hayo Baan)
Fixed a CanonModelID value (thanks Dmitry)
API Changes:
Aug. 20, 2019 - Version 11.63 - "PNG Early Text"
Added a few new Sigma lenses (thanks LibRaw)
Improved handling of Canon CNTH atom in MOV/MP4 videos
Changed PNG writer to place all text chunks before IDAT (not just XMP)
(github issue #23)
Issue minor warning for any text chunk after PNG IDAT (not just XMP)
Enhanced ForceWrite feature to allow "PNG" to be specified (to move existing
text chunks to before IDAT without editing any metadata)
Removed Windows "surrogate" warning for files that wouldn't be processed
anyway
Fixed some entries in the Minolta LensType list (thanks Jos Roost)
Fixed identification of a Sony lens (thanks Jos Roost)
Aug. 15, 2019 - Version 11.62
Added a number of new Canon, Pentax, Sony and Sigma lenses (thanks LibRaw)
Removed some extraneous verbose warnings when geotagging
Removed Minolta LensType value for a non-existent lens (thanks LibRaw)
Patched problem writing some simple qualified XMP values
Patched to avoid writing files in Windows with Unicode surrogate characters
in their name unless the -overwrite_original_in_place option is used
Fixed an incorrect Pentax LensType (thanks LibRaw)
Fixed family 2 group names of some XMP-exifEX and XMP Composite tags
Aug. 7, 2019 - Version 11.61
Added a new FujiFilm CropMode (thanks LibRaw)
Added a few new proprietary CustomRendered values (thanks Jeffrey Friedl)
Added a new Nikon LensID and fixed a Canon LensType (thanks LibRaw)
Added a new CanonModelID
Decode more Sony DSC-RX100M7 tags (thanks Jos Roost)
Write standard EXIF to PNG even if non-standard EXIF already exists
Changed a Minolta/Sony LensType (thanks LibRaw)
Changed Composite GPS reference direction tags to be derived from only the
XMP-exif GPS coordinate tags (and not other XMP GPS coordinates)
Reverted a PNG Validation check that was removed from 11.60
Patched to avoid problems overriding new values when writing thumbnail and
preview images
July 30, 2019 - Version 11.60
Added a few new Sigma LensType values (thanks LibRaw)
Updated Sony makernote decoding for the DSC-RX100M7 (thanks Jos Roost)
Various internal improvements to PNG reader/writer
Fixed bug in RIFF decoder that could cause an "undefined subroutine" error
(thanks Hayo Baan)
Fixed problem writing some QuickTime tags if the PREFERRED levels were
changed via the config file
Install Changes:
Properly erase all temporary files after validation tests
July 25, 2019 - Version 11.59
Added a new SonyModelID (thanks LibRaw)
Changed block delete to allow subsequent writing of tags from the same group
(like a group delete)
Minor changes to warnings and verbose output when writing PNG images
Fixed potential runtime warning on an error rewriting XMP in a PNG image
July 25, 2019 - Version 11.58
Added a number of new Canon and Sony LensType values (thanks LibRaw)
Decode NikonMeteringMode for the D500
Decode LensID for Nikon Z lenses
Extract RawThermalImage from Parrot Bebop-Pro Thermal images
Validate PNG CRC values when writing or using the Validate option
Improved Russian translation (thanks Andrei Korzhyts)
Improved identification of some Tamron lenses for Canon cameras
Changed name of D810MeteringMode tag to NikonMeteringMode
Patched writing of XMP in PNG images to always come before IDAT, and warn if
XMP comes after IDAT when reading
Fixed problem replacing multiple lang-alt default-language structure
elements in lists of XMP structures (behaviour for other languages still not
ideal)
API Changes:
Removed PNGEarlyXMP option
Fixed problem introduced in 11.54 which caused Options('UserParam') to
return undef
Internal Changes:
A block delete of EXIF, XMP, IPTC, etc now sets the group delete flag
July 19, 2019 - Version 11.57
Improved decoding of some tags for the Sony ILCE-7RM4 (thanks Jos Roost)
Minor change to a Sony lens name
Fixed format of a number of 8-bit integer QuickTime tags when writing
Fixed problem replacing multiple structure elements in lists of XMP
structures
July 18, 2019 - Version 11.56
Added support for the Sony ILCE-7RM4 (thanks Jos Roost)
Added a new SonyModelID (thanks LibRaw)
Added a few new Sony/Minolta LensType values (thanks LibRaw and Jos Roost)
Decode some new Nikon and Motorola tags (thanks Neal Krawetz)
Decode a couple more ColorData tags for some Canon models
Extract PreviewImage from DNG files which don't have a .DNG extension
Extract Huawei APP7 maker notes with the Unknown (-u) option
Internal change in LensID logic for Sony E-type lenses
July 12, 2019 - Version 11.55
Added write support for XMP-crs:Texture and XMP-drs tags
Added a number of new Panasonic NoiseReduction values
Added definition for a new Kodak tag (thanks LibRaw)
Added a couple of new Panasonic AFAreaMode values (thanks Daniel Beichl)
Added a couple of new Sony/Minolta LensTypes (thanks Jos Roost and LibRaw)
Added a new CanonModelID
Decode HEVCConfiguration record from HEIC images
Decode a new Panasonic tag
Decode a new QuickTime tag
Changed internal handling of Composite tag ID's to include module name
Removed "FE" designation from Samyang E-mount lenses
Dropped Validate warning about missing GPSProcessingMethod tag
July 2, 2019 - Version 11.54
Added new Canon and Sony/Minolta LensType values (thanks LibRaw)
Added a number of new Sony/Minolta LensType values (thanks Jos Roost)
Added "Unknown" value for new EXIF CompositeImage tag
Added ability to write GSpherical tags in video track of MOV/MP4 files
Added support for geotagging from GPS/IMU CSV-format files
Improved Russian translation (thanks Alexander)
Improved Validate feature to check ExifVersion/GPSVersionID numbers
Accept unsigned numbers when setting GPSAltitudeRef from a numerical value
Fixed decoding of DepthMapWidth/Height for some Samsung live-focus images
Fixed a couple of incorrect/incomplete CanonModelID values (thanks LibRaw)
Fixed problem identifying some Canon lenses when used on a Sony camera with
a Metabones adapter
API Changes:
Added FilterW option
Enhanced Compact option to improve flexibility and include features of
XMPShorthand option
Removed XMPShorthand option from documentation
June 24, 2019 - Version 11.53 - "Exif 2.32"
Added support for the new tags of the Exif 2.32 specification
Added a new SamsungModelID (thanks LibRaw)
Added warning if extracting ZIP file contents without the -a option
Added ability to extract EmbeddedVideo from the trailer of Android JPEG
images with the ExtractEmbedded option
Decode timed GPS from Cobra Dash Cam AVI videos
Decode a new GoPro tag
Enhanced -struct option to allow extraction of structured Torrent Info
Improved error handling when an unexpected terminator is encountered while
writing a QuickTime-format file
Renamed one of the Nikon Saturation tags to "SaturationAdj"
Removed warning message when writing FujiFilm RAFVersion 0240 and 0261 files
Fixed encoding problem when writing some QuickTime UserData tags with
strings containing special characters
API Changes:
June 17, 2019 - Version 11.52
Added a few new Nikon CropHiSpeed values (thanks Hayo Baan)
Added a new Nikon LensID (thanks Yves)
Fixed problem where reading a large, corrupt AIFF file may could take an
excessively long time
API Changes:
June 13, 2019 - Version 11.51
Decode Canon DistortionCorrection tags
Removed a minor EXIF warning when processing EPS files with a DOS header
Fixed bug which caused an error when rewriting some EPS files multiple times
June 11, 2019 - Version 11.50 (production release)
Added a new Canon LensType and two new Sony LensTypes (thanks LibRaw)
Added tiff_version and rotate_regions config files to the distribution
Added two new QuickTime Keys tags and made some existing Keys unwritable
Improved Composite LensID logic to make better use of EXIF LensModel
Improved logic when writing BinaryData tags to allow multiple interdependent
tags to be written in a single command
Improved -htmldump output to show names of Unknown tags
Allow advanced formatting expressions to access the current tag key ($tag)
Remove escaped nulls from -json string values
Reverted change in ExifTool 11.38 so that Composite GPS reference directions
are generated again even if the EXIF versions of these tags already exist
Fixed an incorrect FlashPix CodePage conversion
June 5, 2019 - Version 11.49
Added inverse print conversion for one of the QuickTime ItemList Genre tags
Avoid creating a few obscure QuickTime UserData tags when writing
Fixed problem where some QuickTime groups were not being created when
writing QuickTime tags without specifying a group
Fixed problem where QuickTime Keys tags could be duplicated when writing an
existing alternate-language tag
Fixed problem were QuickTime Keys alternate-language tags would not be
written when deleting the corresponding default-language tag in the same
command
Fixed some inconsistencies when writing QuickTime tags using the -wm
(WriteMode ) option
Fixed an incorrect Pentax Sigma LensType value
June 1, 2019 - Version 11.48
Added write support for Google GCamera and GCreation XMP tags
Renamed XMP-GDepth "Data" tag to "DepthImage"
Fixed bug where some QuickTime UserData tags could be duplicated when
writing
May 31, 2019 - Version 11.47
Fixed problem which resulted in a warning for one of the CanonVRD tests on
some platforms
May 31, 2019 - Version 11.46 - "CR3 update"
Added ability to write CanonVRD tags in CR3 images
Decode a couple more tags from Canon CR3 images
Enhanced Validate option to check for duplicate QuickTime atoms
Relaxed constraints when writing IPTC date tags to allow use of separators
other than a colon
Fixed CR3 writing to update CTBO table with any changed offsets or sizes
(although this table doesn't seem to be used by any RAW viewer, it may be
used in-camera to improve response time when browsing images)
May 29, 2019 - Version 11.45
CORRUPTION WARNING: Patched problem where Canon DPP would destroy a CR3
image if the file had previously been edited by DPP then Exiftool
(If you have edited any CR3 images with ExifTool that had been previously
edited by DPP, then re-edit with ExifTool 11.45 or later to restructure the
file so DPP doesn't destroy it if used later to edit the file again)
Added ability to create and delete QuickTime Keys tags
Added sample config file (mini0806.config) to generate GPS tags from
subtitle Text in Mini 0806 dashcam videos
Added new Canon and Nikon lenses (thanks LibRaw)
Added a new Olympus CameraType (thanks LibRaw)
Decode CanonVRD tags from CR3 images
Improved handling of QuickTime language tags when writing
Fixed bug introduced in 11.38 which could cause "Use of uninitialized value"
runtime warning when reading XMP GPS tags
Fixed bug where QuickTime tags could be written when another group was
specified
API Changes:
May 21, 2019 - Version 11.44
Added ability to extract XMP as a block from XMP files
Prevent ExifIFD from being deleted from any RAW file type
Fixed problem where some Canon tags couldn't be written in CR3 files
Fixed problem reading QuickTime Keys tags with a space in the tag ID
Fixed incorrect family 1 group when reading some QuickTime Keys tags
May 17, 2019 - Version 11.43 - "Write HEIC and CR3"
Added ability to write/create EXIF and write ICC_Profile in HEIC images
Added ability to write/create EXIF and write MakerNotes in CR3 images
(one might hope/expect EXIF to be stored in the same location for HEIC and
CR3 since they are both based on the QuickTime file format, but in fact they
couldn't be more different, and both are much more complicated than
necessary, which of course follows the seemingly established practice of
intentional obfuscation and zero standardization in video metadata)
Added support for QuickTime ItemList:Author and Keys:DisplayName tags
Prevent MakerNotes from being deleted from any RAW file type
Fixed writing of XMP in HEIC files to conform with the HEIC specification
(obviously, Apple couldn't put this XMP in the same place as any other
QuickTime-based file format, because Apple is, after all, king of "Let's
reinvent the wheel!")
Fixed problem where API WriteMode option wouldn't always prevent groups from
being created when group creation was disabled
May 13, 2019 - Version 11.42
Added ability to edit ThumbnailImage in Canon MOV videos
Improved verbose hex dump for HEIC files
Fixed another "Chunk offset outside movie data" error when writing some HEIC
files
May 9, 2019 - Version 11.41
Added write support and improved language handling for 3GP QuickTime tags
Fixed format problems writing some binary values to QuickTime tags
Fixed some language translations (thanks Herbert Kauer)
May 7, 2019 - Version 11.40
Added a new Canon LensType
Added a new value for EXIF:SceneCaptureType used by some Samsung cameras
Fixed QuickTime writing to preserve existing same-named default-language
tags in other groups when writing a default language tag
May 3, 2019 - Version 11.39 - "Create QuickTime tags"
Added ability to create new QuickTime tags in MOV/MP4 videos
Added two new Canon LensTypes and a new CanonModelID (thanks LibRaw)
Added a few new Sony/Minolta LensType values (thanks Jos Roost)
Added a number of new QuickTime GenreID values
Added range check on date/time values when writing
Decode Canon EOS D60 black levels
Split off some QuickTime tags into different family 1 groups
Fixed "Chunk offset outside movie data" error when writing some HEIC files
Fixed decoding of Pentax AutoBracketing for K-1 and K-5 (github issue #15)
Fixed some QuickTime family 2 group names
Fixed bug introduced in 11.38 that broke extraction of thumbnail images from
Canon MOV videos
Apr. 24, 2019 - Version 11.38
Added Extra JPEGImageLength tag
Added nksc.config to the sample config files
Added a couple more Sony/Minolta LensTypes (thanks Jos Roost)
Added a couple of new Sigma LensType values
Decode a couple more tags from Pittasoft dashcam videos
Decode two new FLIR tags (thanks Corinne Berthier)
Decode a new ERF tag, and fix wrong format for some others (thanks LibRaw)
Improved decoding of Sigma maker notes for some models
Enhanced Composite tag logic to allow a scalar Inhibit entry
Enhanced XMP processing to support readable subdirectories embedded in a tag
Updated some language translations
Patched Composite GPS reference direction tags to prevent them from being
created if these tags already exist
Fixed problem reading some odd PDF files
Apr. 17, 2019 - Version 11.37
Added a new Sony AFAreaMode (thanks Jos Roost)
Decode GPS and other tags from Pittasoft Blackvue dashcam videos
Improved decoding of FujiFilm FlickerReduction
Ignore any garbage before an NMEA sentence when geotagging
Fixed bug which could result in loss of timed GPS metadata when writing MP4
videos
Apr. 15, 2019 - Version 11.36
Added a number of new MacOS tags
Added a new CanonModelID (thanks Laurent Clévy)
Added some new Canon EasyMode and AFAreaMode values
Added two new Canon AspectRatio values (thanks LibRaw)
Decode a new Nikon tag (thanks LibRaw)
Decode some new FujiFilm tags
Updated Sony maker notes for the DSC-RX0M2 (thanks Jos Roost)
Hide the Nikon ShotInfo offset tags
Fixed problem decoding NikonCustom settings for some D810 firmware versions
Fixed typo in a warning message (thanks Hayo Baan)
Apr. 9, 2019 - Version 11.35
Added print conversion for MDItemFSLabel
Added a new Sony LensType (thanks Jos Roost)
Added an additional -validate check for PNG images
Decode a few more FujiFilm RAF tags (thanks LibRaw)
Decode a couple more QuickTime tags
Allow "Copy0" to be specified as a group name for the copy number of the
primary tag when extracting information
Improved the Composite ImageSize tag to report the RawImageCroppedSize for
FujiFilm RAF images
Changed Composite ImageSize tag to use a space instead of "x" as a separator
when the -n option is used
Fixed problem writing user-defined PhaseOne SensorCalibration tags
Fixed problem where a List-type tag may not be split into individual items
with the -sep option when using the advanced-formatting "@" feature
API Changes:
Patched a potential pitfall if calling code used both the old List and
ListSep options at the same time as the new ListJoin option
Apr. 4, 2019 - Version 11.34
Added a couple of new Canon LensType values (thanks LibRaw for one)
Added a new CanonExposureMode value (thanks Arnold van Oostrum)
Added support for FujiFilm X-H1 Ver2.01 RAF images
Decode a couple of new Sony tags (thanks LibRaw)
Improved decoding of Sony Shutter tag (thanks Jos Roost)
Improved identification of some Sony lenses (thanks Jos Roost)
Improved parsing of streamed metadata from TomTom Bandit videos
Improved warning for truncated QuickTime atom
Accept wider range of formats when writing QuickTime:GPSCoordinates
API Changes:
Changed SetFileName() 'Link' option name to 'HardLink' (but still allow
'Link' for backward compatibility)
Mar. 28, 2019 - Version 11.33
Added write support for HEIC/HEIF files
Added new write-only SymLink tag for creating symbolic links
Made EXIF GDALMetadata and GDALNoData writable
Enhanced writing capabilities for MOV/MP4 videos
Enhanced -validate option to add more IPTC checks
Updated decoding of Sony ILCE-9 maker notes for firmware version 5.00
(thanks Jos Roost)
Fixed problem reading streamed metadata from some TomTom Bandit videos
API Changes:
Added SymLink option to SetFileName()
Mar. 14, 2019 - Version 11.32
Added a new Nikon LensID (thanks Kenneth Cochran)
Added a couple of new QuickTime HandlerType values
Decode streamed metadata from DuDuBell M1 and VSYS M6L dashcam videos
Attempt to improve Nikon lens identification
API Changes:
Added new single-argument version of ShiftTime()
Mar. 7, 2019 - Version 11.31
Added read support for FITS images
Another try at removing spaces from some DICOM values (github issues #10/12)
Mar. 6, 2019 - Version 11.30 (production release)
Added a new Sony/Minolta LensType (thanks Jos Roost)
Decode streaming metadata from TomTom Bandit Action Cam MP4 videos
Decode Reconyx HF2 PRO maker notes
Decode ColorData for some new Canon models (thanks LibRaw)
Enhanced -geotag feature to set AmbientTemperature if available
Remove non-significant spaces from some DICOM values (github issues #10/12)
Fixed possible "'x' outside of string" error when reading corrupted EXIF
Fixed incorrect write group for GeoTIFF tags added in version 11.24
Feb. 28, 2019 - Version 11.29
Added support for Ricoh GR III maker notes
Added a new Canon LensType (thanks Claude Jolicoeur)
Added a new XMP-crs tag (github issue #8)
Enhanced -csv option to output base64-encoded binary data when combined with
-b or when the -charset option is used and the text has invalid characters
(github issue #11)
Remove trailing space from even-length DICOM values (github issue #9)
Patched to avoid "Hexadecimal number > 0xffffffff non-portable" warning
(github issue #6)
Fixed meta charset attribute in -htmlDump output
Feb. 21, 2019 - Version 11.28
Added support for reading INSV video and decode streaming GPS
Added a new Pentax LensType (thanks Louis Granboulan)
Added a new FujiFilm ImageStabilization value
Allow exiftool to be run via a symbolic link on Mac/Linux
Reverted INDD patch of version 11.27 (ie. raise error again on incorrectly
terminated INDD object list)
Changed handling of temporary documentation file in Windows version
Feb. 14, 2019 - Version 11.27
Added support for more XMP-dji-drone tags
Added new Olympus CameraType and LensType values (thanks LibRaw)
Added a new Canon LensType (thanks LibRaw)
Added a new CanonModelID
Decode yet another type of GPS from DashCam videos
Allow FileName to be written when only case is changed on case-insensitive
filesystems
Improved identification of some iWork file types
Recognize the LRV file extension
Changed Windows version to use the parent folder of PAR_GLOBAL_TEMP for the
temporary documentation file
Don't raise an error if an INDD object list is terminated by spaces instead
of nulls
Fixed some problems with new -htmldump IFD highlighting feature
Fixed bug introduced in 11.24 with "-o -.EXT" feature
Jan. 21, 2019 - Version 11.26
Added a new Nikon LensID (thanks LibRaw)
Decode more tags for the Sony ICLE-6400 (thanks Jos Roost and LibRaw)
Enhanced -htmldump feature to highlight IFD when mousing over IFD offset
Jan. 15, 2019 - Version 11.25
Added a new Sony/Minolta LensType (thanks LibRaw)
Added a new Nikon LensID
Decode Leica D-Lux7 maker notes
Decode more Nikon AF tags for newer models
Decode Samsung Type2 maker notes with lower case Make
Decode another Sony tag (thanks Jos Roost)
Improved decoding of Nikon LensType
Improved time shift feature to fix some incorrectly formatted date/time
values
Renamed some Sony ImageCount tags to ShutterCount (thanks Jos Roost)
Fixed problem reading back metadata written to some odd PDF files
Jan. 8, 2019 - Version 11.24
Compatibility Notice: Changed the meaning of '-' and '+' modifiers for %C
formatting code (does not affect lower-case %c code)
Decode a number of new Nikon tags (thanks Michael Tapes for samples)
Added new Olympus FlashType and FlashModel values (thanks Per)
Added a new Canon LensType
Added a new Nikon LensID
Made more GeoTIFF tags writable
Handle XMP rdf:value when reading
Improved warning when trying to read a file with a zero-length name
Fixed decoding of PictureControl tags for Nikon Z-7
Fixed problem writing date/time values with " DST" designator at end of
date/time string
Fixed problem in Windows which could cause ExifTool to abort due to a
Win32::FindFile error if a file name contained surrogate Unicode characters
Dec. 21, 2018 - Version 11.23
Recognize DWG and DWF files
Minor improvement to some -validate warnings
Tolerate leading UTF-8 byte order mark (BOM) at start of JSON files
Fixed problem recognizing some streaming camm metadata in QuickTime videos
Dec. 13, 2018 - Version 11.22
Added read support for PC Paintbrush (PCX) files
Added two new Sony/Minolta LensTypes (thanks Jos Roost and LibRaw)
Decode LensData tags for some newer Nikon models
Decode ColorData for the Canon EOS R (thanks LibRaw)
Recognize DCX files
Dec. 7, 2018 - Version 11.21
Added a new Sony/Minolta LensType (thanks Jos Roost)
Added a new Olympus FlashModel (thanks Michael Meissner)
Improved decoding of FujiFilm InternalSerialNumber (thanks LibRaw)
Minor improvements to decoding of GPS from some dashcam videos
Made XMP-getty:Personality a List-type tag
Made it an error to use the -o option or write FileName or Directory tags
when using the TestName dry-run feature
Fixed problem using -E with other character sets when writing
Nov. 20, 2018 - Version 11.20
Added a new Panasonic WhiteBalance value
Added a new Nikon LensID (thanks LibRaw)
Decode streaming GPS from MOV videos for another dashcam model
Improved -E option to support character sets other than UTF-8
Nov. 14, 2018 - Version 11.19
Added -fast4 option
Enhanced -if option to allow arbitrary Perl expressions instead of just
logic expressions
API Changes:
Nov. 12, 2018 - Version 11.18
Decode a new Nikon tag (thanks Richard Butler)
Decode a new FujiFilm tag
Updated decoding of Sony maker notes for newer models (thanks Jos Roost)
Enhanced -if option to allow fast processing pass to evaluate the condition
Improved warning for unknown JPEG APP segment
Nov. 4, 2018 - Version 11.17
Added a new Canon LensType (thanks Norbert Wasser)
Added a new Sony/Minolta LensType and a new SonyModelID (thanks LibRaw)
Decode GPS from Garmin Dashcam videos
Changed type of J2C files from a JPEG 2000 image to a JPEG 2000 codestream
Oct. 26, 2018 - Version 11.16
Decode FLIR GPS information
Decode 3D image from RED Hydrogen smartphone
Minor improvements to decoding of new FujiFilm tags
Fixed problem where writing Shortcut tags with the -E option would double
unescape the HTML entities
Oct. 25, 2018 - Version 11.15
Added a couple of new Canon LensType values (thanks LibRaw and Andrew Shieh)
Added a new Nikon LensID
Added definitions for a few more VCard tags
Added a new FujiFilm ShutterType value
Decode some new FujiFilm tags (thanks Richard Butler)
Store XMP GPS coordinates with two extra digits of precision and trim
trailing zeros
Improved technique for handling rounding errors in times and GPS seconds
Removed "Undersized IFD0 StripByteCounts" minor warning when writing ORF
files since this is a "feature" of most Olympus models
Warn about undefined EXIF values with -validate option
Changed the way Mask-ed values are decoded (do bit shift automatically)
Changed FujiFilm HighISONoiseReduction tag to just "NoiseReduction", and
avoid extracting historic NoiseReduction tag if value is "n/a"
Fixed potential problem reading GeoTiff tags with multiple SHORT values
API Changes:
Oct. 16, 2018 - Version 11.14
Added more TIFF Compression values
Added more AIFF CompressionType values
Added more Nikon NEFCompression values (thanks LibRaw)
Added a new Canon RecordMode
Decode some new Canon custom functions
Patched "Invalid VignettingCorrUnknown2 data" warning for EOS R CR3 images
Fixed bug were any argument beginning with "-progress" on the command line
was interpreted as the -progress option
Oct. 9, 2018 - Version 11.13
Decode GPS from NextBase 512G dashcam MOV videos (different than 512GW)
Added a new Canon LensType (thanks LibRaw)
Minor improvements to verbose dump of streaming GPS metadata
Reverted change of version 10.71 which resulted in Windows not recognizing
PNG CreationTime as written by ExifTool (added this feature to the API
StrictDate option instead)
Improved decoding of Nikon CropHiSpeed (thanks LibRaw)
Improved -fast option to reduce memory usage when reading JPG, PNG,
QuickTime-based and RIFF-based files via a sequential stream
Fixed DOF calculation to use ApproximateFocusDistance if available
API Changes:
Oct. 2, 2018 - Version 11.12
Added a new Sony/Minolta LensType (thanks LibRaw and Jos Roost)
Added a new Nikon LensID
Decode a few new Sony SRF2 tags (thanks LibRaw)
Decode GPS from NextBase 512GW dashcam MOV videos
Validate MS-DOC FIB before extracting contained tags
Fixed bug extracting GPSSpeed for some dashcam models
Sept. 27, 2018 - Version 11.11 (production release)
Added ARQ to the list of supported file types
Added support for GIMP XCF version 4 and later
Added a new QuickTime HandlerType value
Added read support for Apple AAE files
Added a new CanonModelID and some new Canon LensType values (thanks LibRaw)
Added a number of new Nikon LensID values (thanks Robert Rottmerhusen)
Added a new Sony/Minolta LensType (thanks LibRaw)
Decode more Sony IDC tags (thanks Jos Roost)
Decode some new Panasonic tags (thanks Klaus Homeister)
Decode more tags from Nikon MOV videos
Decode a new Nikon tag (thanks LibRaw)
Decode a large number of new Kodak IFD tags (thanks Jim McGarvey)
Decode streaming GPS from videos of more dashcam and drone models
Decode more tags from Microsoft Word DOC files
Updated arg_files/iptcCore.args for IPTC Extension version 1.4
Patched to read corrupted MakN data written by buggy Adobe Camera Raw
Downgraded "Undersized StripByteCounts" error for some RAW file types
Fixed incorrect decoding of embedded GPS in Rexing V1P dashcam videos
Fixed incorrect format for DNGPrivateData
Fixed potential error when deleting maker notes from some images
Fixed problem decoding Apple PLIST information from some files
Fixed bug in Windows with CR/LF sequences in list values of the -X output
Fixed some inconsistencies in detecting file name conflicts when writing the
TestName tag
Aug. 17, 2018 - Version 11.10
Added support for Canon 1DX firmware 2.1.0
Added a new Canon LensType (thanks LibRaw)
Added a new Nikon LensID (thanks LibRaw)
Added a new CanonModelID
Decode more tags for newer Sony DSC models (thanks Jos Roost)
Decode some new SonyIDC tags (thanks Jos Roost)
Decode a number of new Panasonic tags (thanks Klaus Homeister)
Improved validation of XMP namespaces
Changed "File not found" messages to "Error: File not found"
Fixed problem editing tags in Canon DR4 directory
Aug. 13, 2018 - Version 11.09
Added new Pentax and Canon LensType values
Decode Google Camera Motion metadata from MP4 videos
Decode more PanasonicRaw tags (thanks Klaus Homeister)
Removed warning when multiple Word document LastSavedBy tags exist and the
Duplicates option wasn't enabled (added Note in tag name docs instead)
Aug. 1, 2018 - Version 11.08
Decode more tags from Microsoft Word documents, including LastSavedBy
Decode image file characteristics from Windows EXE files
Decode more PanasonicRaw tags (thanks Klaus Homeister)
Changed names of new Samsung trailer tags
Fixed potential problems converting C-style escaped strings
Fixed new "#[CSTR]" feature to work with -stay_open option
July 27, 2018 - Version 11.07
Added "#[CSTR]" feature to -@ argfile
Added some new Sony LensType values (thanks Jos Roost)
Decode more tags from Samsung trailer
Decode an undocumented DNG tag
Decode some new Panasonic tags (thanks Klaus Homeister)
Improved/fixed a few Validate warnings
Made MakerNote "Bad SubDirectory start" warnings minor
Fixed NoDups() function to work with special characters as list separators
July 6, 2018 - Version 11.06
Fixed "undefined value" bug when reading ImageSourceData from a JPEG file
July 5, 2018 - Version 11.05
Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
Fixed out-of-memory problem when writing some large TIFF images in Windows
July 4, 2018 - Version 11.04
Added a check on TIFF image data size when writing or using Validate option
Added a few new Sony lenses (thanks LibRaw)
Added a new Nikon LensType
Improved validation of XMP with Validate option
Drop PhaseOne tags larger than 8 kB when copying PhaseOne maker notes to
another file
Fixed out-of-memory problem when reading some large TIFF images in Windows
June 21, 2018 - Version 11.03
Added support for new Exif 2.31 for XMP tags
Added support for another FujiFilm X-T1 firmware version
Decode more Panasonic tags (thanks Klaus Homeister)
June 13, 2018 - Version 11.02
Added support for a different format of Apple iWorks files
Added undocumented API FixCorruptedMOV option to allow fixing MOV videos
with multiple 'mdat' atoms which were corrupted by ExifTool
Decode more QuickTime tags
Decode more PanasonicRaw tags (thanks Klaus Homeister)
Improved decoding of makernotes in ARW images from Hasselblad cameras
(thanks LibRaw)
Fixed some problems writing multi-segment EXIF in JPEG images
June 11, 2018 - Version 11.01 (production release)
Added a new ProfileCMMType (thanks Neal Krawetz)
Added a Validate warning about non-standard EXIF or XMP in PNG images
Added a new Canon LensType
Decode a couple more PanasonicRaw tags (thanks Klaus Homeister)
Patched to avoid adding tags to QuickTime videos with multiple 'mdat' atoms
--> avoids potential corruption of these videos!
June 7, 2018 - Version 11.00 (production release)
Added read support for WTV and DVR-MS videos
Added print conversions for some ASF date/time tags
Added a new SonyModelID (thanks LibRaw)
Decode a new PanasonicRaw tag (thanks Klaus Homeister)
Decode some new Sony RX100 VI tags (thanks LibRaw and Jos Roost)
Made Padding and OffsetSchema tags "unsafe" so they aren't copied by default
May 29, 2018 - Version 10.99
Decode layer information from Photoshop ImageSourceData in TIFF images
Updated to the IPTC video metadata 1.2 specification
Patched DateFmt() utility function to apply GlobalTimeShift if used
Improved error message when trying to write a file with a wrong extension
Fixed unnecessary warning when setting FileCreateDate in Windows
May 22, 2018 - Version 10.98
Added additional Validate checks for JPEG thumbnail tags
Added a new Canon LensType (thanks LibRaw)
Decode a number of new Nikon ColorBalance tags (thanks LibRaw)
Disable extraction of Nikon D850 PhotoShootingMenuBank from NEF images
(apparently not valid in this type of file)
Fixed problem with writable user-defined Composite tags introduced in 10.16
Fixed unnecessary Validate warning about missing GPSVersionID
Fixed incorrect "wrong IFD" Validate warnings in CR3 images
May 17, 2018 - Version 10.97 - "Multi-segment EXIF"
Added read/write support for multi-segment EXIF in JPEG images
Added a number of new Canon LensType values (thanks LibRaw)
Added support for Panasonic DC-FT7 makernotes and metadata in MP4 videos
Decode a number of new Nikon WB tags (thanks LibRaw)
Improved warning message when attempting to write to an invalid tag name
Enhanced Validate feature to perform more tests on TIFF and JPEG images
[The Validate feature is no longer considered experimental]
May 9, 2018 - Version 10.96
Added a new Sony LensType (thanks Jos Roost)
Added a few new Panasonic lenses (thanks LibRaw)
Added Composite tags for GPSDestLatitudeRef and GPSDestLongitudeRef
Decode maker notes from Kodak PixPro AZ901
Extract Preview images from iWork files
Improved identification of Apple iWork files
Fixed arg_files to handle GPS destination reference directions
May 4, 2018 - Version 10.95
Added new Nikon LensID's (thanks Warren Hatch, LibRaw and Jami Bradley)
Added a new Sony LensType (thanks Jos Roost)
Decode a new Samsung tag (thanks LibRaw)
Decode Photoshop Lr16 layer information
Decode more Leica tags (thanks LibRaw)
Updated DarwinCore tags to current specification
Improved validation of JPEG files
Disabled writing of buggy Samsung EK-GN120 SRW files
Fixed conversion for Nikon D850 ExposureDelayMode (thanks Jami Bradley)
Fixed "x outside string" error when reading a truncated zip file
Fixed "uninitialized value" error when writing a corrupted JPEG image
Apr. 19, 2018 - Version 10.94
Added read/write support for Canon CRM files
Added a new Sony LensType (thanks Jos Roost)
Added a new CanonModelID
Decode a new Samsung tag (thanks LibRaw)
Fixed AIColorModel conversion
Apr. 13, 2018 - Version 10.93
Added a new Canon Quality value (thanks Norbert Wasser)
Added a new Pentax Quality value (thanks LibRaw)
Decode some new Sony ARW tags (thanks Jos Roost)
Decode some AI-specific tags from PDF and PostScript files
Decode a new QuickTime tag
Enhanced -geotag option to support NMEA from GLONASS and other systems
Fixed bug decoding seconds of ZIP file timestamps (thanks Lars Wallenborn)
Apr. 19, 2018 - Version 10.92
Decode GPS from videos of more camera models
Tolerate white space before header in PDF files
Apr. 9, 2018 - Version 10.91
Added read/write support for MacOS FileCreateDate (writing this is the same
as MDItemFSCreationDate, but reading uses a different mechanism which
doesn't have the delayed-update issue of MDItemFSCreationDate)
Added ability to write MacOS MDItemUserTags (requires "tag" utility)
Decode a new Sony tag (thanks LibRaw)
Properly un-escape quotes in extracted MacOS MDItem values
Fixed another subtle order-of-operations anomaly
API Changes:
Enhanced GetValue() to accept a tag name with group prefix(es)
Apr. 5, 2018 - Version 10.90
Improved decoding of Sony PictureProfile (thanks Jos Roost)
Fixed problem introduced in 10.61 with order of command-line operations when
mixing copied values with assigned values
Apr. 2, 2018 - Version 10.89
Added ability to rotate MP4/MOV videos by writing Rotation angle
Added two new Sony PictureProfile values (thanks Albert Shan)
Decode more Nikon tags
Updated some values of the QuickTime MediaType tag
Mar. 27, 2018 - Version 10.88
Added example config file (dji.config) to generate Composite GPS and other
tags from Text metadata embedded in DJI drone videos
Added a new PentaxModelID
Documented new advanced-formatting "@" feature which has existed since
version 10.53 but not fully functional until 10.87
Decode a new Sony tag (thanks LibRaw)
User-defined Composite tags now show up in the -list output
Improved speed for generating Composite SubDoc tags with -ee option
Fixed problem creating writable UserDefined Composite tags
Fixed an incorrect PRISM tag name
Mar. 20, 2018 - Version 10.87
Added a new FujiFilm ShutterType value (thanks Albert Shan)
Decode more timed metadata from CR3 images
Decode Samsung DualShot depth map
Decode a new Canon tag
Improved decoding of some Canon color information (thanks LibRaw)
Fixed print conversion of ID3v2 Genre values with multiple genres
Mar. 15, 2018 - Version 10.86
Decode timed GPS and accelerometer data from BikeBro AVI videos
Decode a new Sony tag and add a new value to another tag (thanks Jos Roost)
Decode GPSAltitude from some videos with the -ee option
Decode some new tags from Kodak PixPro 4KVR360 JPEG images and MP4 videos
Decode GPS information from CR3 images
Fixed unnecessary warnings when Validate option used on CR3 images
Mar. 14, 2018 - Version 10.85
Decode GPSTrack from MOV videos of more dashcam models
Decode a few new CanonVRD tags for DPP 4.8.20
Decode a new Sony tag (thanks Jos Roost)
Decode a few more Canon tags (thanks LibRaw)
Improved processing speed when using the -ee option on some video files
Fixed incorrect names for a couple of CanonVRD HSL tags
Fixed problem where UTF-8 validation missed some invalid sequences
Fixed bug introduced in 10.84 with GPSPosition when -n option is used
Mar. 12, 2018 - Version 10.84
Decode GPS from MOV videos of more dashcam models with -ee option
Decode a new Sony tag (thanks Jos Roost)
Convert GPS speeds extracted from MOV videos with the -ee option to km/h
Avoid converting empty GPS coordinates to 0.000000
Fixed some bugs extracting Novatek GPS from MP4 videos
Mar. 7, 2018 - Version 10.83
Added read support for Sketch design files
Added Light LRI files to the list of recognized file types
Added a new Canon LensType (thanks LibRaw)
Decode a couple of new Sony tags (thanks Jos Roost)
Extract JpgFromRaw image from CR3 images
Improved warning message when attempting to write a tag in a specific group
that isn't writable
Changed group name of JSON tags from "File" to "JSON"
Fixed some incorrect offsets in -v3 output for CR3 images
Mar. 1, 2018 - Version 10.82
Added support for Canon's new CR3 raw file format
Added a few new CanonModelID/SonyModelID values (thanks LibRaw)
Added support for the Sony ILCE-7M3 (thanks Jos Roost)
Decode timed GPS information from Insta360 MP4 videos with the -ee option
Write XMP before idat in MOV/MP4/CR3 files if possible
Fixed "'x' outside of string" runtime error when reading some Sony images
Fixed problem with some hex dumps going to the console when -v3 was combined
with the -w option
Feb. 26, 2018 - Version 10.81
Added new values for a few Panasonic tags (thanks Bernd-Michael Kemper)
Added a new Canon, Olympus and Sony LensTypes (thanks LibRaw)
Added a new PanasonicRaw Compression type (thanks LibRaw)
Added definitions for a number of new MacOS tags
Decode CameraInfo for Canon 5DmkIII firmware 1.3.5
Removed INX from list of writable files (-listwf option output)
Fixed problem introduced in version 10.16 that could cause a "Can't create"
error when using the -o option to write certain types of files
Fixed problem introduced in version 10.34 resulting in a "Can't delete all
meta information" error when writing .PS files
Feb. 22, 2018 - Version 10.80 (production release)
Added read/write support for Reconyx UltraFire maker notes
Added a new Sony/Minolta lens (thanks Jos Roost)
Decode a new PanasonicRaw tag (thanks LibRaw)
Extract ImageWidth/Height for main image of an HEIC file
Internal changes:
Changed TimeNow() make ExifTool object optional
Feb. 11, 2018 - Version 10.79
Added a new Olympus CameraType (thanks LibRaw)
Added a new XMP-microsoft tag (thanks José Oliver-Didier)
Decode a new GoPro QuickTime tag
Convert nulls IPTC:DocumentHistory to newlines
Removed all null terminators from JSON and PHP output
Fixed writing of GPSDateStamp and GPSTimeStamp to be able to set to "now"
Internal changes:
Changed TimeNow() to require ExifTool object as first argument
Jan. 31, 2018 - Version 10.78
Added a few new values for some Olympus tags (thanks John)
Decode GoPro APP6 metadata in JPEG images and more GoPro MP4 tags
Decode more Red tags , and improved decoding of others
Decode face detection information from timed metadata with the -ee option
Fixed problem writing shorthand XMP containing CDATA sections
Fixed problem copying XMP-acdsee:Snapshots
Fixed decoding of a few Panasonic RAW tags (thanks Klaus Homeister)
Jan. 26, 2018 - Version 10.77
Added read support for Redcode R3D RAW videos
Enhanced -sep option to specify separator and terminator for binary output
Removed null terminator from JSON output of ICC_Profile:CharTarget
Improved error messages to help diagnosing some types of corrupted files
Return an exit status of 2 instead of 1 if all files fail the -if condition
Fixed decoding of QuickTime chapter names
Fixed incorrect MimeType for RMD files
Fixed problem where exit status of 1 was returned when writing with a -if
condition if any of the files failed the condition
Jan. 22, 2018 - Version 10.76
Added ability to write shorthand XMP with the -z option
Added write support for Google XMP GFocus tags
Improved decoding of GoPro timed metadata
Renamed ASF PlayDuration to Duration
Fixed problem where fractional seconds were ignored when geotagging from an
NMEA track log with no date stamps
Fixed runtime warning when reading XMP with an empty structure in a list
API Changes:
Jan. 12, 2018 - Version 10.75
Added another Sony/Minolta lens (thanks Jos Roost)
Decode more QuickTime tags
Decode a number of new tags from GoPro Hero6 MP4 videos
Enhanded "Unknown file type" error to indicate if "File is empty" or "File
header is all binary zeros"
Improved decoding of some Sony tags (thanks Jos Roost)
Improved decoding of QuickTime timed metadata
Marked ArtworkCircaDateCreated as "unsafe" for writing to avoid it being
added when attempting to shift all date/time tags
Fixed bug which could cause runtime error when reading some old Sony maker
notes (thanks Tamas Lovag)
Jan. 8, 2018 - Version 10.74
Added a new Sony/Minolta lens (thanks Jos Roost)
Added print conversion for ICC_Profile DeviceManufacturer and ProfileCreator
Added informational warning when the ExtractEmbedded option may be useful
Improved experimental Validate feature for RAW files
Fixed bug in experimental Validate feature that could cause out-of-memory
error when combined with "-use mwg"
Jan. 5, 2018 - Version 10.73
Added read/write support for GoPro RAW (GPR) files
Added a new Sony/Minolta lens (thanks Sylvain)
Improved conversions for GPS tags extracted from video streams
Jan. 4, 2018 - Version 10.72
Added IF feature to -p option
Decode streamed GPS position and other streamed metadata from MP4 videos
when the -ee option is used
Fixed problem geotagging GPSAltitude from some GPX files
Jan. 2, 2018 - Version 10.71
Decode some more ICC_Profile tags (thanks Eef Vreeland)
Decode MechanicalShutterCount for Nikon D850 (thanks Xavier Jubier)
Convert PNG:CreationTime values to/from standard date format
Fixed problem loading default config file from application directory
Fixed problem reading XMP where a namespace is defined after an attribute
which uses the namespace
Dec. 27, 2017 - Version 10.70
Search application directory for -config file
Improved robustness of JSON import
Enhancements to experimental Validate feature
Fixed bug introduced in 10.69 which could result in hang when writing
multi-segment JPEG metadata
Dec. 18, 2017 - Version 10.69
Added "OK" UserParam for use in -if conditions
Allow writing an empty JPEG Comment
Check for proper location of Photoshop metadata with -validate or -use mwg
Exit status now set to 1 if command was aborted due to invalid arguments
Translate "UTF8" to appropriate escape sequence when writing
IPTC:CodedCharacterSet with the -n option
Improved "Not a valid TIFF" error message to be more specific about the file
type for TIFF-based formats
Fixed problem parsing Honeywell PTNTHPR NMEA sentences from some GPS devices
Dec. 5, 2017 - Version 10.68
Added ability to set tag values and API options to an empty string using
"^=" on the command line
Added a new Sony LensType (thanks Jos Roost)
Added a new Nikon LensID
Decode more tags from some newer Leica models
Decode a new Apple tag
Fixed indeterminate order of extracted XMP structures
Nov. 16, 2017 - Version 10.67
Fixed problem introduced in 10.66 with -execute not returning the command
number in the "{ready}" message when -stay_open was used
API Changes:
Nov. 14, 2017 - Version 10.66
Added a new Canon LensType (thanks Norbert Wasser)
Updated en-ca and en-gb language translations
Minor format change to experimental Validate feature return value
Prevent JFIF from being added to a JPEG containing Adobe APP14
Changed a number of Canon LensType strings to add "USM" to L model names
Patched for compatibility with Time::Piece version 1.29_04 and later, and
improved error handling when writing formatted date/time values
Fixed bug in Composite MWG CreateDate and DateTimeOriginal tags which could
cause existing tags to be hidden when not using the -a option
Fixed problem using '#' suffix not properly fixed in 10.65
Fixed problem decoding Nikon D810 MultiExposure tags
Oct. 31, 2017 - Version 10.65
Added support for DOSLatinUS (cp437) and DOSLatin1 (cp850) character sets
Added Extra ForceWrite tag for forcing metadata in a file to be rewritten
Added write support for RAF images from some newer FujiFilm models
Added a new SonyModelID, Sony LensType and Olympus LensTypes (thanks LibRaw)
Added a new Pentax LensType
Added a new Nikon LensID
Decode more Sony tags for new models (thanks Jos Roost)
Decode Nikon D850 ShotInfo tags and custom settings (thanks Warren Hatch)
Decode Nikon D850 ColorTemperatureAuto (thanks LibRaw)
Decode Photoshop LayerModifyDates and LayerIDs
Improved decoding of Nikon D5/D500/D810 ShotInfo tags
Allow advanced formatting expressions to return a list reference
Fixed problem in Composite:GPSAltitude when derived from an "undef" altitude
Fixed bug which could result in runtime warning when excluding some tags
from being extracted
Oct. 17, 2017 - Version 10.64
Added a new Nikon LensID
Added a new SonyModelID
Added a new CanonModelID (thanks LibRaw)
Added some new non-standard CustomRendered values
Decode FrameRate from FLIR SEQ files (thanks Sebastian Häni)
Enhanced shift feature to be able to shift some not-so-simple numerical
values (eg. GPSLatitude) with -TAG+=VALUE syntax
Fixed problem with possible malformed UTF-8 when writing IPTC values that
require truncation
Fixed incorrect Writable type for XMP-GSpherical:TimeStamp
Fixed incorrect family 2 group name for Nikon HDRInfo tags
Oct. 4, 2017 - Version 10.63
Added a number of new Canon LensTypes (thanks Norbert Wasser for some)
Added a new CanonModelID
Added a new Olympus CameraType
Decode MD5Signature in FLAC StreamInfo (thanks Tim Eliseo)
Improved decoding of HEIC/HEIF metadata
Removed useless write support for QuickTime date/time tags in HEIC/HEIF
images
Fixed "Incorrect XMP stream length" problem when writing some INDD files
Sept. 28, 2017 - Version 10.62
Added preliminary support for HEIC/HEIF images
Added support for Google depthmap metadata (XMP-GDepth)
Added some new Sony/Minolta lenses (thanks LibRaw and Jos Roost)
Added a new CanonModelID (thanks Norbert Wasser)
Added a new Nikon LensID (thanks Michael Tapes)
Decode a new Sony tag (thanks Jos Roost)
Decode some new Nikon tags (thanks Warren Hatch)
Decode maker notes from Leica TL2
Enhanced ID3 -v2 output to show frame flags
Fixed problem decoding Nikon D810 camera tilt angles
Fixed problem where SphericalVideoXML metadata was deleted when writing XMP
to a QuickTime-format file containing this information
Aug. 18, 2017 - Version 10.61
Added a new Canon LensType (thanks LibRaw)
Added a number of new Sigma, Nikon and Sony lenses (thanks Jos Roost)
Added a new Nikon LensID (thanks Yang You)
Decode a number of new Sony tags (thanks Jos Roost)
Decode Panasonic FocusDistance (thanks David Ellsworth)
Updated to the IPTC video metadata 1.1 specification
Restored the ability to delete JpgFromRaw from RAW images (broken in 10.38)
Fixed problem decoding maker notes from Pentax K-70 AVI videos
Fixed problem conditionally replacing a tag if the value to be deleted was
taken from another tag while the new value was assigned directly
July 21, 2017 - Version 10.60
Added two new Sony/Minolta LensTypes (thanks Jos Roost)
Added a new Pentax LensType (thanks Dieter Pearcey)
Added new Composite UniquePathPoints tag to photoshop_paths.config
Extract raw-data JFIF/JFXX thumbnails as ThumbnailTIFF
Improved Sony LensSpec conversion
Updated German translations (thanks Herbert Kauer)
Set family 1 group name of JFXX ThumbnailImage to JFXX instead of JFIF
Fixed problem with %C no longer incrementing properly
July 7, 2017 - Version 10.59
Added a new Canon LensType (thanks LibRaw)
Added a new Nikon LensID
Added "wrong extension" warning to experimental Validate feature
Decode Pentax maker notes in Q-S1 AVI videos
Updated iptc2exif.args and exif2iptc.args to support new EXIF OffsetTime
tags (thanks Herb)
Patched potential problem with "Use of uninitialized value $pos" error when
importing malformed JSON data
Patched to avoid runtime warning due to invalid Nikon ShutterCount value
Raise an error if -b is used with the -csv option
Changed PNG exIf chunk name to eXIf
Fixed bug introduced in 10.26 which could cause hang when %C is used in an
output file name
Fixed MWG:DateTimeOriginal and MWG:CreateDate to return XMP when EXIF and
IPTC don't exist
June 29, 2017 - Version 10.58
Added read support for RIFF-format MBWF/RF64 files
Added write support for dji-drone XMP tags
Added a new Canon LensType (thanks Steve Bates)
Added a few new Sony/Minolta LensType values (thanks Jos Roost)
Added a couple of new CanonModelID values (thanks LibRaw and Norbert Wasser)
Decode some new FujiFilm tags (thanks Chris Schucker)
Enhanced FileSize print conversion to show in "GB" for large files
Fixed "outside of string in unpack" errors when reading some corrupted
EXE/ICC files
Fixed problem extracting GIF MIDISong metadata
June 20, 2017 - Version 10.57
Added a new Canon LensType (thanks Norbert Wasser)
Added write support for PNG Collection tag
Added a few new CanonModelID values
Added some new Pentax ShakeReduction values
Removed ability to create PNG zxIf chunks
Documented -progress:%b feature (added in 10.26)
No longer report FileType, FileTypeExtension or MIMEType for JPEG/TIFF
images with an unknown header
Relaxed case requirement for "SourceFile" header in CSV and JSON import
Fixed decoding of Pentax ExposureCompensation for newer Ricoh models
Fixed some incorrect "Wrong IFD" messages with experimental Validate feature
Fixed a couple of Sony/Minolta lens names (thanks Jos Roost)
Fixed "Error reading PreviewImage" warning for some Sony models
June 6, 2017 - Version 10.56
Removed ordering constraints between Geotag/Geosync and Geotime assignments
on the command line
Removed debugging print statement left in photoshop_paths.config
June 5, 2017 - Version 10.55 (production release)
Added support for GIF multimedia extensions
Added a couple of new Sony/Minolta lenses (thanks Chris)
Added a new Nikon LensID (thanks Jakob Dettner)
Added new Composite TotalPathPoints tag to photoshop_paths.config
Decode a number of new Sony tags and updated some others (thanks Jos Roost)
Decode a new Pentax tag and fixed decoding of another (thanks Andras
Salamon)
Updated iptcCore.args for new IPTC specification
Changed description of a couple of AVI Model tags to match EXIF
Patched tests to avoid failures with Perl 5.25.11 due to missing "." in @INC
Fixed an incorrect warning from the experimental Validate feature
May 26, 2017 - Version 10.54
Added support for Google XMP GImage and GAudio tags
Added a new Olympus CameraType (thanks LibRaw)
Added a two new Sony lenses and decode more ILCE-9 tags (thanks Jos Roost)
Added new values to some Pentax tags (thanks Andras Salamon)
Added a new Canon LensType
Added an additional checks to the experimental Validate feature
Improved user-defined FileTypes feature to provide more flexibility
Enhanced -ext option to allow specific files extensions to be processed
along with supported files
API Changes:
May 17, 2017 - Version 10.53
Added support for "MeSa" Photoshop IRB resource
Made XMP-GSpherical tags writable
Improved German translations (thanks Jobi)
May 12, 2017 - Version 10.52
Added some new values to a number of FujiFilm tags and changed some others
(thanks Albert Shan)
Decode a number of new Sony tags for the ILCE-9 (thanks Jos Roost)
Made SonyISO writable
Changed behaviour of advanced formatting expression for Shortcut tags so it
now applies to the combined value rather than individual constituent values
Minor changes to some Pentax print conversions
Fixed problem using new NoDups utility with Shortcut tags
May 2, 2017 - Version 10.51
Added "NoDups" utility function for use in advanced formatting expressions
Added a new Pentax LensType (thanks JohnK)
Added some new Pentax DriveMode values (thanks Andras Salamon)
Enhanced -ver option to report Perl include directories with -v2
Improved warning message when advanced formatting expression returns undef
Minor change to a few FujiFilm print conversion strings (thanks Albert Shan)
Changed behaviour when interpolating Shortcut tags in a string (the values
are now separated according to the -sep option setting instead of simply
being concatenated)
Patched to allow file times to be set on systems where futimes is not
available
Apr. 20, 2017 - Version 10.50 (production release)
Decode a new Pentax tag (thanks Andras Salamon)
Improved decoding of Olympus DriveMode (thanks Herbert Kauer)
Improved handling of errors from utime when setting file times
Fixed potential hang problem when reading corrupted QuickTime metadata
Fixed problem deleting duplicate EXIF tags when writing other tags at the
same time
Apr. 10, 2017 - Version 10.49
Added "DateFmt" utility function for use in advanced formatting expressions
Added a new Sony/Minolta LensType (thanks LibRaw)
Decode a new Panasonic tag
Fixed problem decoding Sony VariableLowPassFilter values (thanks Jos Roost)
Fixed problem setting XMP:About when creating new XMP in a file
Fixed an incorrect Pentax DriveMode value (thanks Andras Salamon)
API Changes
Allow access to the advanced formatting expression via a new ExifTool
"FMT_EXPR" member variable
Apr. 3, 2017 - Version 10.48
Added some new FujiFlashMode values (thanks Albert Shan)
Added a new Sony LensType (thanks Jos Roost)
Added a new Canon LensType (thanks LibRaw)
Added a new CanonModelID and minor changes to some others (thanks Dmitry)
Decode two Pentax tags and added a number of new values for other Pentax
tags (thanks Andras Salamon)
Decode a new Sony tag (thanks Jos Roost)
Improvements to the experimental Validate feature
Fixed problem which could cause hang when reading bad PPT documents
Mar. 20, 2017 - Version 10.47
Added read support for JSON-format files
Added two new Sony/Minolta lenses (thanks Jos Roost)
Added a number of new Pentax tag values
Decode a new Canon CR2 tag (thanks Ed Hannon)
Decode WB information for Canon 800D (thanks LibRaw)
Improved config_files/photoshop_paths.config to indicate start of paths
Attempt to validate new file names in Windows before renaming images
Experimental Validate feature no longer warns about Windows XP tags
Fixed problem extracting layer information from very large PSD/PSB files
Mar. 8, 2017 - Version 10.46
Moved Mac System tags from the Extra table into a new MacOS group and added
ability to extract them by requesting the MacOS group
Updated QuickTime GenreID list (thanks François Bonzon)
Fixed "Invalid xref" problem when reading some PDF files
Fixed error in Minolta lens list (thanks Jos Roost)
Fixed minor problem with -U option generating Unknown tags for some known
bytes in variable-sized strings
API Changes:
Enhanced RequestTags option to allow groups to be requested
Mar. 2, 2017 - Version 10.45
Added ability to write a number of Mac OS X system tags (including the file
creation date!)
Added ability to extract OS X extended attributes ("XAttr" tags)
API Changes:
Feb. 24, 2017 - Version 10.44
Added a few new CanonModelID values and a new Canon LensType
Added two new Nikon lenses (thanks Rolf Probst)
Added a few new Sony/Minolta lenses (thanks Jos Roost)
Added two new Sony MeteringMode values (thanks Jos Roost)
Improved verbose dump of Photoshop Layer information
Patched to allow "FileName encoding not specified" warnings to be avoided by
setting -charset filename=""
Fixed problem in photoshop_paths.config printing some paths
Feb. 16, 2017 - Version 10.43
Restrict writing of EXIF:FlashEnergy to a single value as per EXIF spec
Reverted format change of Sony ImageCount tag
Changed PNG new eXIF/zXIF chunk names to "exIf" and "zxIf" until the
proposed chunks are accepted (of course, while maintaining backward
compatibility for reading/updating the other chunks)
Lowered priority of XMP-pdf:Keywords so it doesn't take precedence over
PDF:Keywords when the Duplicates option is not used
Improved config_files/convert_regions.config to handle the case where the
RegionInfoMP is missing a Rectangle
Feb. 10, 2017 - Version 10.42
Added ability to read/write PNG eXIF and zXIF chunks, and made these the
place where new EXIF is created in PNG images (zXIF if the -z option is
used, or eXIF otherwise)
Added ability to copy Photoshop OriginPathInfo with photoshop_paths.config
Made FileUserID and FileGroupID writable
Changed format for a Sony ImageCount tag
Improvements to experimental Validate feature
Fixed incorrect XMP swf namespace URI
Fixed problem using new -p section feature when combined with -w or -ee
Fixed formatting problem in -listx output when -lang option was used
Fixed problem where UserComment wasn't removed if found in IFD0 when writing
it to the correct IFD
Feb. 1, 2017 - Version 10.41
Added an experimental metadata validation feature (invoked either by
requesting the new Extra Validate tag or by setting the API Validate option )
Added support for PSDT file extension
Added age.config to the distribution
Added a new Sony lens (thanks Jos Roost)
Added a new PentaxModelID (thanks Louis Granboulan)
Enhanced -p option to allow files to be grouped in sections
Made makernote offset warning minor
Relaxed parsing of NMEA GGA sentence so comma after the geoid units is now
optional
Patched problem extracting value of an unsafe binary tag with the -b option
when specified using -TAG# instead of -TAG with -n
API Changes:
Added experimental Validate option
Jan. 14, 2017 - Version 10.40 (production release)
Fixed tests that were failing on some platforms
Jan. 13, 2017 - Version 10.39
Added Perl version and Unicode settings to -ver -v output
Added a new Sony LensType2 value
Added a new Canon LensType (thanks Norbert Wasser)
More improvements to sample time_zone.config file (thanks Hayo Baan)
Fixed problem with MWG date/time tags introduced in version 10.34
Fixed problem setting the value of a tag from a binary file when the
PERL_UNICODE environment or the perl -C option is used to force UTF-8
treatment of @ARGV elements
Jan. 5, 2017 - Version 10.38
Added a couple of new XMP-ics tags
Added a new Nikon LensID (thanks Ken Cochran)
Decode a couple more PhaseOne tags
Increased priority of Sony 0x0115 WhiteBalance when reading
Range check QuickTime date/time values when writing
Apply CharsetPhotoshop setting to decoding of Photoshop LayerNames
Improved identification of Nikon NRW images
Minor improvements to verbose dump of FLIR information
Improvements to sample time_zone.config file (thanks Hayo Baan)
Removed trailing null in -b output for GPSDateStamp
Changed "TAG is not supported" warning when writing to "TAG is not defined"
Changed groups of Composite Preview/Thumbnail/JpgFromRaw/etc images to match
the tags from which they are derived
Changed description of Composite Nikon LensSpec tag to match the tag name
Fixed problems reading/writing PreviewImage from some DNG files
Dec. 19, 2016 - Version 10.37
Decode more information from BMP V4 and V5 images
Added a few new FujiFlashMode values (thanks Albert Shan)
Changed -geotime default to use unconverted value of DateTimeOriginal
Changed a couple of Sony Voigtlander LensType strings (thanks Jos Roost)
Warn about invalid tag names used on the command line
Generate default-language version of QuickTime tags even if the same-named
tag already exists in another group
Fixed bug reading some Photoshop layer information
Fixed problems in sample config file time_zone.config (thanks Hayo Baan)
Nov. 24, 2016 - Version 10.36 (production release)
Added 3D Studio MAX files to the list of supported file types
Decode more Sony tags (thanks Jos Roost)
Decode a couple more FlashPix tags
Minor changes to some of the new IPTC Extension tags
Fixed problem reading some FlashPix (Windows Compound Binary Format) files
Nov. 21, 2016 - Version 10.35
Fixed bug in Windows version introduced in 10.32 which could cause ExifTool
to exit with an error if the -lang option was used
Nov. 21, 2016 - Version 10.34
Added support for new IPTC Extension version 1.3 + video metadata XMP tags
Added missing print conversion for PreviewDateTime
Decode a few new FujiFilm tags (thanks Zilvinas Brobliauskas)
Enhanced MWG date/time tags to support new EXIF time offsets
Patched loophole in WriteMode which would allow creation of new metadata
files when creation of new groups was disallowed
Fixed problem where some EXIF date/time tags may not shifted when shifting
all date/time tags with "-time:all-=VAL" for ExifTool version 10.28-10.33 or
when the MWG feature was used
Nov. 11, 2016 - Version 10.33
Windows EXE version is 32-bit again, and packaged with Perl 5.24.0
Fixed encoding problem with EXIF:Copyright when writing MWG tags using an
alternate EXIF charset
Nov. 9, 2016 - Version 10.32
WARNING: The Windows EXE version for this release is 64-bit (and packaged
with Perl 5.22.2 instead of 5.24.0)
Time::Piece may now be used as an alternative to POSIX::strptime for parsing
date/time values when writing, and is included in the Windows package
Added a number of new XMP tags (thanks StarGeek)
Added support for a few new Sony cameras (thanks Jos Roost)
Added new Nikon LensID (thanks Tanel)
Decode a new Nikon tag (thanks Warren Hatch)
Decode FLIF encoding type
Decode a new Samsung tag (thanks Klaus Homeister)
Ignore -filter option for a tag if it returns an undefined value
Oct. 19, 2016 - Version 10.31
Added write support for FLIF images
Added support for animated PNG images
Added a few new SamsungModelID values
Added a new Canon LensType
Added a new Sony/Minolta LensType (thanks Jos Roost)
Decode more Samsung tags (thanks Klaus Homeister and Sreerag Raghavan)
Decode more Nikon tags (thanks Warren Hatch)
Changed "TAG does not exist" warning when writing to "TAG is not supported"
Fixed problem importing information from CSV or JSON databases for files
with special characters in their name
Oct. 13, 2016 - Version 10.30
Added read support for FLIF images
Added a couple of new Minolta/Sony LensType values (thanks Jos Roost)
Added a new SonyModelID (thanks LibRaw and Jos Roost)
Added a new digiKam XMP tag
Decode a new Apple tag (thanks Neal Krawetz)
Decode a few new FujiFilm tags (thanks Chris Schucker)
Decode more Nikon D5 custom settings (thanks Warren Hatch)
Decode a couple more Samsung tags (thanks Klaus Homeister)
Improved decoding of Nikon D500/D5 ShotInfo information
Enhanced -ver option to output system information when -v is added
Minor change to parsing of -@ argfile (comment lines may may no longer have
spaces before the "#")
Patched Jpeg2000 reader to read bad UUID-EXIF boxes
Lowered priority of unknown XMP tags when reading
Fixed problem in new xmp2exif.args date/time arguments introduced in 10.28
Fixed potential "Use of uninitialized value" warning when decoding
compressed PNG iTXt chunk
Oct. 5, 2016 - Version 10.29
Added a couple of new Sony LensType values (thanks LibRaw)
Decode a few new Sony tags
Decode a few new FLIR tags
Decode some new Nikon D5 tags (thanks Warren Hatch)
Decode a new Apple tag
Enhanced -geotag option to allow tagging from KML placemarks with a TimeSpan
Enhanced -d option (and API DateFormat option) to perform inverse date/time
conversion when writing if the POSIX::strptime module is available. If
POSIX::strptime is not available then the behaviour is like older versions
(ie. the date/time is not converted) unless the API StrictDate option is set
in which case a warning is issued and the tag is not written
Sept. 27, 2016 - Version 10.28 - "Exif 2.31"
Added support for new Exif 2.31 tags
Added some new Canon LensType values (thanks Norbert Wasser for one)
Added a new Olympus LensType (thanks LibRaw and Niels Kristian Bech Jensen)
Added a new Sony LensType and SonyModelID (thanks Jos Roost)
Added a new Pentax LensType
Added fotoware.config and bibble.config files to the distribution
Made Composite SubSecDateTimeOriginal, SubSecCreateDate and SubSecModifyDate
tags writable, and expanded to include new Exif 2.31 time zone tags
Fixed problem writing user-defined structured tag elements with a dot (.) in
their tag ID
Sept. 23, 2016 - Version 10.27
Added a new CanonModelID (thanks LibRaw)
Added a new Sony LensType (thanks Jos Roost)
Added a few new NikonLensID's (thanks Yang You and Robert Rottmerhusen)
Added a couple of new Olympus LensType values (thanks LibRaw and Niels
Kristian Bech Jensen)
Added a new Olympus CameraType
Decode some Canon 80D, 750D, 760D and 1200D CameraInfo tags
Changed writing of some ExposureTime and ExposureCompensation tags to allow
the exact numerator and denominator of the stored rational value to be
specified
Fixed Timecode printout in -v3 output for M2TS videos (thanks Ken Neighbors)
Fixed some problems with the new "-progress:TITLE" feature
Fixed problem where "_exiftool_tmp" file could be left around after a failed
write attempt
Fixed potential "isn't numeric" runtime error when reading a PDF file with
the -ee option
Sept. 15, 2016 - Version 10.26
Added read support for GSpherical metadata in MP4 videos
Added a few new XMP-xmpMM tags and a new XMP-crs tag
Added some new Minolta/Sony lenses (thanks Jos Roost)
Added two new CanonModelID's (thanks Norbert Wasser and Laurent Clévy)
Added two new Canon LensType's (thanks Norbert Wasser)
Decode a number of Nikon D610 custom settings (thanks Tor)
Removed a questionable Samsung tag
Marked TestName tag as "unsafe" for writing
Enhanced -progress option with ability to set console window title
Changed behaviour of %C to increment for each processed file as documented
(was incrementing for each output file created)
Patched to recreate XMP in the standard location of PNG images when deleting
certain non-standard XMP as a group and recreating in one step
Fixed runtime warning when writing 0 to MinoltaRaw ISOSetting
Fixed problem writing SRW images from some newer Samsung models
Aug. 3, 2016 - Version 10.25
Added a new Pentax PictureMode (thanks Louis Granboulan)
Added a new Nikon LensID (thanks LibRaw)
Decode a new Samsung tag (thanks LibRaw)
Decode a few more Canon tags (thanks Anton Reiser)
Removed "Avoid" flag for XMP-crs:ColorTemperature
Changed the format of a number of XMP-GPano tags from integer to real
Fixed incorrect tag ID's for some obscure Island Graphics EXIF tags
Fixed decoding of some UTF-8 DNG tags which may be stored in BYTE format
July 27, 2016 - Version 10.24
Added support for DJI Phantom maker notes
Added a few more XMP-crs tags
Added ability to write DNG OpcodeList tags
Added a new Sony/Minolta LensType (thanks Jos Roost)
Added a few new FujiFilm Saturation values
Added a new FujiFlashMode value and fixed an incorrect Italian translation
(thanks Massimo Sanna, ApolloOne)
Decode more Pentax tags (thanks Louis Granboulan)
Changed -config option to search the current directory first for the config
file (patches problem introduced in ExifTool 10.21 for Windows where the
working directory might not be searched when using the -config option)
Changed print conversion of ProcessingTime to show 3 significant digits
Fixed bug decoding PanasonicRaw DistortionInfo in DNG images
July 14, 2016 - Version 10.23
Added read support for Ogg Opus audio files
Added ability to geotag only GPS date/time if no position information is
available by setting Geotag to "DATETIMEONLY" (all caps)
Added "-charset RIFF" option
Added a new Sony LensType (thanks Jos Roost)
Decode a number of new Canon tags (thanks Kai Harrekilde-Petersen)
Changed handling of special characters in RIFF-format files (eg. AVI, WAV)
Changed MIME type of OGG files to audio/ogg (was audio/x-ogg)
Minor change to wording of new Nikon D80 Rotation tag for consistency
API Changes:
July 7, 2016 - Version 10.22
Added read support for BPG images
Minor changes to a few of the new Nikon tags
Fixed problem in Windows version where not all 10.21 updates were included
in the release
June 29, 2016 - Version 10.21
WARNING: The Windows EXE package for this release was built on Windows 10
using Perl 5.24 instead of Windows XP and Perl 5.8 -- please watch for
problems and report anything that you find
Added a new Minolta/Sony LensType (thanks LibRaw)
Added a new element to the XMP Colorant structure
Added a new Pentax lens (thanks Louis Granboulan)
Decode Nikon D5/D500 AF information (thanks Michael Tapes for samples)
Decode a number of new Olympus tags (thanks Daniel Pollock)
Decode a number of new Nikon tags (thanks Warren Hatch)
Decode Pentax K-1 AF points (thanks Louis Granboulan)
Extract a new DPX tag
Patched to avoid writing an empty structure field for an undefined value
June 13, 2016 - Version 10.20 (production release)
Added a few new Sigma LensTypes (thanks LibRaw and Jos Roost)
Added a new Sony LensType (thanks Jos Roost)
Added two new Canon LensTypes (thanks Jos Roost and Norbert Wasser)
Added a couple of new PentaxModelID's (thanks Louis Granboulan for one)
Added a new Pentax LensType (thanks Louis Granboulan)
Added a few new Olympus PictureMode values (thanks Daniel Pollock)
Added a few more XMP tags
Decode a new Nikon video tag (thanks Hayo Baan)
Patched to allow protected binary data tags to be extracted when -b is
combined with -php or -X if the tag is specifically requested
Fixed bug introduced in version 9.96 where extended XMP is ignored if the
MWG module is used
Fixed problem where the MWG module wasn't loaded automatically if there were
MWG tags in the argument to the -p option
Fixed column alignment of alternate-language output (requires
Unicode::LineBreak to be installed)
Fixed problem writing Sigma:LensFocalRange
May 31, 2016 - Version 10.19
Added a few new Sony and Sigma LensType values (thanks Jos Roost)
Decode more Nikon tags (thanks Warren Hatch)
Fixed an incorrect Sigma LensType (thanks LibRaw)
Fixed decoding of D500 custom settings for NEF images (thanks Warren Hatch)
May 27, 2016 - Version 10.18
Added a number of new Sigma LensTypes (thanks LibRaw)
Added a few new Sony/Minolta lenses (thanks Jos Roost)
Added ability to write FilePermissions
Decode NikonCustom settings for the D500 (thanks Warren Hatch)
Decode PLUS MediaSummaryCode values
Use hexadecimal for Sigma LensType values
Changed -fileOrder option to sort numbers in strings numerically
Fixed typo in Samsung lens name
May 16, 2016 - Version 10.17
Added support for Leica X-U (Typ 113) maker notes
Added a new Pentax LensType (thanks Louis Granboulan)
Added a number of new Sony lenses (thanks Jos Roost)
Added a new Canon LensType (thanks Mees Dekker)
Extract TIFF-format thumbnails and previews
Patched to ignore XML entities inside comments
Fixed inconsistent conversion of PreviewColorSpace values
Fixed writing of TargetPrinter tag
Fixed bug introduced in 10.16 which which could cause a runtime warning when
using the -o option and not writing any "real" tags
May 3, 2016 - Version 10.16
Added %D, %F and %E filename format codes
Added a new Minolta lens (thanks Jos Roost)
Decode Photoshop Compression mode
Decode Nikon MultiExposure information for the D5
Updated decoding of Sony tags for ILCA-68 (thanks Jos Roost)
Fixed bug adding back XMP tags after deleting all XMP from MOV/MP4 files
Fixed problem using -o option when reading from stdin (ie. FILE is "-")
Fixed problem where user-defined Composite tags may not always override
pre-defined Composite tags with the same name, and added feature to allow
the user to specify whether they should override existing tags or not
Apr. 20, 2016 - Version 10.15 (production release)
Added .a and .o to the list of supported file types
Added a few new Sony/Minolta lenses (thanks Jos Roost and LibRaw)
Decode more Photoshop tags (thanks Taylor Bangs for some)
Decode more information from static library (.a) files
Decode a few more tags from GoPro MP4 videos (thanks Calvin Hass)
Decode ColorData for Canon EOS 1300D (thanks LibRaw)
Updated Sony decoding for newer models (thanks Jos Roost)
Fixed bug where ScaleFactor35efl could be calculated incorrectly for Canon
images from some models which have had their EXIF rebuilt
Apr. 8, 2016 - Version 10.14
Added read support for ISO 9660 disk images
Added a few new Nikon ISOExpansion values (thanks LibRaw)
Added a few new Olympus LensType values (thanks Niels Kristian Bech Jensen)
Added a couple of new SonyModelID values (thanks LibRaw for one)
Added a new Olympus CameraType
Added config_files/gps2utm.config to the distribution
Decode Canon ColorData for the EOS 80D (thanks LibRaw)
Decode a few new Samsung tags (thanks François)
Decode a new Fuji tag (thanks Frank Markesteijn)
Calculate Duration for APE audio files
Tightened constraints on M2TS file recognition
Improved verbose dump of ID3 information
Changed XMP-acdsee:Snapshots to a Binary data tag
Fixed bug which prevented writing of various Sony FocalLength tags
API Changes:
Fixed bug where FileModifyDate wasn't set properly when WriteInfo() was
called without a destination file name and other "real" tags were
written at the same time
Mar. 12, 2016 - Version 10.13
Added a few new Canon LensType values (thanks Niels Kristian Bech Jensen and
LibRaw)
Added a new CanonModelID
Added a number of new Nikon RetouchHistory modes
Decode a number of new Sony tags (thanks Jos Roost)
Changed a couple of Sigma "| C" lens names for consistency
API Changes:
Fixed bug which could cause the API Filter option to be ignored for some
tags when copying tags with the Composite option set
Mar. 4, 2016 - Version 10.12
Added a new PentaxModelID and SonyModelID (thanks LibRaw)
Added a number of new CanonModelID values (thanks Norbert Wasser for one)
Added a new Olypus LensType (thanks Niels Kristian Bech Jensen)
Added two new Pentax LensType values
Added a few new Nikon LensID values and updated some others
Added a new Canon LensType (thanks Norbert Wasser)
Decode a new Nikon tag
Decode a new CanonCustom tag for the EOS 80D
Improved decoding of SonyRawFileType (thanks Jos Roost and LibRaw)
Changed "Optimised" to "Optimized" in a Photoshop tag value
Fixed warning that could be generated by the Canon FileNumber conversion
Feb. 17, 2016 - Version 10.11
Added a couple of new Olympus CameraType values (thanks LibRaw for one)
Added some new ACDSee XMP tags (thanks Malus)
Added a few more XMP-crs tags
Added a new CanonModelID (thanks Norbert Wasser)
Added a couple of new Sony LensType values (thanks Jos Roost and LibRaw)
Added support for PDF ASCII85Decode filter
Decode a number of new Sony tags (thanks Jos Roost)
Decode a new Canon tag (thanks Juha Iso-Sipilä)
Decode a few more Photoshop tags
Convert MDItem date/time values to local time
Patched to read incorrectly written DJI GPSCoordinates in MOV videos
Jan. 22, 2016 - Version 10.10 (production release)
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added a couple of new Olympus FlashModel values
Added a new Nikon LensID
Added a new Pentax LensType
Decode a number of new Sony tags (thanks Jos Roost)
Decode H264:DateTimeOriginal DST flag, and add " DST" to time string if set
Decode a few more CanonCustom settings
Fixed problem creating user-defined XMP structure elements with names
containing characters which are illegal in tag names
Improved mechanism for generating tags which must be specifically requested
when copying or used in -if or -p expressions
Improved warning in Windows if help documentation file can't be created
Patched Composite:FileNumber to handle case where Canon:FileNumber is 10000
Patched reading FujiFilm RawImageWidth/Height for new X-Pro2 RAF images
Fixed problem reading PDF objects which begin with a comment line
Fixed problem which could result in ExifTool corrupting a PDF file when
writing
API Changes:
Jan. 4, 2016 - Version 10.09
Added ability to extract OS X system metadata ("MDItem" tags)
Added a value conversion for GoogleTrackDuration
Enhanced the -i option to allow full path names to be specified
Fixed a potential runtime error when writing corrupted JPEG images
API Changes:
Dec. 22, 2015 - Version 10.08
Added ability to write empty XMP structures
Added write support for PhaseOne MakerNotes tags in IIQ files
Added a new Nikon LensID (thanks David Püschel)
Decode a new Olympus tag and improved decoding of DriveMode
Minor improvements to HtmlDump of PhaseOne IIQ and PDF files
Patched to allow overwriting of empty XMP written by some PhaseOne cameras
Fixed bug in HtmlDump feature that could cause a "substr outside of string"
error
API Changes:
Changed API QuickTimeUTC option to also enforce proper time zero
Nov. 26, 2015 - Version 10.07
Fixed problem with warnings on some systems about unimplemented functions
for FileGroupID and FileUserID when -p or -if were used
Nov. 26, 2015 - Version 10.06
Added a new Canon LensType (thanks LibRaw)
Added a new Pentax LensType (thanks Louis Granboulan)
Added a couple of new XMP-digiKam tags
Added a new CanonModelID
Added a new ACDSee XMP tag (thanks Malus)
Decode a new Canon tag
Improved a few lens names (thanks Jos Roost)
Patched to remove trailing null when reading improperly written QuickTime
strings
Fixed bug where SystemTags weren't available for use with the -p and -if
options
Nov. 6, 2015 - Version 10.05
Added new Canon and Sony LensType values
Added some new Nikon LensID 's (thanks Robert Rottmerhusen)
Added a new PentaxModelID
Added preliminary support for Motorola maker notes
Changed format of XMP-photoshop :DocumentAncestors to write a simple Bag of
strings rather than structures (since this is what the Adobe software
writes, contrary to their own XMP specification)
Fixed problem where HASH references may be exposed when copying a list of
structures to a non-list-type tag
API Changes:
Added Filter option
Changed GetNewValues method name to GetNewValue (GetNewValues still
works for backward compatibility)
Oct. 28, 2015 - Version 10.04
Oct. 21, 2015 - Version 10.03
Added support for JPEG 2000 extended-length boxes
Added a few new Canon LensType and CanonModelID values
Added a new Nikon LensID (thanks LibRaw)
Added ExifTool version number as a comment in -listx output
Added support for Leica SL (Typ 601) maker notes
Added a new Sony LensType (thanks Jos Roost)
Decode more Sony tags for some new models (thanks Jos Roost)
Decode a new Pentax tag
Patched for invalid makernote entry written by Sony ILCE-7M2 v1.21
Patched problem reading EXE resources with a missing null terminator
Updated Windows distribution package to use latest version of PAR
Sept. 17, 2015 - Version 10.02
Added ability to read PNG chunks after the normal PNG end of file (IEND)
Added ability to delete a PNG trailer (with -trailer:all=)
Added some new Nikon LensID 's (thanks Robert Rottmerhusen and LibRaw)
Added a few new Canon LensType 's (thanks Jos Roost and LibRaw)
Added a new Pentax LensType (thanks Niels Kristian Bech Jensen)
Decode some new PanasonicRaw tags (thanks Andrew)
Decode a new Pentax tag
Enhanced -m option to allow IPTC values which are too short to be written
Sept. 3, 2015 - Version 10.01
Added a new Olympus CameraType
Added a new Canon LensType (thanks Norbert Wasser)
Added a few new QuickTime GenreID values (thanks François Bonzon)
Decode a new Pentax tag
Leica programmers should all be ashamed of the complete shambles of metadata
they have created
Minor change to the name of a Sigma lens for Canon
Improved recognition of Pentax lens adapter
Implemented NoPDFList for -b option of Windows version too
Renamed a few Sony tags and improved decoding of others (thanks Jos Roost)
Renamed a few Pentax tags
Fixed problem importing structured information from -X option output
Fixed round-off errors in value and typo in name of CanonVRD:GammaWhitePoint
Fixed test failures if Encode, POSIX or Time::Local modules are missing
Aug. 18, 2015 - Version 10.00 (production release)
Added a few new CanonModelID 's
Added a few new Nikon LensID 's (thanks Jaap Voets and Robert Rottmerhusen)
Added a new Canon LensType (thanks Jos Roost)
Decode a number of new Sony tags (thanks Jos Roost)
Decode a couple more RIFF tags and extract Unknown RIFF tags
Changed -b option to avoid splitting PDF List-type tag values
API Changes:
July 23, 2015 - Version 9.99
Added support for the Leica Q (Typ 116) maker notes
Added two new SonyModelID 's (thanks Jos Roost for one)
Added two new Sony LensType2 values (thanks Jos Roost)
Added a new Pentax LensType
Extract a number of new File System tags when API SystemTags option is set
Decode a new FujiFilm tag (thanks TonyB)
Decode a number of new Sony tags (thanks Jos Roost)
Disabled writing of XMP to PostScript-format Adobe Illustrator files
SourceFile values in -csv and -json input/output are now converted to/from
filename character set (set by -charset filename option) when
reading/writing
Renamed Flash :FileAttributes to FlashAttributes
Renamed FujiFilm :AFPointSet to AFMode and improved decoding
Fixed problem where a partial command could be executed if the -stay_open
option was used and the command is aborted due to an error in arguments
Fixed problem with OS X installer on El Capitan (now installs in
/usr/local/bin instead of /usr/bin)
API Changes:
June 26, 2015 - Version 9.98
Added read support for DSS and DS2 file formats
Added write support for XMP-mwg-rs :Rotation (seen in XMP from LR6)
Added a new Sigma LensType (thanks Niels Kristian Bech Jensen)
Decode Pentax DiffractionCorrection
Decode Olympus ID3 XOLY frame
Decode a few more Sony tags
Improved reliability of decoding Nikon D810 ShotInfo and custom settings
Changed name of Pentax VignettingCorrection to PeripheralIlluminationCorr
Fixed problem with user parameters in tag name expressions when copying
June 2, 2015 - Version 9.97
Added a new Pentax Quality value
Added a new Panasonic AdvancedSceneMode (thanks Horst Wandres)
Minor improvement to lens identification logic based on XMP information
Changed a few DR4 tag names
Fixed improper scoping of XMP namespace prefixes (so conflicting prefixes
are now properly resolved)
May 20, 2015 - Version 9.96
Added support for CanonVRD version 4 information and DR4 files
Added two new Canon LensType values (thanks Norbert Wasser)
Added two new Olympus LensType values (thanks Niels Kristian Bech Jensen)
Added a new Minolta/Sony LensType and fixed another one (thanks Jos Roost)
Added a new Nikon LensID (thanks John Helour)
Added a few new QuickTime tags
Added a new PentaxModelID and a new Pentax PictureMode
Added a few new XMP-aux tags
Decode a couple more DPX tags
Decode NikonCustom tags for D810 firmware version 1.02
Improved -htmlDump output for extended XMP and some other JPEG segments
Improved a Canon lens name
Documented the -userParam command-line option (which has existed since 9.90)
Changed default behaviour to ignore extended XMP with an incorrect GUID (as
per the XMP specification)
Changed the case of a few tag names for consistency
Patched problem with Sony cameras giving incorrect LensInfo for some third
party lenses, leading to an incorrect LensID by ExifTool (thanks Jos Roost)
Patched problem where GPS minutes or seconds could round up to 60
Fixed picasa_faces.config to rotate regions if necessary for RAW file types
(thanks Stargeek)
API Changes:
May 9, 2015 - Version 9.95
Added a few new Minolta /Sony lenses (thanks Jos Roost)
Added config_files/photoshop_paths.config to the full distribution
Avoid rebuilding maker notes when using -tagsFromFile with -fast2 option
Validate tag names when redirecting (ie. "-DSTTAG<SRCTAG")
May 3, 2015 - Version 9.94
Added Geotag support for Bramor gEO log files
Added support for iCalendar ICS files
Added support for Leica M Monochrom (Type 246) maker notes
Added new "Preview" group for all embedded preview images
Added a new PentaxModelID (thanks Louis Granboulan)
Added a new Canon LensType (thanks Niels Kristian Bech Jensen)
Added tag name to "Invalid EXIF text encoding" warning
Decode ColorData for Canon EOS 5DS and EOS 5DS R (thanks LibRaw)
Changed ListItem option so that it also applies when copying tags
Enhanced FileTypeExtension to return an uppercase extension when the print
conversion is disabled (eg. the -n option)
Fixed incorrect FileTypeExtension for virtual device drivers
Fixed an improperly formatted warning for duplicate PDF entries
Fixed bug creating extended XMP in JPEG images when deleting all XMP and
adding back in the same step
Apr. 25, 2015 - Version 9.93
Added FileTypeExtension tag
Added a few new CanonModelID values
Added a new Olympus CameraType
Added a few new Minolta /Sony lenses (thanks Jos Roost)
Updated arg_files/iptcCore.args for IPTC Extension version 1.2 tags
Improved VCard parsing/decoding
Improved -fast3 file identification logic
Remove "px" string from SVG ImageWidth/Height tags
Changed DOF calculation to use ApproximateFocusDistance
Fixed missing FileType for MOI files
Fixed potential "Internal Error" bug when writing XMP structures
Apr. 11, 2015 - Version 9.92
Added support for PRISM pmi and prm tags , and updated to PRISM 3.0
Added read support for Audible .AA files
Added support for Adobe XMP-creatorAtom tags
Added a couple of new XMP-xmpDM tags
Added a new CanonModelID and a new Ricoh WhiteBalance (thanks LibRaw)
Added a new Olympus CameraType
Added a new Nikon LensID (thanks Jürgen Sahlberg)
Updated to XMP PLUS 1.2.1 specification
Enhanced DOF calculation to use AverageFocusDistance or
FocusDistanceUpper/Lower if available
Patched to tolerate different version numbers in XMP namespace URI's
Apr. 7, 2015 - Version 9.91
Added read support for VCard files
Added support for AAX files
Added --sort option
Added a number of new QuickTime GenreID values (thanks François Bonzon)
Added new Canon, Nikon, Olympus and Samsung lenses (thanks LibRaw and Niels
Kristian Bech Jensen)
Added a new Olympus CameraType
Added a new Sony FlashMode value
Decode a new Apple makernote tag
Decode a number of new QuickTime tags found in Audible audio books
Improved the naming of a FujiFilm tag (thanks LibRaw)
Removed "not yet tested" warning when writing FujiFilm RAF version 0200
Renamed distribution file config_files/ExifTool_config to example.config
Increased maximum metadata atom size for QuickTime files and added warning
if an atom is larger than the limit
Changed writing of filesystem date/time tags to override the -P option
Fixed problem writing FileCreateDate in Windows when the -o option was used
Mar. 14, 2015 - Version 9.90 (production release)
Added config_files/picasa_faces.config to the distribution (thanks StarGeek)
Added a few new Minolta /Sony and Nikon lenses (thanks LibRaw)
Added new Canon and Sigma lenses (thanks Niels Kristian Bech Jensen)
Decode Nikon D810 custom settings (thanks Warren Hatch)
Decode a few new Nikon tags
Fixed superfluous "Open '' failed" warning which could occur in Windows
Fixed problem reading multi-valued Microsoft Xtra tags
Fixed problem on Windows using -overwrite_original_in_place with Unicode
file names
Mar. 7, 2015 - Version 9.89
Added some new Minolta/Sony LensType values (thanks Jos Roost and LibRaw)
Fixed Windows case-sensitivity and sort-order problems when using wildcards
in file names on the command line
API Changes:
Feb. 28, 2015 - Version 9.88
Decode a few more ID3 tags
Improved decoding of some Pentax tags
Extended -list and -listw options to include flattened tags
Patched to recognize ID3v2.3 tags in ID3v2.4 metadata and visa versa
Patched byte ordering problems with Nikon FileInfo tags for the D5500
Fixed bug where other groups were ignored when multiple groups were
specified when writing and one of those groups was a specific EXIF IFD (eg.
-ExifIFD:Time:all= ignored the Time constraint)
Feb. 24, 2015 - Version 9.87
Added a number of new Sigma LensType values (thanks LibRaw)
Fixed bug introduced in the Windows version of 9.85 where "*.*" on the
command line matched "." and "..", causing unexpected files to be processed
Fixed problem extracting some Microsoft tags from MP4/MOV videos
Feb. 22, 2015 - Version 9.86
Added check for valid filename encoding when using wildcards in Windows
Added support for Sigma X3F version 4.1 images
Added a number of new Sigma LensType values (thanks LibRaw and Niels
Kristian Bech Jensen)
Added a new Canon LensType (thanks Michael Tapes)
Added a new Leica LensType (thanks LibRaw)
Added a new Olympus CameraType
Decode a couple more FujiFilm RAF tags (thanks Frank Markesteijn)
Always preserve FileCreateDate when writing on Windows if Win32::API and
Win32API::File are available
Changed names of and properly decode new Olympus Pitch/Roll tags
Changed rounding method for rational values in an attempt to fix failed
tests on FreeBSD 10.1 and Perl 5.20.1 with uselongdouble enabled
Resolved issue with duplicate SamsungModelID values
Feb. 14, 2015 - Version 9.85
Added support for Ricoh WG-M1 maker notes
Added a few new Pentax LensType's (thanks Louis Granboulan)
Decode a couple of new Pentax tags (thanks Louis Granboulan)
Enhanced JSON import so an object with a missing SourceFile has the same
effect as a SourceFile of "*".
Changed MIMEType for executable script files
Patched remaining known problems involving Windows Unicode file names
(creating directories and using wildcards should now work)
Patched long-standing Windows daylight-savings-time bug, and removed the
dependency on Win32API::File::Time (reported file times should now be
correct, but may disagree with the Windows "dir" command)
Fixed decoding of FLIR:PlanckO (thanks Tomas)
Feb. 10, 2015 - Version 9.84
Added a new CanonModelID
Added a new Pentax LensType and PentaxModelID (thanks Louis Granboulan)
Fixed bug introduced in 9.83 that broke the -P option on Windows
Feb. 7, 2015 - Version 9.83
Added support for new IPTC Extension version 1.2 XMP tags
Added support for Leica X (Typ 113) maker notes
Added read support for ChartTIFF tags
Added a few new Canon LensType values (thanks Norbert Wasser for two)
Added a few new Nikon LensID's (thanks David Püschel, Robert
Rottmerhusen and Niels)
Added a number of new Olympus ArtFilterEffect values (thanks Phiber)
Added some new Olympus AspectRatio values (thanks Herb)
Added a new PentaxModelID
Added a new Olympus CameraType (thanks LibRaw)
Added new values for various Canon tags
Decode a number of new Sony tags (thanks Jos Roost)
Decode a couple more Nikon ShootingMode bits (thanks Leegong)
Updated to Nov 2014 XMP specification
Patched incompatibility between Windows Unicode update and Perl 5.005
Jan. 15, 2015 - Version 9.82
Added support for Windows Unicode names for input CSV and JSON files
Decode a number of new Sony tags (thanks Jos Roost)
Improved checks and warnings for invalid file name encoding on Windows
Improved Polish translations (thanks Kacper Perschke)
Changed exif2xmp.args and xmp2exif.args files (available in the full
ExifTool distribution) to avoid using non-standard XMP namespaces
Fixed problem setting file times for Windows Unicode file names
Jan. 12, 2015 - Version 9.81
Added Composite:Megapixels tag
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Fixed problem in Windows using Unicode file names with the -o option
Jan. 7, 2015 - Version 9.80
Added a few new Canon and Minolta/Sony LensType values (thanks LibRaw)
Added a few new CanonModelID's
Decode a few new Canon tags
Suppress warning for Canon 7DmkIII VignettingCorrUnknown2 data format
Fixed runtime warning when piping an MOI file to exiftool
Fixed bug in -fileOrder option introduced in version 9.79
Fixed bug using Windows Unicode file names with -tagsFromFile option
Jan. 4, 2015 - Version 9.79 - Windows Unicode file names
Added support for Windows Unicode file names (but note that support still
isn't complete -- some things like setting FileModifyDate or creating a
directory with a Unicode name still need work)
Added read support for MOI files
Added a few more Canon LensType's (thanks LibRaw and Martin)
Added a new Nikon LensID
Added a couple of new Panasonic ImageQuality values
Decode a new FujiFilm tag and added a new FilmMode value
Allow zero-length group names to be specified (which provides a method to
directly access the 0th copy of a duplicate tag using the empty family 4
group name by specifying "4:TAG")
Fixed invalid Samsung tag name
Fixed writing of XMP:ExposureCompensation with fractional values
API Changes:
Dec. 13, 2014 - Version 9.78
Added a new Nikon LensID and a new Canon LensType (thanks LibRaw)
Decode a new unknown atom in Canon MOV videos
Decode a number of new Sony tags (thanks Jos Roost)
Decode a number of new Samsung tags
Improved MakerNote compatibility when writing by adding the same amount of
padding after the MakerNote IFD as that written by the specific camera model
Changed the DNG BaselineExposureOffset to a signed rational (contrary to the
DNG 1.4 specification, which specifies an unsigned RATIONAL, but obviously
Adobe meant for it to store negative values)
Changed name of new QuickTime Rating tag to RatingPercent
Fixed problem introduced in 9.64 where multiple list values from some tags
in ZIP-based files were extracted as separate tags instead of as a list when
the -struct option was used, and implemented a different patch to just
suppress the structure warnings without changing the 9.63 behaviour
Fixed problem where some EXIF information in MOV videos could be corrupted
when writing
Nov. 28, 2014 - Version 9.77
Added FilePath tag (generated only if specified and Cwd is available)
Added a new Panasonic ShootingMode (thanks Horst Wandres)
Added a new FujiFilm WhiteBalance value
Added a new QuickTime vendor ID
Added a new Pentax RawDevelopmentProcess value
Decode a few new QuickTime tags
Decode some new tags in Kodak SP360 MP4 videos
Fixed bug that could cause a runtime error when parsing a Canon EOS 40D
image which had been edited by Nikon Capture software
Fixed bug which could produce invalid XML in the -X output when -struct was
also used
Nov. 15, 2014 - Version 9.76 (production release)
Added support for the LFR format (same as LFP)
Added support for Samsung models which write 2 values for LensType
Added a new Samsung LensType (thanks Nick Livchits)
Added a few new Nikon LensID's (thanks David Püschel)
Added a new PentaxModelID
Added some new Olympus WhiteBalance2 values (thanks LibRaw)
Added a new EXIF:Compression value
Decode a new FujiFilm tag
Decode a few more private TIFF tags
Improved warning message if "DIR" or "FILE" is used literally on the command
line
Improved "-j -b" output to encode any non-UTF8 values as Base64
Enhanced -fast option (API FastScan option) to allow file processing to be
bypassed entirely
Changed conversions for a couple of Nikon 1 AF tags for consistency
Changed reported FileType for LNK, KEY, KTH, NUMBERS, NMBTEMPLATE and PAGES
files to match extension
Fixed problems adding new XMP and deleting old XMP from MP4 videos
Fixed problem writing FileModifyDate/FileCreateDate when
-overwrite_original_in_place is used
Nov. 2, 2014 - Version 9.75
Added support for FLIR version 101 metadata
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added a new Pentax LensType (thanks Louis Granboulan)
Added a new Samsung LensType
Decode a few more Nikon D4S tags (thanks Warren Hatch)
Decode a few more Sony tags (thanks Jos Roost)
Decode a new FujiFilm tag
Improved formula for calculating Sony:FocusDistance2 (thanks Jos Roost)
Changed XMP parsing to impose standard namespace prefixes, thus avoiding
(some) problems reading the ugly XMP generated by Microsoft products
Fixed decoding of Nikon FileInfo tags for recent DSLR models
Oct. 15, 2014 - Version 9.74
Added a number of new QuickTime GenreID values (thanks François Bonzon)
Added support for some newer Sony cameras (thanks Jos Roost)
Decode more Nikon D4S custom settings (thanks Warren Hatch)
Improved lens identification logic for XMP metadata (thanks Jos Roost)
Fixed typo in Condition for a few D3 NikonCustom tags
Fixed bug which could cause a "Use of uninitialized value $val" runtime
error when reading XML
Oct. 13, 2014 - Version 9.73
Added a new CanonModelID (thanks LibRaw and Niels Kristian Bech Jensen)
Added a few new Canon and Sony lenses (thanks Jos Roost)
Delete unknown PNG TextualData tags when deleting all PNG tags
Decode AF points for Canon PowerShot G1X Mark II
Decode a number of Pentax, Olympus, Panasonic and Sony tags (thanks LibRaw)
Decode a few more Nikon NCTG tags in MOV videos (thanks Stuart Bennett)
Decode Nikon D4S custom settings (thanks Warren Hatch)
Decode some makernote tags in Sony Xperia Z3 images
Make PhotoshopThumbnail and PhotoshopBGRThumbnail writable (but "unsafe")
Changed order of operations so flattened tags always take precedence over
structured tags when writing a mix of both types of tags
Fixed potential bug decoding some Nikon 1 AF points
Sept. 26, 2014 - Version 9.72
Added a few new Pentax ISO values
Added a new CanonModelID and SonyModelID (thanks LibRaw)
Added a new Canon LensType
Decode AF points for some newer Nikon 1 cameras (thanks Chris Reimold for
his help, and Graham Woolf for the samples)
Improved verbose output for recently decoded Samsung trailer
Fixed Samsung trailer writer to properly update offsets in the QDIO block
Sept. 20, 2014 - Version 9.71
Added a couple of mew CanonModelID's (thanks LibRaw)
Added a couple of new Nikon LensID's (thanks Robert Rottmerhusen and LibRaw)
Added minor warning when deleting all PDF metadata (because it isn't really
deleted)
Added a new Samsung LensType
Added a new Sony/Minolta LensType (thanks Marcus Holland-Moritz)
Decode "Sound & Shot" trailer written by some Samsung Galaxy models
Decode a number of new Sony tags including FocusDistance2 (thanks Jos Roost)
Decode a number of new Canon and Kodak tags (thanks LibRaw)
Decode a new EXIF tag
Decode a few new CanonCustom tags
Recognize the JPE file extension
Fixed swapped CanonCustom AEMicroadjustment/FEMicroadjustment tag names
Fixed bug in -listItem option which sometimes prevented it from working
Fixed interference by -sep option when writing structured tags
API Changes:
Sept. 3, 2014 - Version 9.70 (production release)
Added read support for Pentax 645Z makernotes in MOV videos
Added a new Canon LensType (thanks Norbert Wasser)
Added a new SonyModelID (thanks LibRaw)
Added a new Pentax LensType (thanks Dominique Schrekling)
Added a new PentaxModelID
Added a new Olympus CameraType (thanks LibRaw)
Decode a number of new Sony tags and values (thanks Jos Roost)
Decode a new Panasonic tag
Decode another QuickTime tag
Updated Nikon ISOExpansion values for new models (thanks LibRaw)
Improved verbose dump for LFP images
Patched to repair incorrect list types in XMP structures when writing
Patched to avoid MPEG Layer 3 check for files with a "MUS" extension
Fixed incorrect behaviour of -addTagsFromFile when adding list items from
multiple variable-named source files
July 27, 2014 - Version 9.69
Added ability to write PNG PhysicalPixel (PNG-pHYs) tags
Added a few new Panasonic ContrastMode values
Added minor warning when creating EXIF or IPTC in PNG images
Decode a few more Sony tags and values (thanks Jos Roost)
Fixed problem writing Olympus:LensType
API Changes:
Shift.pl now autoloads when ShiftTime() is called
The 3rd argument to ShiftTime() is now optional
July 19, 2014 - Version 9.68
Added read support for Lytro LFP files
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added support for the maker notes of some recent Ricoh/Pentax models
Allow Composite tag to have no Require'd or Desire'd tags
Improved -geotag verbose output
Changed so XMP tags take priority when reading QuickTime-format files
Changed PSD file description to "Photoshop Document"
Fixed problem where -geotag option could fail if -v4 was used
Fixed problem writing SonyDateTime2
July 6, 2014 - Version 9.67
Added support for Sigma X3F version 4.0 files from the DP2 Quattro
Added support for Sony XAVC video files
Added a new Nikon PhaseDetectAF value
Added conversion for Casio EX-ZR300 BestShotMode (thanks Manfred)
Decode more proprietary information from some Panasonic/Leica MP4 videos
Fixed inaccuracies in decoding some SigmaRaw tags from the X3F header
July 1, 2014 - Version 9.66
Added read support for Kodak PixPro S-1 maker notes
Added new Canon, Pentax and Sigma LensTypes (thanks LibRaw for the Canon)
Added support for Sigma DP2 Quattro maker notes
Decode AFMicroAdj for Sony A77M2
Improved decoding of Pentax K-3 AFPointSelected (thanks Dan)
Swap "GPS track start/end" labels in -geotag -v2 output if track is stored
in reverse chronological order
Changed handling of IPTC groups so that standard IPTC always has a family 1
group name of "IPTC", and takes priority over non-standard IPTC when
duplicates are not allowed
Patched to recognize incorrect XMP URI's written by Nikon NX2
Fixed problem with possible duplication of lens names when attempting to
identify lens used by a Nikon camera from a Photoshop-mangled image
Fixed problem parsing some NMEA sentences, and added support for GPZDA
Fixed typo in a CanonCustom value
Fixed bug where standard IPTC may be incorrectly written into a proprietary
PhotoMechanic IPTC-format SoftEdit record
June 20, 2014 - Version 9.65
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added a print conversion for Unknown ICC_Profile MeasurementGeometry
Added LargeTags shortcut
Avoid loading data for some tags with large binary data values if they were
specifically excluded by the command
Improved memory handling when processing CanonVRD information
Patched potential "subscript -1" runtime error when reading EPS files
June 14, 2014 - Version 9.64
Added write-only TestName tag for dry-run tests of file renaming feature
Added a few new Olympus CameraType values
Added a new new Nikon LensID's
Added a new Canon LensType
Patched to avoid structure warnings when copying tags from ZIP-based files
Patched to deal with incorrect byte ordering in FlashPix date/time values
written by some cameras
Fixed problem using advanced formatting feature in a -if condition
Fixed problem parsing Canon VignettingCorr for some newer PowerShot models
API Changes:
Added 'Test' option to SetFileName()
May 31, 2014 - Version 9.63
Added basic read support for EPUB and MOBI electronic books
Added ability to combine -lang option with -listx to extract only one language
Remove leading XML comment from XMP if it exists when writing as a block
Another attempt to patch problem obtaining a consistent "full path" for
source files when importing a CSV database in Windows
May 24, 2014 - Version 9.62
Added message about SourceFile names to -v2 output when importing a database
with -csv= or -json=
Added patch to allow extraction of some incorrectly written FlashPix tags
Extract a couple of new FlashPix tags for some FujiFilm models
Decode a number of new Sony tags (thanks Jos Roost)
Changed -n option for GPSTimeStamp to return nanosecond precision
May 18, 2014 - Version 9.61
Added ability to combine -l with -listf, -listr or -listwf to add
descriptions of the file type
Added a few new Canon LensType values (thanks Norbert Wasser and Mark)
Extract AE metering segments again for the Pentax K-3
Decode a number of new FujiFilm RAF tags (thanks LibRaw)
Decode a number of new Sony tags (thanks Jos Roost)
Changed the case of some AF point values for consistency
Fixed an incorrect Olympus FocusMode value
Fixed problem introduced in 9.60 where a "LensID argument isn't numeric"
warning could occur under some conditions
Fixed quirk where ExifTool could incorrectly report that a file was changed
when conditionally deleting a non-existent tag as a block
May 11, 2014 - Version 9.60 (production release)
Added a few new values for some Pentax tags
Added a new QuickTime Rating value (thanks François Bonzon)
Added a new SonyModelID (thanks LibRaw)
Added a new Canon and a new Pentax LensType
Decode a number of new tags from WebP extended-format files
Decode a couple more Nikon tags
Decode a new Canon 300D tag (thanks LibRaw)
Decode a new Sony tag (thanks Jos Roost)
Updated Sony maker note decoding for ILCA-77M2 (thanks Jos Roost)
Renamed QuickTime ©day atom to ContentCreateDate (was previously named
Year or CreateDate depending on its location)
Changed a number of "Unknown (-1)" values to "n/a" (thanks Herbert Kauer)
Minor change to some German translations (thanks Herbert Kauer)
Patched spec file for building RPM under Redhat 6 (thanks Norbert de Rooy)
Fixed a problem writing 3-character Nikon CountryCode values
Fixed problem when importing CSV files in Windows where an appropriate
SourceFile entry may not be found if the file specification does not match
exactly but the absolute path is the same
May 3, 2014 - Version 9.59
Added support for Leica T maker notes
Added a few new Olympus CameraType values
Added a number of new AppleStoreCountry values (thanks François Bonzon)
Added a print conversion for QuickTime GenreID (thanks François Bonzon)
Added more values for some NikonCapture tags (thanks LibRaw)
Improved decoding for a number of Sony tags (thanks Jos Roost)
Improved decoding of some Olympus tags (thanks Herbert Kauer)
Improved writing of GPSAltitudeRef to recognize any signed number
Patched problem where some QuickTime UTF-8 values were being decoded
incorrectly
Apr. 19, 2014 - Version 9.58
Added verbose warning and HtmlDump flag for out-of-sequence EXIF tag ID's
Improved decoding of NikonCapture WBAdjLighting (thanks LibRaw)
Improved German translations (thanks Herbert Kauer)
Fixed -v3 to report absolute offsets for RIFF and NikonCapture information
Fixed problem in Windows version which caused ExifTool to exit with an error
when importing from a CSV file with a non-existent SourceFile entry
Apr. 12, 2014 - Version 9.57
Added a Composite tag to calculate Duration for AIFF files
Added a couple of new Canon lenses
Added a new value for NikonCapture:WBAdjLighting (thanks LibRaw)
Added a new Olympus CameraType (thanks LibRaw)
Decode a couple more Canon tags
Improved French translations (thanks Alphonse Philippe)
Patched to correctly sort out-of-sequence GPS IFD entries
Fixed possible "uninitialized value" runtime error when reading corrupted
CanonCustom2 information
Fixed unnecessary warning when writing an image with zero-length maker notes
Fixed incorrect family 2 group for XMP-exif:GPSImgDirectionRef
Apr. 5, 2014 - Version 9.56
Added new Canon and Pentax LensType values
Added a couple more Canon ContinuousDrive modes
Added a new Sigma ColorMode
Decode some new QuickTime tags written by the HTC One (M8) in MP4 videos
Decode telemetry information from AR Drone videos
Extract PreviewImage from GoPro JPG files
Improved German translations (thanks Herbert Kauer)
Improved French translations (thanks Alphonse Philippe)
Updated en_ca and en_gb translations
Patched to avoid "excessive count" warning for a 16-bit TransferFunction
Fixed decoding of Canon AEBShotCount for some models
Mar. 29, 2014 - Version 9.55
Added new write-only HardLink tag for creating hard links
Added support for Leica S maker notes
Added support for Nintendo maker notes
Added limited read support for FLIR "AFF" SEQ images
Added a new Pentax LensType (thanks Bruce Rusk)
Added two new NEFCompression values (thanks LibRaw)
Added a few new CanonModelID values
Added a new Sony LensType2 (thanks Jos Roost)
Added some unknown Sony tags possibly related to metering (thanks Jos Roost)
Decode orientation information for Ricoh Theta (thanks Paulo Costa)
Decrypt Nikon ColorBalanceUnknown data for -U and -v2+ options
Updated recognition of Metabones Canon adapters on Sony cameras to support
new adapter firmware versions
Improved verbose messages when reading GPS track logs
Changed writing of EXIF:Copyright to allow newline conversion to be avoided
by disabling print conversion
Fixed an incorrect French translation (thanks Alphonse Philippe)
API Changes:
Fixed problem where Directory tag wasn't written if any "real" tags were
changed when calling WriteInfo()
Mar. 1, 2014 - Version 9.54
Added a new Pentax LensType
Decode a few more FLIR tags
Generate missing default language tags for alternate-language QuickTime tags
without them
Improved identification of some file sub-types based on filename extension
Fixed bug extracting alternate-language QuickTime tags with numerical ID's
when processing multiple files in a single command
Fixed potential problem when using some of the recently added options with
the -stay_open feature
Fixed problem loading a config file with a single quote in the file name
Fixed problem writing a shortcut tag when the target tag has a group name
Fixed problem recognizing HTML files with a leading UTF-8 BOM
Feb. 22, 2014 - Version 9.53 (production release)
Added user-defined file types feature
Added support for a few more XMP-expressionmedia tags
Decode CameraTemperature from a few new Canon models
Decode another Sony tag (thanks Jos Roost)
Recognize the JXR extension
Changed wording of IPTC "Unrecognized data" warning
Patched round-off error problem in seconds of some date/time values
Fixed problem creating EXV files with the -o option
Fixed problem conditionally replacing Extra block-type tags
Feb. 17, 2014 - Version 9.52
Fixed bug introduced in 9.44 which resulted in incorrect maker note offsets
when copying maker notes from DNG images of some Pentax models
Feb. 15, 2014 - Version 9.51
Added a number of new CanonModelID values
Added a new Sony/Minolta LensType (thanks Jos Roost)
Added a new Panasonic BurstMode
Added a new Pentax LensType
Added new ColorSpaceTags shortcut
Decode a number of new PanasonicRaw tags (thanks LibRaw)
Decode ColorData tags for the new Canon EOS 1200D
Improved Sony maker note decoding for some newer models (thanks Jos Roost)
Fixed conversion of XMP:LensID for Pentax lenses on Ricoh-branded cameras
Feb. 8, 2014 - Version 9.50
Added support for Exiv2 EXV metadata files
Added ability to read/write/copy GeoTiff tags as a block
Added ability to combine -b with -j to write base64-encoded binary data in
JSON output format
Added a new Nikon LensID
Added a new Sony/Minolta LensType (thanks Jos Roost)
Added new Extra ProcessingTime tag
Added a new Olympus CameraType
Added header signature to .EXIF files
Decode a new Olympus tag (thanks LibRaw)
Improved conversion of some Canon RecordMode values
Improved decoding of tags for Hasselblad Stellar (thanks Jos Roost)
Fixed -htmlDump offsets for information extracted from some embedded images
Fixed hemisphere problem in Composite GPS tags derived from
QuickTime:LocationInformation
API Changes:
Option names are now case insensitive
Feb. 1, 2014 - Version 9.49
Added new Olympus and Samsung LensType values, and fixed an Olympus lens
name (thanks Niels Kristian Bech Jensen)
Added another Polish tag translation (thanks Kacper Perschke)
Added a new Panasonic ColorEffect value
Decode a new FujiFilm tag (thanks LibRaw)
Adjusted scaling factor for H264 ExposureTime values (thanks Francois)
Jan. 25, 2014 - Version 9.48
Added a new GeoTiff tag
Added a couple of new Canon LensType values
Added a few new XMP DarwinCore tags
Updated Sony MakerNotes for the ILCE-5000 (thanks Jos Roost)
Improved Polish translations (thanks Kacper Perschke)
Fixed problem writing RicohSubdirIFD in GR images
Fixed runtime error when writing PNG image with a TIFF-format EXIF profile
Jan. 18, 2014 - Version 9.47
Added read support for JPEG-HDR APP11 information
Added read support for Media Jukebox APP9 information
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added a new Minolta/Sony LensType and fixed some Tamron lens names (thanks
Jos Roost)
Decode more FLIR tags (thanks Tomas)
Patched for quirk in Kodak PixPro AZ362 maker notes
Jan. 11, 2014 - Version 9.46 (production release)
Added a few Nikon lenses (thanks Niels for two)
Added a few new XMP-xmpDM tags (thanks Mats Peterson)
Added a new Pentax DriveMode (thanks Doug O'Brien)
Added a new Olympus lens (thanks Niels Kristian Bech Jensen)
Decode a number of new QuickTime tags
Decode a few new Canon filter tags
Improved -d option to properly handle time zones with %s and %z
Improved conversions for Panasonic Composite AdvancedSceneMode
Changed a few Tamron lens strings (thanks Niels Kristian Bech Jensen)
Patched to avoid round-off errors in seconds of filesystem time tags
Fixed extraction of CompressorID for some MOV videos
Dec. 21, 2013 - Version 9.45
Added details about movie data offset in MOV verbose dump
Added a new Pentax WhiteBalance value
Added a new Sony/Minolta LensType (thanks Jos Roost)
Decode a new QuickTime tag
Prevent illegal tag names to be generated from user-defined XMP tags
Patched to allow reading some improperly formatted EXIF UserComment values
Fixed problem where reading some large M2TS files could take a loooong time
Dec. 11, 2013 - Version 9.44
Added a new Pentax WhiteBalance value
Added back the K-3 SRResult tag, but make it Unknown and with no print
conversion
Fixed problem copying the maker notes of some recent Pentax models
Dec. 8, 2013 - Version 9.43
Added a new Olympus CameraType
Added new Canon and Pentax LensType values
Added a new Panasonic ShootingMode
Added a new CanonModelID
Decode a number of new Sony Tags (thanks Jos Roost)
Decode a new Pentax tag
Fixed decoding of a few Pentax tags for newer models
Fixed decoding of CameraTemperature for Olympus Stylus 1
Fixed bug when writing QuickTime date/time tags with QuickTimeUTC option set
Dec. 1, 2013 - Version 9.42
Added a new Canon LensType (thanks Norbert Wasser)
Added a new Pentax LensType (thanks Louis Granboulan)
Added a new Sony LensType (thanks Fredrik Agert)
Added a new Nikon LensID (thanks LibRaw)
Added a new Olympus CameraType
Decode a number of new Sony tags (thanks Jos Roost)
Decode a number of new Panasonic tags (thanks Thomas Modes)
Decode a few new Pentax tags (thanks Klaus Homeister and others)
Improved Olympus SensorTemperature calibration (thanks Eric Sibert)
Patched decoding of EXIF:UserComment to tolerate invalid character code
written by Canon Zoombrowser EX 4.5
Patched to allow GPS information to be extracted from incorrectly formatted
EXIF written by Windows Phone OS 7.5 (observed in some HTC and Nokia phones)
Fixed runtime warnings which could occur when -j or -php combined with -f
Nov. 16, 2013 - Version 9.41
Added the ability to use multiple group qualifiers on tag names when writing
and copying (eg. "-QuickTime:Time:All=now")
Added ability to geotag from Google Location Services KML files
Added a new Pentax LensType (thanks Louis Granboulan)
Added a new Canon LensType (thanks David Monro)
Added a new Sony LensType2 (thanks Jos Roost)
Decode a bunch more Nikon, Canon, Sony and FujiFilm WhiteBalance tags
(thanks LibRaw)
Extract information from the new Pentax APP7 segment
Nov. 8, 2013 - Version 9.40 - "Write QuickTime"
Added ability to write XMP and edit date/time tags in QuickTime-format files
(eg. MOV, MP4)
Added -api option to allow API options to be set via the command line
Added ability to specify family 2 group name when writing
Added write support for a number of new XMP tags
Added a new Nikon LensID
Added new Canon and Minolta/Sony LensType values (thanks Jos Roost)
Added a few of the new values defined in the DICOM 2011 specification
Add standard XMP to a PNG image when writing, even if XMP already exists in
another non-standard chunk
Decode a few more Sony tags (thanks Jos Roost)
Decode a few more QuickTime tags
Decode a few more Panasonic tags (thanks Thomas Modes)
Extract EXIF information from WEBP images
Extract a few more unknown tags in Samsung MP4 videos
Extract ProfileName from the PNG iCCP chunk
Improved error message if no matches found when writing to tag(s) specified
by wildcards
Improved XML output so EXIF tags now report a count (if constant, and > 1)
Avoid writing a few XMP-crs tags which have XMP-exifEX equivalents unless
specified explicitly
Patched POD documentation in MIE.pm to remove non-ASCII characters
Fixed bug adding back XMP tags in PDF files after deleting all in the same
command (also made XMP the preferred group when writing PDF files)
Fixed bug extracting some font information from QuickTime videos
Fixed inconsistencies in behaviour when extracting XML as a block from
JPEG2000 images
Fixed problem where FileName was changed when using -srcfile option and
writing only the Directory
API Changes:
Added the PNGEarlyXMP option
Internal Changes:
Changed all "$exifTool" variable names to "$et" throughout -- my
apologies to the diff engines
Oct. 19, 2013 - Version 9.39
Added a new PentaxCameraID and some new LensTypes (thanks Louis Granboulan)
Added a new Nikon LensID
Added a new Panasonic ShutterType
Additions and improvements to Pentax makernote decoding for K-3
Decode a number of new tags including purchase information from MP4 videos
Decode FLIR information acquired by Extech MeterLink meters (thanks Tomas)
Decode more Sony tags (thanks Jos Roost)
Patched to suppress the run-time "No such file or directory" error that has
been seen when using the -csv option on Windows systems
Oct. 7, 2013 - Version 9.38
Added read support for DPX images
Added a new Pentax LensType
Added a few new CanonModelID values
Added a new XMP-apple-fi tag
Decode a few more Canon tags (thanks Tomasz Kawecki)
Decode a few more Sony tags (thanks Jos Roost)
Improved the names of a few Apple tags (thanks Neal Krawetz) and added new
Composite tag
Tolerate NMEA sentences with missing degrees written by some crappy software
Changed Duration conversion to print number of days if more than 24 hours
Sept. 14, 2013 - Version 9.37
Added support for maker notes from Apple iPhone5 iOS 7
Added two more Torrent tags
Added a new Pentax DigitalFilter
Added new Olympus CameraType and LensType values
Decode a couple more Olympus tags
More improvements to Sony decoding (thanks Jos Roost)
Improved decoding of Scalado JPEG APP4 information
Fixed problem where a PreviewImage could be reported in either the File or
Composite group, depending on the details of the command
Sept. 7, 2013 - Version 9.36
Added read support for BitTorrent description files (bencode format)
Added a couple of new Nikon LensID's (thanks Jürgen Sahlberg)
Added support for PNG 8bim raw profile
Added or fixed a few Pentax LensType values (thanks Louis Granboulan)
Added ability to delete DNGAdobeData and DNGPrivateData
Decode more Sony tags and improved decoding of others (thanks Jos Roost)
Decode a number of new FujiFilm tags and fixed 2 incorrect Saturation values
Decode a number of Canon CameraInfo tags for the 70D (thanks Tomasz Kawecki)
Patched to issue minor warning and extract only the first 1000 values from
XMP list-type tags containing more than 1000 items (all values may be
extracted by ignoring this warning with the -m option)
Patched decoding of PNG IPTC raw profile to allow either IIM or IRB data
Flagged ImageSourceData as "unsafe" (avoids excessive memory usage when
copying all tags because this data may be larger than the image itself for
Photoshop TIFF images)
Disabled feature introduced in version 9.14 which allowed multiple tags
(specified by wildcards) to be copied into a single list. This feature had
the unintended side-effect of generating duplicate list items when copying
list-type tags if there were multiple source tags with the same name. If
necessary, -addTagsFromFile may still be used to copy the values of multiple
tags into a single list.
Aug. 17, 2013 - Version 9.35
Added a new Canon LensType (thanks Oliver)
Added two new Olympus CameraType values
Added some new Pentax LensType values (thanks Louis Granboulan)
Added a new RIFF StreamType value
Decode a number of new Sony tags (thanks Jos Roost)
Decode CameraTemperature from more Canon models
Extract thumbnail information from Leica X VARIO MP4 videos
Improved decoding of Pentax LensData (thanks Louis Granboulan)
Patched to avoid a warning for the messed-up Leica M maker notes
Changed a few Pentax Samsung/Schneider lens names for consistency
Changed "Can't delete" message to indicate if the tag is Permanent
Fixed the case of a few tag names (thanks Romain)
July 27, 2013 - Version 9.34
Added support for Ricoh GR maker notes (in MOV videos too)
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added a new Canon LensType (thanks Norbert Wasser)
Added support for Sony DSC-TF1 maker notes (thanks Jos Roost)
Added patch for messed up Leica M (Typ 240) MakerNote trailer
Added a few new CanonModelID's and a few new PentaxModelID's
Added some new XMP-crs tags written by LR5
Added a few new Nikon LensID's
Decode a number of new Ricoh GR tags (thanks Tim Gray)
Recognize the Nikon SB-700 external flash
Updated MWG location tags to conform with the MWG 2.0 specification (but
continue writing legacy IPTC Core location tags)
Removed "[Minor]" designation from "excessive count" warning if count is
greater than 2M
Avoid processing multiple EXIF IFD's if only one should exist
July 13, 2013 - Version 9.33
Added support for EXIF UTF-16 Unicode text (previously treated as UCS-2)
Added support for Leica X Vario maker notes
Added a couple of new SonyModelID values (thanks Jos Roost)
Added a new CanonModelID and a new Olympus CameraType
Added a new Canon LensType
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Decode some new Panasonic tags and added values for others (thanks Thomas)
Improved decoding of Olympus RawDevArtFilter
Improved decoding of some Sony tags for the RX100M2
Changed application to always return an error status when exiting if an
error was encountered when extracting information
June 22, 2013 - Version 9.32
Added support for "Exif 2.3 for XMP" tags
Added a few new Olympus LensTypes (thanks Niels Kristian Bech Jensen)
Added a few new PentaxModelID's
Added two new Samsung LensType values (thanks Pascal de Bruijn)
Decode a new Olympus tag
Fixed problem extracting audio comments from Ricoh G700SE images
Fixed a non-conforming CanonModelID string
June 8, 2013 - Version 9.31
Added a number of new Photoshop tags (but marked as Unknown)
Added a few new values for some Olympus tags
Added conversion for Olympus SensorTemperature
Added two new CanonModelID's
Added support for Reconyx firmware 4.0.0
Decode a number of new QuickTime and FLIR tags in MP4 videos
Decode more Sony tags (thanks Jos Roost)
Decode a new Olympus tag
The API List option may now be used in the config file for the same effect
as -sep when combined with the -X, -j or -php option on the command line
Fixed problem where some QuickTime string values could have terminating NULL
characters, which caused problems when renaming files using these tags
May 25, 2013 - Version 9.30
Added a new Canon LensType
Decode many Canon 700D CameraInfo tags
Also delete null characters with the default advanced formatting filter
Tolerate leading whitespace in HTML files
Fixed decoding of Canon 650D CameraInfo FocalLength
Fixed bug in new advanced formatting feature which gave incorrect
output when used in the -p option for processing multiple files
May 18, 2013 - Version 9.29
Added another H264 Model value (thanks Rob Lewis)
Added support for Canon 5DmkIII firmware version 1.2.1
Added recognition of IBM AVC video files
Added a new CanonModelID
Decode more FLIR tags (thanks Tomas)
Decode H264 MDPM TimeCode
More improvements to Sony LensType decoding (thanks Jos Roost)
Extract information from the ASF Metadata Library in WMV files
Extract ColorBalanceVersion for unknown Nikon ColorBalance information
Updated some ID3 Genre names (thanks Mats Peterson)
Fixed warning when using -p with a string containing a newline
Fixed some incorrect Pentax Q LensType values
Apr. 21, 2013 - Version 9.28
Added the ability to delete unknown JPEG APP segments by segment name
Added a bunch of new ID3 Genre values (thanks Mats Peterson)
Decode a few more Sony tags (thanks Jos Roost)
Decode a few more tricky FLIR tags (thanks Tomas)
Improved Dutch language translation (thanks Peter van der Laan)
Patched to avoid warning in images where the AFMicroAdj data has been
truncated by Canon DPP
Fixed -tagsFromFile and -v so they may now be used when writing via pipes
Fixed writing of Panasonic LensType tags that were broken in the 9.15 update
Fixed incorrect case for list type of XMP DocumentAncestors and TextLayers
API Changes:
Allow a File::RandomAccess reference as an input to WriteInfo()
Apr. 15, 2013 - Version 9.27 (production release)
Fixed "ARRAY ref" runtime error introduced in 9.25 that could occur when
using the -X option
Fixed runtime warning which could occur when conditionally deleting XMP
structure
Apr. 13, 2013 - Version 9.26
Added read support for FLIR FFF and FPF images and decode more FLIR tags
Added some new Pentax LensType's and Nikon LensID's
Added a few new Panasonic ContrastMode values
Decode a number of Canon 6D tags
Allow CanonRaw tags to be written using "CIFF" as a group name
Improved decoding of Canon ColorData information for newer EOS models
Improved decoding of a number of Sony tags (thanks Jos Roost)
Removed index number from duplicate Composite TagID's in XML output
Fixed byte-order problem for a few Nikon D5200 and D7100 tags
Fixed incompatibility with old-style (pre-8.46) XMP user-defined structure
definitions
Apr. 6, 2013 - Version 9.25 (production release)
Added read support for FLIR thermal image metadata in JPEG images
Added write support for DNG version 1.4 images
Added a new Pentax DriveMode value and a new Pentax LensType
Added two new Olympus CameraType values
Added print conversion for XMP Flash tags to provide alternate language
support
Decode a few more Nikon and Pentax tags
Decode more Sony tags (thanks Jos Roost)
Decode more Panasonic tags and changed decoding of others
Enhanced -j and -php options to work with -D, -H and -l
Improved German translations (thanks Herbert Kauer)
Patched decoding of QuickTime date/time tags to accommodate Samsung and Sony
cameras that use an incorrect time zero of 1970 instead of 1904. This patch
will only work for videos produced before 2036, so hopefully Samsung and
Sony will fix this problem at their end before then (care to place a wager?)
Fixed issues when using "-wm cg" and writing metadata as a block
Fixed possible "division by zero" error when reading undefined XMP rational
Mar. 23, 2013 - Version 9.24
Added ability to overwrite plus append output files (-w+!)
Added support for Sigma X3F version 3.0 images
Added a few new values for some Pentax tags
Added a few new CanonModelID's
Decode Nikon D5100 and D5200 custom settings plus a few other Nikon tags
Allow the value for missing tags extracted with the -f option to be
configured via the API MissingTagValue setting (default is still "-")
Improved decoding of Sony LensSpec (again, thanks Jos Roost)
Fixed bug reading QuickTime extended-size atoms
Mar. 10, 2013 - Version 9.23
Added -W (-tagOut) and -Wext (-tagOutExt) options to allow multiple tags
to be extracted to separate output files from a single source file
Added append feature to -w (-w+)
Added ability to extract SoundFile from Ricoh RMETA
Added more SonyModelID and Sony LensType values and improved Sony LensType
decoding (thanks Jos Roost)
Added a new Olympus LensType (thanks Niels Kristian Bech Jensen)
Added another Pentax LensType
Decode more Nikon flash information (thanks Alyda Gilmore for the samples)
Decode Pentax Kelvin white balance tags (thanks Klaus Homeister)
Extract PDF embedded image color space
Improved Spanish translations (thanks Emilio Sancha)
More patches to avoid "APP1 segment too large" errors when copying all tags
from some RAW images
Mar. 2, 2013 - Version 9.22
Fixed problem extracting metadata from encrypted embedded JPEG images in PDF
files and added the ability to extract JPEG 2000 information too
Mar. 2, 2013 - Version 9.21
Added ability to extract embedded images and their metadata from PDF files
Added read support for binary-format PLIST files
Added support for Sigma DP3 Merrill maker notes
Added a few new Sigma LensType values
Added a new FujiFilm PictureMode value
Decode a number of new Pentax tags (thanks Klaus Homeister)
Decode more Sony tags (thanks Jos Roost)
Decode some new Nikon D800 tags (thanks Alyda Gilmore for the samples)
Decode a number of new tags in 3GP videos
Decode Pentax CameraType
Made a few more DNG tags writable (but protected)
Fixed problem reading XREF table of some PDF files
API Changes:
The CombineInfo() routine is now deprecated because it is likely that
nobody ever used it. If anyone actually uses this, please let me know
Feb. 20, 2013 - Version 9.20
NOTICE: This release fixes a problem in the 9.19 Windows version that could
cause ExifTool to crash when writing metadata to some files (it seems that
one of the files in the 9.19 Windows package was corrupted)
Added a new PentaxModelID
Added write support for a few Getty Images XMP tags
Decode Sony AFAreaModeSetting (thanks Jos Roost)
Feb. 20, 2013 - Version 9.19
Added read support for Phase One IIQ maker notes
Added a couple of new Minolta Teleconverter values
Patched problem which could result in runtime warning when extracting
information from a file with an incorrectly formatted PreviewImage pointer
Improved handling of unknown maker notes when writing to reduce the chance
of corruption (fixes problem of corrupted SilverFast maker notes)
Fixed bug in HtmlDump where unused bytes at end of MakerNotes were not shown
if they came at the end of a TIFF-format file
Feb. 16, 2013 - Version 9.18
Decode more AF information for Sony SLT models (thanks Andy Johnson for the
samples)
Recognize CameraInfo and ColorData information from newer Canon 1DX firmware
Organized support files in full Perl distribution into separate directories
Improved German and Spanish translations (thanks Herbert Kauer and Emilio
Sancha)
Fixed inconsistency where a priority tag could be hidden by a same-named tag
in the same group when using the -j or -X option combined with -g or -G
Fixed problem in standard tests that could cause ExifTool test 25 to fail
Feb. 9, 2013 - Version 9.17
Added PLIST and MODD to the list of supported file extensions
Added track name to UserData tags within QuickTime tracks
Added a new Pentax LensType (thanks Pietu Pohjalainen)
Added a new Canon LensType
Decode binary data in PLIST and MODD files
Decode new Canon 1DX CustomFunctions
Issue a minor warning and ignore duplicate PDF Info dictionaries unless the
-m option is used
Improved date/time parsing when writing to allow single-digit fields
Improved decoding/naming of a few Sony tags (thanks Jos Roost)
Improved German translations (thanks Herbert Kauer)
Changed a few PLIST tag names
Fixed decoding of Olympus CameraType for some models
Fixed problem calculating AvgBitrate for some video files
Fixed problem writing Canon:LensSerialNumber
Feb. 2, 2013 - Version 9.16
Added support for DarwinCore XMP tags
Added support for CinemaDNG tags
Added basic support for parsing XML PLIST information, and use this to
extract tags from QuickTime iTunesInfo Data
Added a new Pentax lens (thanks Niels Kristian Bech Jensen)
Added some new Sony E-mount lenses (thanks Jos Roost)
Added a new NEFBitDepth value (thanks Jos Roost)
Added a new CanonModelID
Decode a few more Sony tags (thanks Jos Roost)
Improved decoding of QuickTime iTunesInfo tags
Improved Spanish translations (thanks Emilio Sancha)
Improved handling of errors in Perl expression of new formatting feature
Improved -p option to also handle structures
Changed a number of Sigma lens names for Olympus to conform with official
Sigma model names (thanks Niels Kristian Bech Jensen)
Moved the MWG XMP tags documentation to the MWG page
Patched to allow reading GPX track logs with no version number
Fixed problem reading an ID3 POPM frame with a missing counter
Fixed bug which could cause "uninitialized value" runtime warning when
reading Nikon maker notes with an empty RetouchHistory
API Changes:
Compatibility Notice: The MWG Composite tags are no longer automatically
loaded just by using the MWG module. Image::ExifTool::MWG::Load() must
now be called explicitly to load these tags
Jan. 27, 2013 - Version 9.15
Added advanced formatting feature to -p and -tagsFromFile options
Added -echo3 and -echo4 options
Added a few more Olympus LensType values, removed one, changed some lens
names for consistency (all thanks Niels Kristian Bech Jensen), and use
hexadecimal instead of decimal for numerical LensType values
Added a number of new Sony E-mount lenses
Added a new Tamron lens for Sony (thanks Marcin Krol)
Trim trailing spaces from Panasonic LensType strings
Fixed bug which could cause "Can't call method GetMarkerPointers" runtime
warning when writing certain types of corrupted images
Fixed problem copying PrevewImage from some corrupted files
Fixed problem identifying a Sigma lens for Nikon at some focal lengths
API Changes:
Added AddUserDefinedTags() method
Added formatting feature for tag values in SetNewValuesFromFile()
Jan. 18, 2013 - Version 9.14
Added -wm (-writeMode) option to provide control over tag write/create mode
Added ability to use wildcards in target tag names when writing
Added ability to read/write Jpeg2000 XML tag as a block
Added ability to delete MPF segment (with -MPF:All=)
Added a number of new Olympus lenses (thanks Niels Kristian Bech Jensen)
Added a new Nikon LensID (thanks Robert Rottmerhusen)
Added a number of new Pentax LensType's (thanks Alan Robinson for one)
Added a few new CanonModelID's and Canon LensType's
Decode ID3v2 POPM and OWNE frames
Decode new Canon 6D CustomFunctions
Improved calculation of ScaleFactor35efl for Canon cameras
Changed priority of PDF Info tags so tags from most recent Info dictionary
take precedence (to partially accommodate the questionable Acrobat Pro
incremental update technique)
Changed some verbose warnings when attempting to write "unsafe" tags
Changed behaviour so that "unsafe" tags are not copied for any tag specified
using a wildcard (previously this was the behaviour for a tag name of 'all'
or '*', but not names like 'gps*')
Fixed bug where a Composite tag could sometimes not be generated when the
-struct option was used if the tag was derived from an XMP List-type tag
Fixed problem conditionally deleting GIF Comment and MIE tags
Fixed decoding of RawImageWidth/Height from FujiFilm X-E1 RAF images
API Changes:
Jan. 10, 2013 - Version 9.13 (production release)
Added basic validation of ExifVersion and FlashpixVersion tags when writing
Fixed problem where MPF PreviewImage was lost when editing metadata in JPEG
images from the Nikon D4, D600 or D800
Jan. 2, 2013 - Version 9.12 (production release)
Fixed problem introduced in 9.10 preserving file modification date/time when
some options are used
Jan. 2, 2013 - Version 9.11 (production release)
Improved decoding of some Sony tags
Changed 3 tag names to avoid a leading digit to fix XML validation problem
Fixed bug introduced in 9.04 that could double-encipher some Sony MakerNote
information when writing (affected files are fixed by writing any tag with
ExifTool 9.11)
Dec. 29, 2012 - Version 9.10
Added write support for a few new XMP-crs and XMP-photomech tags
Added a new Samsung LensType (thanks Jaroslav Stepanek)
Added a new Pentax LensType (thanks Helmut Schütz)
Added a new Canon LensType
Decode Sony A99 FocusMode (thanks Michael Tapes for the samples)
Tolerate (but warn about) up to 4 bytes of garbage at start of EXIF segment
Changed -P option to also preserve FileCreateDate on Windows (requires
Win32API::File::Time)
Changed "[minor]" warning messages to capitalize the "M" (ie. "[Minor]") if
processing is affected when the warning is ignored
Patched to avoid problem of slow processing with some corrupted EXIF
Dec. 15, 2012 - Version 9.09
Added a few new Google XMP GPano tags
Added a new Olympus CameraType
Added a couple of new Minolta LensTypes
Added two new Nikon LensID's (thanks David Püschel and Robert
Rottmerhusen)
Decode Nikon D7000 AFPointsUsed and make this tag writable
Decode a new Olympus tag (thanks Christoph Anton Mitterer)
Renamed one of the FujiFilm RAF RawImageWidth/Height pairs to
RawImageFullWidth/Height
Changed -stay_open when combined with -q to flush output after each command
(as already done without -q) (requires IO::Handle)
Fixed problem shifting FileCreateDate when writing other "real" tags in the
same command
Nov. 26, 2012 - Version 9.08
Fixed bug introduced in 9.07 that broke writing of FileModifyDate
Nov. 24, 2012 - Version 9.07
Added ability to read/write FileCreateDate (Windows only)
Added ability to read FileInodeChangeDate (non-Windows only)
Added support for new tags in DNG 1.4 specification
Added support for Google Photosphere GPano XMP tags
Added a couple of new Olympus filter effects
Changed a Panasonic LensType (thanks Olaf Ulrich)
API Changes:
Enhanced SetFileModifyDate() to write FileCreateDate (Windows only)
Nov. 17, 2012 - Version 9.06
Added support for Nikon maker notes in images from any camera make (as
written by Capture NX2)
Added support for FujiFilm X-E1 RAF images
Added a new Olympus CameraType
Added a new PentaxModelID and a new Pentax LensType
Extract FileCreateDate (Windows) and FileInodeChangeDate (other systems)
Fixed bug decoding UTF-16 ID3 synchronized lyrics
Nov. 10, 2012 - Version 9.05
Added ability to read APE metadata from MP3 audio files
Decode ID3 synchronized lyrics/text information
Decode maker notes in Leica V-LUX40 MP4 videos
Decode Sony A99 AFPointSelected (thanks Michael Tapes for the samples)
Improved decoding of some Sony tags (thanks Jos Roost)
API Changes:
Removed GeoNoInterpolate option (just set GeoMaxIntSecs to 0 instead)
Nov. 3, 2012 - Version 9.04 (production release)
Added two new Sony LensType values (thanks Matthias Paul)
Added a few new Canon LensType values
Added a couple of new PentaxModelID's and decode some new K-5 II values
Added support for some new XMP tags written by the Apple iPhone 5
Added a new Olympus CameraType
Decode more Sony tags/values (thanks Jos Roost)
Decode Nikon HDRInfo (thanks Stefan)
Decode some FlashInfo tags for new Nikon models
Decode a few WM ID3 tags (some documentation on these would be nice)
Fixed bug which could cause truncated/garbage ID3v2 strings to be returned
Fixed -globalTimeShift option to also work when copying tags
Fixed decoding of Nikon AFFineTuneAdj for FirmwareVersion 1.10B (thanks
Michael Tapes for the samples for this and the A77)
Fixed problem where a few tags (FileSequence, NewGUID and Now) were not
available for use with the -p option
API Changes:
Added RequestAll and GeoNoInterpolate options
Fixed problem in SetNewValue when setting the Raw value of some tags
Oct. 13, 2012 - Version 9.03
Added new feature to provide control over directory levels in %d strings
Added ability to write OtherImage in NEF images
Added a new Pentax LensType
Added a few new CanonModelID's (thanks Laurent Clévy)
Added a new Nikon LensID (thanks Geert De Soete)
Added a few new Olympus CameraType values
Decode some new CameraInfo tags for the Canon EOS 650D
Decode a number of new Sony tags (thanks Jos Roost)
Improved decoding of some Sigma tags for the DP1/DP2 Merrill
Give priority to EXIF tags over SigmaRaw tags X3F images
Changed Samsung lens names to include "NX" (thanks Jaroslav Stepanek)
Fixed misleading verbose "TAG is not writable" messages when copying
list-type tags
API Changes:
Enhanced GetValue() to allow return of 'Rational' value
Sept. 6, 2012 - Version 9.02
Added a new Nikon LensID (thanks Joseph Heled)
Added a new EXIF SubFileType value used in DNG images
Added write support for Apple Adjustment Settings XMP tags (XMP-aas)
Added a couple of new Samsung LensType values (thanks Jaroslav Stepanek)
Added a couple of new Canon LensType values and a new CanonModelID
Decode a number of new Sony tags (thanks Jos Roost)
Enhanced "-o -" feature to allow output file type to be specified
Extract last file access time as FileAccessDate
Allow tags to be set from files which are zero bytes in size
Made ProfileHueSatMap tags Binary if they are too long
Changed names of some PanasonicRaw DistortionInfo tags
Changed decoding for a Sony ExposureMode value
Fixed hang/crash that could occur when writing to an image with corrupted
Sony MoreInfo data (eg. SLT-A55V JPEG corrupted by GIMP)
Aug. 25, 2012 - Version 9.01 (production release)
Added a couple of new CanonModelID values
Added a couple of new Canon LensType values (thanks Pascal de Bruijn)
Added a new PentaxModelID and a few new Pentax PictureMode values
Decode a new Pentax ISO tag
Improved -listx output for XMP structure tags
Fixed "unexpected end of file" problems with some compressed MIE files
Aug. 18, 2012 - Version 9.00
Added support for PDF encryption V5.6 (new in Adobe Reader X)
Added a few new XMP-cc tags and changed a few others to rdf:resource type
Added a new Sony LensType and values for other Sony tags (thanks Jos Roost)
Added a new Nikon LensID
Added a new Panasonic LensType (thanks Olaf Ulrich)
Added patch to fix simple XMP tags written incorrectly as lang-alt type
Decode some Panasonic RW2 lens distortion correction tags
Decode some WEBP image characteristics from the VP8 bitstream
Decode more Leica MakerNote information
Calculate CurrentIPTCDigest for IPTC in PostScript files
Changed the names of a couple of WBShift tags
Improved parsing of -if expressions to interpret a dash after a tag name as
a minus sign instead of part of the tag name
Patched problem with conditional deletion of an incorrectly null-terminated
JPEG Comment
Fixed hang bug when reading unsupported Microsoft Xtra information in MOV
videos
Aug. 3, 2012 - Version 8.99
Added patch to avoid "Error renaming temporary file" errors in Windows
Decode some new Sony tags and values (thanks Mike Reit and Jos Roost)
Improved Italian translation (thanks Michele Locati)
Improved decoding of H264 ImageStabilization
Changed names of PanasonicRaw ImageWidth/Height tags, and added new
Composite tags to calculate actual size of RW2 images
Fixed "Corrupted Ricoh RMETA data" warning for images from some Ricoh models
Fixed problem writing information to some EPS images
July 28, 2012 - Version 8.98
Added a new Pentax LensType and two new PentaxModelID's
Added a new CanonModelID and a new Olympus CameraType
Added a new Composite Duration tag for Vorbis audio files
Added more elements to Microsoft Regions XMP structure and fixed tag name
documentation for this
Decode a number of new Sony tags (thanks Jos Roost)
Changed name of Minolta BatteryLevel tag to BatteryState
Patched problem with conditional deletion of IPTC string-type tags which are
incorrectly null terminated (eg. written by Picasa 2.0)
Fixed problem copying Canon 5DmkIII MakerNotes from CR2 to JPEG images
Fixed runtime error when writing some images with corrupted EXIF
July 6, 2012 - Version 8.97
Added a new Canon LensType
Added support for GPX attitude information as written by Arduino
Added write support for XMP-expressionmedia:CatalogSets
Made CFARepeatPatternDim and CFAPattern2 writable but protected
Minor improvement to decoding of Sony FaceInfo
Fixed problem reading some GPX track logs
June 30, 2012 - Version 8.96
Added -globalTimeShift option
Added new values for a couple of Nikon tags (thanks Michael Relt)
Added a few new Sony PictureEffect values
Added a new Olympus LensType
Decode a new Sony A100 tag and improved/renamed some others (thanks Igal
Milchtaich)
Changed -restore_original and -delete_original options to scan directories
only for writable file types
Enhanced -srcfile option to allow multiple source files to be specified
Patched possible round-off problem when extracting rational values
Fixed bug which could cause runtime error when reading some HTML files and
improved reliability when extracting HTML "meta" tags
API Changes:
June 16, 2012 - Version 8.95
Added a few new Sony PictureEffect values
Added a new Olympus lens type (thanks Niels Kristian Bech Jensen)
Improved decoding of Canon IntelligentContrast
Improved user-defined lens logic to attempt to choose the best matching
user-defined lens if more than one is possible
June 9, 2012 - Version 8.94
Added ability to read/write IPTC as a block
Added a few Nikon LensID's (thanks Mike Pollock and Robert Rottmerhusen)
Added a new Olympus LensType (thanks Brad Grier)
Added new values for a few Olympus tags
Decode more Sony tags (thanks Jos Roost and Igal Milchtaich)
Decode Canon IntelligentContrast and add a new CanonModelID
Changed names of Canon Sort/LongFocal tags to Min/MaxFocalLength
May 26, 2012 - Version 8.93
Added some new Nikon RetouchHistory values
Added a couple of new Pentax LensType values
Added some new Olympus MagicFilter and LensType values
Added a new CanonModelID
Decode more Sony tags (thanks Jos Roost)
Decode some MakerNote information in Olympus E-M5 MOV videos
Decode a couple more Canon tags
Patched to overcome formatting problems in Samsung NX200 JPEG maker notes
May 12, 2012 - Version 8.92
Added read support for PCD (Kodak Photo CD Image Pac) files
Added Geotag support for Winplus Beacon text-format GPS log files
Added support for Leica X2 MakeNotes
Added NewGUID tag
Decode Panasonic ManometerPressure tag (thanks Christoph Mitterer)
Decode more Sony tags (thanks Jos Roost)
Changed a few Canon-mount Tokina lens model names for consistency
May 5, 2012 - Version 8.91
Added -progress option
Added support for XMP fpv namespace
Added a new Canon EasyMode value and fixed an incorrect one
Added a couple of new Canon LensTypes
Decode a number of new tags for the Canon 1DX and 5DmkIII
Improved the names of a few Sony tags (thanks Jos Roost)
Fixed -sep option to apply to interpolated tag values in a string when
copying
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 accommodate 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:
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
Documented -echo option (has been an undocumented feature since 6.86)
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:
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
June 11, 2011 - Version 8.59
Added new Composite:LensID derived from XMP-aux:LensID
Added new PentaxModelID and CanonModelID values
Added a new Pentax LensType (thanks Artur)
Decode maker notes in Pentax Optio S1 AVI videos
Extract PreviewWMF from DOCX files
Recognize WMF images
Fixed decoding of CanonVRD WBAdjRGBLevels and renamed to WBAdjRGGBLevels
June 2, 2011 - Version 8.58
Decode a number of CameraInfo tags for the Canon EOS 600D and 1100D
Improved speed by a factor of 2 when reading M2TS videos
Fixed memory leak with -stay_open feature when writing
May 26, 2011 - Version 8.57
Added a couple of new Canon LensType values
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added format string to -v2 output for IPTC tags
Added extra logic to avoid misidentifying unknown IFD-style maker notes
Decode custom settings for Nikon D700 and D7000
Fixed problem recognizing NikonCaptureData for ViewNX version 2.1.1
Apr. 16, 2011 - Version 8.56
Added a new Canon LensType (thanks Rodolfo Borges)
Decode EXIF information in FujiFilm HS20EXR MOV videos
Decode NikonCaptureEditVersions when ExtractEmbedded option is used
(previously called NikonCaptureHistory)
Decode another Samsung tag (thanks Tae-Sun Park)
Recognize CaptureOne ".newer" COS files
Reverted JSON output to pre-8.51 behaviour by removing '#' suffix from tag
names when print conversion is disabled on a per-tag basis
Fixed bug introduced in 8.32 interpreting some expressions when copying tags
Apr. 11, 2011 - Version 8.55
Added write support for FujiFilm RAF version 0716 images
Added support for a number of new LR3 XMP tags (thanks Wolfgang Guelcker)
Decode some more Samsung tags (thanks Tae-Sun Park)
Improved handling of incorrectly formatted XMP
Recognize a few alternate PS and EPS file extensions (thanks Jeff Harmon)
Reverted a few Pentax macro lens names (less consistent, but at least they
match the official Pentax names)
Fixed problem reading some XMP custom properties
Fixed minor problem in HtmlDump output for Canon MakerNotes footer
Apr. 2, 2011 - Version 8.54
Added a number of new values for various tags
Added a new Nikon LensID
Decode a number of encrypted Samsung SRW tags (thanks Tae-Sun Park)
Enhanced -s option so allow a number to be specified
Fixed problem reading some Casio EX-Z35 MakerNote values
Mar. 27, 2011 - Version 8.53
Added a new Olympus LensType
Added a new Nikon LensID
Added a new PentaxModelID value
Decode new Pentax MakerNotes format of Optio WG-1 GPS
Decode Casio, Ricoh and Sanyo face detection information (thanks Jeffrey
Friedl and Emilio for samples)
Decode FujiFilm face recognition information (thanks Jeffrey Friedl)
Decode a new FujiFilm tag for GE models
Allow writing GPSLatitudeRef/GPSLongitudeRef with a signed number
Return proper FileType for M4P audio files
Combined Canon FaceDetectFrameWidth/FaceDetectFrameHeight tags into
FaceDetectFrameSize for consistency with other makes
API Changes:
Fixed problem when specifying family 1 group in call to SetNewValue()
when tags were previously extracted with ExtractInfo()
Mar. 20, 2011 - Version 8.52
Added -listr option and mechanism to recognize some unsupported file types
Added read support for VSD (Microsoft Visio Drawing) files
Added a new Pentax LensType and improved consistency of macro lens names
Added another CanonModelID
Calculate Duration for M2TS (AVCHD) videos
Decode a new FujiFilm tag
Recognize .TS extension
Recognize FotoStation IPTC record 240
Attempt to better identify FPX-format MSOffice documents with incorrect file
extensions
Fixed bug applying time shift to Nikon PowerUpTime
API Changes:
Enhanced GetNewValues() to allow group name to be specified
Allow description flag to be set to '0' when calling GetFileType() to
return types of recognized-yet-unsupported files
Mar. 12, 2011 - Version 8.51
Added -csv option for import/export of CSV database files
Added ability to import JSON files
Added read support for APP1 "Ocad" segment
Added a new Nikon LensID (thanks Robert Rottmerhusen)
Decode more Reconyx MakerNotes tags (thanks Robert Hass of Reconyx!)
Report the number of encryption bits in the PDF:Encryption tag value
Allow empty group name when specifying a tag
Improved decoding of Olympus ArtFilter and MagicFilter tags
Improved exception handling to continue with next -execute command after
aborting a command due to a serious error
Fixed problem reading indexed PGF images
Mar. 1, 2011 - Version 8.50 (production release)
Added Composite tags to convert QuickTime GPS information
Added a couple new Sony PMP Orientation values (thanks Mike Battilana)
Added a couple of new Nikon LensID's (thanks Rolando Ruzic)
Added a new Canon LensType (thanks Gerald Kapounek)
Decode new Nikon, Olympus, Pentax and Sony face detection tags (thanks
Jeffrey Friedl)
Decode Ricoh FirmwareRevision tags
Allow GPSLatitudeRef and GPSLongitudeRef to be written with a GPS coordinate
containing a N/S/E/W designator
Removed Canon20D shortcut and changed Canon shortcut
Removed LEGRIA/VIXIA/iVIS from CanonModelID names
Renumbered Canon FacePosition tags to start at Face1Position
Feb. 12, 2011 - Version 8.49
Added a number of new values for various Canon tags
Added a new Pentax LensType
Added ability to write Nikon PowerUpTime tag
Added a number of MachO CPUSubtype's and improved handling of 64-bit flag
Decode ColorData for the Canon EOS 600D and 1100D
Decode a few new Sony tags
Set document number for FlashPix tags extracted from embedded documents
Attempted to patch OS X 10.6 quirk where FileModifyDate may not be preserved
for some files when -P is combined with -overwrite_original_in_place
Feb. 3, 2011 - Version 8.48
Added a new Canon LensType value
Changed order of stored information when rewriting existing IPTC tags (to
make the order of items in list-type tags consistent with XMP when deleting
and adding back values in the same command)
Fixed problems with format of binary data in lists for some output options
Jan. 29, 2011 - Version 8.47
Added -args option
Added read support for PGF (Progressive Graphics File) images
Added write support for Phase One IIQ images
Added ability to write XMP-xmpMM:Pantry
Added print conversions for a number of closed-choice XMP properties
Added some new CanonModelID's
Included new argument files in distribution: pdf2xmp.args and xmp2pdf.args
Avoid copying TIFF trailers containing nothing but zeros when rewriting
Handle binary data in serialized structure output
Moved BMP tags to the File group
Fixed bug reading/writing some IPTC binary data tags
Fixed problem copying XMP:Thumbnails structure
Fixed conversion of MXF:ByteOrder value
Fixed potential "Undefined subroutine ConvertStruct" crash bug
API Changes:
Fixed bug introduced in 8.46 when calling GetValue(xxx,'Raw')
Jan. 22, 2011 - Version 8.46
Simplified definition of user-defined XMP structures: flattened tags are now
automatically generated, and UserDefined::xmpStruct is no longer needed (but
backward compatibility is maintained with the old-style definitions)
Added ability to handle multi-dimensional arrays in structured output
Added a new Canon LensType (thanks Jean-Michel Dubois)
Added some new XMP-xmpMM tags
Enabled writing of a number of XMP-crs tags
Decode Reconyx TriggerMode tag
Relaxed structure validation to allow a structure to be written even if
there were errors with some fields
Patched problem with formatting of very large numbers in JSON (-j) output
Fixed a few problems reading and writing structured information
Fixed bug which could cause hang with some user-defined tag definitions
Jan. 12, 2011 - Version 8.45
Fixed a couple of minor bugs with the new -struct option
Jan. 12, 2011 - Version 8.44 - "Structured XMP"
Added ability to specify XMP structures when writing (yet another Christmas
vacation spent adding a significant new feature to ExifTool)
Added support for new XMP tags in the MWG 2.0 specification
Added read support for DV video files
Added support for Reconyx maker notes
Added option to overwrite existing text output files (-w!)
Added ability to ignore symbolic directory links with "-i SYMLINKS"
Added support for Sony Ericsson XMP cell phone location tags
Added a few new CanonModelID's
Added a new Minolta/Sony LensType (thanks Jean-Michel Dubois)
Added a new Olympus LensType
Added print conversion for all Bitrate tags
Decode a couple new RIFF tags
Decode CameraTemperature for a few new Canon PowerShot models
Improved -struct option to work with all text output formats
Changed behaviour of XMP lang-alt lists to conform to the July 2010
specification (x-default item is no longer mandatory)
Renamed AudioSampleBits tags to AudioBitsPerSample
Renamed XMP-crs:Temperature tag to ColorTemperature
Minor change to behaviour when replacing values in XMP lists: new list
items are now all inserted in place of the first deleted item (previously
new items were inserted one-by-one into the holes left by deleted items)
Fixed bug writing alternate languages for XMP-iptcExt:ArtworkTitle tag
Fixed problem where console echo was disabled when using -k option from a
bash script
Attempted to patch problem of -b option affecting newline sequence for
subsequent -execute commands in Windows
API Changes:
SetNewValue() now accepts structured values (as HASH references or
serialized strings)
Struct option now has 3 settings (undef, 0 and 1)
Dec. 21, 2010 - Version 8.43
Added read support for MXF (Material Exchange Format) files
Added support for GE (General Imaging) maker notes
Added a couple of new Pentax LensType's
Added a couple of new CanonModelID's
Added a few more values to Casio UnknownMode
Recognize 3GPP and 3GP2 file extensions
Improved handling of character encoding errors
Changed Duration format to always include hours for times > 1 minute
Fixed minor quirk in HtmlDump output
Fixed race condition with -stay_open when reading options requiring
additional arguments from the argfile
Dec. 11, 2010 - Version 8.42
Added a couple more Samsung LensType values
Added a few new Canon EasyMode values and a Canon LensType value
Added a new PentaxModelID
Decode some new H264 tags (thanks Dave Nicholson)
Decode JUNK chunk in Pentax RS1000 AVI videos
Flush console output before "{ready}" message when using -stay_open
Improved decoding of some Canon and Pentax tags (thanks Dave Nicholson)
Fixed problem copying makernotes from Nikon NRW image to JPEG
Fixed incorrect decoding of some AEInfo tags for newer Pentax DSLR's
Dec. 3, 2010 - Version 8.41
Added a new PentaxModelID
Added a few new values for some Canon tags
Added some non-standard values to a few XMP-exif tags
Decode a new Ricoh tag and added a LensID
Decode more Pentax K-5 tags and values
Improved decoding of Battery tags for various Pentax DSLR models
Fixed bug where time could be wrong by up to 2 seconds when shifting
multiple date/time values containing fractional seconds
Nov. 21, 2010 - Version 8.40 (production release)
Added -restore_original and -delete_original options
Added new Canon, Pentax and Sony LensType values
Decode more Pentax K-5 tags
Decode a number of new tags in Nikon D7000 MOV videos
Decode FocusDistance tags for the Canon EOS 60D
Decode a few new Panasonic tags
Decode a few maker note tags from Flip Video MP4 files
Extract PDF PageMode and PageLayout tags
Changed family 2 group names for a number of PDF tags
Changed Canon LensType strings for a few lenses with updated models
Patched problem reading GPX files which contain no newlines
Nov. 12, 2010 - Version 8.39
Added read support for RAR archive files
Added warning for non-standard XMP APP1 header in JPEG images
Added a new Canon LensType (thanks Rolando Ruzic)
Decode more Olympus WAV tags
Decode a few more PDF document property tags
Decode a new Canon tag
Extract firmware revision letter with Nikon FirmwareVersion
Improved decoding of some Pentax tags
Changed names of a couple of Pentax tags
Changed name of ASF:FileSize to FileLength to avoid conflict
Fixed problem creating output files on network drives in Windows
Fixed bug where MWG module wasn't loaded automatically when -execute was
used
Nov. 7, 2010 - Version 8.38
Added support for Nikon D3 firmware 2.02
Decode many new Pentax K-5 tags and improved decoding of others
Decode a few more Nikon D3 and D3S settings (thanks Warren Hatch)
Decode some new Olympus WAV tags (thanks Tomasz Kawecki)
Decode a few new Canon DPP 3.9.2 tags
Decode PDF digital signature permission information
Improved recognition of Adobe Illustrator PS-format AI files
Disable writing XMP to Adobe Illustrator version 8 and older EPS files
Oct. 31, 2010 - Version 8.37
Added ability to switch ARGFILE while -stay_open is active
Fixed a couple of bugs with the new -stay_open option
Fixed problem with -E option that caused double-escaping of Composite tags
Oct. 30, 2010 - Version 8.36
Added ability to read/write metadata in Sigma X3F images containing a
JpgFromRaw (eg. all Sigma models except the SD9 and SD10)
Added -stay_open option to avoid startup delay when called from other
applications
Added a new Pentax LensType (thanks Hubert Meier)
Decode a couple of new tags written by Sigma Photo Pro
Changed family 0 group name for SonyIDC tags to "MakerNotes"
Improved Composite:LensID to use LensModel if available when LensType is
"Unknown"
Fixed problem extracting ThumbnailImage from some FujiFilm RAF images
Fixed problem calculating Red/BlueBalance for some newer Nikon models
Oct. 23, 2010 - Version 8.35 - "PDF Encryption"
Added support for PDF AES-128 and AES-256 encryption (requires Digest::SHA
for AES-256 support)
Added -password option for processing password-protected PDF documents
Added write support for a couple more FujiFilm RAF versions
Added a number of new Olympus SceneMode values
Added a few new SonyModelID's
Added a new Nikon LensID (thanks marten)
Added a Canon LensType and fixed an incorrect one (thanks Andreas Huggel)
Decode a number of new Canon tags
Decode a few new Nikon D3S settings (thanks Warren Hatch)
Extract PDF UserAccess
Extract Olympus ZoomedPreviewImage
Updated decoding of Olympus AFPoint for recent E-models
Avoid writing mandatory IPTC tags unless another IPTC tag actually changes
(eg. trying to delete a non-existent IPTC tag will no longer have the side
effect of generating mandatory IPTC tags)
Improved language translations
Improved error message when trying to write a file with the wrong extension
Renamed a couple of Olympus tags
Fixed problem reading/writing PDF tags from some encrypted stream objects
API Changes:
Oct. 7, 2010 - Version 8.34
Added read support for XCF and WebP images and WebM videos
Added a couple of new PentaxModelID's
Decode a number of new Canon 60D MakerNotes tags (thanks Bogdan for
LensSerialNumber)
Decode FrameCount from MakerNotes in Nikon MOV videos
Decode Ambience and some video tags from Canon
Decode more Canon EOS 1D Mark IV CameraInfo tags
Updated decoding of Pentax HighISONoiseReduction for newer models
Changed description of Canon SerialNumber tags
Fixed problem with extra comma in JSON output when -w option was used
Oct. 3, 2010 - Version 8.33
Added ability to specify numerator and denominator of rational values
Decode more Canon custom picture style settings (thanks Tom Kawecki)
Decode Samsung MP4 "TAGS" information from WP10 videos
Decode thumbnail image and maker notes from Canon S95 MOV videos
Decode Microsoft Photo 1.1 EXIF and XMP information
Fixed problem copying tags dynamically from files with read errors
Fixed problem setting FileName with a Windows UNC path (leading "\\")
Sept. 25, 2010 - Version 8.32
Added the ability to use wildcards ('?' and '*') in tag names when
extracting or copying information
Added a number of new CanonModelID's
Decode a few more QuickTime tags and improved decoding of others
Decode UserDefPictureStyle tags for more Canon cameras (thanks Tom Kawecki)
Extract unknown text-based maker notes under new MakerNoteUnknownText tag
Tested writing of PDF 1.7 files and removed warning for this version
Identify Canon MakerNote footer in HtmlDump of DNG images
Updated MimeType for PSD, AVI, AIFF plus a number of raw file formats
Changed FileType for Adobe Illustrator (AI) files
Fixed "Can't handle XMP attribute 'rdf:xmlns'" error when writing some XMP
Sept. 17, 2010 - Version 8.31 - "CRW+XMP"
Added ability to read/write XMP inside CanonVRD, which finally provides a
technique to write XMP in CRW images! (thanks Mike Kobzar for help testing)
Added a couple of new Canon LensType's and CanonModelID's
Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
Added a new Sony LensType (thanks Mladen Sever)
Treat 'eng' as a default language in ID3v2 information
Recognize AIT file extension (AI file)
Fixed problem where ExifTool could refuse to write PDF files containing
XMP-pdf:PDFVersion information
Sept. 11, 2010 - Version 8.30
Added a couple of new Nikon LensID's (thanks Robert Rottmerhusen)
Added a couple more Sigma LensType values
Added a few more tag values for the new Sony SLT-A33, SLT-A55V and DSLR-A560
Added a few more values for various Casio tags
Added a new Canon LensType (thanks Guido)
Decode Panasonic ContrastMode for the TZ10/ZS7
Decode some Canon CameraInfo tags for the 60D
Updated Canon custom functions for the 60D
Updated Flash video to add some new values and decode some new tags
Updated QuickTime decoding for new track and movie header formats
Named a couple of unknown Canon tags
Made Nikon PictureControl and NikonCaptureOutput directories block writable
Fixed problem geotagging when any coordinate was exactly zero
Fixed typo in Canon AFAssistBeam converted value
Fixed problem displaying exiftool documentation on OS/2 (thanks Ilya
Zakharevich)
Aug. 22, 2010 - Version 8.29
Added a few new CanonModelID's
Added verbose messages for "unsafe" and "protected" tags which are not
copied
Decode CameraTemperature for a few new Canon models
Decode a few new Panasonic tags (thanks Zdenĕk Mihula)
Decode a number of new 3rd party RIFF tags
Recognize Casio-type maker notes in Concord cameras
Handle "CDATA" sections in XML/XMP
Fixed problem that could cause value to be added twice when writing MWG
list-type tags without specifying a group
Fixed bug extracting altitude from GPX files containing "rtept" nodes which
could result in an altitude being associated with the next GPS fix
Fixed problem deleting PreviewImage from MIE files
Aug. 14, 2010 - Version 8.28
Added ability to specify Photoshop encoding (-charset Photoshop=CHARSET)
Added support for maker notes of some Sony Ericsson phones
Improved conversion for SigmaRaw:FocalLengthIn35mmFormat (thanks Niels
Kristian Bech Jensen)
Fixed bug in calculation of AvgBitrate for QuickTime videos (thanks Mats
Peterson)
Improved error handling when reading Matroska files
Fixed -GROUP:geotag= to allow multiple geotag groups to be deleted
separately
July 31, 2010 - Version 8.27
Added support for QuickTime localized languages and character encodings
Added support for alternate language ICC_Profile tags
Added a new XMP-swf tag
Added a new Sony LensType (thanks Mladen Sever)
Added ability to specify any group (not only family 0 and 1) for source tag
when copying
Decode a number of new QuickTime tags
Decode MakerNoteKodak9 maker notes in a few non-Kodak cameras
Extract NikonCaptureHistory and drop when copying Nikon MakerNotes
Calculate AvgBitrate for QuickTime movies
Fixed names of a few recently added ICC_Profile tags (thanks Jeff Harmon)
Fixed bug calculating duration of AVI videos for which FrameCount is zero
Fixed tag ID for XMP-iptcExt:AdditionalModelInformation
Fixed decoding of ShiftJIS character set
July 20, 2010 - Version 8.26
Decode a number of new ICC_Profile tags added in approved revisions to the
specification
Drop NikonCaptureData when copying Nikon MakerNotes (it may be too large for
a JPEG APP1 segment when copying from an NEF image)
Made NikonCaptureData writable as a block and NikonCapture a deletable group
Minor addition to tooltip for HtmlDump of offset values
Fixed problem writing to an incorrectly-typed XMP list (patch for LR3 bug)
Fixed problem setting file ownership on OS/2 systems when writing (thanks
Ilya Zakharevich)
Fixed incorrect ICC_Profile tag name (thanks Jeff Harmon)
July 13, 2010 - Version 8.25 (production release)
Added CommonIFD0 shortcut tag to help when deleting metata from TIFF images
Added a new Pentax LensType and fixed an incorrect one
Added a new Panasonic ColorMode
Decode FLAC picture metadata
Changed ASF Preview tags to be consistent with ID3 and FLAC Picture tags
Patched problem with funny dash character in cut-n-paste from documentation
on some systems (by allowing the funny dash in command-line arguments)
Fixed misleading warning message which could appear when writing MWG tags
Fixed typo in an ID3 tag name (thanks Mats Peterson)
Fixed an incorrect Sony lens name (thanks Stephen Bishop)
Fixed problem misidentifying some other RAW files as Epson ERF
June 30, 2010 - Version 8.24
Added ability to write some Kodak APP3 Meta tags
Added a few new Olympus LensType's and new values for a couple of other tags
Added support for yet another Kodak MakerNote variation (M580)
Added conversion for OOXML DocSecurity tag (thanks Jeff Harmon)
Added another Nikon ExternalFlashFlags value (thanks Warren Hatch)
Decode more Canon VRD tags (thanks Gert Kello) and changed some tag names
Decode a couple of new Canon 7D tags (thanks Vesa Kivisto)
Decode a few more Sigma tags
Decode HTML tags written by Microsoft Office
Decode some MakerNotes tags from Samsung MP4 videos
Allow RFC 8601 date/time values to be written without seconds
Fixed conversion for Kodak Meta:SerialNumber
Changed conversion of Canon FocusDistanceUpper/Lower tags to add units (m)
Changed the names of some Nikon FlashExposureComp tags
Changed name of RTF CharactersNoWhiteSpace tag to CharactersWithSpaces to
conform with what Microsoft does with their software as opposed to what they
say in their RTF specification
Changed a few FlashPix tags for better consistency with OOXML and RTF
Properly convert OOXML Unicode character entities
Fixed problem writing some Sigma MakerNote tags
Fixed problem writing incorrect value for "Uncalibrated" XMP:ColorSpace
Fixed bug where some unknown Canon values were extracted twice with -U
June 20, 2010 - Version 8.23
Added write support for FujiFilm RAF images from the HS10 and S100FS
Added read support for RTF files
Added read support for FPXR in JPEG APP4 as written by some HP cameras
Added ability to copy files of any type (now does a straight copy instead of
processing the file if no new values are set for any "real" tag)
Added new values for CanonModelID, PentaxModelID and SonyModelID
Added a new Ricoh LensID
Added conversion for "Off" and "On" values when writing EXIF:Flash
Added a new Canon LensType and changed the name of one Sigma lens
Decode more Canon VRD tags and update to DPP 3.8 (thanks Gert Kello)
Decode FujiFilm AutoDynamicRange
Changed some DNG tags to make them writable (but "unsafe")
June 9, 2010 - Version 8.22
Implemented PNG alternate language tags and special character translations
Added print conversion for XMP-photoshop:ColorMode
Decode some new Pentax 645D tags/values and added more PentaxModelID's
Changed family 1 group names for Matroska Chapters
Changed frame rate conversions to round to 3 decimal points
Enable summary messages when -b is combined with -w
Assume local system timezone on specified date (instead of current local
timezone) when writing an IPTC time tag with a date/time value which doesn't
include a timezone
Fixed conversion of Matroska:ChapterTimeStart/End values
Fixed an incorrect Panasonic Lens name (thanks Michael Byczkowski)
June 2, 2010 - Version 8.21
Added read support for Matroska multimedia files (MKA, MKV and MKS)
Added a new PentaxModelID (Optio E80)
Decode some information from Casio EX-7000SX APP1 "QVCI", HP Photosmart
R837 APP6 "TDHD" JPEG segments
Extract more Samsung and HP PreviewImages hidden in other JPEG APP segments
Extract unknown tags with numerical ID's by default when -v option is used
Updated default GPSVersionID to 2.3.0.0 when writing
Fixed bug geotagging from KML file (lat/long were swapped)
May 26, 2010 - Version 8.20 - "Exif 2.3"
Added read support for Open Document files (ODP, ODS, ODT)
Added Composite:AudioBitrate tag for VBR MPEG audio
Added support for IPTC:CatalogSets written by iView MediaPro
Decode Olympus MagicFilter tag and add a two new SceneMode values
Decode a few new Sony tags written by NEX models
Decode a number of new Sony A100 tags (thanks Igal Milchtaich)
Decode some information from MPEG audio LAME header
Updated to Exif 2.3 specification (!!)
Allow date/time tags to be shifted by the values of other tags when using
the -tagsFromFile feature
Fixed formatting of QuickTime:CreateDate as written by iPhone
Fixed problem conditionally replacing some blank EXIF tags and alternate
language tags in XMP
May 11, 2010 - Version 8.19
Added ability to read/write Samsung PreviewImage trailer
Added two new PentaxModelID's (Optio H90 and W90)
Added a new Canon LensType
Added a new CanonModelID
Decode more Sony tags/values (thanks Michael Reitinger)
Decode more Leica M9 tags (thanks Michael Byczkowski and Carl Bretteville)
Updated to XMP April 2010 specification
Avoid extracting Sony DSLR-A100 tags which have "n/a" values
Improved German language translations (thanks Herbert Kauer)
Improved efficiency of Composite tag calculations
Made RSRC a deletable group
Tolerate extra white space at the start of an XMP file
Changed MWG logic to ignore blank EXIF tags
Changed a few print conversion strings to improve interoperability
Changed XMP namespace prefix 'prismusagerights' to 'pur' as per most recent
PRISM specification
Patched memory problem in Windows when processing very large EPS files
Fixed a couple of incorrectly named Sony Panorama tags
Fixed bug which could prevent file from being updated when deleting
mandatory tags and adding back tags in other locations
Apr. 16, 2010 - Version 8.18
Added read support for Sony DSC-F1 PMP images
Added a new Nikon LensID (thanks Jeffrey Friedl)
Decode a number of new Sony tags (thanks Michael Reitinger)
Decode a few more Leica M9 tags (thanks Michael Byczkowski)
Preserve original file permissions and ownership when writing
Made Canon DustRemovalData writable
Changed some Pentax WhiteBalance strings for consistency
Patched potential security problem when writing values
Fixed bug extracting unsynchronized ID3v2.4 information
Apr. 9, 2010 - Version 8.17
Added a new Sony ExposureMode (thanks Michael Reitinger)
Decode Casio DriveMode (thanks Robert Chi)
Decode CameraTemperature for more Canon EOS models (thanks Vesa Kivisto)
Updated to the DICOM 2009 specification (Note: Changed some DICOM tag names)
Improved conversions for XMP:LensInfo, EXIF:DNGLensInfo and Nikon:Lens
Changed case of some Canon DriveMode strings
Fixed divide-by-zero error when Geotagging from a track with only one point
Fixed incorrect ImageHeight reported for top-to-bottom BMP images
API Changes:
Fixed a problem passing options to Image::ExifTool::TagInfoXML::Write()
Mar. 31, 2010 - Version 8.16
Preserve Mac OS resource fork when writing (OS X only)
Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
Decode a couple more Mac OS resources
Decode Olympus LensModel tag (thanks Martin Hilbers)
Extract PrintIMVersion tag from PrintIM information
Separate extraction of Leica FrameSelector information from LensType tag
Recognize Bitstream PFA/PFB font files
Patched ActivePerl 5.10 bug which could cause Perl crash during Geotag tests
Fixed another Geotag test that fails due to round-off errors on some systems
Mar. 18, 2010 - Version 8.15 (production release)
Added read support for Macintosh resource files:
Generate ResourceForkSize tag if data exists in a file's resource fork
Enhanced -ee option to process resource fork as a sub-document
Added a new PentaxModelID (Optio I-10)
Decode Panasonic DMC-ZS7 landmark tags
Fixed decoding of Pentax Optio 555 PictureMode and added a number of new
values (thanks Ralf Medow)
Mar. 16, 2010 - Version 8.14
Added some new Canon AFMode values for the EOS 7D (thanks Dieter Steiner)
and renamed tag to AFAreaMode
Decode ColorData and some new MOV tags for the production Canon EOS 550D
Decode Panasonic IntelligentResolution tag
Allow times with timezones in GPX track logs
Improved handling of maker notes in Olympus MP4 videos
Changed H264 GPS tags to the GPS group
Fixed date/time format error in reverse geotagging GPX example
Fixed problem introduced in version 8.09 where XMP:GPSLatitude/GPSLongitude
require the -a option to be extracted
API Changes:
Fixed bug where some options (Charset, Escape, Exclude and Lang) weren't
activated properly when set via options hash in calls to some functions
Fixed some potential problems when used with mod_perl
Mar. 5, 2010 - Version 8.13
Added read/write support for Samsung SRW images and decode some NX10 maker
note tags (thanks Tae-Sun Park)
Added new values for some Sony tags (thanks Michael Reitinger)
Added a new Canon LensType
Decode maker notes in Nikon Coolpix S8000 MOV videos
Decode a number of obscure TIFF FX tags
Implemented list-type behaviour for MWG:Creator tag
More improvements to German translations (thanks Herbert Kauer)
Changed name of NikonPreview group to PreviewIFD
Fixed problem which prevented ThumbnailImage from being written to ARW, SR2
and PEF images
Feb. 26, 2010 - Version 8.12
Added a number of missing ProgramMode values for the Sony DSLR-A330
Added XMP-iptcCore:DigitalSourceType (IPTC Extension version 1.1)
Added a couple more Nikon LensID's (thanks Jens Kriese and Robert
Rottmerhusen)
Improved German language tag descriptions (thanks Herbert Kauer)
Improved identification of some RAW file types
Moved MPF PreviewImage into the Composite group
Fixed some problems in HtmlDump output
Fixed problem copying makernotes as a block into DNGAdobeData
Feb. 20, 2010 - Version 8.11
Added support for Leica S2 maker notes
Added a bunch of new CanonModelID's
Decode MacroMagnification for more Canon models (MP-E 65mm only)
Decode a number of Canon CameraInfo tags for the 1DmkIV and 550D
Updated CanonCustom tags for the 550D
Improved parsing of Canon OriginalDecisionData
Improved decoding of Canon CameraInfo LensType
Improved decoding of some Sigma tags
Recognize a number of new Paint Shop Pro file extensions
Prevent a directory from being recreated in the wrong location when deleting
a group and adding back information in the same step
Changed -fileOrder option to sort numbers numerically
Fixed bug in -fileOrder option when directory names are specified
Fixed problem extracting information from some Panasonic AVCHD videos
Fixed some minor compatibility problems with Perl 5.11
Fixed problem which could result in runtime error when using MWG feature
Fixed an inconsistency in the way duplicate tags were handled in the grouped
JSON (-j -g) and short XML (-X -s) output formats
Feb. 8, 2010 - Version 8.10 (production release)
Added read/write support for Photoshop PSB file format
Added -fileOrder option to provide control over file processing order
Added a few new Sony/Minolta LensTypes (thanks Marcin Krol)
Added more Nikon LensID's (thanks Robert Rottmerhusen)
Decode metadata from all frames in AVCHD H.264 video with -ee option
Decode more H.264 tags and improved decoding of others
Improved decoding of some Olympus E-P1 tags
Improved handling of some types of unknown maker notes
Enhanced -p option to support output file headers and footers, and to parse
embedded documents as separate input files when combined with -ee
Relaxed validation of PFM files to accommodate incorrect device type string
written by FontForge software
API Changes:
Enhanced GetFileType() to return descriptions for more file types
Jan. 29, 2010 - Version 8.09
Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
Decode GPS position and some camera settings from AVCHD (.M2TS) video
Decode a few new PhotoMechanic tags
Decode MacroMagnification for the Canon MP-E 65mm f/2.8 1-5x Macro Photo
lens in EOS 5DmkII and 40D images
Delete multiple Photoshop segments in JPEG images when deleting all
Photoshop information and adding some back in one step
Print warning message in Windows when there are no matching files to process
Changed print conversion for PSP CreatorAppVersion
Fixed problem rewriting NikonCapture information written by NX2
Jan. 25, 2010 - Version 8.08
Added read support for Paint Shop Pro images (PSP and PSPIMAGE)
Added ability to decode a number of new character sets including JIS, and
completely overhauled character encoding routines
Fixed problem reading old OS/2-format BMP images
Jan. 19, 2010 - Version 8.07
Added read support for a number of font file formats (OTF, TTF, TTC, PFA,
PFB, PFM, DFONT, AFM, ACFM and AMFM)
Added (experimental) read support for FLA files
Added a few new Sony LensType's (thanks Sander Stols)
Added a new Canon LensType (thanks Mark Berger)
Set BigTIFF MIME type to "image/x-tiff-big" (unofficial)
Fixed bug in GPS time drift correction when dates are specified for both GPS
and image times
Fixed problem reading some IGC GPS logs
Jan. 12, 2010 - Version 8.06
Added a few new CanonModelID's
Fixed a bug introduced in 8.05 which broke rewriting of XMP in MWG mode
Jan. 10, 2010 - Version 8.05 - "Strict MWG"
Improved MWG conformance by ignoring non-standard EXIF, IPTC and XMP when
the MWG module is loaded
CurrentIPTCDigest tag is now only generated for IPTC in the standard
location (as specified by the MWG recommendation)
Added support for 3rd party trailers on ARW images
Changed names of Sony IDC date/time tags and decode the last unknown IDC tag
Fixed "-TAG-= -TAG=VALUE" syntax to work with shiftable (date/time) tags
and tags with conversions
Fixed incorrect tag format when writing some PhotoMechanic tags
Fixed problem where some tags couldn't be written in Olympus ORF images
Jan. 7, 2010 - Version 8.04 - "Write ARW"
Added write support for Sony ARW and SR2 images (at long last!)
WARNING: Some Adobe utilities (Photoshop Camera Raw 5.6, DNG Converter
5.6, LightRoom 2.6) have a bug which causes the tone curve to be
incorrect for edited ARW images from some Sony cameras (A500, A550,
A700, A850, A900 and maybe others)
Compatibility Notice: Embedded JPEG in ARW and SR2 images is now extracted
as PreviewImage instead of JpgFromRaw
Added read/write support for Sony IDC tags
Added support for Leica X1 maker notes and decode a few tags
Added support for DigiKam XMP schema
Added a new Minolta/Sony LensType (thanks Jean-Michel Dubois)
Decode Nikon D90 AFAreaModeSetting
Decode Nikon NEFBitDepth (thanks Warren Hatch)
Decode a few new Sony SRF, Casio AVI and MSOffice TIFF tags
Enhanced Geosync tag to allow GPS time-drift correction
Fixed Nikon D3 FlashSyncSpeed values (thanks Warren Hatch)
Dec. 19, 2009 - Version 8.03
Added a new Nikon ExternalFlashFlags value (thanks Warren Hatch)
Implemented -charset id3=CHARSET option in Windows version too (oops!)
Improved heuristic for guessing EXIF "Unicode" string byte order
Improved decoding of some obscure QuickTime tags
Renamed Casio SelfTimer tag to ReleaseMode and added new values
Fixed problem converting numerical M4P Genre values
Dec. 15, 2009 - Version 8.02
Added MIME types for Apple iWork file formats
Added bitmask to -v2 output for applicable tags
Added a new Canon LensType and fixed an incorrect one (thanks Hugh
Griffiths)
Added a few new Ricoh Saturation values (written by GXR)
Added ability to specify character set for ID3v1 information
Added French translations for some Nikon tags (thanks Harry Nizard)
Extract FilePermissions information
Decode Nikon D90 custom settings
Decode a few more Nikon tags and removed AutoBracketRelease (thanks Warren
Hatch)
Decode a few more GIF tags (and changed groups of some others)
Decode some information from JPEG APP4 "SCALADO" segment
Updated DICOM decoding to latest (2008) specification
Enhanced -fast option to allow MakerNote information to be skipped
Changed -v0 to enable output autoflushing for STDERR as well as STDOUT
Improved decoding of some QuickTime tags (fixes M4P Genre problem)
API Changes:
Added CharsetID3 option
Changed name of IPTCCharset option to CharsetIPTC (but IPTCCharset may
still be used for backward compatibility)
Dec. 1, 2009 - Version 8.01
Compatibility Notice: Extract full-sized preview from X3F images as
JpgFromRaw instead of PreviewImage
Added support for the new X3F version 2.3 files written by the Sigma DP2
Added support for a few more XMP-acdsee tags
Decode Nikon D3 custom settings (thanks Warren Hatch) and extrapolate to
D3S, D3X and D300S
Decode the few remaining Nikon D300 custom settings (thanks Stuart Solomon
for providing sample images)
Decode Nikon D5000 custom settings
Decode Nikon FlashColorFilter tag (thanks Warren Hatch)
Decode a few more PNG tags
Created a new family 1 group for Nikon custom settings
Improved write conversions for EXIF Contrast, Saturation and Sharpness
Fixed problem with %f and %e when the source file has no extension
Fixed problem decoding Nikon D3 flash group B and C intensities
Fixed missing MIME type for XLT files
Nov. 20, 2009 - Version 8.00 (production release)
Added read support for Apple iWork '09 files (Keynote, Pages and Numbers)
Added ability to write Nikon SerialNumber and ShutterCount tags
Added a few new Nikon LensID's and changed Tamron lens names to include
model number (thanks Robert Rottmerhusen)
Decode a number of new Nikon tags (thanks Warren Hatch for much of this)
Decode a few new Sony tags and improved others (thanks Igal Milchtaich)
Decode a few new Ricoh tags, renamed RicohDateTime1/2, Revision and
MakerNoteVersion tags, and added some print conversions
Decode Parallax in FujiFilm MPO MPImage2 images (thanks John Goodman)
Decode Canon EOS 1D Mark IV custom functions
Decode a number of new tags in MPEG-4 videos
Decode a large number of private GE DICOM tags
Decode a few more tags in AVI videos and attempt to fix problem calculating
duration when multiple video streams exist
Enhanced -ee option to extract information from embedded MPF images
Improved Nikon LensID conversion to recognize user-defined lenses
Improved decoding of a few Olympus tags (ArtFilter, FaceDetect and
FocusProcess)
Improved handling of warnings when processing corrupted ZIP files
Improved recognition of Canon teleconverters in Composite LensID tag
Added patch for Leica M8 bug which writes incorrect format for EXIF
ExposureCompensation and ShutterSpeedValue
Changed prefix of unknown Leica M9 tags from LeicaSubdir to Leica_Subdir
Fixed problem writing encrypted Nikon WB Levels
Fixed problems reading PDF tags written by OS X 10.6 utilities
Fixed problem where the -charset option didn't work properly for some XML
character entities when reading XMP
Nov. 6, 2009 - Version 7.99
Added read support for Office Open XML files and improved recognition of
many MS Office file types
Added read support for Phase One IIQ and Capture One COS and EIP files
Added read support for GZIP information (first archived file only)
Added a new Canon LensType (thanks Karsten Söte)
Added a new Nikon LensID (thanks Geert De Soete)
Decode a few new Sony tags
Decode MakerNotes in Pentax AVI videos
Decode SerialNumber for newer Pentax cameras
Decode Canon FlashMeteringMode for most EOS models
Disabled some Sony A230 CameraInfo tags which weren't valid for this model
Give names to a number of unknown QuickTime atoms
Recognize VOB file extension (but audio information in MPEG private stream
is not yet decoded)
Tolerate extra white space in GPX attributes when geotagging (fixes problem
reading GlobalSat GPX files)
Minor improvements to FlashPix decoding
Changed names of all ZIP tags to avoid name conflicts with other tags
Changed Composite ImageSize to use ExifImageWidth/Height for CR2 images
Changed names of QuickTime image and video track description
ImageWidth/Height tags to SourceImageWidth/Height
Fixed problems when -if option was combined with -v or -htmlDump
Fixed problem parsing NMEA track logs where coordinates have the wrong
number of digits due to missing leading zeros (Holux M-241)
Fixed an incorrect Pentax LensType
Oct. 28, 2009 - Version 7.98
Implemented MWG support via a plug-in module ("-use MWG")
Added -config and -use options
Added ability to read Sony Vegas tags in AVI videos
Added a couple of new Canon LensType's
Added a new Panasonic ShootingMode (thanks Joerg)
Added a new PentaxModelID (Optio P80)
Added a new CanonModelID
Added a few new Canon 1D Mark IV custom functions values
Added warning for superfluous tag names on the command line when writing
Decode a few more tags for the Canon EOS 5D and 7D
Decode a number of new tags in Quicktime-based files (including MP4 and JP2)
Impose length limit on IPTC values when writing as per spec. (for backward
compatibility, the length check may be disabled with the -m option)
Improved checks for invalid EXIF offsets and changed some warning messages
Improved decoding for a few Canon tags (and renamed NoiseReduction tag)
Improved date/time formatting to accept date-only values
Implemented print conversion for ID3 date/time tags
Enhanced writing of Photoshop:IPTCDigest to allow a special value of 'old'
to represent the digest of the IPTC from the original file
Updated iptc2xmp.args and xmp2iptc.args to handle IPTC
DigitalCreationDate/Time
Recognize a number of Sigma LensType's in X3F images
Recognize a large number of additional audio/video file extensions
Minor improvements to -htmldump output
Minor changes to some application warning messages
Fixed problem writing Canon CameraTemperature tags
Fixed "Error reading Info object" warning when reading a PDF file after
deleting all PDF tags
API Changes:
Added ability to specify config file via $Image::ExifTool::configFile
Added EditGroup option for SetNewValue()
Oct. 13, 2009 - Version 7.97
Added ability to disable print conversion on a per-tag basis by suffixing
the tag name with a '#' character
Added a new PentaxModelID (Optio WS80)
Decode a few more Sony tags
Decode a number of new Casio tags and values
Decode CameraTemperature for Canon PowerShot models (thanks Vesa Kivisto)
Improved warning messages for the -ext option
Improved DOF calculation to use ObjectDistance if SubjectDistance and
FocusDistance are not available
Improved -X output to support more of the new -charset encodings
Made Composite:FileNumber writable
Use more detailed makernote directory names in EXIF warning messages
Decreased priority of tags in IFD1 of JPEG images to avoid taking precedence
over tags from IFD0 or ExifIFD
Changed print conversion strings for TIFF SampleFormat tag
Renamed Casio ObjectDistance tag to FocusDistance
Fixed invalid character in a Minolta/Sony LensType string
Fixed bug decoding NITFVersion tag
Fixed bug where binary data was returned without the -b option when using an
expression involving tag names for some tags such as ThumbnailImage
Fixed two problems which could result in runtime warnings when:
reading truncated ICC_Profile information
using -htmldump on an image containing invalid EXIF offsets
API Changes:
Added ability to disable print conversion by suffixing tag name with '#'
Changed name of BigTIFF 'ifd8' format to 'ifd64' for consistency
Oct. 2, 2009 - Version 7.96
Added new Geosync tag to allow geotagging of images with timestamps which
are not pre-synchronized to GPS time
Added patch to avoid crash bug in Canon DPP software when OwnerName is set
to a value that is exactly 3 characters long (doh!)
Added a few new Olympus LensType's (thanks Godfrey DiGiorgi)
Added a couple more Nikon LensID's (thanks Robert Rottmerhusen)
Added minor warning when fixing invalid counts in Kodak MakerNotes
Decode a few new tags and values for the Panasonic GF1
Improved parsing of command-line arguments to remove order dependencies of
certain options
Minor improvement to decoding of Olympus FaceDetect tag
Changed "Error reading PreviewImage from file" to a minor warning
Changed conversion of Canon MeasuredEV to correspond more closely to
LightValue (by adding 5 to the MeasuredEV value, which seems to be good for
all EOS models, but it may be high by up to 1 EV for some PowerShot models)
Fixed problems decoding some CameraInfo tags for the Canon 7D with the new
production firmware (1.0.7)
Fixed problems writing some CameraInfo tags for the Canon 50D and 5DmkII
Sept. 24, 2009 - Version 7.95
Added read support for LNK (Windows shortcut) file metadata
Added patch to fix incorrect count written by a number of recent Kodak
cameras to some tags in SubIFD3 of the MakerNotes
Added a few more Sony/Minolta LensType's
Added a couple more Canon LensType's (thanks Norbert Wasser)
Added a PentaxModelID for the new K-x
Decode a couple more Canon VignettingCorr tags
Improved Canon FocusDistance conversions to indicate "inf" for maximum value
Improved DOF calculation to use SubjectDistance if FocusDistance is not
available
Changed -fast, -scanForXMP and -unknown options to also apply when copying
tags with -tagsFromFile
Sept. 11, 2009 - Version 7.94
Added support for Leica M9 makernote format and decode a few new tags
Added a few new Leica LensType's
Added support for IGC GPS track logs (thanks Lionel Genet)
Added a number of alternate Macintosh character sets and changed a couple of
character set names for -charset option
Decode even more Sony A100 tags (thanks Igal Milchtaich!)
Improved handling of FlashPix character translations
Changed a couple of Sony and Minolta AF tag names to be more consistent
Sept. 5, 2009 - Version 7.93
Added a new CanonModelID
Added a couple of new Nikon LensType's (thanks Robert Rottmerhusen)
Added a few new Pentax LensType's
Decode a number of new tags for the Canon EOS 7D
Calculate Duration for WAV audio files
Allow exponents when writing GPS coordinates (eg. "-gpslatitude=7.657e+01")
Print available character sets if no CHARSET is given for -charset option
Improved -v3 and -htmldump output to show MPF image data
Fixed -E option to work with tag descriptions when -lang option used
Fixed problem reading large FlashPix-format documents
API Changes:
Aug. 29, 2009 - Version 7.92
Fixed new "-charset iptc=CHARSET" feature to work with -tagsFromFile
Aug. 29, 2009 - Version 7.91
Added -charset option and support for additional Windows and Mac character
sets. Character sets now supported are: UTF-8, Latin1, Latin2, Cyrillic,
Greek, Turkish, Hebrew, Arabic, Baltic, Vietnam, Thai and MacRoman
Fixed problem with some duplicate Nikon LensID's
Fixed incorrect Duration calculation for multi-channel FLAC audio files
Compatibility Notice: Removed "CreatorContactInfo" shortcuts which were
added to ease the transition when some Iptc4xmpCore tag names were changed
in version 7.45
API Changes:
Aug. 24, 2009 - Version 7.90
Added -ex (-escapeXML) option
Added a few more Minolta M42-type lenses (thanks Lukasz Stelmach)
Added a number of new CanonModelID's
Decode more Sony A100 tags (thanks Igal Milchtaich)
Decode a few more Kodak WhiteBalance tags
Decode a couple more JPEG APP segments
Internal changes to Composite tag calculation algorithm
Patched problem with renaming files on OS/2 that caused failed tests
Aug. 18, 2009 - Version 7.89 (production release)
IMPORTANT: Not quite done with NRW fixes -- fixed similar bug which could
corrupt NRW images when writing new values larger than 10 MB
Aug. 17, 2009 - Version 7.88 (production release)
IMPORTANT: Fixed bug introduced in version 7.77 which causes Nikon NRW
images to be corrupted when writing
Decode a number of Sony A100 Camera Settings tags (thanks Igal Milchtaich)
Improved accuracy of some CameraInfo values for Canon PowerShot models
Tolerate blank lines in PDF xref tables
Fixed problem where -E didn't escape values when copying with -tagsFromFile
Fixed bug identifying AF Micro-Nikkor 105mm f/2.8D lens
Aug. 14, 2009 - Version 7.87
Added a new Sony lens (thanks Lukasz Stelmach)
Added a few new Pentax City and PictureMode values (thanks Niels Kristian
Bech Jensen)
Added lookup for XMP-photoshop:Urgency
Added a few new Nikon RetouchHistory values
Decode a number of new Sony tags for the A700 (thanks Rüdiger Lange)
Decode Canon PeripheralLighting tags
Decode Olympus AFFineTuneAdj (thanks Yrjo Rauste)
Extract System tags from unknown file types
Enhanced -E option to work when writing, and when used in combination with
other options such as -p
Tolerate white space around "=" in XMP attributes (allowed by XML spec)
Improved error handling when parsing bad EXIF IFD entries
API Changes:
July 25, 2009 - Version 7.86
Added support for reading Garmin TCX track logs with the -geotag option
Added a number of new Canon, Olympus and Pentax LensType's
Enabled writing of .AI (Adobe Illustrator) files
Minor changes to DICOM decoding
July 21, 2009 - Version 7.85
Added a new Sony LensType
Added a new Pentax LensType (thanks Albert Bogner)
Added a new PentaxModelID value (Optio W80)
Added a few new JPEGDigest values (thanks Franz Buchinger)
Added check for proper support of IFD-format value types
Decode Nikon D300 firmware 1.10 camera settings (thanks Stuart Solomon)
Improved handling of Olympus makernotes for recent models and fixed error
messages resulting from makernote format changes in Stylus 550WP images
Improved geotagging by allowing different NMEA sentences with slightly
different timestamps (within 10 seconds) in the same fix
Fixed decoding of some CameraSettings tags for the new Sony A330 and A380
API Changes:
July 16, 2009 - Version 7.84 (Windows only)
Fixed bug in -geotag option of Windows version when using wildcards in the
GPS track filename
July 13, 2009 - Version 7.83
Added preliminary read support for M2TS/AVCHD video files (much pain for
little gain)
Added family 4 group names (instance number) to provide a technique for
differentiating same-named tags extracted from the same location via the
command-line application
Added a new family 1 group ("System") to differentiate tags obtained from
the file system
Added a couple of new Canon LensType values
Decode ID3 Picture attributes
Decode ICC_Profile ColorantTableOut
Changed application to return a value of 1 if all files fail condition
Made the IPTC CodedCharacterSet tag "unsafe" to copy by default (since this
could result in incorrect encoding for existing IPTC in the destination
image)
Fixed bug handing some non-standard offset formats when writing EXIF
Fixed problem with MakerNote warnings for Samsung WB500
Fixed problem reading Leica M8 makernotes when copied between JPEG and DNG
images
Fixed problem extracting ThumbnailImage from Sanyo VPC-FH1 MP4 videos
Fixed problem extracting ThumbnailImage from some Sony DSLR-A100 ARW images
(due to a bug in some A100 firmware versions which results in incorrect
ThumbnailOffset values)
July 2, 2009 - Version 7.82 (production release)
Added a new Canon LensType (thanks Norbert Wasser)
Decode another Nikon AVI tag
A number of improvements, bug fixes and additions to ID3 decoding
June 28, 2009 - Version 7.81
Added a few missing print conversions to Nikon, Kyocera and FlashPix
date/time tags
June 26, 2009 - Version 7.80
IMPORTANT: Fixed bug introduced in 7.77 which had the potential to corrupt
TIFF-format images when writing to an image containing a SubIFD tag larger
than 10 MB (not that I've ever seen one of these in the wild)
Added support for DNG version 1.3
Decode makernotes in Nikon AVI videos
Decode QuickTime MatrixStructure tag and added Composite Rotation tag to
calculate the rotation of the QuickTime video track
Updated CanonCustom tags for the EOS 500D
The -fast option now stops parsing of WAV and AVI files at audio/video data
API Changes:
Improved handling of $/ by localizing internally
June 20, 2009 - Version 7.79
Added read/write support for Adobe InDesign files (.IND, .INDD, .INDT)
Added ability to geotag with KML files (Note: each Placemark must contain a
TimeStamp for this to work)
Added undocumented XMP-xmp PagInfo tags written by Adobe InDesign
Added conversion for MPF:PanOrientation
Many improvements and additions to Olympus and Panasonic makernote decoding
Improved logic of -scanForXMP option
Recognize MPO file extension (Extended Multi-Picture format)
Distinguish between infinite (inf) and undefined (undef) rational values
Changed namespace prefixes for xapG and xapGImg to match current XMP spec
Changed print conversion for Casio AFPointPosition
Made "Error reading value" warning minor when reading makernotes values
Allow all tags to be deleted from an XMP file
Fixed group names for a few Panasonic and Sony makernote tags
June 13, 2009 - Version 7.78
Added read support for the new CIPA standards: Multi Picture Format (MPF)
and Stereo Still Image format (Stim)
Added support for Kodak type 10 makernotes (Z980)
Added a new Pentax LensType and a new Nikon LensID (thanks Jens Duttke)
Added %C format code for output file names
Decode a number of camera settings from Sony DSLR images
June 7, 2009 - Version 7.77
Added -struct option for JSON (-j) and XML (-X) outputs
Added 2 new Pentax LensType's and a PentaxModelID (thanks Jens Duttke)
Decode large preview in APP2 of images from newer Samsung models
Extract FujiFilm PreviewImage from improperly written FPXR segment
Improved decoding of Nikon WB levels for some models
Reduced memory usage when writing DNG and some other RAW image files
Changed format of Canon D30 SerialNumber to remove the hyphen and add
leading 0's if less than 9 characters (now same format as printed on camera)
Changed writing of GPSTimeStamp and GPSDateStamp to adjust date/time to UTC
if it contains a timezone, and added timezone ("Z") to Composite:GPSDateTime
Suppress "Unlisted FPXR segment (index 255)" warning from some Kodak images
Suppress "Unrecognized MakerNotes" warning for Samsung STMN-type maker notes
Made "Unrecognized MakerNotes" a minor warning
Fixed problems reading/writing large PreviewImage in some Sony JPEG images
Fixed problem decoding some base64 values in XML files
API Changes:
May 20, 2009 - Version 7.76
Added support for Leica RWL raw images (just RW2 with a different name --
Panasonic is pulling the same dumb stunt as Nikon with NRW)
Added ability to specify geotagging parameters via config file
Added two new Canon LensType's (thanks Jose Oliver-Didier)
Added a couple more Panasonic FilmMode values
Added bitmapped value lookups to -listx output
Decode Panasonic face recognition information (DMC-TZ7)
Decode some new FujiFilm face detection tags
Implemented language translations for bitmapped values
Enhanced -geotag option to allow wildcards in track file name
Minor changes to Nikon AF point decoding
Allow empty string when writing unknown values (ie. "Unknown ()")
Pad numerical IPTC values with zeros if necessary when writing
Fixed problem with -geotag feature interpolating in some NMEA logs
API Changes:
Added GeoMaxHDOP, GeoMaxPDOP, GeoMaxIntSecs and GeoMaxExtSecs options
May 9, 2009 - Version 7.75
Added a few new translations (thanks Jens Duttke et al)
Added warning when stream mode data is encountered in a ZIP file (this
is currently not supported)
Added a couple of new Nikon ActiveD-Lighting values (thanks Werner Kober)
Added and changed some Nikon LensID's (thanks Robert Rottmerhusen)
Added ability to specify user-defined option defaults in config file
Added write support for FujiFilm S5Pro firmware 1.11 RAF images
Decode AF point information for more Nikon models (thanks Werner Kober)
Improvements to new geotagging feature
Changed language code for simplified Chinese from "zh_s" to "zh_cn"
Changed user-defined shortcuts to Image::ExifTool::UserDefined::Shortcuts
Limit PrintConv precision of Composite GPSAltitude to 1 decimal place
API Changes:
Changed WriteInfo() to use a temporary file instead of a memory buffer
when a source file name is given with no destination file
Attempt (yet again) to fix problems when UTF-8 encoded strings are
passed to exiftool functions
Apr. 10, 2009 - Version 7.74
Added geotagging feature and new -geotag option (guess who finally bought a
hand-held GPS!)
Added a few new Casio RecordMode values
Decode FujiFilm EXRAuto and EXRMode tags (FinePix F200EXR)
Decode Olympus ArtFilter tag
Allow EXIF ISO to have multiple values as per EXIF spec
Improved XMP-exif and XMP-tiff list-type tags to allow copying from EXIF
Changed handling of ComponentsConfiguration to facilitate copying between
EXIF and XMP
Changed name of EXIF tag 0x9214 from SubjectLocation to SubjectArea to match
EXIF specification
Changed behaviour when writing pre-existing EXIF tags to use the standard
EXIF field type instead of preserving the existing type (fixes problem
rewriting some incorrectly typed EXIF tags)
Fixed error if a shift value is not given when shifting a date/time tag
Fixed makernote offsets error message when writing Pentax Optio WP images
API Changes:
Added EditOnly option to SetNewValue()
Mar. 31, 2009 - Version 7.73
Added write support for Panasonic RW2 images (including IPTC and XMP)
Added ability to write IPTC and XMP to Panasonic/Leica RAW images and fixed
bug introduced in version 7.64 which disabled write support for these images
Added a new Canon EasyMode value (thanks Irwin Poche)
Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
Added CanonModelID for the new 500D
Decode many CameraInfo and ColorData tags for the Canon EOS 500D
Decode track-level 'meta' atom in MOV videos
Enhanced Canon Composite:ShootingMode logic to distinguish Bulb mode
Improved decoding of Canon TargetExposureTime
Changed name of Panasonic RW2 PreviewImage to JpgFromRaw
Fixed bug where JPEGDigest wasn't generated for some images
Fixed problem where -F didn't permanently fix makernote offsets for some
images when writing
Fixed bug decoding Canon RawMeasuredRGGB and MeasuredRGGBData which resulted
in a failed test on 64-bit systems
Mar. 20, 2009 - Version 7.72
Added a new Minolta/Sony LensType (thanks Jens Duttke)
Added support for localized language descriptions of "lang-alt" tags
Added support for Nikon NRW files (please just kill me now)
Added two new PentaxModelID's and a new PentaxImageSize
Decode Pentax PEF HuffmanTable as Unknown Binary tag
Decode Leaf and Kodak records in DNGAdobeData information
Made "Empty PrintIM data" a minor warning
Minor improvement to Canon lens recognition logic
Changed Composite:LensID to also return a value for Olympus lenses
Changed copying behaviour to preserve the specific location (family 1 group)
when source group is specified and destination group is "all" or "*"
(eg. "-exif:all>all:all" now preserves the IFD of each tag)
Fixed a number of incorrect Minolta/Sony lens names (thanks Olaf Ulrich)
Fixed bug rewriting MIE trailers on TIFF images
Mar. 12, 2009 - Version 7.71
Added a new Pentax LensType (thanks Akos Szalkai)
Added a new Canon LensType (thanks Kurt Garloff)
Added new PentaxModelID for the Optio P70
Added XMP list-type flag (Alt, Bag or Seq) to "-f -listx" output
Decode a number of new Canon tags (thanks Vesa Kivisto)
Removed unreliable Canon Composite FlashOn tag (use Flash instead)
Removed Nikon FlashModel tag and replaced it with ExternalFlashFirmware
Changed tags in Canon "ColorBalance" tables to signed integer and renamed
the tables to "ColorData"
Changed formatting for Canon FocalUnits
Changes to -X output:
Now uses 'rdf:datatype' instead of 'et:encoding' (thanks Alexander Vonk)
Improved long (-l) output to produce valid RDF/XML, and added 'et:val'
Improved handling of unknown XMP lang-alt tags
Fixed family 2 group names for a few tags
Feb. 26, 2009 - Version 7.70
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added a number of new CanonModelID's
Added ability to use -f before -listx to output 'flags' attribute
Added xml:lang attribute to -X output (when used with -t, -H or -D) to
identify alternate language entries for XMP lang-alt tags
Decode Canon ImageUniqueID and added a new EasyMode value
Created "unsafe" shortcut used when rebuilding JPEG EXIF metadata from
scratch
Changed Olympus lens "pre-release" designation to "release 1"
Changed exiftool to continue after encountering "Error opening directory"
Enhanced makernote-offset-fix logic to account for problems like those
caused by bugs in Picasa and ACDSee
API Changes:
Enhanced GetTagID() to also return language code in list context
Feb. 17, 2009 - Version 7.69
Added a new Nikon LensID (thanks Jens Kriese)
Added a new Pentax LensType (thanks Jens Duttke)
Added Extra JPEGDigest tag
Recognize new Panasonic APP2 MPF information written by FX40
Improved -@ option to allow a UTF-8 BOM at the start of the input file
Augmented -listx output to include indexed value conversions
Changed Japanese and Chinese language codes to 'ja' and 'zh' (ISO 639-1)
Fixed a few problems with some CanonCustom tags
Feb. 13, 2009 - Version 7.68
Added French translations for XMP and Composite tags (thanks Jean Piquemal)
Decode Panasonic AdvancedSceneMode, added a few more SceneMode values, and
fixed incorrect format for TextStamp
Decode a missing Canon 1DmkII custom function
Changed Czech language code to 'cs' (as per ISO 639-1)
Relaxed XMP date/time validation to allow writing year-only and year-month
values (YYYY and YYYY:MM) without requiring the -n option
More work on language translations (this will be ongoing)
Fixed problem shifting XMP date/time values with missing seconds
Fixed some family 1 group names in -listx output
Feb. 9, 2009 - Version 7.67 (production release)
IMPORTANT: Fixed bug introduced in version 7.01 which could cause corruption
of TIFF-format images in very rare situations when adding tags to an image
containing very large (> 10 MB) binary data blocks
Feb. 7, 2009 - Version 7.66
Improved language support
Changed conversion for a couple of the EXIF Flash values
Removed trailing white space from Make and Model values
Removed null terminators that may be left on some string values
Fixed problem with family 1 group names for QuickTime Date tags
Fixed problem with invalid names being generated for some unknown tags
Fixed decoding of ASF PreviewMimeType and PreviewDescription
Fixed formatting problems with -j output when combined with some options
Feb. 5, 2009 - Version 7.65
Added -j option for JSON (JavaScript Object Notation) output format
Improved French language translation for File group (thanks Jean Piquemal)
Enhanced -listx option to give short output when used after -s
Renamed "tagid" attribute to "id" in -X output to match -listx output
Fixed bug introduced in 7.64 which resulted in runtime warning when
extracting non-existent tags with the -f option
Fixed problem which could cause runtime error with -listx option on some
systems
Feb. 3, 2009 - Version 7.64 - "Babel fish"
Added -listx and -lang options
Added preliminary support for the following languages (thanks Jens!):
en [default]
ch_s (thanks Haibing Zhong) [renamed 'zh_cn' in 7.75]
cz (thanks Petr Michálek) [renamed 'cs' in 7.68]
de (thanks Jens Duttke)
en_ca (for those of us who like to see "colour" spelled properly)
en_gb (correct "colour" plus a few other quirks)
es (thanks Santiago del Brío González)
fr (thanks Bernard Guillotin)
it (thanks Emilio Dati)
jp (thanks Kazunari Nishina) [renamed 'ja' in 7.69]
nl (thanks Peter Moonen and Herman Beld)
pl (thanks Przemyslaw Sulek)
Added support for new XMP Windows Live Photo Gallery tags
Decode two new Panasonic tags and improved decoding of some others
Decode a few new 3rd party EXIF and IPTC tags
Enhanced -X output by adding -t feature for tag table information
Improved decoding of Photoshop ClippingPathName and remove Unknown flag
Renamed Panasonic EXIF "Title" tag to "PanasonicTitle" and improved decoding
Fixed problem which could cause crash if reading corrupted images on Windows
Fixed inconsistencies rewriting XMP which uses extra rdf:Description
elements instead of rdf:parseType='Resource' attribute
Fixed decoding of Nikon D40 RemoteOnDuration
API Changes:
Jan. 23, 2009 - Version 7.63
Added new Composite tags: SubSecCreateDate and SubSecModifyDate
Decode Sony DSLR WB_RGBLevels tags (thanks Andrey Tverdokhleb)
Decode a few more NikonScan tags (thanks Brendt Wohlberg)
Included new argument files in distribution: xmp2exif.args and exif2xmp.args
Improved decoding of PentaxModelID for K-m and K2000
Minor change to decoding of Canon 1DmkIII ISOSpeedRange
Downgrade "MRW format error" to a warning when reading ARW images containing
MRW information that has been corrupted by the Sony IDC utility
Renamed Kodak SubSecTime tag to Time
Changed Composite DateTimeCreated tag to use only IPTC tags
Changed name of Sony/Minolta MRW WBLevels tag to reflect ordering of color
components
Fixed problems recognizing some MP3 files
Jan. 16, 2009 - Version 7.62
Decode a number of new tags for recent Canon EOS models
Decode ID3v2.3 Compilation tag (written by iTunes)
Added a number of new ID3 genre's and improved ID3v2 genre conversion
Avoid converting MIE ISO 8859-1 string values
Enhanced XML output (-X) to work with binary data (-b) option and encode
values in base64 if necessary
Fixed problem with invalid UTF-8 when writing XMP or using -X (XML) option
Jan. 10, 2009 - Version 7.61
Added a new Pentax LensType and a new PentaxModelID (thanks Denis Bourez)
Added ability to copy makernotes from Pentax or Samsung native DNG image
Decode makernotes in Samsung GX model DNG images
Decode CameraTemperature for Canon EOS cameras with Live View (thanks
Karl-Heinz Klotz)
Decode a number of Canon 5DmkII CameraInfo tags
Included 2 new argument files in distribution: xmp2gps.args and gps2xmp.args
Prevent writing of TIFF images containing the obsolete (and unsupported)
TIFF 6.0 JPEG extensions
Fixed bug which could result in runtime warning when writing makernotes as a
block
Jan. 6, 2009 - Version 7.60 (production release)
Decode a few more Nikon D700 FlashInfo tags (thanks Jens Duttke)
Defined (empty) XMP-pdfx tag table, mainly for documentation purposes
Fixed problem where the behaviour of -tagsFromFile changed to that of
-addTagsFromFile if the first specified tag was an exclusion
Fixed XMP writer to allow a namespace to be deleted after a mass copy
Fixed bug introduced in 7.58 which could cause hang when using -tagsFromFile
Dec. 23, 2008 - Version 7.59
Removed file size limit when setting tag value from contents of a file
Dec. 22, 2008 - Version 7.58
Added new Canon, Nikon and Olympus lenses (thanks Jan Boelsma and Geert De
Soete)
Added write support for FujiFilm S5000 Ver3.00 and S9500 Ver1.01 RAF images
Extract RAFVersion tag from FujiFilm RAF images
Decode ColorBalance information for PowerShot G10
Decode Sharpness for Canon EOS 50D
More improvements to Canon 50D and 5DmkII makernote decoding
Attempt to identify unknown Nikon lenses which exist in LensID list with a
different LensIDNumber (to patch Sigma lens renumbering debacle)
Removed limit of 1000 items in an XMP list-type tag when writing
Increased maximum size of file from 16MB to 100MB when setting tag value
from the contents of a file
Improved performance when extracting a large number of same-named tags
Fixed bug which resulted in "segment too large" error message when rewriting
multi-segment XMP if XMP was edited but nothing was actually changed
Dec. 11, 2008 - Version 7.57
Added read support for Panasonic RW2 raw images (and extract meta
information from embedded PreviewImage as Doc1)
Added new Pentax K-m PictureModes and new PentaxModelID for the Optio S12
Decode ColorBalance information for Canon 50D and 5DmkII
Decode Panasonic RAW/RW2 information from DNG images
Decode Canon SRAWQuality tag
Recognize DCP (DNG Camera Profile) files
Updated Canon CustomFunctions for the EOS 5D Mark II
Changed name of "OtherImage" tags to "JpgFromRaw" in IFD0 of SR2 and ARW
images, and to "ThumbnailImage" in IFD0 of MRW images
Changed EXIF DeviceSettingDescription and ProfileLookTableData to binary
data tags
Fixed problem reading/writing ThumbnailImage in Minolta A200 MRW images
Fixed ColorBalance2 tags for AsShot and Auto modes of Canon 1DmkII/1DSmkII
Dec. 2, 2008 - Version 7.56
Decode CompressorVersion from Canon 5D Mark II videos
Fixed family 1 group classifications for tags in QuickTime video tracks
Fixed problem with new -sep feature when separator contained spaces
Dec. 2, 2008 - Version 7.55
Added a number of new CanonVRD tags for DPP 3.4/3.5 (thanks Bogdan)
Added a new FocusMode for the Pentax K-m
Added a new Nikon LensID (thanks Niels Kristian)
Decode some tags from Kodak C1013 maker notes (type 9)
Enhanced -sep option to allow list-type tag values to be split when writing
API Changes:
Nov. 26, 2008 - Version 7.54
Added a few old XMP-crs tags that were missed
Show numerator and denominator for rational EXIF values in verbose mode
Changed htmldump tooltip font
Fixed bugs in HTML reader that could cause runtime error or hang
Nov. 19, 2008 - Version 7.53
Added read/write support for EXIF files
Added ability to write EXIF as a block (finally!)
Added ability to write CanonVRD information to MIE files
Added timezone to "Now" tag value
Added a new CanonModelID (FS100)
Added write support for ACDSee XMP tags (XMP-acdsee:RPP)
Added a few new XMP-cc tags
Decode CameraOrientation for a number of Canon EOS models (thanks Bogdan)
Allow XMP to be copied as a block with -tagsFromFile option
Highlight odd value offsets in -htmldump output
Improved htmldump tooltip display
Minor improvements to MIE reader
API Changes:
The full XMP block is now extracted with the Binary option, so the XMP
block is marked as "unsafe" and the Protected flag must be set (as with
other writable blocks) when calling SetNewValue()
Nov. 4, 2008 - Version 7.52
Added ability to extract AI private data from PDF files
Added extract embedded option (-ee, -extractEmbedded)
Added new group family 3 and ability to specify multiple group names for a
single tag when extracting information
Added a new Sony lens and decode two new Sony tags (thanks Jens Duttke)
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added a new Olympus LensType (thanks Michael Meissner)
Decode a few new Nikon tags (thanks Jens Duttke)
Enhanced command line parsing to allow long names for most options
Improved verbose output when writing makernotes
Allow writing of empty string values in EXIF information
Fixed problem rewriting XMP lists that contained no entries
Fixed bug writing JpgFromRaw and ThumbnailImage to CRW files that could make
the image unreadable by Canon utilities (affected images may be repaired by
rewriting the same tag with this version of exiftool)
Fixed bug where some Canon MakerNote values could not be written
Fixed bug introduced in version 7.49 that broke the use of wildcards in
filenames for the Windows version
API Changes:
Enhanced a number of functions to accept multiple group names separated
by colons
Oct. 27, 2008 - Version 7.51 (production release)
Fixed problems which caused failed test or warning with Perl 5.6 or older
(does do not affect Mac or Windows versions)
Fixed Windows application so help is displayed when run with no options
Oct. 26, 2008 - Version 7.50 (production release) "XMP 2008"
Added a number of new XMP tags from new XMP specification released Oct. 17
Added support for extended XMP segment in JPEG images (as per new XMP spec)
Added a number of new Minolta/Sony lenses (thanks Jens Duttke)
Added a new Canon LensType (thanks Andreas Huggel and Pascal de Bruijn)
Added new PRISM 2.1 XMP tags
Added ability to read/write x:xmptk attribute (via XMP-x:XMPToolkit tag)
Added ability to specify user-defined Lenses
Decode XMP in ASF (WMA/WMV), FLV, SWF and MP4 audio and video files
Preserve byte order of EXIF information when copying to MIE file
Allow byte order for newly created MIE files to be set by ExifByteOrder tag
(and API ByteOrder option)
Allow backslashes in filenames on non-Windows-like systems
Removed 's' from XMP-xmp:Thumbnails tag names and set Avoid flag for
XMP-xmp:ThumbnailImage
Fixed definitions of some XMP-xmpDM tags
Fixed some PDF reader bugs (thanks Leonhard Zachl for one patch)
API Changes:
Oct. 16, 2008 - Version 7.49
Added new PentaxModelID for K-m/K2000 plus a new LensID used by K-m
Added --a option and made -a the default behaviour for the -X option
Added ability to read/write XMP-rdf:about attribute
Added new "Resource" flag which may be set in user-defined XMP tags to write
a value as an rdf:resource instead of a normal string
Allow decimal (real) values to be written to XMP-xmp:Rating (contrary to
current XMP specification, but as per MWG recommendation)
Fixed file renaming bug in Windows that caused the file to be moved into the
current directory instead of leaving it in the original directory when the
source file was specified using backslashes as directory separators
Oct. 14, 2008 - Version 7.48
Added support for XMP PRISM 2.0 schema tags
Added two more ZIP compression types
Added conversions for XMP-plus date tags
Changed conversion of all Digest tags to make the -n value readable
Changed some error handling to avoid generating console warnings
Oct. 11, 2008 - Version 7.47 - "Jumbo"
Added -X option to output extracted information in XML format
Added -listwf option to list extensions of writable files
Added a number of new Nikon and Pentax LensTypes (thanks Robert
Rottmerhusen, Jens Duttke and Bozi)
Decode Canon 1000D custom functions
Decode a number of new tags written by Nikon Capture NX 2
Decode many FlashInfo tags for the Nikon D90 and D700
Implemented character set translation for MIE information (-L option)
Improved speed when scanning unknown file to determine FileType
Fixed bug where some writable EXIF tags gave a "not writable" message when
reading tag value from a dynamic file (eg. "-TAG<=%f.txt")
Fixed problem double-escaping characters when -h and -S were used together
Fixed decoding of Nikon FlashModel for SU-800 Remote Commander
Fixed swapped Nikon FlashGroupBControlMode/FlashGroupCControlMode tags
Fixed bug reading PDF files that could cause "Argument isn't numeric in
subtraction" warning (note that writing PDF files with this problem could
cause format errors which may be fixed by reverting with "-pdf-update:all=")
API Changes:
Fixed CanWrite() to be consistent with documentation
Oct. 2, 2008 - Version 7.46
Fixed bug which could cause a runtime warning when writing images in a
directory containing an unrecognized file type
Fixed an IPTC-XMP test that failed in other time zones (this was a test
problem, not an exiftool bug)
Oct. 1, 2008 - Version 7.45
Added support for new XMP IPTC Extension 1.0 tags (rev 2)
Added a few more TIFF Compression values (for MDI files)
Decode a few new Nikon Flash tags
Decode Canon 50D custom functions
Calculate CurrentIPTCDigest tag (if Digest::MD5 is available)
Renamed Photoshop CaptionDigest tag back to IPTCDigest again
Avoid touching IPTC data block when only Photoshop information is changed
Allow IPTCDigest to be set to the special value of 'new', representing the
new IPTC digest of the output file
Updated iptc2xmp.args and xmp2iptc.args to write IPTCDigest as per MWG
recommendation
Allow zone-less date/time values in XMP (as per MWG and upcoming XMP spec)
Allow brackets in $$ and $/ expressions (eg. ${$} and ${/} now work)
Changed decoding of EXIF:Copyright to allow two separate strings as per spec
Changed a number of XMP Iptc4xmpCore tag names and added a corresponding set
of aliases (shortcuts) for backward compatibility
Changed some XMP xmpTPg tag names
Fixed problem extracting lists from other information types in MIE files
Sept. 26, 2008 - Version 7.44
Added read support for DjVu images
Added two new Sony LensType's (thanks Mladen Sever)
Added a new Pentax LensType (thanks Jens Duttke)
Decode a few new Canon 450D and 1000D tags (thanks Bogdan)
Sept. 17, 2008 - Version 7.43
Added two new Pentax LensTypes (thanks Jens Duttke and Anton Bondar)
Added PentaxModelID's for the Optio E60 and M60
Added a number of new CanonModelID's
Extract XMP from MOV and AVI videos (as written by Adobe CS3 Bridge)
Decode information from QuickTime HintInfo atoms (hinf and hnti)
Decode Canon 50D/5DmkII AutoLightingOptimizer
Enable writing of ThumbnailImage in CR2 images
Avoid extracting invalid Canon FocusDistance tags
Improved handling of timezones in date/time values (fixes failed EXE test)
Sept. 11, 2008 - Version 7.42
Added read support for Windows, MacOS and Unix executable and library files
Added read support for ZIP and RWZ (Rawzor) compressed files
Added a number of new XMP tags written by PS Elements 4.0 (thanks Drew
Holland) and LightRoom 2.0
Added new Sony, Canon and Nikon LensTypes (thanks Jens Duttke and Werner
Kober)
Decode a few new Canon CameraInfo tags for the 40D, 50D, 450D and 1000D
(thanks D.J. Cristi)
Decode Nikon D90 LensData
Define version number etc. in properties of exiftool Windows executable
Improved handling of corrupted makernote offsets when writing
Fixed problem where FileType could be incorrect for a TIFF-based file with
the wrong extension
Aug. 28, 2008 - Version 7.41
Added new Composite LensID tag and changed a number of LensType values in
an attempt to disambiguate Canon, Pentax, Minolta and Sony 3rd party lenses
Added -sep option to specify separator for values in list-type tags
Added a new Nikon LensID (thanks Jens Duttke)
Added CanonModelID values for new models (SX110, A1000, A2000, E1, 50D)
Decode some CameraInfo tags of the Canon EOS 450D and 1000D (thanks Bogdan)
Decode a few new tags in Kodak MOV videos
Updated CanonVRD decoding for version 3.40 (DPP 3.4.1, thanks Bogdan)
Allow writable EXIF properties to be overridden by user-defined tags
Relaxed PDF parsing to allow xref tables with zero entries
Renamed Sigma LensID tag to LensType
Changed PDF update structure to better conform with PDF specification
Changed conversion of Olympus ManometerReading values
Reverted back to Perl 5.8 for Windows EXE version (fixes problem running
exiftool.exe using a non-standard TEMP directory)
Patched DST problem in Windows when "Automatically adjust clock for daylight
savings time" is used in Windows Date and Time settings
Fixed problems in the QuickTime parser that could cause exiftool to hang
Fixed bug which could cause an error to be reported when writing a DNG image
containing ProfileIFD information
API Changes:
Aug. 17, 2008 - Version 7.40
Fixed -p option in Windows executable version (caused by packaging problem
with Perl 5.10 release)
July 30, 2008 - Version 7.39
Added a number of new Canon LensType values (thanks Rich Taylor)
Added a new Pentax LensType (thanks Jens Duttke)
Added a new Sony LensType (thanks Mladen Sever)
Added support for writing invalid IFD entries used by some Kodak Z cameras
Updated Canon CustomFunctions for EOS 450D
Made a few more DNG tags writable
Renamed CIFF TvValue and AvValue tags to ShutterSpeedValue and ApertureValue
and added conversions (to seconds and F-number) as with EXIF tags
July 18, 2008 - Version 7.38
Same as version 7.37 except that Windows executable is packaged with Perl
5.10.0 instead of 5.8.7 -- this fixes a problem with FileModifyDate and DST
July 16, 2008 - Version 7.37
Added -addTagsFromFile option (variant of -tagsFromFile which allows copying
multiple tags into the values of a single list-type tag)
Added a new Sony LensID (thanks Jens Duttke)
Added PentaxModelID for the Optio W60
Added a couple of new YCbCrSubSampling values (thanks Jens Duttke) and made
values consistent across different types of meta information
Decoded Canon Categories tag (thanks Darryl Zurn)
Reduced priority of XMP-xmp date/time tags so the EXIF tags are preferred
Fixed problem where time may be duplicated in Composite:DateTimeCreated
API Changes:
Added ability to pass options to SetNewValuesFromFile
July 8, 2008 - Version 7.36
Added a new Nikon LensID (thanks Jens Duttke)
Fixed bug introduced in 7.33 where a SubIFD error was erroneously reported
when writing an already edited NEF image
July 6, 2008 - Version 7.35
Added two new Nikon LensIDs (thanks Geert De Soete and Jens Duttke)
Added XMP-pdf:Trapped tag
Added Composite:GPSAltitude tag (like Composite:GPSLatitude/GPSLongitude)
Added a couple of new PentaxModelID values
Decode Canon 450D Sharpness tag (thanks Bogdan)
Decode Nikon D300 AFAreaMode and AutoFocus tags (thanks Jens Duttke)
Extract Pentax SaturationInfo as an Unknown tag (thanks Dave Nicholson)
Renamed Canon LensType string tag (ID 0x0095) to LensModel
Changed JFIFVersion print conversion to match the formatting used in the
JFIF specification
Fixed a Minolta LensID entry for Tamron lenses
Fixed problem excluding XMP family 1 groups from deletion in some file types
June 28, 2008 - Version 7.34
Added names for a few more of the Unknown Photoshop tags
Added support for XMP files with leading XML comments
Added support for older XMP "x:xapmeta", and XMP without "x:xmpmeta" element
Changed priority of XMP:Source tags when writing so XMP-photoshop:Source is
now preferred over XMP-dc:Source
Renamed Photoshop IPTCDigest to CaptionDigest and removed Unknown status
Improved parsing of IPTC time values when writing, and assume the local
timezone (if available) instead of UTC when a timezone is not specified
Improved handling of lists that exist in multiple groups in the same file
Disabled shifting of list-type date/time tags (allows += to add list items)
Reduced priority of XMP-exif and XMP-tiff tags so these values don't
override more reliable EXIF and TIFF tags when extracting information
without specifying a group
Fixed quirk where exiftool could add an extra padding byte to the makernotes
Fixed incorrect tag ID that prevented ImageStabilization from being decoded
in Sony DSLR-A100 images (thanks Ger Vermeulen)
Fixed problem where error/warning messages could be duplicated for
subsequent files when copying tags from multiple files
June 21, 2008 - Version 7.33
WARNING: Older ExifTool versions will not properly rewrite DNG 1.2 images
which contain multiple color profiles
Added DNGVersion check to avoid future problems with major DNG revisions
Added support for new DNG version 1.2.0.0 tags
Added support for XMP PLUS License Data Format 1.2.0 tags
Added a new Pentax LensType (thanks Peter)
Added a new Canon LensType
Added support for user-defined XMP structures
Decode a few new Sony tags (thanks Marcus Holland-Moritz)
Decode Nikon Capture NX 2 NikonICCProfile information (thanks Jens Duttke)
Extract MP3 VBR and ID3Size tags
Improved accuracy of MP3 Duration calculation (account for VBR and ID3Size)
June 12, 2008 - Version 7.32
Added a new Pentax LensType (thanks yeryry)
Decode ColorBalance information for Canon 450D and 1000D
Fixed names of a few NikonCapture D-LightingHQ tags (thanks Jens Duttke)
Fixed bug where a list-type tag was not created when simultaneously adding
and deleting values from the list
June 10, 2008 - Version 7.31
Added proper support for special characters in PDF text strings
Added support for a number of new XMP tags written by Adobe Lightroom 1.4
Added ability to write XMP-xmp:ThumbnailsImage
Added Photoshop IPTCDigest tag
Added two new Nikon LensID's (thanks Jens Duttke)
Added a new Pentax LensType (thanks Bogdan)
Added a new CanonModelID for the EOS 1000D
Decode a few new Pentax tags (thanks Dave Nicholson)
Increased precision of GPS coordinates when copying with -tagsFromFile
Fixed problem which could result in "Argument isn't numeric" runtime warning
when attempting to write an Unknown value to a bitmapped tag
May 31, 2008 - Version 7.30 (production release)
Adjusted MakerNote error checks to be a compromise between 7.28 and 7.29
Fixed various htmlDump problems
Fixed bug which could cause runtime warnings when attempting to write
certain types of unsupported images
May 28, 2008 - Version 7.29
Renamed Pentax ModelRevision tag to ProductionCode and improved print
conversion to indicate if camera has been serviced
Added check to prevent EXIF tags from being written to JPEG images if they
would obviously exceed the maximum JPEG segment size limit
Relaxed error checks when writing JPEG images to allow MakerNotes to be
rebuilt if the MakerNote IFD is not contained within the MakerNotes data
Fixed decoding of Pentax ExternalFlashGuideNumber when AF360 is used with
the wide angle panel
Fixed unnecessary "Multiple new values for IFD0 tag 0x927c" warning which
could occur when copying MakerNotes from some images
May 26, 2008 - Version 7.28
Added new Canon CustomFunctions values from the EOS 1DmkIII firmware update,
and a new CanonExposureMode value (thanks David Pitcher)
Added a new Olympus LensType (thanks Виктор Лушников)
Decode Pentax ExternalFlashBounce tag (thanks Cvetan Ivanov)
Renamed Pentax ExternalFlashZoom tag to ExternalFlashGuideNumber and
improved decoding (thanks Cvetan Ivanov)
Fixed bug which could prevent maker notes from being copied when copying all
tags from a file containing a PreviewImage
Fixed problems decoding some Sony ARW images
Fixed problem writing some makernote values in sub-IFD's
Fixed "APP1 segment too large" problem where PreviewImage was not dropped
as it should have been when copying all tags from some RAW images
May 24, 2008 - Version 7.27 - "GIF+XMP"
Added ability to read/write XMP in GIF images
Added ability to write to GIF87a images (by upgrading them to GIF89a)
Added GIFVersion tag
Improved decoding of Canon 1DmkIII/1DSmkIII TimeStamp tags
Changed print conversion of EXIF/XMP GPSStatus tags to make more sense
Fixed bug introduced in version 7.22 that could cause exiftool to abort with
an "'x' outside string" error when processing some DNG images
API Changes:
Extract FileSize information from images passed as a scalar reference
May 21, 2008 - Version 7.26
Added write support for FujiFilm FinePix S5 Pro V1.04 RAF images
Added support for new Kodak TIFF-format maker notes used by the Z1085
Added new Pentax and Nikon LensType's (thanks Jens Duttke, Dave Nicholson
and Robert Rottmerhusen)
Added some new Minolta LensID's (thanks Thomas Käßner)
Added new CanonModelID's and a 1DmkIII TimeStamp (thanks Ger Vermeulen)
Decode a number of new Pentax K10D tags (thanks Dave Nicholson)
Decode Panasonic Title tag (thanks Jens Duttke)
Recognize a few more uncommon top-level QuickTime atoms
Changed decoding of some Olympus tags for new E-520
Changed warning when empty PrintIM data is encountered (eg. as written in
Sony A700 ARW files when Adobe RGB color mode is used)
Dropped Canon PreviewFocalPlaneX/YResolution tags since they never really
existed (thanks Ger Vermeulen for pointing out the Canon bug which lead to
this false assumption)
Fixed duplicate tag problem with Pentax LensData when -U option used
Fixed bug which could cause a runtime warning when copying Nikon maker notes
Fixed bug in exiftool application which could cause all tags to be copied
instead of just the specified tags when creating an output XMP or MIE file
and using the -tagsFromFile option
Apr. 18, 2008 - Version 7.25 (production release)
Added read support for DIVX video files
Added a new Nikon LensID (thanks Tanel Kuusk)
Decode a number of new Pentax K10D tags and values (thanks Dave Nicholson)
Decode a few new Nikon tags (thanks Jens Duttke)
Decode Nikon VignetteControl tag found in D3 images with new 1.10 firmware
(thanks Alexandre Naaman)
Improved formatting of video duration times
Improved print conversion for video Compression values
Apply print conversion for XMP:FocalLengthIn35mmFormat to add "mm"
Fixed MIME type of JPEG 2000 images
Fixed problem decoding new Nikon D300 AFPrioritySelection tags
API Changes:
Fixed CanWrite so it returns false for non-writable TIFF-based files
Apr. 10, 2008 - Version 7.24
Added read support for SVG (Scalable Vector Graphics) images
Added support for non-standard Apple iPhone PNG images
Added support for ISL maker note format
Added a couple of new Olympus LensType's
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added values for various Sony tags (thanks Jens Duttke)
Decode Nikon D300 custom settings (thanks Jens Duttke)
Decode Nikon D300 AFFineTuneAdj (thanks Neil Nappe)
Decode a number of new Pentax tags and values (thanks Jens Duttke)
Decode a number of new QuickTime tags, including 'mdta' information
Decode a missing Custom Function for Canon 450D
Avoid extracting any unknown tag in binary data tables when -u option used
Avoid writing Canon 1D/1DS RAW images masquerading as TIF (writing 1D
RAW images is not yet supported)
Improved parsing of AFCP ThumbnailImage and PreviewImage
Downgraded errors in the NikonScan and NikonPreview IFD's to allow writing
of images with these problems without requiring the -m option
Mar. 27, 2008 - Version 7.23
Decode a number of new Pentax K20D/K200D tags and values
Fixed bug introduced in 7.18 which caused "Error parsing XMP" warning when
deleting all XMP and writing new XMP tags in the same step
Mar. 25, 2008 - Version 7.22
Added support for Olympus-style Sony makernotes (DSC-S45/500/650/700/750)
Added %c 'n' modifier to number output files from 1 instead of 0
Added Extra "Now" tag used for setting a tag value to the current date/time
Added a new Nikon LensID (thanks Jens Duttke)
Added ability to specify byte order for EXIF Unicode text and fixed problem
where text wasn't always written in EXIF byte order by default
Added a new Canon LensType (thanks Hal Williamson)
Added a few new CanonModelID values
Decode a new Pentax K20D tag and add a few new values to other tags (thanks
Jens Duttke)
Recognize non-standard Nikon ICC Profile files
Improved error checking when writing a JPEG image with a bad IFD
Fixed bug where IFD0 could be deleted when writing JPEG with a bad IFD1
Fixed some Olympus LensType names for Leica lenses
Fixed problem extracting some writable directories as a block
Fixed bug which could cause "Not an ARRAY" error when reading PDF files
Mar. 12, 2008 - Version 7.21 (production release)
Added support for Leica M8 maker notes (in both DNG and JPEG images)
Added ability to write encrypted Nikon makernote information (!!)
Added a new Olympus Leica lens (thanks Chris Shaw)
Decode a couple of new Canon 40D and 1DmkIII tags (thanks Chris Huebsch)
Decode Adobe RAF data in DNG images
Decode a few new Nikon D3 and D300 tags (thanks Jens Duttke)
Calculate VideoFrameRate for QuickTime MOV videos
Marked DNG OriginalRawFileName and OriginalRawFileData as "unsafe" to copy
Changed decoding of Casio BestShotMode
Renamed Nikon NEFCurve tags (thanks Jens Duttke)
Patched problem parsing OriginalDecisionData for the Canon EOS 5D
Mar. 7, 2008 - Version 7.20
Added a few new Minolta LensID's
Added two more TIFF-IT tags to the EXIF table
Added a number of new RIFF and ASF Audio Encoding values
Added a new new values for some Canon tags (thanks Dave Nicholson)
Decode a number of new Pentax K10D tags (thanks Dave Nicholson)
Decode a number of new MP4/QuickTime tags
Decode makernotes in Casio, Kodak, Minolta, Olympus and Ricoh AVI and MOV
videos
Improved decoding of Casio maker notes and decode a few new tags (thanks
Jens Duttke)
Removed incorrect CanonD30 ColorTemperature and ColorMatrix tags
Fixed Location translation in iptc2xmp.args and xmp2iptc.args
Fixed problem decoding some Nikon tags in images edited by Capture NX
Fixed decoding of InternalSerialNumber for Canon 5D
Fixed decoding of Nikon D3 color balance information
Fixed decoding of Minolta 7D FocusMode (thanks Jens Duttke)
Feb. 25, 2008 - Version 7.19
Added a new Pentax LensType and some new Panasonic NoiseReduction values
(thanks Jens Duttke)
Decode Nikon D40 and D40X custom settings plus a couple of other tags
Decode a couple of new Pentax K10D tags (thanks Dave Nicholson)
Improved reliability of Canon FocalPlaneXSize and FocalPlaneYSize tags
Recognize HP Type2 maker notes in images from other makes
Write TIFF ApplicationNotes in 'int8u' format as per XMP specification
Made TIFF ApplicationNotes writable as a block
Changed HtmlDump to show actual IFD format if different than read format
Changed some MeteringMode strings to be more consistent
Fixed problem adding back JFIF information after deleting JFIF group
Feb. 21, 2008 - Version 7.18
Added ability to exclude XMP family 1 groups from deletion
Added patch to recognize new Ricoh R50 maker notes
Added a new Minolta LensID (thanks Jens Duttke)
Decode AFPointsUsed for Nikon D3 and D300 (thanks Jens Duttke)
Decode a couple of new Pentax K10D tags (thanks Dave Nicholson)
Improved decoding of Nikon FlashInfo tags (thanks Jens Duttke)
Renamed Olympus FlashExposureCompensation tag to FlashExposureComp
Patched problem with Perl 5.10.x which broke conversion of UTF8 strings
Fixed problem where an ExposureTime of 1 second was ignored in CRW images
Fixed problem where special characters were not handled properly when using
the -L option while copying IPTC tags
Fixed bug which could cause a runtime error when attempting to write JFIF
information after deleting JFIF:all in the same step
Feb. 16, 2008 - Version 7.17
Extract duplicate tags when -p option is used
Fixed bug introduced in 7.00 which broke the use of group family numbers and
groups ending with a digit in tag format strings (eg. "$IFD0:Model")
Feb. 14, 2008 - Version 7.16
Added a couple of new Pentax LensTypes (thanks Jens Duttke)
Added a few more EXIF:Compression values
Decode color balance levels in Leaf MOS images
Decode a number of new tags from JPEG, TIFF, KDC and DCR images of older
Kodak models
Improved decoding of TIFF SampleFormat tag
Made a number of DNG tags "unsafe" so they aren't copied by default
Allow JPEG EXIF segment to be deleted and a new EXIF segment to be created
with a different byte order in a single command
Attempted to improve reliability of ScaleFactor35efl calculation for newer
Canon models
Fixed a couple more places where we still needed a space before "mm"
Fixed problem with LightValue calculation which caused failed tests for Perl
5.6.2 on Darwin
Feb. 5, 2008 - Version 7.15 (production release)
Added a few new CanonModelID's and PentaxModelID's
Added support for new Pentax K20D/K200D values for some tags
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Decode a few new Sigma tags, including PreviewImage
Decode a few more tags in Canon CRW images (thanks Dave Nicholson)
Improved Sony ARW parsing (fix some problems and extract more tags)
Improved handling of timezone when writing EXIF and XMP information (the
timezone is now added to XMP date/time values and removed from EXIF
date/time values if necessary unless the -n option is used)
Recognize a few more FLV AudioEncoding and VideoEncoding values
Allow "pseudo" tags to be copied from unrecognized file types
Made FileModifyDate an "unsafe" tag so it isn't copied unless specified
Changed all "sec" units to "s" with a leading space for consistency
Fixed bug introduced in version 6.91 that could prevent some XMP date/time
tags from being written when copying with "-all:all"
Jan. 25, 2008 - Version 7.14
Added read support for Kodak KDC raw images
Added ability to read/write Canon OriginalDecisionData in JPEG, CR2 and DNG
images
Added ValueConv translations for some of the new Nikon PictureControl tags
Decode a number of new Nikon tags (thanks Jens Duttke and Gregor Dorlars)
Decode Canon CR2Segmentation tag
Decode a new Canon CustomFunction of the EOS 450D
Improved handling of mandatory tags in EXIF information
Changed all FocalLength print conversions to add a space before "mm"
Renamed Canon Self-timer tags to SelfTimer for consistency
Fixed some problem with -htmlDump for some types of trailer information
Fixed problem which could give a runtime warning when attempting to delete a
permanent tag
Jan. 17, 2008 - Version 7.13
Decode a couple more Nikon and Sony tags
Decode Windows HD Photo "Padding" tag
Recognize HDP (Windows HD Photo) file extension
Designated EXIF CompressedBitsPerPixel and ComponentsConfiguration as
"unsafe" tags so they aren't copied by -tagsFromFile by default
Changed priority of new Nikon D3/D300 ISO tag
Changed Canon LensType for a Tamron lens (thanks Monica Wallek)
Fixed incorrect TagID for new Panasonic Sharpness tag
Jan. 15, 2008 - Version 7.12
Added read support for ITC (iTunes Cover Flow) files
Added ability to deal with corrupted IPTC written by Nikon Capture NX
Added a few new Canon LensType's (thanks Steve Balcombe)
Decode a number of new Nikon D3/D300 tags (thanks Gregor Dorlars)
Decode a number of new FujiFilm and Panasonic tags and values
Decode ColorBalance information for the Canon 40D, 1DmkIII and 1DSmkIII
Improved decoding of Nikon D80 VibrationReduction tag (thanks Jens Duttke)
Renamed Pentax WBShiftBA and WBShiftGM tags to WBShiftAB and WBShiftMG (now
more consistent with Pentax software, but inconsistent with Canon naming)
Fixed a CanonImageHeight tag which was incorrectly named CanonImageWidth
Jan. 10, 2008 - Version 7.11
Decode a number of new Canon tags and improved decoding of many old tags
Renamed EXIF:RelatedImageLength to RelatedImageHeight (hopefully all
ImageWidth/Height tag names are now consistent)
Jan. 7, 2008 - Version 7.10
Added support for escape sequences and continuation comments in EPS files
Added ability to read/write Sony A700 PreviewImage (tag 0x2001)
Added a new Sony ColorMode value (thanks Philippe Devaux)
Decode a number of new Minolta tags
Improved handling of newlines when writing PDF information
Improved decoding of Canon 40D and 1DmkIII FocusDistance tags (thanks
Wolfgang Hoffmann)
Fixed problem creating multiple output meta files with some commands
Fixed problem deleting XMP by value for strings with escaped characters
Fixed bug when trying to write output image to console with "-o -"
Fixed problem where %c (copy number) was changed when the new file name
should have been the same as the source file
Jan. 3, 2008 - Version 7.09
Decode Canon ThumbnailImageValidArea
Improved decoding of some Olympus tags (thanks Frank Ledwon)
Improved decoding of some Pentax tags (thanks Dave Nicholson)
Improved error messages when writing PDF files
Changed XMP-cc namespace URI (spec apparently changed for some reason)
Changed Photoshop XMLData to a binary data tag
Changed conversion strings for Canon ModifiedSharpnessFrequency values
Changed Olympus NoiseReduction "ISO Boost" value back to "Noise Filter (ISO
Boost)"
Fixed minor problem writing PDF cross-reference stream after multiple edits
Fixed problem redirecting some verbose output to an output text file
Dec. 21, 2007 - Version 7.08
Added write support for PDF files which use only cross-reference streams
Added a number of new Olympus tags, and changed names of some existing tags
Fixed problem decoding some PDF cross-reference streams
Fixed bug introduced in 7.07 which broke copying between two list-type tags
Dec. 18, 2007 - Version 7.07
Added ability to write XMP and PDF information to PDF files, with revert
capability! (use "-PDF-update:all=" to undo all exiftool edits)
Added PDF:AppleKeywords tag (written by Apple Preview)
Added Composite FOV (Field Of View) tag
Added a few more Minolta/Sony LensID's
Added new Canon and Pentax LensType's (thanks Magne Nilsen and Jens Duttke)
Added "Nothing changed" message in verbose mode for files that weren't
changed when writing
Added minor warning when invalid IFD entries are removed during writing (you
will get this, for instance, when ExifTool fixes the entry count problem in
Canon EOS 40D firmware 1.0.4 maker notes)
Patched Canon 40D firmware 1.0.4 problem for JPEG images too
Decode specified "unknown" zero values for four EXIF tags (ExposureProgram,
LightSource, MeteringMode and SubjectDistanceRange) instead of handling as a
truly unknown value (if this makes sense)
Extract PreviewImage from newer Panasonic RAW images (thanks Jens Duttke)
Recognize Pentax-type Kodak maker notes (eg. Easyshare 883)
Made "Entries out of sequence" a minor warning since this problem is fixed
Allow decimal seconds to be written in time values without needing to use -n
Improved parsing of PDF files
Improved behaviour when copying list-type tags to to non-List tags
Improved exiftool summary message for files that were copied without changes
Adjusted Pentax K10D battery percentage calibration
Changed names of Pentax FirmwareID tags
Fixed runtime warning that could occur with some invalid tag names
Fixed problem decoding Pentax:LensCodes for some images (thanks Jens Duttke)
API Changes:
Also allow File::RandomAccess reference as argument to ImageInfo()
Dec. 7, 2007 - Version 7.06
Permanently fix MakerNote offsets with -F option when writing
A few more Pentax tag improvements (thanks Dave and Jens)
Dec. 6, 2007 - Version 7.05
Patched problem rewriting Canon 40D CR2 images caused by bug in the 40D
firmware 1.0.4 which writes an improperly formatted MakerNote IFD
More improvements in decoding Pentax K10D tags (thanks Dave Nicholson)
Translate non-standard XMP namespace prefixes
Changed a couple of Kodak Meta tags to Binary data type
Renamed Pentax MeasuredLV to EffectiveLV (thanks Jens Duttke)
Dec. 3, 2007 - Version 7.04
COMPATIBILITY WARNING: Renamed EXIF:ExifImageLength to ExifImageHeight and
XMP:GPSTimeStamp to GPSDateTime
Added write support Minolta A200 MRW images
Added read support for Hasselblad 3FR raw images
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added a new Canon LensType (thanks Bogdan)
Added ability to insert a newline using "$/" in a print format string
Decode some new FujiFilm and Pentax tags (thanks Jens Duttke)
Decode some new Pentax and Canon tags (thanks Dave Nicholson)
Recognize a few new Olympus lenses (thanks Michael Meissner)
Improved decoding of Sony ARW images and added support for A700
Improved warnings for HtmlDump option
Improved string parsing when writing date/time tags
Fixed problem extracting Canon CRW RGGB values from DNG images
Nov. 17, 2007 - Version 7.03
Fixed problem deleting XMP family 1 groups from JPEG images
Nov. 16, 2007 - Version 7.02
Added ability to delete XMP family 1 groups (eg. "-XMP-crss:all=")
Fixed problem writing XMP as a block to XMP file
Nov. 15, 2007 - Version 7.01
Added ability to write FujiFilm RAF images (thanks Jens Duttke)
Added -T option (equivalent to -t -S -q -f)
Decode a number of new Pentax tags and values (thanks Dave Nicholson)
Decode a new Canon LensType value (thanks Bogdan)
Decode the not-so-accurate FocusDistanceUpper and FocusDistanceLower in
Canon EOS 1DmkIII and 40D images (thanks Heiko Hinrichs)
Allow FileSource tag to be assigned values outside the EXIF standard
Made ImageSourceData a protected tag
Avoid loading huge binary data blocks into memory unless necessary (avoids
out-of-memory problem when processing huge, layered Photoshop TIFF images)
Improved HtmlDump speed and memory usage by not loading "snipped" data
Improved decoding of Nikon ShootingMode
Various improvements and bug fixes when reading FujiFilm RAF information
Fixed problem decoding CRW images where ImageWidth wasn't extracted with -U
Oct. 23, 2007 - Version 7.00 (production release)
IMPORTANT: Fixed problem writing ORF images from newer Olympus cameras which
could lead to errors when the image is opened by another utility (affected
images may be repaired by rewriting with this version of ExifTool)
Added -ScanForXMP option
Added ability to extract ID3v2 PRIV tags (including XMP) and the ID3:MCDI
tag (plus unknown ID3v2 tags with the -u option)
Added new PentaxModelID's for Optio V10 and A40
Added support for Casio-like and HP-like Pentax maker notes
Added ICC_Profile WCSProfiles tag (thanks Jens Duttke)
Added ability to write and create CanonVRD as a block
Added ability to shift GPSTimeStamp tag
Added ability to write DNG AsShotICCProfile and CurrentICCProfile tags
Decode VRDOffset tag in Canon MakerNotes
Shortcuts may now be used in redirections and expressions, and with group
names
Improved decoding of CanonVRD information (also decode new DPP 3.0 tags and
fixed a problem which could give a "Possibly corrupt CanonVRD" warning)
Improved decoding of FujiFilm RAF images, and extract JPEG Preview
Improved handling of Pentax Casio-style maker notes
Improved conversion for Pentax K10D AFPointsInFocus
Enhanced Composite tag syntax to simplify user-defined tag definitions
Changed decoding of Nikon VibrationReduction 0x0075 tag
Changed a number of Pentax and Casio tags to improve consistency
Dump unsupported files with -htmlDump only if -u option is used
Fixed problem which could cause a virtual hang when writing large EPS files
Fixed problem of misleading error messages when attempting to write
unsupported file formats
Fixed problem outputting list-type tags with -b option
Fixed bug where the "image files created" count could miss some files
Fixed problem where "Error rebuilding maker notes" warning could be issued
in cases where the maker notes do not need rebuilding
Oct. 6, 2007 - Version 6.99
Added support for IView MediaPro XMP tags
Added ability to read multiple comments from GIF89a images
Added some new PentaxModelID's (Optio L20, T20, Z10)
Added minor warning for unknown JPEG APP segments when -u option is used
Extract information from JPEG APP13 "Adobe_CM" segment
Improved -htmlDump output to show TIFF image data and trailer (the TIFF dump
is now complete)
Improved decoding of Minolta WhiteBalance for some DiMAGE models
Improved decoding of Panasonic FirmwareVersion when -n option is used
Increased precision of 64-bit rational conversion from 7 to 10 digits
Fixed problem which caused failed tests with Perl 5.005_05
Fixed problem where some groups could not easily be excluded when deleting
all other information (eg. "-all= --exif:all" now behaves as expected)
Fixed problem decoding ICC Profile "dtim" format values
Fixed typo in a Minolta FlashMetering value (thanks Jens Duttke)
Fixed problem in API which could result in a UTF-8 encoded file not being
properly identified if it was passed as a scalar reference to WriteInfo()
Sept. 23, 2007 - Version 6.98
Added ExifByteOrder tag (writable to set byte order for new Exif segments)
Added CanonModelID for new EOS-1Ds Mark III
Added value conversions for Pentax AEFlashTv, AEXv and AEBXv tags
Decode Pentax ShutterCount (with help from Jens Duttke)
Decode Pentax AFPointsInFocus for newer DSLR models (thanks Jens Duttke)
Improved decoding of a Pentax LensType (thanks Jens Duttke)
Renamed Pentax AutoAFPoint to AFPointsInFocus and improved conversion
Renamed Pentax AEDump to AEMeteringSegments and converted values to
approximate LV equivalent units
Fixed problem where some warnings were not being properly handled when
attempting to write an invalid value to some tags
Sept. 14, 2007 - Version 6.97
Added support for Canon EOS 40D Custom Functions
Added ability to decode new Nikon D3 and D300 LensData
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Decode Olympus NoiseFilter tag (thanks Ioannis Panagiotopoulos)
Decode a few new Nikon ShotInfo tags (thanks Jens Duttke)
Improved decoding of Canon AF point information
Improved decoding of Nikon HighISONoiseReduction
Renamed Nikon VRState to VibrationReduction
Fixed typo which prevented some Olympus MakerNote tags from being written
Sept. 5, 2007 - Version 6.96
Added ability to read/write XMP alternate languages
Added ability to create new GPS information in Panasonic RAW images
Added a few new PentaxModelID's (Optio E40, M40 and S10)
Added a couple of new Pentax LensType's (thanks Jens Duttke)
Added a new Olympus Sigma LensType (thanks Jens Duttke)
Added EOS 40D CanonModelID and prepared for new 40D custom functions
Decode a large number of new Canon tags
Decode SerialNumber from previously unknown maker notes of some Kodak models
Decode Olympus ImageStabilization tag (thanks Jens Birch)
Improved decoding of Canon Self-timer and AFPoint values
Improved decoding of some tags for high end Canon EOS models
Renamed Pentax LensCoefficients to LensCodes and print 16 values
Renamed Panasonic ImageStabilizer to ImageStabilization
Renamed all AFPointsUsed tags to AFPointsInFocus
Fixed decoding of ICC_Profile DeviceAttributes
Aug. 21, 2007 - Version 6.95
Added support for new Kodak IFD-format makernotes used by the P712, P850,
P880, Z612 and Z712
Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
Added LensType's for 2 new Pentax DA* lenses (thanks Jens Duttke)
Added 2 new FujiFilm S5 WhiteBalance values (thanks Paul Samuelson)
Added a number of new CanonModelID's
Extract TIFFPreview from DOS EPS images
Decode a number of new Panasonic tags, and added a number of new SceneMode's
Decode FujiFilm S5 ColorTemperature tag (thanks Paul Samuelson)
Improved handling of unknown XMP list-type tags
Suppress EPS 'unterminated Document data' warning
Fixed decoding of ASCII-type Panasonic FirmwareVersion
Fixed bug calculating leap years for years outside the range 1601-2399
API Changes:
Changed WriteInfo() behaviour to be more consistent when editing file in
place and a new FileName is specified (original file is now deleted)
Improved warning message when trying to write an 'unsafe' tag
July 26, 2007 - Version 6.94
Added a few new XMP-crs tags
Added ability to create a new Photoshop IRB record in TIFF-format images
Added a few new EXIF:Compression values (thanks Jens Duttke)
Added a number of new Panasonic/Leica tags, and changed the names of some
Panasonic tags, including reverting FirmwareVersion (thanks Jens Duttke)
Added test for Unknown (Bulb) Pentax ExposureTime value (thanks Jens Duttke)
Added a new Nikon LensID (thanks Vladimir Sauta)
Avoid extracting information from documents embedded in EPS images
(this is temporary; eventually I want to figure out a way to allow this
information to be extracted separately)
Decode Red/BlueBalance from Leica Digilux 2 RAW images (thanks Jens Duttke)
Changed conversion for Sony A100 Rotation tag to conform to EXIF:Rotation
Changed decoding of one of the Pentax ExternalFlashBounce tags (thanks
Michael Meissner)
Extract EncodingProcess, BitsPerSample, ColorComponents and YCbCrSubSampling
from JPEG SOF segment
Show raw horizontal/vertical widths in the converted YCbCrSubSampling value
Improved conversion of some Pentax tags (thanks Jens Duttke)
Avoid loading data blocks larger than 16MB from QuickTime images
Allow PDF:Keywords to be comma-delimited
Fixed problem where a tag would be removed from both IFD0 and ExifIFD even
if only IFD0 or ExifIFD was specified
Fixed problem with byte order mark showing up in output when decoding
hex-encoded Unicode values from PDF images
Fixed problem where ExifTool could hang when reading corrupted ASF files
Fixed possible problem with infinite recursion in FlashPix-format files
July 6, 2007 - Version 6.93
Added read support for BigTIFF images (with extensions BTF, TIF and TIFF)
Added a number of new Olympus tags and fixed decoding of a few others
(thanks Jens Duttke)
Added a number of new SigmaRaw tags (found in SD14 X3F images)
Changed conversion for Canon LensType 152 (used by various Sigma models)
Fixed problem editing XMP containing new "Camera Raw Saved Settings"
properties (written by Adobe Lightroom)
June 29, 2007 - Version 6.92
Added read support for FLV (Flash Video) files
Added read support for EXIF and IPTC and write support for EXIF, IPTC and
XMP in JPEG 2000 images
Added read/write support for Sinar CS1 raw images
Added read support for Kodak DCR and K25 raw images
Added ability to read/write improperly byte-swapped IPTC information
Added check for infinity value of Casio ObjectDistance
Added a new Nikon LensID (thanks Bruce Stevens)
Improved decoding of APP12 "Ducky" segment (thanks Heinrich Giesen) and
added write/create support
Improved handling of warning messages when setting new values
Changed print conversion for Olympus PictureModeSaturation,
PictureModeContrast and PictureModeSharpness to label min and max values
Fixed problem introduced in 6.91 when writing some EPS images
Fixed group names for Pentax CameraInfo tags
Fixed bug which could result in negative Canon SerialNumber values
Fixed decoding of some Canon EOS 1DmkIII custom function values
Fixed problem copying subdirectories in new-style Olympus maker notes
Fixed problem of missing last character when decoding ID3 Unicode strings
Fixed problems decoding some ID3 URL values
Fixed inconsistency where the -if option may have used a different tag than
the one normally extracted when a group name was specified and multiple
matching tags existed in the group
June 5, 2007 - Version 6.91
Added support for new XMP-lr, XMP-photoshop and XMP-DICOM tags of PS CS3
Added new Sigma lens to Pentax LensID list
Added a few new Nikon and Canon LensID's (thanks Jens Duttke)
Added Canon IXY Digital 810 IS to CanonModelID
Recognize Photoshop "AgHg" resource type
Removed "warnings" dependency in exiftool application
Updated XMP:FileSource values to match EXIF:FileSource
Greatly improved processing speed for some large EPS images
Improved handling of XMP date/time formatting
Officially support writing of MEF images
Applied patch to convert Pentax LensType for changes in K10D firmware 1.2
Fixed decoding of Pentax BatteryBodyGripStates (thanks Jens Duttke)
May 10, 2007 - Version 6.90 (production release)
Added CanonModelID values for new PowerShot S5 IS and SD850 IS
Encode IPTC values in default CodedCharacterSet when writing new values at
the same time as deleting the existing CodedCharacterSet
Renamed Nikon FirmwareVersion to MakerNoteVersion and Panasonic
FirmwareVersion to ProductionVersion (thanks Jens Duttke)
Allow EXIF GPS coordinates to be negative when writing (take absolute value)
Revert "$evalWarning" fix (false alarm)
May 7, 2007 - Version 6.89
Added support for maker notes of some Hewlett-Packard models
Decode Pentax ImageProcessing tag
Fixed problem which gave "$evalWarning" errors on some systems
May 2, 2007 - Version 6.88
Added read support for Mamiya MEF images
Implement long overdue change to standardize FocalPlaneResolutionUnit values
Decode Panasonic BabyAge + some new ShootingMode values (thanks Jens Duttke)
Improved recognition of maker notes for some camera models
Fixed bug that could cause an incorrect "tag is not writable" warning
Fixed problems converting WDP PixelFormat values
Fixed decoding of Canon 350D AFPointsUsed (thanks Bogdan)
API Changes:
Added option to allow makernote block to be extracted without rebuilding
Apr. 26, 2007 - Version 6.87
Added read/write/delete support for recognized trailers in PSD images
Added PhotoMechanic IPTC:Prefs tag
Added ability to decode double-UTF-encoded XMP files
Added a few more Canon, Pentax and Nikon lens types (thanks Hayo Baan and
Robert Rottmerhusen for Nikon entries)
Added ability to create new user-defined MIE groups
Decode a new Nikon lens tag: ExitPupilPosition (thanks Robert Rottmerhusen)
Increased precision (from 20m to 2mm) when writing XMP GPS coordinates
Renamed Panasonic SpotMode tag to AFMode and improved decoding
The -e (Composite) option now also applies when copying tags
Minor changes to IPTC verbose output and error handling
Minor changes to a few warning messages
Avoid converting XMP values as rational or date if tag is known and not
specified with these formats
Identify CR2 header and Canon MakerNote footer in -htmlDump output
Reverted change from version 6.85 to once again allow JPEG thumbnails to be
written to TIFF-type images (perfectly valid for many TIFF-based RAW formats
even though it isn't technically correct in a proper TIFF)
Added test to check for invalid encoding when Image::ExifTool is loaded
Fixed problem shifting Canon:TimeStamp tag
Fixed failed FlashPix test on Cygwin Perl 5.8.2 (roundoff errors again)
Fixed problem where some types of write errors could result in exiftool
reporting that a file was updated when it wasn't
Apr. 10, 2007 - Version 6.86
Added -execute, -srcfile and -common_args options to allow complex
processing with multiple commands in a single invocation
Added ability to write Panasonic RAW files
Added Panasonic ConversionLens tag
Improved decoding of Panasonic/Leica Contrast and SpotMode tags
Changed -@ to insert arguments at the current position in the command line
(rather than at the end)
Once again automatically fix Canon maker note offsets (this feature was
removed in 6.84 due to a bug bug report that turned out to be a false alarm)
Fixed bug in -if option which could incorrectly cause a failed condition
when using expressions containing multiple tags with proper-case names
Fixed problem extracting binary data when -if option was used
Fixed bug which caused error when setting CodedCharacterSet to "UTF8"
Fixed decoding of InternalSerialNumber for FujiFilm FinePix F40fd
Fixed problem using "-TAG+<=FMT" or "-TAG-<=FMT" on command line
Apr. 3, 2007 - Version 6.85
Prevent JPEG thumbnail image from being written to TIFF-type images
Fixed a couple of problems decoding Canon EOS 1D Mark III tags
Fixed bug which generated an error message when rewriting maker notes in
Adobe-edited Pentax K10D native DNG images
Mar. 30, 2007 - Version 6.84
Added a number of new XMP-crs tags, plus new XMP-lr (Adobe Lightroom) group
No longer automatically fix Canon makernote offsets (but still use makernote
footer if present to calculate recommended fix)
Fixed problem where some errors were not properly counted in the summary
statistics with the -overwrite_original_in_place option
Fixed problem parsing XMP shorthand format for values containing '=' symbol
Mar. 24, 2007 - Version 6.83
Automatically fix corrupted makernote offsets when reading images from Canon
models which include a makernote offset footer
Added CanonModelID and CameraType values for 2 new Canon DV cameras
Renamed SPIFF ResolutionUnits tag to ResolutionUnit
Fixed formatting of GPSTimeStamp value
Mar. 20, 2007 - Version 6.82
Added read/write support for new Canon EOS-1D Mark III custom functions
Made a few makernotes warnings minor when writing
Append "mm" to FocalLengthIn25mmFormat value
Fixed problem which could cause "uninitialized value" warning when writing
Fixed problem writing Canon EOS D60 custom functions
Mar. 17, 2007 - Version 6.81
Added l/u modifiers for lower/uppercase in filename format codes (eg. "%le")
Added equivalent IXY names to CanonModelID for PowerShot SD750 and SD1000
Added a few new Pentax ModelID's (Optio E30, T30, W30, A30)
Allow non-encrypted Nikon ColorBalance values to be written
Fixed problem where some encrypted Nikon information was not properly
protected against writing
Mar. 14, 2007 - Version 6.80
Added Olympus ManometerReading tag
Added ability to edit private IPTC and XMP information found inside
PhotoshopSettings record of TIFF images
Renamed NikonShotInfoVers tag to ShotInfoVersion and added
MultiExposureVersion tag
Search further in MPEG file to look for first audio/video frame headers
Use default resolution information from JPEG JFIF segment for mandatory EXIF
resolution tags when creating new EXIF segment
Enhanced %c format code so %+c adds an underline before the copy number
Mar. 7, 2007 - Version 6.79
Translate special characters in ID3 information when reading
Improved conversions for GPSTimeStamp and GPSDateStamp when writing so they
can be set from a normal date/time tag (eg. "-gpstimestamp<createdate")
Added support for Nikon D40X plus a new LensID (thanks Robert Rottmerhusen)
Added a new Canon LensType (thanks Warren Stockton)
Removed D70Boring shortcut tag
Fixed minor problem in HtmlDump of MakerNotes header introduced in 6.78
Fixed problem decoding second Pentax K10D LensType value for some lenses
Feb. 28, 2007 - Version 6.78
Decode Nikon D200 multi-exposure tags
Decode Canon BlackLevel tag and added a few new CanonModelID's
Added support for new Olympus u760 maker note format (finally Olympus fixes
the major blunders of their older maker note design!)
Added support for the rare Canon EOS K236 (variation of EOS 400D)
Improved decoding of Canon EOS 1D Mark III tags
Included PDF version of MIE format specification in distribution
Reformat invalid EXIF date/time values when writing (unless -n option used)
Minor updates to some Pentax tags for Optio M30
Feb. 20, 2007 - Version 6.77 - "XML/HTML special characters"
Translate numeric character references when reading XMP
Translate all HTML 4 character references to UTF-8 when reading HTML
Translate all non-ASCII characters to HTML character entities with -h or -E
Added full UTF-8 translation support when run with Perl pre-5.6.1
Decode a few new Sigma SD14 tags
Decode a couple more Nikon tags (thanks Greg Troxel)
Feb. 16, 2007 - Version 6.76 (production release)
Added patch for Perl 5.6.x bug which caused an HTML test to fail
Added a few new Pentax tags and fixed a LensType value (thanks Axel Kellner)
Feb. 14, 2007 - Version 6.75 (production release)
Added read support for DOC, XLS and PPT documents
Added Composite GPS tags to facilitate copying GPS between EXIF and XMP
Added patch for problems in Sanyo J1, J2, J4, S1, S3 and S4 maker notes
Added new Microsoft OffsetSchema tag (new, ill-conceived PhotoInfo tag)
Decode more Pentax tags and improved decoding for some K10D tags
Shortened tag name of HTML:MSSmartTagsPreventParsing to NoMSSmartTags
Fixed oversight to allow new IPTC and XMP records to be added to ORF images
Fixed problem extracting RIFF MakerNotes by tag name
Fixed problem with drag-n-drop of Windows files on a network drive
Fixed problem copying GPSAltitude from EXIF to XMP
Feb. 2, 2007 - Version 6.74
Added support for chained SubIFD's in TIFF images
Updated GeoTiff support for new definitions in libgeotiff-1.2.3
Fixed problem when rewriting unknown records in Adobe DNGPrivateData
Fixed bug introduced in 6.47 that could prevent Photoshop EXIF CameraRAW
tags from being extracted properly
Jan. 31, 2007 - Version 6.73
Added read support for meta information in HTML and XHTML documents
Added ability to write certain EXIF tags (eg. UserComment) as Unicode
Added character set translation for XMP information; the -L option now works
for all common meta information formats! (see updated FAQ #10 for details)
Added a few more XMP-microsoft tags (thanks Kees Moerman)
Decode FirmwareRevision found in some Canon PowerShot models
Preserve date/time tags that exist in the wrong EXIF IFD when shifting times
Fixed bug which could result in an incorrect value for the Directory tag
Fixed problem parsing XMP with BOM introduced in 6.71
Jan. 25, 2007 - Version 6.72
Added XMP-microsoft:LastKeywordIPTC tag
Renamed new MicrosoftPhoto Rating2 tag to RatingPercent
Fixed problem where rdf:about attribute could be lost when writing XMP
Jan. 24, 2007 - Version 6.71
Decode a lot of new Pentax DSLR information (thanks Cvetan Ivanov)
Patched Microsoft Photo bugs in XMP formatting
Patched Microsoft Photo bug in EXIF Unicode text byte ordering
Added support for XMP-microsoft tags and 2 new Microsoft EXIF tags
Added a few new XMP tags (NativeDigest, ColorMode and ICCProfileName)
Added ability to add or delete copied tags from list (eg. "-SRCTAG+>DSTTAG")
Added a few more Canon EasyMode values (thanks Samson Tai)
Added CanonModelID values for new A450, A460 and A550
Changed the -if option so the condition automatically fails if the
expression generates a warning (use -v to show the warning)
Specified LF character (0x0a) for MIE text newline sequence
Catch warnings if perldoc doesn't exist when running with no arguments
Minor tweaks/fixes to htmldump output
Jan. 19, 2007 - Version 6.70 - "IPTC Character Coding"
Translate coded characters in IPTC string values (UTF8 and Latin only), and
assume Latin encoding if no CodedCharacterSet (see FAQ #10 for details)
Enhanced IPTC:CodedCharacterSet print conversion so "ESC % G" is now printed
as "UTF8" (either may be used when writing)
Specified ISO 8859-1 character set for MIE ASCII string values
Added warnings for UTF-8 conversion errors
Decode a few new Pentax tags
Decode maker notes in Pentax DNG images
Jan. 8, 2007 - Version 6.69
Decode information in NikonScanIFD
Enhanced -p option to allow expressions to be used
The -p option no longer suppresses error and warning messages
Made ImageSourceData writable
Reduced font size of htmldump output
Fixed "Argument isn't numeric" error when reading an image with a missing
IFD offset
Jan. 3, 2007 - Version 6.68
Added mechanism to allow Composite tags to be writable
Recognize XMP sidecar files that begin with a UTF BOM (byte order mark)
Changed TIFF ImageSourceData tag to a Binary data type
Fixed problem which could cause warning when writing XMP in PNG images
Fixed bug when shifting times in an XMP sidecar file that caused an invalid
date/time to be written if the tag didn't previously exist
Fixed problem where writing to a JPEG image containing a PreviewImage could
report that the file was updated even if nothing was changed
Dec. 30, 2006 - Version 6.67 - "Adobe DNGPrivateData"
Added ability to write MakerNote information written by Adobe DNG Converter
Added ability to copy Adobe MakerNote and CRW information from DNG images
Added ability to read/write Adobe CRW and MRW information in DNG images
Added ability to read Adobe SR2 information in DNG images
Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
Added ability to delete a specific MIE document in multi-document files
Improved handling of tags in multi-document MIE files
Improved verbose and htmlDump output for unknown JPEG trailers
Improved handling of ignored minor errors when writing MakerNotes
Decode Panasonic LensType tag
Changed description for Canon:OwnerName tag
Minor changes to HtmlDump output
Fixed parsing of XMP date/time values with no seconds
Dec. 20, 2006 - Version 6.66 (production release)
Added a few more Pentax K10D PictureMode's (thanks Axel Kellner)
Added a few new Nikon LensID's and Olympus LensType's
Added Canon 1D PictureStyle's
Updated CanonModelID strings for a few new models
Changed tagID for MIE:GPSDifferential
Minor change to MIE specification for unknown data formats (MIE 1.1)
Dec. 15, 2006 - Version 6.65 - "MIE 1.0"
Added ability to read/write MIE trailers in JPEG and TIFF images
Added a number of new MIE tags and changed some existing tags
Added support for units in MIE values
Added new Pentax K10D PictureMode's (thanks Axel Kellner)
Avoid creating non-native groups in MIE, PNG and EPS images unless necessary
Fixed problem with -P option so it now works when -o option is used
Fixed bug where 'all' was replaced with '*' in redirection expressions
Fixed "APP1 segment too large" error when copying all tags from some Canon
CR2 images to a JPEG (fixed initially in 6.08, but broken again in 6.47)
Dec. 8, 2006 - Version 6.64
Added Nikon ImageAuthentication tag (thanks Jeffrey Friedl)
Added Canon RecordMode and OpticalZoomCode and Composite DigitalZoom tag
Applied FocalUnits scaling to Canon ShortFocal, LongFocal and
ScaledFocalLength tags, and renamed ScaledFocalLength to FocalLength
Allow (but ignore) leading family number on tag group when writing
Fixed calculation of 35mm scaling factor when Canon digital zoom is applied
Fixed bug which could cause "'x' outside of string" error when reading Nikon
images with the -U option
Dec. 6, 2006 - Version 6.63
Changed the sense of the '-' modifier for the new '%c' format code
Dec. 6, 2006 - Version 6.62
Added '%c' format code to add copy number if output file exists
Added a couple of new Nikon LensID's (Werner Kober, Robert Rottmerhusen)
Made -htmlDump tag names purple if actual offset differs from stored offset
Dec. 4, 2006 - Version 6.61
MakerNotes offsets are now permanently fixed when the makernotes are copied
using -tagsFromFile with the -F option
Fixed typo in MakerNoteSanyoC4 tag name of MakerNotes shortcut
Minor improvements to htmldump style
Dec. 2, 2006 - Version 6.60
Added -k option of stand-alone version to regular distribution
Fixed bug adding/deleting XMP tags in a list (introduced in 6.50)
Fixed decoding of Canon 5D LongExposureNoiseReduction
Fixed problem writing AFCP where incorrect offset could be written
Fixed bug in -p option which caused it to abort if all tag names were
contained in braces (thanks Joel Becker)
Stand-alone Windows executable:
Print application documentation after "No file specified" warning
Nov. 30, 2006 - Version 6.59
Do not delete IFD1 when deleting all meta information from a TIFF image
Added a couple of new CanonImageSize values: "Postcard" and "Widescreen"
Added a few new Olympus LensType's (thanks Lilo Huang for one)
Improved handling of invalid date values
Fixed "divide by zero" warning if FocalPlaneXYResolution is "inf"
Fixed incorrect "unknown trailer" verbose message when writing JPEG images
Stand-alone Windows executable:
Allow quoting of options embedded in executable name
Nov. 25, 2006 - Version 6.58
Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
Added missing print conversion for RIFF DateTimeOriginal
Improved HTML 4.01 compliance of -htmlDump output
Lowered priority of ID3v1 tags so ID3v2 takes precedence if both exist
Minor change to names of some Vorbis and APE tags
Made Ogg file type all capitals
Patched problem which could cause ExifTool to die if input file is corrupt
Fixed GPSDOP description (GPS Dilution of Precision, thanks Greg Troxel)
Fixed problem which could generate a run-time error when attempting to write
to a corrupted JPEG image
API Changes:
GetFileType() may now also be used to return a file description
Nov. 19, 2006 - Version 6.57 (production release)
Missing tags in -p and redirection expressions are now set to an empty
string ('') by default, or a dash ('-') if the -f option is used
Added ability to use %f,%d,%e tokens in "-TAG<=FILE" argument
Added new Nikon LensID (thanks Werner Kober)
Set missing tags to '' instead of '-' in redirected expressions if -m used
Renamed LV tag to LightValue
Improved decoding of Sony DSLR-A100 maker notes
Attempted to clarify date/time shift documentation in Shift.pl
Fixed bug which could result in CanonVRD information not being recognized
Fixed bug in new SetResourceName feature of user-defined Photoshop tags
First release of stand-alone Windows executable
API Changes:
Nov. 15, 2006 - Version 6.56 - "Audio Update"
Added read support for a number of audio file formats: Ogg Vorbis,
Ogg FLAC, FLAC, APE (Monkey's Audio) and MPC (Musepack)
Improved parsing of ID3 v2.3 and v2.4 information
Added a number of new Pentax *istD tags (thanks Douglas O'Brien)
Added ability to print processed file names when writing (-v0 option)
Patched problem with makernotes offsets in Sanyo C4 images
Fixed problem that prevented some Olympus RAW files from being written
Fixed bug where XMP values could be improperly converted as a rational
Nov. 8, 2006 - Version 6.55
Added read/write support for Canon VRD (Recipe Data) files and trailers
Changed name of CanonDPP module and group to CanonVRD
Nov. 3, 2006 - Version 6.54
Added write support for ORF (Olympus RAW) images
Added Panasonic TravelDay tag (thanks Marcel Coenen)
Show Photoshop resource block names in verbose output, and preserve these
names when copying tags from file
Changed write format of Nikon WhiteBalanceFineTune from int16u to int16s
(thanks Giridhar Appaji Nag)
Allow Flags to be used in UserDefined tags
Added trailer signature to MIE format specification
Fixed problem with the -list and -listw options (dynamically loaded tags
weren't appearing in the list)
Nov. 1, 2006 - Version 6.53
IMPORTANT: Fixed bug introduced in 6.51 which could result in a corrupted
image (!!) when rewriting TIFF-format files containing an unknown trailer
(this includes all TIFF-based RAW formats except CR2). The good news is
that unknown trailers should be very uncommon, and nobody has reported any
problems yet, so with any luck I caught this before it affected anyone. But
please update immediately to 6.53 if you downloaded 6.51 or 6.52.
Nov. 1, 2006 - Version 6.52
Added read/write support for trailers in CRW images
Dropped historic support for obsolete -group# option
Oct. 31, 2006 - Version 6.51 - "Trailer Update"
Improved handling of trailers in JPEG and TIFF-format images:
Added read/write support for PhotoMechanic and FotoStation trailers
Recognize and handle Canon DPP trailers
Added AFCP trailer read/write support for TIFF (previously JPEG only)
Added ability to read/write multiple trailers in the same image
Trailers are now dumped with verbose and htmlDump options
Trailers are now deleted when deleting all tags
Added ability to delete trailers individually by group or altogether
with "-Trailer:all="
Changed reading/writing XMP in PNG images to conform with XMP specification
(but continue to support the XMP profile format used previously)
Avoid writing duplicate XMP tags in less common namespaces
More consistent handling of unknown IPTC tags
Added -listd option to list deletable groups
IPTC time-only tags may now be set from date/time values (this already
worked for date-only tags)
Fixed problem rewriting international text (iTXt) chunks in PNG images
API Changes:
Added GetDeleteGroups() routine
Oct. 26, 2006 - Version 6.50
Changed name of new "-eval" option to "-if"
Added read support for PhotoStudio Unicode comment (thanks Dec Anisimov)
Recognize the "PHUT" Photoshop IRB resource type (thanks Dec Anisimov)
Extract PhotoshopBGRThumbnail image from Photoshop information
Write PNG compressed text for new tags when -z option is used
Added ability to write PNG:ModifyDate
Don't print Olympus LensType "release" if used to differentiate lenses
Changed TagName documentation to show actual format written instead of
format used to interpret the data (which differs only for a few odd tags)
Fixed bug in PNG writer which could cause duplicate tags to be written
Fixed minor problem in HtmlDump output
Fixed logic bug when writing XMP using += or -=
Oct. 21, 2006 - Version 6.49
Added -eval option for conditional batch processing [changed to -if in 6.50]
Allow .ExifTool_config file to be placed in application directory
Decode copyright information from JPEG APP12 "Ducky" segment
Decode Casio FirmwareDate
Added IFD0 ProcessingSoftware tag (0x000b, written by ACD Systems)
Added print conversion for InteropIndex
Write InteropVersion automatically when creating a new InteropIFD
Made RelatedImageFileFormat writable
Protect all InteropIFD tags from being copied by default with -TagsFromFile
Renamed XMP ExifImageHeight to ExifImageLength (to correspond with EXIF tag)
Oct. 19, 2006 - Version 6.48
Decode Minolta 7D FlashExposureComp (thanks Jeffery Small)
Decode InternalSerialNumber from newer FujiFilm models
Improved decoding of new Pentax PictureMode tag (thanks Doug O'Brien)
Updated CustomFunctions in Canon CRW images and recognize CIFF extension
Added a couple new Pentax LensType's (thanks Barney Garrett)
Changed "AdobeRGB" to "Adobe RGB" in all ColorSpace values for consistency
Fixed bug in recent update to extract large preview from Epson JPEG images
Fixed problem in -htmldump output introduced in 6.46
Various documentation improvements and updates
Oct. 15, 2006 - Version 6.47
Decode JPEG APP6 "EPPIM" segment used in Toshiba images
Process PICT images to extract JPEG preview when -u option is used
Added OtherImage composite tag
Added PentaxModelID for K110D and a new K110D PictureMode tag
Fixed problem extracting CoverArt from some MP4 audio files
Fixed problem decoding Canon BulbDuration (affects Composite ShutterSpeed)
Fixed problem reading/writing large Epson preview image in R-D1 JPEG images
and allow large (>64kB) preview images for all make/models
Oct. 11, 2006 - Version 6.46
The "-ext" option now overrides internal file selection rules
Expand filename wildcards on Windows command line (thanks Marjolein Katsma)
Enhanced warnings when copying information to a specific tag
Changed family 0 group name: GPS->EXIF
Changed family 1 group names: APP12->PictureInfo,GraphicConverter->GraphConv
Added a couple of new Pentax LensType's
Added JPEG.pm module (mainly for documentation purposes)
Fixed bug when re-writing NEF files which caused new preview image written
by Nikon Capture 4.4.0 to be lost
Fixed bug which could cause problems if a user-defined composite tag is
created with the same name as an existing tag
Oct. 6, 2006 - Version 6.45
Added ability to create JFIF segment
Decode information in JPEG APP8 "SPIFF", APP12 "Ducky", and APP15
GraphicConverter segments
Improved html dump feature to dump all JPEG APP segments
Decode maker notes in FujiFilm AVI videos
Renamed Nikon AFMode tag to AFAreaMode (thanks Tobias Briseno)
Changed "Image Quality" description to "Quality"
Added option to allow the htmlDump base offset to be specified
Changed EV tag name to LV since this is technically more correct
Print warnings if syntax problems are found in .ExifTool_config file
Use HOMEDRIVE and HOMEPATH (Windows cmd shell environment variables) for
.ExifTool_config path if neither EXIFTOOL_HOME nor HOME are available
Fixed some problems which were causing failed tests when using ActivePerl
User-defined Composite tags now override composite tags of the same name
Added a few more PentaxModelID's (K10D, A20, M20, W20)
Oct. 2, 2006 - Version 6.44
Now deletes all JPEG APP segments when deleting all information
Decode Ricoh APP5 RMETA information (custom fields in Caplio Pro G3 images)
Decode AVI Audio/Video stream headers
Recognize and preserve PhotoMechanic trailer when editing TIFF-based images
Added ability to delete JFIF, CIFF, Meta and FlashPix groups
Added ability to exclude groups when deleting all information
Added a number of new Canon, Nikon, Pentax, Sony and Minolta tags
Added description for GPSDOP tag (GPS Degree Of Precision)
Sept. 26, 2006 - Version 6.43
Added read support for M4A audio files
Simplified and documented technique for adding user-defined Composite tags
Issue minor warning when a tag used in an expression doesn't exist, instead
of silently inserting a '-' (use -m option for previous behaviour)
Sept. 21, 2006 - Version 6.42 (production release)
Re-worked Sony and Minolta LensID lists and added a number of new lenses
Extract maker note information from Sanyo MOV and MP4 videos
Recognize ARW extension of Sony Alpha-100 RAW images
Improved extraction of PreviewImage from damaged Minolta images
Sept. 18, 2006 - Version 6.41
Fixed calculation of Canon ISO in some images and renamed ShotISO to BaseISO
Minor improvement to order of operations when deleting multiple groups and
adding back information in batch mode
Sept. 14, 2006 - Version 6.40
Added ability to delete a group and write back information in one step
Compatibility Warning: This changes previous behaviour when adding and
deleting information in the same operation if new tag values are set
after a group has been flagged for deletion
Fixed problem writing to specific MIE groups
Minor improvements to verbose output while writing
Added a few new CanonModelID's (PowerShot G7, SD900, SD800IS, SD40)
Sept. 12, 2006 - Version 6.37
Decode Sony LensID's (thanks Thomas Bodenmann)
Added another Canon LensType
Added shortcut MakerNotes tag to represent the maker notes tags from all
manufacturers (useful when copying tags between files)
Improved MPEG decoding and calculate approx. Duration based on avg. bitrate
Issue a minor error when rewriting an empty IFD (previously this was fatal)
Print 2 decimal points of MeasuredEV (avoids round-off errors resulting in
failed tests on some systems)
Sept. 6, 2006 - Version 6.36 (production release)
Added a few more Canon LensType's
Improved decoding of Canon 400D ExposureTime and FileNumber
Decode AFPointsUsed for PowerShot models with 9 AF points
Fixed decoding of Canon 5D PictureStyle
Sept. 5, 2006 - Version 6.35
Added Canon NumAFPoints tag
Added support for Canon 400D custom functions
Renamed Canon AFPointsUsed20D to AFPointsUsed and decode for 30D and 400D
Changed phrasing in a text string to bypass bug in rpm build causing it to
obtain incorrect dependencies
Sept. 3, 2006 - Version 6.34
Removed empirical offset from Canon:MeasuredEV
Sept. 1, 2006 - Version 6.33
Added Composite:EV and Canon:MeasuredEV tags [comments welcome]
Sept. 1, 2006 - Version 6.32
Decode a new value of "Auto High" for Canon CameraISO
Added new Canon AutoISO tag, renamed Canon:ISO tag to ShotISO, and added a
new composite ISO tag to give the ISO that was actually used
Decode CanonModelID's for recently announced Canon cameras (400D, etc)
Decode PentaxModelID for Optio S7
XMP Changes:
Added support for rdf:nodeID attribute in XMP information
Changed XMP file MIME type from application/xmp to application/rdf+xml
to correspond with XMP specification
Write 'rdf:about' instead of 'about' (unqualified use now deprecated)
Don't write blank-line padding (as per XMP spec) for .XMP files
Fixed problem extracting XMP information from some EPS files
Fixed typos in some (not commonly used) XMP namespace URI's
Fixed FocalLength conversion for some Pentax-built BenQ and Samsung models
Aug. 23, 2006 - Version 6.31
Decode a number of new values for FujiFilm PictureMode (thanks Michael
Meissner)
Properly parse AVI DateTimeOriginal tag when month name is all capitals
Improved compatibility when running "exiftool" with no arguments (thanks
Jesse Zhang)
Added support for Nikon D80 lens information and recognize a new lens
(thanks Robert Rottmerhusen)
Improvements to Pentax maker note decoding (thanks Ger Vermeulen)
Fixed problem when extracting information from image in memory when the
UTF-8 flag is set for the image data (fixes install on RHEL 3)
July 28, 2006 - Version 6.30
Added ability to read/write APP0 CIFF segment (found in Canon PowerShot A5
and PowerShot Pro 70 images)
Improved decoding of Canon 30D FileNumber (was ShutterCount)
Made EXIF tags ImageNumber and ImageHistory writable
Fixed decoding of TargetExposureTime for Canon 20D/250D and ExposureTime
for Kiss Digital N
Fixed problem processing GIF images which don't contain a color table
Fixed bug in EXIF tag name documentation introduced in 6.12 where ExifIFD
group was not properly shown
Fixed typo in exiftool pod documentation ("GROUP:TAG" was reversed)
July 24, 2006 - Version 6.29 (production release)
Added XMP-xmpMM:PreservedFileName tag (used by Photoshop CS)
Fixed problem reading TIFF images which don't start at the beginning of the
file
July 12, 2006 - Version 6.28
Fixed bug introduced in 6.04 which prevented PNG tags from being deleted
Improved decoding of Canon PictureStyle information
July 7, 2006 - Version 6.27
Decode a number of new tags in Canon, Casio, FujiFilm, Minolta, Nikon,
Panasonic, Pentax, Ricoh and Sony and maker notes
Improved recognition of various Minolta maker note formats
Added a number of new Nikon Capture tags
Added support for XML-formatted XMP files
Properly handle mixed linefeed characters in PostScript images
Improved formatting of DICOM date/time values
Added "Actual Offset" entry to HtmlDump tooltip information
June 27, 2006 - Version 6.26
Avoid creating new SubIFD when copying all tags with "-all:all" from a RAW
or TIFF image (this gave problems if image was subsequently edited by PSCS2)
Fixed decoding of a few Nikon LensID strings
Minor fixes and changes to htmlDump and verbose output
Added a new Pentax LensType (thanks Kazumichi Kawabata)
June 19, 2006 - Version 6.25
Added read/write support for WDP (Windows Media Photo) images
Improved algorithm to recognize maker notes offsets which need fixing
Properly handle maker notes which have value offsets relative to the
individual IFD entries (Kyocera, Rollei and some Konica and Toshiba models)
Decode a couple of new Sigma lens values in Canon LensType
Decreased block size for buffered files to improve performance over slow
pipes
June 9, 2006 - Version 6.24
Added -fast option to avoid scanning to the end of JPEG images to check for
an AFCP or PreviewImage trailer
Recognize PS files which start with %!Adobe-PS instead of %!PS
Improved FlashPix verbose output
API Changes:
June 7, 2006 - Version 6.23
Added new feature allowing tag-name expressions to be used with the
-TagsFromFile option
June 5, 2006 - Version 6.22
Added read support for FPX (FlashPix) images and FPXR (FlashPix Ready)
JPEG APP2 meta information
Added AllDates shortcut tag to allow DateTimeOriginal, CreateDate and
ModifyDate to all be written via a single tag
Added shortcuts to tag name documentation
Return "0000:00:00 00:00:00" instead of "1970:01:01 00:00:00" as the string
representation of numerical times with a value of zero
May 26, 2006 - Version 6.21
Changed CR2 identification logic to properly identify CR2 images which have
been edited by PhotoMechanic
May 24, 2006 - Version 6.20
Added read support for Real audio/video (RA, RM, RV, RMVB, RAM, RPM) files
Downgraded "Error reading value..." message from an error to a warning
Fixed bug where IgnoreMinorErrors option could get set when writing images
with NikonCapture information
Fixed two ID3 tag names which contained spaces
Fixed problem parsing DateTimeOriginal in Casio EX-Z30 AVI files (thanks
Joachim Loehr)
Fixed problem with apostrophes in HTML documentation for some browsers
API Changes:
Can now call Options() with undefined value to set option value to undef
May 16, 2006 - Version 6.19
Added read support for SWF (Shockwave Flash) files
May 15, 2006 - Version 6.18
Added read support for MPEG audio/video files
Decode audio information in MP3 files
Print Nikon:LensPosition in hex
May 12, 2006 - Version 6.17 (production release)
Fixed problem with rpmbuild on Mandriva 2006.0 (thanks Niels Kristian)
Fixed typo in iptc2xmp.args and xmp2iptc.args which prevented the XMP
Instructions from being copied properly (thanks Mark Tate)
Handle byte order mark in unicode EXIF strings
May 8, 2006 - Version 6.16
Write %ADO_ContainsXMP comment when adding XMP to EPS images
Don't issue DSC warning when writing Adobe version 3.1 EPS images
Added separate table for decoding tags in IFD0 of Panasonic RAW images
Improvements to Nikon AF point decoding (thanks Roger Larsson)
Allow .ExifTool_config directory to be specified by setting the
EXIFTOOL_HOME environment variable
Made all maker note write errors minor so they can be ignored if necessary,
allowing information to be written to images with corrupted maker notes
Minor change to perl-Image-ExifTool.spec to fix problem with rpmbuild
(thanks Volker Kuhlmann)
Fixed bug which could cause incorrect date to be calculated when shifting
date/time values
Apr. 20, 2006 - Version 6.15
Changes to MIE specification involving string lists and alternate languages
Apr. 18, 2006 - Version 6.14
Fixed some problems with EPS writer and removed beta testing status (thanks
to Tim Kordick for help with testing)
Created new MIE meta information format [Note: The MIE module is fully
functional but the MIE format specification is still in development]
Added print conversion for SpatialFrequencyResponse
Extended meaning of -z option when writing to allow compressed information
to be written to MIE files
Added Minolta FlashMetering tag
API Changes:
Apr. 9, 2006 - Version 6.13
Fixed problem with writing FileName that caused format codes not to be
properly expanded if the specified filename already existed
Standardized reported FileType for ACR, AIFC, CRW, JP2, PS and PSD files
Allow 2 values to be written for EXIF TimeZoneOffset and make EXIF
SecurityClassification writable
Apr. 5, 2006 - Version 6.12
Avoid printing garbage for DNG maker note information that was not copied
properly by the Adobe DNG converter (affects converted ORF images)
Disabled "Possibly incorrect maker notes offsets" warning for a number of
Olympus models
Fixed bug introduced in 6.04 which could cause endless loop (eeek!) when
writing tags with PostScript equivalents
Fixed error reading some DICOM images
Apr. 3, 2006 - Version 6.11
Added a few new Pentax LensType's
Fixed bug rewriting MOS images (this bug introduced in version 5.95 caused
an error message and prevented the file from being rewritten)
Mar. 31, 2006 - Version 6.10
Added ability to use filename format codes %d, %f and %e in values written
to FileName and Directory tags
Fixed problem of odd filenames being generated when setting FileName from an
invalid date/time tag
Removed debugging print statement forgotten in Olympus code of 6.07 (oops)
API Changes:
Mar. 30, 2006 - Version 6.09
Made FileName and Directory writable (enabling a whole new functionality!)
Added ability to write DOS-style EPS images [Note: still in beta testing]
Increased precision of Composite Red/BlueBalance print conversion
When combining the -o and -overwrite_original options, the original file is
now erased if the new file is written successfully
Added a new Nikon lens (thanks Werner Kober)
API Changes:
Added SetFileName() routine
In list context, CountNewValues() now also returns a "pseudo" tag count
Mar. 25, 2006 - Version 6.08
Made YCbCrCoefficients and YCbCrPositioning protected when writing
Decode some new Nikon-specific tags in QuickTime videos from Nikon cameras
Calculate Red/BlueBalance for Olympus images
Fixed "APP1 segment too large" problem when copying all tags from Canon
EOS-5D or EOS-30D CR2 image to JPEG image
Fixed problem running "exiftool" with no arguments in Windows cmd shell
Mar. 22, 2006 - Version 6.07
Added a number of new Olympus tags (thanks Frank Ledwon)
Decode Adobe JPEG APP14 segment (thanks Didier Giet)
Made Rotation writable in CRW images
Changed some FujiFilm WhiteBalance strings
No longer return multiple tags when a group is specified unless the
duplicates option is enabled or the group name is 'all' or '*'
Mar. 20, 2006 - Version 6.06
Added validity check for Canon FocalPlaneX/YSize which resulted in incorrect
values of FocalLength35efl being calculated for some PowerShot models
Made Opto-ElectricConvFactor value binary
Mar. 18, 2006 - Version 6.05
Improved JPEG writer to tolerate any segment ordering
Fixed Olympus ExtenderStatus to work with E-330 (thanks Mark Dapoz)
Mar. 15, 2006 - Version 6.04
Added write support for EPS and PS images [Note: still in beta testing --
must currently use the -m option to enable writing to EPS images]
Added ability to write ICC_Profile data as a block
Added read/write support for ICC and ICM color profile files
Added read/write support for ERF (Epson Raw Format) images
Added a couple of new Olympus tags and LensType's (thanks Mark Dapoz)
Added ability to scan past unknown header to find JPEG or TIFF image
Added Canon EOS 30D custom functions
Renamed Panasonic SerialNumber tag to InternalSerialNumber
Renamed Canon 5D PictureNumber tag to ImageNumber
Improved MRW reading and writing
Decode a number of new Minolta tags and changed names of some existing tags
Decode some type-specific data in ASF StreamProperties, including video
ImageWidth and ImageHeight
Extract a few more PostScript tags and derive ImageWidth and ImageHeight for
PostScript documents
Some improvements to Panasonic decoding (thanks Tels)
API Changes:
'Unsafe' tags are now copied by SetNewValuesFromFile() if specified
explicitly
Internal Changes:
SubDirectory tags are no longer Writable by default in WRITABLE tables
Mar. 2, 2006 - Version 6.03
Added print conversion for CFAPlaneColor
Decode CFAPattern as written incorrectly in ASCII by some Panasonic cameras
Added recently announced Canon cameras to CanonModelID list
API Changes:
Added ability to prefix tag name with group in arguments to ImageInfo()
(read/write symmetry is now improved since this feature already existed
in the write routines, and now group names can be used in shortcuts)
Changed order of filtering for Group# option and tag exclusions to be
applied after extracting tags specified in calls to ImageInfo()
Feb. 26, 2006 - Version 6.02
Fixed problem rewriting Photoshop IRB resources as written by some
applications (eg. PixVue)
Improved decoding of AVI files to increase speed and extract more tags
Added -overwrite_original_in_place option
Added a number of new XMP tags and bring XMP support up to new
specification, plus a few undocumented XMP-aux tags (thanks Lou Salkind)
Added support for large DNG preview image (with JpgFromRaw tag)
Added ability to decode DNG Adobe MakerNotes
Added SEMInfo tag (thanks Robert Mucke)
Decode (but don't rewrite) old PS APP13 "Adobe_Photoshop2.5:" segment
Feb. 20, 2006 - Version 6.01
Added back RedBalance and BlueBalance as composite tags
Fixed potential problem in File::RandomAccess which could cause a "substr
outside of string" warning
Feb. 19, 2006 - Version 6.00 (production release)
Added read support for Sony SR2 raw images (but most tags still unknown)
Added read support for Kyocera Contax N Digital RAW images
Added ability to write or delete shortcuts which reference multiple tags
(previously only shortcuts referencing a single tag were writable)
Changed descriptions of FNumber, ExposureTime, ISO, DateTimeOriginal,
CreateDate and ModifyDate to more closely match their tag names
Separated Canon and Nikon Red/BlueBalance information into individual
components with tag names like WB_RGGBLevels
Decoded a number of new Canon tags for EOS models, including ColorBalance
tables, 20D AF points and SensorInfo (thanks Rainer Honle)
Fixed incorrect decoding of EOS 10D/300D color balance modes
More additions and minor fixes to Canon decoding
Made EOS-1D personal functions writable
Added ability to write bitmasks at the PrintConv level
Set MIME type for all RAW image formats to "image/x-raw"
The -f option is no longer implied when -S and -s are combined
Fixed bug introduced in 5.99 which broke the "-tagsFromFile @" feature
Fixed problem with offsets in verbose dump of CRW images
Fixed problem with some tags in Canon images not printing without -a option
Fixed problem with validation of Canon PictureInfo for images rotated by
Canon ZoomBrowser EX (thanks Joshua Bixby)
Feb. 1, 2006 - Version 5.99
Major additions to Canon maker note decoding, including EOS-1D personal
functions (thanks Rainer Honle for decoding many 5D tags)
Added Canon maker note footer when rewriting Canon maker notes
Attempt to fix problem where ScaleFactor35efl was calculated incorrectly for
some Canon images
Reduce memory usage and speed up writing of large TIFF images
Fixed problem with binary data offsets in verbose dump
Fixed problem writing Comment if 'File' group specified
Fixed bug which could cause formatting error in htmlDump output
Jan. 22, 2006 - Version 5.98
Enhanced FMT syntax for -o, -w and -tagsFromFile options
Decode maker notes of Samsung DX-1S
Added ability to list tags in a specific group
Recognize maker notes of a few more Kodak models
Added a few more Canon LensType's
Added missing semicolons in HtmlDump JavaScript output
Jan. 16, 2006 - Version 5.97
Added support for Canon 5D custom functions (thanks Rainer Honle)
Added support for Canon 1DmkII and 350D custom functions
General fixes and improvements to Canon custom functions
Renamed ICC_Profile Copyright to ProfileCopyright
Report all extraction errors when copying only specified tags from file
Avoid issuing "Error rebuilding maker notes" warning when copying maker
notes that don't require rebuilding
Jan. 14, 2006 - Version 5.96
Fixed problem where XMP information could be lost when writing PSD images
Jan. 12, 2006 - Version 5.95
Decode AIFF SampleRate
Fixed problem where FileType was being set twice for AIFF files
Patched problem reading some file types through Windows cmd shell pipeline
Properly identify CR2 images read via pipes (previously identified as TIFF)
Improved formatting of printed values for some DNG tags
Fixed problem with EXIF format of some tags when writing
Changed 'rational' format names to match full bit size of value
Jan. 10, 2006 - Version 5.94
Fixed problem extracting OriginalRawImage from little-endian DNG images
Fixed problem where "unreferenced bytes" error could be incorrectly issued
when deleting all EXIF from a TIFF image
Jan. 9, 2006 - Version 5.93
Added ability to write JFIF information
Jan. 9, 2006 - Version 5.92
Added ability to extract and decompress original raw image from DNG
Fixed problem extracting information from some image types in pipelines
Decode more information in PSD images
Jan. 7, 2006 - Version 5.91
Added write support for PSD images
Made a couple more Photoshop tags writable
Jan. 6, 2006 - Version 5.90
Added read support for AIFF audio files
Made Photoshop:XResolution and Photoshop:YResolution writable
Fixed problem with processing some RIFF files
Added a new Canon LensType
API Changes:
SetNewValue() now accepts an ARRAY reference for setting list-type tags
such as Keywords, or a SCALAR reference for binary data, so it may now
be called directly with any value returned by GetValue().
Jan. 3, 2006 - Version 5.89
Recognize Panasonic Type 2 maker notes
Changed Nikon LensID to a composite tag to allow better decoding of
non-Nikon lenses, and added a bunch of new lenses to the list
Jan. 1, 2006 - Version 5.88
Added ability to read and write AFCP information in JPEG images
Added read support for WMV video and WMA audio files (ASF format files)
Added EXIF tags 0x82a5-0x82ac
Fixed TagID of IntergraphPacketData tag
Fixed problem in rewriting some types of JVC maker notes
Renamed WAV module to RIFF
Dec. 22, 2005 - Version 5.87 (production release)
Added support for JVC maker notes
Extract a number of new DNG tags plus DNG JPEG preview image
Renamed DNGCameraSerialNumber tag to CameraSerialNumber
Dec. 20, 2005 - Version 5.86
Added support for AVI and MP4 videos
Improved decoding of Olympus maker notes
Improved APP12 decoding
Improved CanonPictureInfo validation to work with more PowerShot models
Display Canon 1D serial numbers with 6 digits
Decode maker notes of Nikon D1
Combining -t with -S now gives a single-line tab-delimited list of values
Extract preview image for Samsung Digimax i5
Dec. 13, 2005 - Version 5.85
Added ability to read and write XMP files which don't have an xpacket header
Fixed problem deleting entire XMP data block using '-xmp=' syntax
More minor HtmlDump improvements
Dec. 12, 2005 - Version 5.84
Minor improvements to HtmlDump output
Dec. 12, 2005 - Version 5.83
Added -F option to allow maker notes offsets to be fixed
Added -htmlDump option to generate a verbose HTML-based hex dump of EXIF
and/or TIFF information (cool new diagnostic tool)
Attempt to validate maker notes offsets and issue warning if they look wrong
Fixed problem rewriting PreviewImage in some Olympus and Pentax images
Increased speed for extracting large preview images
Improved synthetic maker notes when coping tags from CRW file
Display absolute offsets for EXIF values in very very verbose mode
Verbose option output is now written to file if -w option used
Speed up rewriting of some TIFF images when using ActivePerl 5.8.x for
Windows (image strips are now copied in a single block if they are
contiguous in the file to avoid ActivePerl bug which causes extremely poor
performance when concatenating a large number of memory blocks)
Added a couple of new Nikon and Pentax lens ID's (thanks Robert Rottmerhusen
and David Buret)
Decode PrintIM information in Casio QV-4000
Fixed Decoding of Canon EOS D60 serial numbers to agree with Canon utilities
API Changes:
Added HtmlDump and TextOut options
Nov. 26, 2005 - Version 5.82
Fixed bug which caused error rewriting Minolta MRW images
Added MRW write test
Improved MRW verbose output
Nov. 24, 2005 - Version 5.81
Changed writing of TIFF so that existing IPTC will be rewritten as int32u
whenever IPTC is edited, regardless of original format type. This allows
files to be 'fixed' even if IPTC was previously another format (now we get
to see if there is any software out there that barfs on int32u's...)
Changed the -s option so tag names are displayed instead of descriptions
(now similar to the -S option, but values are aligned in a column)
Remove padding at the end of IPTC record when writing
Fixed problem which was generating a warning with ActivePerl 5.6.1
Nov. 22, 2005 - Version 5.80
Changed writing of new TIFF IPTC information to make it visible in Nikon
Capture (for some reason requires int32u format)
Installed patch for building of ExifTool RPMS on Mandriva Linux (thanks
Niels Kristian)
Nov. 22, 2005 - Version 5.79
Fixed problem which could render XMP information unreadable by Photoshop
when editing some XMP written by Photoshop CS2
Nov. 21, 2005 - Version 5.78
Fixed problem which could generate an error when adding IFD1 to an image
Nov. 18, 2005 - Version 5.77 (production release)
Allow integer tag values to be specified in hex (with leading '0x')
Fixed problem which generated warnings about symbol "@indent" in Nikon.pm
when using older versions of Perl (observed with 5.6.1)
Nov. 16, 2005 - Version 5.76
Tolerate extra null padding at end of TIFF images (as written by Photoshop
CS) when rewriting TIFF images
Minor improvements to DICOM image processing
Updated FAQ
Nov. 14, 2005 - Version 5.75
Fixed problem decompressing deflated DICOM images
Nov. 14, 2005 - Version 5.74
Added read support for DICOM (DCM, DC3, DIC, DICM) and ACR-NEMA (ACR)
medical image files
Decode a lot more Nikon Capture information and add write ability
Updated Nikon makernote decoding for D200 and new AF-S Nikkor 18-200 lens
(thanks Werner Kober)
Added a number of new Canon LensType's (thanks Volker Gering)
Recognize file types even if they have the wrong extension
Nov. 7, 2005 - Version 5.73
Added ability to shift date/time tag values
Extract Red/BlueBalance tags for Nikon D2Hs, D50 and D2X
Decode Nikon Capture Data to extract IPTC information and Rotation
Added a new Olympus LensType (thanks Michael Meissner)
Oct. 28, 2005 - Version 5.72
Added ability to create XMP data files. This is more significant than it
sounds: The -o option may now be used to generate XMP files from
information in any other format, or even to create an XMP file from nothing
more than tags defined on the command line.
Added printout of number of directories created with -w and -o options
Improved error handling
Effectively set preferred group to 'XMP' when writing XMP data files
Fixed problem rewriting maker notes of some Pentax cameras
API Changes:
Added CanWrite() and CanCreate() functions
Allow WriteInfo() source file to be undefined to create new file
Allow WriteInfo() output file to be undefined to edit file in place
Added extra argument to WriteInfo() to specify output file type
Oct. 24, 2005 - Version 5.71
Added ability to read/write .XMP data files
Added -listf option to print list of recognized file types
Changed "-group#" option to "-listg#" (but still support old -group#)
Moved Kodak APP3 "Meta" tags from EXIF to a new Kodak "Meta" group
Oct. 23, 2005 - Version 5.70
Significant internal changes to improve speed and reduce memory usage
Fixed a bug introduced in version 5.63 which caused incorrect XMP GPS
coordinates to be returned
Changed handling of Kodak date records
API Changes:
Added ability to access original 'Raw' values via GetValue()
GetValue() now returns empty array in list context if value is undefined
Values are now converted as they are requested, so the PrintConv option
now applies to GetInfo() and GetValue() instead of ExtractInfo()
Oct. 19, 2005 - Version 5.69
Changed UTF-8 bug fix introduced in 5.67 to improve portability and allow it
to work with Perl versions back to 5.6
Changed some offsets in verbose output from relative to absolute addressing
Improved APP12 decoding
Changed technique for rounding off extracted rational values
API Changes:
Changed handling of floating point numbers to tolerate locales where a
comma is used instead of a decimal point
Oct. 17, 2005 - Version 5.68
Added support for reading Sigma RAW (X3F) images
Oct. 13, 2005 - Version 5.67 (production release)
Added support for reading PICT images
Fixed a problem when writing information via the ExifTool API if using Perl
5.8 or later and passing a UTF-8 encoded string to SetNewValue(). The
problem generated an error which prevented the file from being written
Fixed timezone problem in timestamps of QuickTime images which was causing
a failed test
Oct. 10, 2005 - Version 5.66
Enhanced -tagsFromFile option to allow %d, %f and %e in filenames
Extract a few more tags from Canon EOS 5D images
Allow multiple ICC_Profiles to be extracted from same image and add a number
to the group1 name for subsequent profiles to make the tag locations unique
Changed Photoshop PixelsPerInchX/Y and QuickTime DotsPerInchX/Y tag names to
X/YResolution. Neither has a corresponding ResolutionUnit tag, so inches
should be assumed if no resolution unit is present
Added tests of Nikon, Sony and PDF decryption algorithms
Oct. 7, 2005 - Version 5.65
Added read support for QuickTime MOV videos (and QTIF images if anyone
cares)
Extract maker note information from Sony SRF raw images
Improved Jpeg2000 decoding
Decode a few more Photoshop tags
Issue an error if there is extra data after the normal end of file when
rewriting TIFF images (avoids possible data loss if attempting to write an
unsupported RAW image with a TIFF-like data structure)
Added ability to replace existing tags with user defined tags
Denote minor errors/warnings by adding '[minor]' to the message (these are
the errors which can be ignored with the -m option)
Fixed problem of missing LeafSubIFD when rewriting MOS images
Removed hack to write Leaf maker note information at start of image
Sept. 30, 2005 - Version 5.64
Improved writing of Canon CR2 images to preserve CR2 header and editing
information written by Canon Digital Photo Professional software
Extract information from JPEG APP0 JFIF segments
Added support for extracting Creo Leaf meta information from MOS images
Added ability to define new tags in .ExifTool_config file and added a sample
ExifTool_config file to the distribution
Extended the -w option to allow an expression to be specified
Allow tag aliases to be used when writing
Changed print conversion of FileSize tag
Internal changes to tag lookup to improve speed when writing information
Decode Photoshop resolution information
Sept. 21, 2005 - Version 5.63
Added read support for MP3 and WAV audio files (Oops... ExifTool has
expanded beyond its "Image" roots!)
Added write support for PNG and MRW (Minolta RAW) images
Improved decoding of PNG profile information and added a few new PNG tags
Changes to handling of GPS coordinates:
Added -c (CoordFormat) option to format output of GPS coordinates
Added GPSPosition composite tag
GPS coordinates now show as decimal degrees with the -n option
Much more flexible about the input coordinate format when writing
Enforce proper formatting of XMP GPS coordinates
Added XMP-xmp Rating and Label tags, and a few missing XMP-exif GPS tags
Added new XMP-dex group
Added two new lenses to the Minolta LensID list (thanks Pedro Corte-Real)
Added a new lens to the Olympus list (thanks Shingo Noguchi)
Sept. 7, 2005 - Version 5.62
Fixed problem reading FujiFilm maker notes from RAF images
Extract comments from PPM/PGM/PBM images and add write support
Extract maker notes from Nikon Coolscan scanner images
Sept. 3, 2005 - Version 5.61
Added read support for PBM, PGM and PPM file formats
Added read support for RAF (FujiFilm RAW) file format
Sept. 2, 2005 - Version 5.60
Fixed bug where tag was deleted if TAG+=VALUE used for a non-list type tag
Fixed problem where reading some CRW files could generate a "Use of
uninitialized value in concatenation" warning
Restructured XMP to separate tags by namespace
Added XMP-xmpTPg, XMP-cc, XMP-xmpPLUS and XMP-PixelLive groups
Improved logic for editing XMP list-type tags
Removed SubDirectory tags from -list option output
More updates to Pentax LensType list
Changed Nikon FileSystemVersion tag name to FirmwareVersion
Added NikonCaptureData and NikonCaptureVersion tags
Aug. 24, 2005 - Version 5.55 (production release)
Added patch to fix word ordering when unpacking doubles on ARM systems with
little-endian byte order but big-endian word order (thanks Riku Voipio)
Added another lens to the Pentax LensType list
Aug. 22, 2005 - Version 5.54
Fixed problem introduced in version 5.50 which broke ability to delete
groups of information
Added a couple of new Pentax LensType's
Renamed Olympus Lens tag to LensType
July 29, 2005 - Version 5.53
Added -ext option to allow files to be processed or excluded from processing
based on their extension
Added MimeType tag
Convert PDF UTF-16 character strings to UTF-8 (or Windows Latin1 if '-L'
option used)
July 28, 2005 - Version 5.52
Removed warning message when writing CR2 files that was intended only for
Canon 1D TIFF files
July 27, 2005 - Version 5.51
Assume '-TagsFromFile @' for any redirected tags (eg. '-SRCTAG>DSTTAG' or
'-DSTTAG<SRCTAG') which are specified without a prior '-TagsFromFile'
July 27, 2005 - Version 5.50
Don't rewrite entire file if only FileModifyDate is being changed
API Changes:
Added CountNewValues() and SetFileModifyDate()
July 26, 2005 - Version 5.49
Decode encrypted PDF documents
Extract metadata from individual PDF pages
Speed up parsing of PDF files which use cross-reference streams
Improvements to verbose PDF output
Updated Nikon LensID's (thanks Robert Rottmerhusen)
Minor changes to Canon LensType strings (thanks Michael Tiemann)
July 21, 2005 - Version 5.48
Fixed parsing of XMP-pdf CreationDate and ModDate tags
July 21, 2005 - Version 5.47
Fixed problem where existing item in list was getting overwritten when
adding to XMP lists with '-TAG+=VALUE' syntax
Improved verbose output for PDF files and recurse into all Kids dictionaries
Don't print warnings when setting the values of non-priority tags unless
verbose
Added support for PDF-like Adobe Illustrator (.AI) files
July 19, 2005 - Version 5.46 (production release)
Fixed bug which could cause CRW file to be corrupted under some conditions
when writing and rewriting the same file
Added new Canon MaxAperture tag and a few more Canon LensType's (thanks
Michael Tiemann)
Changed PDF decoding to follow 'Next' links at the same level to avoid deep
recursion in long linked lists
July 19, 2005 - Version 5.45
Set FileType tags properly for newly added formats
Added Canon TargetAperture and TargetExposureTime and decode Canon 1D Mark
II lens information structure (thanks Michael Tiemann)
Decode more Canon lenses and Canon TargetImageType
Changed Priority of Error and Warning tags so that first message takes
precedence
Fixed problem where Nikon D70 files grew by 20 bytes each time they were
written
Minor changes to BMP tags
Added support for AI (Adobe Illustrator) file format
Added BMP, PDF, Photoshop and PostScript tests
July 16, 2005 - Version 5.44
Added read support for BMP (and DIB) images
July 16, 2005 - Version 5.43
Allow shortcut tags to be used with -tagsFromFile
July 15, 2005 - Version 5.42
Added ability to read PostScript (EPS and PS) and PDF images
Decode PhotoshopSettings in TIFF images
July 8, 2005 - Version 5.41
Added ability to read Photoshop PSD images
July 8, 2005 - Version 5.40
Improved decoding of Minolta MRW files to support new cameras
Changed Minolta ImageQuality values to conform with Minolta terminology
(thanks to Niels Kristian Bech Jensen)
Write Windows XP tags to IFD0 instead of ExifIFD (they worked fine in the
ExifIFD, but Windows writes them to IFD0 so they really should go there)
Really quiet option (-q -q) still suppresses warnings, but no longer
suppresses errors
July 6, 2005 - Version 5.39
Using -b option now disables -h, -H and -g options
Decode Canon Panorama information
Improved maker note decoding for some Minolta camera models
Changed base offset for Casio EX-Z3 to fix problems decoding some maker note
information (it looks like the samples from dpreview.com I had used to code
this originally had been corrupted by 3rd party software because new samples
downloaded from another web site didn't have the same problem)
Improved validation of PreviewImage
July 4, 2005 - Version 5.38
Translate older 'xap' XMP namespace prefixes (xap, xapRights, xapMM and
xapBJ) to their newer 'xmp' counterparts (xmp, xmpRights, xmpMM and xmpBJ)
when generating XMP family 1 group names
Added Minolta LensID (thanks to Shingo Noguchi)
Other changes to Minolta tags (and fix incorrect spellings of Konica, thanks
Niels Kristian Bech Jensen)
Updated Nikon LensID's (thanks Robert Rottmerhusen)
June 29, 2005 - Version 5.37
Removed unknown status from Photoshop CopyrightFlag and made it writable
Decode a new Canon EasyMode value
June 28, 2005 - Version 5.36
Added new composite tags: DOF, CircleOfConfusion and HyperfocalDistance
Minor changes to simplify and improve generated XMP when writing
Convert FocusDistance tag values to meters
Reject ScaleFactor35efl if outside reasonable limits
Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
Ignore white space around '=' sign of arguments in '-@' file
June 24, 2005 - Version 5.35
Added support for MNG and JNG images
Added a few new PNG tags
June 21, 2005 - Version 5.34
Decode ASCII-based APP12 information (tested with Agfa and Polaroid images)
Decode remaining PNG chunks in original spec except for IDAT (image data)
Only generate FileSize and FileModifyDate tags for plain files
June 16, 2005 - Version 5.33
Changed print conversions for Contrast, Saturation and Sharpness throughout
to be more consistent and to better conform with the EXIF specification
Decode Minolta Dimage Z2 MinoltaImageSize
June 15, 2005 - Version 5.32 (production release)
Changes to a few PNG and MIFF tag names
Improved PNG/MIFF documentation
June 14, 2005 - Version 5.31
Decode compressed information in PNG images if Compress::Zlib is available
Decode profile information (including EXIF, XMP, IPTC and ICC_Profile
information) from PNG and MIFF images
Updated Nikon LensID strings and decode D50 lens info (thanks Robert
Rottmerhusen)
June 10, 2005 - Version 5.30
Added PNG and MIFF read support
Decode Nikon SensorPixelSize
June 9, 2005 - Version 5.27
June 8, 2005 - Version 5.26
Automatically fix out-of-sequence entries in IFD when writing to comply with
the TIFF specification (but not in maker notes)
Create new EXIF information using the same byte order as the maker notes
when using -tagsFromFile to copy maker notes to a file which previously
contained no EXIF information
Fixed problem which could copy corrupted maker notes if using multiple
-tagsFromFile options in a single command
Changed Orientation "Rotate 90 CCW" to "Rotate 270 CW", and changed Canon
AutoRotate strings to match
Made StripOffsets and StripByteCounts binary data if output is too long
Allow "-TagsFromFile '-TAG<SRCTAG'" as well as the current '-SRCTAG>TAG'
Recognize some more Nikon lenses
API Changes:
Added ByteOrder option to specify byte ordering when creating new EXIF
segment in a JPEG file
June 3, 2005 - Version 5.25 (production release)
Fixed problem with writing IPTC Time tags
Changed Composite ShutterSpeed to ignore bulb duration if it is negative
API Changes:
Allow tag name to be prefixed by group in calls to SetNewValue()
June 1, 2005 - Version 5.24
Added new "XMP" tag to allow read/write of XMP data as a block
Added numbers to subsequent SubIFD group names to allow tags in various
SubIFD's to be accessed individually
Give priority to tags in full resolution image (whichever TIFF directory
this is in)
Renamed ExifData tag to EXIF (but didn't make it writable as a block like
XMP)
Recognize maker notes from more Konica Minolta cameras
Extract PreviewImage for Samsung Digimax V700, Kenox V10 and Digimax V10
Changed validation of CanonPictureInfo to work with more PowerShot cameras
(Note: for these cameras, CanonImageHeightAsShot may not be meaningful)
Added a number of new IPTC ApplicationRecord tags
Added Nikon ExposureDifference tag
Removed trailing white space in values printed by exiftool
May 27, 2005 - Version 5.23
Changed behaviour of -tagsfromfile slightly so that '-GROUP:TAG>DSTTAG' now
commutes information between different groups unless a destination group is
specified
Improved reliability of calculating offsets in Pentax maker notes
May 26, 2005 - Version 5.22
Fixed problem with new '-tagsFromFile @' feature which occurred when
simultaneously copying tags and writing new values to multiple target files
(the new values were only getting written to the first file)
May 25, 2005 - Version 5.21
Allow target file to be specified by '@' with -TagsFromFile option
Fixed bug which caused internal error when using -TagsFromFile option to
copy PrintIM information to a file that already contained PrintIM data
Fixed problem which broke the (now deprecated) -allTagsFromFile=FILE syntax
Fixed problem decoding Pentax Date for some Optio cameras
Fixed problem in GeoTiff decoding which could cause some tags to be missed
Decode a number of new Pentax tags (using my new Optio WP!)
Made Photoshop URL writable
Limit length of JPEG segment dump at Verbose=4, and add Verbose=5 level
API Changes:
Added SaveNewValues() and RestoreNewValues()
May 20, 2005 - Version 5.20
Give names to many Photoshop tags, but leave them marked as 'Unknown' so
they aren't extracted under normal circumstances (must use the -u option)
Read/write Kyocera maker notes properly (although Kyocera information
remains unknown)
Changed installation tests to tolerate rounding-off errors or format
differences in floating point numbers
May 17, 2005 - Version 5.19
Added -overwrite_original option
May 16, 2005 - Version 5.18 (production release)
Added -@ option and two utility files (iptc2xmp.args and xmp2iptc.args) to
use with this option for translating between IPTC and XMP tag names
Disable normal console output if -v option used and no tags specified
Repair incorrect first byte of MRW preview images when extracting
More tweaking of -TagsFromFile order of operations
May 14, 2005 - Version 5.17
Allow 'All' to be used as a group name with '-TagsFromFile' option to
preserve original tag groups (eg. '-all:all')
PrintIM information is now copied with -TagsFromFile
Decode EXIF:Gamma tag
Decode Canon 350D FileNumber
Made a few more tags writable
Don't rewrite TIFF files which could be Canon 1D RAW files since this
format currently isn't supported (can use the -m option to write anyway,
which will remove the RAW image data if this is a 1D file)
Don't add null terminator to UserComment, GPSProcessingMethod or
GPSAreaInformation
Improved logic for handling command line tag names and exclusions,
especially when associated with the -TagsFromFile option
May 10, 2005 - Version 5.16
Decode a number of new Nikon lens-related tags (thanks again Robert
Rottmerhusen)
Various other improvements
May 7, 2005 - Version 5.15
Added powerful new information redirection feature to -TagsFromFile option
Added writable File:FileModifyDate tag which represents the filesystem
date/time of last modification
Allow '*' to also be used as well as 'all' to represent all tags, although
this feature is not documented for the command-line options because 'all' is
more convenient since '*' must be quoted to prevent shell globbing
May 5, 2005 - Version 5.11
Fixed problem where the proper tags weren't excluded from being extracted if
-GROUP:All and --TAG options are used together on the command line
May 5, 2005 - Version 5.10
Changed -AllTagsFromFile option to -TagsFromFile and allow copied tags to be
specified on the command line. (-AllTagsFromFile is preserved as an alias
to -TagsFromFile for backward compatibility.)
Allow -GROUP:All and --GROUP:All on command line to extract or exclude all
tags in specified group
Allow family 1 group names to be used when deleting groups with -GROUP:All=
Added composite CFAPattern derived from CFARepeatPatternDim and CFAPattern2
Fixed problem where tags which can exist in both IFD0 and ExifIFD weren't
being properly removed from one IFD when written to the other
Added FAQ
May 2, 2005 - Version 5.06
Made a few more EXIF tags writable
No longer add null-terminator to JPEG comment (was confusing xv)
Apr. 20, 2005 - Version 5.05 (production release)
Added Nikon LensFStops tag (thanks to Robert Rottmerhusen)
Reliability improvements for writing maker notes information
exiftool now returns error status if there were errors reading/writing files
Apr. 18, 2005 - Version 5.04
Fixed problem where maker notes of Olympus C2500L could get corrupted when
writing
Apr. 18, 2005 - Version 5.03
ExifTool now requires Perl version 5.004 or higher (previously 5.002 was OK)
Restrict the size of preview images where data is referenced directly as
the value data of an IFD entry (only affects Casio images)
Fixed problems rewriting some Casio maker notes
Change priority of orientation (and a number of other tags which may appear
in IFD1) so value in IFD0 takes precedence of value in IFD1 if it exists
API Changes:
Allow any file reference, not only GLOB references, to be used in
function calls
Apr. 16, 2005 - Version 5.02
Fixed problem rewriting Pentax *istD preview image
Apr. 15, 2005 - Version 5.01
Major speed improvements for writing large JPEG files with preview images
Fixed problem rewriting preview in Olympus E-1 and E-300 images
Old large preview is now properly removed when writing new small preview
Allow PreviewImage to be deleted (ie. set length to zero)
Don't extract images that have zero length
Deleting MakerNotes group now works in conjunction with -allTagsFromFile
Change image validation again to only validate images for tags that were
specifically requested
Separate lookups by manufacturer for Olympus lens information
Apr. 14, 2005 - Version 5.00
ALL MAJOR PLANNED WRITING FEATURES NOW IMPLEMENTED!
Finally solved problem of writing large preview images in JPEG files
-AllTagsFromFile now sets PreviewImage to 'dummy' if it exists in the maker
notes to avoid writing a large preview to the destination file (now you have
to do this manually afterwards if this is what you want)
Fixed problem rewriting Olympus E1 maker note subdirectories
Only validate extracted images when Binary (-b) option is used
Rename Olympus PreviewImageAvailable to PreviewImageValid, and check/set
this tag when reading/writing the preview image
Change priority of X/YResolution tags so IFD0 value takes precedence
Changes to Olympus Lens decoding
Apr. 11, 2005 - Version 4.95
Added ability to delete all meta information, or all information in a group
Create some mandatory IPTC tags automatically when writing IPTC information
Decoded a bunch more Olympus tags (thanks to Frank Ledwon)
Decoded a couple more Canon 1D MkII tags (thanks to Denny Priebe)
Fixed problem where Sony maker notes could be corrupted when rewriting file
Fixed problem that could cause wrong tag description to be printed for
missing tags when the -f option is used
Account for different encoding of Canon ExposureTime in 20D and 350D, and
lower priority of Canon ExposureTime and FNumber so regular EXIF values take
precedence because it appears these values may be model dependent (I hate it
when that happens)
Apr. 6, 2005 - Version 4.94
Added support for Kodak DX3215 and DX3700
Improved Kodak decoding and changed some Kodak tag names
Improved logic to guard against cyclical recursion in EXIF directories
Allow tags to be edited in IFD2, IFD3, etc...
Patched problem when writing Canon 350D images due to probable bug in 350D
firmware (version 1.0.1) that writes an incorrect ThumbnailLength in IFD1
Apr. 2, 2005 - Version 4.93 (production release)
Added IPTC XMP Core support
Added support for Kodak CX4200 plus other minor Kodak changes
Made Kodak maker notes writable
Minor changes to Olympus tag names and decoding
Split HTML TagNames documentation into separate files
Mar. 31, 2005 - Version 4.92
Added support for Kodak and Ricoh cameras
Decode still more Olympus E-1/E-300 tags (thanks Markku Hänninen)
Added 'Directory' tag
Decode a few more Pentax tags (thanks to John Francis)
Allow newlines in tag values on command line when writing
Fixed problem rewriting makernotes with sub directories (eg. Olympus)
Mar. 28, 2005 - Version 4.91
Decode yet more Olympus E-1/E-300 tags (thanks Markku Hänninen)
Changed decoding of Olympus E-300 Quality tag
Patched bug in Olympus maker notes that was causing ExifTool to report an
error when reading ORF files
Fixed problem where strings weren't being properly truncated at the null
terminator if there was a newline after the terminator
Improved decoding for some Nikon tags (thanks Tom Christiansen)
Added Nikon shortcut
Added composite SubSecDateTimeOriginal tag
Fixed problem where CRW file without file extension wasn't being identified
properly
Fixed problem extracting thumbnail from some (specifically Olympus) images
Changed verbose output to always show original EXIF format
Skip over EXIF entries with unknown format instead of aborting (while
reading only)
Recognize TIFF field type 13
Mar. 24, 2005 - Version 4.90
Extract Olympus PreviewImage, and decode a bunch more Olympus tags
Improvements to documentation
Mar. 23, 2005 - Version 4.89
Decode subdirectories in Olympus maker notes (now much more information is
extracted for E-1 and E-300 cameras, although most is still unknown)
Mar. 22, 2005 - Version 4.88
Convert exiftool help to POD format
Mar. 15, 2005 - Version 4.87 (production release)
Added notes to TagNames documentation
Mar. 11, 2005 - Version 4.86
Extract PreviewImage from CR2 files
Create mandatory GPS tags when adding new GPS directory
Bring IPTC newsphoto support up to spec (as if anyone uses this crap)
Fixed problem when setting 8-bit integer IPTC values
Mar. 10, 2005 - Version 4.85
Create most mandatory EXIF entries automatically when a new EXIF directory
is created
Fixed problem which caused an error when adding XMP information to a TIFF
file which didn't previously contain XMP
Made '=' optional with -AllTagsFromFile option
Fixed problem with verbose dump of zero-length directory (eg. Sony F717
maker notes)
Mar. 9, 2005 - Version 4.84
Interpret Olympus ImageQuality of 6 as RAW
Remove validation of TIFF identifier to allow forward compatibility with
untested RAW file formats (ORF files in particular seem to fiddle with this
identifier)
Mar. 8, 2005 - Version 4.83
Extract ThumbnailImage from Canon CRW files written by some cameras
Recognize ORF files from Olympus C5060WZ (and hopefully some others too!)
Mar. 7, 2005 - Version 4.82
Made a number of new EXIF tags writable, but classify them as 'unsafe' so
they aren't copied over with the -AllTagsFromFile option
Recognize a number of new and very uncommon EXIF tags
Remove copy number from tag name when using the -S option
Interpret Photoshop XMP:ColorSpace value of 4294967295 as 'Uncalibrated'
Mar. 4, 2005 - Version 4.81
Added user-definable shortcuts
Fixed problem with XMP:Identifier (should have existed in both XMP-dc and
XMP-xmp)
Mar. 2, 2005 - Version 4.80
The -n option now prints binary data values as "Binary data #### bytes"
API Changes: (NOTE: Change in API behaviour for binary data values)
Changed returned ValueConv values so that binary data is now returned as
a SCALAR reference, the same as with PrintConv values
Mar. 1, 2005 - Version 4.73 (production release)
Minor changes to XMP parsing to increase speed and improve validation
Feb. 28, 2005 - Version 4.72
Extract info from UTF-16 and UTF-32 encoded XMP
Convert EXIF text fields if encoded in Unicode
Fixed a few incorrect XP character translation codes
Fixed name of Nikon ColorBalanceD2H tag
Feb. 25, 2005 - Version 4.71
Fixed bug introduced in 4.70 which caused error when transferring
information using -AllTagsFromFile from a RAW file to a JPEG file
Feb. 24, 2005 - Version 4.70
Allow family 1 group name to be specified for any tag while writing
Fixed problem with writing Nikon PreviewImage to NEF files
Feb. 23, 2005 - Version 4.67
Added -L option to allow XP characters to be converted to Latin character
set instead of UTF-8. (Now XP characters can be displayed properly in
terminal windows which use either the UTF-8 or WinLatin1 character set.)
Make JpgFromRaw image writable in Nikon NEF files
Feb. 21, 2005 - Version 4.66
Recognize JPEG 2000 XMP UUID information
Extract Meta information from JPEG APP3
Yet more playing with XP characters (this has been a learning process for
me). Now special characters show up properly in my OSX terminal window, and
the reverse translation works so now they get written properly as well (for
Perl 5.6.1 or greater anyway... Earlier versions don't have the required
UTF-8 support to handle these special characters)
Improvements to TagNames documentation (including changing format names to
make them more consistent across different types of meta information)
Feb. 18, 2005 - Version 4.65
Fixed problem in translating XP characters
Feb. 17, 2005 - Version 4.64 (production release)
Added new tag name documentation (replaces old tag lists)
Made a few more DNG tags writable
Feb. 15, 2005 - Version 4.63
Remove null terminators in ICC_Profile 'desc' strings
Treat Olympus CameraID as a string (why wasn't it written this way?)
Added print conversion for EXIF:CFAPattern
Feb. 14, 2005 - Version 4.62
Convert XPTitle, XPComment, XPKeywords etc from XP character codes and add
write support for these tags
Decode JPEG 2000 Resolution, Label and URL information
Another try at patching 3 digit exponent situation which causes failed tests
on MSWin32-x86
Removed .J2K from recognized extensions (since apparently this is a raw JP2
codestream, and doesn't contain any metadata that ExifTool can extract)
Feb. 14, 2005 - Version 4.61
Don't print filename line when -p option used
JPEG 2000 improvements
Also recognize .JPX and .J2K extensions
Feb. 11, 2005 - Version 4.60
Added support for reading the JPEG 2000 (.JP2) files
Improved warnings on errors while setting tag values
Feb. 10, 2005 - Version 4.54
Added ColorTemperature tag for many Canon models
Added AutoRotate for Canon 10D and 300D
Lowered priority of Nikon ISO so that EXIF ISO is used instead if both exist
Changed names of PentaxISO and Casio ISOSetting to ISO, and lowered priority
as with Nikon ISO
Made Photoshop EXIF Camera RAW tags writable
Feb. 7, 2005 - Version 4.53 (production release)
Added FileNumber for Canon 20D (decoded by Juha Eskelinen)
Removed CanonA0Tag
Feb. 4, 2005 - Version 4.52
Added another CanonRaw test
Changes to Canon CRW documentation
Feb. 4, 2005 - Version 4.51
Finally found documentation for Canon CRW files (CIFF format)!!
Changed CanonRaw to bring code up to CIFF specification
Added a bunch more CanonRaw tags
Updated Canon CRW documentation
Feb. 2, 2005 - Version 4.50
Allow writing to specific IFD
Allow permanent tags (eg. MakerNotes tags) 'deleted' by setting them to an
empty string if '' is a valid value for the tag
Added test for rewriting Nikon D70 information
Added missing inverse conversion routines for GPS tags (now they are all
writable)
Decoded a few more Canon and CanonRaw tags
Added -z option to extract information from images in compressed files
Improved CanonRaw verbose output
Remove garbage after null terminator in CanonRaw string-type tags
Jan. 30, 2005 - Version 4.45
Added a few more Canon tags
Fixed bug with divide by zero error (in Perl, '0.0' is a true value -- doh!)
Jan. 30, 2005 - Version 4.44
Sort entries in synthesized Canon MakerNotes directory
Interpret Canon custom functions for models other than 10D in CRW files
Jan. 29, 2005 - Version 4.43
Synthesize Canon MakerNotes information when using -allTagsFromFile for a
CRW file
Decode WhiteBalance table in Canon maker notes
Rename CanonRaw CanonFileType tag to CanonImageType
Jan. 28, 2005 - Version 4.42
Fixed problem where multiple IPTC tags could be created if replacing
specific IPTC tag values with 'TAG-=VALUE'
Made EXIF SceneType writable
Renamed Nikon ISOUsed tag to ISO
Added documentation of Canon RAW (CRW) file format
Jan. 27, 2005 - Version 4.41
Added write support for Canon exposure parameters
Change validation of CanonPictureInfo to get it working for Canon 20D
Jan. 26, 2005 - Version 4.40
Added ability to write Canon RAW (CRW) files. With this format you aren't
allowed to add or delete any new tags (just as with the MakerNotes), except
for JpgFromRaw, which I like to be able to delete to save disk space
Added validation of JpgFromRaw images
Relax filtering on non-ASCII characters by exiftool script to allow
high-ASCII characters to be printed
Changed the tense of Orientation values to try to make the meaning more
clear. This tag can be a bit confusing. It gives the rotation that must be
applied to the image to view it properly (hence the rotation of the camera
when the picture was taken).
Patched problem which was causing failed tests on some platforms (floating
point format has 3 digits in exponent on Perl 5.8.5 MSWin32-x86, grrrr...)
API Changes:
Added 'Compact' option to not write blank padding as per XMP and IPTC
specs
Jan. 24, 2005 - Version 4.36 (production release)
Added support for reading Olympus Raw Format (ORF)
Jan. 23, 2005 - Version 4.35
Moved a couple of the informational warnings to verbose mode
Suppress warnings an non-critical errors with -m option
Made a few more of the EXIF tags writable
Made model-dependent tags Pentax FocalLength and Olympus Quality writable
Added ability to write CanonCustom tags
Added range check for integer values
Jan. 21, 2005 - Version 4.34
Fixed problem when writing Canon maker notes with -allTagsFromFile
Added -o option to write to different file or directory
Added handler to clean up temporary file on Ctrl-C
Re-wrote routine to rationalize floating point values (it is slower now, but
produces much prettier fractions)
Other minor improvements to writer code
Jan. 19, 2005 - Version 4.33
Added check at higher level and return warning if trying to delete
information from maker notes
Make GPS latitude and longitude a bit more flexible about the format they
accept when writing
Updates to documentation
Jan. 19, 2005 - Version 4.32
Now rewrites Casio EX-Z3 maker notes properly (well, not actually
'properly', but the way they were written in the first place, which is
wrong)
Added warning when writing information if original IFD entries were not in
the proper sequence, which is a violation of EXIF specs. (And surprise,
you'll never guess who does this too... Yup, the EX-Z3.)
Fixed parsing problem with GPSProcessingMethod and GPSAreaInformation
No longer truncates 'undef' values at first null character
Changed all DataDump tags to binary data types
Changed some warning messages
Documented the -m option (it's now official, even though it's been there
since version 4.10)
Added some more writer tests
Jan. 18, 2005 - Version 4.31
Now also copies over preview image in Nikon NEF files
Jan. 18, 2005 - Version 4.30
Now copies over preview images in EXIF data (large, external previews still
not copied)
Account for funny offsets in Casio EX-Z3 maker notes while extracting data
(but haven't figured out how to handle them when writing)
Fixed bug introduced in 4.20 that broke extraction of Canon PreviewImage
Jan. 17, 2005 - Version 4.23
Improve handling of unrecognized maker notes when writing
Jan. 17, 2005 - Version 4.22
Added check in -AllTagsFromFile to test for pointers in the maker notes
directory running outside the maker notes data. If they do, a warning is
issued and the maker notes are rebuilt properly before copying.
Fixed problem which could corrupt some values when editing maker notes
Jan. 17, 2005 - Version 4.21
Added Olympus Red/BlueBalance
Jan. 17, 2005 - Version 4.20
Added ability to edit MakerNotes!
Added more validation when writing IPTC information
Fixed display of Nikon FlashExposureComp for negative values
Fixed problem where the large JPEG image in Nikon and Pentax raw files was
misidentified as the ThumbnailImage. It is now extracted as JpgFromRaw.
This allows all 3 JPEG images contained in Pentax PEF files to be extracted:
ThumbnailImage, PreviewImage and JpgFromRaw.
Fixed problem on systems that use backslashes in directory names that
prevented exiftool from finding its libraries if not installed
Changed many Pentax tag names to remove "Pentax" prefix and conform more to
the other tag names (moving information between files of different formats
is much easier if tags have standardized names):
PentaxPictureMode => PictureMode
PentaxFocusMode => FocusMode
PentaxWhiteBalance => WhiteBalance
PentaxAEMetering => MeteringMode
PentaxFocalLength => FocalLength
PentaxZoom => DigitalZoom
PentaxSaturation => Saturation
PentaxContrast => Contrast
PentaxSharpness => Sharpness
Fixed FocalLength conversion for Pentax Optio S
Fixed printout of Nikon FileSystemVersion for older Nikon models
More improvements to reliabilty of preview image extraction
Fixed Quality for Olympus E-1
Jan. 12, 2005 - Version 4.15
Added Pentax LensType and RawImageSize tags
Change printing of some unknown values to hexadecimal
Now recognizes Nikon PEF files
More reliable extraction of preview and thumbnail images, particularly for
the various models of Pentax cameras
Added decoding of the Canon 20D custom functions and a new Canon20D shortcut
(thanks to Christian Koller)
Improved write logic for EXIF information
Improved logic in determining byte ordering of maker notes
Jan. 10, 2005 - Version 4.14
Fixed problem introduced in 4.13 that messed up new 4.12 features. doh.
(and added test to keep this from happening again!).
No longer store bad directory data as a tag (dump in verbose output instead)
Jan. 9, 2005 - Version 4.13
Added check on size of new ThumbnailImage so ExifTool doesn't try to write
an image that is too large (>60k) into the JPEG EXIF APP1 segment
Jan. 9, 2005 - Version 4.12
-AllTagsFromFile option now copies over the maker notes
Changed some misleading warning messages
Jan. 8, 2005 - Version 4.11
Improved validation of tag values with -AllTagsFromFile option
Jan. 7, 2005 - Version 4.10
Added ability to write EXIF, IPTC and XMP tags in JPEG and TIFF files!
Allow Photoshop APP13 data to span multiple segments (read and write)
Added -TAG+=VALUE, -TAG-=VALUE and -TAG<=VALUE syntaxes
Added -GROUP:TAG syntax to allow tag group to be specified
Added powerful -AllTagsFromFile=SRCFILE option to copy all tags from file
Added -listw option to list all writable tags
Added -E option to escape output values for HTML
Fixed -w option to only replace extension after last '.' in filename if more
than one '.'
Unescape XMP character codes when extracting values (and escape again when
writing)
Now processes all IFD's of TIFF imags (not just IFD0)
Added data length check in hex dump of verbose option
Allow group name to be specified as prefix to tag name on command line
Renamed a few Nikon tags: FlashExposureComp to FlashExposureBracketValue,
FEC to FlashExposureComp, and ShutterReleaseMode to ShootingMode
Extract Nikon preview image
Changed descriptions for Aperture and Shutter Speed to drop the Av/Tv
Canonism
Improved logic to recognize more types of unknown maker notes
Recognize a couple more values of the Canon WhiteBalance tag
Renamed IPTC 'SupplementalCategory' to 'SupplementalCategories'
Handle timezone in times
API Changes:
Fixed problem where first tag name passed to GetInfo() was ignored
The values returned by ImageInfo() and GetInfo() may contain array
references to indicate lists of values if PrintConv is disabled
Added a bunch of new stuff...
Dec. 15, 2004 - Version 4.05
Added a couple of Nikon tags (thanks Brian Ristuccia)
Now preserves original file by renaming to "NAME_original" when writing
information
Don't preserve file time by default when writing. Added -P option to do
this.
Changes to spec file
Dec. 11, 2004 - Version 4.04
Fixed problem which could corrupt JPEG images when adding comments (Note: if
done, the damage can reversed by removing the comments with the same version
of ExifTool that added them.)
Dec. 6, 2004 - Version 4.03
Major overhaul of verbose message output
Change -v option to allow verbose level to be specified (eg. -v3 = very very
verbose)
Added a new Nikon tag (thanks Thomas Walter)
Count images which were unchanged when writing tags
Changed FileType 'JPG' to 'JPEG'
Dec. 2, 2004 - Version 4.02
Fixed problem with rewriting some JPEG images
Preserve original file modification time when updating tags in a file
Report of number of files updated
API Changes:
Changed arguments of WriteInfo() and allow scalar and file references to
be used
Dec. 1, 2004 - Version 4.01
Changed -o option to -w to avoid confusion since we now write image files
too
Added warning if specified image file doesn't exist
Dec. 1, 2004 - Version 4.00
Started down the road of adding write support:
Allow writing of Comment tag to JPEG and GIF files
API for write functions still under development and is likely to change
Clean up formatting of Nikon string tags (fix case and remove trailing
spaces)
Nov. 30, 2004 - Version 3.96
Changed JPEG read routine to speed things up a bit
Added a few more ICC_Profile tags
Nov. 25, 2004 - Version 3.95
Improved compatibility with old Perl versions (now runs, albeit with
warnings, on 5.003)
Nov. 25, 2004 - Version 3.94 (production release)
Patched problem with reading XMP data using Perl 5.6.x (Perl bug)
Put lib directory first in exiftool include list to take precedence over
installed versions
Continue trying to parse JPEG image after an unrecognized APP1 segment
Nov. 24, 2004 - Version 3.93 (production release)
Final round of ICC_Profile updates
Increase precision of extracted rational values
Internal Changes:
Build in better support for all data formats
Standardize data format names
Clean up and streamline data read routine
Nov. 22, 2004 - Version 3.92
Fixed problem with -p option when multiple files are specified
Enhancements to ICC_Profile information, including extracting information
from profile header
Subdivide ICC_Profile group in family 1
Added Minolta ImageStabilization tag
Nov. 20, 2004 - Version 3.91
Fixed problem where some tags were not extracted properly from Canon CR2
files
Internal Changes:
Cleaned up and simplified pointer calculations and dirInfo members
Nov. 20, 2004 - Version 3.90
Extract information from ICC Profiles
Extract undocumented IFD0 Photoshop tags
Added support for Minolta RAW (MRW) file format
Added support for Konica-Minolta cameras
Improved decoding for Minolta maker notes
Extract (the sometimes misleading) EXIF WhiteBalance tag even if
WhiteBalance was extracted from the maker notes if the Duplicates option is
set. (Previously it was only extracted as an Unknown tag in this case.)
API Changes:
Return list of all tags in image if GetFoundTags() or GetTagList() are
called before ImageInfo() or GetInfo()
Nov. 15, 2004 - Version 3.85
Extract a couple more Photoshop tags (including PhotoshopQuality)
All XMP lists now comma separated (previously, 'alt' lists were separated by
'|')
API Changes:
GetValue() now returns reference to array if values form a list and
ValueConv is specified
Nov. 12, 2004 - Version 3.84
Added test of GetTagID()
Fixed bug in GetTagID() which was causing special tags to get overwritten
Nov. 12, 2004 - Version 3.83
Added -D and -H command line options
API Changes:
Nov. 11, 2004 - Version 3.82 (production release)
Improved diagnostic output for failed tests in installation
Nov. 11, 2004 - Version 3.81
Updated Olympus module to also support Epson cameras
Moved MakerNotes code into separate module
Added tests for Sony and Unknown maker notes
Nov. 10, 2004 - Version 3.80
Added support for Panasonic/Leica cameras
Updated Pentax module to also support Asahi cameras
Decode a couple more Minolta camera model types
Nov. 4, 2004 - Version 3.74 (production release)
Properly localize $_ in public Image::ExifTool subroutines
Nov. 3, 2004 - Version 3.73
Changes to tests to avoid false failures on MSWin32-x86-multi-thread 4.0
Nov. 1, 2004 - Version 3.72 (production release)
Fixed minor bug in generation of family 1 XMP group names
Changes to Photoshop family 2 groups
Oct. 30, 2004 - Version 3.71
Switched group families 0 and 1 so the general location is now the default
Fixed bug when sorting by order of group for any family other than 0
Added test 17 to ExifTool.t
Oct. 29, 2004 - Version 3.70
Major improvements to XMP parsing
Divided XMP group in family 0 based on the XMP namespace prefix
Changed a few long tables to binary type
Recognize some new YCbCrSubSampling values
Display DNG LocalizedCameraModel in plain text
Patched problem in FileSource reported by Sigma cameras
Added information about tag format to verbose hex dump
Oct. 22, 2004 - Version 3.61
Added support for DNG file format
Added and updated a number of EXIF tags for FAX and other uncommon images
Added Photoshop URL tag
Attempt to extract image from files with unrecognized extensions assuming
TIFF format
Added "Image format error" if the image type is recognized but the format is
bad
Changed "Unknown file type" error to "Unknown image type"
Moved POD documentation into separate .pod files
Started referencing sources for tag definitions in the source code
Oct. 1, 2004 - Version 3.60 (production release) - initial CPAN release!
Changed group family 0 to divide EXIF group into individual IFD groups
Fixed typos in some Casio tag names
API Changes:
Changed name of File::RandomAccessFile to File::RandomAccess
Changed default setting of Duplicates to 1
Sept. 21, 2004 - Version 3.51
Improvements to interpretation of Nikon D70 ISO settings
Sept. 16, 2004 - Version 3.50
Fixed problem with duplicate tags showing up without the -a option
Changed Nikon DataDump to a binary type
Added D70Boring shortcut
Sept. 14, 2004 - Version 3.49
Changed installation to also install the 'exiftool' script
Sept. 13, 2004 - Version 3.48
Changed UserComment to skip first 8 bytes since the comments come after an 8
byte character code
Sept. 10, 2004 - Version 3.47
Added support for second type of Casio maker notes (MakerNoteCasio2)
Sept. 1, 2004 - Version 3.46
Fixed minor bug in PrintConv of FileNumber for CanonRaw files
June 3, 2004 - Version 3.45
Recognize Canon 1D Mk II raw files (.CR2)
(Note: Not properly decoding maker notes from these files yet)
May 28, 2004 - Version 3.44
Improved validity check of Sony maker notes
May 18, 2004 - Version 3.43
A couple more changes to the Nikon maker notes
May 17, 2004 - Version 3.42
Additions to Nikon maker notes for values derived from D70
Apr. 28, 2004 - Version 3.41
Fixed some errors when running on older Perl versions
Apr. 7, 2004 - Version 3.40
Try to extract data from unrecognized maker notes (assuming standard EXIF
format)
Added tests for different maker notes
Apr. 6, 2004 - Version 3.37
Added support for Sigma maker notes
Remember to add new files to MANIFEST so they get included in release. Doh
Apr. 6, 2004 - Version 3.36
Added support for Sanyo and Minolta maker notes
Added skeleton for interpreting Sony maker notes
Interpret Pentax PrintIM
Apr. 6, 2004 - Version 3.35
Added support for Nikon PrintIM
Changed names of duplicate EXIF tags
Apr. 5, 2004 - Version 3.34
Added all missing tag definitions from TIFF 6 standard
Added a few more EXIF tag definitions
Interpret PrintIM IFD
Fixed interpretation of Interoperability IFD
Fixed potential endless loop bug introduced in version 3.33
Apr. 5, 2004 - Version 3.33
Parse SubIFD of Nikon NEF file (now extracts raw image size and thumbnail
image)
Apr. 2, 2004 - Version 3.32
Changes to some Nikon tag names
Added Nikon Saturation
Documentation improvements
Mar. 31, 2004 - Version 3.31
Now recognizes NEF (Nikon Electronic image Format) files
Mar. 29, 2004 - Version 3.30
Removed -w option
Fixed problem with some XMP tags being put in the EXIF group
More minor speed improvements
API Changes:
GetDescription() now requires an ExifTool object reference
Removed WarnDuplicateDescriptions()
Mar. 26, 2004 - Version 3.27
Optimized a few routines to speed things up a bit
API Changes:
Changed GetDescription() documentation to indicate it is called with an
ExifTool object (this is still optional, but will be mandatory with the
next version)
Mar. 25, 2004 - Version 3.26
Don't generate warning if end of IPTC block is padded with nulls
Mar. 19, 2004 - Version 3.25
Fixed problem with 'Input' sort order
Mar. 19, 2004 - Version 3.24
Only return PreviewImage if it is a valid JPG (otherwise set 'Warning')
Mar. 16, 2004 - Version 3.23
API Changes:
Added GetGroups()
GetGroup() now returns group names for all families if used in list
context and family not specified
Mar. 12, 2004 - Version 3.22
API Changes:
Changed GetInfo() to return list of tags like ImageInfo() if list
reference provided
Fixed bug that caused GetInfo() to ignore specified tags
Mar. 11, 2004 - Version 3.21
Fixed problem with Composite group in family 1
Changed case of Exif to EXIF in family 1
-group option now lists Composite group as it should
Internal Changes:
Cleaned up handling of function arguments
Mar. 10, 2004 - Version 3.20
Added -group option
Added group families 1 and 2
Can now specify excluded tags with leading '-' (replaces -x option)
API Changes:
Added ClearOptions(), ExtractInfo(), GetInfo(), CombineInfo(),
GetTagList() and GetAllGroups()
Removed IsVerbose() function (use Options('Verbose') instead)
Allow groups to be excluded by specifying leading '-' on group name
ImageInfo() and GetInfo() now use specified group order to set tag
precedence if Duplicates option is not set
Change default value of Duplicates option back to 0
Mar. 1, 2004 - Version 3.15
Changed format of all date and time tags to EXIF standard
Added some composite date/time tags
Fixed date formatting so -d option should now work with all combined
date/time tags
Other minor changes to GPS information
Improvements to TIFF processing
Set value to "Undefined" if PrintConv evaluates to undefined value
Added -G option
API Changes:
Changed all option names: shortened and changed to mixed case (sorry!)
Internal changes:
Standardized arguments to all processing procedures
Made call to processing procedure more automatic
Removed TABLE_TYPE tag and added PROCESS_PROC
Added ProcessTagTable() member function
Feb. 27, 2004 - Version 3.14
Added GPS tag conversions and GPS test
Values that can't be converted now show up simply as "Unknown (X)"
Feb. 26, 2004 - Version 3.13
Print out errors from exiftool script (since Image::ExifTool no longer
prints them)
Added more tests
Failed tests now leave ".failed" file in "t" directory for post mortem
Feb. 25, 2004 - Version 3.12
Moved all image-related warnings to new Warning tag
Feb. 25, 2004 - Version 3.11
Added GeoTiff support
Added -x option
Improvements to documentation
Improve XMP parsing for 'Bag' elements
Capitalize first letter of XMP tag descriptions
Patch problem with APP13 resource written by older Photoshop versions
API Changes:
Added EXCLUDE and GROUP# options
Change default value of SAVE_DUPLICATES option to 1
Feb. 20, 2004 - Version 3.10
Restructuring only -- the behaviour of the exiftool script was not changed
Moved html documentation to new html directory
API Changes:
Conform to standard Perl module mechanics:
Changed ExifTool package name to Image::ExifTool
Added Makefile.PL and other standard files
Added Perl pod documentation
Added standard test files
Moved modules into lib directory
Changed "TagTables" directory name to "ExifTool"
Added extra parameter in new RandomAccessFile
Feb. 20, 2004 - Version 3.05
Fixed problem where output files (-o) weren't written if -p option used
Feb. 19, 2004 - Version 3.04
Added -U option to allow display of unknown values in Canon binary data
blocks
Made unknown tag names more specific when -u or -U option used
Added RawData and DecoderTable tags (for Canon RAW file)
Feb. 17, 2004 - Version 3.03
Fixed RandomAccessFile package name (should have been
File::RandomAccessFile)
Added IxusAFPoint tag to Canon maker notes (thanks Michael Rommel)
Avoid scanning past end of Canon binary data blocks
API Changes:
GetFoundTags() and GetRequestedTags() now return list instead of list
reference
Feb. 16, 2004 - Version 3.02
Improved handling of Pentax maker notes
Feb. 15, 2004 - Version 3.01
API Changes:
Added GetValue() function
Completed API documentation
Feb. 13, 2004 - Version 3.00
Removed -all option (it is now the default -- specify -common for previous
default behaviour)
Added -a option to allow printout of duplicate tag values
API Changes:
I am finally happy with the API, so future major changes are less likely
(hence the major version number)
No longer return ARRAY reference for list of tags (Instead, tag values
are joined in a comma separated list if tag 'List' flag is set)
Added SAVE_DUPLICATES option
Added BuildCompositeTags() to EXPORT_OK list
GetFoundTags() now sorts tags in specified order
GetDescriptions() longer returns undef if the description doesn't exist
Feb. 12, 2004 - Version 2.71
Still more playing with Pentax maker notes
More API Changes:
Added RandomAccessFile.pm
All image file i/o now done through a RandomAccessFile object
--> allows proper piping and use of string i/o
Allow scalar reference to be passed to ImageInfo() (for string i/o)
Feb. 11, 2004 - Version 2.70
More tweaking of Pentax maker notes
Changed API to be more object oriented:
Removed SetVerbose(), ExtractUnknown(), SetDateFormat(),
EnablePrintConversion(), EnableCompositeTags()
Added Options() to replace above functions
Changed WarnDuplicateTags() to WarnDuplicateDescriptions()
Added GetFoundTags() and GetRequestedTags()
Many functions now take ExifTool object reference as first argument
ImageInfo() no longer returns reference to ExifTool object when used in
list context (you have to use "new ExifTool" and the OO form of
ImageInfo() if you want the object)
Feb. 10, 2004 - Version 2.62
Added -u option to allow display of unknown tags
Major changes to Pentax maker notes (still needs work) (thanks Wayne Smith)
Feb. 09, 2004 - Version 2.61
Allow file reference to be passed to ImageInfo()
Allow file to be read from standard input by specifying "-" as file name
Added FileType tag
Feb. 07, 2004 - Version 2.60
Improve IPTC parsing and add support for more IPTC data types
Read Photoshop APP13 records properly
Added -g option
Move shortcuts into separate module
Changes to API:
Removed LoadAllTables() and added GetAllTags()
Removed GetDescriptions() and added GetDescription()
Changed GetShortcuts() to return a list
Added tag groups and GetGroup() function
Return object data from ImageInfo() for use in GetGroup()
Jan. 30, 2004 - Version 2.51
Speed up JPG reading code
API no longer returns references to image-specific static data
Added ExifToolVersion tag
Jan. 29, 2004 - Version 2.50
Changed API to return binary data as SCALAR reference and
list of values as ARRAY reference (thanks Dan Heller for the suggestions)
Attempt to make case of tag descriptions more consistent
Jan. 28, 2004 - Version 2.41
Scan photoshop JPG 0xe1 garbage for possible XMP information
Jan. 27, 2004 - Version 2.40
Improved handling of XMP data
Changed output format and added -l option
Jan. 21, 2004 - Version 2.36
Don't output trailing linefeed when -b option used
Jan. 19, 2004 - Version 2.35
Changes to verbose output
Added TagTables::CanonRaw::CleanRaw() as an API utility function
Jan. 16, 2004 - Version 2.34
Added 'Validate' check for Canon data fields
Changed ScaleFactor35efl to use FocalLengthIn35mmFormat if available
Jan. 15, 2004 - Version 2.33
Added ScaleFactor35efl, FocalLength35efl, Lens35efl
Allow Composite tags to Require/Desire each other
Changed FlashType to use FlashBits instead of CanonFlashMode
Jan. 13, 2004 - Version 2.32
Added -d (date format) option
Added -p (print format file) option
Jan. 9, 2004 - Version 2.31
Exif WhiteBalance no longer overrides maker-specific WhiteBalance
Jan. 8, 2004 - Version 2.30
Added support for IPTC format information
Jan. 6, 2004 - Version 2.25
Fixed problem with ImageInfo() function prototype
Fixed printout of JpgFromRaw message (doesn't affect JPG extraction)
Set output files to binmode (including STDOUT) if -b option used (thanks
David Anson)
Jan. 1, 2004 - Version 2.24
Fixed -list option to show all available tag names
Dec. 18, 2003 - Version 2.23
Changed "Disable" routines to "Enable"
Dec. 17, 2003 - Version 2.22
Fixed make/model tags which I broke with a recent change
Removed null terminator from returned strings
Dec. 16, 2003 - Version 2.21
Fixed problem with decoding some Nikon maker notes
General improvements and tweaks to the code
Dec. 14, 2003 - Version 2.20
Now extracts preview image from 300D JPG files (PreviewImage)
Changed ThumbnailData tag name to ThumbnailImage
Dec. 12, 2003 - Version 2.10
ExifTool::ImageInfo now returns reference to hash instead of hash
Dec. 10, 2003 - Version 2.01
Minor fixes for reading of RAW files
Dec. 09, 2003 - Version 2.00
Added support for Olympus, Casio and Nikon cameras
Now recognizes GPS information
Moved config information to TagTables modules
Restructured API
Dec. 05, 2003 - Version 1.72
Changes to composite Aperture and ShutterSpeed decisions
Dec. 05, 2003 - Version 1.71
Read 10D Custom functions from CRW file too (thanks dpophyte)
Dec. 05, 2003 - Version 1.70
Added custom functions for 10D and 1D
Dec. 04, 2003 - Version 1.62
Dec. 04, 2003 - Version 1.61
Override ShutterSpeed with BulbDuration if available
Change -s option to add tab-separated list
Dec. 03, 2003 - Version 1.60
Big improvements in reading Canon RAW files
Nov. 29, 2003 - Version 1.50
Added ability to extract JPG from RAW
Added ExifData tag to allow entire EXIF block to be dumped
Nov. 26, 2003 - Version 1.40
Split up config files to speed things up
Added ability to extract binary data
Added ThumbnailData tag (to allow extracting JPG thumbnails)
Nov. 25, 2003 - Version 1.30
Added experimental Canon RAW (CRW) file support
Nov. 22, 2003 - Version 1.20
Nov. 20, 2003 - Version 1.12
Don't translate Photoshop Brightness, etc
Nov. 20, 2003 - Version 1.11
Attempt to fix problem on hp
Clean up code a bit
Added '-ver' command-line option
Nov. 20, 2003 - Version 1.10
Added support for XMP format
Nov. 19, 2003 - Version 1.00
Initial release (extracts information from JPEG and GIF images, with Canon,
FujiFilm and Pentax makernote support)
<-- Back to recent history