All Versions
10
Latest Version
Avg Release Cycle
34 days
Latest Release
68 days ago

Changelog History

  • v0.15.0

    November 21, 2019

    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.

  • v0.14.0

    September 29, 2019

    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.

  • v0.13.0

    August 31, 2019

    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.

  • v0.12.0

    August 14, 2019

    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.

  • v0.11.0

    May 22, 2019

    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.

  • v0.10.0

    April 26, 2019

    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.

  • v0.9.0

    April 15, 2019

    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.

  • v0.8.0

    March 09, 2019

    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 taskstasks: build-app: group: \*buildcommand: build.sh appbuild-lib: group: \*buildcommand: build.sh libtest-app: group: \*testcommand: test.sh apptest-lib: group: \*testcommand: 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.

  • v0.7.0

    February 02, 2019

    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.

  • v0.6.0

    January 23, 2019

    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.