Releases: eav-eav-eav/tomlkt
Releases · eav-eav-eav/tomlkt
Release list
tomlkt 0.6.1
tomlkt 0.6.0 (IMPORTANT)
Change
- Changed root domain to
dev.eav - Fixed a bug when parsing
Longvalue whereLong.MIN_VALUEthrows exception. (#81)
tomlkt 0.5.0
tomlkt 0.4.0
tomlkt 0.3.7
New
- Add extensions to
(TomlArray|TomlTable).getfor easier access to entries. - Add
TomlArrayBuilderandTomlTableBuilderfor dynamic construction.- Add
buildTomlArrayandbuildTomlTableas shorthand. - Add extensions to
(TomlArrayBuilder|TomlTableBuilder).elementfor easier population.
- Add
Change
- Now a super-table can be defined after a sub-table without causing
ConflictEntryException. - Fix a bug in
TomlElementEncoderwhereTomlElementfamily does not bypass the encoding process withencodeTomlElement. - Major performance improvement in
TomlElementParser(originallyTomlFileParser).
tomlkt 0.3.6
New
- Add
(TomlArray|TomlTable).annotationsfor storing metadata (@SerialInfoannotations).- Add
(TomlArray|TomlTable).(annotated|annotatedAll)extensions for adding metadata manually.
- Add
- Add linuxArm64 target. (#56)
Change
- Refactor encoding process.
- Now
TomlElementEncoderwill transfer@SerialInfoannotations from properties to(TomlArray|TomlTable).annotations. - Now all the tables and array of tables will be encoded as non-inline eagerly (as long as it is not annotated with
@TomlInline). - Now
NullInArrayOfTableExceptionandEmptyArrayOfTableInMapExceptiondon't exist anymore. - Fix a bug in table-like encoding when an empty array of table is after a table-like.
- Now
val table = TomlTable(
"string" to TomlArray(
TomlTable(
1 to true
),
TomlTable(
'c' to Float.POSITIVE_INFINITY
)
),
"key" to TomlTable(
false to 114514L
),
1.0 to null
)
Toml.encodeToString(table)
/*
"1.0" = null
[key]
false = 114514
[[string]]
1 = true
[[string]]
c = inf
*/tomlkt 0.3.5
New
- Add
TomlInteger.groupfor grouping digits. - Add
TomlConfigBuilder.uppercaseIntegerfor uppercasing letters in integers. - Enhance
TomlWriterwith more functions for better control over encoding.- Add
AbstractTomlWriteras basic implementation ofTomlWriter.
- Add
tomlkt 0.3.4
Change
- Fix a bug in
\rdecoding. (#51)
tomlkt 0.3.3
New
- Add
TomlReaderfor sequential parsing.- Add
TomlStringReader,TomlNativeReader(JVM) as implementation. - Add
Toml.parseToTomlTable(TomlReader),Toml.decodeFromReader,Toml.decodeFromNativeReader(JVM) for convenience.
- Add
- Add
TomlNativeWriter(JVM) andToml.encodeToNativeWriter(JVM) for better JVM integration. - Add
TomlContentPolymorphicSerializerfor polymorphic serialization without class discriminator. - Add
TomlConfig.explicitNullsso that during encoding any entry with null value is ignored and during decoding any nullable property without default value is set to null automatically. - Add
TomlEncoder.toml,TomlDecoder.tomlfor referring to theTomlinstance. - Add contracts in various type checks.
Change
- Fix a bug in
TomlLiteraltoDoubleconversion.
tomlkt 0.3.2
New
- Add official JSON format like polymorphism serialization.
- Add
TomlConfigBuilder.classDiscriminatorand@TomlClassDiscriminatorfor changing the key of the class discriminator.
- Add
- Add support for accessing values of a TomlArray by index in
TomlTable.get(keys). - Add a
Toml.decodeFromStringoverload withkeysparameter for only deserializing a certain part of a TOML file. - Add
TomlArray(values)andTomlTable(entries)overloads to reduce the redundance when creating instances manually.
Change
- Fix a bug in nested table encoding when the super-table is structured and the sub-table is unstructured.
- Unify class and object serialization.
- Major refactor in encoders and decoders.