Releases: charleskorn/kaml
0.15.0
What's changed
- Updated: kaml is now built against Kotlin 1.3.60 and kotlinx.serialization 0.14.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.15.0")
For other tools, refer to the Maven Central release page for more information.
0.14.0
What's changed
- New: kaml now supports polymorphic serialization (#4, #7 and #10 - thanks to @frzme for the suggestion and to @EdwarDDay for the PRs to implement it)
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.14.0")
For other tools, refer to the Maven Central release page for more information.
0.13.0
What's changed
- Fixed: The issue where parsing a nullable list, map or object would fail with a
InvalidPropertyValueException
has been fixed (#6 - thanks to @Will3333 for the issue report) - Updated: kaml is now built against Kotlin 1.3.50 and kotlinx.serialization 0.12.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.13.0")
For other tools, refer to the Maven Central release page for more information.
0.12.0
What's changed
- New: kaml now supports omitting default values from written YAML. Use a
YamlConfiguration
instance withencodeDefaults
set tofalse
to omit default values. (#3 - thanks to @bjonnh for the PR) - New: kaml now supports non-strict parsing of YAML to objects, which means it will ignore unknown fields instead of throwing an exception. Use a
YamlConfiguration
instance withstrictMode
set tofalse
to ignore unknown fields. (#5 - thanks to @fvasco for the suggestion) - Changed:
extensionDefinitionPrefix
is now a property ofYamlConfiguration
instead ofYaml
. - Updated: kaml is now built against Kotlin 1.3.41.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.12.0")
For other tools, refer to the Maven Central release page for more information.
0.11.0
What's changed
- New: kaml will now provide a better error message when a map or list is given when a scalar value is expected or vice versa, rather than cryptic messages like
Size must be known in advance when using READ_ALL
.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.11.0")
For other tools, refer to the Maven Central release page for more information.
0.10.0
What's changed
- Updated: kaml is now built against Kotlin 1.3.31
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.10.0")
For other tools, refer to the Maven Central release page for more information.
0.9.0
What's changed
- Updated: kaml is now built against Kotlin 1.3.30
- Updated: kaml is now built against kotlinx.serialization 0.11.0
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.9.0")
For other tools, refer to the Maven Central release page for more information.
0.8.0
What's changed
-
New: kaml now supports aliases and anchors
-
New: kaml now supports merging aliases into a map
-
New: kaml now supports Docker Compose-style extensions
This allows users to define values used in multiple places once, and reference them throughout their document, for example:
.build: &build Build tasks .test: &test Test tasks tasks: build-app: group: *build command: build.sh app build-lib: group: *build command: build.sh lib test-app: group: *test command: test.sh app test-lib: group: *test command: test.sh lib
Specify the extension prefix (such as
x-
or.
) by settingextensionDefinitionPrefix
when creating an instance ofYaml
.Extensions can only be defined at the top level of a document, and only if the top level element is a map or object. Any key starting with the extension prefix must have an anchor defined and will not be included in the deserialised value.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.8.0")
For other tools, refer to the Maven Central release page for more information.
0.7.0
What's changed
- Updated: kaml is now compiled against kotlinx.serialization 0.10.0.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.7.0")
For other tools, refer to the Maven Central release page for more information.
0.6.0
What's changed
- Updated: kaml is now compiled against Kotlin 1.3.20.
- Changed:
YamlInput
is now publicly accessible, to allow custom serializers to access location information during deserialization, which is useful to include in error messages. This is a reversion of the change in 0.5.0.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.6.0")
For other tools, refer to the Maven Central release page for more information.