Change Log¶ ↑
Below is a complete listing of changes for each revision of FasterCSV.
1.5.5¶ ↑
-
Removed setup.rb due to licensing concerns.
-
Updated and clarified Copyright notices.
-
Improved stray quoting error message (patch by Edvard Majakari).
-
Improved line ending detection algorithm (patch by Alexey Smolianinov).
1.5.4¶ ↑
-
Improved test coverage for the parser.
-
Improved documentation.
-
Fixed a bug that prevented
^from being used as:quote_char. -
Switched from abort() to throwing exceptions on Ruby 1.9.
1.5.3¶ ↑
-
A bug fix from Timothy Elliott to return the new parser to its strict quote tolerance.
1.5.2¶ ↑
-
A bug fix to allow IO Exceptions to reach the calling code from Moses Hohman.
-
Added support for
:write_headers => falseto Table.to_csv().
1.5.1¶ ↑
-
A bug fix for deleting blank Table rows from Andy Hartford.
-
Added gem build instructions.
1.5.0¶ ↑
-
The main parser has been rewritten by Timothy Elliott to avoid big input issues with Ruby 1.8’s regex engine. This makes
FasterCSVhandle more inputs gracefully. -
FasterCSVwill now exit with a notice to upgrade if required in Ruby 1.9. -
Included a missing file so the tests will run in source packages.
1.4.0¶ ↑
-
Added encoding support patch from Michael Reinsch.
-
Improved inspect() messages for better IRb support.
-
Fixed header writing bug reported by Dov Murik.
-
Use custom separators in parsing header Strings as suggested by Shmulik Regev.
-
Added a
:write_headersoption for outputting headers. -
Handle open() calls in binary mode whenever we can to workaround a Windows issue where line-ending translation can cause an off-by-one error in seeking back to a non-zero starting position after auto-discovery for
:row_sepas suggested by Robert Battle. -
Improved the parser to fail faster when fed some forms of invalid CSV that can be detected without reading ahead.
-
Added a
:field_size_limitoption to control FasterCSV’s lookahead and prevent the parser from biting off more data than it can chew.
1.2.3¶ ↑
-
Default to the system line ending when passed a GzipWriter object to wrap.
1.2.2¶ ↑
-
Worked around GzipReader’s lack of a seek() method so we could still use automatic row separator detection with them.
1.2.1¶ ↑
-
Worked around an odd incompatibility with the Regexps used to remove line endings in some (seemingly rare) Ruby environments.
-
Made FasterCSV::lineno() writer aware.
-
Support Hashes in
FasterCSV#<<(), by detecting headers when writing. -
Added limited support for switching the quote character.
-
Refining Data and DateTime matching for built-in convertors.
1.2.0¶ ↑
-
Added the
FasterCSV::table()shortcut.
1.1.1¶ ↑
-
Added a
:force_quotesoutput option.
1.1.0¶ ↑
-
Added empty?(), length(), and size() methods to
FasterCSV::RowandFasterCSV::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_blanksoption for ignoring empty rows.
1.0.0¶ ↑
-
Fixed
FasterCSV.rewind()to reset theFasterCSV.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::Tableobjects. -
Fixed parser so multibyte
:col_sepworks 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.
-
:headerscan now be set to anArrayof headers to use. -
:headerscan now be set to an external CSVStringof headers to use. -
Added an
:unconverted_fieldsoptions, 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
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 ofFasterCSV::Rowobjects. -
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?()andFasterCSV::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_csvandString#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::Rowallows index or header access while retaining order and allowing for duplicate headers.
-
0.1.4¶ ↑
-
Fixed
:col_sepescaping 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
Stringpositions for new(), in documentation. -
Expanded generate() to handle appending to an existing
String.
0.1.0¶ ↑
-
Initial public release.