Imager-File-HEIF 0.006 - 30 Apr 2026
======================

- accept a main brand of "heix" in addition to "heic" for monochrome
   images.  libheif started producing this brand for monochrome images
   in 1.20 and it seems to be the correct behaviour.  Continue to
   accept "heic" since older libheif produces it.
   https://github.com/strukturag/libheif/issues/1765

 - with libheif 1.17.0 or later, use a new API to try to detect
   whether the image is mono or color without having to do a trial
   decode.  Previously this would require decoding the image twice for
   nearly all color images.
   https://github.com/tonycoz/imager-file-heif/issues/6

 - require libheif 1.11.0 or later
   I don't feel a need to deal with older API differences in 1.9

 - you can now set the type of compression used with heif_compression,
   this defaults to HEVC, but you can also use other ISOBMFF
   compressions supported by libheif

 - you can select the encoder to use with heif_encoder, which may also
   select the compression used

 - the defaults for heif_lossless and heif_quality are now set by the
   libheif encoder.

 - you can now use tags to set encoder parameters, eg, you can
     $img->write(... heif_chroma => 444)
   to change the way color is stored.

 - added the dump_encoders() and dump_decoders() methods which dump
   information about each encoder (detailed) or decoder (minimal)

 - added the encoder() method which returns a list of
   Imager::File::HEIF::Encoder objects

 - added have_encoder_for() and have_decoder_for() methods which return
   whether a given compression can be encoded or decoded.

 - added the compression_names method that returns a list of the
   compression types supported by this version of libheif.  These
   compression types may or may not have encoders in the current build
   of libheif, you can test for this with have_encoder_for() and
   have_decoder_for().

 - support fetching and storing the pixel aspect ratio in the i_xres
   and i_yres tags from libheif 1.15.0 or later.

 - github action:

   - enable Imager logs and output the logs as an artifact

   - cache installation of the apt packages with
     awalsh128/cache-apt-pkgs-action.

   - cache installation of the libheif build

   - cache installation of Imager

   - this took workflow runs from 2-4 minutes down to ~20 seconds when
     everything is cached.

Imager-File-HEIF 0.005 - 26 Nov 2023
======================

 - the user can now limit the number of decoding threads used by
   libheif with libheif 1.13.0 or later.

 - EXIF metadata is now parsed if found using the tags described in
   Imager::File::HEIF
   https://github.com/tonycoz/imager-file-heif/issues/4

Imager-File-HEIF 0.004 - 10 Nov 2023
======================

 - require libheif 1.9.0 or 1.11.0 or later (not 1.10.0)
   https://github.com/tonycoz/imager-file-heif/issues/1

 - support grayscale images
   https://github.com/tonycoz/imager-file-heif/issues/2

 - fix a potentially large memory leak when writing images
   https://github.com/tonycoz/imager/issues/511

 - newer libheif wants the heif_error message filled even
   on success.

 - improve write error reporting

 - support calling into libheif's clean up code (requires 1.13.0)

 - add some continuous integration
   Unfortunately libheif and friends produce enough valgrind errors
   I couldn't add detect for leaks like those above.

 - documentation updates to match changes to libheif and
   Imager::File::HEIF.

 - make some internal functions into methods, some might be useful
   in bug reporting, some you shouldn't use.

Imager-File-HEIF 0.003 - 05 Apr 2019
======================

 - require libheif 1.4.0.
   Older versions don't properly initialize some class members which
   can result in images that don't meet the spec for non-trivial
   programs.  libheif itself can load such images, but other software
   (OS X Preview at least) will fail to load the image.

 - use the encoder defaults for quality instead of our own.

 - use a new libheif encoder object for each image rather than re-using
   the encoder object.

Imager-File-HEIF 0.002 - 11 Feb 2019
======================

Improve library probing to:

 - reject too old libraries

 - reject libraries without h.265 encoding (libx265) and decoding
   (libde265)

Imager-File-HEIF 0.001 - 10 Feb 2019
======================

Initial release.

Supports reading and writing HEIF/HEIC images.

You can specify the compression level or use lossless compression,
though the RGB => YCbCr conversion makes that lossy too.
