Releases: uniVocity/univocity-parsers
Maintenance version 2.7.1 with bugfixes
Minor 2.7.0 released
Minor 2.6.4 release
Minor 2.6.3 release - future proofing for new JDK versions
remove dependency on internal JDK's "memberValues" field used when processing @Copy
annotations.
Minor version 2.6.2
Fixed bug in CSV parser
Issue #228 revealed a regression bug on the CSV parser which was introduced in version 2.6.0
The last column of a row would be ignored if it's empty and preceded by a quoted value, e.g.
A row such as "A",
would be parsed as [A]
instead of [A, null]
This new release fixes the bug.
Next minor version 2.6.0 with better performance
Enhacements:
-
CSV parser now parses quoted values ~30% faster
-
CSV format detection process has option provide a list of possible delimiters, in order of priority ( i.e.
settings.detectFormatAutomatically( '-', '.');
) (#214 ) -
CSV writer allows selecting columns that should always have quotes (i.e.
writerSettings.quoteFields("C", "D");
orwriterSettings.quoteIndexes(0, 1, 4, 5);
) (#191) -
Introduced support for selecting and aggregating values in lists of java beans when inputs have repeated header names (#188)
-
Context
class has two new methods for facilitating the usage ofRecord
insideRowProcessor
(#211): -
Adjusting method signatures of AbstractWriter to properly handle writing rows based on collections of objects of any type (from a StackOverflow complaint).
public Record toRecord(String[] row);
public RecordMetaData recordMetaData();
Bugfixes:
Bugfixes and minor enhanchements
Bugfixes
-
#205 OOM on skip lines. AbstractCharInputReader.skipLines
-
#212 Bad results if charset is null in beginParsing
-
#203 CsvRoutines generating empty output with keepResourcesOpen
-
Fixed incorrect behavior processing comment lines at the end of the input, when no line ending is present after the commented out line.
ENHANCEMENTS
-
Introduced the
CompositeProcessor
based on question raised in ticket #206 -
Adjustment on
CsvFormatDetector
to improve chances of detecting delimiters in small inputs. -
Added expectedRowCount parameter to all methods that produce lists of rows, records or beans to prevent slow reallocation operations inside the resulting ArrayList. Useful when processing large inputs.
Minor bug fixes
- Trailing spaces in csv line leads to null instead of empty String (#196)
- On CSV,
keepQuotes
fail to print out closing quote if it's followed by a whitespace and a line ending (#197) - CsvParser does not properly detect delimiter (with setDelimiterDetectionEnabled) (#198)
- Routines' keepResourcesOpen not respected with
writeAll(list of objects)
(#201)
Maintenance release to fix intermittent error
This version was released to bury the intermittent results produced by the parser when processing files and input streams without an explicit character encoding while readInputOnSeparateThread=true
as reported on issue #194
This problem appeared on version 2.5.0 onward and has been plaguing users until version 2.5.6, and is finally gone for good.