Skip to content

Releases: libjxl/libjxl

v0.10.2

08 Mar 09:03
Compare
Choose a tag to compare

Fixed

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.10.1

28 Feb 14:29
Compare
Choose a tag to compare

Fixed

  • reduce allocations (#3336 and #3339),
    fixing a significant speed regression present since 0.9.0
  • bug in streaming encoding (#3331)

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.10.0

21 Feb 19:37
Compare
Choose a tag to compare

Added

  • decoder API: added JxlDecoderGetBoxSizeContents for getting the size of the
    content of a box without the headers.
  • encoder API: implemented new api functions for streaming encoding.

Changed / clarified

  • decoder/encoder API: return failure when surface allocation fail.

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.9.2

07 Feb 09:51
Compare
Choose a tag to compare

Fixed

  • bugs in the gdk-pixbuf plugin
  • some build issues

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.9.1

11 Jan 11:51
Compare
Choose a tag to compare

Fixed

  • multiple build issues

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.9.0

22 Dec 14:34
Compare
Choose a tag to compare

Added

  • encoder API: add JxlEncoderSetExtraChannelDistance to adjust the quality
    of extra channels (like alpha) separately.
  • encoder API: new api functions for streaming encoding:
  • JxlEncoderSetOutputProcessor
  • JxlEncoderFlushInput
  • JxlEncoderOutputProcessor struct
  • JxlEncoderSetOutputCallback
  • JxlChunkedFrameInputSource struct
  • JxlEncoderAddChunkedFrame
  • encoder API: new options for more fine-grained control over metadata
    preservation when using JxlEncoderAddJPEGFrame:
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_EXIF
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_XMP
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_JUMBF
  • encoder API: new function JxlEncoderSetUpsamplingMode to change the upsampling
    method, e.g. to use nearest-neighbor upsampling for pixel art
  • decoder API: implemented JxlDecoderSetOutputColorProfile and
    JxlDecoderSetCms to enable decoding to desired colorspace.
  • cjxl can now be used to explicitly add/update/strip Exif/XMP/JUMBF metadata using
    the decoder-hints syntax, e.g. cjxl input.ppm -x exif=input.exif output.jxl
  • djxl can now be used to extract Exif/XMP/JUMBF metadata
  • encoder API: new function JxlEncoderDistanceFromQuality for convenience to
    calculate a distance given a quality

Removed

  • API: the Butteraugli API (jxl/butteraugli.h) was removed.
  • encoder and decoder API: all deprecated functions were removed:
    JxlDecoderDefaultPixelFormat, JxlEncoderOptionsSetLossless,
    JxlEncoderOptionsSetEffort, JxlEncoderOptionsSetDecodingSpeed,
    JxlEncoderOptionsSetDistance, JxlEncoderOptionsCreate, as well as
    the deprecated enumerator values JXL_DEC_EXTENSIONS, JXL_ENC_NOT_SUPPORTED,
    JXL_TYPE_BOOLEAN, JXL_TYPE_UINT32, and deprecated type JxlEncoderOptions.
  • decoder API: the signature of JxlDecoderGetColorAsEncodedProfile,
    JxlDecoderGetICCProfileSize, and JxlDecoderGetColorAsICCProfile
    changed: a deprecated unused argument was removed.

Changed / clarified

  • changed the name of the cjxl flag photon_noise to photon_noise_iso
  • fixed how large boxes are decoded (#2958)
  • fixed encoding files with unreadable patches (#3042, #3046)

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.8.2

14 Jun 08:00
Compare
Choose a tag to compare

Changed

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.8.1

03 Feb 20:00
Compare
Choose a tag to compare

Changed

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.8.0

18 Jan 15:07
Compare
Choose a tag to compare

Added

  • decoder API: new function JxlDecoderSetImageBitDepth to set the bit depth
    of the output buffer.
  • decoder API proposal: add JxlDecoderSetOutputColorProfile and
    JxlDecoderSetCms to enable decoding to desired colorspace; NB: not
    implemented yet.
  • encoder API: new function JxlEncoderSetFrameBitDepth to set the bit depth
    of the input buffer.
  • encoder API: add an effort 10 option for lossless compression; using this
    setting requires calling JxlEncoderAllowExpertOptions.
  • encoder API: new JXL_ENC_FRAME_SETTING_JPEG_COMPRESS_BOXES enum value to
    allow explicit control of metadata compression

Removed

  • common API: removed JxlIntrinsicSizeHeader
  • decoder API: removed deprecated JXL_DEC_NEED_DC_OUT_BUFFER and
    JXL_DEC_DC_IMAGE events, JxlDecoderDCOutBufferSize and
    JxlDecoderSetDCOutBuffer functions

Changed / clarified

  • encoder API: JxlEncoderProcessOutput requires at least 32 bytes of output
    space to proceed and guarantees that at least one byte will be written

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.

v0.8.0 release candidate

13 Jan 11:24
Compare
Choose a tag to compare
Pre-release

THIS IS A RELEASE CANDIDATE. We expect to have v0.8.0 very soon.

Added

  • decoder API: new function JxlDecoderSetImageBitDepth to set the bit depth
    of the output buffer.
  • decoder API proposal: add JxlDecoderSetOutputColorProfile and
    JxlDecoderSetCms to enable decoding to desired colorspace; NB: not
    implemented yet.
  • encoder API: new function JxlEncoderSetFrameBitDepth to set the bit depth
    of the input buffer.
  • encoder API: add an effort 10 option for lossless compression; using this
    setting requires calling JxlEncoderAllowExpertOptions.
  • encoder API: new JXL_ENC_FRAME_SETTING_JPEG_COMPRESS_BOXES enum value to
    allow explicit control of metadata compression

Removed

  • common API: removed JxlIntrinsicSizeHeader
  • decoder API: removed deprecated JXL_DEC_NEED_DC_OUT_BUFFER and
    JXL_DEC_DC_IMAGE events, JxlDecoderDCOutBufferSize and
    JxlDecoderSetDCOutBuffer functions

Changed / clarified

  • encoder API: JxlEncoderProcessOutput requires at least 32 bytes of output
    space to proceed and guarantees that at least one byte will be written

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.