FastCSV Versions Save

CSV library for Java that is fast, RFC-compliant and dependency-free.

v3.1.0

2 months ago

Added

  • Add acceptCharsAfterQuotes() to CsvReaderBuilder and IndexedReaderBuilder to allow even stricter parsing

Changed

  • Improved reader performance

v3.0.0

4 months ago

Added

  • IndexedCsvReader for random access to CSV files
  • FieldModifier for modifying fields while reading CSV files
  • Allow custom quote strategies for CsvWriter
  • CsvCallbackHandler for more flexible usage of CsvReader
  • Support for optional BOM header when reading CSV files
  • Method NamedCsvRecord.findField for optional field access
  • Allow READ comment strategy for CSV data with a header
  • Metadata for OSGi capability

Changed

  • Updated from Java 8 to Java 11
  • Updated naming (rows/lines -> records, columns -> fields, differentiate between lines and records)
  • NamedCsvReader replaced by CsvReader.builder().ofNamedCsvRecord()
  • build methods in CsvReaderBuilder with callback handlers and ofCsvRecord / ofNamedCsvRecord as convenience methods
  • Rename errorOnDifferentFieldCount() to ignoreDifferentFieldCount()
  • QuoteStrategy is now an interface – defaults are provided by QuoteStrategies
  • Throw CsvParseException instead of IOException when maximum field size is exceeded
  • NamedCsvRecord extends CsvRecord and provides more access methods
  • Raised the maximum field size to 16 MiB to match SUPER data type capabilities of Amazon Redshift
  • Limit the maximum field count per record to 16,384 to prevent OutOfMemoryErrors
  • Limit the maximum record size to 64 MiB to prevent OutOfMemoryErrors
  • Several performance improvements
  • Improved documentation and error messages

Removed

  • Removed isEmpty() in CsvRecord as it was formerly only used for skipping empty records

Fixed

  • Do not throw an exception when reading comments while enabling different field count checking

v2.2.2

1 year ago

Added

  • New quote strategy that adds quotes only for non-empty fields #80

v2.2.1

1 year ago

Fixed

  • Fixed a problem when refilling the input buffer while parsing nonconforming data (quote character within unquoted field) #67

v2.2.0

1 year ago

Added

  • Improved CsvReader performance for String input #63
  • Added configurable buffer size for CsvWriter #63

Removed

  • Erroneous random access file feature #59

v2.1.0

2 years ago

[2.1.0] - 2021-10-17

Added

  • Builder methods for standard encoding (UTF-8)
  • Comment support for writer
  • toString() method to CsvWriter and CsvWriterBuilder
  • Support for random access file operations

Changed

  • Improved error message when buffer exceeds (because of invalid CSV data) #52
  • Defined 'de.siegmar.fastcsv' as the Automatic-Module-Name (JPMS module name)

v2.0.0

3 years ago

[2.0.0] - 2021-01-01

Added

  • Support for commented lines #31
  • Support for multiple quoting strategies #39

Changed

  • Completely re-engineered the API for better usability
  • Improved performance
  • Make use of Java 8 features (like Streams and Optionals)
  • Replaced TestNG with JUnit 5
  • Changed license from Apache 2.0 to MIT

Removed

  • CsvContainer concept – use Stream.collect() as a replacement
  • java.io.File API – use java.nio.file.Path instead

v1.0.4

3 years ago

Fixed

  • Fix null returning CsvContainer when only a header is present #38

Changed

  • Remove unnecessary temporary objects in CsvAppender #8