Releases: libjxl/libjxl
v0.10.2
Fixed
- bugs in (lossless) encoding (#3367, #3359 and #3386)
- re-enable installation of MIME file (#3375)
- bugs in streaming mode (#3379 and #3380)
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
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
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
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
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
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
structJxlEncoderSetOutputCallback
JxlChunkedFrameInputSource
structJxlEncoderAddChunkedFrame
- encoder API: new options for more fine-grained control over metadata
preservation when usingJxlEncoderAddJPEGFrame
: 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 adistance
given aquality
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 valuesJXL_DEC_EXTENSIONS
,JXL_ENC_NOT_SUPPORTED
,
JXL_TYPE_BOOLEAN
,JXL_TYPE_UINT32
, and deprecated typeJxlEncoderOptions
. - decoder API: the signature of
JxlDecoderGetColorAsEncodedProfile
,
JxlDecoderGetICCProfileSize
, andJxlDecoderGetColorAsICCProfile
changed: a deprecated unused argument was removed.
Changed / clarified
- changed the name of the cjxl flag
photon_noise
tophoton_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
Changed
- Security: Fix an integer underflow bug in patch decoding (#2551- CVE-2023-35790).
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
Changed
- Allow fast-lossless for 16-bit float input (#2093)
- Fix bug in palette (#2120)
- Security: Fix OOB read in exif.h (#2101 - CVE-2023-0645)
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
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 callingJxlEncoderAllowExpertOptions
. - 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
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 callingJxlEncoderAllowExpertOptions
. - 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.