Cursively Versions Save

A CSV reader for .NET. Fast, RFC 4180 compliant, and fault tolerant. UTF-8 only.

v1.2.0

4 years ago

1.2.0

  • Added fluent helpers to replace the Csv.ProcessFoo methods with something that's easier to maintain without being meaningfully less convenient to use (#15).
  • Deprecated the ability to ignore a leading UTF-8 byte order mark inside the header-aware visitor, per #14.
    • Instead, it's up to the source of the input to skip (or not skip) sending a leading UTF-8 BOM to the tokenizer in the first place.
    • By default, all the fluent helpers from the previous bullet point will ignore a leading UTF-8 BOM if present. This behavior may be disabled by chaining .WithIgnoreUTF8ByteOrderMark(false).
  • Improved how the header-aware visitor behaves when the creator requests very high limits (#17).
  • Fixed a rare off-by-one issue in the header-aware visitor that would happen when a header is exactly as long as the configured maximum and its last byte is exactly the last byte of the input chunk that happens to contain it (#16).

v1.1.0

4 years ago

1.1.0

  • Several further performance optimizations. Most significantly, inlining and tuning a critical ReadOnlySpan<T> extension method.
    • In some cases, this increased throughput by a factor of 3.
  • Added hooks for visitor implementations to detect situations where the stream does not conform to the RFC 4180 rules for quoted fields (#4)
  • Added support to customize the field delimiter byte (#11)
  • Added helpers to avoid having to use CsvTokenizer directly in most cases (#9, #10)
  • Added an intermediate abstract visitor class that handles UTF-8 encoded headers (#5)

v1.0.0

4 years ago

Initial release.

Supports fast reading of CSV files encoded in UTF-8.