2.6.6 - 2025/04/1

- Cherry-pick patch from Adobe XMP SDK v2025.03
  - Protect from buffer overruns. Fixes:
    - https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/33
    - GHSL-2024-083
    - GHSL-2024-084
    - GHSL-2024-085
    - GHSL-2024-086
    - GHSL-2024-087

2.6.5 - 2023/12/24

- Update XMPCore to Adobe XMP SDK v2023.12
  - Bug fixes
  - C++17 compliance changes
  - Changes to remove deprecated APIs
  - Removing unimplemented APIs in XMPUtils header
- Fix a potential nullptr dereference.

2.6.4 - 2023/07/06

- Update XMPCore to Adobe XMP SDK v2023.07
  - Security Fixes.
  - Fix Exif Date missing seconds values.
    https://github.com/adobe/XMP-Toolkit-SDK/issues/50
- Fix some portability build issues with dlopen on BSD:
  https://gitlab.freedesktop.org/libopenraw/exempi/-/merge_requests/7
  (Alyssa Ross)
- Added missing file type constants from the XMP_SDK.

2.6.3 - 2022/12/10

- Issue #29: Update the config.guess and config.sub files in the tarball.
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/29
- Make dist an xz tarball.
- Issue #30: Fix null to int assignement error. (Francisco Ramos)
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/30
- Issue #28: Fix build error on armhf. (Fabrice Fontaine)
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/28

2.6.2 - 2022/06/25

- Update XMPCore to Adobe XMP SDK v2022.06
  - Build system fixes that don't matter.
- Fix a typo in an ID3 genre string
  https://gitlab.freedesktop.org/libopenraw/exempi/-/merge_requests/4
- Build XMP_SDK with some fatal warnings:
  - -Werror=missing-field-initializers
  - -Werror=misleading-indentation
  - -Werror=class-memaccess
- Remove (deprecated) boost_test_minimal
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/24
- CI: require "bionic" on Travis CI.
- Remove old .sym file (Daniel Kolesa)
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/17
- Added --enable-samples (default = yes) (Fabrice Fontaine)
  https://gitlab.freedesktop.org/libopenraw/exempi/-/merge_requests/6

2.6.1 - 2022/02/13

- Bug #26: Addressed missing README.md and others from tarball.
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/26

2.6.0 - 2022/02/13

- Update XMPCore to Adobe XMP SDK v2021.10
  (issue https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/22)
  - Changes in v2021.10
    - Fixing CTECHXMP-4170583, CTECHXMP-4170596, CTECHXMP-4170597,
      CTECHXMP-4170598, CTECHXMP-4170599, CTECHXMP-4170632 and CTECHXMP-4170633
      (maintainer note: no idea what they are, but it seems to fix various buffer
      size issues in WAVE and SVG)
  - Changes in v2021.08
    - Security Fixes
    - Fixes syntax errors like semicolons in the codebase
    - Copyright note changes across the codebase
    - Fixes broken license link in Read.md
    - Fully implements kXMPFiles_OpenOnlyXMP flag for MPEG4
  - Changes in v2021.07
    - Security Fixes
    - Write Exif 2.3.1 Time Zone Metadata - XMPFiles Should Read/Write
    - Removal of words Master/Slave/Blacklist/Whitelist from codebase
    - cmake scripts use --version instead of -dumpversion to get complete
      gcc version string
    - Updating ReadMe.txt
  - Changes in v2020.1
    - iOS project generation issue
    - iOS compilation issue with libc++
    - Android support with cmake version 3.6
    - CMake upgrade to version 3.15 (except for android)
    - Add XCode 10.2 support
    - Add VS2017 support
  - Some fixes previously done in Exempi are now upstream.

2.5.2 - 2020/06/24

- Bug #18: Remove an unnecessary message to stdout in the exempi tool.
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/18
- Bug #20: Test file formats. This also change the GIF sample to GIF89a.
  https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/20
- Bug #17: `make check` should build more reliably now.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/17
- MR !1: Remove deprecated C++ to compile with C++17.
  https://gitlab.freedesktop.org/libopenraw/exempi/merge_requests/1
- MR !2: Fix a build failure with C++17.
  https://gitlab.freedesktop.org/libopenraw/exempi/merge_requests/2

2.5.1 - 2019/07/28

- Bug #9: [CVE-2018-12648] Fix null-pointer-dereference in WEBP.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/9
- Bug #12: Invalid WEBP cause a memory overflow.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/12
- Bug #13: Fix a buffer a overflow in ID3 support on invalid MP3.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/13
- Bug #14: Invalid MP3 cause a memory overflow.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/14

2.5.0 - 2019/01/06

- Upgrade XMPCore to Adobe XMP SDK CC 2016.07
  - Support for iOS in XMPFiles
  - New DOM based API’s are added in XMP Core to access metadata tree
    hierarchy. (not exposed yet in Exempi)
  - Added support XMP/metadata in utf-8 encoded uncompressed SVG files in XMPFiles.
  - Added support of GIF handler in XMPFiles.
  - Added support for reconciliation of iXML’s TRACK_LIST and its components to get
    microphone data.
  - Added support for IFDs of type 13 in TIFF.
  - Added support for MPEG4 videos shot from Google Nexus 5 camera.
  - Restructured the implementation of XDCAM Handler to support File Access Mode (FAM)
    and Simple Access Mode (SAM)
  - Added built-in support for iXML namespace in XMPCore.
  - Modified the alias tiff:ImageDescription for dc:description as language alternative
    array instead of simple property.
  - Lot of bug fixes in XMPFiles and XMPCore.
- Removed Exempi provided support for GIF in favour of Adobe's. Only GIF89a is supported.

- New: API NS_XML constant

- Bug #5: Restrict the exported symbols. Only the symbols marked with API_EXPORT
  are exported by the shared library as to not allow another library to import the XMP
  SDK symbols.
  https://gitlab.freedesktop.org/libopenraw/exempi/issues/5
- Bug #105580: Access memory aligned on ARM.
  https://bugs.freedesktop.org/show_bug.cgi?id=105580

Internal:

- Added tests for Adobe SDK.
- Fixed warnings and other issues and Adobe SDK.
- Compile with much more warnings enabled.

2.4.5 - 2018/03/07

- Bug #105204: [CVE-2018-7730] fix a buffer overflow in the PSD parser.
- Bug #105205: [CVE-2018-7728] fix a buffer overflow in the TIFF parser.
- Bug #105206: [CVE-2018-7729] fix a buffer overflow in PostScript parser.
- Bug #105247: [CVE-2018-7731] fix a null dereference in WEBP parser.

2.4.4 - 2018/02/04

- Bug #102197: Properly initialize pointers in WEBP.
- Bug #102151: Fix an infinite loop in RIFF parser.
- Bug #102483: Fix an infinite loop in QuickTime parser.
- Bug #102484: Fix an infinite loop in ASF parser.
- Bug #104885: Adjust minimum version for gcc in documentation.

2.4.3 - 2017/08/03

- Bug #100397: Fix a buffer overrun, memcpy() on overlapping
  regions, use after free in the exception handling.
- Bug #101913: Fix a fatal assert with corrupt WEBP.
- Bug #101914: Fix a crash on a corrupt file.

2.4.2 - 2017/01/29

- Properly define BanAllEntityUsage.
  See https://bugzilla.redhat.com/show_bug.cgi?id=888765

2.4.1 - 2017/01/23

- Bug #99494: Restore error reporting.

Internal:

- Added test for xmp_parse()
- Renamed test3 to testiterator and more comprehensive test for
  iterator to detect thing like bug 99480

Release notes:

- In 2.4.0 the XMP iterator corrected behaviour when used for
  XMP_ITER_JUSTLEAFNAME: The returned values are now set to they
  actual schema NS instead of the top level one.
  This required fixed in third party packages:
  https://github.com/python-xmp-toolkit/python-xmp-toolkit/issues/67
  This changes is the result of a bug fix in Adobe SDK.
  See bug #99480

2.4.0 - 2017/01/07

- Bug #89449: Upgrade XMPCore to Adobe XMP CC 2014.12.
  - New flag to optimize layout on MPEG4 files.
  - GoPro MPEG4 video files support.
  - Improved JPEG support.
  - iXML support in WAVE files.
  - Several bugs and memory leaks fixes.
  - Changes from Adobe XMP CC 2013.06.
    - Pluggable file handlers (not exposed yet in Exempi)
    - Support for Exif 2.3 properties
    - New RIFF file handler
    - Better Postscript support.
    - Lot of bug fixes.
- New API: added XMP_OPEN_OPTIMIZEFILELAYOUT for new SDK.
- Now require (partial) C++11 support to compile (gcc 4.4.7 tested)
- New: WebP format handler (contributed: Frankie Dintino, The Atlantic)

Internal:

- Exempi is now automatically build and the test run by Travis CI.

2.3.0 - 2016/03/15

- New: API xmp_datetime_compare().
- New: API xmp_string_len() to get the length of the XmpString.
- Bug #94065:
  - New: API xmp_files_can_put_xmp_xmpstring() and xmp_files_can_put_xmp_cstr()
    variants.
  - New: API xmp_files_put_xmp_xmpstring() and xmp_files_put_xmp_cstr()
    variants.
  - New: API xmp_files_get_xmp_xmpstring() variant.
  - Test: check the status of the PDF handler.
- Bug #90380: Fix potential crash with corrupt TIFF file.
- Bug #14612: Better Solaris compilation fix.
- Fix header to pass -Wstrict-prototypes

2.2.2 - 2014/08/31

- Public header cleanup and documentation update.
- Update Doxygen config.
- Bug #73058: Add missing include for MacOS.
- Bug #72810: Fix typo in date test in MP3 handler.
- Bug #83313: Fix crash on invalid Exif (from Samsung)
- Fix valgrind testing for xmpcore.sh
- Fix delete / delete[] mismatch in ID3_Support.hpp

2.2.1 - 2013/06/29

- Bug #54011: Use POSIX API for files on MacOS. (Misty De Meo)
- Bug #58175: Replace OS X FlatCarbon headers. (Misty De Meo)
- Added a manpage for exempi(1).
- Added the -n option to the command line for arbitrary namespaces.

2.2.0 - 2012/02/21

- New 'exempi' command line tool.
- Upgrade XMPCore to Adobe XMP 5.1.2
  - Quicktime support now works without Quicktime.
  - Reconciliation with ID3v2.
  - "Blessed" 64-bits support (we already had it in exempi).
  - Slight change in the way XMP are written for MWG compliance.
  - Fixed a serious bug with RIFF.
  - Change in the way local text encoding is dealt with.
  - Alternative languages behave slightly differently by changing
    how the default language property is managed.
  - Probably a bunch of bugs fixed that I don't know about.
- Update unit tests.
  - Refactor the fixtures.
- Use automake silent rules instead of shave. (build only)
- "make dist" generate a bzip2 archive as well. (build only)
- Remove some obsolete warning flags. (build only)
- Build xmpcommandtool
- New: API xmp_files_get_format_info().
- New: API xmp_files_check_file_format().
- New: API xmp_files_get_file_info().
- New: API XMP_PROP_ARRAY_INSERT_BEFORE, XMP_PROP_ARRAY_INSERT_AFTER array options.
- New: C++ helpers in xmp++.hpp.

Bug fixes:

- Bug #37747: mismatch delete/delete[] and new/new[] (from Meego 
  https://bugs.meego.com/show_bug.cgi?id=14661)

2.1.1 - 2009/06/30

New features:

- Added shave to the build system for sane output. (build only)

Bug fixes:

- Bug #16030: if the property is an array or struct allow "" to be passed
  as a value.
- Bug #19312: source/XMPFiles/FileHandlers/P2_Handler.cpp was using 
  an improper string comparison. (made rpmlint unhappy).
- Bug #20554: Missing file on MacOS X.
- Bug #20554: Detect ldflags properly.
- Bug #20622: Catch unhandled exceptions in xmp_files_can_put_xmp().
- Bug #21934: Mismatched new [] / delete.
- Bug #22554: Fix a SIGFPE encountered on some invalid files. (Bug GNOME #586720)

2.1.0

- Upgrade XMPCore to Adobe XMP 4.4.2
  - Handlers for additional file formats, including ASF (WMA, WMV), FLV; 
    MPEG4; SWF; folder-based video formats AVCHD, P2, SonyHDV, and XDCAM; UCF
  - Additional schemas to support document histories, composed documents, 
    and temporal metadata
- New: NS_PDF namespace for PDF.
- New: API xmp_prefix_namespace_uri() and xmp_namespace_prefix(). Bug #14962.
- Bug: make sure boost >1.35 does not fail test with system().
- Bug: unit test now use boost/test/minimal.hpp to work with more boost
  install. (known boost.test bug)
- Bug: fix a typo in a CHECK_PTR call causing warnings on gcc < 4.
- Bug: no longer define UNIX_ENV in exempi.cpp and let CPPFLAGS do it.
- Bug #16139: the list of exported symbols was too large.
- Bug #18635: fix crasher.

2.0.2

- Bug #16598: address the lack of TLS for some platforms.

2.0.1

- Bug #14612: no stdbool.h for Sun compilers.
- Bug #14613: check for iconv() const-ness.
- Make the error checking more robust.
- Make error code thread-safe (ie local to the thread).

2.0.0

- Bug #14614, Bug #15263: endian detection in configure.
- Bug #14615: missing includes for Solaris.

1.99.9

- Bug: fixed an API breakage introduced in 1.99.8

1.99.8

- Bug #14049: don't run autoheader.
- Bug #13712: add --enable-unittest to disable tests.
- Bug: Disable strict aliasing in XMPFiles due to bad casting.
- Bug #14200: fix a typo.
- Bug: fix a couple of buffer overflows in GIF support. Closes Debian #454297.
  Closes Gnome #484105

1.99.7

- Bug: fix soversion.

1.99.6

- New: API xmp_get_property_date() / xmp_set_property_date() with tests.
- New: API xmp_{get,set]_property_{float,bool,int32,int64}() with tests.
- New: API add ACR schema namespaces.
- Test: refactor a the tests preparation.
- Test: add a test for multiple initializations.
- Test: use valgrind is available.
- Bug: fix configure to allow building on MacOS X. Closes bug #13596
- Bug #13707: add autogen.sh
- Bug #13713: fix boost macros to link boost.test statically (for 1.34).
- Bug #13712: skip tests if no boost.

1.99.5

- ABI breakage: soversion is now 3
- Change: API xmp_files_close(), xmp_files_put_xmp(), xmp_files_free(),
  xmp_free(), xmp_iterator_free(), xmp_iterator_skip() now return bool.
- Change: API xmp_get_property_and_bits() renamed xmp_get_property().
- Change: API xmp_set_property2() renamed xmp_set_property().
- Bug: all API should check about input and return an error if
  passed NULL.
- Bug: more exception handling and refactor set_error() use.
- Bug: add AC_CONFIG_MACRO_DIR to configure.
- Bug: Lower requirement for libboost to 1.33.0.
- New: Doxygen API doc generation.

1.99.4

- New: GIF Files smart handlers
- New: API xmp_append_array_item(), xmp_delete_property(),
  xmp_has_property(), xmp_get_localized_text(), 
  xmp_set_localized_text()
- New: API xmp_delete_localized_text()
- New: Exempi will be visible in the "generator" string of the XMP packet.
- Bug: xmp_files_open_new() will handle exceptions properly

1.99.3

- New: API xmp_serialize{,_and_format}() and the
  corresponding option bits
- New API xmp_get_array_item()

1.99.2

- New: API xmp_copy()
- New: API xmp_set_property2(), xmp_set_array_item()
  and xmp_get_error()
- New: API xmp_get_property_and_bits() 
- Bug: xmp_files_get_xmp() handle exceptions properly.

1.99.1

- Bug: store the TIFF tag as BYTE and not UNDEFINED
  to comply with the spec.
- Bug: more exception catched.
- New: added NS_CC namespace
- New: API xmp_register_namespace()

1.99.0

Initial release of the 2.0 series. Based on Adobe XMP SDK 4.1.1

