dcampogiani / ktmp

Kotlin Multi Platform experiments
6 stars 1 forks source link

build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.4.1 to 1.6.1 #241

Closed dependabot[bot] closed 11 months ago

dependabot[bot] commented 12 months ago

Bumps org.jetbrains.kotlinx:kotlinx-serialization-json from 1.4.1 to 1.6.1.

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.

1.6.1

This release uses Kotlin 1.9.20 by default, while upcoming 1.9.21 is also supported.

Trailing commas in Json

Trailing commas are one of the most popular non-spec Json variations. A new configuration flag, allowTrailingComma, makes Json parser accept them instead of throwing an exception. Note that it does not affect encoding, so kotlinx.serialization always produces Json without trailing commas. See details in the corresponding PR.

Support of WasmJs target

Kotlin/Wasm has been experimental for some time and gained enough maturity to be added to the kotlinx libraries. Starting with 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can have even more functionality. As usual, just add serialization dependencies to your build and declare wasmJs target. Please remember that Kotlin/Wasm is still experimental, so changes are expected.

Bugfixes and improvements

  • Fix TaggedDecoder nullable decoding (#2456) (thanks to Phillip Schichtel)
  • Fix IllegalAccessException for some JPMS boundaries (#2469)
  • Cbor: check if inline value classes are marked as @ByteString (#2466) (thanks to eater)
  • Improve polymorphic deserialization optimization (#2481)
  • Update Okio dependency to 3.6.0 (#2473)
  • Add protobuf conformance tests (#2404) (thanks to Doğaç Eldenk)
  • Support decoding maps with boolean keys (#2440)

1.6.0

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

  • Improve error messages from Json parser (#2406)
  • Mark @SerialName, @Required and @Transient with @MustBeDocumented (#2407)
  • Ensure that no additional files except java compiler output get into multi-release jar (#2405)
  • Fix enums with negative numbers in protobuf not serializing & de-serializing (#2400) (thanks to Doğaç Eldenk)

1.6.0-RC

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

Some time ago, in Kotlin 1.8, JS IR compiler was promoted to stable and old JS compiler was deprecated. Kotlin 1.9 promotes the usage of deprecated JS compiler to an error. As a result, kotlinx.serialization no longer builds with the legacy compiler and does not distribute artifacts for it. You can read the migration guide for JS IR compiler here.

Also pay attention to the fact that Kotlin/Native also has some deprecated targets that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.6.0 are likely the last releases that support these targets.

Case insensitivity for enums in Json

This release features a new configuration flag for Json: decodeEnumsCaseInsensitive that allows you to decode enum values in a case-insensitive manner. For example, when decoding enum class Foo { VALUE_A , VALUE_B} both inputs "value_a" and "value_A" will yield Foo.VALUE_A. You can read more about this feature in the documentation and corresponding PR.

Other bugfixes and enhancements

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.

1.6.1 / 2023-11-15

This release uses Kotlin 1.9.20 by default, while upcoming 1.9.21 is also supported.

Trailing commas in Json

Trailing commas are one of the most popular non-spec Json variations. A new configuration flag, allowTrailingComma, makes Json parser accept them instead of throwing an exception. Note that it does not affect encoding, so kotlinx.serialization always produces Json without trailing commas. See details in the corresponding PR

Support of WasmJs target

Kotlin/Wasm has been experimental for some time and gained enough maturity to be added to the kotlinx libraries. Starting with 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can have even more functionality. As usual, just add serialization dependencies to your build and declare wasmJs target. Please remember that Kotlin/Wasm is still experimental, so changes are expected.

Bugfixes and improvements

  • Fix TaggedDecoder nullable decoding (#2456) (thanks to Phillip Schichtel)
  • Fix IllegalAccessException for some JPMS boundaries (#2469)
  • Cbor: check if inline value classes are marked as @​ByteString (#2466) (thanks to eater)
  • Improve polymorphic deserialization optimization (#2481)
  • Update Okio dependency to 3.6.0 (#2473)
  • Add protobuf conformance tests (#2404) (thanks to Doğaç Eldenk)
  • Support decoding maps with boolean keys (#2440)

1.6.0 / 2023-08-22

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

1.6.0-RC / 2023-08-03

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

... (truncated)

Commits
  • 79bbd4c Prepare 1.6.1 release (#2503)
  • b2a05a4 Merge remote-tracking branch 'origin/master' into dev
  • cf71e08 Fix TaggedDecoder nullable decoding (#2456)
  • d5bc7f7 Run knit on README.md after ba38b7099e502c16efd30386d18174e3a7aefb3a
  • b44f03f Fix IllegalAccessException (#2469)
  • 919062f Suppress experimental expect/actual warning for verifyKotlinModule task (#2482)
  • fe10d6a Add Gradle properties for disabling project's TC integration (#2483)
  • bfbe6a9 Cbor: check if inline value classes is marked as @​ByteString (#2466)
  • 7d4bb2a Improve polymorphic deserialization optimization: (#2481)
  • cf57414 Add a flag to allow parser to accept trailing commas. (#2480)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 11 months ago

Superseded by #245.