You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

377 lines
15 KiB
Plaintext

19 years ago
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
19 years ago
- 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
19 years ago
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)
19 years ago
- 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
20 years ago
- 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
21 years ago
Changes from version 0.5 to 0.6
-------------------------------
* Exiv2 utility
* Added options to extract, insert and delete different types of metadata
21 years ago
* Added option to print the Jpeg comment
* Changed semantics of print option `i' to Iptc
21 years ago
(`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)
21 years ago
* 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.
21 years ago
* Bugfix: Use timegm() and gmtime() instead of mktime() and
localtime() to avoid problems when adjusting timestamps.
21 years ago
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
21 years ago
* 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.
21 years ago
* 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.
21 years ago
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.
21 years ago
* 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.