3.0.0.rc2 / 2013-08-30

* Breaking changes

  * skip blank lines at the top of CSV files when looking for headers
  * require rubyzip2 for Roo compatibility with Ruby 1.9

* Enhancements

  * eagerly load format-specific methods (instead of waiting for #each to be called)
  * use new Roo class names (Roo::OpenOffice instead of Roo::Openoffice)

* Bug fixes

  * pass CSV options to header parser - before, options like delimiter weren't passed so it couldn't read TSVs

3.0.0.rc1 / 2013-08-08

* Breaking changes

  * :parser object must respond to #call(row), not #parse(row)
  * Whitespace now automatically "normalized" (/\s+/ -> ' ', stripped) for CSV

3.0.0.beta / 2013-07-30

* Breaking changes

  * Strip whitespace from headers unless you provide them as an array
  * Not passing anything options on to CSV... use :delimiter instead of :col_sep
  * Include columns with blank headers as "empty_N"

* Enhancements

  * Support relative paths with spaces

3.0.0.alpha / 2013-07-25

* Breaking changes

  * Just use :encoding to specify a file's internal/initial/original encoding. No more :internal_encoding, this was jargony.
  * No more shapefile support - hard to imagine a shapefile as a table
  * No more :transform, legacy or not
  * For :errata, now you pass an object that responds to #rejects?(row) and #correct!(row)
  * No more :errata_settings

* Enhancements

  * :parser option takes an object that responds to #parse(row) and returns an array of one or more rows.
  * RemoteTable.transpose(url, key_key, value_key) helper

2.1.1 / 2013-03-25

* Enhancements

  * Work with new roo - thanks @towerhe !

2.1.0 / 2012-10-01

* Enhancements

  * Allow import of ESRI shapefiles

2.0.2 / 2012-06-20

* Secrets revealed

  * Indeed it is OK to omit the file:// as long as you are using an absolute path to a local file... e.g., RemoteTable.new('/path/to/foo')

* Bug fixes

  * Don't bork UTF-8 by incorrectly treating \xAD as a soft hyphen

2.0.1 / 2012-05-16

* Enhancements

  * For single-string transliteration to UTF-8, use ActiveSupport::Inflector.transliterate instead of Iconv - possibly a future-proof solution.
  * For whole-file transliteration to UTF-8, warn users if iconv binary is not available in their $PATH.

2.0.0 / 2012-05-08

* Breaking changes

  * New names for options... (not really breaking, these deprecated options are still accepted)
    :errata -> :errata_settings
    :transform -> :transform_settings
    :select -> :pre_select (to avoid conflict with Enumerable#select)
    :reject -> :pre_reject
    :encoding -> :internal_encoding

* Enhancements

  * Every option is documented
  * Refactored to simplify and DRY
  * Thread safe

1.4.0 / 2012-04-12

* Enhancements

  * DRY up spawning code with UnixUtils
  * Switch to minitest
  * Stop defining MyCSV globally
  * Test on MRI 1.8.7, MRI 1.9.3, and JRuby 1.6.7
  * Warn users about ODS not working on JRuby
  * Move all warnings to Kernel.warn
  * Start keeping a CHANGELOG!
  * Ensure we clean up temporary files

* Bug fixes

  * Make sure headers (keys) on rows created with Roo are ordered in Ruby 1.8.7
  * Make tests green (for now) by fixing URLs and sometimes :row_xpaths (hello FAA aircraft lookup guide)
  * Use Hash#fetch for default options
  * Don't try to set default_sheet if user doesn't specify a sheet name