DO NOT EDIT THIS FILE -- it is generated from html/history.html


ExifTool Version History

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

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 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 (ie. "-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 trailer 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
    trailer 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 trailer
  - 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 (ie. "%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 (ie. "-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

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 (ie. 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 (ie. "-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:
      - Added MissingTagValue option

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 improvment 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
    individial 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:
      - Added FastScan option

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
  - 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:
      - Added 'Compress' option

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:
      - Added StrictDate option

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 (ie. 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 DNGMakerNotes
  - 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 trailer when rewriting Canon maker notes
  - Attempt to fix problem where ScaleFactor35efl was calculated incorrectly for
    some Canon images
  - Reduce memory useage 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 useage
  - 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
    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, 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 (ie. '-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

  - Added -q option

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 (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, 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
  - 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, 2005 - 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, 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 (ie. 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 (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, 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 documention 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
  - 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 (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, 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:
      - Added GetTagID()

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)

  - 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 interpeting 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() documention 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
  - 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)

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
  - 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

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 Olympus, Casio and Nikon cameras
  - Now recognized 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

  - Decode known flash bits

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 file support

Nov. 22, 2003 - Version 1.20

  - Now reads TIFF files too

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