Skip to content

chore(deps): update kotlinx.serialization to v1.12.0 - #7676

Merged
jamesarich merged 1 commit into
mainfrom
renovate/kotlinx.serialization
Oct 19, 2026
Merged

jamesarich merged 1 commit into
mainfrom
renovate/kotlinx.serialization

Conversation

@renovate

@renovate renovate Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-serialization-protobuf 1.11.0 → 1.12.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json-okio 1.11.0 → 1.12.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.11.0 → 1.12.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-core 1.11.0 → 1.12.0 age adoption passing confidence

Release 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.Uuid serializer (#​3263) and kotlin.time.Instant serializers (#​3261).

For your convenience, the changelog for 1.12.0-RC is duplicated below:

API stabilization and deprecations

A big portion of the Json and Core APIs has been stabilized. Most important ones include:
@KeepGeneratedSerializer and @SerialInfo annotations, JsonNamingStrategy, and ContextualSerializer.
Additionally, various descriptor builders such as listDescriptor and JsonElementBuilder's addAll functions are also
stable and can be freely used. There is also one deprecation: ChunkedDecoder interface. Since there is no demand for
it, we plan to remove it in the future. See details in
the #​3238, #​3239,
and #​3216.

Also, kotlin.time.Instant and kotlin.uuid.Uuid serializers are no longer annotated with experimental annotations
from 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
JsonElement present 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
@Serializable classes constructors:
from now on, every exception thrown during deserialization is wrapped by decoder into a JsonException. This way, it is
more predictable to write a catch and it is easier to understand what went wrong:
JsonDecodingException also includes context information such as Json path and input. Besides
that, #​3246 limits maximum nesting depth of Json
document, so you will get a proper JsonDecodingException instead 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:

  • Encode unsigned integer types as positive integers (#​3194) (thanks to Eyüp Can Akman)
  • Correctly decode CborLabel values (#​3195)
  • Include actual tag info into CborDecodingException (#​3197)

Protobuf improvements

Protocol buffers format received a big new feature: support for unknown fields. Using a new ProtoUnknownFieldHolder
class, 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 oneof default value (#​3147).

We've also fixed Protobuf schema generation for inlined value classes (#​3209).

Other improvements and bugfixes

  • Set Deprecated (HIDDEN) to setters in JsonConfiguration
  • Add Json nesting depth calculation during parsing (#​3246)
  • JsonElementBuilders: mark all (add|put)Json (Object|Array) functions as inline (#​3242) (thanks to Miha-x64)
  • Fix Polymorphic Deserialization Error with Subclass using JsonTransformingSerializer (#​3139) (thanks to YongJun Jung)
  • Align collections' SerialDescriptors with the contract (#​3199)
  • Remove leading whitespace from Proguard rules (#​3270)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Dependency update label Oct 19, 2026
@github-actions github-actions Bot added the chore label Oct 19, 2026
@jamesarich
jamesarich added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 2db3faa Oct 19, 2026
19 checks passed
@jamesarich
jamesarich deleted the renovate/kotlinx.serialization branch October 19, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore dependencies Dependency update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant