Release Notes withNullString value is printed without quotes when QuoteMode.ALL is specified; add QuoteMode.ALL_NON_NULL. PR #17. Fix outdated comments about FileReader in CSVParser #13 Fix incorrect method name 'withFirstRowAsHeader' in user guide. Negative numeric values in the first column are always quoted in minimal mode. Update platform requirement from Java 6 to 7. Do not use RuntimeException in CSVParser.iterator().new Iterator() {...}.getNextRecord() CSVParser: Add factory method accepting InputStream. Add convenience API CSVFormat.print(File, Charset) Add convenience API CSVFormat.print(Path, Charset) Add convenience API CSVParser.parse(Path, Charset, CSVFormat) Add convenience API CSVFormat#printer() to print to System.out Provide a CSV Format for printing PostgreSQL CSV and Text formats. Make CSVPrinter.print(Object) GC-free. Allow some printing operations directly from CSVFormat. Drop ferc.gov tests. Add shortcut method for using first record as header to CSVFormat Add withHeader(Class<? extends Enum>) to CSVFormat Comment line hides next record; update Javadoc to make behaviour clear CSVPrinter doesn't skip creation of header record if skipHeaderRecord is set to true Add IgnoreCase option for accessing header names The null string should be case-sensitive when reading records CSVFormat.nullString should not be escaped CSVFormat.MYSQL nullString should be "\N" Fix Javadoc to say CSVFormat with() methods return a new CSVFormat Support for ignoring trailing delimiter. Support trimming leading and trailing blanks. Create default formats for Informix UNLOAD and UNLOAD CSV. CSVFormat.with* methods clear the header comments Incorrect Javadoc on QuoteMode.NONE Add enum CSVFormat.Predefined that contains the default CSVFormat values. 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