Releases: oxipng/oxipng
Releases Β· oxipng/oxipng
v10.0.0
- [Breaking] CLI: Change short zopfli flag from
-Zto-z. - [Breaking] CLI: Change
--pretend/-Pto--dry-run/-d. - [Breaking] CLI: Change
--interlaceoptions from1/0toon/off. - [Breaking] API: Change
Options.interlace: Option<Interlacing>toOptions.interlace: Option<bool>. - [Breaking] API: Change
Options.filter: IndexSet<RowFilter>toOptions.filters: IndexSet<FilterStrategy>. - [Breaking] API: Change
Options.deflate: DeflaterstoOptions.deflater: Deflater. - [Breaking] API: Change
Deflaters::Zopfli { .. }toDeflater::Zopfli(ZopfliOptions { .. }). - [Breaking] API: Change
optimize()to return(usize, usize), with original and optimized sizes. - [Feature] Allow zopfli iterations higher than 255.
- [Feature] Add
--ziwioption for zopfli iterations without improvement. - [Feature] Add
--max-raw-sizeoption to skip images that are too large. - [Feature] Add
--brute-leveland--brute-linesoptions for advanced control of Brute filter. - [Improvement] Reduce memory usage for
fastmode. - [Improvement] Slightly improve compression with Brute filter at levels 5 and 6.
- [Misc] Change
--preserveoption to no longer preserve last access time. - [Misc] Make help output colored.
v9.1.5
- [Feature] Add
--sequentialoption to process files sequentially rather than in parallel. - [Performance] Update to latest Zopfli with greatly improved performance.
- [Improvement] Reduce memory usage.
- [Bugfix] Correct handling of grayscale conversion when ICC profile is present.
v9.1.4
- [Improvement] Improve optimization of APNG files (reductions still not supported yet).
- [Improvement] Improve reductions for small images and ensure consistent results for repeat runs.
- [Build] Add feature
system-libdeflateto use the system-installed version of libdeflate. - [Misc] Strip C2PA metadata by default.
v9.1.3
- [Feature] Add
--zioption to control the number of Zopfli iterations. - [Improvement] Allow setting compression level to 0.
- [Performance] Improve filtering performance for some images.
- [Build] Move man page generation to an xtask.
v9.1.2
- [Bugfix] Fix
--nxstill applying deinterlacing by default. - [Bugfix] Fix wildcard matching being case-sensitive on Windows.
- [Bugfix] Fix optimized APNGs not being compatible with some programs.
- [Build] Fix feature
sanity-checksnot working withoutparallel. - [Misc] Resolve ambiguity between optional dependencies and crate features.
v9.1.1
- [Build] Change man page generation path to resolve issue with cargo publish.
v9.1.0
- [Improvement] Add
--keep displayequivalent to--strip safe. - [Improvement] Add modified zeng palette sorting method, improving optimization of indexed images.
- [Improvement] If only one filter is specified, guarantee to only use this one.
- [Improvement] Evaluate low-depth indexed even if low-depth grayscale was already achieved.
- [Bugfix] Fix battiato palette sorting method not being used if the input was not already indexed.
- [Bugfix] Fix rare crash caused by a truncated palette.
- [Build] Reduce size of binaries.
- [Build] Add man page generation.
- [Build] Publish deb archives for Linux.
- [Misc] Bump minimum Rust version to 1.74.0.
v9.0.0
- [Breaking] Remove
--backupoption. Use--outor--dirto preserve existing files. - [Breaking] Remove
--checkoption. Use--nx --nzto perform a non-optimizing run. - [Breaking] API: Replace
pretendoption withOutFile::None. - [Breaking] API: Move
preserve_attrsintoOutFile::Path. - [Breaking] Default to removing interlacing. Use
-i keepto retain existing interlacing. - [Feature] Add Raw API for creating optimised PNGs from raw image data.
- [Feature] Add basic support for APNG files.
- [Feature] Add
--scale16option to forcibly reduce 16-bit images to 8-bit. - [Improvement] Process multiple files in parallel.
- [Improvement] Improve reductions, particularly for indexed or very small images.
- [Improvement] Improve compression with latest version of libdeflate.
- [Improvement] Recompress iCCP chunks.
- [Improvement] Change recursive mode to only process .png/.apng files.
- [Improvement] Add support for glob patterns in quotes on Windows.
- [Improvement] Quieter default output logging, with multiple levels of verbosity.
- [Bugfix] Fix deadlock when using oxipng within an existing Rayon thread pool.
- [Bugfix] Fix early abort in recursive mode when a read error occurred.
- [Bugfix] Fix losing aux chunks when there's more than one of the same type.
- [Bugfix] Fix sometimes writing output even when it was larger.
- [Misc] Revamp CI workflow to upload artifacts and generate binaries for additional architectures.
- [Misc] Bump minimum Rust version to 1.66.0.
v8.0.0
- [Breaking] Revamp alpha optimization
- [Bugfix] Fix grayscale depth reduction with tRNS pixel
- [Bugfix] Fix fast mode with zopfli
- [Improvement] Tweaks to interlacing and format display
- [Improvement] Ability to reduce alpha channel to tRNS pixel
- [Improvement] Performance improvements to colorspace reduction
- [Misc] Disable image validation in release mode, as it is deemed no longer necessary
v7.0.0
- [Breaking] Switch to libdeflater as the default
- [Breaking] Rebalance presets
- [Breaking] Update safe headers to remove
- [Breaking] Bump minimum Rust version to 1.61.0
- [Feature] Introduce new filter strategies
- [Feature] Allow setting libdeflate compression level
- [Feature] Add optional dockerization
- [Improvement] Improve alpha reductions
- [Improvement] Fast deinterlace for 8-bit
- [Improvement] Refactor heuristics for fast filter evaluation
- [Improvement] Improve file size reduction further
- [Bugfix] Avoid printing output bytes on decompress error
- [Bugfix] Fix compression level 0
- [Bugfix] Fix directional alpha reductions
- [Bugfix] Fix edge cases in palette reduction