Color 1.5.1 Released

color version 1.5.1 has been released!

Color is a Ruby library to provide basic RGB, CMYK, HSL, and other
colourspace
manipulation support to applications that require it. It also provides
152
named RGB colours (184 with spelling variations) that are commonly
supported in
HTML, SVG, and X11 applications. A technique for generating
monochromatic
contrasting palettes is also included.

The capabilities of the Color library are limited to pure mathematical
manipulation of the colours based on colour theory without reference to
colour
profiles (such as sRGB or Adobe RGB). For most purposes, when working
with the
RGB and HSL colours, this won’t matter. However, some colour models
(like CIE
Lab*) are not supported because Color does not yet support colour
profiles,
giving no meaningful way to convert colours in absolute colour spaces
(like
Lab*, XYZ) to non-absolute colour spaces (like RGB).

Color version 1.5.1 is mostly a maintenance release, fixing some bugs
that may
have been introduced with the previous release on Ruby 1.8.7. New
features
include an experimental contrast comparison method for RGB colours
(found in
lib/color/rgb/contrast.rb) provided by Dave Heitzman, and methods
suggested by
Thomas S. based on the Spectrum library.

Barring bugs introduced in this release, this will be the last version
of color
that supports Ruby 1.8, so make sure that your gem specification is set
properly, to ~> 1.5 if that matters for your application.

Changes:

1.5.1 / 2014-01-28

  • color 1.5 was a yanked release.

  • Minor enhancements:

    • Added new methods to Color::RGB to make it so that the default
      defined
      colours can be looked up by hex, name, or both.
    • Added a method to Color::RGB to extract colours from text by hex,
      name, or
      both.
    • Added new common methods for colour names. Converted colours do not
      retain
      names.
    • Restructured color comparisons to use protocols instead of custom
      implementations. This makes it easier to implement new colour
      classes. To
      make this work, color classes should +include+ Color only need to
      implement
      #coerce(other), #to_a, and supported conversion
      methods
      (e.g., #to_rgb).
    • Added @daveheitzman???s initial implementation of an RGB contrast
      method as
      an extension file: require ‘color/rgb/contrast’. This
      method and
      the value it returns should be considered experimental; it requires
      further
      examination to ensure that the results produced are consistent with
      the
      contrast comparisons used in Color::Palette::MonoContrast.
    • Reducing duplicated code.
  • Bug Fixes:

    • Moved +lib/color/rgb-colors.rb+ to +lib/color/rgb/colors.rb+. This
      should
      have no impact in general.
    • Improved the way that named colors are specified internally.
    • Fixed bugs with Ruby 1.8.7 that may have been introduced in color
      1.4.2.
  • Tooling Changes:

    • Added simplecov for test coverage analysis.
    • Modernized Travis CI support.