Skip to content

Releases: charleskorn/kaml

0.16.1

07 Mar 03:58
0.16.1
bb27f4f
Compare
Choose a tag to compare

Note: version 0.16.0 was never released due to issues with the release process.

What's changed

  • Updated: kaml is now built against Kotlin 1.3.70 and kotlinx.serialization 0.20, and no longer depends on internal APIs from kotlinx.serialization (thanks to @EdwarDDay and @HeartPattern for the PRs)

Upgrading

If you're using Gradle, reference kaml in your dependencies block like this:

implementation("com.charleskorn.kaml:kaml:0.16.1")

For other tools, refer to the Maven Central release page for more information.

0.15.0

21 Nov 09:23
0.15.0
db80199
Compare
Choose a tag to compare

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

29 Sep 10:25
0.14.0
65c03d3
Compare
Choose a tag to compare

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

31 Aug 07:46
0.13.0
f375bcf
Compare
Choose a tag to compare

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

14 Aug 11:48
0.12.0
795ada3
Compare
Choose a tag to compare

What's changed

  • New: kaml now supports omitting default values from written YAML. Use a YamlConfiguration instance with encodeDefaults set to false 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 with strictMode set to false to ignore unknown fields. (#5 - thanks to @fvasco for the suggestion)
  • Changed: extensionDefinitionPrefix is now a property of YamlConfiguration instead of Yaml.
  • 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

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.