Skip to content

Releases: vincentlaucsb/csv-parser

CSV Parser 2.2.0

03 Apr 07:13
Compare
Choose a tag to compare

CSV Parser 2.1.3

29 Jul 05:39
ea547fd
Compare
Choose a tag to compare
  • Fix various compatibility issues with g++ and clang
  • Added hex value parsing
  • Fixed a rare out-of-bounds condition

CSV Parser 2.1.2

27 Jul 03:28
39a6af6
Compare
Choose a tag to compare
  • Fixed compilation issues with C++11 and 14.
    • CSV Parser should now be should C++11 compatible once again with g++ 7.5 or up
  • Allowed users to customize decimal place precision when writing CSVs
  • Fixed floating point output
    • Arbitrarily large integers stored in doubles can now be output w/o limits
  • Fixed newlines not being escaped by CSVWriter

CSV Parser 2.1.1

15 Apr 08:18
Compare
Choose a tag to compare
  • Fixed CSVStats only processing first 5000 rows thanks to @TobyEalden
  • Fixed parsing """fields like this""" thanks to @rpadrela
  • Fixed CSVReader move semantics thanks to @artpaul

Minor Patch

20 Dec 11:11
Compare
Choose a tag to compare

Fixed #142 where decimal numbers were being printed properly by CSVWriter, and incorporated #137 and #134

Better, faster, stronger

18 Oct 09:30
621a9d9
Compare
Choose a tag to compare

New Features

  • CSVReader can now parse from memory mapped files, std::stringstream, and std::ifstream
  • DelimWriter now supports writing rows encoded as std::tuple
  • DelimWriter automatically converts numbers and other data types stored in vectors, arrays, and tuples

Improvements

  • CSVReader is now a no-copy parser when memory-mapped IO is used
    • CSVRow and CSVField now refer to the original memory map
  • Significant performance improvements for some files

Bug Fixes

  • Fixed potential thread safety issues with internals::CSVFieldList

API Changes

  • CSVReader::feed() and CSVReader::end_feed() have been removed. In-memory parsing should be performed via the interface for std::stringsteam.

CSV Parser 2.0.1

01 Oct 21:23
Compare
Choose a tag to compare
  • Made parsing CSV files without header rows more convenient
  • Fixed a compilation error with std::back_inserter on some systems

CSV Parser 2.0.0

27 Sep 12:53
Compare
Choose a tag to compare
  • Parser now uses memory-mapped IO for reading from disk thanks to mio
    • CSV files are read in smaller chunks to reduce memory footprint (but parsing is significantly faster)
  • CSVReader::read_row() (and CSVReader::iterator) no longer blocks CSVReader::read_csv(), i.e. we can now simultaneously work on CSV data while reading more rows
  • Parser internals completely rewritten to use more efficient and easier to maintain/debug data structures
  • Fixed bug where single column files could not be parsed
  • Fixed errors with parsing empty files
  • CSVWriter::write_row() now works with std::array

CSV Parser 2.0 Beta: >300 MBps Edition

22 Sep 08:10
f8bdc5a
Compare
Choose a tag to compare
  • Parser now uses memory-mapped IO for reading from disk
    • On Windows, parser may map entire file into memory or mmap chunks of file iteratively based on available RAM (will extend to all OSes)
  • Parser internals completely rewritten to use more efficient and easier to maintain/debug data structures
    • New algorithm involves minimal copying
  • Fixed bug where single column files could not be parsed
  • Fixed errors with parsing empty files

Fixed memory errors when parsing large files

16 May 02:29
6c91e84
Compare
Choose a tag to compare
  • Fixed issue with incorrect usage of string_view that led to memory errors when parsing large files such as the 1.4GB Craigslist vehicles dataset #90
  • Added ability to have no quote character #83
  • Changed VariableColumnPolicy::IGNORE to IGNORE_ROW to avoid clashing with IGNORE macro as defined by WinBase.h #96