Revision hisory for Term::ANSIColor

v6.0.0 - Not Released

 - Drop support for Perl 5.8 and 5.10. Term::ANSIColor now requires Perl
   5.12 or later.

 - Term::ANSIColor now uses semantic versioning for the package and module
   versions, with a v prefix to work with Perl's packaging system.

 - uncolor called on \e[m or the empty string now returns "clear" rather
   than nothing, since that escape sequence is a valid way to clear all
   attributes. Thanks, johnsonea. (GitHub #9)

 - Fix handling of the NO_COLOR environment variable so that it has no
   effect when set to the empty string, as required by the specification.
   Thanks, Ricardo Signes.

 - Return the string with no changes if no attributes are passed to the
   colored function instead of raising a warning. Thanks, val.

 - Update the NOTES discussion of supported ECMA-048 attributes to correct
   multiple inaccuracies and avoid making claims about which attributes
   are commonly supported. Thanks to G. Branden Robinson for pointing out
   that xterm now supports italic.

 - Update the URL for information about truecolor support.

5.01 - 2020-01-17

 - Add support for NO_COLOR <https://no-color.org/> to suppress all
   formatting sequences. Thanks, Andrea Telatin.

 - Document that aliases are expanded during alias definition, and thus an
   alias defined in terms of another alias will not change if the other
   alias is redefined.

 - Fix SYNOPSIS example of uncolor. The function returns a list, not a
   reference to a list. Thanks, Joe Smith. (#131414)

5.00 - 2020-01-05

 - Drop support for Perl 5.6. The minimum supported version is now Perl
   5.8. Perl 5.6 isn't supported by Travis-CI and is only spottily tested,
   so true support is dubious.

 - Add support for true color (24-bit color) via new rNNNgNNNbNNN and
   on_rNNNgNNNbNNN attributes. These are only supported via the function
   interface, not in the constant interface. Based on work by Lars Dɪᴇᴄᴋᴏᴡ
   迪拉斯. (#130083)

 - Allow color aliases to map to multiple attributes instead of only one
   attribute. Based on work by Yanick Champoux.

 - Aliases may now be defined in terms of other aliases.

 - Document bad interactions between colored output to standard output and
   standard error when standard output is line-buffered in a couple of
   places in the manual and suggest setting autoflush() or EACHLINE as a
   fix. (#121974)

 - Document how to support CLICOLOR <https://bixense.com/clicolors/> in
   programs using Term::ANSIColor. (Due to backward compatibility and
   non-output uses, there's no easy way to support CLICOLOR in the module
   automatically.)

4.06 - 2016-10-28

 - Add aliases ansi16 through ansi255 and on_ansi16 through on_ansi255
   (plus the corresponding constants) for the grey and rgb colors so that
   one can refer to all of the 256 ANSI colors with consistent names.
   These are aliases; the colors returned by uncolor will still use the
   grey and rgb names. (#118267)

4.05 - 2016-03-20

 - Color aliases are now restricted to ASCII alphanumerics, due to the
   below change.

 - Delay loading of the Carp module and avoid using [:upper:], \w, and \d
   in regular expressions to reduce the amount of memory this module
   consumes. (Normally, I wouldn't worry about this, but this module is
   very light-weight and can be useful even in highly space-constrained
   environments, and the impact is slight.) Thanks, Nicolas R. (#111552)

 - Provide a mailto address in bug tracking metadata, use the shorter form
   of the RT bug tracker URL, and fix the license value to match the new
   metadata specification. Rework Makefile.PL so that the munging for
   older versions of ExtUtils::MakeMaker is less intrusive.

4.04 - 2015-12-06

 - Revert the build system back to ExtUtils::MakeMaker. This is the build
   system actually used in Perl core, so this removes a level of
   indirectly generated files and means that normal module development
   tests the same build system used by Perl. Update Makefile.PL with the
   additional metadata from the Module::Build build system.

 - For versions of Perl prior to 5.11, install the module into the Perl
   core module directories, since in those versions site modules did not
   take precedence over Perl core modules.

 - Rename NEWS to Changes to match the normal Perl convention.

4.03 - 2014-03-23

 - Switch the module build system to Module::Build, but still generate a
   Makefile.PL file for backward compatibility and for the use of Perl
   core.

 - Fix typo in SYNOPSIS (colorstrip example) and duplicated word. Thanks,
   Olivier Mengué and David Steinbrunner. (#85480, #94006)

 - Skip POD and some other style tests unless doing automated or release
   testing. Skip POD spelling, coverage, and Perl::Critic tests unless
   doing author testing. Use the Lancaster Consensus environment variables
   instead of RRA_MAINTAINER_TESTS. (#93474)

 - Add SEE ALSO reference to Win32::Console::ANSI. (#87295)

4.02 - 2013-01-07

 - When testing 256-color support, list the tag first in the import list
   for compatibility with the Exporter from Perl 5.6.2. Thanks to David
   Cantrell for the testing and debugging.

 - Add the minimum Perl version to the package metadata.

4.01 - 2012-12-31

 - Fix logic for skipping tests when Test::Warn is not installed.

4.00 - 2012-12-30

 - Add constants (with tag :constants256) and attributes for 256-color
   emulators. Thanks, Kurt Starsinic.

 - Add support for custom color names configured with either a new
   function, coloralias, or the ANSI_COLORS_ALIASES environment variable
   as set during module load. Thanks, Stephen Tirlwall.

 - Only honor ANSI_COLORS_DISABLED if it is set to a true value.

 - The module now requires Perl 5.6 or later and makes use of Perl 5.6
   features.

 - Replace the AUTOLOAD support for ANSI_COLORS_DISABLED with generation
   of constant subs that check for ANSI_COLORS_DISABLED when they're
   called. This fixes behavior if the constant were used before the
   environment variable was set and then used again afterwards.

 - PUSHCOLOR now takes an array like all the other constant functions and
   joins all arguments together before manipulating them, making behavior
   more consistent in some edge cases.

 - $AUTOLOCAL now takes precedence over $AUTORESET, reversing the previous
   behavior. It is also now properly documented.

 - Add a COMPATIBILITY section to the documentation collecting all
   information about when features were introduced and adding the version
   of Perl that they shipped with. Add appropriate version numbers to the
   use statements in the SYNOPSIS.

 - Add a new generate-colors example script that can generate various test
   and demonstration files, including for 256 colors and various
   attributes. Remove the VT100 test files, which had an unclear license.
   generate-colors can now generate better tests for everything of
   significance to this package.

3.02 - 2012-03-18

 - In AUTOLOAD, only return pass-through behavior if the function that was
   called was one of our constants, rather than turning every unknown
   function in the Term::ANSIColor namespace into a passthrough join
   function when colors are disabled.

 - Add the italic attribute and the ITALIC constant. Document that
   support for it is rare.

 - Preserve an existing value of $@ when generating a constant sub and
   restore it afterwards. Diagnose errors in creating the constant sub
   and die instead of ignoring them.

3.01 - 2011-07-20

 - In colored, only interpret an initial array reference as a list of
   colors, not any initial reference, allowing the colored function to
   work properly on objects with stringification defined. Thanks, Revilo
   Reegiles.

 - Warn in the documentation that attributes are not supported in and will
   not work with Perl formats.

3.00 - 2010-01-04

 - Add bright versions of the basic eight foreground and background colors
   using the 9x and 10x codes, supported by emulators with 16 color
   support.

 - Reword the explanation of bright and regular colors, and provide some
   advice about which to use.

 - Reorganize the documentation and be clearer about the function
   interface parameters.

2.02 - 2009-08-30

 - Add the new function colorvalid, which takes an attribute and returns
   whether it's a known attribute.

 - Add FAINT as a synonym for DARK and export it when constants are
   requested.

 - Update the terminal compatibility matrix to reflect that xterm now
   supports blink.

2.01 - 2009-07-04

 - Add the new function colorstrip, which removes ANSI color codes from
   strings. Thanks, Paul Miller.

 - When reporting errors for bad escape sequences in uncolor, don't
   include the leading \e[ or trailing m in the error message.

 - Untaint $AUTOLOAD when generating constant subs, which is required by
   Perl 5.10 and later running in taint mode. Thanks, Tim Bellinghausen.

2.00 - 2009-02-28

 - Add new functions PUSHCOLOR, POPCOLOR, and LOCALCOLOR, which maintain a
   stack of colors using the constant syntax. PUSHCOLOR stores the
   attributes being set on its internal stack, POPCOLOR returns to the
   previous attribute set, and LOCALCOLOR surrounds its argument in
   PUSHCOLOR and POPCOLOR. If $AUTOLOCAL is set, each sequence of color
   constants will be implicitly preceded by LOCALCOLOR. This support was
   written by David Nicol and contributed by openmethods.com voice
   solutions.

 - When AUTOLOAD is called to generate a constant sub and the environment
   variable ANSI_COLORS_DISABLED is set, return the stringified arguments
   rather than creating a sub. This allows colors to work later if
   ANSI_COLORS_DISABLED is unset rather than making its effects permanent.
   It also avoids adding a reset escape sequence when $AUTORESET and
   ANSI_COLORS_DISABLED are both set.

 - Add faint as a synonym for dark.

 - Fix spelling and markup errors in the documentation and improve the
   documentation of text attributes.

1.12 - 2007-04-22

 - Use the correct syntax for internal POD links in the documentation.

 - Document cyan and white as supported attributes.

1.11 - 2006-06-22

 - Clarify in the documentation the behavior of terminals when background
   colors are set across newlines, and rewrite some of the examples to
   avoid doing things that confuse the terminal.

1.10 - 2005-08-21

 - Fix $EACHLINE handling of lines consisting solely of "0".

 - Add terminal test files from Joe Smith to the distribution.

1.09 - 2004-12-03

 - Add compatibility information for Mac OS X Terminal to the terminal
   emulators table. Thanks, Daniel Lindsley.

1.08 - 2004-02-19

 - Export DARK as a constant. This was missed when dark was added as a
   supported attribute.

1.07 - 2003-03-25

 - Document the behavior of PuTTY, Windows telnet, and Cygwin OpenSSH in
   the terminal emulators table.

 - Update the URL to the ECMA standard.

1.06 - 2002-12-09

 - Fix a typo in an L<> link in the documentation.

1.05 - 2002-06-28

 - Document the Windows consoles that don't work with this module.

 - Update the documentation formatting style.

1.04 - 2001-07-10

 - Add a new uncolor function, which takes a set of escape sequences and
   returns a list of attribute names set by those escape sequences. This
   is the opposite function as color.

 - If ANSI_COLORS_DISABLED is set in the environment, all of the functions
   and constants in this module become no-ops that pass through text
   without coloring it.

 - Add information about the relevant standards to the documentation.

1.03 - 2000-08-06

 - In the colored function, allow the attributes to be passed as an
   initial array reference as well as a trailing list. When called with
   that syntax, all subsequent arguments are taken as text to be colored.

 - Add the dark attribute.

 - Improve the documentation by including a table of supported attributes
   on different terminal emulators in the documentation and documenting
   whether diagnostics are fatal errors or warnings.

 - Install into the Perl library directory for Perl 5.6.0 or later, since
   this module is now part of core.

1.02 - 1998-11-27

 - Call croak instead of die if the AUTOLOAD function to synthesize
   constants fails.

 - Set ABSTRACT and AUTHOR in Makefile.PL to support PPD generation for
   binary distributions or the Perl Resource Kits.

1.01 - 1997-12-10

 - Fix the call to carp when running under Perl versions later than
   5.004_04, which no longer import Carp in strict.pm and thereby declare
   the function at compile time.

1.00 - 1997-11-29

 - Correctly handle trailing delimiters when $EACHLINE is set.

 - Call croak instead of die if a caller uses an invalid attribute name,
   since the error is really at the call site.

 - Add the correct rules to Makefile.PL to build a distribution.

0.09 - 1997-02-17

 - Initial public release. (Possibly. It's the oldest version available on
   BackPan and dates back to when the "package" version was based on the
   RCS revision of the ANSIColor.pm file.)