dcampogiani / ktmp

Kotlin Multi Platform experiments
6 stars 1 forks source link

build(deps): bump kotlinx-serialization-json from 1.3.3 to 1.4.1 #173

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps kotlinx-serialization-json from 1.3.3 to 1.4.1.

Release notes

Sourced from kotlinx-serialization-json's releases.

1.4.1

This patch release contains several bug fixes and improvements. Kotlin 1.7.20 is used by default.

Improvements

  • Add @​MustBeDocumented to certain annotations (#2059)
  • Deprecate .isNullable in SerialDescriptor builder (#2040)
  • Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#1992)
  • Serializers are now cached inside reflective lookup, leading to faster serializer retrieval (#2015)
  • Compiler plugin can create enum serializers using static factories for better speed (#1851) (Kotlin 1.7.20 required)
  • Provide a foundation for compiler plugin intrinsics available in Kotlin 1.8.0 (#2031)

Bugfixes

  • Support polymorphism in Properties format (#2052) (thanks to Rodrigo Vedovato)
  • Added support of UTF-16 surrogate pairs to okio streams (#2033)
  • Fix dependency on core module from HOCON module (#2020) (thanks to Osip Fatkullin)

1.4.0

This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below). Kotlin 1.7.10 is used as a default.

Bugfixes

  • Fixed decoding of huge JSON data for okio streams (#2006)

1.4.0-RC

This is a candidate for the next big release with many new exciting features to try. It uses Kotlin 1.7.10 by default.

Integration with Okio's BufferedSource and BufferedSink

Okio library by Square is a popular solution for fast and efficient IO operations on JVM, K/N and K/JS. In this version, we have added functions that parse/write JSON directly to Okio's input/output classes, saving you the overhead of copying data to String beforehand. These functions are called Json.decodeFromBufferedSource and Json.encodeToBufferedSink, respectively. There's also decodeBufferedSourceToSequence that behaves similarly to decodeToSequence from Java streams integration, so you can lazily decode multiple objects the same way as before.

Note that these functions are located in a separate new artifact, so users who don't need them wouldn't find themselves dependent on Okio. To include this artifact in your project, use the same group id org.jetbrains.kotlinx and artifact id kotlinx-serialization-json-okio. To find out more about this integration, check new functions' documentation and corresponding pull requests: #1901 and #1982.

Inline classes and unsigned numbers do not require experimental annotations anymore

Inline classes and unsigned number types have been promoted to a Stable feature in Kotlin 1.5, and now we are promoting support for them in kotlinx.serialization to Stable status, too. To be precise, we've removed all @ExperimentalSerializationApi annotations from functions related to inline classes encoding and decoding, namely SerialDescriptor.isInline, Encoder.encodeInline, and some others. We've also updated related documentation article.

Additionally, all @ExperimentalUnsignedTypes annotations were removed completely,

... (truncated)

Changelog

Sourced from kotlinx-serialization-json's changelog.

1.4.1 / 2022-10-14

This is patch release contains several bugfixes and improvements. Kotlin 1.7.20 is used by default.

Improvements

  • Add @​MustBeDocumented to certain annotations (#2059)
  • Deprecate .isNullable in SerialDescriptor builder (#2040)
  • Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#1992)
  • Serializers are now cached inside reflective lookup, leading to faster serializer retrieval (#2015)
  • Compiler plugin can create enum serializers using static factories for better speed (#1851) (Kotlin 1.7.20 required)
  • Provide foundation for compiler plugin intrinsics available in Kotlin 1.8.0 (#2031)

Bugfixes

  • Support polymorphism in Properties format (#2052) (thanks to Rodrigo Vedovato)
  • Added support of UTF-16 surrogate pairs to okio streams (#2033)
  • Fix dependency on core module from HOCON module (#2020) (thanks to Osip Fatkullin)

1.4.0 / 2022-08-18

This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below). Kotlin 1.7.10 is used as a default.

Bugfixes

  • Fixed decoding of huge JSON data for okio streams (#2006)

1.4.0-RC / 2022-07-20

This is a candidate for the next big release with many new exciting features to try. It uses Kotlin 1.7.10 by default.

Integration with Okio's BufferedSource and BufferedSink

Okio library by Square is a popular solution for fast and efficient IO operations on JVM, K/N and K/JS. In this version, we have added functions that parse/write JSON directly to Okio's input/output classes, saving you the overhead of copying data to String beforehand. These functions are called Json.decodeFromBufferedSource and Json.encodeToBufferedSink, respectively. There's also decodeBufferedSourceToSequence that behaves similarly to decodeToSequence from Java streams integration, so you can lazily decode multiple objects the same way as before.

Note that these functions are located in a separate new artifact, so users who don't need them wouldn't find themselves dependent on Okio. To include this artifact in your project, use the same group id org.jetbrains.kotlinx and artifact id kotlinx-serialization-json-okio. To find out more about this integration, check new functions' documentation and corresponding pull requests: #1901 and #1982.

... (truncated)

Commits
  • d7e58c2 Prepare 1.4.1 release (#2063)
  • de6864a Merge remote-tracking branch 'origin/master' into dev
  • 0a1b6d8 Fix minor documentation and comment typos (#2061)
  • 0f35682 Fix incorrect behavior while deserializing maps to sealed classes (#2052)
  • dc9983a Update test assertions to use IntelliJ "Click to see difference" format (#2062)
  • cb6bcbb Add @​MustBeDocumented to certain annotations
  • 182c53e Add documentation on using typealias for means of global configuration
  • 98529cd Remove kotlin.Experimental from opt-ins as it would be removed in 1.8.20
  • 687d917 Updated builtin-classes.md to mention Duration
  • e311eb8 Added support for the unsigned primitives and arrays as built-in
  • 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 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)