Skip to content

Releases: charleskorn/kaml

0.59.0

23 Apr 05:14
0.59.0
Compare
Choose a tag to compare
  • New: it is now possible to change the default 3 MB input document size limit by setting YamlConfiguration.codePointLimit (#543 - thanks to @sschuberth for the PR)
  • Updated: use Okio 3.9.0
  • Updated: use snakeyaml-engine-kmp 2.7.5

0.58.0

20 Mar 06:10
24e1c02
Compare
Choose a tag to compare
  • Changed: kaml now uses snakeyaml-engine-kmp for all targets, rather than using SnakeYAML for the JVM and snakeyaml-engine-kmp for JS. (#507 - thanks to @krzema12 and @aSemy for the PR)

    As snakeyaml-engine-kmp is a port of SnakeYAML to multiplatform Kotlin, there should be no major behaviour differences.

    ⚠️ Breaking change: Yaml.decodeFromStream() no longer supports anything other than UTF-8 streams, as this is not supported by Okio. If this is a problem for you, please open an issue to discuss your use case.

  • Updated: use Okio 3.8.0

  • Updated: use kotlinx.serialization 1.6.3

  • Updated: use Kotlin 1.9.23

  • Updated: use snakeyaml-engine-kmp 2.7.3

0.57.0

14 Jan 08:23
2f0de20
Compare
Choose a tag to compare
  • New: Kaml now supports serializing polymorphic types without serializing any type information (ie. without a type property or tag). Set polymorphismStyle to PolymorphismStyle.None to use this feature. (#494 - thanks to @ZacSweers for the PR)
  • Updated: use Okio 3.7.0
  • Updated: use Kotlin 1.9.22

0.56.0

10 Dec 02:53
9d7c47f
Compare
Choose a tag to compare
  • Updated: use SnakeYAML 2.7
  • Updated: use Okio 3.6.0
  • Updated: use kotlinx.serialization 1.6.2
  • Updated: use Kotlin 1.9.21
  • Updated: use snakeyaml-engine-kmp 2.7.1

0.55.0

30 Jul 00:11
0.55.0
Compare
Choose a tag to compare
  • New: add experimental support for Kotlin/JS (thanks to @krzema12 and @russellbanks for the PRs)

  • Updated: build with Kotlin 1.9.0

  • Updated: use Okio 3.4.0

0.54.0

28 May 00:10
390c7f5
Compare
Choose a tag to compare
  • New: add support for naming strategies, similar to the feature in kotlinx.serialization's JSON support (#400 - thanks to @russellbanks for the PR)

    This makes it easy to use different field naming schemes such as snake_case, kebab-case, PascalCase, and camelCase without needing to modify the corresponding Kotlin property names or annotate properties with @SerialName.

  • Updated: build with Kotlin 1.8.21

  • Changed: remove unnecessary stdlib dependency (#421 - thanks to @russellbanks for the PR)

0.53.0

18 Mar 01:33
5f82a2d
Compare
Choose a tag to compare
  • Changed (⚠️ potentially breaking change): default to not parsing anchors and aliases to prevent billion laughs attacks (GHSA-c24f-2j3g-rg48 - thanks to @gdude2002 for reporting this offline)

    If your application needs to support anchors and aliases, enable them by setting YamlConfiguration.allowAnchorsAndAliases to true.

0.52.0

25 Feb 01:16
a9fcb95
Compare
Choose a tag to compare
  • Updated: use Kotlin 1.8.10
  • Updated: use kotlinx.serialization 1.5.0

0.51.0

28 Jan 23:10
f4e94d1
Compare
Choose a tag to compare
  • New: added SingleLineStringStyle.PlainExceptAmbiguous to automatically quote strings that may be interpreted as numeric or boolean values (#371 - thanks to @russellbanks for the PR)

0.50.0

21 Jan 21:52
bd2b8d4
Compare
Choose a tag to compare
  • New: add Yaml.decodeFromYamlNode() method to deserialize an object from a previously read YamlNode instance (#369 - thanks to @dellisd for the PR)
  • Updated: use kotlinx.serialization 1.4.1
  • Updated: use Kotlin 1.8.0
  • Updated: use snakeyaml-engine 2.6