All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Update to Kotlin 2.1.0 (🏅 kudos to theyoz).
- Update to Kotlinx-Serialization 1.7.3.
- Make
CsvConfig
public. - Support for streaming via Reader and Appendable (🏅 kudos to UnknownJoe796).
- Handle Microsoft Excel's insistence on using a byte order marker (🏅 kudos to UnknownJoe796).
- Asynchronous/Streaming support via
CsvRecordReader
andCsvRecordWriter
(🏅 kudos to UnknownJoe796).
- Removed
Csv(from: Csv, action: CsvBuilder.() -> Unit)
(usefrom.configure {}
instead).
Csv {}
builder function to configure Csv instance.
- Use Unix newline (
\n
) as defaultrecordSeparator
(useCsv { recordSeparator = "\r\n" }
orCsv.Rfc4180
for old behavior). - Using
QuoteMode.NONE
requiresescapeChar
to be set manually (useCsv { quoteMode = QuoteMode.NONE ; escapeChar = '\\' }
for old behavior). - Last line in CSV is always ignored when empty.
- Throws
SerializationException
instead ofIllegalStateException
in case of error.
- Removed
CsvConfiguration
(useCsv {}
builder function instead). - Removed
Csv.default
(useCsv { recordSeparator = "\r\n" }
instead). - Removed
Csv.rfc4180
(useCsv.Rfc4180
instead). - Removed
Csv.excel
(useCsv.Rfc4180
instead).
- Support
ignoreUnknownColumns
.
- Update to Kotlin Serialization
1.0.0
.
- Source compatibility with Java 8.
- Update to Kotlin Serialization
1.0.0-RC2
.
- Compatibility with Kotlin Serialization
1.0.0-RC
.
- Compatibility with Kotlin Serialization
0.20.0
. - (De-)Serialization of sealed classes no longer reads/writes columns for objects.
- String for
kotlin.Unit
can no longer be provided and theUnit
object is handled as any other object.
- Initial release for Kotlin Serialization
0.14.0
.