Repository navigation
chore(deps): update kotlinx.serialization to v1.12.0 - #7676
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.11.0→1.12.01.11.0→1.12.01.11.0→1.12.01.11.0→1.12.0Release Notes
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-protobuf)
v1.12.0===================
This release is based on Kotlin 2.4.10 and contains all of the changes from 1.12.0-RC.
Additionally, it includes a fix removing unnecessary leading whitespaces from Proguard rules (#3270),
and two changes stabilizing
kotlin.uuid.Uuidserializer (#3263) andkotlin.time.Instantserializers (#3261).API stabilization and deprecations
A big portion of the Json and Core APIs has been stabilized. Most important ones include:
@KeepGeneratedSerializerand@SerialInfoannotations,JsonNamingStrategy, andContextualSerializer.Additionally, various descriptor builders such as
listDescriptorand JsonElementBuilder'saddAllfunctions are alsostable and can be freely used. There is also one deprecation:
ChunkedDecoderinterface. Since there is no demand forit, we plan to remove it in the future. See details in
the #3238, #3239,
and #3216.
Also,
kotlin.time.Instantandkotlin.uuid.Uuidserializers are no longer annotated with experimental annotationsfrom the Kotlin standard library (see [#3261](#3261
and #3263)
Performance improvements
We also improved performance in various areas. ASCII-specific parser
(#3225) brings performance of decoding from Okio and
kotlinx-io sources closer to decoding performance from
String. #3220 makes decoding significantly faster in case
JsonElementpresent in your serializable classes.And #3248 should bring overall performance improvements
(up to 30%) on large strings.
Exceptions rework
We continue to improve exception handling in Json encoders and decoders.
#3235 makes a big change around custom serializers and
@Serializableclasses constructors:from now on, every exception thrown during deserialization is wrapped by decoder into a
JsonException. This way, it ismore predictable to write a
catchand it is easier to understand what went wrong:JsonDecodingExceptionalso includes context information such as Json path and input. Besidesthat, #3246 limits maximum nesting depth of Json
document, so you will get a proper
JsonDecodingExceptioninstead of a random stack overflow error.CBOR improvements
CBOR format also gets many improvements in this release. The most important one is memory optimization for
definitely-sized collections (#3191, #3192).
The others include:
Protobuf improvements
Protocol buffers format received a big new feature: support for unknown fields. Using a new
ProtoUnknownFieldHolderclass, you can now decode and store unknown fields in Protobuf messages to retransmit them back later. See documentation
updates and #2860 for details. Big thanks
to xzk for theirs contributions:
this one and the bug with
oneofdefault value (#3147).We've also fixed Protobuf schema generation for inlined value classes (#3209).
Other improvements and bugfixes
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.