Version 0.6.0 of jxl-oxide features better color management support, and a single CLI tool instead of two (previously jxl-dec
and jxl-info
).
Improved color management
Color transformation routine is rewritten. Now jxl-oxide supports:
- Requesting custom color encoding for decoded images
- HDR to SDR tone mapping
- Simple ICC profile detection
- External color management system integration, to support various ICC profiles which jxl-oxide cannot handle alone (including CMYK)
jxl-oxide comes with optional Little CMS 2 integration, and can be enabled using lcms2
Cargo feature. Note that it's a C dependency.
- CMS integration by @tirr-c in #145
- jxl-color: Detect simple ICC profiles by @tirr-c in #148
- jxl-color: Implement tone mapping by @tirr-c in #155
- jxl-oxide: Include Little CMS 2 integration under a feature by @tirr-c in #160
Merged CLI tools
jxl-dec
and jxl-info
are merged into jxl-oxide
, and those functionality can be accessed using subcommands. See the help message for detailed usage.
- jxl-oxide-cli: Merge binaries into one by @tirr-c in #161
- jxl-oxide-cli: Log error information instead of panicking by @tirr-c in #188
- jxl-oxide-cli: Add --quiet, allow multiple --verbose by @tirr-c in #192
Also, starting from version 0.6.0, the version of jxl-oxide-cli will match that of jxl-oxide.
Fuzzing harness using cargo-fuzz
Numerous crash bugs are found by fuzzing harness, and all crashes found are fixed. Special thanks to @Shnatsel!
- Add an initial fuzzing harness using cargo-fuzz by @Shnatsel in #172
- Reorganize fuzzer, remove honggfuzz harness by @tirr-c in #182
New Contributors
Full Changelog: 0.5.2...0.6.0