Releases: tirr-c/jxl-oxide
jxl-oxide v0.10.2
Version 0.10.2 of jxl-oxide fixes crashes when handling malformed MA tree or frame TOC.
Fixed
jxl-modular
: Check MA tree depth limit while decoding (#391).jxl-frame
: Track group buffer allocation (#393).
Full Changelog: 0.10.1...0.10.2
jxl-oxide v0.10.1
Version 0.10.1 of jxl-oxide is quite a small release with documentation updates.
Changed
jxl-oxide
: Enableimage
feature in Docs.rs (#382).
Full Changelog: 0.10.0...0.10.1
jxl-oxide v0.10.0
Version 0.10.0 of jxl-oxide adds the image
crate integration under a feature flag, and received some bugfixes around color management.
Added
jxl-oxide
: Acceptu8
andu16
output buffers inImageStream::write_to_buffer
(#366).jxl-oxide
: Addimage
integration under a feature flag (#368).
Changed
jxl-color
: Use better PQ to HLG method (#348).
Fixed
jxl-render
: Fix requested color encoding not applied in some cases (#369).jxl-oxide
: Fix CMYK to RGB conversion (#370).
Full Changelog: 0.9.1...0.10.0
jxl-oxide v0.9.1
Version 0.9.1 of jxl-oxide fixes some bugs, including faulty ICC profile generation which made Photoshop fail to open PNG images created by jxl-oxide.
Fixed
jxl-color
: Fix generatedmluc
tag in ICC profile (#347).jxl-oxide
: Fix panic while decoding fully loaded intermediate frame (#345).
Full Changelog: 0.9.0...0.9.1
jxl-oxide v0.9.0
Version 0.9.0 of jxl-oxide contains a few bugfixes, some updates to API, and a bunch of optimizations around libjxl fast-lossless (-d 0 -e 1
) images and peak memory usage.
Added
Changed
jxl-grid
: Reorganize modules (#303). Types are renamed.jxl-image
: MoveImageMetadata::encoded_color_channels
intojxl_frame::FrameHeader
(#322).
Removed
jxl-oxide
: RemoveRender::image
(#334). UseRender::stream
instead.
Fixed
jxl-render
: Fix typo in forward DCT (#301).
Full Changelog: 0.8.1...0.9.0
jxl-oxide v0.8.1
Version 0.8.1 of jxl-oxide fixes glitches when tonemapping or specific palette transform is used.
Fixed
jxl-modular
: Fix incorrect color with complex inverse palette (#312).jxl-color
: Fix color conversion with out-of-gamut inputs (#316).
Full Changelog: 0.8.0...0.8.1
jxl-oxide v0.8.0
Version 0.8.0 of jxl-oxide is relatively small release with WebAssembly SIMD routines and some bugfixes.
Added
jxl-color
: Add an option to pass sRGB samples to CMS (#267).jxl-oxide-wasm
: Port SIMD routines (#274).
Changed
jxl-color
: Make peak detection non-default (#267).- Rename
Lz77Mode
variants, makeIncludeMeta
the default (#275).
Removed
jxl-oxide-cli
: Hide--lz77-mode
(#275).
Full Changelog: 0.7.2...0.8.0
jxl-oxide v0.7.2
Version 0.7.2 of jxl-oxide works around the libjxl bug with lossless JPEG XL images.
Added
jxl-oxide-cli
: Add decode argument--lz77-mode
(#272).
Fixed
Full Changelog: 0.7.1...0.7.2
jxl-oxide v0.7.1
Version 0.7.1 of jxl-oxide fixes a bug that it couldn't decode progressive Modular image with specific settings.
Fixed
jxl-modular
: Fix Squeeze bug when image dimension is slightly larger than group boundary (#258).
Full Changelog: 0.7.0...0.7.1
jxl-oxide v0.7.0
Version 0.7.0 of jxl-oxide is mainly about optimizations and fixing bugs in edge cases. Some notable changes are:
WebAssembly bindings
jxl-oxide-wasm
, WebAssembly bindings to jxl-oxide, is published to NPM. For now, it's a very simple package which can decode JPEG XL image to PNG. Demo can be found at tirr-c/jxl-oxide-wasm-demo.
16-bit Modular buffers
JPEG XL image can signal whether 16-bit buffers are sufficient to hold all Modular sub-images1. jxl-oxide can now allocate smaller buffers when 16-bit buffers are sufficient.
Changed
- jxl-modular: Modular 16-bit buffers by @tirr-c in #207
- jxl-render: Defer blending by @tirr-c in #211
- jxl-render: Save blend result to shared cache by @tirr-c in #212
Added
Fixed
Full Changelog: 0.6.0...0.7.0
-
Modular sub-images are used not only in lossless Modular images, but also in lossy VarDCT images to store 8x subsampled LF images, HF metadata information etc. ↩