All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.1 - 2025-01-25
jxl-render
: Fix incorrect upsampling factor when using higher-level LF frame (#412).jxl-render
: Fix edge condition with higher-level LF frame (#413).
0.11.0 - 2024-12-28
- Implement JPEG bitstream reconstruction (#390).
jxl-oxide
: Extract (potentially Brotli-compressed) Exif metadata (#389).
jxl-render
: Fix panic in alpha blending without alpha channel (#403).
0.10.2 - 2024-12-07
jxl-modular
: Check MA tree depth limit while decoding (#391).jxl-frame
: Track group buffer allocation (#393).
0.10.1 - 2024-11-10
jxl-oxide
: Enableimage
feature in Docs.rs (#382).
0.10.0 - 2024-11-01
jxl-oxide
: Acceptu8
andu16
output buffers inImageStream::write_to_buffer
(#366).jxl-oxide
: Addimage
integration under a feature flag (#368).
jxl-color
: Use better PQ to HLG method (#348).
jxl-render
: Fix requested color encoding not applied in some cases (#369).jxl-oxide
: Fix CMYK to RGB conversion (#370).
0.9.1 - 2024-10-12
jxl-color
: Fix generatedmluc
tag in ICC profile (#347).jxl-oxide
: Fix panic while decoding fully loaded intermediate frame (#345).
0.9.0 - 2024-09-10
jxl-oxide-cli
: Use mimalloc (#287, #288).jxl-oxide-cli
: Add--num-reps
(#292).
jxl-grid
: Reorganize modules (#303). Types are renamed.jxl-image
: MoveImageMetadata::encoded_color_channels
intojxl_frame::FrameHeader
(#322).
jxl-oxide
: RemoveRender::image
(#334). UseRender::stream
instead.
jxl-render
: Fix typo in forward DCT (#301).
0.8.1 - 2024-07-30
jxl-modular
: Fix incorrect color with complex inverse palette (#312).jxl-color
: Fix color conversion with out-of-gamut inputs (#316).
0.8.0 - 2024-03-25
jxl-color
: Add an option to pass sRGB samples to CMS (#267).jxl-oxide-wasm
: Port SIMD routines (#274).
jxl-color
: Make peak detection non-default (#267).- Rename
Lz77Mode
variants, makeIncludeMeta
the default (#275).
jxl-oxide-cli
: Hide--lz77-mode
(#275).
0.7.2 - 2024-03-03
jxl-oxide-cli
: Add decode argument--lz77-mode
(#272).
jxl-modular
: Support "legacy" method of computing LZ77dist_multiplier
(#269, #271).
0.7.1 - 2024-02-29
jxl-modular
: Fix Squeeze bug when image dimension is slightly larger than group boundary (#258).
0.7.0 - 2024-02-24
jxl-oxide-wasm
which provides WebAssembly bindings (#223).
jxl-modular
: Change interface to support 16-bit buffers.jxl-render
: Frame blending is deferred for better performance.
0.6.0 - 2024-01-13
jxl-color
: HDR tone mapping and gamut mapping.jxl-color
: Add interface to integrate external CMS intojxl-color
.jxl-render
: Add interface to request specific color encoding.
jxl-oxide-cli
:jxl-dec
andjxl-info
are merged intojxl-oxide
binary (#161).
0.5.2 - 2023-12-23
jxl-render
: Fix aarch64 forward DCT bug (#150).
0.5.1 - 2023-11-21
jxl-oxide
: Link to crate-level docs inREADME.md
(#140).
0.5.0 - 2023-11-21 [YANKED]
- Introduce parallelism in various places of decoding process.
- Renderer is now thread safe.
- Add SIMD routines for aarch64.
- Allow decoding of incomplete, partial bitstreams.
- Rewrite bitstream API so that data are pushed into decoder.
0.4.0 - 2023-09-04
jxl-render
: Introduce cropped decoding API.jxl-oxide-cli
:--output-format
option (#59).
jxl-oxide
: MergeJxlRenderer
intoJxlImage
.
jxl-frame
: RemovePassGroup
andHfCoeff
, instead they are decoded into buffer directly.
jxl-oxide-cli
: Report image dimension with orientation applied (#72).
0.3.0 - 2023-06-16
jxl-render
: Add option to render spot color channel (#48).jxl-oxide
: Add method to retrieve ICC profile of rendered images (#49).
0.2.0 - 2023-05-27
jxl-image
: Remove public fieldsignature
fromImageHeader
.
jxl-oxide-cli
: Fix float rounding bug (#23).- Fix panics in various exotic bitstreams.
0.1.0 - 2023-05-17
- This is the first official release of jxl-oxide, a JPEG XL decoder written in Rust.
- Frequently used features are mostly implemented.