- **NEW**: `normalize()` will now also normalize a cylindrical color model with negative chroma/saturation to its
positive chroma/saturation form, assuming one exists.
- **NEW**: Gamut clipping is performed on a cylindrical color's normalized form ensuring that a color which is in
gamut but has a negative chroma/saturation will be mapped more correctly.
- **NEW**: Do not clamp user input of lightness and chroma in various spaces. Clamping will only occur during
conversion if the algorithm requires it.
- **NEW**: Channels can be accessed by `get` and `set` using their numerical value (as a string input).
- **NEW**: Color space plugins that specify the gamut space via `GAMUT_CHECK` must use that color space as a
reference when when gamut mapping or clipping by default.
- **NEW**: New color space plugin attribute `CLIP_SPACE` added which will override the space specified by
`GAMUT_CHECK` to force clipping in the origin space even if a gamut mapping space is defined. This is only used when
it is advantageous to clip in the origin space, e.g. when faster and still practical.
- **NEW**: Deprecate non-standard CAM16 (Jab) space. People should use the standard CAM16 JMh or the CAM16 UCS, SCD,
or LCD Jab spaces. The non-standard Jab is still available via `coloraide.spaces.cam16.CAM16`, but it is no longer
available in `coloraide.everything` and will be removed at a future time.
- **NEW**: Add new channel aliases: `j` for `jz` in Jzazbz and JzCzhz. Also add `c` for `cz` and `h` for `hz` in
JzCzhz.
- **NEW**: HSL will now always return positive saturation for wide gamut colors via its conversion.
- **FIX**: Fix a an issue with the CAM16 model's transformation that prevented good round trip with negative
lightness.
- **FIX**: Ensure that when `harmony` auto creates a cylindrical space from a rectangular space that it checks
achromatic status in the original color space.
- **FIX**: ∆E HCT should use colorfulness, not chroma, in the calculation.
- **FIX**: Don't return scientific notation when serializing colors.
- **FIX**: Small fix for Rec. 2100 PQ conversion algorithm.
- **FIX**: The oRGB color space should be gamut mapped in `srgb` as it is a transform of the sRGB space.
- **FIX**: Because Okhsl and Okhsv have a rough sRGB approximation and not precise, they are instead gamut mapped to
their own gamut by default.
- **FIX**: Much more accurate ICtCp matrices.
- **FIX**: Fix typing of deeply nested arrays in `algebra`.
- **FIX**: Fix issue with HCT undefined channel resolver.
- **FIX**: Proper handling of negative lightness for DIN99o.
- **FIX**: Circular mean should return positive values.