Skip to content

Releases: Cykooz/libheif-sys

[4.0.0] - 2025-04-07

08 Apr 15:12
Compare
Choose a tag to compare

Added

  • BREAKING: Feature use-bindgen was removed from default features.
  • BREAKING: Features compile-libheif and embedded-libheif-plugins were removed.
  • The crate system-deps is now used instead of pkg-config to find
    and link a required version of libheif.
  • Added features v1_17, v1_18 and v1_19 to choose a minimal
    version of supported libheif API.
  • Added embedded source code of libheif 1.19.7.
  • Added feature embedded-libheif to compile and then link statically
    the embedded version of libheif.
  • Added support of libheif 1.19:
    • added new values into heif_error_code "enum':
      • heif_error_code_heif_error_Canceled
    • added new values into heif_suberror_code "enum':
      • heif_suberror_code_heif_suberror_No_avcC_box
      • heif_suberror_code_heif_suberror_Invalid_mini_box
      • heif_suberror_code_heif_suberror_Unsupported_essential_property
    • added new values into heif_colorspace "enum':
      • heif_colorspace_heif_colorspace_nonvisual
    • added new values into heif_channel "enum':
      • heif_channel_heif_channel_filter_array
      • heif_channel_heif_channel_depth
      • heif_channel_heif_channel_disparity
    • added new values into heif_reader_grow_status "enum':
      • heif_reader_grow_status_heif_reader_grow_status_error
    • added new values into heif_item_property_type "enum':
      • heif_item_property_type_heif_item_property_type_tai_clock_info
      • heif_item_property_type_heif_item_property_type_tai_timestamp
    • struct heif_reader was updated to version 2, added new fields:
      • request_range
      • preload_range_hint
      • release_file_range
      • release_error_msg
    • added new fields into struct heif_decoding_options:
      • cancel_decoding
    • added type aliases:
      • heif_entity_group_id
    • added structs:
      • heif_reader_range_request_result
      • heif_security_limits
      • heif_image_tiling
      • heif_entity_group
      • heif_ambient_viewing_environment
    • added functions:
      • heif_read_minor_version_brand
      • heif_get_global_security_limits
      • heif_get_disabled_security_limits
      • heif_context_get_security_limits
      • heif_context_set_security_limits
      • heif_image_handle_get_image_tiling
      • heif_image_handle_get_grid_image_tile_id
      • heif_image_handle_decode_image_tile
      • heif_context_get_entity_groups
      • heif_entity_groups_release
      • heif_color_conversion_options_set_defaults
      • heif_image_extend_to_size_fill_with_zero
      • heif_image_handle_get_content_light_level
      • heif_image_handle_get_mastering_display_colour_volume
      • heif_image_handle_get_pixel_aspect_ratio
      • heif_context_add_grid_image
      • heif_context_add_image_tile
      • heif_context_add_overlay_image
      • heif_item_get_property_uuid_type

Changes

  • Disabled building of example applications and tests for libheif
    if embedded-libheif feature is enabled.
  • Enabled libheif's cmake options for building all encoders and decoders
    if embedded-libheif feature is enabled.

[3.1.0] - 2024-12-04

04 Dec 19:02
Compare
Choose a tag to compare

Changes

  • .h files from libheif was embedded in the crate sources.

  • Changed build.rs to use embedded .h files for the bindgen build stage
    instead of .h files from the installed libheif library.

    Now you can link the crate with any version of libheif
    that is backward compatible with the version supported by the crate.

Fixes

  • Deleted layout tests from bindings.rs (#8).

[2.2.1] - 2024-12-02

02 Dec 21:00
Compare
Choose a tag to compare

Fixes

  • Deleted layout tests from bindings.rs (#8).

[2.2.0] - 2024-11-14

02 Dec 20:59
Compare
Choose a tag to compare

Changes

  • .h files from libheif was embedded in the crate sources.

  • Changed build.rs to use embedded .h files for the bindgen build stage
    instead of .h files from the installed libheif library.

    Now you can link the crate with any version of libheif
    that is backward compatible with the version supported by the crate.

[3.0.1] - 2024-11-12

02 Dec 21:01
Compare
Choose a tag to compare

Added

  • Added features to compile libheif source-code form GitHub and
    link it statically (not supported for Windows):
    • compile-libheif
    • embedded-libheif-plugins
  • Updated "bindings.rs" to correspond libheif 1.18.2:
    • added new values into heif_suberror_code "enum':
      • heif_suberror_code_heif_suberror_No_ispe_property
      • heif_suberror_code_heif_suberror_Camera_intrinsic_matrix_undefined
      • heif_suberror_code_heif_suberror_Camera_extrinsic_matrix_undefined
      • heif_suberror_code_heif_suberror_Invalid_J2K_codestream
      • heif_suberror_code_heif_suberror_No_vvcC_box
      • heif_suberror_code_heif_suberror_No_icbr_box
      • heif_suberror_code_heif_suberror_Decompression_invalid_data
      • heif_suberror_code_heif_suberror_Compression_initialisation_error
      • heif_suberror_code_heif_suberror_Unsupported_generic_compression_method
      • heif_suberror_code_heif_suberror_No_matching_decoder_installed
    • added new values into heif_compression_format "enum':
      • heif_compression_format_heif_compression_HTJ2K
    • added new values into heif_metadata_compression "enum':
      • heif_metadata_compression_heif_metadata_compression_zlib
      • heif_metadata_compression_heif_metadata_compression_brotli
    • added field prefer_uncC_short_form into struct heif_encoding_options
    • added structs:
      • heif_camera_intrinsic_matrix
      • heif_property_user_description
      • heif_region_item
      • heif_region
    • added enums:
      • heif_item_property_type
      • heif_transform_mirror_direction
      • heif_region_type
    • added functions:
      • heif_has_compatible_filetype
      • heif_context_add_compatible_brand
      • heif_context_encode_grid
      • heif_context_add_generic_uri_metadata
      • heif_item_get_properties_of_type
      • heif_item_get_transformation_properties
      • heif_item_get_property_type
      • heif_item_get_property_user_description
      • heif_item_add_property_user_description
      • heif_property_user_description_release
      • heif_item_get_property_transform_mirror
      • heif_item_get_property_transform_rotation_ccw
      • heif_item_get_property_transform_crop_borders
      • heif_item_add_raw_property
      • heif_item_get_property_raw_size
      • heif_item_get_property_raw_data
      • heif_image_handle_get_number_of_region_items
      • heif_image_handle_get_list_of_region_item_ids
      • heif_context_get_region_item
      • heif_region_item_get_id
      • heif_region_item_release
      • heif_region_item_get_reference_size
      • heif_region_item_get_number_of_regions
      • heif_region_item_get_list_of_regions
      • heif_region_release
      • heif_region_release_many
      • heif_region_get_type
      • heif_region_get_point
      • heif_region_get_point_transformed
      • heif_region_get_rectangle
      • heif_region_get_rectangle_transformed
      • heif_region_get_ellipse
      • heif_region_get_ellipse_transformed
      • heif_region_get_polygon_num_points
      • heif_region_get_polygon_points
      • heif_region_get_polygon_points_transformed
      • heif_region_get_polyline_num_points
      • heif_region_get_polyline_points
      • heif_region_get_polyline_points_transformed
      • heif_region_get_referenced_mask_ID
      • heif_region_get_inline_mask_data_len
      • heif_region_get_inline_mask_data
      • heif_region_get_mask_image
      • heif_image_handle_add_region_item
      • heif_region_item_add_region_point
      • heif_region_item_add_region_rectangle
      • heif_region_item_add_region_ellipse
      • heif_region_item_add_region_polygon
      • heif_region_item_add_region_polyline
      • heif_region_item_add_region_referenced_mask
      • heif_region_item_add_region_inline_mask_data
      • heif_region_item_add_region_inline_mask

Fixed

  • BREAKING: Deleted deriving Copy and Clone for structs with pointers:
    • heif_plugin_info
    • heif_decoding_options
    • heif_encoding_options

[2.1.0] - 2023-11-28

28 Nov 21:01
Compare
Choose a tag to compare
  • Updated "bindings.rs" to correspond libheif 1.17.4:
    • added new values into heif_compression_format "enum':
      • heif_compression_format_heif_compression_mask
    • added new values into heif_brand "enum':
      • heif_brand_heif_j2ki
      • heif_brand_heif_j2is
    • added functions:
      • heif_get_plugin_directories
      • heif_free_plugin_directories
      • heif_image_handle_get_preferred_decoding_colorspace
      • heif_image_handle_get_context
      • heif_image_handle_get_metadata_item_uri_type

[2.0.1] - 2023-11-24

24 Nov 09:58
Compare
Choose a tag to compare
  • Changed build.rs to fix missing include-directory on macOS (#6).

[2.0.0] - 2023-09-12

12 Sep 21:04
Compare
Choose a tag to compare
  • Fixed link to crate documentation.
  • Updated version of bindgen to 0.68.
  • Added bindgen settings to copy comments from heif.h into generated rust file.
  • BREAKING: Feature use-binding added into list of default features.

[1.16.2] - 2023-09-08

12 Sep 21:04
Compare
Choose a tag to compare
  • Fixed minimal required version of libeif in build.rs script.
  • Don't link with libheif in case of building documentation for docs.rs.

[1.16.1] - 2023-06-21

21 Jun 19:43
Compare
Choose a tag to compare
  • Fixed minimal required version of libheif in README.md.