Release Notes CSVFormat.with* methods clear the header comments QuoteMode.NON_NUMERIC doesn't work with CSVPrinter.printRecords(ResultSet) CSVFormat#withHeader doesn't work well with #printComment, add withHeaderComments(String...) CSVFormat.EXCEL should ignore empty header names Incorrect Javadoc referencing org.apache.commons.csv.CSVFormat withQuote() Improve toString() implementation of CSVRecord Unified parameter validation Add CSVFormat#with 0-arg methods matching boolean arg methods Save positions of records to enable random access CSVPrinter.printRecord(ResultSet) with metadata No longer works with Java 6 NullPointerException when empty header string and and null string of "" Validate format parameters in constructor IllegalArgumentException thrown when the header contains duplicate names when the column names are empty. CSVFormat#withHeader doesn't work with CSVPrinter CSVFormat is missing a print(...) method CSVRecord.toMap() throws NPE on formats with no headers. Check whether ISE/IAE are being used appropriately CSVFormat constructor should reject a header array with duplicate entries HeaderMap is inconsistent when it is parsed from an input with duplicate columns names CSVRecord.toMap() fails if row length shorter than header length CSVFormat.format allways append null Add Map conversion API to CSVRecord CSVParser: getHeaderMap throws NPE Lots of possible changes Use Character instead of char for char fields except delimiter Revert Builder implementation in CSVFormat CSVRecord does not verify that the length of the header mapping matches the number of values Allow the handling of NULL values Use the Builder pattern for CSVFormat Clarify comment handling CSVParser.nextValue() seems pointless Allow the String value for null to be customized for the CSV printer Not possible to create a CSVFormat from scratch Keep track of record number Lexer should only use char fields Need a way to extract parsed headers, e.g. for use in formatting output Header support Confusing semantic of the ignore leading/trailing spaces parameters Add convenience methods to CSVLexer Is CharBuffer really needed, now that StringBuilder is available? Replace while(true)-loop in CSVParser.getRecord with do-while-loop CSVFormat describes itself as immutable, but it is not - in particular it is not thread-safe Endless loops in CSV parser NullPointerException in CSVPrinter.print()/println() CSVPrinter overhaul Excel strategy uses wrong separator CSVStrategy has modifiable public static variables Predefined format for MYSQL Reduce visibility of methods in internal classes ExtendedBufferedReader does too much Decide whether to keep the csv.writer subpackage