FasterCSV 1.4.0 -- The Final 1.8 Release

FasterCSV 1.4.0 Released

I’ve released a new version of FasterCSV with all the features I’ve
always wanted to add. Highlights include encoding support, better
inpect() messages for IRb, and better parse error handling.

This will be the last major release of the FasterCSV gem. I’ll do
maintenance releases fixing bugs, if needed, but I don’t plan to add
anything else beyond that.

FasterCSV is stable on Ruby 1.8 and will remain useful there for as
long as it is needed. It’s not being abandoned.

I’m working on moving these features into the standard CSV library in
Ruby 1.9. I will also enhance the encoding support there to be m17n
savvy. All future development will happen on that code base.

What is FasterCSV?

(from the README)

FasterCSV is intended as a replacement to Ruby’s standard CSV library.
It was designed to address concerns users of that library had and it has
three primary goals:

  1. Be significantly faster than CSV while remaining a pure Ruby
    library.
  2. Use a smaller and easier to maintain code base. (FasterCSV is
    larger now, but considerably richer in features. The parsing
    core remains quite small.)
  3. Improve on the CSV interface.

What’s New?

(highlights from the CHANGELOG)

  • Added encoding support patch from Michael Reinsch.
  • Improved inspect() messages for better IRb support.
  • Improved the parser to fail faster when fed some forms of invalid CSV
    that can be detected without reading ahead.
  • Added a :field_size_limit option to control FasterCSV’s
    lookahead and prevent the parser from biting off more data than it
    can chew.

Migrating from CSV to FasterCSV?

The README includes a section on the differences and you can read that
here:

http://fastercsv.rubyforge.org/

You call also see general usage in the documentation of the interface,
right here:

http://fastercsv.rubyforge.org/classes/FasterCSV.html

For quick and dirty switching, try:

begin
  require "faster_csv"
  FasterCSV.build_csv_interface
rescue LoadError
  require "csv"
end
# ... use CSV here ...

If FasterCSV isn’t meeting your needs, I want to here about it:

[email protected]

Where can I learn more?

FasterCSV is hosted on RubyForge.

Project page: http://rubyforge.org/projects/fastercsv/
Documentation: http://fastercsv.rubyforge.org/
Downloads: http://rubyforge.org/frs/?group_id=1102

How do I get FasterCSV?

FasterCSV is a gem, so as long as you have RubyGems installed it’s as
simple as:

$ sudo gem install fastercsv

If you need to install RubyGems, you can download it from:

http://rubyforge.org/frs/?group_id=126&release_id=5803

FasterCSV can also be installed manually. Just download the latest
release and follow the instructions in INSTALL:

http://rubyforge.org/frs/?group_id=1102&release_id=26005

James Edward G. II

James G. wrote:

FasterCSV 1.4.0 Released

Thanks, James! Your offerings are always welcome, of high quality and
appreciated!