Coloraide

Latest version: v4.0

Safety actively analyzes 675368 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 18

0.18.0

- **NEW**: Allow dictionary input to use aliases in the dictionary.
- **FIX**: If too many channels are given to a color space via raw data, ensure the operation fails.
- **FIX**: Sync up achromatic logic of the Okhsl and Okhsv `normalize` function with the actual conversion algorithm.
- **FIX**: Regression that caused `cat16` not to work due to a misnamed variable.

0.17.0

> **Warning:** _Interpolations Are Now Premultiplied_
> ColorAide has moved to make premultiplication the default for interpolation methods such as `mix`, `steps`, and
> `interpolate`. The aim is to provide more accurate interpolation when using transparent colors. In cases where
> premultiplication is not desired, it can be disabled by setting it to `!py3 False`. There are real reasons to do so
> as it may be desirous to mimic an old implementation that has always used naive interpolation of transparent colors.
>
> Additionally, in the past, premultiplication was not really documented as it had not been fully tested.
> Premultiplication is now covered in the documentation.

- **NEW**: All mixing/interpolation methods will use `!py3 premultiply=True` by default.
- **NEW**: Allow aliases in interpolation's progress mappings.
- **FIX**: Fix premultiplication when alpha is undefined.
- **FIX**: Fix some potential issues in some matrix math logic.
- **FIX**: `!py Piecewise()` object didn't default all the non-required parameters to `!py None` as documented.

0.16.0

> **Warning**: _Deprecations_
> In interest of speed, and due to the overhead inflicted on every class attribute access, we've decided to deprecate
> dynamic properties. This includes dynamic color properties (e.g. `Color.red`) and dynamic ∆E methods (e.g.
> `Color.delta_e_2000()`). As far as color channel coordinate access is concerned, we've reworked a faster more useful
> approach. ∆E already has a suitable replacement and will be the only approach moving forward.
>
> 1. Use of `delta_e_<method>` is deprecated. Users should use the already available `delta_e(color, method=name)`
> approach when using non-default ∆E methods.
>
> 2. Color channel access has changed. Dynamic channel properties have been deprecated. Usage of `Color.coords()` has
> also been deprecated. All channels can now easily be accessed with indexing. `Color.get()` and `Color.set()`
> have not changed.
>
> - You can index with numbers: `Color[0]`.
> - You can index with channel names: `Color['red']`.
> - You can slice to get specific color coordinates: `Color[:-1]`.
> - You can get all coordinates: `Color[:]` or `list(Color)`.
> - You can even iterate coordinates: `[c for c in Color]`.
> - Indexing also supports assignment: `Color[0] = 1` or `Color[:3] = [1, 1, 1]`.
>
> Please consider updating usage to utilize the suggested approaches. The aforementioned methods will be removed
> sometime before the 1.0 release.

- **NEW**: `Color` objects are now indexable and channels can be retrieved using either numbers or strings, e.g.,
`!py3 Color[0]` or `!py3 Color['red']`. Slicing and assignments via slicing are also supported:
`!py3 Color1[:] = Color2[:]`.
- **NEW**: `Color.coords()`, dynamic color properties, and dynamic ∆E methods are all deprecated.
- **NEW**: Input method names for distancing, gamut mapping, compositing, and space methods are now case sensitive.
There were inconsistencies in some places, so it was opted to make all case sensitive.
- **NEW**: The ability to create color harmonies has been added via the new `harmony()` method. Also, the default color
space used to calculate color harmonies can be overridden by the class property `HARMONY`.
- **NEW**: Add new support for filters added via the `filter()` method. Filters include the W3C Filter Effects Level 1
and color vision deficiency simulation.
- **NEW**: Some performance enhancements in conversions.
- **NEW**: Chromatic adaptation is now exposed as a plugin. New CAT plugins can be created externally and registered.
- **FIX**: Okhsl and Okhsv handling of achromatic values during conversion.

0.15.1

- **FIX**: Fix an issue related to matching colors in a buffer at a given offset.

0.15.0

> **Warning**:
> No changes in the public API have changed, but type annotations have. If you were importing type annotations, you
> will have to update them.
>
> Also, if any undocumented math related methods were accessed (for plugins or otherwise) they've been moved to
> `coloraide.algebra`

- **NEW**: A number of performance improvements.
- **NEW**: Regenerate all matrices with our own matrix tools so that there is consistency between precision of
pre-generated matrices and on-the-fly matrix generation. Reduces some noise in a few color space transforms.
- **NEW**: Changes to type annotations. `Mutable<type>`, where type is either `Matrix`, `Vector`, or `Array`, are simply
known as `<type>`. Types previously specified as `<type>`, where type is either `Matrix`, `Vector`, or `Array`, are
now known as `<type>Like`. The types are expected to be mutable lists, anything else is noted as "like".
- **NEW**: All matrix and math utilities have been moved to `coloraide.algebra`.
- **FIX**: Fix rare issue where precision adjustment could fail.
- **FIX**: Fix matrix `divide` logic when dividing a number or vector by a matrix. There are no actual usage of these
cases in the code but they were fixed in case they are used in the future.

0.14.2

- **FIX**: Fix rare issue where precision adjustment could fail.
- **FIX**: Fix `util.divide` logic when dividing a number or vector by a matrix. There are no actual usage of these
cases in the code but fixed in case they are used in the future.
- **FIX**: Minor performance improvements.

Page 10 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.