|
| 1 | + Apache Commons CSV |
| 2 | + Version 1.9.0 |
| 3 | + Release Notes |
| 4 | + |
| 5 | + |
| 6 | +INTRODUCTION: |
| 7 | + |
| 8 | +This document contains the release notes for the 1.9.0 version of Apache Commons CSV. |
| 9 | +Commons CSV reads and writes files in variations of the Comma Separated Value (CSV) format. |
| 10 | + |
| 11 | +Commons CSV requires at least Java 8. |
| 12 | + |
| 13 | +The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types. |
| 14 | + |
| 15 | +Feature and bug fix release (Java 8) |
| 16 | + |
| 17 | +Changes in this version include: |
| 18 | + |
| 19 | +NEW FEATURES |
| 20 | +============ |
| 21 | + |
| 22 | +o CSV-275: Make CSVRecord#toList() public. Thanks to Michael Wyraz, Gary Gregory. |
| 23 | +o Add CSVRecord#stream(). Thanks to Gary Gregory. |
| 24 | +o Add CSVParser#stream(). Thanks to Gary Gregory. |
| 25 | +o CSV-184: Make the method CSVRecord.putIn(Map) public. Thanks to Gaurav Agarwal, M. Steiger, Gary Gregory. |
| 26 | +o Add test cases for CSVRecord with get(Enum) and toString. #54. Thanks to dota17. |
| 27 | +o Add and use CSVFormat.Builder, deprecated CSVFormat#with methods, based on #73. Thanks to Gary Gregory, dota17. |
| 28 | +o CSV-206: Add support for String delimiters #76. Thanks to Gary Gregory, dota17. |
| 29 | + |
| 30 | +FIXED BUGS |
| 31 | +========== |
| 32 | + |
| 33 | +o Replace FindBugs with SpotBugs #56. Thanks to Amey Jadiye. |
| 34 | +o Javadoc typo in CSVFormat let's -> lets #57. Thanks to Chen. |
| 35 | +o CSV-259: CSVFormat.printWithEscapes throws StringIndexOutOfBoundsException when value is Reader #61. Thanks to Chen. |
| 36 | +o Improve CSVFormat test coverage #63. Thanks to Chen. |
| 37 | +o Fix CSVFileParserTest.java to allow for a null return value from record.getComment() #62. Thanks to Chen. |
| 38 | +o Improve test coverage in CSVFormatTest #65. Thanks to Chen. |
| 39 | +o Removed invalid Javadoc markup for CSVFormat EXCEL #64. Thanks to Chen. |
| 40 | +o Improve CSVRecord and CSVPrinter code coverage #66. Thanks to Chen. |
| 41 | +o Improve lexer and token coverage #67. Thanks to Chen. |
| 42 | +o CSV-211: CSVFormat.format trims last delimiter if the delimiter is a white space #71. Thanks to Alpesh Kulkarni, Chen. |
| 43 | +o Replace org.apache.commons.csv.Assertions.notNull() with Objects.requireNonNull(). Thanks to Gary Gregory. |
| 44 | +o CSV-149: Line number is not proper at EOF. Thanks to Kranthi, Gary Gregory, Brent Worden, dota17. |
| 45 | +o CSV-195: Parser iterates over the last CSV Record twice. Thanks to Rodolfo Duldulao, Rodolfo Duldulao, Michael Vitz, dota17. |
| 46 | +o CSV-267: Minor improvements #126, #127, #130. Thanks to Arturo Bernal. |
| 47 | +o CSV-123: Add possibility to use ResultSet header meta data as CSV header #11. Thanks to Emmanuel Bourg, Benedikt Ritter, shivakrishnaah, Gary Gregory. |
| 48 | +o CSV-148: Add test cases for withIgnoreSurroundingSpaces() and withTrim() #70. Thanks to dota17. |
| 49 | +o Update CSVParser.parse(File, Charset, CSVFormat) from IO to NIO. Thanks to Gary Gregory. |
| 50 | +o CSV-271: Missing separator with print(object) followed by printRecord(Object[]) #157. Thanks to Amar Prakash Pandey. |
| 51 | +o CSV-158: Fix EOL checking for read array in ExtendedBufferedReader #5. Thanks to Alexander Bondarev, Benedikt Ritter, Gary Gregory, Chen. |
| 52 | +o CSV-263: Print from Reader with embedded quotes generates incorrect output #78. Thanks to Jason A. Guild, Gary Gregory. |
| 53 | +o Replace JUnit assert by simpler but equivalent calls. #159. Thanks to Arturo Bernal. |
| 54 | +o Update gitignore to ignore idea and vscode #160. Thanks to Seth Falco. |
| 55 | +o CSV-281: Update CSVBenchmark #165. Thanks to belugabehr. |
| 56 | +o CSV-283: Remove Whitespace Check Determines Delimiter Twice #167. Thanks to belugabehr. |
| 57 | +o CSV-283: Document and Automate CSV Benchmark Harness #166. Thanks to belugabehr. |
| 58 | +o CSV-279: Optimize Lexer Delimiter Check for One Character Delimiter #163. Thanks to belugabehr. |
| 59 | +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. |
| 60 | +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. |
| 61 | +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. |
| 62 | +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. |
| 63 | +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. |
| 64 | +o CSV-284: Formalize PerformanceTest #168. Thanks to belugabehr. |
| 65 | +o CSV-278: Reuse Buffers in Lexer for Delimiter Detection #162. Thanks to belugabehr. |
| 66 | +o CSV-286: Cleanup and Document Performance Test Harness #170. Thanks to belugabehr. |
| 67 | +o CSV-265: Update buffer position when reading line comment #120. Thanks to belugabehr. |
| 68 | + |
| 69 | +CHANGES |
| 70 | +======= |
| 71 | + |
| 72 | +o Update org.junit.jupiter:junit-jupiter from 5.6.0 to 5.7.0, #84 #109 Thanks to Gary Gregory. |
| 73 | +o Update tests from Apache Commons Lang 3.9 to 3.12.0. Thanks to Gary Gregory. |
| 74 | +o Update tests from commons-io:commons-io 2.6 to 2.11.0, #108. Thanks to Gary Gregory. |
| 75 | +o Bump actions/checkout from v1 to v2.3.4, #79, #92, #121. Thanks to Dependabot. |
| 76 | +o Bump commons-parent from 50 to 51 #80. Thanks to Dependabot. |
| 77 | +o Bump tests from opencsv from 3.1 to 5.5.1 #81, #137, #158. Thanks to Dependabot, Gary Gregory. |
| 78 | +o Update tests from super-csv from 2.2.1 to 2.4.0 #86. Thanks to Gary Gregory. |
| 79 | +o Bump build actions/setup-java from v1.4.0 to v2, #101, #113. Thanks to Dependabot, Gary Gregory. |
| 80 | +o Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #122. Thanks to Dependabot. |
| 81 | +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. |
| 82 | +o Bump actions/cache from v2 to v2.1.6 #132, #153. Thanks to Dependabot. |
| 83 | +o Bump maven-checkstyle-plugin from 3.0.0 to 3.1.2 #131. Thanks to Gary Gregory, Dependabot. |
| 84 | +o Bump checkstyle from 8.29 to 8.44. Thanks to Gary Gregory. |
| 85 | +o Bump junit-jupiter from 5.7.0 to 5.8.0-M1 #133, #149. Thanks to Dependabot, Gary Gregory. |
| 86 | +o Bump commons.jacoco.version from 0.8.5 to 0.8.7 (Java 16). Thanks to Dependabot. |
| 87 | +o Bump commons.spotbugs.version from 4.0.4 to 4.3.0 (Java 16). Thanks to Dependabot. |
| 88 | +o Bump maven-javadoc-plugin from 3.2.0 to 3.3.0. Thanks to Gary Gregory. |
| 89 | +o Bump jmh-generator-annprocess from 1.5.2 to 1.32 #151. Thanks to Dependabot. |
| 90 | +o Bump PMD core from 6.29.0 to 6.36.0. Thanks to Dependabot. |
| 91 | +o Bump biz.aQute.bnd:biz.aQute.bndlib from 5.1.2 to 5.3.0. Thanks to Dependabot. |
| 92 | + |
| 93 | + |
| 94 | +Historical list of changes: https://commons.apache.org/proper/commons-csv/changes-report.html |
| 95 | + |
| 96 | +For complete information on Apache Commons CSV, including instructions on how to submit bug reports, |
| 97 | +patches, or suggestions for improvement, see the Apache Apache Commons CSV website: |
| 98 | + |
| 99 | +https://commons.apache.org/proper/commons-csv/ |
| 100 | + |
| 101 | +Download page: https://commons.apache.org/proper/commons-csv/download_csv.cgi |
| 102 | + |
| 103 | +Have fun! |
| 104 | +-Apache Commons CSV team |
| 105 | + |
| 106 | +------------------------------------------------------------------------------ |
| 107 | + |
1 | 108 | Apache Commons CSV |
2 | 109 | Version 1.8 |
3 | 110 | Release Notes |
|
0 commit comments