This document contains the release notes for the 1.11.0 version of Apache Commons CSV.
Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format.
Commons CSV requires at least Java 8.
The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.
Feature and bug fix release (Java 8 or above)
Changes in this version include:
New Features
CSV-308: [Javadoc] Add example to CSVFormat#setHeaderComments() #344. Thanks to Buddhi De Silva, Gary Gregory.
Add and use CSVFormat#setTrailingData(boolean) in CSVFormat.EXCEL for Excel compatibility [#303](https://github.com/apache/commons-csv/issues/303). Thanks to DamjanJovanovic, Gary Gregory.
Add and use CSVFormat#setLenientEof(boolean) in CSVFormat.EXCEL for Excel compatibility [#303](https://github.com/apache/commons-csv/issues/303). Thanks to DamjanJovanovic, Gary Gregory.
Fixed Bugs
CSV-306: Replace deprecated method in user guide, update external link #324, #325. Thanks to Sam Ng, Bruno P. Kinoshita.
Document duplicate header behavior [#309](https://github.com/apache/commons-csv/issues/309). Thanks to Seth Falco, Bruno P. Kinoshita.
Add missing docs [#328](https://github.com/apache/commons-csv/issues/328). Thanks to jkbkupczyk.
[StepSecurity] CI: Harden GitHub Actions [#329](https://github.com/apache/commons-csv/issues/329), [#330](https://github.com/apache/commons-csv/issues/330). Thanks to step-security-bot.
CSV-147: Better error message during faulty CSV record read #347. Thanks to Steven Peterson, Benedikt Ritter, Gary Gregory, Joerg Schaible, Buddhi De Silva, Elliotte Rusty Harold.
CSV-310: Misleading error message when QuoteMode set to None #352. Thanks to Buddhi De Silva.
CSV-311: OutOfMemory for very long rows despite using column value of type Reader. Thanks to Christian Feuersaenger, Gary Gregory.
Use try-with-resources to manage JDBC Clob in CSVPrinter.printRecords(ResultSet). Thanks to Gary Gregory.
JDBC Blob columns are now output as Base64 instead of Object#toString(), which usually is InputStream#toString(). Thanks to Gary Gregory.
Support unusual Excel use cases: Add support for trailing data after the closing quote, and EOF without a final closing quote [#303](https://github.com/apache/commons-csv/issues/303). Thanks to DamjanJovanovic, Gary Gregory.
MongoDB CSV empty first column parsing fix [#412](https://github.com/apache/commons-csv/issues/412). Thanks to Igor Kamyshnikov, Gary Gregory.
Changes
Bump commons-io:commons-io: from 2.11.0 to 2.16.1 [#408](https://github.com/apache/commons-csv/issues/408), [#413](https://github.com/apache/commons-csv/issues/413). Thanks to Gary Gregory.
Bump commons-parent from 57 to 69 [#410](https://github.com/apache/commons-csv/issues/410). Thanks to Gary Gregory, Dependabot.
Bump h2 from 2.1.214 to 2.2.224 [#333](https://github.com/apache/commons-csv/issues/333), [#349](https://github.com/apache/commons-csv/issues/349), [#359](https://github.com/apache/commons-csv/issues/359). Thanks to Dependabot.
Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary Gregory.
Update exception message in CSVRecord#getNextRecord() [#348](https://github.com/apache/commons-csv/issues/348). Thanks to Buddhi De Silva, Michael Osipov, Gary Gregory.
Bump tests using com.opencsv:opencsv from 5.8 to 5.9 [#373](https://github.com/apache/commons-csv/issues/373). Thanks to Dependabot.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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)
Bumps org.apache.commons:commons-csv from 1.9.0 to 1.11.0.
Changelog
Sourced from org.apache.commons:commons-csv's changelog.
... (truncated)
Commits
74e1274
Prepare for the next release candidate89cbc7b
Prepare for the next release candidate447682e
Match version to POM4c186f2
Merge pull request #420 from apache/dependabot/github_actions/actions/checkou...8af37f7
Merge pull request #418 from apache/dependabot/github_actions/github/codeql-a...2238314
Merge pull request #419 from apache/dependabot/github_actions/actions/upload-...2ccf668
Bump actions/checkout from 4.1.2 to 4.1.426cf90e
Bump actions/upload-artifact from 4.3.2 to 4.3.3586310a
Bump github/codeql-action from 3.25.1 to 3.25.3bea505a
Merge pull request #416 from apache/dependabot/github_actions/actions/upload-...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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