This release includes various optimization and fixes, as well as the possibility to inject a CMS in the jxl-rs decoding process.
What's Changed
- Replace
std::cell::RefCellwithAtomicRefCellby @tirr-c in #593 - Make AUTHORS check optional by @FooIbar in #595
- Report benchmark failures in comments by @FooIbar in #596
- Cache default quantization tables per-table using OnceLock by @hjanuschka in #581
- Optimize EPF sigma for modular encoding by @hjanuschka in #583
- Add SIMD table lookup with shuffle-based implementation by @hjanuschka in #585
- Add SinglePropertyLookup for table-based decision routing by @hjanuschka in #600
- Applied a new flag to jxl-perfhistory by @zond in #605
- fix: use checked arithmetic in ICC tag parsing by @lilith in #607
- Add fast paths for FlipVertical, FlipHorizontal, and Rotate180 orientations by @hjanuschka in #582
- Add --data-type CLI option and output format tests by @hjanuschka in #588
- Update CLI speedtest formatting by @jonnyawsom3 in #611
- fix last_pass validation by @mo271 in #612
- Handle OOM in section buffer allocation by @hjanuschka in #614
- Fixed the U32Vec LEN for Avx512 by @zond in #615
- Changed from mul to mullo for i32 intrinsics by @zond in #616
- Validate blending alpha channels by @hjanuschka in #617
- Replace pointer
ascasts with.cast(). by @veluca93 in #618 - Adding CMS stage by @zond in #575
- Forced an optimization boundary via #[inline(never)] wrapper by @zond in #620
- Added CMS stage support for CMYK by @zond in #621
- Added CMYK support for XYB images by @zond in #623
- Not overwrite user set output profile by @zond in #624
- Add ClusterFuzzLite CI integration for continuous fuzzing by @hjanuschka in #628
- Fix integer underflow in String::read_unconditional by @hjanuschka in #629
- Fixed bugs with skipped frames by @zond in #626
- Fix missing first frame delay in APNG by @FooIbar in #631
- Support .apng extension for output files by @FooIbar in #634
- Fix integer overflow in SmallBuffer::refill by @hjanuschka in #633
- Fix color transform and CMS handling to match libjxl by @zond in #625
- Fix integer overflow in RCT transform by @hjanuschka in #632
- Made jxl_cli speedtests warm up by @zond in #639
- fix: use extra channel's own bit_depth for modular-to-f32 conversion by @hjanuschka in #637
- security: fix integer overflow vulnerabilities by @hjanuschka in #638
- Ensure WP functions are inlined. by @veluca93 in #642
- Removed the opt boundary wrappers by @zond in #643
- Add SIMD optimization for int_to_float conversion by @hjanuschka in #580
- Bump version to 0.3.0 by @veluca93 in #644
New Contributors
- @lilith made their first contribution in #607
- @jonnyawsom3 made their first contribution in #611
Full Changelog: v0.2.2...v0.3.0