oxipng/CHANGELOG.md
2017-06-14 18:28:07 -04:00

6.1 KiB

Version 0.16.0

  • [SEMVER_MAJOR] Bump minimum rustc version to 1.17.0
  • Bump image to 0.14
  • Bump rayon to 0.8

Version 0.15.2

  • Bump image to 0.13 (#65)
  • Bump rayon to 0.7
  • Bump itertools to 0.6

Version 0.15.1

  • Ignore color reductions that would increase file size (#61)

Version 0.15.0

  • [SEMVER_MINOR] Check images for correctness before writing result (#60)
  • Fix invalid output when reducing image to a different color type but file size does not improve (#60)
  • Don't write new file if moving from interlaced to non-interlaced if new file would be larger

Version 0.14.4

  • Fix bug when reducing RGBA to Indexed if image has 256 colors plus a background color

Version 0.14.3

  • Fix multiple bugs when reducing transparency palettes

Version 0.14.2

  • Fix a bug when reducing palette in images with bit depth less than 8
  • Fix a bug when reducing palette in images with transparency

Version 0.14.1

  • Remove zlib dependency and switch entirely to miniz, since zlib 1.2.11 was not working with oxipng. This costs some performance, but is better than having a broken application.

Version 0.14.0

  • Performance optimizations
  • [SEMVER_MAJOR] Bump minimum rustc version to 1.13.0
  • Add categories on crates.io

Version 0.13.1

  • Bump regex dependency to 0.2
  • Bump byteorder dependency to 1.0
  • Bump rayon dependency to 0.6

Version 0.13.0

  • Fix bug in certain PNG headers when reducing color type (#52)
  • [SEMVER_MAJOR] Reduction functions now take &mut PngData and return a bool indicating whether the image was reduced
  • [SMEVER_MAJOR] Bump minimum required rustc version to 1.12.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 PngError type which implements std::error::Error from Results
  • [SEMVER_MAJOR] Rename module deflate::deflate to deflate
  • 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 itertools to 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] -s automatically 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 --quiet mode 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 -s alias 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