|
|
|
Changes from version 0.10 to 0.11
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- 0000485: [tools] Weird behaviour when Exif comments contain quotes (Reported
|
|
|
|
by Scott Baker)
|
|
|
|
- Changed exiv2 del command to delete all occurences of a tag. (Toff)
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000483: [jpeg i/o] Assertion `sizeIptc' fails when reading metadata from
|
|
|
|
JPEG file. This happened when an image has an empty IPTC IRB.
|
|
|
|
(digikam bug 132582)
|
|
|
|
- 0000482: [exif] SONY DSLR-A100 RAW image crashes Exiv2. (Reported to ufraw
|
|
|
|
by Vishnu Natchu)
|
|
|
|
- 0000480: [iptc] JPEG APP13 (used to store IPTC IRB) can not be larger than
|
|
|
|
64kB but IRB buffers can. (digikam bug 130525)
|
|
|
|
- 0000479: [exif] JPEGs edited with LightZone crash Exiv2. (Reported by Daniel
|
|
|
|
Hobe)
|
|
|
|
- 0000475: [design] Performance: Don't read TIFF-based files completely, use
|
|
|
|
memory mapping (only on Linux) to read only what is needed. Improves
|
|
|
|
performance by factor 6.
|
|
|
|
- 0000471: [exif] New TIFF parser: Create a CommentValue rather than a
|
|
|
|
DataValue for Exif.Photo.UserComment. (Reported with test program
|
|
|
|
by Marcel Wiesweg)
|
|
|
|
- [exif] New TIFF parser: Extract TIFF thumbnail from IFD1 if there
|
|
|
|
is one.
|
|
|
|
- [exif] Added read support for PNG images (Gilles Caulier)
|
|
|
|
- [exif] Updated Canon makernote tags and decoded additional composite
|
|
|
|
tags, based on Exiftool. Note that some tag names changed.
|
|
|
|
(David Cannings)
|
|
|
|
- [exif] Updated Nikon lens info to v2.02 of Robert Rottmerhusen's
|
|
|
|
lens database.
|
|
|
|
- [exif] Various smaller tag updates (Gilles Caulier, Jim Westveer,
|
|
|
|
Nicolas Vilars, Robert Peter)
|
|
|
|
|
|
|
|
* MSVC related
|
|
|
|
- 0000455: [build environment] Exiv2 finally works with MSVC 2005. (Thanks to
|
|
|
|
Stephen and Maciej Sakrejda aka Maciek)
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.9.1 to 0.10
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- 0000468: [tools] Added -P option to control what information is displayed
|
|
|
|
in print mode, added -b and -u options to control output of large
|
|
|
|
values and unknown tags. (Better print control suggested by Udi Fuchs)
|
|
|
|
- Display filename in print mode if processing multiple images,
|
|
|
|
like grep does. (Roger Larsson)
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000469: [miscellaneous] MemIo behaviour differs from FILE* and FileIo.
|
|
|
|
(Reported by Dimitri)
|
|
|
|
- 0000462: Support TIFF format, part 1: Read support for TIFF and TIFF-based
|
|
|
|
RAW formats, including NEF, CR2, PEF, SR2, DNG and MRW.
|
|
|
|
- 0000458: [build environment] Support pkg-config tool,
|
|
|
|
removed <prefix>/include/exiv2 path from exiv2-config output.
|
|
|
|
(Suggested by Udi Fuchs)
|
|
|
|
- 0000456: [miscellaneous] Check for 0 pointer before invoking std::string
|
|
|
|
constructor on C-string.
|
|
|
|
- Added Minolta makernote. (Gilles Caulier)
|
|
|
|
- Added support for Exif.Image.Orientation for Canon CRW images.
|
|
|
|
- Improved the print functions for Exif.Nikon[13].AFFocusPos.
|
|
|
|
(Roger Larsson)
|
|
|
|
- Updated some Canon labels and translations (Patrice Boissonneault)
|
|
|
|
- Changed some Nikon tag names. (Based on feedback from Udi Fuchs)
|
|
|
|
- Added EXIV2_CHECK_VERSION macro for applications to check at runtime
|
|
|
|
which version of Exiv2 is installed.
|
|
|
|
|
|
|
|
* MSVC related
|
|
|
|
Added COM project. (Patrice Boissonneault)
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.9 to 0.9.1
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000451: [exif] Fixed bug where an invalid Exif tag was created for
|
|
|
|
the user comment, when the tag was newly added to an image.
|
|
|
|
(Thanks to Anatoliy Kovalenko for reporting this bug)
|
|
|
|
- Added enum MetadataId and Image::supportsMetadata() to check what
|
|
|
|
metadata an image class supports. Changed CrwImage to silently
|
|
|
|
ignore calls to Iptc related functions instead of throwing an Error.
|
|
|
|
(Thanks to Will Stokes for suggesting the check feature)
|
|
|
|
- Cleaned up some #include statements (mentioned here because this
|
|
|
|
may lead to unexpected compiler errors).
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.8 to 0.9
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- 0000450: [exif] Added action "fixiso" to copy the ISO setting from Nikon
|
|
|
|
Makernotes to the regular Exif tag Exif.Photo.ISOSpeedRatings.
|
|
|
|
- 0000448: [tools] Added options -p and -t, -T to preserve file timestamps and
|
|
|
|
set the timestamp according to the Exif timestamp.
|
|
|
|
(Thanks to Stephan Ahlswede for suggesting the -p feature)
|
|
|
|
- 0000446: [misc] Added option -c to set the JPEG comment to the utility.
|
|
|
|
(Thanks to Tristan Savatier for the suggestion)
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000447: [iptc] Fixed a buffer overflow in sscanf. (Thanks to Maciej Sakrejda
|
|
|
|
aka Maciek for reporting this bug and the hard work to recreate it)
|
|
|
|
- 0000438: [exif] Write support for Canon raw images.
|
|
|
|
- [exif] Updated Nikon lensdata to v2.00 of Robert Rottmerhusen's
|
|
|
|
amazing lens database. (Thanks to Robert for keeping me updated.)
|
|
|
|
- [build environment] Added an option to enable/disable dependency-
|
|
|
|
tracking to the configure script, which is useful to create
|
|
|
|
"Universal Binaries" under Mac OSX.
|
|
|
|
(Thanks to Will Stokes for the suggestion)
|
|
|
|
- [exivsimple] Changed DllTypeId::time and DllTypeId::date to
|
|
|
|
DllTypeId::isoTime and DllTypeId::isoDate to avoid a name clash.
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.7 to 0.8
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- [tools] Added -S .suf option to the utility. This allows, e.g,
|
|
|
|
to use Canon THM files as source file for the insert command.
|
|
|
|
- [doc] Added man page. (Based on Peter KELEMEN's Debian man page.)
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000445: [exif] Setting the comment on an image with an existing comment has
|
|
|
|
no effect.
|
|
|
|
- 0000444: [iptc] Exiv2 should not panic on slightly misformed IPTC format.
|
|
|
|
- 0000443: [exif] Exiv2 gives up on corrupted IOP directory.
|
|
|
|
- 0000440: [iptc] IPTC time without timezone raises exception.
|
|
|
|
- 0000438: [exif] Support Canon raw images (CRW and THM), currently read-only.
|
|
|
|
- 0000437: [exif] exiv2 -pt crashes if Exif.Canon.ImageNumber is < 1000.
|
|
|
|
- 0000433: [exif] Core dump if the value is empty.
|
|
|
|
- 0000424: [exif] Ifd::read, MakerNote::read and related methods should have
|
|
|
|
access to the complete data buffer.
|
|
|
|
- [exif] Updated Nikon lensdata to v1.19 of Robert Rottmerhusen's
|
|
|
|
list.
|
|
|
|
- Added a tag and dataset title (label).
|
|
|
|
- Added #ifndef SUPPRESS_WARNINGS blocks around all output from the
|
|
|
|
library: compile with -DSUPPRESS_WARNINGS for a quiet library.
|
|
|
|
- Implemented "copy-on-write" strategy for MemIo to ensure that the
|
|
|
|
original buffer is only copied if necessary and never modified.
|
|
|
|
- Added exiv2-config script. Applications that include exiv2 headers
|
|
|
|
and link with the installed library can use this in their build
|
|
|
|
commands.
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.6.2 to 0.7
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- 0000422: [tools] Allow renaming pictures taken within one second.
|
|
|
|
(Reported by jussi AT jjussi DOT com)
|
|
|
|
- 0000423: [tools] Fixed problems with paths and -l option on Windows.
|
|
|
|
- [tools] Improved output data and format of the utility to
|
|
|
|
show the key.
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000404: [design] Insideout design change; made class Exiv2::Image
|
|
|
|
the top-level class of the library. (Brad Schick)
|
|
|
|
- 0000403: [design] Added I/O abstraction and implementations. (Brad Schick)
|
|
|
|
- 0000402: [design] Split image.cpp and hpp files into base class and
|
|
|
|
subclass files. (Brad Schick)
|
|
|
|
- 0000425: [exif] Added default type info to Exif tagtables.
|
|
|
|
- 0000427: [misc] Standardized factories according to the implementation.
|
|
|
|
of ImageFactory (MakerNoteFactory). Linking with mn.o is not
|
|
|
|
necessary anymore.
|
|
|
|
- 0000420: [build environment] Defines should have a library specific
|
|
|
|
prefix, like e.g., EXV_HAVE_CONFIG_H.
|
|
|
|
- 0000417: [exif] ExifData needs proper copy constructor and assignment.
|
|
|
|
- 0000426: [iptc] Fixed problem which prevented Exiv2 from reading IPTC
|
|
|
|
from jpeg files. (Jeffrey J. Early and others)
|
|
|
|
- [feature] Added Olympus, Panasonic and a basic Sony Makernote.
|
|
|
|
(Thanks to Will Stokes for the initial Olympus files)
|
|
|
|
- [feature] Improved Canon and Nikon Makernote support.
|
|
|
|
(Thanks to Robert Rottmerhusen for his Nikon lens info)
|
|
|
|
- [exif] Relaxed checking of Makernote IFD next pointer.
|
|
|
|
- [design] Overhauled exception handling.
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.6.1 to 0.6.2
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
- [feature] New -M option to run modification commands directly
|
|
|
|
from the command line.
|
|
|
|
- 0000421: [tools] Command parser fails if no type is specified with a
|
|
|
|
modify command.
|
|
|
|
- 0000416: [exif] Fix Exiv2 modify action to use non-intrusive writing
|
|
|
|
whenever possible.
|
|
|
|
- 0000418: [feature] Add Exiv2 option to specify path of extracted.
|
|
|
|
and inserted files. (Suggested by Brian Pugh)
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
- 0000408: [build environment] 0.6.1 does not build on OS X: Add libtool
|
|
|
|
support for automatic library creation (see README).
|
|
|
|
(Reported by Thomas Lunde and others)
|
|
|
|
- 0000409: [build environment] compiling emits type warnings. (Thomas Lunde
|
|
|
|
and others)
|
|
|
|
- 0000410: [build environment] config.h must be installed, -DHAVE_CONFIG_H
|
|
|
|
flag should not be necessary. (Daniel Foote and others)
|
|
|
|
- 0000411: [exif] Support non-standard Ifd layout. (Jeffrey J. Early)
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.6 to 0.6.1
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
|
|
|
|
* Added option to modify Iptc and Exif metadata based on a command file
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
|
|
|
|
* Fixed bug #407: Writing metadata to image after modifications may
|
|
|
|
lose thumbnail. Thanks to Jeffrey J. Early for pointing out this bug.
|
|
|
|
|
|
|
|
* Added CommentValue
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.5 to 0.6
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
|
|
|
|
* Added options to extract, insert and delete different types of metadata
|
|
|
|
|
|
|
|
* Added option to print the Jpeg comment
|
|
|
|
|
|
|
|
* Changed semantics of print option `i' to Iptc
|
|
|
|
(`t' for translated Exif data)
|
|
|
|
|
|
|
|
* Replaced std::cout << "\n" with std::endl to flush and get the
|
|
|
|
sequence with error output right
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
|
|
|
|
* Added support to build Makernotes from scratch
|
|
|
|
|
|
|
|
* Added support to build IFD1 (Thumbnail) entries from scratch
|
|
|
|
|
|
|
|
* Open image files on demand rather than keeping them open. Bug #393 (Brad)
|
|
|
|
|
|
|
|
* Added data area concept to Value, ValueType, Entry, Ifd. Feature #395
|
|
|
|
|
|
|
|
* Revamped Thumbnail classes to use the new data area feature. Feature #398
|
|
|
|
|
|
|
|
* Added ExifData::setJpegThumbnail
|
|
|
|
|
|
|
|
* Improved implementation of Exif and Iptc keys, added support for
|
|
|
|
keys with unknown tag names
|
|
|
|
|
|
|
|
* Added ExifData::op[] and Exifdatum op= and similar operators to
|
|
|
|
IptcData and Iptcdatum. This operator stuff allows for things like:
|
|
|
|
exifData["Exif.Thumbnail.Compression"] = uint16_t(6);
|
|
|
|
|
|
|
|
* Converted class hierarchies to use std::auto_ptr where appropriate
|
|
|
|
|
|
|
|
* Replaced custom integer types with C99 types
|
|
|
|
|
|
|
|
* Added test data and drivers to the repository
|
|
|
|
|
|
|
|
* Right align output stream for date and time writes. Bug #397 (Brad)
|
|
|
|
|
|
|
|
* Updated documentation
|
|
|
|
|
|
|
|
* MSVC related (Thanks to Brad Schick)
|
|
|
|
|
|
|
|
* Added exivsimple: a Windows dll that allows languages such as
|
|
|
|
C# and VB to access limited metadata capabilities (Brad)
|
|
|
|
|
|
|
|
* Added and write2-test projects to MSVC build (Brad)
|
|
|
|
|
|
|
|
* Added mn.cpp to all MSVC projects. Fixes bug #396 (Brad)
|
|
|
|
|
|
|
|
* Fixed various MSVC 7.1 build errors. Bug #394 (Brad)
|
|
|
|
|
|
|
|
* Added write-test to MSVC build project (Brad)
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.4 to 0.5
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
|
|
|
|
* Added -pI print mode to print Iptc data.
|
|
|
|
|
|
|
|
* Bugfix: Use timegm() and gmtime() instead of mktime() and
|
|
|
|
localtime() to avoid problems when adjusting timestamps.
|
|
|
|
Thanks to Samir Rostum for pointing out this bug.
|
|
|
|
|
|
|
|
* Added timegm() from the tz distribution for platforms which
|
|
|
|
do not have this function.
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
|
|
|
|
* Added full Iptc read and write support. Thanks to Brad Schick for
|
|
|
|
this and a lot more contributions to this release.
|
|
|
|
|
|
|
|
* Converted Metadatum to an abstract base class, added Exifdatum
|
|
|
|
and Iptcdatum classes. Migration of existing programs: Use class
|
|
|
|
Exifdatum instead of Metadatum. (Brad Schick)
|
|
|
|
|
|
|
|
* Added Key, ExifKey and IptcKey class hierarchy. Requires changes
|
|
|
|
to existing pograms: Use class ExifKey where plain std::string
|
|
|
|
keys were used before (e.g., ExifData::findKey()).
|
|
|
|
|
|
|
|
* Changed Exif keys to 'Exif.ifdItem.tagName' to be consistent
|
|
|
|
with the new Iptc keys. All keys of existing programs need to be
|
|
|
|
updated. See the web pages or documentation for the new keys.
|
|
|
|
|
|
|
|
* Revamped class Image and introduced byte* interface. (Brad Schick)
|
|
|
|
|
|
|
|
* Added autoconf configure script.
|
|
|
|
|
|
|
|
* Added MSVC project files. (Brad Schick)
|
|
|
|
|
|
|
|
* Appended 'Id' to Ifd ids to work around a g++-3.4 problem.
|
|
|
|
|
|
|
|
* Updated documentation.
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.3 to 0.4
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
* Exiv2 utility
|
|
|
|
|
|
|
|
* Less rigid command line argument parsing: Guess the action from the
|
|
|
|
option given and use print as the default action.
|
|
|
|
|
|
|
|
* Print Nikon makernote values for ISO Speed, Quality and WhiteBalance
|
|
|
|
in the summary.
|
|
|
|
|
|
|
|
* Exiv2 library
|
|
|
|
|
|
|
|
* Fixed ExifData::copyFromMetadata to automatically add missing
|
|
|
|
offset tags. Thanks to Joseph Heled for identifying this bug.
|
|
|
|
|
|
|
|
* Started to fix MSVC errors and warnings. Thanks to Steven R. King for
|
|
|
|
his work to get Exiv2 to compile on MSVC. The task is not yet
|
|
|
|
completed but the library should compile without too many warnings.
|
|
|
|
|
|
|
|
* Added three different Nikon makernote formats.
|
|
|
|
|
|
|
|
* IfdMakerNote: Replaced too simple prefix with a more general concept
|
|
|
|
of a makernote header.
|
|
|
|
|
|
|
|
* Added the makernote buffer to the arguments passed to the makernote
|
|
|
|
create function. This allows the makernote create function to
|
|
|
|
determine the exact makernote needed based on its content. The new
|
|
|
|
concept is used to automatically determine which of the three Nikon
|
|
|
|
makernotes to create.
|
|
|
|
|
|
|
|
* Fixed MakerNoteFactory::match() to prefer an exact match over a
|
|
|
|
wildcard match with the same number of matching characters (Key
|
|
|
|
"Nikon" now prefers registry entry "Nikon" over "Nikon*"), simplified
|
|
|
|
the return value of match() to an integer score value.
|
|
|
|
|
|
|
|
* Sigma makernote: Added "FOVEON" and "*" to registry.
|
|
|
|
|
|
|
|
* Added len argument and boundary checks to various read functions,
|
|
|
|
in particular, the IFD read method.
|
|
|
|
|
|
|
|
* Improved handling of corrupt IFDs: Truncate field if offset points
|
|
|
|
outside of the available buffer.
|
|
|
|
|
|
|
|
* Slightly improved error handling: strError() is now a static member
|
|
|
|
of ExifData.
|
|
|
|
|
|
|
|
* Added exifcomment example program.
|
|
|
|
|
|
|
|
* Fixed an embarassing bug in ExifData::updateEntries, which caused
|
|
|
|
write after erasing metadata to write back the original metadata.
|
|
|
|
|
|
|
|
* Fixed TypeInfoTable to return invalid if typeId is too large.
|
|
|
|
|
|
|
|
* Makefile: (un)install targets now only (un)install exiv2.
|
|
|
|
|
|
|
|
* Code cleanup, documentation updates and miscellaneous bug fixes.
|