Skip to content

Latest commit

 

History

History
121 lines (90 loc) · 4.91 KB

CHANGELOG.md

File metadata and controls

121 lines (90 loc) · 4.91 KB

kmeans-colors changelog

Version 0.6.0 - 2023-07

Version bump for updating palette to 0.7.

Users will need to change calls using palette::Pixel::{from_raw_slice, into_raw_slice} to palette::cast::{from_component_slice, into_component_slice} for preparing the input image buffer. See the documentation or lib.rs file for examples.

#52 - Upgrade palette to 0.7, bump crate version to 0.6, update CI/CD workflow

Version 0.5.0 - 2022-03-17

Version bump for updating palette to 0.6.

No changes to library code.

#49 - Update metadata for 0.5 release; CI/CD, clippy, and image fixups
#44 - Upgrade palette to 0.6, fix clippy lints, image function fixups

Version 0.4.0 - 2021-03-13

Version bump for updating the rand dependency to 0.8. No major API changes.

Minor change to Sort::sort_indexed_colors which now takes &[Self] instead of &Vec<Self> in the trait definition.

#41 - Prepare metadata for 0.4.0 release, small fixups
#40 - Update crate version to 0.4.0, rand to 0.8, rand_chacha to 0.3

Version 0.3.4 - 2020-11-16

An upstream package was changed which prevented the crate from building when installing with cargo from crates.io.

#36 - Upgrade image to 0.23.11, bump to crate version 0.3.4
#32 - Move color impls to their own module, add lints

Version 0.3.3 - 2020-06-17

Added transparency support to the find sub-command. This will now work like the main command where transparent pixels are disregarded for the k-means calculation. Upstream dependencies have been updated, notably reading in PNG images should have improved performance for the binary.

#27 - Add transparency support for find/replace
#26 - Update dependencies
#25 - Refactor out raw array indexing in favor of iterators

Version 0.3.2 - 2020-06-03

Bug fix for k-means++ to avoid divide by zero errors and panics with rand.

#23 - Fix bugs introduced by switch to kmeans++

Version 0.3.1 - 2020-06-03

Major performance improvements in the form of algorithmic optimization. Hamerly's algorithm was added which allows for skipping the calculation of many distance checks. kmeans++ initialization was also added which provides better initialization for centroids and generally higher quality results. Because of kmeans++, the results produced by this version will not match the previous implementation exactly but performance will be drastically improved.

#20 - Implement kmeans++ for better centroid initialization
#18 - Implement Hamerly's algoirthm for Lab and Srgb
#16 - Add metadata for docs.rs, allow other Lab white points

Version 0.3.0 - 2020-05-27

This update completes the refactor into a more generic, reusable library crate, and marks the first "stable" unstable release. The next breaking change release will occur after the color dependency has been updated, which will bring better performance to color and format conversions.

  • Heavy dependencies have been made optional.
  • Changes in the API should be much smaller.
  • Binary performance has been improved due to the refactor.

#13 - Rethink MapColor trait, add transparency support
#12 - Deduplicate code in palette file saving [BIN]
#11 - Move map_indices_to_centroids to its own trait
#10 - Make palette an optional feature, update docs
#09 - Reimplement kmeans with generics
#08 - Fix indexing error for proportional palettes [BIN]

Version 0.2.0 - 2020-05-22

#06 - Bump to version 0.2.0
#05 - Output color palette as image [BIN]
#03 - Refactor crate into library with bin folder

Version 0.1.0 - 2020-04

  • Initial Commit