RELEASE HISTORY

1.4.3 | 2012-06-26

This release bring two small changes. The first improves support for Windows by only rescuing LoadError when ‘win32console’ fails to load. The second improves the heuritstics used for determining the current terminal screen width.

Changes:

  • Only rescue LoadError on windows require. (#9) [bug]

  • Improvements for getting proper screen width.

1.4.2 | 2012-01-29

ANSI chains are a new feature inspired by Kazuyoshi Tlacaelel’s Isna project. It is a fluid notation for the String#ansi method, e.g. ‘“foo”.red.on_white`. Also, ASNI now supports “smart codes”, preventing previously applied codes from undermining the applicaiton of additional codes –a subtle issue that most other ANSI libraries overlook. Plus a few other improvements including that of the API documentation.

Changes:

  • Add ANSI::Chains, extending String#ansi method.

  • Support smart code application.

  • Add Diff#to_a and shortcut to it via Diff.diff().

  • Improve #colorize method in ProgressBar.

  • Change ProgressBar’s default mark to ‘|` instead of `o`.

  • Fix Curses return order of screen cols and rows.

  • Support center alignment in Columns.

  • Support custom padding for Columns.

1.4.1 | 2011-11-09

This release simply fixes a documentation issue, to make sure QED.rdoc appears in the YARD docs. And a shout-out to Chad Perrin for submitting some doc fixes for this project and a few other Rubyworks projects.

Changes:

  • Adjust .yardopts file.

  • Documentation fixes.

1.4.0 | 2011-11-05

New release adds a HexDump class for colorized byte string dumps and fixes some minor cell size issues with the Table class. This release also modernizes the build config and changes the license to BSD-2-Clause.

Changes:

  • Add HexDump class.

  • Fix cell size of tables when ANSI codes are used.

  • Fix extra ansi codes in tables without format.

  • Modernize build configuration.

  • Switch to BSD-2-Clause license.

1.3.0 | 2011-06-30

This release cleans up the Code module. It adds support for x-term 256 color codes. Also, the Diff class is now awesome, making use of an LCS algorithm. But the most important difference with this release is that the String core extensions are in their own file, core.rb. If you want to use them you will need to require ‘ansi` or `ansi/core`.

Changes:

  • Clean-up Code module.

  • Utilize common chart for Code methods.

  • Constants now have their own module.

  • Move core methods to ‘ansi/core.rb`.

  • Add XTerm 256 color code support.

  • Improved Diff class with LCS algorithm.

1.2.5 | 2011-05-03

This release introduces a preliminary rendition of a Diff class for getting colorized comparisons of strings and other objects. It’s not officially supported yet, so this is only a point release.

Changes:

  • Added Diff class for colorized comparisons.

  • Fixed minor issue with Columns format block; col comes before row.

1.2.4 | 2011-04-29

This release improves to the ANSI::Columns class. In particular the layout is more consistent with intended functionality.

Changes:

  • Improved ANSI::Columns to give more consistent output.

  • ANSI::Columns#to_s can override number of columns.

  • ANSI::Columns can take a String or Array list.

1.2.3 | 2011-04-08

Minor release to add #clear method to ProgressBar and provide bug fix to BBCode.ansi_to_bbcode. Big thanks goes to Junegunn Choi for this fix.

Changes:

  • Add ProgressBar#clear method.

  • Fixed ANSI::BBCode.ansi_to_bbcode and ansi_to_html from omitting lines

without any ansi code (Junegunn Choi).

1.2.2 | 2010-06-12

This release removes warnings about string arguments for certain ANSI::Code methods. While the string form is considered deprecated, for a few methods there is no use for any argument, so the string form can remain. In addition, String#unansi has been added to compliment String#ansi. Lastly, this release also adds the #display method to ANSI::Mixin.

Changes:

  • Remove string argument warnings.

  • Add String#unansi and String#unansi!

  • Add ANSI::Mixin#display.

1.2.1 | 2010-05-10

This release was simply a quick fix to remove the incorrect embedded version number, until it gets fixed.

1.2.0 | 2010-05-10

This release entails numerous improvements. First and foremost the Code module is transitioning to a block interface only and phasing out the string argument interface. Admittedly this is mildly unconventional, but it allows the arguments to be used as options with common defaults more elegantly.

Another important change is that ANSI::Code no longer provides String extension methods when included. For this use the new ANSI::Mixin.

Other improvements include a String extension, #ansi, added to code.rb, which makes it even easier to apply ANSI codes to strings. Also, the ANSI::String class has been fixed (a few bugs crept it with the last release) and continues to improve. On top of all this testing has substantially improved thanks to QED.

Changes:

  • Support string argument for now but with warning

  • Bug fixes for ANSI::String

  • Add mixin.rb for alternate mixin.

  • Many new tests and QED documents.

1.1.0 | 2009-10-04

This release is the first toward making the ANSI library more widely usable.

Changes:

  • Add bbcode.rb for conversion between BBCode/ANSI/HTML.

  • ProgressBar and Progressbar are the same.

  • Other minor underthehood improvements.

1.0.1 | 2009-08-15

The release fixes a single bug that should allow Ruby 1.9 to use the ANSI library.

Changes:

  • Renamed PLATFORM to RUBY_PLATFORM

1.0.0 | 2009-08-15

This is the initial stand-alone release of ANSI, a collection of ANSI based classes spun-off from Ruby Facets.

Changes:

  • Happy Birthday!