ExifTool Version History
Nov. 25/04 - Version 3.94
- Patched problem with reading XMP data on Debian systems (suspected Perl bug)
- Put lib directory first in exiftool include list to take precidence over installed versions
- Continue trying to parse JPEG image after an unrecognized APP1 segment
Nov. 24/04 - Version 3.93
- 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:
Nov. 11/04 - Version 3.82
- 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
- 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
- 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
- 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
- Fix 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 manditory 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 precidence
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
- Add 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
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
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