Skip to content

Releases: charleskorn/kaml

0.11.0

22 May 10:24
0.11.0
87f26d7
Compare
Choose a tag to compare

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

26 Apr 08:03
0.10.0
431a09d
Compare
Choose a tag to compare

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

15 Apr 11:26
0.9.0
a556d4b
Compare
Choose a tag to compare

What's changed

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

09 Mar 21:20
Compare
Choose a tag to compare
0.8.0 Pre-release
Pre-release

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 setting extensionDefinitionPrefix when creating an instance of Yaml.

    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

02 Feb 11:27
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release

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

23 Jan 23:36
Compare
Choose a tag to compare
0.6.0 Pre-release
Pre-release

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

19 Jan 22:56
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release

What's changed

  • New: kaml now supports serializing Kotlin objects to YAML. Call Yaml.default.serialize(serializer, input) to convert input to YAML using serializer.

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

02 Jan 00:29
Compare
Choose a tag to compare
0.4.0 Pre-release
Pre-release

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, the Yaml object is no longer an object and is instead a class. To get the default Yaml instance, use Yaml.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

26 Dec 04:04
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

What's changed

  • Changed: YAML has been renamed to Yaml, in line with the recent kotlinx.serialization release (where JSON was renamed to Json).

  • 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

23 Dec 23:21
Compare
Choose a tag to compare
0.2.1 Pre-release
Pre-release

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.