Skip to content

Latest commit

 

History

History
396 lines (286 loc) · 17.4 KB

CHANGELOG.md

File metadata and controls

396 lines (286 loc) · 17.4 KB

Changelog

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning, except that – as is typical in the Rust community – the minimum supported Rust version may be increased without a major version increase.

Since version 1.9.1, the format of this changelog is based on Keep a Changelog.

12 December 2024

Other

  • Update thiserror requirement from 1.0 to 2.0 (#247)

30 August 2024

Fixed

Other

  • Update EmbarkStudios/cargo-deny-action action to v2 (#236)

1.9.0

26 July 2024

  • (MINOR) Add new API function XmpFile::try_close which will report any error encountered when closing a file (#232)
  • Fix docs to avoid inadvertent list syntax (#231)

1.8.1

09 July 2024

  • Restore the cargo:include directive (#229)

1.8.0

07 July 2024

  • Publish workflow can now run cleanly (#226)
  • Update stefanzweifel/git-auto-commit-action action to v5 (#225)
  • Update codecov/codecov-action action to v4 (#223)
  • (MINOR) XmpMeta can now optionally format itself using Rust-style formatting (#193)
  • Update actions/github-script action to v7 (#222)
  • Update actions/checkout action to v4 (#219)
  • Allow clean build process (#221)
  • Update paulhatch/semantic-version action to v5.4.0 (#218)
  • Add renovate.json (#206)
  • Update for current cc crate (#216)
  • Fix Clippy warnings for Rust 1.79 (#215)
  • Update deny.toml for recent updates to cargo-deny (#204)

1.7.3

19 March 2024

  • Allow build.rs to succeed if git is not present (#203)

1.7.2

23 February 2024

  • Relax the requirement on cc crate to increase compatibility with other crates (#198)
  • Restore sem ver check

1.7.1

21 February 2024

  • Temporarily disable semantic-version check because we can no longer build 1.7.0
  • Prepare 1.7.1 release
  • Prepare 1.7.1 release
  • Emergency patch: cc 1.0.86 (just released) breaks xmp_toolkit_rs when used in downstream cargo install (#194)
  • [IGNORE] Fix reference to C++ XMP Toolkit to point to December 2023 (#192)
  • Silence new C++ build warning on MacOS (#191)
  • [IGNORE] Fix a typo in API documentation (#190)

1.7.0

15 January 2024

  • (MINOR) Force minor release upgrade for MSRV and C++ Toolkit changes (#189)
  • [fix] Use links and export includes (#187)
  • [MINOR] Adopt 2023.12 version of C++ XMP Toolkit (#188)

1.6.0

14 November 2023

  • (MINOR) Bump MSRV to 1.67 (#182)

1.5.0

16 October 2023

  • Use new Mac ARM runner in CI builds (#180)
  • (MINOR) Bump MSRV to 1.66.0 (#179)
  • (MINOR) Update num_enum requirement from 0.6.0 to 0.7.0 (#178)

1.4.0

09 June 2023

  • (MINOR) Bump MSRV to 1.64.0 (#176)

1.3.0

10 April 2023

  • Fix #135: XmpMeta::from_str_with_options returns empty data model if no xmp_meta wrapper exists (#174)
  • (MINOR) Update to Rust 2021 edition (#173)
  • Update num_enum requirement from 0.5.7 to 0.6.0 (#169)

1.2.1

27 March 2023

  • README update for crt_static crate feature (#167)
  • Added option for static crt using MT flag. (#166)
  • Minor updates to documentation and doc links (#168)

1.2.0

18 March 2023

  • (MINOR) Add crate feature to convert XmpDateTime to/from chrono DateTime (#165)

1.1.0

10 March 2023

  • (MINOR) Add new xmp_gps module to help with Exif -> decimal conversions (#163)
  • Require fs_extra 1.3 or newer (#164)

1.0.3

07 March 2023

  • Officially support aarch64 on Linux (#162)
  • CI: actions-rs/toolchain is no longer maintained; replace with dtolnay/rust-toolchain (#161)
  • Fix aarch64 compilation issues (#159)

1.0.2

09 February 2023

  • Implement Send for XmpMeta (#158)

1.0.1

31 January 2023

  • Add a note to README stating that only MSVC build chain is supported currently on Windows
  • Don't call exit(1) if unable to initialize C++ XMP Toolkit (#156)

1.0.0

19 December 2022

  • (MAJOR) Prepare for stable API (1.0) release (#151)
  • Fix new Clippy warning in Rust 1.66 (#154)

0.7.6

06 November 2022

  • Review API documentation (#153)
  • Add XmpMeta::sort (#152)

0.7.5

06 November 2022

  • Add reference to API stabilization PR
  • New README; propose 1.0 release candidate status
  • Port XMP_CoreCoverage.cpp test suite (#108)
  • Add XmpDateTime::convert_to_local_time and XmpDateTime::convert_to_utc (#149)
  • Add XmpDateTime::set_local_time_zone (#148)
  • Add XmpMeta::compose_field_selector (#147)
  • Add XmpMeta::compose_lang_selector (#146)

0.7.4

04 November 2022

  • Add APIs to allow iteration over the XMP data model (#141)

0.7.3

03 November 2022

  • Fix misplaced reference to WXMPIterator.cpp (#139)
  • If property value is empty string, pass it to C++ toolkit as NULL (#138)
  • Replace XmpMeta::from_str_requiring_xmp_meta with XmpMeta::from_str_with_options (#137)
  • Add XmpMeta::from_str_requiring_xmp_meta (#136)

0.7.2

01 November 2022

  • Add XmpMeta::set_localized_text (#133)
  • Add XmpMeta::delee_qualifier (#132)
  • Add XmpMeta::delete_struct_field (#131)
  • Add XmpMeta::delete_array_item (#130)
  • Add XmpMeta::contains_qualifier (#129)
  • Add XmpMeta::qualifier (#128)
  • Allow XmpMeta::array_item to accept XmpMeta::LAST_ITEM (#127)
  • Add XmpMeta::array_item (#126)
  • Add XmpMeta::delete_property (#125)
  • Add XmpMeta::set_qualifier (#124)
  • Add XmpMeta::compose_qualifier_path (#123)
  • Add XmpMeta::array_len (#122)
  • Add XmpMeta::set_array_item (#121)
  • Implement Display for XmpMeta (#120)
  • Add XmpMeta::compose_array_item_path (#119)
  • Add XmpMeta::set_struct_field (#118)
  • Add XmpMeta::append_array_item (#117)
  • Add XmpMeta::namespace_prefix and XmpMeta::namespace_uri accessors (#116)

0.7.1

24 October 2022

  • Implement Clone for XmpMeta (#114)
  • Implement Default for XmpMeta (#113)
  • Add XmpMeta::name and XmpMeta::set_name accessors (#112)
  • Impl Debug for XmpMeta (#111)
  • Fix crash if XmpMeta::debug_dump_namespaces was the first call into XMP Toolkit (#110)
  • Add XmpMeta::debug_dump_namespaces() (#109)

0.7.0

23 October 2022

  • Add example (port of MyReadXMP app) (#82)
  • Add XmpMeta::struct_field (#107)
  • Add XmpMeta::contains_struct_field (#106)
  • Add XmpMeta::compose_struct_field_path (#105)
  • Fix memory leaks when returning strings from C++ to Rust (#104)
  • Implement Display for XmpDateTime (#103)
  • Add XmpMeta::localized_text accessor (#99)
  • Refactor XmpMeta documentation for property accessors (#98)
  • (MINOR) Rename XmpMeta::does_property_exist to XmpMeta::contains_property (#97)
  • (MINOR) Rename XmpMeta.array_property to .property_array (#96)
  • Add typed property setters (#95)
  • Add typed property getters (#94)
  • Remove Eq trait bound on XmpValue<T> (#93)

0.6.0

20 October 2022

  • (MINOR) XmpMeta::set_property can now pass XmpValue options (#88)
  • Add options for setting flags on XmpValue (#87)
  • (MINOR) Rework XmpDateTime as a non-opaque type (#86)
  • (MINOR) Refactor how property values are returned from accessor functions (#81)
  • Add new API XmpIter::array_property (#78)
  • Add new API function XmpMeta::from_str (#77)
  • (MINOR) Bump MSRV to 1.56 (#75)

0.5.3

20 July 2022

  • Remove restriction on Unicode license; allows unicode-ident version to float (#73)

0.5.2

17 July 2022

  • Deny panic in production code (#70)
  • Introduce new error type XmpErrorType::NulInRustString (#68)
  • Fix unicode-ident to 1.0.1 until review of additional license (#69)

0.5.1

14 July 2022

  • Fix broken documentation build (#67)

0.5.0

12 July 2022

  • (MINOR) Pass XMP errors from C++ to Rust (#60)
  • Refactor test code so it can be excluded from code coverage (#66)
  • Require code coverage to upload on all supported platforms (#63)
  • (MINOR) Hide access to FFI functions (#61)

0.4.0

07 July 2022

  • Fixed build failures on ARM Linux platforms (#57)
  • Silence C++ compiler warnings on Mac (#55)
  • Rework OpenFileOptions as an opaque type (#54)
  • (MINOR) New module for XMP namespace constants (#53)
  • Require API docs for all public API surfaces (#51)
  • (MINOR) Bump MSRV to 1.54 (#52)
  • Improve docs for XmpMeta (#50)
  • Improve docs for XmpFile (#49)
  • Configure dependabot to watch dependencies brought in via git submodules (#48)
  • Add impl std::error::Error for XmpFileError (#47)

0.3.8

22 June 2022

  • Add convenience function for reading XMP from a file (#46)
  • Update XMP Toolkit to June 2022 release (#42)
  • Update libexpat to v2.4.8 (#41)

0.3.7

18 June 2022

  • Fix publish workflow to include git submodules

0.3.6 (YANKED because the release was incomplete)

17 June 2022

  • Use cargo publish --no-verify because repo contents must be modified during build

0.3.5 (NOT RELEASED on crates.io due to bug in publish workflow)

17 June 2022

  • Improve build infrastructure (#44)

0.3.4

28 April 2022

  • Fix a subtle bug in converting to modern function prototypes.

0.3.3

28 April 2022

  • Update zlib to v1.2.12. (#38)
  • Add Rust 1.60.0 to CI build matrix.
  • Remove Rust 1.59.0 from CI build matrix.

0.3.2

08 March 2022

  • Update XMP Toolkit to February 2022 release. (#35)
  • Update libexpat to v2.4.6. (#36)
  • Add Rust 1.59.0 to CI build matrix.
  • Remove Rust 1.58.0 from CI build matrix.

0.3.1

28 January 2022

  • Implement Display trait in XmpFileError enum. (#32)
  • Fix Clippy warning about assert_eq! with a bool value. (#33)
  • Add Rust 1.58.0 to CI build matrix. (#30)
  • Remove Rust 1.56.0 from CI build matrix.

0.3.0

27 October 2021

  • Add Rust 1.56.0 to CI build matrix. (#29)
  • Remove Rust 1.53.0 from CI build matrix.
  • Update XMP Toolkit submodule to October 2021 Release. (#28)

0.2.0

12 October 2021

  • Update XMP Toolkit submodule to August 2021 Release.
  • Bumped MSRV to 1.46.0 due to new dependency from bitflags crate.
  • Add Rust 1.55.0 to CI build matrix.
  • Remove Rust 1.53.0 from CI build matrix.
  • Update version references in Cargo.toml.

0.1.8

23 June 2021

  • Include libexpat via git submodule and update to version 2.4.1. (#18)
  • Add Rust 1.53.0 to CI build matrix.
  • Remove Rust 1.51.0 from CI build matrix.

0.1.7

29 March 2021

  • Add Rust 1.51.0 to CI build matrix.
  • Remove Rust 1.48.0 from CI build matrix.

0.1.6

25 November 2020

  • Handle exceptions on OpenFile. (#13)
  • Add Rust 1.48.0 to CI build matrix.
  • Remove Rust 1.47.0 from CI build matrix.

0.1.5

12 October 2020

  • Add support for building on Windows.
  • Add Rust 1.47.0 to CI build matrix.
  • Remove Rust 1.46.0 from CI build matrix.

0.1.4

04 September 2020

  • Add Mac OS builds to CI build matrix.
  • Add Rust 1.46.0 to CI build matrix.

0.1.3

02 September 2020

  • Improve API documentation.

0.1.2

01 September 2020

  • Fix another build issue that occurs only within the docs.rs environment.

0.1.1

01 September 2020

  • Fix build issue that occurs within the docs.rs environment.

0.1.0

01 September 2020

  • Initial public release.
    • Supports Rust 1.44.0 and higher.
    • Includes the 24 July 2020 release of C++ XMP Toolkit SDK.