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 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) 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 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 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 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 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 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 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 Apache Commons CSV website: https://commons.apache.org/proper/commons-csv/ Have fun! -Apache Commons CSV team