Skip to content

Releases: linebender/color

v0.3.2

10 Sep 10:21
82ffed8

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Added

  • Add interpolate_unpremultiplied and gradient_unpremultiplied for interpolating in unpremultiplied (straight) alpha space.

    While such interpolation will often give perceptually undesired results, this allows using Color to implement rendering features where such interpolation is specified, like in the HTML Canvas element. (#185 by @sagudev)

Changed

  • Specify XYZ-D65 color space conversion matrices as exact rationals. (#171 by @tomcur)
  • Improve documentation of AlphaColor vs PremulColor to clarify alpha premultiplication, and make both types more discoverable from each other. (#190 by @tomcur)

New Contributors

Full Changelog: v0.3.1...v0.3.2

v0.3.1

19 May 08:24
b010e25

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Fixed

New Contributors

Full Changelog: v0.3.0...v0.3.1

v0.2.4

19 May 12:33
98a58df

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Fixed

New Contributors

Full Changelog: v0.2.3...v0.2.4

v0.3.0

30 Apr 15:09
de24080

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Added

  • Support converting between color spaces without chromatic adaptation, thereby representing the same absolute color in the destination color space as in the source color space. (#139, #153 by @tomcur)

    • Add absolute color conversion matrices for ProPhoto RGB, ACES2065-1 and ACEScg for faster conversion without chromatic adaptation to and from these color spaces. (#156, #164, #165 by @tomcur)

    Note to ColorSpace implementers: the WHITE_POINT associated constant is added to ColorSpace, defaulting to D65.
    Implementations with a non-D65 white point should set this constant to get correct default absolute conversion behavior.

  • Support manual chromatic adaptation of colors between arbitrary white point chromaticities. (#139 by @tomcur)

  • Add Missing::EMPTY to allow getting an empty Missing set in const contexts. (#149 by @tomcur)

  • Add From<AlphaColor<_>> for DynamicColor conversions for all color spaces that have a direct runtime representation in ColorSpaceTag. (#155 by @LaurenzV)

  • Add usage examples for DynamicColor::interpolate and gradient. (#158, #159 by @tomcur)

Changed

  • Breaking change: the deprecated conversion From<Rgba8> for PremulColor<Srgb> has been removed. Use From<PremulRgba8> for PremulColor<Srgb> instead. (#157 by @tomcur)
  • Improve no_std support. (#146 by @waywardmonkeys)
  • Make {AlphaColor, OpaqueColor, PremulColor}::to_rgba8 faster. (#166 by @tomcur)

Fixed

  • Correctly determine analogous components between ACES2065-1 and other color spaces when converting,
    to carry missing components forward when interpolating colors with missing components in the ACES 2065-1 colorspace. (#144 by @tomcur)
  • Fixed powerless hue component calculation for the HWB color space. (#145 by @tomcur)

Full Changelog: v0.2.3...v0.3.0

v0.2.3

20 Jan 08:29
6470341

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Added

  • Support for the ACES2065-1 color space. (#124 by @tomcur)
  • A documentation example implementing ColorSpace. (#130 by @tomcur)
  • Conversions of [u8; 4] and packed u32 into Rgba8 and PremulRgba8 are now provided. (#135 by @tomcur)
  • Support construction of AlphaColor<Srgb>, OpaqueColor<Srgb> and PremulColor<Srgb> from rgb8 values. (#136 by @waywardmonkeys)

Fixed

  • Specify some ColorSpace::WHITE_COMPONENTS to higher precision. (#128, #129 by @tomcur)

Full Changelog: v0.2.2...v0.2.3

v0.2.2

03 Jan 10:03
1cd730b

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Fixed

Full Changelog: v0.2.1...v0.2.2

v0.2.1

28 Dec 04:45
84232b9

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Added

  • Add FromStr impl for AlphaColor, DynamicColor, OpaqueColor, PremulColor. (#111 by @waywardmonkeys)

Changed

  • Don't enable serde's std feature when enabling our std feature. (#108 by @waywardmonkeys)
  • From<Rgba8> for PremulColor is deprecated and replaced by From<PremulRgba8>. (#113 by @waywardmonkeys)

Fixed

Full Changelog: v0.2.0...v0.2.1

v0.2.0

17 Dec 21:26
e7ee2d9

Choose a tag to compare

Crates.io | Docs

This release has an MSRV of 1.82.

Added

Changed

Fixed

  • Stray parenthesis in hex serialization of Rgba8 fixed. (#78 by @raphlinus)

New Contributors

Full Changelog: v0.1.0...v0.2.0

Color 0.1.0

21 Nov 17:03
ee05aee

Choose a tag to compare

We are proud to announce that we have released v0.1.0 of Color!

The Color library provides functionality for representing, converting, parsing, serializing, and manipulating colors in a variety of color spaces. It closely follows the CSS Color Level 4 draft spec.