Skip to content

Releases: Cykooz/libheif-rs

[2.2.0] - 2025-04-09

09 Apr 21:08
Compare
Choose a tag to compare

Added

  • Added new methods of HeifContext (#32):
    • read_file
    • read_reader
    • read_bytes

[2.1.0] - 2025-04-08

08 Apr 20:25
Compare
Choose a tag to compare

Added

  • Added a new feature v1_19.
  • Added structure SecurityLimits (feature v1_19 is required) (#32).
  • Added methods HeifContext::security_limits() and HeifContext::set_security_limits()
    (feature v1_19 is required) (#32).
  • Added new values of HeifErrorCode enum (v1_19):
    • Canceled
  • Added new values of HeifErrorSubCode enum (v1_19):
    • NoAvccBox
    • InvalidMiniBox
    • UnsupportedEssentialProperty
  • Added new values of ColorSpace enum (v1_19):
    • NonVisual
  • Added new values of Channel enum (v1_19):
    • FilterArray
    • Depth
    • Disparity
  • Added new values of ReaderGrowStatus enum (v1_19):
    • Error

Fixes

  • Fixed README.md file.

[2.0.0] - 2025-04-08

08 Apr 15:17
Compare
Choose a tag to compare

Added

  • Added features v1_17 and v1_18 to choose a minimal
    version of supported libheif.
  • Added feature embedded-libheif to compile and then link statically
    the embedded sources of libheif from the libheif-sys crate.

Changes

  • BREAKING: Features compile-libheif, embedded-libheif-plugins and
    use-bindgen were removed.
  • libheif-sys updated to version 4.0.0+1.19.7.
  • vcpkg updated to version 2025.03.19.

[1.1.0] - 2025-01-23

23 Jan 16:59
Compare
Choose a tag to compare

Added

  • Added ImageHandle methods:
    • auxiliary_images
    • auxiliary_type
    • add_region_item
    • region_items
  • Added struct AuxiliaryImagesFilter.
  • Added module regions with types required to work with HEIF regions.
  • Added HeifContext methods:
    • encode_grid
  • Added new values of CompressionFormat enum:
    • HtJ2k
  • Added new values of HeifErrorSubCode enum:
    • NoIspeProperty
    • CameraIntrinsicMatrixUndefined
    • CameraExtrinsicMatrixUndefined
    • InvalidJ2kCodeStream
    • NoVvccBox
    • NoIcbrBox
    • DecompressionInvalidData
    • CompressionInitialisationError
    • UnsupportedGenericCompressionMethod
    • NoMatchingDecoderInstalled

Changes

  • libheif-sys updated to version 3.1.0+1.18.2.
  • vcpkg updated to version 2025.01.13.

Fixed

  • Fixed use-after-free in HeifContext::encode_image() and
    HeifContext::encode_thumbnail() methods due to incorrect converting
    Option<EncodingOptions> into a pointer.

[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).