Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump kotlinx-serialization from 1.1.0 to 1.2.0 #853

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 27, 2021

Bumps kotlinx-serialization-json-jvm from 1.1.0 to 1.2.0.

Changelog

Sourced from kotlinx-serialization-json-jvm's changelog.

1.2.0 / 2021-04-27

This release contains a lot of new features and important improvements listed below; Kotlin 1.5.0 is used as a default compiler and language version.

JSON performance improvements

JSON encoder and decoder were revisited and significantly rewritten, which lead us to up to 2-3x times speedup in certain cases. Additional details can be found in the corresponding issues: [1], [2].

Ability to specify alternative names during JSON decoding

The one of the most voted issues is fixed now — it is possible to specify multiple names for one property using new @JsonNames annotation. Unlike @SerialName, it only affects JSON decoding, so it is useful when dealing with different versions of the API. We've prepared a documentation for you about it.

JsonConfiguration in public API

JsonConfiguration is exposed as a property of Json instance. You can use it to adjust behavior in your custom serializers. Check out more in the corresponding issue and the PR.

Generator for .proto files based on serializable Kotlin classes

Our implementation of Protocol Buffers format uses @Serializable Kotlin classes as a source of schema. This is very convenient for Kotlin-to-Kotlin communication, but makes interoperability between languages complicated. To resolve this issue, we now have a schema generator that can produce .proto files out of Kotlin classes. Using it, you can keep Kotlin classes as a source of truth and use traditional protoc compilers for other languages at the same time. To learn more, check out the documentation for the new ProtoBufSchemaGenerator class or visit the corresponding PR.

Note: this generator is on its experimental stage and any feedback is very welcomed.

Contextual serialization of generic classes

Before 1.2.0, it was impossible to register context serializer for generic class, because contextual function accepted a single serializer. Now it is possible to register a provider — lambda that allows to construct a serializer for generic class out of its type arguments serializers. See the details in the documentation.

Other features

  • Support for watchosX64 target (#1366).
  • Introduce kotlinx-serialization-bom (#1356).
  • Support serializer on JS IR when T is an interface (#1431).

... (truncated)

Commits
  • fc9343f Update Kotlin and add changelog for 1.2.0 (#1436)
  • 75566cc Generator for .proto files based on serializable Kotlin classes (#1255)
  • 38adb1b Support serializer<T> on JS IR when T is an interface (#1431)
  • f8f37a3 Merge remote-tracking branch 'origin/master' into dev
  • c6025c9 Support contextual serialization of generic classes (#1416)
  • 59d3216 Make JsonConfiguration public and expose it for custom serializers (#1409)
  • 436cf83 Replace Array<String> in JsonNames with vararg
  • f7b7f19 Fix incorrect skipElement() when string literals contain ] or }
  • 6087755 Add @​JsonNames annotation
  • 83d0faa Fix serializer lookup by KType for third party generics (#1397)
  • 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)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Apr 27, 2021
@codecov
Copy link

codecov bot commented Apr 27, 2021

Codecov Report

Merging #853 (c461d80) into master (a13f019) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #853   +/-   ##
=========================================
  Coverage     83.94%   83.94%           
  Complexity     2308     2308           
=========================================
  Files           100      100           
  Lines          5893     5893           
  Branches       1739     1739           
=========================================
  Hits           4947     4947           
  Misses          261      261           
  Partials        685      685           
Flag Coverage Δ Complexity Δ
unittests 83.94% <ø> (ø) 2308.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b43176b...c461d80. Read the comment docs.

@dependabot dependabot bot force-pushed the dependabot/maven/org.jetbrains.kotlinx-kotlinx-serialization-json-jvm-1.2.0 branch 2 times, most recently from bdd8462 to 0cbad0f Compare April 27, 2021 12:07
@petertrr petertrr changed the title Bump kotlinx-serialization-json-jvm from 1.1.0 to 1.2.0 Bump kotlinx-serialization from 1.1.0 to 1.2.0 Apr 27, 2021
@dependabot dependabot bot force-pushed the dependabot/maven/org.jetbrains.kotlinx-kotlinx-serialization-json-jvm-1.2.0 branch 2 times, most recently from 8a066a7 to b1d79d4 Compare April 30, 2021 15:54
@dependabot dependabot bot force-pushed the dependabot/maven/org.jetbrains.kotlinx-kotlinx-serialization-json-jvm-1.2.0 branch 2 times, most recently from 282017b to e28a477 Compare May 11, 2021 07:11
@petertrr petertrr added this to the 0.6.0 milestone May 11, 2021
@dependabot dependabot bot force-pushed the dependabot/maven/org.jetbrains.kotlinx-kotlinx-serialization-json-jvm-1.2.0 branch from e28a477 to 5f13715 Compare May 13, 2021 08:44
@petertrr petertrr merged commit 149c31e into master May 13, 2021
@petertrr petertrr deleted the dependabot/maven/org.jetbrains.kotlinx-kotlinx-serialization-json-jvm-1.2.0 branch May 13, 2021 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant