All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
5.0.2 (2024-10-22)
- deps: update docusaurus monorepo to v3.3.2 (#888) (60f5e27)
- deps: update docusaurus monorepo to v3.4.0 (#961) (cef2f2e)
5.0.2 (2024-10-22)
** Note: ** Docs libraries update
5.0.1 (2024-02-13)
Note: Version bump only for package fast-csv
5.0.0 (2024-01-13)
- deps!: Dropped support for Node.js versions 10, 12, 14 and 15 #833
- Added missing single quote in error message (#656) (b9dceab)
- deps: Fix up @types node package incorrectly involved in dependencies, closes #774 (#838) (83315a6)
- deps: update dependency @types/yargs to v16.0.1 (024ec2c)
- deps: update dependency classnames to v2.4.0 (#642) (3ce8ad8)
- deps: update dependency classnames to v2.5.0 (#847) (8a38bd2)
- deps: update dependency classnames to v2.5.1 (#849) (4187b08)
- deps: update dependency globby to v11.0.2 (57953cc)
- deps: update dependency globby to v11.0.3 (e310319)
- deps: update dependency globby to v11.1.0 (#678) (0ea420d)
- deps: update dependency jest-diff to v29 (#672) (b962de0)
- deps: update dependency yargs to v16.2.0 (d9420d8)
- deps: update dependency yargs to v17 (#673) (0d33b48)
- deps: update docusaurus monorepo to v2.4.3 (#531) (ed71ed4)
- deps: update docusaurus monorepo to v3 (#844) (7fdb903)
- deps: update docusaurus monorepo to v3.1.0 (#855) (4f67398)
- deps: update react monorepo to v18 (#845) (a447d06)
4.3.6 (2020-12-04)
- Simplify empty row check by removing complex regex (4bbd39f)
- deps: update dependency @types/yargs to v15.0.10 (9af7a41)
- deps: update dependency yargs to v16.1.1 (057a4da)
4.3.5 (2020-11-03)
4.3.4 (2020-11-03)
4.3.3 (2020-10-30)
- deps: update dependency @docusaurus/core to v2.0.0-alpha.66 (8afdd1e)
- deps: update dependency @docusaurus/preset-classic to v2.0.0-alpha.66 (4a854a1)
- deps: update dependency @types/yargs to v15.0.9 (a46ac39)
- deps: update dependency yargs to v16 (b28b662)
- deps: update react monorepo to v17 (93d3450)
4.3.2 (2020-09-02)
- deps: update dependency yargs to v15.4.1 (74fd72f)
- parsing, #423: Prevent callback from being called multiple times (040febe), closes #423
- release command (79ec47f)
4.3.1 (2020-06-23)
- deps: update dependency @docusaurus/core to v2.0.0-alpha.56 (87c9cdb)
- deps: update dependency @docusaurus/core to v2.0.0-alpha.58 (7b10f7e)
- deps: update dependency @docusaurus/preset-classic to v2.0.0-alpha.56 (2cafdac)
- deps: update dependency @docusaurus/preset-classic to v2.0.0-alpha.58 (a4a1e3f)
- deps: update dependency globby to v11.0.1 (9a21f53)
- parsing: Pass errors through callbacks (84ecdf6)
4.3.0 (2020-05-27)
- deps: update dependency @docusaurus/core to v2.0.0-alpha.55 (84b8491)
- deps: update dependency @docusaurus/preset-classic to v2.0.0-alpha.55 (9b7e40c)
4.2.0 (2020-05-19)
- deps: update dependency @docusaurus/preset-classic to v2.0.0-alpha.54 (f1fcc46)
- deps: update dependency @types/yargs to v15 (44bcccc)
- deps: update react monorepo to v16.13.1 (cdb0d89)
4.1.6 (2020-05-15)
- deps: update dependency @docusaurus/core to v2.0.0-alpha.54 (24a0473)
- parse: Handle escaped escape properly #340 (78d9b16)
4.1.5 (2020-05-15)
4.1.4 (2020-05-15)
- Fix lerna:version command (6da1eb3)
- New Docs powered by Docusaurus!
- New logo courtesy of @dylanstanfield
- [FIXED] Issue where code is not built before publishing. #329
- [ADDED] A new
headers
event that will be emitted when headers are parsed [#321] (#321)
- [FIXED] Issue where invalid rows were not accounted for when skipRows was set #317
- [FIXED] Issue where readableObjectMode was not set to false when formatting #319
- [FIXED] Issue where carriage returns and line feeds were not always quoted when formatting #320
- [ADDED]
writeHeaders
to@fast-csv/format
option to prevent writing headers.- This makes appending to a csv easier and safer because you can still specify headers without writing them.
- [FIXED] package.json homepage links
- [ADDED] version npm script
- Migrated from mocha to jest
- Moved to
lerna
.- Split
parse
andformat
packages
- Split
- Added running examples and checking output as part of the tests
- Updated docs for new directory layout
- Added typescript examples
- Added generics type support to format and parse streams
- [ADDED] Docs around using
strictColumnHandling
to emit errors when there are more columns than headers [#195]
- [ADDED] Ability to Transform Header #287
- [ADDED] Example require and import to README #301
- [ADDED] Added new formatting option
alwaysWriteHeaders
to always write headers even if no rows are provided #300 - [ADDED] Appending to csv example and docs #272
- [FIXED] Issue with duplicate headers causing dataloss, duplicate headers will can an error to be emitted. #276
- [FIXED] Issue where an error thrown while processing rows causes stream continue to parse, causing duplicate writes or swallowed exceptions.
- [ADDED]
maxRows
option to limit the number of rows parsed. #275 #277 - @cbrittingham - [ADDED]
skipRows
to allow skipping parsed rows see parsing.md - [ADDED]
skipLines
to allow skipping entire lines of a csv parsing.md #267 - Exported formatting and parsing types.
- Removed
.npmignore
in favor ofpackage.json
files
- Upgraded dependencies
- Reformatted code with prettier
- [FIXED] Entire lodash is imported, bloating dependencies #281
- [FIXED] formatter.js: Disabling quote doesn't work #97
- Changed to allow the
quote
option to be provided as a boolean so when set to false all quoting is ignored.
- Changed to allow the
- [ADDED]
writeBOM
option when formatting a csv #180 - Added tests for #102
- [FIXED] First row of CSV is removed when headers array is provided #252
- Skip trailing whitespace after a quoted field #223 - @peet
- Add support for passing in encoding. #185 - @pierrelouisd4j
- Update lodash to address #260
- Update
.npmignore
to not exclude build directory
- Updated to Node 8
- Rewrote in Typescript
- Calling the library as a function has been removed in favor of
csv.parse
.csv()
change tocsv.parse()
- Deprecated
fromString
in favor ofparseString
csv.fromString()
change tocsv.parseString()
- Deprecated
fromStream
in favor ofparseStream
acsv.fromStream()
change tocsv.parseStream()
- Deprecated
fromPath
in favor ofparseFile
csv.fromPath()
change tocsv.parseFile()
csv.createWriteStream
has been removed in favor ofcsv.format
csv.writeToBuffer
andcsv.writeToString
no longer accepts acallback
, instead they return a promisePromise
- Use safer-buffer polyfill to support node >= 8.
- Adding TypeScript declaration file. #190
- Allow renaming headers. #175
- Now removes the byte order mark from a UTF-8 file if this is present. #170
- Writing object ends up with function definitions #158
- Now handles tab delimited CSVs with only spaces for field values
- Handles CSVs with only spaces for field values
- Fix for last column empty when line end with a delimiter.
- Fast CSV will now handles the last column being empty.
- Fix for when chunk returned by transform to the parser ends with a space
- Functionality to give a reason when invalid data
- Fix problem with utf8 encoded streams that have multi-byte characters
- Allow passing sparse array of headers
- Node 4 and 5 support.
- Deprecating the
record
event.
- Removed try catch from emit to allow bubbling up of errors to process, if one is thrown #93
- This also fixed issue #92 where a loop was entered when
this.emit("error")
was called.
- This also fixed issue #92 where a loop was entered when
- Added new tests
- Fixed issue where parser_stream was emitting end early #87
- Changed to not emit end during flush
- Changed catch errors on emit and emit as "error" event
- Added support for node
v0.12
- Fixed issues with ordering of headers when specifying headers in a write stream #77
- Fixed issue where headers were not being written if no data was supplied to write stream.
- Fixed issues with error handling and not registering an error handler on stream #68
- Added support for ignoring quoting while parsing #75
- Fixed issues with
v0.11
stream implementation #73 - Fixed issues with
pause/resume
and data events inv0.10
#69 - Fixed the double invoking of done callback when parsing files #68
- Refactored tests
- Fixed issue with
writeToString
andwriteToPath
examples #64 - Fixed issue with creating a csv without headers #63
- Fixed issue where line data was not being passed between transforms in the parser_stream
- Added support for async transforms #24
- Added support for async validation
- Added support for new data format
[
[["header", "value1"], ["header2", "value2"]],
[["header", "value2"], ["header2", "value2"]]
]
- Added support for forcing the quoting columns and headers
quoteColumns
- Can be a boolean, object or array to specify how quoting should be done (see README)quoteHeaders
- Can be a boolean, object or array to specify how quoting should be done (see README)
- More tests
- Code refactor and clean up
- Added support for comments. #56
- Added ability to include a
rowDelimiter
at the end of a csv with theincludeEndRowDelimiter
option #54 - Added escaping for values that include a row delimiter
- Added more tests for new feature and escaping row delimiter values.
- Added ability to specify a rowDelimiter when creating a csv.
- Added discardUnmappedColumns option to allow the ignoring of extra data #45
- Fixed race condition that occurred if you called pause during a flush.
- Fixed misspelling of
delimiter
#40
- Added transform support to formatters
- When using
createWriteStream
you can now you thetransform
method to specify a row transformer. - When using other transform methods you can specify a
transform
option.
- When using
- You can now specify
objectMode
when parsing a csv which will causedata
events to have an object emitted. - You can now pipe directly to the stream returned from
createWriteStream
- You can now transform csvs by piping output from parsing into a formatter.
- Fixed issue where not all rows are emitted when using
pause
andresume
- Added more fine grained control to
.pause
and.resume
- You can now pause resume between chunks
- Add new
createWriteStream
for creating a streaming csv writer
- Fixed issue with having line breaks containing
\r\n
- Fixed issue with
\r
line break in parser
- Added multiline value support
- Updated escaping logic
- More performance enhancements
- More robusts test cases
- Removed support for having two quote types instead it just supports a single quote and escape sequence. Source code (zip)
- Fixed issue with formatter handling undefined or null values.
- Changed formatter not not include a new line at the end of a CSV.
- Added pause and resume functionality to ParserStream
- Added trim, ltrim, and rtrim to parsing options