Releases: vincentlaucsb/csv-parser
Releases · vincentlaucsb/csv-parser
CSV Parser 2.2.2
What's Changed
- Allow parsing of numbers that begin with
+
, fixing #213 - Fix compiler warnings in g++ from using
abs
and intry_parse_hex()
#227 - Fix invalid memory access issue in g++ builds #228
- Issue was caused when using
CSVField
methods in conjunction withCSVRow
reverse iterators
- Issue was caused when using
- CMake options to disable programs building by @BaptisteLemarcis in #148
New Contributors
- @BaptisteLemarcis made their first contribution in #148
Full Changelog: 2.2.1...2.2.2
CSV Parser 2.2.1
This is a simple CMake change that makes it easier to #include "csv.hpp"
in a CMake project that grabs csv-parser
using FetchContent_Declare()
.
What's Changed
New Contributors
Full Changelog: 2.2.0...2.2.1
CSV Parser 2.2.0
- Fixed bug which caused inaccurate serialization of floating point values in CSV Writer as reported by #188
- Bug affected numbers close to 10 ^n; was caused by usage of inaccurate
std::log()
function (see: https://stackoverflow.com/questions/1489830/efficient-way-to-determine-number-of-digits-in-an-integer)
- Bug affected numbers close to 10 ^n; was caused by usage of inaccurate
- Fixed issue where strings consisting of numbers and dashes (e.g. phone numbers) were inaccurately identified as integers
- Silenced some compiler warnings
CSV Parser 2.1.3
- Fix various compatibility issues with g++ and clang
- Added hex value parsing
- Fixed a rare out-of-bounds condition
CSV Parser 2.1.2
- 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
- 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
Better, faster, stronger
New Features
CSVReader
can now parse from memory mapped files,std::stringstream
, andstd::ifstream
DelimWriter
now supports writing rows encoded asstd::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 usedCSVRow
andCSVField
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()
andCSVReader::end_feed()
have been removed. In-memory parsing should be performed via the interface forstd::stringsteam
.
CSV Parser 2.0.1
- 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
- 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()
(andCSVReader::iterator
) no longer blocksCSVReader::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 withstd::array