All Notable changes to iris will be documented in this file.
gradient()method to generate color scales between two or more colors (#51)- Supports two-color gradients:
$colorA->gradient($colorB, $steps) - Supports multicolor gradients with pivot colors:
$colorA->gradient([$colorB, $colorC], $steps) - Works with all color types (Hex, RGB, HSL, HSV, CMYK, OKLCH, etc.)
- Returns array of colors matching the starting color type
- Supports two-color gradients:
- CMYK to RGB conversion now rounds values to produce valid integers
- Previously, CMYK values that didn't produce clean 0 or 255 RGB values would fail validation
- OKLCH color space support - perceptually uniform color representation
toOklch()method on all color classesOklch::fromRgb()static factory method for RGB to OKLCH conversionclone()method for color objectsalphaRaw()protected method for internal alpha precision handling- Comprehensive alpha conversion tests
- Breaking: Minimum PHP version is now 8.1
- Breaking: PHPUnit upgraded to ^10.0|^11.0
- GitHub Actions workflow updated for PHP 8.1, 8.2, 8.3, and 8.4
- RGBA to Hexa conversion now preserves original RGB values instead of alpha-compositing (#48)
- HSLA to Hexa conversion now preserves original RGB values (#48)
- Alpha channel precision in conversions (#37)
- Alpha float to hex conversion now properly zero-pads single digit hex values
- Travis CI configuration (migrated to GitHub Actions)
- EditorConfig file
- PHP CodeSniffer dependency
- Remove PHP 7 support, will only support PHP 8
- Added type hinting and return type declarations
- Made BaseColor::back() and BaseColor::getColorModelName() public @rv1971
- Use non-locale aware output for the alpha value @Jako
- Updated .gitignore, and some code refactoring @kudashevs
- Added Hexa support.
- Fix HSL to HSV conversion.
- PHP 8.0 support.
- Added Factory class to attempt to guess the color.
- Added shade method.
- Added tint method.
- Added isLight and isDark methods.
- Added HSLA and RGBA support.
- Initial release.
- Hex, HSL, HSV and RGB support.
- Saturate, desaturate, grayscale, lighten, darken, brighten, spin and mix operations.