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