Strict mode: Exception messages of thrown exceptions are now redacted by default to avoid data unintentionally leaking into logs.
This behaviour change is not considered to be breaking backwards compatibility since source data presented in exception messages is
not considered part of the CSV public API.
Strict mode: Exception messages can be unredacted using the unredact_exceptions option
Normal mode: Error messages can be redacted using the redact_errors option
Documentation fixes and improvements contributed by @jamesvl in #115
3.0.2 (2022-11-03)
Ensure that escaped fields as the last field on the last line without a newline are included in the results - [fixes #117](beatrichartz/csv#117) raised by @superhawk610
3.0.1 (2022-10-25)
Ensure that stray escape quotes and unterminated escape sequences on a last line without a newline produce errors
3.0.0 (2022-10-25)
The parallel parser/lexer with a binary matching parser with better performance.
A new :field_transform option allows specifying functionality applied when decoding any field through a function
Escape characters can now be specified using the :escape_character option, this [Closes #59](beatrichartz/csv#59)
The library will now reparse lines that follow e.g. an unterminated escape sequence. This ensures that all possible valid rows
will be returned in normal mode
Encoding checks have been removed because they can either be done using :field_transform or outside the library
Better docs
Upgrading from 2.x
Parallelism has been removed, alongside its options :num_workers and :worker_work_ratio. You can safely remove them.
StrayQuoteError is now StrayEscapeCharacterError. If you catch this error in your code, you need to rename it.
The :strip_fields option needs to be replaced with the :field_transform option:
:validate_row_length now defaults to false. This option produces an error for rows with different length. Set it
to true to get the same behaviour as in 2.x
:escape_formulas is now :unescape_formulas for decode and decode!. It is still :escape_formulas for
encode. Change :escape_formulas to :unescape_formulas in decode calls to get the same behaviour as in 2.x
:escape_max_lines now defaults to 10 instead of 1000. To get the same behaviour as in 2.x, use:
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps csv from 2.4.1 to 3.2.1.
Changelog
Sourced from csv's changelog.
... (truncated)
Commits
41616d7
Version bump85baadb
Correct typespec for decode29bc8b7
Version bump63b5d88
Add redact errors option in normal mode4f76a8b
Version bumpbd70ed2
Test against 1.15c92ea24
Establish redacted exceptions as the default for strict modea3571ff
lock dialyxir 1.3.0d613548
revert ci.yml back to originaldc2c573
temporarily removing older versions of elixir to see if cicd will pass in newerYou can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show