Releases: charleskorn/kaml
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.
0.5.0
What's changed
- New: kaml now supports serializing Kotlin objects to YAML. Call
Yaml.default.serialize(serializer, input)
to convertinput
to YAML usingserializer
.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.5.0")
For other tools, refer to the Maven Central release page for more information.
0.4.0
What's changed
-
New: kaml now supports providing custom serializers at runtime. See the kotlinx.serialization docs for more information.
⚠️ Breaking change: in order to support this, theYaml
object is no longer an object and is instead a class. To get the defaultYaml
instance, useYaml.default
instead.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.4.0")
For other tools, refer to the Maven Central release page for more information.
0.3.0
What's changed
-
Changed:
YAML
has been renamed toYaml
, in line with the recent kotlinx.serialization release (whereJSON
was renamed toJson
). -
Improved: kaml now uses snakeyaml-engine instead of dahgan internally to parse YAML. This means:
- Error messages are significantly better - they are clearer and include context information of where something has gone wrong
- Performance is significantly better - loading times no longer grow exponentially as the document increases in size
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.3.0")
For other tools, refer to the Maven Central release page for more information.
0.2.1
What's changed
This release is identical to 0.2.0 but was re-released due to an issue deploying the artifacts to Maven Central.
Upgrading
If you're using Gradle, reference kaml in your dependencies
block like this:
implementation("com.charleskorn.kaml:kaml:0.2.1")
For other tools, refer to the Maven Central release page for more information.