- Raise ArgumentError data is not a string or StringIO object
- Refactor the Column class to support non-ASCII header names
- Output encoding is now set to UTF-8 if there is no embedded encoding and one is not specified during DBF::Table initialization.
- Fixes to maintain support for Ruby 3.0.x until it's EOL
- Fix bug (since 4.2.0) that caused column names not to be truncated after null character
- Drop support for Ruby versions older than 3.0
- Require CSV gem
- Exclude unnecessary files from the gem file list
- Require MFA to publish gem
- Faster CSV generation
- Support for dBase IV "04" type files
- Initial support for dBase 7 files
- Add support for file type 32
- Better handling for PIPE errors when using command line utility
- Add full support for FoxBase files
- Raise DBF::NoColumnsDefined error when attempting to read records if no columns are defined
- Add required_ruby_version to gemspec
- Return Time instead of DateTime
- Drop support for ruby-2.2 and earlier
- Ensure malformed dates return nil
- Fix incorrect columns list when StringIO and encoding set
- Use Date.strptime to parse date fields
- Use :binary for binary fields in ActiveRecord schemas
- Fix uninitialized constant error under Rails 5
- Ignore non-existent records if header record count is incorrect
- This version has been yanked from rubygems due to errors
- Override table name for schema output
- Adds -v command-line option to print version
- Adds -r command-line option to create Sequel migration
- Uninitialized (N)umbers should return nil
- Performance improvements for large files
- Support FoxPro (G) general field type
- Fix ruby warnings
- Requires Ruby version 2.0 and above
- Support the (G) General Foxpro field type
- Support 64-bit currency signed currency values (see #71)
- Parse (I) values as signed (see #70)
- Foxpro doubles should always return the full stored precision (see #69)
- allow 0 length fields, but always return nil as value
- fix dBase IV attributes when memo file is missing
- fix FoxPro currency fields on some builds of Ruby 1.9.3 and 2.0.0
- fix the dbf binary on some linux systems
- build_memo returns nil on errors
- use correct FoxPro memo block size
- memo fields return nil if memo file is missing
- set encoding if table encoding is nil
- Allow overriding the character encoding specified in the file
- Add experimental support for character encodings under Ruby 1.8
- #44 Require FasterCSV gem on all platforms
- Remove rdoc development dependency
- #42 Fixes encoding of memos
- #43 Improve handling of record attributes
- fixes FoxPro currency (Y) fields
- Replace Memo Type with Memo File boolean in command-line utility summary output
- find_all/find_first should ignore deleted records
- Fix integer division under Ruby 1.8 when requiring mathn standard library (see http://bugs.ruby-lang.org/issues/2121)
- Fix Table.FOXPRO_VERSIONS breakage on Ruby 1.8
- allow DBF::Table to work with dbf data in memory
- allow DBF::Table#to_csv to write to STDOUT
- memo columns return nil when no memo file found
- add binary data type support to ActiveRecord schema output
- support for visual foxpro double (b) data type
- Replace invalid chars with 'unicode replacement character' (U+FFFD)
- add Table#filename method
- Rakefile now loads gems with bundler
- add Table#supports_encoding?
- simplify encodings.yml loader
- add rake and rdoc as development dependencies
- simplify open_memo file search logic
- remove unnecessary requires in spec helper
- fix cli summary
- fix YAML issue when using MRI version > 1.9.1
- remove Table#seek_to_index and Table#current_record private methods
- remove activesupport gem dependency
- Significant internal restructuring and performance improvements. Initial testing shows 4x faster performance.
- Only load what's needed from activesupport 3.0
- Updatate fastercsv dependency to 1.5.3
- Remove use of 'returning' method
- Remove jeweler in favor of manual gemspec creation
- Move Table#all_values_match? to Record#match?
- Add attr_reader for Record#table
- Use method_defined? instead of respond_to? when defining attribute accessors
- Move memo file check into get_memo_header_info
- Remove unnecessary seek_to_record in Table#each
- Add rake console task
- New Attribute class
- Add a helper method for memo column type
- Move constants into the classes where they are used
- Use bundler
- Retain trailing whitespace in memos
- Handle missing zeros in date values [#11]
- MIT License
- Support for Ruby 1.9.2
- Remove ruby warning switch
- Requires activesupport version 2.3.5
- Add csv output option to dbf command-line utility
- Read Visual FoxPro memos
- Small performance gain when unpacking values from the dbf file
- Correctly handle FoxPro's integer data type
- Handle invalid date fields
- Add support for F field type (Float)
- Add Table#to_a
- Return invalid DateTime columns as nil
- Add support for large table that will not fit into memory
- Allow passing an array of ids to find
- Attributes are now accessible by original or underscored name
- Fix incorrect integer column values (only affecting some dbf files)
- Add CSV export
- Truncate column names on NULL
- Fix schema dump for date and datetime columns
- Replace internal helpers with ActiveSupport
- Always underscore attribute names
- Remove support for original column names. All columns names are now downcased/underscored.
- DBF::Table now includes the Enumerable module
- Return nil for memo values if the memo file is missing
- Finder conditions now support the original and downcased/underscored column names
- Strip non-ascii characters from column names
- Underscore column names when dumping schemas (FieldId becomes field_id)
- Add support for Visual Foxpro Integer and Datetime columns
- Compatibility fix for Visual Foxpro memo files (ignore negative memo index values)
- Fixes error when using the command-line interface [#11984]
- Renamed classes and refactored code in preparation for adding the ability to save records and create/compact databases.
- The Reader class has been renamed to Table
- Attributes are no longer accessed directly from the record. Use record.attribute['column_name'] instead, or use the new attribute accessors detailed under Basic Usage.
- Ignore deleted records in both memory modes
- Added a standalone dbf utility (try dbf -h for help)
- New find method
- Full compatibility with the two flavors of memo file
- Two modes of operation:
- In memory (default): All records are loaded into memory on the first request. Records are retrieved from memory for all subsequent requests.
- File I/O: All records are retrieved from disk on every request
- Improved documentation and more usage examples