| Apache Commons CSV |
| Version 1.10.0 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.10.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 |
| ============ |
| |
| o CSV-291: Make CSVRecord#values() public. Thanks to Gary Gregory. |
| o CSV-264: Add DuplicateHeaderMode for flexibility with header strictness. #114. Thanks to Sagar Tiwari, Seth Falco, Alex Herbert, Gary Gregory. |
| o CSV-295: Support for parallelism in CSVPrinter. Thanks to Gary Gregory. |
| o CSV-295: Add CSVPrinter.printRecord[s](Stream). Thanks to Gary Gregory. |
| o CSV-304: Add accessors for header/trailer comments #257. Thanks to Peter Hull, Bruno P. Kinoshita, Gary Gregory. |
| o Add github/codeql-action. |
| |
| FIXED BUGS |
| ========== |
| |
| o Minor changes #172. Thanks to Arturo Bernal. |
| o CSV-292: No Automatic-Module-Name prevents usage in JPMS projects without repacking the JAR. Thanks to Rob Vesse. |
| o CSV-288: Fix for multi-char delimiter not working as expected #218. Thanks to Santhsoh, Angus. |
| o CSV-269: CSVRecord.get(Enum) should use Enum.name() instead of Enum.toString(). Thanks to Auke te Winkel, Gary Gregory. |
| o Allow org.apache.commons.csv.IOUtils.copy(Reader, Appendable, CharBuffer) to compile on Java 11 and run on Java 8. Thanks to Gary Gregory. |
| o CSV-300: CSVRecord.toList() does not give write access to the new List. Thanks to Markus Spann, Gary Gregory. |
| o CSVParser.getRecords() now throws UncheckedIOException instead of IOException. Thanks to Gary Gregory. |
| o CSV-274: Add comments to iterator() and stream() #270. Thanks to Peter Hull, Bruno P. Kinoshita, Gary Gregory. |
| o CSV-290: Fix wrong assumptions in PostgreSQL formats #265. Thanks to angusdev, Gary Gregory. |
| o Validate input to setDelimiter(String) for empty string #266. Thanks to Mykola Faryma. |
| o Bump CSVFormat#serialVersionUID from 1 to 2. Thanks to Dependabot. |
| o CSVParser: Identify duplicates in null, empty and blank header names #279. Thanks to Alex Herbert. |
| |
| CHANGES |
| ======= |
| |
| o Bump actions/cache from 2.1.6 to 3.0.10 #196, #233, #243, #267, #271. Thanks to Dependabot, Gary Gregory. |
| o Bump actions/checkout from 2.3.4 to 3.1.0 #188, #195, #220, #272. Thanks to Dependabot, Gary Gregory. |
| o Bump actions/setup-java from 2 to 3.5.1. Thanks to Gary Gregory. |
| o Bump actions/upload-artifact from 3.1.0 to 3.1.1 #280. Thanks to Dependabot. |
| o Bump commons-parent from 52 to 56 #264, #288, #298. Thanks to Gary Gregory. |
| o Bump checkstyle from 8.44 to 9.2.1 #180, #190, #194, #202, #207. Thanks to Dependabot. |
| o Bump junit-jupiter from 5.8.0-M1 to 5.9.1 #179, #186, #201, #244, #263. Thanks to Dependabot. |
| o Bump jmh-core from 1.32 to 1.36 #176, #208, #229, #285. Thanks to Dependabot. |
| o Bump jmh-generator-annprocess from 1.32 to 1.36 #175, #206, #226, #283. Thanks to Dependabot. |
| o Bump mockito-core from 3.11.2 to 4.11.0 #187, #197, #204, #212, #230, #237, #251, #259, #284, #292, #297. Thanks to Dependabot, Gary Gregory. |
| o Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #184, #219, #238, #254, #258. Thanks to Dependabot. |
| o Bump pmd from 6.36.0 to 6.52.0 #173, #189, #193, #199, #227, #233, #214, #236, #240, #247, #255, #273. Thanks to Dependabot, Gary Gregory. |
| o Bump opencsv from 5.5.1 to 5.7.1 #182, #221, #260, #281. Thanks to Gary Gregory. |
| o Bump spotbugs-maven-plugin from 4.3.0 to 4.7.3.0 #192, #198, #203, #211, #225, #234, #242, #245, #261, #275, #282. Thanks to Dependabot. |
| o Bump com.github.spotbugs:spotbugs from 4.5.3 to 4.7.2. Thanks to Gary Gregory. |
| o Bump h2 from 1.4.200 to 2.1.214 #200, #205, #213, #239. Thanks to Dependabot. |
| o Bump maven-javadoc-plugin from 3.3.0 to 3.4.1. Thanks to Gary Gregory. |
| o Bump biz.aQute.bnd:biz.aQute.bndlib from 5.3.0 to 6.3.1. Thanks to Gary Gregory. |
| o Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. Thanks to Gary Gregory. |
| o Bump japicmp-maven-plugin from 0.15.3 to 0.16.0. Thanks to Gary Gregory. |
| o Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #253. Thanks to Dependabot. |
| |
| Removed: |
| o Serialization in CSVFormat is not supported from one version to the next. |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Download page: https://commons.apache.org/proper/commons-csv/download_csv.cgi |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.9.0 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.9.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 |
| ============ |
| |
| o CSV-275: Make CSVRecord#toList() public. Thanks to Michael Wyraz, Gary Gregory. |
| o Add CSVRecord#stream(). Thanks to Gary Gregory. |
| o Add CSVParser#stream(). Thanks to Gary Gregory. |
| o CSV-184: Make the method CSVRecord.putIn(Map) public. Thanks to Gaurav Agarwal, M. Steiger, Gary Gregory. |
| o Add test cases for CSVRecord with get(Enum) and toString. #54. Thanks to dota17. |
| o Add and use CSVFormat.Builder, deprecated CSVFormat#with methods, based on #73. Thanks to Gary Gregory, dota17. |
| o CSV-206: Add support for String delimiters #76. Thanks to Gary Gregory, dota17. |
| |
| FIXED BUGS |
| ========== |
| |
| o Replace FindBugs with SpotBugs #56. Thanks to Amey Jadiye. |
| o Javadoc typo in CSVFormat let's -> lets #57. Thanks to Chen. |
| o CSV-259: CSVFormat.printWithEscapes throws StringIndexOutOfBoundsException when value is Reader #61. Thanks to Chen. |
| o Improve CSVFormat test coverage #63. Thanks to Chen. |
| o Fix CSVFileParserTest.java to allow for a null return value from record.getComment() #62. Thanks to Chen. |
| o Improve test coverage in CSVFormatTest #65. Thanks to Chen. |
| o Removed invalid Javadoc markup for CSVFormat EXCEL #64. Thanks to Chen. |
| o Improve CSVRecord and CSVPrinter code coverage #66. Thanks to Chen. |
| o Improve lexer and token coverage #67. Thanks to Chen. |
| o CSV-211: CSVFormat.format trims last delimiter if the delimiter is a white space #71. Thanks to Alpesh Kulkarni, Chen. |
| o Replace org.apache.commons.csv.Assertions.notNull() with Objects.requireNonNull(). Thanks to Gary Gregory. |
| o CSV-149: Line number is not proper at EOF. Thanks to Kranthi, Gary Gregory, Brent Worden, dota17. |
| o CSV-195: Parser iterates over the last CSV Record twice. Thanks to Rodolfo Duldulao, Rodolfo Duldulao, Michael Vitz, dota17. |
| o CSV-267: Minor improvements #126, #127, #130. Thanks to Arturo Bernal. |
| o CSV-123: Add possibility to use ResultSet header meta data as CSV header #11. Thanks to Emmanuel Bourg, Benedikt Ritter, shivakrishnaah, Gary Gregory. |
| o CSV-148: Add test cases for withIgnoreSurroundingSpaces() and withTrim() #70. Thanks to dota17. |
| o Update CSVParser.parse(File, Charset, CSVFormat) from IO to NIO. Thanks to Gary Gregory. |
| o CSV-271: Missing separator with print(object) followed by printRecord(Object[]) #157. Thanks to Amar Prakash Pandey. |
| o CSV-158: Fix EOL checking for read array in ExtendedBufferedReader #5. Thanks to Alexander Bondarev, Benedikt Ritter, Gary Gregory, Chen. |
| o CSV-263: Print from Reader with embedded quotes generates incorrect output #78. Thanks to Jason A. Guild, Gary Gregory. |
| o Replace JUnit assert by simpler but equivalent calls. #159. Thanks to Arturo Bernal. |
| o Update gitignore to ignore idea and vscode #160. Thanks to Seth Falco. |
| o CSV-281: Update CSVBenchmark #165. Thanks to belugabehr. |
| o CSV-283: Remove Whitespace Check Determines Delimiter Twice #167. Thanks to belugabehr. |
| o CSV-283: Document and Automate CSV Benchmark Harness #166. Thanks to belugabehr. |
| o CSV-279: Optimize Lexer Delimiter Check for One Character Delimiter #163. Thanks to belugabehr. |
| o SpotBugs Error: Medium: org.apache.commons.csv.CSVParser.getHeaderNames() may expose internal representation by returning CSVParser.headerNames [org.apache.commons.csv.CSVParser] At CSVParser.java:[line 599] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| o SpotBugs Error: Medium: new org.apache.commons.csv.CSVParser(Reader, CSVFormat, long, long) may expose internal representation by storing an externally mutable object into CSVParser.format [org.apache.commons.csv.CSVParser] At CSVParser.java:[line 433] EI_EXPOSE_REP2. Thanks to Gary Gregory. |
| o SpotBugs Error: Medium: new org.apache.commons.csv.CSVParser(Reader, CSVFormat, long, long) may expose internal representation by storing an externally mutable object into CSVParser.headerMap [org.apache.commons.csv.CSVParser] At CSVParser.java:[line 437] EI_EXPOSE_REP2. Thanks to Gary Gregory. |
| o SpotBugs Error: Medium: new org.apache.commons.csv.CSVParser(Reader, CSVFormat, long, long) may expose internal representation by storing an externally mutable object into CSVParser.headerNames [org.apache.commons.csv.CSVParser] At CSVParser.java:[line 438] EI_EXPOSE_REP2. Thanks to Gary Gregory. |
| o SpotBugs Error: Medium: new org.apache.commons.csv.CSVPrinter(Appendable, CSVFormat) may expose internal representation by storing an externally mutable object into CSVPrinter.format [org.apache.commons.csv.CSVPrinter] At CSVPrinter.java:[line 100] EI_EXPOSE_REP2. Thanks to Gary Gregory. |
| o CSV-284: Formalize PerformanceTest #168. Thanks to belugabehr. |
| o CSV-278: Reuse Buffers in Lexer for Delimiter Detection #162. Thanks to belugabehr. |
| o CSV-286: Cleanup and Document Performance Test Harness #170. Thanks to belugabehr. |
| o CSV-265: Update buffer position when reading line comment #120. Thanks to belugabehr. |
| |
| CHANGES |
| ======= |
| |
| o Update org.junit.jupiter:junit-jupiter from 5.6.0 to 5.7.0, #84 #109 Thanks to Gary Gregory. |
| o Update tests from Apache Commons Lang 3.9 to 3.12.0. Thanks to Gary Gregory. |
| o Update tests from commons-io:commons-io 2.6 to 2.11.0, #108. Thanks to Gary Gregory. |
| o Bump actions/checkout from v1 to v2.3.4, #79, #92, #121. Thanks to Dependabot. |
| o Bump commons-parent from 50 to 51 #80. Thanks to Dependabot. |
| o Bump tests from opencsv from 3.1 to 5.5.1 #81, #137, #158. Thanks to Dependabot, Gary Gregory. |
| o Update tests from super-csv from 2.2.1 to 2.4.0 #86. Thanks to Gary Gregory. |
| o Bump build actions/setup-java from v1.4.0 to v2, #101, #113. Thanks to Dependabot, Gary Gregory. |
| o Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #122. Thanks to Dependabot. |
| o Bump tests from org.mockito:mockito-core 3.2.4 -> 3.11.2; #88, #107, #110, #123, #128, #129, #156. Thanks to Gary Gregory, Dependabot. |
| o Bump actions/cache from v2 to v2.1.6 #132, #153. Thanks to Dependabot. |
| o Bump maven-checkstyle-plugin from 3.0.0 to 3.1.2 #131. Thanks to Gary Gregory, Dependabot. |
| o Bump checkstyle from 8.29 to 8.44. Thanks to Gary Gregory. |
| o Bump junit-jupiter from 5.7.0 to 5.8.0-M1 #133, #149. Thanks to Dependabot, Gary Gregory. |
| o Bump commons.jacoco.version from 0.8.5 to 0.8.7 (Java 16). Thanks to Dependabot. |
| o Bump commons.spotbugs.version from 4.0.4 to 4.3.0 (Java 16). Thanks to Dependabot. |
| o Bump maven-javadoc-plugin from 3.2.0 to 3.3.0. Thanks to Gary Gregory. |
| o Bump jmh-generator-annprocess from 1.5.2 to 1.32 #151. Thanks to Dependabot. |
| o Bump PMD core from 6.29.0 to 6.36.0. Thanks to Dependabot. |
| o Bump biz.aQute.bnd:biz.aQute.bndlib from 5.1.2 to 5.3.0. Thanks to Dependabot. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Download page: https://commons.apache.org/proper/commons-csv/download_csv.cgi |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.8 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.8 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. |
| |
| This release fixes serialization compatibility of CSVRecord with versions 1.0 to 1.6. New fields added since |
| 1.7 are not serialized. Support for Serializable is scheduled to be removed in version 2.0. |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-255: Add CSVRecord.isSet(int) method #52. Thanks to 0x100. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-135: Char escape doesn't work properly with quoting. Thanks to Mateusz Zakarczemny. |
| o CSV-244: Test case failures following CSVFormat#equals() update. |
| o CSV-243: CSVFormat withTrim() and withIgnoreSurroundingSpaces() need better docs. |
| o CSV-242: CSVFormat equals() and hashCode() don't use all fields. |
| o CSV-241: CSVFormat#validate() does not account for allowDuplicateHeaderNames #43. Thanks to LuckyIlam, Gary Gregory. |
| o CSV-245: Post 1.7 release fixes. Thanks to Alex Herbert. |
| o CSV-252: Upgrade test framework to JUnit 5 Jupiter #49, #50. Thanks to Alex Herbert. |
| o CSV-247: A single empty header is allowed when not allowing empty column headers. #47. Thanks to Alex Herbert, Gary Gregory. |
| o CSV-248: CSVRecord is not Serializable. Thanks to Alex Herbert. |
| o Use test scope for supercsv #48. Thanks to Alex Herbert. |
| |
| CHANGES |
| ========= |
| |
| o Update tests from H2 1.4.199 to 1.4.200. Thanks to Gary Gregory. |
| o Update tests from Hamcrest 2.1 to 2.2. Thanks to Gary Gregory. |
| o Update tests from Mockito 3.1.0 to 3.2.4. Thanks to Gary Gregory. |
| o Fix typos in site and test #53. Thanks to Chen. |
| o Fix typo performance test #55. Thanks to Chen. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Download page: https://commons.apache.org/proper/commons-csv/download_csv.cgi |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.7 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.7 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| 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 |
| ============== |
| |
| o CSV-233: Add predefined CSVFormats for printing MongoDB CSV and TSV. Thanks to Gary Gregory. |
| o CSV-234: Add support for java.sql.Clob. Thanks to Roberto Benedetti, Gary Gregory. |
| o CSV-239: Cannot get headers in column order from CSVRecord. Thanks to Gary Gregory, Dave Moten. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-208: Fix escape character for POSTGRESQL_TEXT and POSTGRESQL_CSV formats. Thanks to Jurrie Overgoor. |
| o CSV-232: Site link "Source Repository" does not work. Thanks to Jurrie Overgoor, Gary Gregory. |
| o CSV-238: Escape quotes in CLOBs #39. Thanks to Stephen Olander-Waters. |
| |
| CHANGES |
| ========= |
| |
| o CSV-237: Update to Java 8. Thanks to Gary Gregory. |
| o Update tests from H2 1.4.198 to 1.4.199. Thanks to Gary Gregory. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Download it from https://commons.apache.org/proper/commons-csv/download_csv.cgi |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.6 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.6 version of |
| Apache Commons CSV. Commons CSV reads and writes files in variations of the |
| Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 7. |
| |
| The Apache Commons CSV library provides a simple interface for reading and |
| writing CSV files of various types. |
| |
| Feature and bug fix release. |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-217: Add autoFlush option for CsvPrinter. PR #24. |
| Thanks to Korolyov Alexei. |
| o CSV-220: Add API org.apache.commons.csv.CSVFormat.withSystemRecordSeparator(). |
| Thanks to Gary Gregory. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-219: The behavior of quote char using is not similar as Excel does when |
| the first string contains CJK char(s). Thanks to Zhang Hongda. |
| o CSV-172: Don't quote cells just because they have UTF-8 encoded characters. |
| Thanks to Andrew Pennebaker. |
| o CSV-223: Inconsistency between Javadoc of CSVFormat DEFAULT EXCEL. |
| Thanks to Samuel Martin. |
| o CSV-209: Create CSVFormat.ORACLE preset. Thanks to Gary Gregory. |
| o CSV-224: Some multi-iterator parsing peek sequences incorrectly consume |
| elements. Thanks to David Warshaw. |
| o CSV-225: Parse method should avoid creating a redundant BufferedReader. |
| Thanks to Anson Schwabecher. |
| |
| CHANGES |
| ========= |
| |
| o CSV-231: Add more documentation to CSVPrinter. |
| |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.5 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.5 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 7. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| Feature and bug fix release |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-189: CSVParser: Add factory method accepting InputStream. Thanks to Peter Holzwarth, Gary Gregory. |
| o CSV-190: Add convenience API CSVFormat.print(File, Charset). Thanks to Gary Gregory. |
| o CSV-191: Add convenience API CSVFormat.print(Path, Charset). Thanks to Gary Gregory. |
| o CSV-192: Add convenience API CSVParser.parse(Path, Charset, CSVFormat). Thanks to Gary Gregory. |
| o CSV-205: Add convenience API CSVFormat#printer() to print to System.out. Thanks to Gary Gregory. |
| o CSV-207: Provide a CSV Format for printing PostgreSQL CSV and Text formats. Thanks to Gary Gregory. |
| o CSV-214: Adding a placeholder in the Lexer and CSV parser to store the end-of-line string. Thanks to Nitin Mahendru, Gary Gregory. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-203: withNullString value is printed without quotes when QuoteMode.ALL is specified; add QuoteMode.ALL_NON_NULL. PR #17. Thanks to Richard Wheeldon, Kai Paroth. |
| o CSV-194: Fix outdated comments about FileReader in CSVParser #13. Thanks to Marc Prud'hommeaux. |
| o CSV-193: Fix incorrect method name 'withFirstRowAsHeader' in user guide. Thanks to Matthias Wiehl. |
| o CSV-171: Negative numeric values in the first column are always quoted in minimal mode. Thanks to Gary Gregory, Michael Graessle, Adrian Bridgett. |
| |
| CHANGES |
| ========= |
| |
| o CSV-187: Update platform requirement from Java 6 to 7. Thanks to Gary Gregory. |
| o CSV-201: Do not use RuntimeException in CSVParser.iterator().new Iterator() {...}.getNextRecord(). Thanks to Benedikt Ritter, Gary Gregory. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.4 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.4 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 6. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| Feature and bug fix release |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-182: Allow some printing operations directly from CSVFormat. Thanks to Gary Gregory. |
| |
| |
| CHANGES |
| ========= |
| |
| o CSV-181: Make CSVPrinter.print(Object) GC-free. Thanks to Gary Gregory. |
| o CSV-183: Drop ferc.gov tests. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.3 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.3 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 6. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| Feature and bug fix release. |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-179: Add shortcut method for using first record as header to CSVFormat. |
| o CSV-180: Add withHeader(Class? extends Enum>) to CSVFormat. |
| o CSV-159: Add IgnoreCase option for accessing header names. Thanks to Yamil Medina. |
| o CSV-169: The null string should be case-sensitive when reading records. Thanks to Gary Gregory. |
| o CSV-175: Support for ignoring trailing delimiter. Thanks to Gary Gregory, Chris Jones. |
| o CSV-177: Support trimming leading and trailing blanks. Thanks to Gary Gregory. |
| o CSV-178: Create default formats for Informix UNLOAD and UNLOAD CSV. Thanks to Gary Gregory. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-168: CSVFormat.nullString should not be escaped. Thanks to Gary Gregory, cornel creanga. |
| o CSV-170: CSVFormat.MYSQL nullString should be "\N". Thanks to Gary Gregory, cornel creanga. |
| o CSV-161: Fix Javadoc to say CSVFormat with() methods return a new CSVFormat. Thanks to Gary Gregory, Kristof Meixner, Emmanuel Bourg. |
| |
| CHANGES |
| ============ |
| |
| o CSV-167: Comment line hides next record; update Javadoc to make behavior clear. Thanks to Rene. |
| o CSV-153: CSVPrinter doesn't skip creation of header record if skipHeaderRecord is set to true. Thanks to Wren. |
| |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.2 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.2 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 6. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| Feature and bug fix release |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============== |
| |
| o CSV-157: Add enum CSVFormat.Predefined that contains the default CSVFormat values. |
| |
| FIXED BUGS |
| ============ |
| |
| o CSV-145: CSVFormat.with* methods clear the header comments. Thanks to Frank Ulbricht. |
| o CSV-156: Incorrect Javadoc on QuoteMode.NONE. Thanks to Jason Steenstra-Pickens. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CSV |
| Version 1.1 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.1 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 6. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| This is our second release. |
| |
| Changes in this version include: |
| |
| New features: |
| o [CSV-129] Add CSVFormat#with 0-arg methods matching boolean arg methods. |
| o [CSV-131] Save positions of records to enable random access. Thanks to Holger Stratmann. |
| o [CSV-139] CSVPrinter.printRecord(ResultSet) with metadata. |
| |
| Fixed Bugs: |
| o [CSV-140] QuoteMode.NON_NUMERIC doesn't work with CSVPrinter.printRecords(ResultSet). Thanks to Damjan Jovanovic. |
| o [CSV-130] CSVFormat#withHeader doesn't work well with #printComment, add withHeaderComments(String...). Thanks to Sergei Lebedev. |
| o [CSV-128] CSVFormat.EXCEL should ignore empty header names. |
| o [CSV-132] Incorrect Javadoc referencing org.apache.commons.csv.CSVFormat withQuote(). Thanks to Sascha Szott. |
| |
| Changes: |
| o [CSV-124] Improve toString() implementation of CSVRecord. Thanks to Kalyan. |
| o [CSV-134] Unified parameter validation. Thanks to wu wen. |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Have fun! |
| -Apache Commons CSV team |
| |
| ------------------------------------------------------------------------------- |
| |
| Apache Commons CSV |
| Version 1.0 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 1.0 version of Apache Commons CSV. |
| Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| |
| CSV requires at least Java 6.0. |
| |
| The Apache Commons CSV library provides a simple interface for reading and writing |
| CSV files of various types. |
| |
| First release |
| |
| Changes in this version include: |
| |
| NEW FEATURES |
| ============ |
| |
| o CSV-121: IllegalArgumentException thrown when the header contains duplicate names when the column names are empty. |
| Thanks to Sebastian Hardt. |
| o CSV-120: CSVFormat#withHeader doesn't work with CSVPrinter Thanks to Sergei Lebedev. |
| o CSV-119: CSVFormat is missing a print(...) method Thanks to Sergei Lebedev. |
| o CSV-105: Add Map conversion API to CSVRecord |
| o CSV-52: Keep track of record number |
| o CSV-92: Need a way to extract parsed headers, e.g. for use in formatting |
| output |
| o CSV-65: Header support |
| o CSV-48: Predefined format for MYSQL |
| |
| FIXED BUGS |
| ========== |
| |
| o CSV-125: No longer works with Java 6 |
| o CSV-122: NullPointerException when empty header string and null string of "". |
| Thanks to Mike Lewis. |
| o CSV-118: CSVRecord.toMap() throws NPE on formats with no |
| headers. Thanks to Enrique Lara. |
| o CSV-113: Check whether ISE/IAE are being used appropriately |
| o CSV-114: CSVFormat constructor should reject a header array with duplicate |
| entries |
| o CSV-112: HeaderMap is inconsistent when it is parsed from an input with |
| duplicate columns names |
| o CSV-111: CSVRecord.toMap() fails if row length shorter than header length |
| o CSV-106: CSVFormat.format allways append null |
| o CSV-100: CSVParser: getHeaderMap throws NPE |
| o CSV-53: CSVRecord does not verify that the length of the header mapping |
| matches the number of values |
| o CSV-54: Confusing semantic of the ignore leading/trailing spaces parameters |
| o CSV-34: CSVFormat describes itself as immutable, but it is not - in |
| particular it is not thread-safe |
| o CSV-36: Endless loops in CSV parser |
| o CSV-13: NullPointerException in CSVPrinter.print()/println() |
| o CSV-23: Excel strategy uses wrong separator |
| |
| CHANGES |
| ======= |
| |
| o CSV-117: Validate format parameters in constructor |
| o CSV-42: Lots of possible changes Thanks to Bob Smith. |
| o CSV-78: Use Character instead of char for char fields except delimiter |
| o CSV-99: Revert Builder implementation in CSVFormat |
| o CSV-93: Allow the handling of NULL values |
| o CSV-68: Use the Builder pattern for CSVFormat |
| o CSV-84: Clarify comment handling |
| o CSV-25: CSVParser.nextValue() seems pointless |
| o CSV-97: Allow the String value for null to be customized for the CSV |
| printer |
| o CSV-88: Not possible to create a CSVFormat from scratch |
| o CSV-94: Lexer should only use char fields |
| o CSV-71: Add convenience methods to CSVLexer |
| o CSV-59: Is CharBuffer really needed, now that StringBuilder is available? |
| o CSV-55: Replace while(true)-loop in CSVParser.getRecord with do-while-loop |
| o CSV-45: CSVPrinter overhaul |
| o CSV-49: CSVStrategy has modifiable public static variables Thanks to Bob Smith. |
| o CSV-46: Reduce visibility of methods in internal classes |
| o CSV-26: ExtendedBufferedReader does too much |
| o CSV-27: Decide whether to keep the csv.writer subpackage |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| |
| For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Commons CSV website: |
| |
| https://commons.apache.org/proper/commons-csv/ |
| |
| Have fun! |
| -Apache Commons CSV team |
| |