Releases: Cykooz/libheif-rs
Releases · Cykooz/libheif-rs
[1.0.2] - 2024-05-16
Fixes
- Fixed error in
libheif-rs::reader::read()
function in case thenlibheif
calls them withnull
pointer to buffer (fixes Cykooz/libheif-sys#7).
[1.0.1] - 2024-04-14
- Fixed use-after-free in
LibHeif::decode()
method due to incorrect convertingOption<DecodingOptions>
into pointer (#21).
[1.0.0] - 2023-11-28
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
returnheif_error
with non-null pointer to message (#18).
[0.22.0] - 2023-09-12
Added
- Added method
assign_thumbnail
forHeifContext
structure. - BREAKING: Added default feature
use-bindgen
to control that type of binding will be used bylibheif-sys
crate (pre-generated or generated on the fly bybindgen
)
Fixed
- Fixed creating instance of
ColorProfileType
from instance ofheif_color_profile_type
on Windows.
[0.21.0] - 2023-09-08
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
forLibHeif
structure. - Added method
item_id
forImageHandle
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 installlibheif
with help ofcargo
.
Changed
libheif-sys
updated to version 1.16.- BREAKING: Enums
HeifErrorCode
,HeifErrorSubCode
,CompressionFormat
marked asnon_exhaustive
Fixed
- Fixed conversion of
profile
argument ofImage.set_color_profile_raw
method into C-version of this argument.
[0.20.0] - 2023-06-05
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
Added
- Added method
HeifContext::set_max_decoding_threads()
.
[0.19.1] - 2023-03-19
- Fixed
path_to_cstring()
function for building on Windows (#11).
[0.19.0] - 2023-03-12
Added
- Added
LibHeif
structure to initialise internals oflibheif
, load plugins, get instances of encoders, decodeImageHandle
intoImage
, get version of linkedlibheif
. - Added
EncoderDescriptor
structure that describe some properties of encoder and may be used to getEncoder
instance fromLibHeif
. - Added
EncodingOptions::new()
method.
Changed
- BREAKING: Removed method
HeifContext::encoder_for_format()
. UseLibHeif::encoder_for_format()
method instead. - BREAKING: Removed method
ImageHandle::decode()
. UseLibHeif::decode()
method instead. - BREAKING: Lifetime of
Encoder
structure now bounds by lifetime ofLibHeif
instance. - BREAKING: Method
Encoder::name()
now returnsString
instead&str
. - Structure
DecodingOptions
was exposed in public interface of the crate.
[0.18.0] - 2023-03-02
Added
- Added methods
add_generic_metadata()
,add_exif_metadata()
andadd_xmp_metadata()
forHeifContext
.
Changed
- BREAKING: Changed type of argument
type_filer
of methodsImageHandle::number_of_metadata_blocks()
andImageHandle::metadata_block_ids()
. Now it must be something that implementsInto<FourCC>
. For example -b"Exif"
. - BREAKING: Changed order of arguments of method
ImageHandle::metadata_block_ids()
.