CHANGELOG

Path: CHANGELOG
Last Update: Sun Feb 17 16:17:12 -0700 2008

Change Log

Below is a complete listing of changes for each revision of FasterCSV.

1.2.0

  • Added the FasterCSV::table() shortcut.

1.1.1

  • Added a :force_quotes output option.

1.1.0

  • Added empty?(), length(), and size() methods to FasterCSV::Row and FasterCSV::Table.
  • Cleaned up bug fix regression tests.
  • Fixed bug causing Arrays to be returned for blank rows when header processing is active.
  • Added a :skip_blanks option for ignoring empty rows.

1.0.0

  • Fixed FasterCSV.rewind() to reset the FasterCSV.lineno() counter.
  • Fixed FasterCSV.rewind() to reset the header processing.
  • Fixed documentation typos.
  • Switched STDOUT and STDERR usage to $stdout and $stderr where appropriate.
  • Added FasterCSV::Row.==().
  • Enhanced FasterCSV::Row.fields() to support Ranges, even for headers.
  • The slurping methods now return the new FasterCSV::Table objects.
  • Fixed parser so multibyte :col_sep works now.
  • Added a few examples for usage.

0.2.1

  • Removed autorequire from GemSpec.
  • Made Rakefile VERSION aware.
  • General Rakefile cleanup.

0.2.0

  • Added VERSION constant.
  • Significantly improved test speed.
  • Worked around Date::parse() bug so tests will pass on Windows.
  • Documented test procedure.
  • Made FasterCSV.lineno() CSV aware.
  • Added line numbers to MalformedCSVError messages.
  • :headers can now be set to an Array of headers to use.
  • :headers can now be set to an external CSV String of headers to use.
  • Added an :unconverted_fields options, so those can be returned when needed.
  • Provided support for the serialization of custom Ruby objects using CSV.
  • Added CSV drop-in interface.
  • Added header information to FieldInfo Struct for conversions by header.
  • Added an alias to support require "fastercsv".
  • Added FCSV alias for FasterCSV.
  • Added FasterCSV::instance() and FasterCSV()/FCSV() shortcuts for easy output.

0.1.9

  • Fixing the require "English" bug.

0.1.8

  • Converted FasterCSV.filter() to use ARGF for input.
  • Made FasterCSV.<<() aware of FasterCSV::Row objects.
  • Switched header rows to include the unconverted headers as fields.
  • Rescued IOError when trying to auto detect a line-ending on an output stream and used the default system line-ending.
  • Added FasterCSV::Row.header_row?() and FasterCSV::Row.field_row?().

0.1.6

  • Began using a forked development/stable versioning system.
  • Reorganized initialization code for easier additions and maintenance.
  • Added a check for unknown options. Exceptions will now be thrown for them.
  • Added built-in and custom data converters. Built-in handle numbers and dates.
  • Added Array#to_csv and String#parse_csv. Both accept normal options.
  • Project moved to RubyForge Subversion.
  • Added auto-discovery for :row_sep (now the default).
  • Added FasterCSV::filter() for easy Unix-like CSV filters.
  • Added support for accessing fields by headers.
    • Headers can have their own converters.
    • Headers can be skipped or returned as needed.
    • FasterCSV::Row allows index or header access while retaining order and allowing for duplicate headers.

0.1.4

  • Fixed :col_sep escaping bug (reported by Kev Jackson).
  • Switched to the use of named parsers internally.

0.1.3

  • Fixed typo in gem spec causing a require bug.

0.1.2

  • Built gem with Ruby 1.8.2, to bypass YAML/RubyGems issue.

0.1.1

  • Built gem with Ruby 1.8.4 Preview 1, to try and bypass YAML/RubyGems issue.
  • Added missing test file to released packages.
  • Clarified call-seq documentation for open() and parse().
  • Clarified passed String positions for new(), in documentation.
  • Expanded generate() to handle appending to an existing String.

0.1.0

  • Initial public release.

[Validate]