Skip to content

Releases: facelessuser/coloraide

5.1

31 Aug 23:16
Compare
Choose a tag to compare

5.1

  • NEW: Linear Display P3 is now serialized as the official CSS color name color(display-p3-linear ...) which
    matches recent spec updates. color(--display-p3-linear ...) is still accepted as an input, but ColorAide will not
    use this serialization on output, and support for the old name will be removed at some future time.
  • NEW: Deprecate the fit parameter in convert() and recommend just calling color.convert(space).fit()
    instead.
  • FIX: Improve IPT's LMS conversion matrix to perform better in 64 bit.
  • FIX: In the unlikely case that the ray trace gamut mapping never finds a gamut intersection during an iteration,
    ensure it falls back to the original color for clipping.

5.0

07 Aug 17:53
Compare
Choose a tag to compare
5.0

5.0

  • BREAKING: CSS serialization no longer requires HSL and HWB to return percentage form during serialization when
    using the non-legacy (no comma) syntax. For consistency, HSL and HWB will only return the percentage form with
    non-legacy serialization when percent is set True by the user. The legacy format will still format strings with
    percentages. This matches all other color spaces in ColorAide that use modern CSS serialization syntax. If you rely
    on ColorAide serializing HSL in the non-legacy format with percentage output, simply add percent=True when calling
    to_string().
  • NEW: Channel object's limit parameter can now accept a function to constrain a channel. This can allow for
    more complex boundary constraints, such as rounding the value in addition to channels with a hard boundary ranges.
  • NEW: CAM16, CAM02, HCT, ZCAM, and Hellwig will no longer force colors to black when lightness is zero except
    when chroma/saturation/colorfulness is also zero. This allows out of gamut colors with lightness of zero
    to properly be seen as out of gamut.
  • NEW: Add new Luminant mixin for color spaces which allows for internally targeting spaces that expose a
    lightness component.
  • NEW: Rename Regular space mixin as Prism for a more appropriate description. Regular is still available
    but deprecated.
  • NEW: UCS, xyY, and Lab-like spaces are now considered Prism and Luminant spaces.
  • NEW: Spaces can now declare if they are "subtractive" via a SUBTRACTIVE class attribute.
  • NEW: Every space now exposes a linear(), indexes(), and names() method opposed to just a select few.
  • NEW: raytrace gamut mapping will now successfully operate on Prism color spaces (formerly Regular) as well
    as RGBish. Prism spaces which are also Luminant are not handled.
  • NEW: Harmonies now better handle irregular Prism spaces.
  • NEW: CMYK now uses CMY as the base conversion space and ensures round trip with wide gamut colors.
  • FIX: Analogous and split complementary harmony results ordered in a more logical configuration.
  • FIX: Fix an issue with some HDR spaces in ray trace gamut mapping.
  • FIX: Fix Duv sign flips and poor precision near inflection points in the Robertson 1968 CCT curve.
  • FIX: Fix an issue where a custom range of mired points for the Robertson 1968 CCT curve can fall exactly where
    slopes change direction, causing a divide by zero. Catch this case and skip any point that falls in this region.

4.7.2

27 Jun 23:20
Compare
Choose a tag to compare

4.7.2

  • ENHANCE: Improve performance of color harmony generation.
  • ENHANCE: Improve performance of gamut mapping using the raytrace approach when a color must be coerced to an
    RGB space.
  • FIX: When a Color instance is passed as an input to the Color constructor, use a more reliable check to
    ensure the color instance is of a compatible color space.
  • FIX: Fix regression that caused longer hue interpolation to no longer work with discrete interpolation.

4.7.1

18 Jun 23:49
Compare
Choose a tag to compare

4.7.1

  • FIX: Fix an issue where chromatic adaptation was being initiated when it wasn't needed. While conversion results
    were unaffected by this behavior, it did contribute to additional overhead, slowing conversions in some cases.

4.7

07 Jun 03:13
Compare
Choose a tag to compare
4.7

4.7

  • NEW: Officially support Python 3.14.
  • NEW: average() now accepts weights for weighted averaging.
  • ENHANCE: Switch to deploying with PyPI's "Trusted Publisher".
  • ENHANCE: Performance improvements for various algebraic calculations.
  • FIX: Fix some corner cases with some algebraic calculations.

4.6

22 Apr 14:31
Compare
Choose a tag to compare
4.6

4.6

  • NEW: Add new rounding option to control rounding modes in to_string(), to_dict(), coords(), alpha(),
    and get(). New rounding modes are: sigfig and decimal which are in addition to the default digits mode.
  • FIX: Fix typing for inherited colors.

4.5.1

28 Mar 06:02
Compare
Choose a tag to compare

4.5.1

  • FIX: Ensure Jzazbz, JzCzhz, and ICtCp actually use --jzazbz, --jzczhz, and --ictcp by default when
    serialized in the color() format.

4.5

28 Mar 04:18
Compare
Choose a tag to compare
4.5

4.5.0

  • NEW: Support change in CSS HDR spec that now specifies Jzazbz, JzCzhz, and ICtCp serialization as using the
    respective named color functions: jzazbz(), jzczhz(), and ictcp(). The color() format also use the custom
    hyphenated names --jzazbz, --jzczhz, and --ictcp respectively by default. The non-hyphenated names are still
    supported in the color() form for backwards compatibility, but usage is discouraged as at some future time
    support for non-hyphenated names will be dropped as CSS has moved away from this as a supported convention.
  • NEW: Reference ranges for Jzazbz, JzCzhz, and ICtCp, now match the latest CSS HDR spec.
  • FIX: Fix order of magnitude calculation.

4.4.1

20 Mar 00:23
e30e65f
Compare
Choose a tag to compare

4.4.1

  • FIX: Fix XYB transform.

4.4

16 Mar 14:28
Compare
Choose a tag to compare
4.4

4.4

  • NEW: Add support for the CAM02 color model and add the CAM02 JMh, CAM02 UCS, CAM02 SCD, and CAM02 LCD color
    spaces.
  • NEW: Add the Hellwig corrections to CAM16 under a new color model variant called Hellwig which adds two new
    color spaces: Hellwig JMh and Hellwig H-k JMh. The H-K variant add additional changes that adjusts lightness for the
    Helmholtz–Kohlrausch effect.
  • NEW: Deprecate submodule name cam16_jmh and zcam_jmh in favor of the more generic cam16 and zcam names.
    Legacy submodule names are still accessible but will now raise a deprecation warning.
  • FIX: Scale achromatic threshold depending on order of magnitude of component scaling. This ensures colors that
    are scaled roughly between 0 - 1 are not considered achromatic earlier than a space scaled roughly between 0 - 100.
  • FIX: Optimized matrix math operations should handle column vectors.
  • FIX: Fix some issues with RYB Biased.