Skip to content

Releases: Evercoder/culori

v4.0.2

Choose a tag to compare

@danburzo danburzo released this 27 Jun 16:01

Bug fixes

  • Changed XYZ <-> Oklab conversion matrices to match those used in the css-color-4 spec (#237, #249, #255)
  • toGamut() throws a more useful error than simply crashing then mode color space does not have lightness and chroma components (#261)
  • Changed reference component value ranges for lab / lch / lab65 / lch65 to match CSS spec (#260)

v4.0.1

Choose a tag to compare

@danburzo danburzo released this 26 Jan 19:31

Bug fixes

Fixes a reference initp/definition.js that caused an error when using the tree-shaked version of the library. (#223)

v4.0.0

Choose a tag to compare

@danburzo danburzo released this 19 Jan 17:10

Breaking changes

This release includes changes to how color strings are parsed, converted, and serialized, for better alignment to CSS specs:

  • Clamp alpha to the [0, 1] interval at parse-time.
  • Clamp L in lab() / lch() to [0, 100], in oklab() / oklch() to [0, 1] at parse-time.
  • Correct numeric ranges in hsl() and hwb() syntaxes from [0, 1] to [0, 100].
  • Serialize missing components as 0 in legacy syntaxes and as none in modern syntaxes.
  • Use 0 for missing components in all color space conversions and gamut mapping functions.

New features

Fixes

  • Make averageAngle() always return in the [0, 360] interval;
  • Fix CIELUV (luv) conversion for l = 0;
  • Allow CommonJS bare import const culori = require('culori') (in addition to the previous culori/require endpoint).

v3.3.0

Choose a tag to compare

@danburzo danburzo released this 20 Nov 19:53

New features

  • Adds a third parameter to clampChroma() to change the destination RGB gamut (#212, #213)
  • Adds the ability to bypass the JND part of the CSS Color Level 4 gamut mapping algorithm by passing null as the delta color difference function (#212, #213)
  • Adds the easingSmoothstepInverse() function (re: #207)

Bug fixes

v3.2.0

Choose a tag to compare

@danburzo danburzo released this 23 Jul 12:15

New features

Adds helper functions to interpolate values bilinearly (blerp()) and trilinearly (trilerp()). These are the extensions of linear interpolation (lerp()) to two and three dimensions, respectively. (Re: #207)

v3.1.3

Choose a tag to compare

@danburzo danburzo released this 10 Jun 09:56

Bug fixes

Replace non-ASCII identifiers with ASCII equivalents for better compatibility with build tools. (#205, thanks @VojtechVidra!)

v3.1.2

Choose a tag to compare

@danburzo danburzo released this 02 Jun 19:17

Bug fixes

Make Culori work better with various bundlers by explicitly listing side-effect producing source files in package.json (See #195).

v3.1.1

Choose a tag to compare

@danburzo danburzo released this 01 Jun 20:56

Bug fixes

Fixes an error in the parser that caused it to choke on malformed colors such as oklch(70% 0..1 156) (#204, thanks for reporting @raidenmiro)

v3.1.0

Choose a tag to compare

@danburzo danburzo released this 26 Mar 16:49

New features

This release introduces new gamut-related functions:

  • inGamut(mode) returns a function with which to check that a color is within the gamut of the mode color space (#161); similar to displayable(), but for any RGB-based color space.
  • clampGamut(mode) returns a function with which to clip a color to the gamut of the mode color space; similar to clampRgb() but for any RGB-based color space.
  • toGamut(mode, ...) returns a function to gamut-map a color to the mode color space (#168); similar to clampChroma but for any RGB-based color space.

Bug fixes

Fixes mapper() function when mode = null (See #194, thanks @bijela-gora!)

v3.0.1

Choose a tag to compare

@danburzo danburzo released this 25 Feb 09:51

Bug fixes

  • Fixed a typo that allowed <hue> components in the color() syntax
  • Included oklab and oklch as exports in the culori/css bundle.

New features

  • Added unlerp() as the reverse of lerp()