Changes from version 0.18.2 to 0.19
----------------------------------- * Exiv2 utility - Inverted the meaning of -u to deal with large numbers of unknown Nikon Makernote tags. - -b option now also suppresses Byte and SByte values. * Exiv2 library - 0000664: Crash when reading PNG image. (Reported by Marcel Wiesweg. digiKam bug 220322) - 0000661: Tag Exif.Image.ImageResources (0x8649 in IFD0) should have type BYTE (1). - 0000658: Exception to print raw from Olympus SP-560UZ. (Reported by Francisco Javier Felix Belmonte) - 0000657: Nef Metadata edit with Digikam make impossible to open it with captureNX or ViewNX. (Reported by Nicolas Boulesteix) - 0000656: Broken image causes exiv2 to abort. (Reported by Nathaniel W. Turner. digiKam bug 214913) - 0000653: SVN 1912 fails to build. (Reported by mike m) - 0000652: Problems converting SubSec tags to XMP. - 0000651: Exif tag: TimeZoneOffset (0x882a) and other TIFF/EP tags missing. (Reported by Gary Cohen) - 0000649: Converter fixes. (Patches by Vladimir Nadvornik) - 0000647: Seg fault with Olympus E-P1 orf. (Reported by Udi Fuchs) - 0000646: Additional lens data. (Reported by mike m) - 0000645: Conversion from XMP sidecar leaks XMP-SDK exception. (digiKam bug 204042, patches by Vladimir Nadvornik) - 0000642: string formatting of error #31. (Patch by Matthias Barkhoff) - 0000641: exiv2 "Image size" output broken for Nikon D700 NEF files. (Reported by Martin Paris) - 0000634: Locking error on windows when updating a TIFF file with MemoryMapping enabled. (Reported and fixed by Robin Mills) - 0000629: Virtual functions should not be inlined. - 0000627: typeId methods not available, -fvisibility-inlines-hidden (Reported by Rex Dieter) - 0000620: Update Nikon makernotes. - 0000617: Optimize TIFF writing. - 0000600: Upgrade XMP Toolkit to version 4.4.2. - 0000581: Remove FindMetadatum* from API. - 0000579: Implement memory mapping for Windows platforms. (Based on an implementation by Robin Mills) - 0000571: Need to convert character set when writing XMP sidecar. (Reported by Franz Buchinger, patch by Vladimir Nadvornik) - 0000533: Support multiple APP13 Photoshop 3.0 segments in a JPEG. (Designed and implemented by Michael Ulbrich and Volker Grabsch) - Changed FileIo and MemIo classes to use a Pimpl structure. - Removed --disable-printucs2 configure option. - Updated config files - Added support for Canon FileInfo tags (Andi Clemens). - Updated Nikon Lens lookup table to v4.1.361.01 of Robert Rottmerhusen's fmountlens list. - Added Sigma 28-80mm f/3.5-5.6 lens. (Jo Hanika) - Added support for Unicode paths on Windows (experimental) (Based on work by Jonathan Potter, GP Software) - Added easy-access functions saturation, sharpness, contrast and sceneCaptureType. (Jonathan Potter, GP Software) - Fixed compilation warnings/error under MSVC when building for x64. (Jonathan Potter, GP Software) - On Windows, use Windows function for conversion of UCS-2 strings. (Jonathan Potter, GP Software) - Support for PGF files added. (Gilles Caulier) - Updated digiKam XMP properties. (Gilles Caulier) - Added iptc4xmpExt and plus XMP schemas. (Based on a patch from Mikolaj Machowski). - [translation] Updated Finnish translations. (Mikael Lammentausta) - [translations] Updated Polish translations. (Michal Smoczyk) Changes from version 0.18.1 to 0.18.2 ------------------------------------- * Exiv2 library - 0000638: Valgrind reports errors when writing to PNG image. - 0000636: Exiv2 corrupts certain NEF images when writing to them. (digiKam bug 193228) - 0000633: Editing via symlink does not work as expected. (Reported by Vladimir Nadvornik. Also reported as Debian bugs 466944 and 511273) - 0000632: [translation] a few more small bugs. (Reported by Michal Smoczyk) - 0000631: [translation] a few bugs. (Reported by Michal Smoczyk) - 0000630: PNG images: CRC error in chunk zTXt. (Reported by gegio 0, patch by Jochen Schug) - 0000628: JPG images: Exiv2 puts comments directly after SOI. (Reported by Johannes Hofmann) - 0000626: PNG images: Setting IPTC preview corrupts PNG image. (Reported by Gilles Caulier) - 0000556: timegm() function should work with Windows 64bit time_t. (Robin Mills) - PNG images: Embed IPTC data in a Photoshop IRB. - PNG images: Support creation of an image. (Gilles Caulier) - JP2 images: Support creation of an image. (Gilles Caulier) - Added a new Sigma lens to Minolta makernote. (Gilles Caulier) - Updated Nikon Lens lookup table to v4.0.352.00 of Robert Rottmerhusen's lens database. - Fixed illegal read in ValueType<T>::read(). - [translation] Updated Polish translations. (Michal Smoczyk) Changes from version 0.18 to 0.18.1 ----------------------------------- * Utilities - 0000612: Failed to delete XMP data from NEF (or any other TIFF-based) images. (Reported by Martin Eriksson) - 0000602: Exiv2 generated TIFF incompatible with libtiff. (Reported by Udi Fuchs) - Added new "organize" tool (Brad Schick). * Exiv2 library - 0000623: Remove TiffPrinter visitor. - 0000622: Exiv2 doesn't parse MicrosoftPhoto schema prefix correctly. (Reported by Gilles Caulier / Sylvain Crouzillat) - 0000619: Segfault when opening PNG image. (Reported with patch by Lukasz Krzyzak) - 0000618: Easy access to information which may be in different Exif tags. (Based on a patch from Carsten Pfeiffer) - 0000615: Setting the Exif makernote tag aborts if type is not "undefined". (digiKam bug 182738) - 0000609: Building a DLL of Exiv2 0.18 in MinGW requires -no-undefined linker flag. (Reported with solution by Giuseppe Rota) - 0000606: Add write support for Photoshop PSD image format. (Patch from Michael Ulbrich) - 0000604: Nikkor lens on Nikon D90 not recognized. (Reported by Niels Kristian Bech Jensen) - 0000603: Exiv2 does not read lens maker. (Reported by Niels Kristian Bech Jensen) - 0000594: Modifying images on an NTFS file system fails. (digiKam bug 178103) - 0000494: Patch for displaying focal length (Exif.Canon.FocalLength). (Patch from Artis Rozentals) - Updated Panasonic makernote. - Added read-support for Panasonic RW2 raw images. (With valuable input from Matthias Welwarsky) - Some Nikon makernote updates. - Updated Nikon Lens lookup table to v4.0.347.00 of Robert Rottmerhusen's lens database. - Fixed crash in Pentax makernote pretty-printing code. (Reported by Marijn Kampf) - Refactored TiffCreator: simplified, fixed several todo's, added support for multiple TIFF tree structures. * MSVC related - 0000621: windows librarys are forcing a link to ..\..\..\zlib-1.2.3\projects\visual6\blah\blah. (Reported by Peter J. Ersts, fix by Robin Mills) Changes from version 0.18-pre2 to 0.18 -------------------------------------- * Exiv2 utility - 0000580: [tools] -M option fails and reports success. (Reported by Daniel Blueman) - [tools] Added options -pp and -ep to list and extract preview images. - [tools] Added option -pa to print all metadata, added control for the type of metadata in option -P. * Exiv2 library - 0000591: [build environment] Added missing #includes for g++ 4.4. (Debian bug 505023, patch from Martin Michlmayr) - 0000586: [metadata] ValueType<T> constructor makes assumptions of the endianness of the machine. (Reported by Dimitri) - 0000584: [build environment] Linking fails for PreviewImage::pData(). (Reported by Joakim Rosqvist) - 0000583: [build environment] Linking fails when compiling. (Reported by Joakim Rosqvist) - 0000542: [exif] Exiv2 doesn't find exif data in attached file. (Reported by Paolo Benvenuto) - [exif] Updated Nikon lens info to v3.82 of Robert Rottmerhusen's lens database. - [exif] Fixed adjustment of invalid tag data. (digiKam bug 177457) - [exif] Catch unknown makernotes before reading the IFD. (digiKam bug 174620) - [exif] Introduced logic to fit Exif data in a 64kB block when writing to JPEG images. - [exif] Various TIFF parser improvements. - [exif] Added support for Olympus FE and Raw Info subdirs and tags. - [design] class PreviewImage: Added members to access all preview properties. - [design] class Metadatum and derived classes: Added familyName() and groupName(). - [design] class ExifData: Added erase(beg, end). - [translation] Updated Polish translations. (Piotr Eljasiak) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated Slovak translations. (Ivan Masar) * MSVC related - 0000578: [build environment] More fixes for the MSVC build environment. (Robin Mills) Changes from version 0.18-pre1 to 0.18-pre2 ------------------------------------------- * MSVC related - 0000567: [build environment] Re-wrote MSVC build files. Now builds an experimental DLL among other improvements. (Robin Mills) * Exiv2 library - 0000570: [exif] Fuji SP-3000 Makernote not recognized. (Reported by han AT whria DOT net) - 0000516: [exif] Print functions need access to other tags. - 0000473: [design] Support Preview images. (Vladimir Nadvornik) - [exif] Fixed non-intrusive encoding for Minolta array elements. - [exif] Fixed test whether data area is outside of the data buffer. - [exif] Added check for circular IFD references to new TIFF parser. - [exif] Added Exif.CanonCs.LensType and pretty-print function. - [exif] Added Nikon decryption algorithm and use it to decode lens data. - [misc] Initialized variable which lead to crash on Windows. (Reported by Robin Mills). - [exif] Added synthesized info tags Exif.MakerNote.Offset and Exif.MakerNote.ByteOrder. - [misc] Some performance improvements. (Analysis by Vladimir Nadvornik) - [exif] Always add Exif.Photo.Makernote tag, even if the makernote is decoded. - [xmp] Fixed issue with custom namespaces ending with a #. (Reported by chrysn) - [exif] Added Olympus2 makernote support. (Vladimir Nadvornik) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated Polish translation. (Piotr Eljasiak) - [design] Removed inline functions from class hierarchies. (Patrick Spendrin) Changes from version 0.17.1 to 0.18-pre1 ---------------------------------------- * Exiv2 library - 0000568: [metadata] exiv2 -ps crash for some jpeg files. (Reported by aurelien) - 0000566: [miscellaneous] RSA licensed MD5.cpp file in exiv2 0.16. (Reported with fix by Dirk Mueller) - 0000565: [exif] IFDs and IFD offsets need to be aligned to word boundaries. (Reported by iplabs.de) - 0000554: [exif] Setting "Exif.Image.DateTime Date" gives "Value too large" exception. (Debian Bug 426274) - 0000553: [design] [U]Rational::toLong() and toFloat() should not divide by 0. - 0000528: [miscellaneous] typeSize is meant for Exif metadata only. - 0000526: [metadata] Adding GPS info removes preview image from Nikon Coolpix JPGs. (Reported by paulb) - 0000524: [design] Publish only API objects in the installed header files. - 0000523: [miscellaneous] C++ symbol visibility support for gcc builds. - 0000464: [metadata] Write support for PNG images. (Gilles Caulier) - 0000462: [exif] Write support for TIFF format ("New TIFF parser"). - 0000405: [design] Separate metadata parsing from metadata storage. - [metadata] Write support for JPEG2000 format. (Gilles Caulier) - [exif] Updated Nikon lens info to v3.25 of Robert Rottmerhusen's lens database. - [xmp] Added Microsoft Photo and digiKam XMP schemas. (Gilles Caulier) - [exif] Added DNG tags. Changes from version 0.17 to 0.17.1 ----------------------------------- * Exiv2 library - 0000560: [xmp] Can't delete (last) XMP tag. (Reported by SerGioGioGio) - 0000559: [exif] Crash when extracting Exif orientation flag from Kodak DCR raw file. (Reported by Gilles Caulier) - 0000558: [jpeg i/o] "Warning: JPEG format error, rc = 5" for most of my JPEG files. (Reported with patch by Marcus Holland-Moritz) - 0000552: [build environment] Build failure under Mac OS X 10.3.9 (Reported by Marius Schamschula) - [exif] Fixed several potential division by 0 bugs. Changes from version 0.16 to 0.17 --------------------------------- * Exiv2 utility - [tools] exiv2 now writes a proper XMP sidecar file (it used to just dump the XMP packet to a file). - [tools] exiv2 can now also save Exif and IPTC data in the XMP sidecar file (conversion of Exif/IPTC to/from XMP). * Exiv2 library - 0000550: [design] Remove "MakerTagInfo registry" and registration logic. - 0000547: [build environment] exiv2 0.16 fails to compile with gcc 4.3.0. - 0000546: [exif] Exiv2 crashes while converting Nikon lens information for pretty printing. - 0000541: [translation] French translation mistake. - 0000540: [xmp] Pretty-print functionality for XMP. (Adrien Bustany for GHOP 98) - 0000539: [xmp] Cannot add XMP properties in a custom namespace. (Vladimir Nadvornik, S M Ryan) - 0000532: [xmp] Added conversions to and from XMP. (Vladimir Nadvornik) - 0000474: [design] Add a metadatum member to access translated tag values without the need to use streams. - [metadata] Added read support for jp2 and psd images, stubs for gif, bmp and tga images, and pixelWidth and pixelHeight methods on class Image. (Marco Piovanelli - Ovolab) - [exif] Updated Nikon lens info to v3.18 of Robert Rottmerhusen's lens database. - [exif] Updated Pentax makernote tags. (Michal Cihar) - [xmp] Added support for XMP sidecar files. - [xmp] Improved XMP value toLong, toFloat and toRational using new functions parseLong, parseFloat and parseRational. (Vladimir Nadvornik) - [xmp] Allow format options for XmpParser::encode. (Vladimir Nadvornik) - [xmp] Added LangAltValue::toString(const std::string&) to get the value for a specific language qualifier. (suggested by Marco Piovanelli) - [xmp] Fixed XmpKey::tagLabel() for custom keys. (Reported by Vladimir Nadvornik) - [miscellaneous] Define pid_t using a typedef instead of #define in Windows environments. (Robin Mills) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated French translation. (Fabien Salvi) - [translation] Updated Polish translation. (Piotr Eljasiak) - [translation] Updated Russian translation. (Alexandre Prokoudine) - [translation] Added Slovak translation. (helix84) Changes from version 0.16-pre1 to 0.16 -------------------------------------- * Exiv2 utility - 0000484: [tools] exiv2 -T adjusts file timestamp wrongly. (Reported by Dave Locke) - 0000477: [tools] Adjust year, month and day of the timestamp. (Based on a patch by David Grundberg) - [tools] Modified fixiso action to handle Canon tags as well. (Highlighted by Michael Mather) * Exiv2 library - 0000537: [miscellaneous] Broken PNG image causes exiv2 to crash. (digiKam bug 155105, reported by Michal Kosmulski) - 0000534: [exif] Integer overflow when reading thumbnail. (Reported by Meder Kydyraliev, Google Security Team) - 0000533: [iptc] Read IPTC data from multiple APP13 Photoshop 3.0 segments. - 0000531: [exif] Pentax lens info decoding. (Patch by Michal Cihar) - [exif] Updated Nikon lens info to v2.99 of Robert Rottmerhusen's lens database. - [doc] Added reference tables for XMP properties to documentation. - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Polish translation. (Piotr Eljasiak) * MSVC related - 0000535: [build environment] unlink() declaration conflicts with Visual Studio stdio.h. (Reported with patch by Nikolai Saoukh) - 0000514: [miscellaneous] Linking with libexiv2 masks system localtime, and on MinGW, that of libexiv2 doesn't handle DST correctly. - [build environment] Fixed compilation of the samples. - [build environment] Added support for XMP to MSVC project files. Changes from version 0.15 to 0.16-pre1 -------------------------------------- * Exiv2 utility - 0000463: [design] Add support for XMP metadata. * Exiv2 library - 0000529: [exif] Add support for Pentax maker note. (Michal Cihar) - 0000522: [exif] Lightzone-created JPEG causes exiv2 to segfault. (Reported by Markus Spring) - 0000463: [design] Add support for XMP metadata. - [exif] Support for Olympus ORF format. (Jeff Costlow) - [exif] Updated Nikon lens info to v2.40 of Robert Rottmerhusen's lens database. - [exif] Added Minolta lenses. (Hiroshi Kawashima) - [exif] Ported various Exif tags from Exiftool. (Gilles Caulier) - [miscellaneous] Added i18n for XMP properties, XMP support in PNG images. (Gilles Caulier) - [build environment] Isolated sample programs in their own directory. - [miscellaneous] Updated French translation. (Olivier Tilloy) - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Polish translation. (Piotr Eljasiak) - [miscellaneous] Updated Russian translation. (Alexandre Prokoudine) Changes from version 0.14 to 0.15 --------------------------------- * Exiv2 utility - 0000518: Return code 0 when unable to insert exif tags. (Reported by Daniel J Blueman) - Rename action: Use Exif.Image.DateTime if Exif.Photo.DateTimeOriginal is not present. (Highlighted by mflanagan_swim) * Exiv2 library - 0000521: [exif] Image with large invalid Exif tag crashes exiv2. (Reported by Marco Piovanelli) - 0000520: [exif] crash when loading certain image. (Reported by Christian Weiske) - 0000519: [exif] Another Minolta G500 file impossible to read after fix. (Reported by Alexander Rabtchevich) - 0000513: [exif] Sony Makernote crashes exiv2. (Reported by Aaron D. Campbell) - 0000512: [exif] Wrong AFPoints mapping for Canon cameras. (Reported with patch by Rob Walker) - 0000511: [exif] Minolta G500 RAW format support. (Reported by Udi Fuchs) - 0000509: [miscellaneous] Since v0.14 the version check macro doesn't work in a precompiler #if test anymore. (Reported by Udi Fuchs) - 0000449: [jpeg i/o] Uncouple IPTC and Exif reading. - [exif] Updated Nikon lens info to v2.30 of Robert Rottmerhusen's lens database. - [Exif] Added additional values to the Exif.CanonCs.ISOSpeed. lookup table. (Patrick Markert) - [Exif] Canon ModelId patch. (Gerry Patterson) - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Russian translation. (Alexandre Prokoudine) - [miscellaneous] Updated French translation. (Stephane Pontier) Changes from version 0.13 to 0.14 --------------------------------- * Exiv2 utility - [tools] exiv2 utility: Fixed handling of multiple rename options -r, -t, -T * Exiv2 library - 0000508: [exif] Fixed mapping of CRW rotation info to Exif orientation. (Reported and analysed by Marco Piovanelli) - 0000507: [exif] Fixed RAF read-support for systems without mmap. (Reported by Udi Fuchs) - [exif] Added tag names for a few tags used by Windows Vista and ACDSee. (Gilles Caulier) - [exif] Updated Nikon lens info to v2.20 of Robert Rottmerhusen's lens database. - [build environment] Switched to libtool's -version-info versioning system. - [build environment] By default, do not use the -g compiler option. - [build environment] Added --disable-printucs2 configuration option to disable Windows tag character convertion using libiconv. - [build environment] Changes to make Exiv2 cross-compile smoothly for win32 (Udi Fuchs) - [build environment] Removed deprecated exiv2-config script and some obsolescent autoconf macros pointed out by Udi Fuchs. - [miscellaneous] Changed AnyError to inherit from std::exception; changed the signature of AnyError::what(). (Suggested by Marco Piovanelli) - [miscellaneous] Fixed version check macro to actually check the runtime version and not the compile-time version. Added version() and versionNumber() functions. - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Changed name of installed translation files to lower case exiv2.mo. (Highlighted by Angelo Naselli) Changes from version 0.12 to 0.13 --------------------------------- * Exiv2 utility - 0000504: [tools] exiv2 utility: allow use of -M and -m options with extract and insert actions. * Exiv2 library - 0000503: [metadata] Tiff generated by photoshop crashes exiv2 (digikam bug 139658). - 0000502: [iptc] New TIFF parser: Decode IPTC from Exif.Image.IPTCNAA. (Reported by Walter Hangartner) - 0000501: [iptc] IPTC field parsing is still too strict: shouldn't fail if the type is not as expected. (Reported by Elsa Nordh) - 0000497: [tools] exiv2 tool doesn't respect unix file rights. (Reported and analysed by fabien) - 0000491: [miscellaneous] Probe exiv2 for the extensions it supports. (Suggested by Will Stokes) - 0000461: [miscellaneous] Add i18n support. Requires gettext. (Gilles Caulier) The currently available translations are still work in progress: Finnish by Mikael Lammentausta French by Gilles Caulier (ported from libexif) and Olivier Tilloy German by Gilles Caulier (ported from libexif) and Oliver Dörr Russian by Alexandre Prokoudine Polish, Spanish by Gilles Caulier, ported from libexif - 0000460: [exif] Exiv2 should support to decode/encode Windows tags Exif.Image.0x9c9b-0x9c9f. Requires libiconv. (Suggested by Jose Oliver) - 0000452: [exif] Non-intrusive writing does not update IFD. - [exif] Updated Nikon lens info to v2.15 of Robert Rottmerhusen's lens database. - [exif] Added read-support for Fujifilm RAF images. - [exif] Image class hierarchy refactored: Image now has containers and provides default implementations for most methods. Calling an unsupported method of any Image subclass now results in an exception. Added a method to access the MIME type of an image. * MSVC related - [exivsimple] Added get and set thumbnail functions. (Christian Kuster) Changes from version 0.11 to 0.12 --------------------------------- * Exiv2 utility - 0000493: [tools] exiv2 -T DST problem. (Fix suggested by John <johnpcass at yahoo dot com>) - 0000459: [exif] Exiv2 tool: Added a variable for the original filename to the rename option. (Patch by Tobias Jahn) * Exiv2 library - 0000498: [exif] Exiv2 cannot read the Exif data written after deleting all tags. - 0000496: [metadata] Digikam bug 136855: Editing metadata on a few selected imagefiles and clicking forward or apply crashes digikam. (Reported by several digikam users) - 0000495: [exif] Image with corrupted metadata crashes Exiv2. (Reported as digikam bug 136932 by Rainer Krienke) - 0000490: [build environment] PNG support doesn't compile on MinGW/msys. (Reported by Udi Fuchs and Will Stokes) - 0000489: [build environment] exiv2.pc.in includes private/static libs by default. (Reported with patch by Rex Dieter) - 0000488: [metadata] GPSInfo Metadata should return decimal numbers. (Feature requested by Fabien) - 0000486: [build environment] Test bugfixes-test.sh error under Mac OS X x86. (Reported with fix by Max Lapshin) - [exif] Updated Nikon lens info to v2.07 of Robert Rottmerhusen's lens database. - [metadata] Added methods to access built-in read-only Exif taglists and IPTC record lists. (Initiated by Max Lapshin) - [iptc] Improved IPTC record descriptions using IIM4 specification version 4.1. (Gilles Caulier) - [exif] Improved Exif tag descriptions using Exif specification 2.2 and libexif. (Gilles Caulier) - [exif] Added and improved pretty print functions for some Exif tags. (Gilles Caulier) - [exif] Updated Minolta makernote. (Gilles Caulier, Paul Tribick) * MSVC related - 0000487: Crash in exiv2.exe (built with VC++ 2005 Express) when examing TIFF images (Reported with patch by Dimitri Schoolwerth) 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. (Christophe Paris) * 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. |