4.6 KiB
4.6 KiB
Version 0.13.0
- Fix bug in certain PNG headers when reducing color type (#52)
- [SEMVER_MAJOR] Reduction functions now take
&mut PngDataand return aboolindicating whether the image was reduced - Bump minimum required rust version to 1.11.0
Version 0.12.0
- Performance optimizations
- Fix processing filenames that contain commas (@aliceatlas #50)
- [SEMVER_MINOR] Add zopfli option (-Z), disabled by default. Gives about 10% better compression, but is currently 50-100x slower.
Version 0.11.0
- [SEMVER_MAJOR] Bump minimum rustc version to 1.9.0, required by dependencies
- [SEMVER_MINOR] Allow calling optimization presets via crate using
Options::from_preset - [SEMVER_MAJOR] Return proper
PngErrortype which implementsstd::error::ErrorfromResults - [SEMVER_MAJOR] Rename module
deflate::deflatetodeflate - Performance optimizations
Version 0.10.0
- [SEMVER_MINOR] Make clap and regex dependencies optional
- Enabled by default, needed for executable build; can be disabled for use in crates
- Remove reduction from palette to grayscale, which was not working and provided minimal benefit
Version 0.9.0
- [SEMVER_MAJOR] Significant refactoring of modules
- Use
itertoolsto cleanup areas of code - Use multiple threads for filtering trials
Version 0.8.2
- Fix issue where images smaller than 4px width would crash on interlacing (#42)
Version 0.8.1
- Minor optimizations
- Fix issue where interlaced images with certain widths would fail to optimize
Version 0.8.0
- [SEMVER_MINOR] Add support for optimizing PNGs already loaded into memory via library function
Version 0.7.0
- Minor compression improvement on interlaced images
- Performance optimizations
- [SEMVER_MINOR] Move default Options into a Default impl
- [SEMVER_MINOR] Add option for setting number of threads (#39)
Version 0.6.0
- Fix issue where output directory would not be created if it did not exist
- Use miniz for compression strategies where it outperforms zlib
- [SEMVER_MINOR] Partially implement -p / --preserve, as far as stable Rust will allow for now
- [SEMVER_MINOR] Implement --fix to ignore CRC errors and recalculate correct CRC in output
Version 0.5.0
- [SEMVER_MINOR] Palette entries can now reduced, on by default (#11)
- Don't report that we are in pretend mode if verbosity is set to none
- Add cargo bench suite (#7)
Version 0.4.0
- Performance optimizations
- [SEMVER_MAJOR]
-sautomatically infers--strip safe(#31) - Update byteorder and clap crates
- Fix issue where interlaced images incorrectly applied filters on the first line of a pass
Version 0.3.0
- Properly decode interlaced images
- [SEMVER_MINOR] Allow converting between progressive and interlaced images (#3)
- Fix a bug that would cause oxipng to crash on very small images
Version 0.2.2
- Limit number of threads to 1.5x number of cores
- Significantly improve memory usage, especially with high optimization levels. (#32)
- Refactor output code (#19)
Version 0.2.1
- Add rustdoc for public methods and structs
- Improve filter mode 5 heuristic (#16)
- Add tests for edge-case images with subtitles (#29)
Version 0.2.0
- Fix program version that is displayed when running
oxipng -V - Ensure
--quietmode is actually quiet (@SethDusek #20) - Write status/debug information to stderr instead of stdout
- Use heuristics to determine best combination for
-o1(#21) - [SEMVER_MAJOR] Allow 'safe', 'all', or comma-separated list as options for
--strip - [SEMVER_MINOR] Add
-salias for--strip
Version 0.1.1
- Fix
oxipng *writing all input files to one output file (#15)
Version 0.1.0
- Initial beta release
- Reduce color type and bit depth
- Recompress with zlib
- Multithreading
- Strip headers option
- Backup file before writing option
- Write to stdout option