DO NOT EDIT THIS FILE -- it is generated from html/history.html
ExifTool Version History
Note: The most recent production release is Version 5.67.
Oct. 13/05 - Version 5.67 (production release)
- 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/05 - Version 5.66
- Enhance -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/05 - 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
- Improvements to 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
unsuported 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/05 - 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/05 - 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/05 - 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/05 - Version 5.61
- Added read support for PBM, PGM and PPM file formats
- Added read support for RAF (FujiFilm RAW) file format
Sept. 2/05 - 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/05 - 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/05 - 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
- Changed name of Olympus 'Lens' tag to 'LensType'
July 29/05 - 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/05 - Version 5.52
- Removed warning message when writing CR2 files that was intended only for
Canon 1D TIFF files.
July 27/05 - Version 5.51
- Assume '-TagsFromFile @' for any redirected tags (ie. '-SRCTAG>DSTTAG' or
'-DSTTAG<SRCTAG') which are specified without a prior '-TagsFromFile'
July 27/05 - Version 5.50
- Don't rewrite entire file if only FileModifyDate is being changed
- API Changes:
- Added CountNewValues() and SetFileModifyDate()
July 26/05 - 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/05 - Version 5.48
- Fixed parsing of XMP-pdf CreationDate and ModDate tags
July 21/05 - 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/05 - 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/05 - 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/05 - Version 5.44
- Added read support for BMP (and DIB) images
July 16/05 - Version 5.43
- Allow shortcut tags to be used with -tagsFromFile
July 15/05 - Version 5.42
- Added ability to read PostScript (EPS and PS) and PDF images
- Decode PhotoshopSettings in TIFF images
July 8/05 - Version 5.41
- Added ability to read Photoshop PSD images
July 8/05 - 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/05 - 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/05 - 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/05 - Version 5.37
- Removed unknown status from Photoshop CopyrightFlag and made it writable
- Decode a new Canon EasyMode value
June 28/05 - 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/05 - Version 5.35
- Added support for MNG and JNG images
- Added a few new PNG tags
June 21/05 - 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/05 - 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/05 - Version 5.32 (production release)
- Changes to a few PNG and MIFF tag names
- Improved PNG/MIFF documentation
June 14/05 - 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/05 - Version 5.30
- Added PNG and MIFF read support
- Decode Nikon SensorPixelSize
June 9/05 - Version 5.27
- Added -q option
June 8/05 - 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/05 - 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/05 - Version 5.24
- Added new "XMP" tag to allow read/write of XMP data as a block
- Changed name of ExifData tag to EXIF (but didn't make it writable as a block
like XMP)
- Give priority to tags in full resolution image (whichever TIFF directory
this is in)
- Added numbers to subsequent SubIFD group names to allow tags in various
SubIFD's to be accessed individually
- 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/05 - 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/05 - 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/05 - 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/05 - 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/05 - Version 5.19
- Added -overwrite_original option
May 16/05 - 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/05 - Version 5.17
- Allow 'All' to be used as a group name with '-TagsFromFile' option to
preserve original tag groups (ie. '-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/05 - Version 5.16
- Decode a number of new Nikon lens-related tags (thanks again Robert
Rottmerhusen)
- Various other improvements
May 7/05 - 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/05 - 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/05 - 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/05 - Version 5.06
- Made a few more EXIF tags writable
- No longer add null-terminator to JPEG comment (was confusing xv)
Apr. 20/05 - 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/05 - Version 5.04
- Fixed problem where maker notes of Olympus C2500L could get corrupted when
writing
Apr. 18/05 - 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 effects 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/05 - Version 5.02
- Fixed problem rewriting Pentax *istD preview image
Apr. 15/05 - 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/05 - 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/05 - 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/05 - 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/05 - 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/05 - Version 4.92
- Added support for Kodak and Ricoh cameras
- Decode still more Olympus E-1/E-300 tags
- 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 (ie. Olympus)
Mar. 28/05 - Version 4.91
- Decode yet more Olympus E-1/E-300 tags
- 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 (credit 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/05 - Version 4.90
- Extract Olympus PreviewImage, and decode a bunch more Olympus tags
- Improvements to documentation
Mar. 23/05 - 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/05 - Version 4.88
- Convert exiftool help to POD format
Mar. 15/05 - Version 4.87 (production release)
- Added notes to TagNames documentation
Mar. 11/05 - 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/05 - 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 (ie. Sony F717
maker notes)
Mar. 9/05 - 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/05 - 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/05 - 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/05 - Version 4.81
- Added user-definable shortcuts
- Fixed problem with XMP:Identifier (should have existed in both XMP-dc and
XMP-xmp)
Mar. 2/05 - 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/05 - Version 4.73 (production release)
- Minor changes to XMP parsing to increase speed and improve validation
Feb. 28/05 - 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/05 - 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/05 - 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/05 - 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/05 - 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/05 - Version 4.65
- Fixed problem in translating XP characters
Feb. 17/05 - Version 4.64 (production release)
- Added new tag name documentation (replaces old tag lists)
- Made a few more DNG tags writable
Feb. 15/05 - 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/05 - 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/05 - Version 4.61
- Don't print filename line when -p option used
- JPEG 2000 improvements
- Also recognize .JPX and .J2K extensions
Feb. 11/05 - Version 4.60
- Added support for reading the JPEG 2000 (.JP2) files
- Improved warnings on errors while setting tag values
Feb. 10/05 - 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/05 - Version 4.53 (production release)
- Added FileNumber for Canon 20D (decoded by Juha Eskelinen)
- Removed CanonA0Tag
Feb. 4/05 - Version 4.52
- Added another CanonRaw test
- Changes to Canon CRW documentation
Feb. 4/05 - 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/05 - Version 4.50
- Allow writing to specific IFD
- Allow permanent tags (ie. 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/05 - 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/05 - Version 4.44
- Sort entries in synthesized Canon MakerNotes directory
- Interpret Canon custom functions for models other than 10D in CRW files
Jan. 29/05 - 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/05 - 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
- Changed name of Nikon ISOUsed tag to ISO
- Added documention of Canon RAW (CRW) file format
Jan. 27/05 - Version 4.41
- Added write support for Canon exposure parameters
- Change validation of CanonPictureInfo to get it working for Canon 20D
Jan. 26/05 - 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/05 - Version 4.36 (production release)
- Added support for reading Olympus Raw Format (ORF)
Jan. 23/05 - 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/05 - 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/05 - 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/05 - 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/05 - Version 4.31
- Now also copies over preview image in Nikon NEF files
Jan. 18/05 - 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/05 - Version 4.23
- Improve handling of unrecognized maker notes when writing
Jan. 17/05 - 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/05 - Version 4.21
- Added Olympus Red/BlueBalance
Jan. 17/05 - 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/05 - 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/05 - 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/05 - 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/05 - Version 4.12
- -AllTagsFromFile option now copies over the maker notes
- Changed some misleading warning messages
Jan. 8/05 - Version 4.11
- Improved validation of tag values with -AllTagsFromFile option
Jan. 7/05 - 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/04 - Version 4.05
- Added a couple of Nikon tags
- 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/04 - 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/04 - Version 4.03
- Major overhaul of verbose message output
- Change -v option to allow verbose level to be specified (ie. -v3 = very very
verbose)
- Added a new Nikon tag (SceneMode).
- Count images which were unchanged when writing tags
- Changed FileType 'JPG' to 'JPEG'
Dec. 2/04 - 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/04 - 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/04 - 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/04 - Version 3.96
- Changed JPEG read routine to speed things up a bit
- Added a few more ICC_Profile tags
Nov. 25/04 - Version 3.95
- Improved compatibility with old Perl versions (now runs, albeit with
warnings, on 5.003)
Nov. 25/04 - 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/04 - 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/04 - 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/04 - 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/04 - 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/04 - 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/04 - Version 3.84
- Added test of GetTagID()
- Fixed bug in GetTagID() which was causing special tags to get overwritten
Nov. 12/04 - Version 3.83
- Added -D and -H command line options
- API Changes:
- Added GetTagID()
Nov. 11/04 - Version 3.82 (production release)
- Improved diagnostic output for failed tests in installation
Nov. 11/04 - 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/04 - 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/04 - Version 3.74 (production release)
- Properly localize $_ in public Image::ExifTool subroutines
Nov. 3/04 - Version 3.73
- Changes to tests to avoid false failures on MSWin32-x86-multi-thread 4.0
Nov. 1/04 - Version 3.72 (production release)
- Fixed minor bug in generation of family 1 XMP group names
- Changes to Photoshop family 2 groups
Oct. 30/04 - 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/04 - 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/04 - 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/04 - Version 3.60 (production 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/04 - Version 3.51
- Improvements to interpretation of Nikon D70 ISO settings
Sept. 16/04 - 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/04 - Version 3.49
- Changed installation to also install the 'exiftool' script
Sept. 13/04 - Version 3.48
- Changed UserComment to skip first 8 bytes since the comments come after an 8
byte character code
Sept. 10/04 - Version 3.47
- Added support for second type of Casio maker notes (MakerNoteCasio2)
Sept. 1/04 - Version 3.46
- Fixed minor bug in PrintConv of FileNumber for CanonRaw files
June 3/04 - Version 3.45
- Recognize Canon 1D Mk II raw files (.CR2)
(Note: Not properly decoding maker notes from these files yet)
May 28/04 - Version 3.44
- Improved validity check of Sony maker notes
May 18/04 - Version 3.43
- A couple more changes to the Nikon maker notes
May 17/04 - Version 3.42
- Additions to Nikon maker notes for values derived from D70
Apr. 28/04 - Version 3.41
- Fixed some errors when running on older Perl versions
Apr. 7/04 - Version 3.40
- Try to extract data from unrecognized maker notes (assuming standard EXIF
format)
- Added tests for different maker notes
Apr. 6/04 - 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/04 - Version 3.36
- Added support for Sanyo and Minolta maker notes
- Added skeleton for interpeting Sony maker notes
- Interpret Pentax PrintIM
Apr. 6/04 - Version 3.35
- Added support for Nikon PrintIM
- Changed names of duplicate EXIF tags
Apr. 5/04 - 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/04 - Version 3.33
- Parse SubIFD of Nikon NEF file (now extracts raw image size and thumbnail
image)
Apr. 2/04 - Version 3.32
- Changes to some Nikon tag names
- Added Nikon Saturation
- Documentation improvements
Mar. 31/04 - Version 3.31
- Now recognizes NEF (Nikon Electronic image Format) files
Mar. 29/04 - 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/04 - Version 3.27
- Optimized a few routines to speed things up a bit
- API Changes:
- Changed GetDescription() documention to indicate it is called with an
ExifTool object (this is still optional, but will be mandatory with the
next version)
Mar. 25/04 - Version 3.26
- Don't generate warning if end of IPTC block is padded with nulls
Mar. 19/04 - Version 3.25
- Fixed problem with 'Input' sort order
Mar. 19/04 - Version 3.24
- Only return PreviewImage if it is a valid JPG (otherwise set 'Warning')
Mar. 16/04 - 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/04 - 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/04 - 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/04 - 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/04 - 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/04 - 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/04 - 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/04 - Version 3.12
- Moved all image-related warnings to new Warning tag
Feb. 25/04 - 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/04 - 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/04 - Version 3.05
- Fixed problem where output files (-o) weren't written if -p option used
Feb. 19/04 - 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/04 - Version 3.03
- Fixed RandomAccessFile package name (should have been
File::RandomAccessFile)
- Added IxusAFPoint tag to Canon maker notes
- Avoid scanning past end of Canon binary data blocks
- API changes:
- GetFoundTags() and GetRequestedTags() now return list instead of list
reference
Feb. 16/04 - Version 3.02
- Improved handling of Pentax maker notes
Feb. 15/04 - Version 3.01
- API changes:
- Added GetValue() function
- Completed API documentation
Feb. 13/04 - 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/04 - 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/04 - 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/04 - Version 2.62
- Added -u option to allow display of unknown tags
- Major changes to Pentax maker notes (still needs work)
Feb. 09/04 - 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/04 - 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/04 - Version 2.51
- Speed up JPG reading code
- API no longer returns references to image-specific static data
- Added ExifToolVersion tag
Jan. 29/04 - Version 2.50
- Changed API to return binary data as SCALAR reference and
list of values as ARRAY reference
- Attempt to make case of tag descriptions more consistent
Jan. 28/04 - Version 2.41
- Scan photoshop JPG 0xe1 garbage for possible XMP information
Jan. 27/04 - Version 2.40
- Improved handling of XMP data
- Changed output format and added -l option
Jan. 21/04 - Version 2.36
- Don't output trailing linefeed when -b option used
Jan. 19/04 - Version 2.35
- Changes to verbose output
- Added TagTables::CanonRaw::CleanRaw() as an API utility function
Jan. 16/04 - Version 2.34
- Added 'Validate' check for Canon data fields
- Changed ScaleFactor35efl to use FocalLengthIn35mmFormat if available
Jan. 15/04 - 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/04 - Version 2.32
- Added -d (date format) option
- Added -p (print format file) option
Jan. 9/04 - Version 2.31
- Exif WhiteBalance no longer overrides maker-specific WhiteBalance
Jan. 8/04 - Version 2.30
- Added support for IPTC format information
Jan. 6/04 - Version 2.25
- Fixed problem with ImageInfo() function prototype
- Fixed printout of JpgFromRaw message (doesn't effect JPG extraction)
- Set output files to binmode (including STDOUT) if -b option used
Jan. 1/04 - Version 2.24
- Fixed -list option to show all available tag names
Dec. 18/03 - Version 2.23
- Changed "Disable" routines to "Enable"
Dec. 17/03 - Version 2.22
- Fixed make/model tags which I broke with a recent change
- Removed null terminator from returned strings
Dec. 16/03 - Version 2.21
- Fixed problem with decoding some Nikon maker notes
- General improvements and tweaks to the code
Dec. 14/03 - Version 2.20
- Now extracts preview image from 300D JPG files (PreviewImage)
- Changed ThumbnailData tag name to ThumbnailImage
Dec. 12/03 - Version 2.10
- ExifTool::ImageInfo now returns reference to hash instead of hash
Dec. 10/03 - Version 2.01
- Minor fixes for reading of RAW files
Dec. 09/03 - Version 2.00
- Added support Olympus, Casio and Nikon cameras
- Now recognized GPS information
- Moved config information to TagTables modules
- Restructured API
Dec. 05/03 - Version 1.72
- Changes to composite Aperture and ShutterSpeed decisions
Dec. 05/03 - Version 1.71
- Read 10D Custom functions from CRW file too (thanks dpophyte)
Dec. 05/03 - Version 1.70
- Added custom functions for 10D and 1D
Dec. 04/03 - Version 1.62
- Decode known flash bits
Dec. 04/03 - Version 1.61
- Override ShutterSpeed with BulbDuration if available
- Change -s option to add tab-separated list
Dec. 03/03 - Version 1.60
- Big improvements in reading Canon RAW files
Nov. 29/03 - Version 1.50
- Added ability to extract JPG from RAW
- Added ExifData tag to allow entire EXIF block to be dumped
Nov. 26/03 - 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/03 - Version 1.30
- Added experimental Canon RAW file support
Nov. 22/03 - Version 1.20
- Now reads TIFF files too
Nov. 20/03 - Version 1.12
- Don't translate PhotoShop Brightness, etc
Nov. 20/03 - Version 1.11
- Attempt to fix problem on hp
- clean up code a bit
- added '-ver' command-line option
Nov. 20/03 - Version 1.10
- Added support for XMP format
Nov. 19/03 - Version 1.00
- Initial release