Skip to content

fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-core to v1.11.0#224

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlinxserializationcore
Open

fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-core to v1.11.0#224
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlinxserializationcore

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 13, 2026

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.kotlinx:kotlinx-serialization-core 1.10.01.11.0 age confidence

Release Notes

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

v1.11.0

==================

This release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.

Expose Json exceptions structure

To make working with exceptions easier and providing proper error codes in e.g., REST APIs,
classes JsonException, JsonDecodingException, and JsonEncodingException are now public.
They have relevant public properties, such as shortMessage, path, offset, and others.
This API is currently experimental, and we're going to improve it further in the subsequent releases.
See the linked issues for the details: #​1930, #​1877.

Ability to hide user input from exception messages for security/privacy reasons.

Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.
Such behavior may pose additional challenges for logging, analytics, and other systems, since
a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.
To address this issue, a new property exceptionsWithDebugInfo is added to JsonConfiguration.
Disable it to hide user input from exception messages.
IMPORTANT: This behavior will be enabled by default when this property becomes stable.
See #​2590 for more details.

Bugfixes and improvements

  • CBOR: Relax value range check when decoding numbers (#​3167)
  • Use a specialized writeDecimalLong method for IO stream integrations in Json (#​3152)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 9am on monday"
  • 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 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.

@claude
Copy link
Copy Markdown

claude Bot commented Apr 13, 2026

Claude finished @renovate[bot]'s task in 1m 28s —— View job


PR Review: kotlinx-serialization-core 1.10.0 → 1.11.0

  • Gather context
  • Analyze changed files
  • Check serialization usage in codebase
  • Provide review feedback

Summary

This PR updates kotlinx-serialization-core from 1.10.0 to 1.11.0. The change itself is a clean single-line version bump in gradle/libs.versions.toml.


Issues Found

Version Mismatch Between Core and JSON (Blocker)

gradle/libs.versions.toml now has two different versions for libraries that are always released together as a single unit:

kotlinxSerializationJson = "1.10.0"   # line 6 — NOT updated
kotlinxSerializationCore = "1.11.0"   # line 21 — updated by this PR

kotlinx-serialization-json depends on kotlinx-serialization-core at the same version. With json at 1.10.0 and core at 1.11.0, Gradle's dependency resolution will force-upgrade core to 1.11.0 transitively — but the json artifact itself is still compiled against 1.10.0 internals. This is an unsupported configuration and could cause IncompatibleClassChangeError or NoSuchMethodError at runtime if any binary-incompatible changes were made between the two releases.

The project uses kotlinx-serialization-json directly in BugReportDraftStorage.kt:34 for metadata encoding/decoding, so this mismatch affects production code.

Resolution: kotlinxSerializationJson should be bumped to 1.11.0 in the same PR. Fix this →


Kotlin Version Compatibility (Worth Verifying)

The 1.11.0 changelog states it is "based on Kotlin 2.3.20", while this project uses kotlin = "2.2.21". The Kotlin serialization runtime typically maintains backward compatibility, but the compiler plugin (kotlin-serialization plugin, also 2.2.21) generating code for the @Serializable-annotated classes in this project needs to produce bytecode compatible with the 1.11.0 runtime. This is a low-risk concern since the serialization team maintains plugin/runtime compatibility across minor versions, but worth a CI green-light confirmation.


What's Fine

  • The @Serializable usage across the codebase is straightforward — data classes and sealed interfaces used for navigation routes (NavGraph.kt) and data models. No custom serializers or advanced APIs that would be affected by the new JsonException API additions.
  • The Json { ignoreUnknownKeys = true } instance in BugReportDraftStorage.kt:80 is unaffected by the new exceptionsWithDebugInfo property (which defaults to true, maintaining existing behavior).
  • No usages of CBOR (the bugfix in 1.11.0 doesn't apply).

Recommendation

Do not merge as-is. The kotlinxSerializationJson version should be updated to 1.11.0 alongside this change to avoid a version mismatch between tightly-coupled artifacts. These two libraries must always share the same version.

@renovate renovate Bot force-pushed the renovate/kotlinxserializationcore branch from c9aac66 to 526cd52 Compare April 21, 2026 20:15
@github-actions
Copy link
Copy Markdown

Qodana for JVM

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants