Skip to content

Bump kotlinx-serialization-runtime from 0.14.0 to 0.20.0 in /sample#235

Open
dependabot-preview[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/sample/org.jetbrains.kotlinx-kotlinx-serialization-runtime-0.20.0
Open

Bump kotlinx-serialization-runtime from 0.14.0 to 0.20.0 in /sample#235
dependabot-preview[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/sample/org.jetbrains.kotlinx-kotlinx-serialization-runtime-0.20.0

Conversation

@dependabot-preview

@dependabot-preview dependabot-preview Bot commented Mar 5, 2020

Copy link
Copy Markdown

Bumps kotlinx-serialization-runtime from 0.14.0 to 0.20.0.

Changelog

Sourced from kotlinx-serialization-runtime's changelog.

0.20.0 / 2020-03-04

Release notes

0.20.0 release is focused on giving a library its final and stable API shape.

We have carefully evaluated every public declaration and decided whether it should be publicly available. As a result, some declarations were deprecated with an intention of removing them from public API because they are going to be replaced with others, more valuable and useful for users.

Deprecated symbols include:

  • Pre-defined JSON instances like nonStrictstrictMode was split to 3 separate, more granular, flags. Users are encouraged to create their own configuration;
  • Top-level serializers like IntSerializer and ArrayListSerializer. They were replaced with constructor-like factory functions.
  • SerialClassDescImpl creation class replaced with SerialDescriptor builder function to ease writing of custom serializers and maintain SerialDescriptor contract.
  • Internal utilities, like HexConverter and ByteBuffer, were deprecated as not relevant to serialization public API.
  • Add-on formats like Protobuf, CBOR and Properties (formerly Mapper) are now extracted to separate artifacts to keep the core API lightweight.

We have spent a lot of effort into the quality, documenting most of the core interfaces, establishing their contracts, fixing numerous of bugs, and even introducing new features that may be useful for those of you who write custom serializers — see JsonTransformingSerializer.

Such API changes, of course, may be not backwards-compatible in some places, in particular, between compiler plugin and runtime. Given that the library is still is in the experimental phase, we took the liberty to introduce breaking changes in order to give users the better, more convenient API. Therefore, this release has number 0.20.0 instead of 0.15.0; Kotlin 1.3.70 is compatible only with this release.

To migrate:

  1. Replace import kotlinx.serialization.internal.* with import kotlinx.serialization.builtins.*. This action is sufficient for most of the cases, except primitive serializers — instead of using IntSerializer, use Int.serializer(). For other object-like declarations, you may need to transform it to function call: ByteArraySerializer => ByteArraySerializer().

  2. Pay attention to the changed JsonConfiguration constructor arguments: instead of strictMode, now three different flags are available: ignoreUnknownKeys, isLenient, and serializeSpecialFloatingPointValues.

  3. If you used formats other than JSON, make sure you've included the corresponding artifact as dependency, because now they're located outside of core module. See formats list for particular artifact coordinates.

  4. Other corresponding deprecation replacements are available via standard @Deprecated(replaceWith=..) mechanism. (use Alt+Enter for quickfix replacing).

Full changelog (by commit):

  • This release is compatible with Kotlin 1.3.70
  • Rework polymorphic descriptors: polymorphic and sealed descriptor elements are now aligned with an actual serialization process (#731)
... (truncated)
Commits
  • 93d38e2 Update documentation and changelog, add migration list
  • 44cf913 Clarify SerialDescriptor.serialName contract
  • 6eed027 After-merge fix
  • ddbc966 Merge remote-tracking branch 'origin/master' into dev
  • 4a51489 Make IAE during sealed class serializer instantiation more approachable, enha...
  • 2449d9f Rework polymorphic descriptors:
  • 74858f6 Upgrade to 1.3.70
  • 530ee1d Update RELEASING.md
  • 2af2baa Hide internal collection and map serializers, use deprecation suppression in ...
  • 33a5d41 Get rid of weird Map contract from TreeJsonOutput, enable proper map-like sup...
  • 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 will not automatically merge this PR because this dependency is pre-1.0.0.


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 use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

@dependabot-preview dependabot-preview Bot added the dependencies Pull requests that update a dependency file label Mar 5, 2020
@dependabot-preview dependabot-preview Bot force-pushed the dependabot/gradle/sample/org.jetbrains.kotlinx-kotlinx-serialization-runtime-0.20.0 branch 2 times, most recently from 0103ca2 to b901f08 Compare March 24, 2020 09:19
@dependabot-preview dependabot-preview Bot force-pushed the dependabot/gradle/sample/org.jetbrains.kotlinx-kotlinx-serialization-runtime-0.20.0 branch from b901f08 to 717d7ee Compare July 1, 2021 08:15
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants