github drewnoakes/metadata-extractor 2.9.0
v2.9.0

latest releases: 2.21.0, 2.20.0, 2.19.0...
10 years ago

This release contains fixes across the entire project uncovered during the creation of the official .NET port of this project. This new implementation was originally ported from Java to C# by Yakov Danilov (for Imazen LLC). Since then it's been heavily refactored. Going forward, it will be kept functionally equivalent to the Java implementation.

Full diff: 2.8.1...2.9.0

New features

  • Support for RAF files df06808 e44bbea b04b20d #73 #109
  • Add support for JFXX (JFIF extension) segments da56f27
  • Add support for "Ducky" segments, from Photoshop's "Save for Web" feature 1416d63 #115
  • Read JFIF thumb width/height tags 2aec48a
  • Process XMP found in Exif tag 0x02BC 6619b7c #157
  • Process sub-IFD found via Exif tag 6fab2ec
  • Support non-standard TIFF format code 13 that points to new IFDs 38efe09 73eeefb
  • Support arrays of IFD pointers within a tag, not just a single pointer d5a254c
  • Process additional XMP tags 75799bb #159
  • Support additional WebP chunk types 4f3d75e 747127e

Fixes

  • Considerable overhaul of date, time and time zone handling across the library #153 #154 #155 #158
  • Attempt to recover from incorrect JPEG segment length by scanning for next marker 4bac919 #121 #129
  • Incorrect PNG chromaticity 7d0d44e
  • Potential bound exception in PhotoshopDirectory 2a72692 05f67c3
  • Potential bound exception in NikonType2MakernoteDescriptor efa1c4a
  • Incorrect return value from AdobeJpegDescriptor.getDctEncodeVersionDescription 4959b51
  • Typos in PcxDirectory tag names 40d6484
  • Validate Olympus makernote dates 80afe26 a5fdcdf
  • Validate ICC dates so exception won't halt reading 8bfc2e9 185ab46
  • Validate IPTC dates during parsing cee3443
  • Parse IPTC IptcDirectory.TAG_DIGITAL_DATE_CREATED 168a208
  • Non-8BIM Photoshop IRBs don't stop processing ef59b50 #125 #128
  • TiffReader attempts to recover from invalid byte ordering b336b3a #136
  • Correctly handle alternative Olympus makernote preamble 5793c81 73f1a48 #93
  • Clear out fractional seconds from computed dates (PNG and ICC) 2ea2549 #146
  • Fix swapped JpegComponent methods getHorizontalSamplingFactor() and getVerticalSamplingFactor() 6c31782 #156
  • Make GpsDirectory.getGpsDate() locale independent 29e95df #160 #161
  • Make PngMetadataReaderTest locale independent e0eb4b2 #162 #163

Description formats

  • Standardisation of f-stop descriptions 45f1e10 0b5d3f9 f796031
  • Change formatting of focal length descriptions 120cd80
  • Use offset in date descriptions, not timezone name 8e4ffb2
  • ICC value formats e6ab7b4 40d60fb
  • Fix typo in 'fluorescent' in ExifDescriptorBase 21a5391
  • Remove trailing space in PhotoshopDescriptor output 674c609
  • Remove trailing full stop in ExifDescriptorBase output d7a0cf3
  • Number formatting in Olympus makernote descriptions fb1997e
  • Don't show lens f-stop range when upper and lower values are identical b74aca1
  • Update shutter speed value formatting e879944
  • Describe ExifDescriptorBase.TAG_LENS_SPECIFICATION be55336
  • Capitalise the name of XmpDirectory 4777af1

API changes

  • Deprecate ExifThumbnailDirectory.TAG_THUMBNAIL_COMPRESSION 825c439 12f023a 4e084ca
  • Remove unused class DefaultTagDescriptor feafc8f
  • Fix typos in some OlympusMakernoteDescriptor description methods 3162299
  • In GifHeaderDirectory replace TAG_TRANSPARENT_COLOR_INDEX with TAG_BACKGROUND_COLOR_INDEX f27dc5d 7ac3b9a #142
  • In JfifDirectory replace getImageWidth/Height with getResX/Y e458489 #143
  • Deprecate ExifDirectoryBase's TAG_LIGHT_SOURCE in favour of TAG_WHITE_BALANCE e298fde

Performance

  • Considerable improvement when reading large TIFF files (such as raw files) using ImageMetadataReader 0c7c577 #164
  • Perform type check outside loop b3e2f9b
  • Use Collections.singletonList instead of Arrays.asList with single item 4cb5200
  • Slightly reduce allocations in PNG reader 455a83a
  • Simplify Tag.getTagTypeHex() 54cb1a8

Miscellaneous changes

  • Metadata stores and returns Directory instances in the order they were created bb9a290
  • FileTypeDetector throws if stream doesn't support mark/reset 6a6727c
  • unexpected PNG ICC compression method is registered as an error e2b6a39
  • Project now has an SVG logo which looks better on high DPI displays b4572a3
  • Bump junit version 8debfd8
  • Make Javadoc compilable under Java 8 1ef9bf9 #137
  • Many documentation and internal fixes

Don't miss a new metadata-extractor release

NewReleases is sending notifications on new releases.