0,0 → 1,182 |
v2.3.1 - 25 Feb 2006 |
------------------------------- |
- Fixed copy-and-paste errors in ExifDescriptor.java. Thanks to Ferret Renaud. |
|
v2.3.0 - 12 Jan 2006 |
------------------------------- |
- New tags from Exif 2.2 specification (A401-A420). |
- Fixed stack overflow exception in ExifReader for cyclic directory references. |
Thanks to John Sidney-Woollett for reporting this bug (reported for Fuji FinePix A101 and Canon 20D). |
- Fixed rounding error in the shutter speed description which was giving the wrong value most of the |
time (for example, 1/32 instead of 1/50). |
Thanks for Gli Blr and Mark Edwards for pointing out this error. |
- Fix thread safety bug in ExifReader. |
- Fixed OutOfMemoryError seen in certain Canon 20D images. |
Thanks to Henry Yeung for providing an image to reproduce this error. |
- Support for Windows XP Exif tags (Author, title, comments, etc). |
- Added more documentation, and removed commented/unused code. |
- Enhanced descriptor support for Exif tags. |
- Extract comments in non-ASCII encodings. |
- Improved camera model MakerNote support: |
- New models: |
- Epson (thanks to David Carlson for pointing me in the right direction with this) |
- Kyocera / Contax (very limited) |
- Minolta (it utilises the Olympus format) |
- Panasonic |
- Pentax / Asahi |
- Improved support for models: |
- Olympus |
- Canon (tested with newer Canon models, including the 20D) |
- Casio (for more modern models) |
- Source distribution filesize reduced by using .metadata files, rather than entire sample JPEG files. |
These .metadata files contain all non-image JPEG segments, making them suitable for unit tests whilst |
being much smaller on disk. |
|
v2.2.2 - 22 Nov 2003 |
------------------------------- |
|
- Fixed a bug where version strings were assumed to be comprised of exactly four parts, |
and cases were found where a different number existed |
|
v2.2.1 - 24 Oct 2003 |
------------------------------- |
|
- Fixed a bug where JpegDirectory had tag names for image width and height around |
the wrong way. Thanks to Sander Smith for pointing this out |
|
v2.2 - 18 Oct 2003 |
------------------------------- |
|
- Added support for extraction of Jpeg image information (from the SOF0 segment) |
Thanks to Darrell Silver for commencing the code for this extension |
- Added support for reading Jpeg comments |
- Additional Nikon camera makernote support for D1/D100 family models |
Thanks to Daniel Waeber for providing sample images and to Fabrizio Giudici for |
publishing his work in decoding this makernote data |
- Added convenient writing of thumbnails to files from ExifDirectory |
- Fixed a bug in date format strings, whereby times in the AM / PM were indistinguishable |
Thanks to Bill Boland for being the first person to point this out (this was a popular one!) |
- Fixed bug for multi-component tag values of certain types |
Thanks to Derek Wegner for identifying the bug and providing a solution |
- More unit tests (consequently, the source-code download is much larger) |
- First version with an Ant build script |
|
v2.1 - 12 Jan 2003 |
------------------------------- |
|
- Extract methods no longer throw exceptions, with error information stored |
in Metadata instances, using hasErrors() and getErrors() |
- Metadata and dependant classes now serializable for network transmission, |
and persistance in files & databases |
- Support for extracting metadata from InputStreams, such as network connections |
- Replaced code that depended upon JDK 1.4 |
|
v2.0 - 10 Dec 2002 |
------------------------------- |
|
Enormous changes to the class and package structure in this release prohibit a |
class-by-class breakdown of changes. The focus is no longer on Exif metadata |
alone, but now on general metadata extraction from multiple media types. |
|
Changes support: |
- easier future extensibility |
- Iptc metadata extraction |
- multiple directories of tags |
- descriptor class for interpreting values in a given directory |
- multiple media and metadata types |
- enhanced handling of exif makernote values |
- many more unit tests |
- numerous enhancements |
- minor bug fixes |
|
Simpler extensibility changes the focus from exif extraction alone and opens |
the scope to general metadata extraction. Future development will introduce |
new media and metadata support with little or no impact to existing classes. |
|
v1.2 - 6 Nov 2002 |
------------------------------- |
|
ExifExtractor.java |
- Proper traversing of Exif file structure and complete refactor & tidy of |
the codebase (a few unnoticed bugs removed) |
- Reads makernote data for 6 families of camera (5 makes) |
- Tags now stored in directories... use the IFD_* constants to refer to the |
image file directory you require (Exif, Interop, GPS and Makernote*) -- |
this avoids collisions where two tags share the same code |
- Correct extraction of multi-component values |
- No longer decodes image to extract Exif data -- this is much faster |
- Takes componentCount of unknown tags into account |
- Now understands GPS tags (thanks to Colin Briton for his help with this) |
- Returns null when no Exif data present, instead of throwing an exception |
- Some other bug fixes, pointed out by users around the world. Thanks! |
|
ExifLoader |
- Removed (unnecessary) |
|
ImageInfo.java |
- Stored IFD directories in separate tag-spaces |
- iterator() now returns an Iterator over a list of TagValue objects |
- More get*Description() methods to detail GPS tags, among others |
|
TagValue.java |
- New class to encapsualte information about a particular tag |
|
Rational.java |
- Improved toSimpleString() to factor more complex rational numbers into |
a simpler form |
i.e. |
10/15 -> 2/3 |
- toSimpleString() now accepts a boolean flag, 'allowDecimals' which will |
display the rational number in decimal form if it fits within 5 digits |
i.e. |
3/4 -> 0.75 when allowDecimal == true |
|
JpegSegmentReader |
- New class to extract APP1 segment (and others) from a Jpeg file -- this |
avoids decoding images just to get metadata |
|
tests\*.java |
- First collection of basic unit tests, to compile against JUnit |
- Doesn't yet cover all classes |
|
Website |
- A collection of JPEGs from various digital camera models, collected on |
the web and contributed by many users of ExifExtractor |
- Updated documentation |
|
|
v1.1.1 |
------------------------------- |
|
Rational.java |
- Added toSimpleString() method, which returns a simplified and hopefully |
more readable version of the Rational |
i.e. |
2/10 -> 1/5 |
10/2 -> 5 |
|
ExifExtractor.java |
- Removed unnecessary casting operations |
- Added a few more comments |
- Removed redundant and commented code (I'm using a CVS system now) |
|
ExifLoader.java |
- Added a much-needed close() call to a created input stream, allowing |
continued use of the File object passed to ExifLoader.getImageInfo(File) |
|
ImageInfo.java |
- Make use of new Rational method toSimpleString() for more elegant output - |
Use of DecimalFormatter to tidy output in selected get***Description() methods |
|
v1.1.0 - 28 Aug 2002 |
------------------------------- |
|
- Descriptive tag values, including units and text for enumerations |
- Decoupling from JDK 1.4-specific libraries (tested with JDK 1.3) |
- More complete list of tags, both as constants for direct lookup, and via the |
static lookup method |
|
v1.0 |
------------------------------- |
|
- Initial release |