Skip to content

fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.12.0 - #764

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlinx.serialization
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlinx.serialization

Conversation

@renovate

@renovate renovate Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.11.0 → 1.12.0 age confidence

Release Notes

Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)

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 is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update 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 Pull requests that update a dependency file label Oct 20, 2026
@coderabbitai

coderabbitai Bot commented Oct 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7eca470f-9635-40a8-9d1b-99e208d8ed50

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

🐰 Bencher Report

ProjectKGraphQL
Branchrenovate/kotlinx.serialization
Testbedubuntu-latest

🚨 2 Alerts

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Lower Boundary
(Limit %)
de.stuebingerb.kgraphql.QueryBenchmark.largeListWithFragmentThroughput
operations / second (ops/s)
📈 plot
🚷 threshold
🚨 alert (🔔)
4.20 ops/s
(-19.55%)Baseline: 5.23 ops/s
4.36 ops/s
(103.73%)

de.stuebingerb.kgraphql.QueryBenchmark.manyOperationsWithFragmentThroughput
operations / second (ops/s)
📈 plot
🚷 threshold
🚨 alert (🔔)
186.54 ops/s
(-40.18%)Baseline: 311.82 ops/s
226.88 ops/s
(121.63%)

Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
de.stuebingerb.kgraphql.FunctionExecutionBenchmark.benchmarkFunctionExecution📈 view plot
🚷 view threshold
6,131,644.36 ops/s
(+6.47%)Baseline: 5,759,285.93 ops/s
4,568,226.21 ops/s
(74.50%)
de.stuebingerb.kgraphql.ParallelExecutionBenchmark.queryBenchmark📈 view plot
🚷 view threshold
1.30 ops/s
(-0.10%)Baseline: 1.30 ops/s
1.30 ops/s
(99.89%)
de.stuebingerb.kgraphql.QueryBenchmark.executionError📈 view plot
🚷 view threshold
15,456.36 ops/s
(-16.09%)Baseline: 18,420.18 ops/s
10,420.98 ops/s
(67.42%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromDocument📈 view plot
🚷 view threshold
19,280.83 ops/s
(-15.04%)Baseline: 22,694.85 ops/s
13,505.57 ops/s
(70.05%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromVariable📈 view plot
🚷 view threshold
18,881.86 ops/s
(-14.22%)Baseline: 22,012.11 ops/s
13,257.07 ops/s
(70.21%)
de.stuebingerb.kgraphql.QueryBenchmark.largeList📈 view plot
🚷 view threshold
3.82 ops/s
(-18.27%)Baseline: 4.67 ops/s
3.79 ops/s
(99.27%)
de.stuebingerb.kgraphql.QueryBenchmark.largeListWithFragment📈 view plot
🚷 view threshold
🚨 view alert (🔔)
4.20 ops/s
(-19.55%)Baseline: 5.23 ops/s
4.36 ops/s
(103.73%)

de.stuebingerb.kgraphql.QueryBenchmark.manyChildren📈 view plot
🚷 view threshold
176.67 ops/s
(-2.79%)Baseline: 181.75 ops/s
127.76 ops/s
(72.31%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildrenWithFragment📈 view plot
🚷 view threshold
191.18 ops/s
(-0.94%)Baseline: 193.00 ops/s
136.70 ops/s
(71.50%)
de.stuebingerb.kgraphql.QueryBenchmark.manyDataChildren📈 view plot
🚷 view threshold
8.81 ops/s
(-1.09%)Baseline: 8.91 ops/s
8.74 ops/s
(99.17%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperations📈 view plot
🚷 view threshold
298.90 ops/s
(-1.87%)Baseline: 304.59 ops/s
217.56 ops/s
(72.79%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperationsWithFragment📈 view plot
🚷 view threshold
🚨 view alert (🔔)
186.54 ops/s
(-40.18%)Baseline: 311.82 ops/s
226.88 ops/s
(121.63%)

de.stuebingerb.kgraphql.QueryBenchmark.nestedObject📈 view plot
🚷 view threshold
7,451.89 ops/s
(-8.26%)Baseline: 8,122.43 ops/s
5,535.80 ops/s
(74.29%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.invalidRequest📈 view plot
🚷 view threshold
129,302.80 ops/s
(-11.44%)Baseline: 146,008.58 ops/s
113,584.85 ops/s
(87.84%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.largeRequest📈 view plot
🚷 view threshold
7,410.95 ops/s
(-12.03%)Baseline: 8,424.84 ops/s
5,684.94 ops/s
(76.71%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.smallRequest📈 view plot
🚷 view threshold
10,711.55 ops/s
(-12.03%)Baseline: 12,177.05 ops/s
7,773.57 ops/s
(72.57%)
de.stuebingerb.kgraphql.SimpleExecutionOverheadBenchmark.benchmark📈 view plot
🚷 view threshold
449,942.78 ops/s
(-7.90%)Baseline: 488,551.26 ops/s
385,459.82 ops/s
(85.67%)
🐰 View full continuous benchmarking report in Bencher

This branch has not been deployed

No deployments
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