Skip to content

Releases: Cykooz/libheif-rs

[1.0.2] - 2024-05-16

16 May 18:49
Compare
Choose a tag to compare

Fixes

  • Fixed error in libheif-rs::reader::read() function in case then libheif calls them with null pointer to buffer (fixes Cykooz/libheif-sys#7).

[1.0.1] - 2024-04-14

14 Apr 16:44
Compare
Choose a tag to compare
  • Fixed use-after-free in LibHeif::decode() method due to incorrect converting Option<DecodingOptions> into pointer (#21).

[1.0.0] - 2023-11-28

28 Nov 21:48
Compare
Choose a tag to compare

Added

  • Added ImageMetadata structure.
  • Added ImageHandle methods:
    • metadata_item_uri_type
    • all_metadata
    • preferred_decoding_colorspace

Changes

  • libheif-sys updated to version 2.1.
  • vcpkg updated to version 2023.11.20.

Fixed

  • Fix null error message from libheif v1.17: heif_writer should
    return heif_error with non-null pointer to message (#18).

[0.22.0] - 2023-09-12

12 Sep 22:16
Compare
Choose a tag to compare

Added

  • Added method assign_thumbnail for HeifContext structure.
  • BREAKING: Added default feature use-bindgen to control that type of binding will be used by libheif-sys crate (pre-generated or generated on the fly by bindgen)

Fixed

  • Fixed creating instance of ColorProfileType from instance of heif_color_profile_type on Windows.

[0.21.0] - 2023-09-08

08 Sep 19:35
Compare
Choose a tag to compare

Added

  • Added ColorConversionOptions structure.
  • Added DecodingOptions methods:
    • decoder_id
    • set_decoder_id
    • color_conversion_options
    • set_color_conversion_options
  • Added EncodingOptions methods:
    • color_conversion_options
    • set_color_conversion_options
  • Added enums:
    • ChromaDownsamplingAlgorithm
    • ChromaUpsamplingAlgorithm
  • Added DecoderDescriptor structure.
  • Added method decoder_descriptors for LibHeif structure.
  • Added method item_id for ImageHandle structure.
  • Added HeifContext methods:
    • top_level_image_handles
    • encode_thumbnail
  • Added Image methods:
    • pixel_aspect_ratio
    • set_pixel_aspect_ratio
  • BREAKING: Added new values of CompressionFormat enum:
    • Vvc
    • Evc
    • Jpeg2000
    • Uncompressed
  • BREAKING: Added new values of HeifErrorSubCode enum:
    • InvalidRegionData
    • InvalidProperty
    • ItemReferenceCycle
    • EncoderInitialization
    • EncoderEncoding
    • EncoderCleanup
    • TooManyRegions
  • Added support of cargo-vcpkg
    to install libheif with help of cargo.

Changed

  • libheif-sys updated to version 1.16.
  • BREAKING: Enums HeifErrorCode, HeifErrorSubCode, CompressionFormat
    marked as non_exhaustive

Fixed

  • Fixed conversion of profile argument of Image.set_color_profile_raw
    method into C-version of this argument.

[0.20.0] - 2023-06-05

05 Jun 23:50
Compare
Choose a tag to compare

Fixed

  • BREAKING: Added lifetime for HeifContext structure to exclude "use after free" in case it is created from &[u8] (#13).

[0.19.2] - 2023-03-22

22 Mar 20:39
Compare
Choose a tag to compare

Added

  • Added method HeifContext::set_max_decoding_threads().

[0.19.1] - 2023-03-19

19 Mar 12:11
Compare
Choose a tag to compare
  • Fixed path_to_cstring() function for building on Windows (#11).

[0.19.0] - 2023-03-12

12 Mar 14:40
Compare
Choose a tag to compare

Added

  • Added LibHeif structure to initialise internals of libheif, load plugins, get instances of encoders, decode ImageHandle into Image, get version of linked libheif.
  • Added EncoderDescriptor structure that describe some properties of encoder and may be used to get Encoder instance from LibHeif.
  • Added EncodingOptions::new() method.

Changed

  • BREAKING: Removed method HeifContext::encoder_for_format(). Use LibHeif::encoder_for_format() method instead.
  • BREAKING: Removed method ImageHandle::decode(). Use LibHeif::decode() method instead.
  • BREAKING: Lifetime of Encoder structure now bounds by lifetime of LibHeif instance.
  • BREAKING: Method Encoder::name() now returns String instead &str.
  • Structure DecodingOptions was exposed in public interface of the crate.

[0.18.0] - 2023-03-02

02 Mar 22:46
Compare
Choose a tag to compare

Added

  • Added methods add_generic_metadata(), add_exif_metadata() and add_xmp_metadata() for HeifContext.

Changed

  • BREAKING: Changed type of argument type_filer of methods ImageHandle::number_of_metadata_blocks() and ImageHandle::metadata_block_ids(). Now it must be something that implements Into<FourCC>. For example - b"Exif".
  • BREAKING: Changed order of arguments of method ImageHandle::metadata_block_ids().