Skip to content

Latest commit

 

History

History
381 lines (346 loc) · 19.3 KB

CHANGELOG.md

File metadata and controls

381 lines (346 loc) · 19.3 KB

Changelog

Version 0.7.6 - 2024-04-28

  • #390: Add From implementations for changing Rgb component types between u8, f32 and f64.
  • #342: Implement CAM16. Closes #199.
  • #386: Fix angle conversion from f32 to u8. Closes #385.
  • #384: Add traits for color schemes from traditional color theory.

Version 0.7.5 - 2024-02-25

  • #380: Avoid recursive trait resolution for IntoIterator. Closes #283.

Version 0.7.4 - 2024-01-28

  • #373: Add an "alloc" feature and make tests work with any feature combination. Closes #366.
  • #374: Fix typo about max range of u8. Closes #1234, #4321.
  • #369: Fix potential NaN from converting to Okhsl when the input is white or black. Closes #368.
  • #355: Add traits for delta E and the improved formulas from Huang et al.
  • #351: Improve some documentation for beginners.
  • #347: Implements Rgba::from_str().

Version 0.7.3 - 2023-08-10

  • #345: Add ArraysAs, AsArrays, and corresponding traits for components and uints.
  • #344: Fix Oklab from Oklch hue conversion. Closes #1234, #4321.
  • #343: Spelling fixes.
  • #338: Add traits for casting collections of colors to and from other data types.

Version 0.7.2 - 2023-05-21

  • #332: Fix NaN values from Okhsv when saturation is > 0 and value == 0. Closes #330.
  • #328: Add the HyAB color difference metric. Closes #318.
  • #326: Add a Wcag21RelativeContrast trait and deprecate RelativeContrast.
  • #320: Implement struct-of-arrays (SoA) utilities. Closes #305.
  • #323: Add saturating_add and saturating_sub for integer based colors. Closes #322.
  • #321: Spelling fixes.
  • #316: Add EuclideanDistance and Ciede2000 traits, deprecate ColorDifference. Closes #288.

Version 0.7.1 - 2023-04-16

  • #313: Improve serializing. Closes #130.
  • #312: Remove impl<C> $op_trait<PreAlpha<C>> for {f32,f64} impls to work around issue #283. Closes #283.

Version 0.7.0 - 2023-04-10

  • #308: Allow RGB/XYZ conversion matrices to be pre-defined.
  • #307: Update syn and dev dependencies.
  • #302: Lift linearity restriction for Rgb and Luma and update docs.
  • #301: Remove the Gradient type and its module. Closes #152, #156.
  • #282: Add Okhsv, Okhsl and Okhwb.
  • #297: Expose doc comment for Rgb::from_str. Closes #1234, #4321.
  • #286: Reduce the minimum compile time a bit.
  • #279: Split the TransferFn trait and add lookup tables for sRGB. Closes #126, #245.
  • #278: Implement SIMD support and add wide integration.
  • #273: Split and rework the Blend trait and bump MSRV to 1.55.0. Closes #243.
  • #272: Fix broken link to SVG color names.
  • #270: Correcting documentation link.
  • #269: Rework component traits to be more granular and remove num_traits.
  • #257: Add in-place conversion traits for slices and references.
  • #256: Implement FromColorUnclamped and FromColor for Vec<T> and Box<[T]>.
  • #255: Add unsigned integer casting to cast and make Packed general purpose.
  • #254: Replace the Pixel trait with ArrayCast and cast functions and increase the MSRV to 1.51.0.
  • #251: Split Saturate into Saturate and Desaturate.
  • #250: Split the Hue trait into more specific traits.
  • #249: Split Shade into Lighten and Darken, and add *Assign variants.
  • #248: Add a MixAssign trait and remove the Float requirement from Mix.
  • #247: Split Clamp into smaller traits and implement for [T].
  • #246: Make most operator traits take their input by value and change TransferFn to TransferFn<T>.
  • #240: Add an Any white point. Closes #194.
  • #239: Make color constructors const and remove or replace all with_wp. Closes #134.
  • #238: Relax trait bounds for all color types.

Version 0.6.1 - 2022-07-16

  • #290: Update phf to 0.11.0. Closes #289.

Version 0.6.0 - 2021-07-12

  • #235: Upgrade phf to 0.9 and enable named_from_str for no_std.
  • #200: Add Oklab support. Closes #222.
  • #231: Update approx and find-crate dependencies.
  • #229: Implement bytemuck::Zeroable and bytemuck::Pod for every color type.
  • #225: Add Hsluv support. Closes #112.
  • #223: Add Lchuv support.
  • #221: Add CIE Luv support.
  • #217: Implement relative and absolute methods for Lighten/Darken, Saturate. Closes #215.
  • #216: Add doc alias, doc cleanups, remove trait from Packed struct.
  • #211: Implement PartialEq/Eq for all colorspaces, Alpha, PreAlpha, and LabHue/RgbHue. Closes #206.
  • #210: Rename Limited trait to Clamp. Closes #209.
  • #205: Generalizing gradients and add constant gradients. Closes #62.
  • #190: Convert documentation to intra doc links, add default whitepoint for Lab/Lch, make code fixups. Closes #177.
  • #189: Correct scaling on random distribution of Lab/Lch.
  • #188: Allow HSV, HSL and HWB to represent nonlinear RGB. Closes #160, #187.
  • #184: Optimize into_component for float_to_uint, u8 to f32/f64.
  • #183: Optimize matrix functions, color conversion performance.
  • #176: Rewrite the conversion traits to work more like From and Into. Closes #41, #111.
  • #175: Add feature "random" for random color generation using rand crate. Closes #174.
  • #173: Add functions to get min/max component values for all color types, alpha.
  • #170: Add {into,from}_u32 methods for RGB/A, Packed struct for u32 representations of RGBA. Closes #144.
  • #164: Implement WCAG contrast ratio calculations.
  • #162: Implement CIEDE2000 color difference for Lab/Lch. Closes #143.
  • #161: Split the Component trait into more specific traits.
  • #157: Implement FromStr method for Rgb<S, u8>. Closes #148.
  • #158: Make Take iterator for gradient inclusive of both end colors, add tests.
  • #154: Add DoubleEndedIterator impl for gradient::Take. Closes #153.
  • #137: Add some missing From impls between Srgb and LinSrgb types.

Version 0.5.0 - 2019-11-17

  • #149: Use libm through num_traits, and update all dependencies.
  • #142: Make libm optional. Closes #116.
  • #138: Fix no_std build failure.
  • #136: Update dependencies and remove --release flag from feature tests.
  • #135: Round to nearest instead of down when converting components to integers.
  • #127: fix no_std. Closes #125.
  • #124: Update approx dependency to 0.3.
  • #119: Remove the color enum. Closes #72.
  • #118: Implement assign ops. Closes #94.
  • #110: No std support. Closes #108.
  • #106: Add Extended Conversion Trait.
  • #104: Update image and approx crate dependency. Closes #101, #100.

Version 0.4.1 - 2018-08-02

  • #113: Import everything from the parent scope in derives.

Version 0.4.0 - 2018-05-26

  • #99: Fix into and from component tuple conversion for Yxy.
  • #98: Add conversion to and from component tuples. Closes #87.
  • #97: Add hexadecimal formatting to Alpha, Luma and Rgb. Closes #80.
  • #96: Reexport derives from the main library. Closes #91.
  • #93: Make it possible to derive Pixel. Closes #85.
  • #92: Add transparency support when deriving FromColor and IntoColor. Closes #86.
  • #90: Add serde support as an optional feature. Closes #83.
  • #89: Improve the hue types a bit. Closes #75.
  • #84: Make it possible to derive IntoColor and FromColor. Closes #82.
  • #81: Make a new system for converting to and from arrays and slices. Closes #74.

Version 0.3.0 - 2018-02-17

  • #78: Upgrade dependencies.
  • #60: Generalize the RGB types over RGB standards. Closes #66, #31, #58.
  • #76: Change dependency num to num_traits to shrink dependency tree.
  • #63: Add rebeccapurple.
  • #61: Restore the proper scale of Lab and Lch. Closes #49.
  • #56: Make color spaces white point aware. Closes #14.

Version 0.2.1 - 2016-02-23

  • #39: Implement color blending. Closes #3.
  • #54: Faster Rgb to Hsl and Hsv conversions.
  • #52: Add missing ApproxEq implementations.
  • #53: Add hwb color. Closes #32.
  • #51: Implement approx eq trait.
  • #48: Add tests for conversions. Closes #44.
  • #47: Change normalize to use floor and ceil formula. Closes #46.
  • #43: Add conversion trait.
  • #34: Add color constants. Closes #5.
  • #35: use flt() function. Closes #33.
  • #30: Add Cie Yxy (xyY) Color Space.
  • #29: Derive Clone for Take and MaybeSlice.

Version 0.2.0 - 2016-01-30

  • #26: Offer both 0 centered and positive hue -> float conversion. Closes #15.
  • #25: Fix or relax some color ranges and clamping. Closes #19.
  • #22: Extract the alpha component as a wrapper type. Closes #11.
  • #24: Separate sRGB and gamma encoded RGB from the Rgb type. Closes #7.
  • #23: Change Mix, Shade and Saturate to use an associated type.
  • #18: Convert all colors to be generic over floats, f32 and f64. Closes #13.

Version 0.1.1 - 2016-01-21

  • #12: Implement Gradient slicing and exact size iteration. Closes #4.
  • #9: Implement color arithmetics. Closes #2.

Version 0.1.0 - 2016-01-12

The first published version.