Releases: strukturag/libheif
v1.21.1 - build fix
Please see the release notes for v1.21.0: https://github.com/strukturag/libheif/releases/tag/v1.21.0
This patch release only fixes a build error with some GCC versions because of a missing #include.
If you didn't get any build error, you do not need this updated patch release.
v1.21.0 - image sequences
This release adds full support for reading and writing HEIF image sequences.
libheif will now encode HEIF image sequences with all included codecs.
Since HEIF image sequences are very similar to MP4 videos, this new version is also capable of decoding most MP4 videos (without audio, of course).
heif-enc documentation for sequence encoding
API documentation for reading and writing sequences
Other major changes:
- Support for image sequences with alpha channels. For most codecs, the alpha channel will be stored in a separate, auxiliary, monochrome track. For ISO/IEC 23001-17 (uncompressed) streams, the alpha channel is stored in the main video track.
- Support for sequence track edit lists to define the number of sequence repetitions (without actually repeating the video data).
- New encoder plugin using x264 to write H.264-compressed video streams and images.
- The FFmpeg decoder plugin will now decode both H.265 and H.264.
- Support for HEIF text items and language properties (thanks to @bradh).
CVEs fixed:
- CVE-2025-68431
v1.20.2 - maintenance release
- When opening tiled images, do not check against maximum image size immediately to allow for tile-based decoding of very large images.
- Several smaller fixes in writing image sequences
- CMake option to disable building of
heif-view, which pulls in dependency on SDL - Fixes reading/writing of GIMI content IDs
- Some build fixes
v1.20.1 - plugin loading bugfix
Fixes a bug in decoder plugin loading.
If you don't use plugins, you don't need this patch release.
The main release description (for v1.20.0) is here.
v1.20.0 - sequences API (intra only)
NOTE: there is a bug in the plugin loading code of v1.20.0. If you are building with plugins, please use v1.20.1.
Sequences:
- API for reading and writing image sequences.
You can read and write sequences for all codecs (not just H.265 / AV1, but also JPEG-2000, ISO-23001-17 uncompressed, ...).
Currently only intra-coded sequences are supported. - API for reading and writing metadata sequences.
The metadata tracks can contain any raw timed data. - Support for SAI (sample auxiliary information).
Timed samples (from image sequences or metadata) can have auxiliary data attached.
Currently we support TAI timestamps and GIMI content description IDs. - Support for track references.
- The API for sequences is described here:
https://github.com/strukturag/libheif/wiki/Reading-and-Writing-Sequences - New command line tool
heif-viewto show HEIF sequences (requires libSDL).
Other new features:
- You can specify a security limit for the maximum total memory libheif may use for decoding.
This is easier to handle than specifying limits on the maximum image size or single memory allocations. - Support for TAI timestamps (in images and sequences) has been promoted from
experimental to stable. - FFMPEG plugin now supports HDR decoding
- Header files are now split into individual headers by topic.
However, it should still be backwards compatible withheif.hbeing a catch-all covering the old content.
For new functionality (sequences, TAI), you will need to include the specific headers. - All struct names of the API are now also typedefs.
v1.19.8 - maintenance release
- Set
essentialflag for transformative properties as required by MIAF. This fixes the display of AVIF images with transformations encoded by libheif in Chrome, which checks whether this flag is set. - If the environment variable
LIBHEIF_SECURITY_LIMITSis set toOFF, libheif will not check any security limits. This can be used if a user wants to work with large images that were blocked by the security limits, but the application software does not allow to adjust the libheif security limits. - Resolved processing 16-bit JPEG-2000
v1.19.7 - build fix
Fixes a build error with SVT-AV1 encoder plugin when using reduced symbol visibility (#1480).
v1.19.6 - maintenance release
Bugfix release.
Additionally, there are the following changes:
- C++ and Go wrapper licenses have been changed to MIT
- supports SVT-AV1 v3.0.0 encoder
- support emscripten builds for ES6 modules
Fixes
v1.19.5 - maintenance
fix heif_image_handle_is_premultiplied_alpha() #1394
v1.19.4 - maintenance
Fixes a few minor bugs:
- fix crash when encoding tiled
unciimages - fix crash in
heif_context_encode_grid() - fix querying the preferred colorspace for monochrome AVIF files
- error when using a chroma format or bit depth that is not supported by the Kvazaar plugin
- output proper error message when memory allocation failed and use user-defined security limits
- heif-dec: do not show progress when option
--quietit given