Skip to content

build(deps): bump the android-deps group across 1 directory with 25 updates - #295

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/apps/android/android-deps-4e5029663d
Open

build(deps): bump the android-deps group across 1 directory with 25 updates#295
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/apps/android/android-deps-4e5029663d

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps the android-deps group with 18 updates in the /apps/android directory:

Package From To
com.android.application 9.0.1 9.3.2
com.android.test 9.0.1 9.3.2
org.jetbrains.kotlin.plugin.compose 2.3.20 2.4.10
org.jetbrains.kotlin.plugin.serialization 2.3.20 2.4.10
androidx.compose:compose-bom 2026.03.01 2026.08.00
androidx.core:core-ktx 1.18.0 1.19.0
androidx.webkit:webkit 1.15.0 1.17.0
androidx.navigation:navigation-compose 2.9.7 2.10.0
com.google.android.material:material 1.13.0 1.14.0
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.10.2 1.11.0
org.jetbrains.kotlinx:kotlinx-serialization-json 1.10.0 1.11.0
com.squareup.okhttp3:okhttp 5.3.2 5.5.0
org.bouncycastle:bcprov-jdk18on 1.83 1.85.2
org.commonmark:commonmark 0.28.0 0.30.0
dnsjava:dnsjava 3.6.4 3.6.5
io.kotest:kotest-runner-junit5-jvm 6.1.11 6.2.4
org.junit.vintage:junit-vintage-engine 6.0.3 6.1.3
gradle-wrapper 9.4.1 9.7.1

Updates com.android.application from 9.0.1 to 9.3.2

Updates com.android.test from 9.0.1 to 9.3.2

Updates org.jetbrains.kotlin.plugin.compose from 2.3.20 to 2.4.10

Release notes

Sourced from org.jetbrains.kotlin.plugin.compose's releases.

Kotlin 2.4.10

Changelog

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

Compiler

  • KT-86939 JVM: IllegalStateException "No value for annotation parameter" when using const val in nested Java annotation array argument
  • KT-83766 K2: Wrong sourcePsi is set for SymbolPsiLiteral in SLC for annotation arguments referencing a const val
  • KT-86728 Reified type inference: expected type not propagated into inline call inside lambda with elvis operator

Compose Compiler

  • b/522127447 Compose Compiler 2.4: classes previously inferred stable now reported runtime/Uncertain

Klibs

  • KT-86501 Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64

Tools. CLI

  • KT-86930 Introduce kotlinr in the Kotlin distribution

Tools. Gradle. BCV

  • KT-87223 Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0

Tools. Gradle. JS

  • KT-87304 jsBrowserTest fails with "exited with errors (exit code: 1)"
  • KT-86057 kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail

Tools. Gradle. Multiplatform

  • KT-87084 False positive warning for JS and Wasm compilations when CRI is enabled

Tools. Scripts

  • KT-87076 @file:CompilerOptions("-jvm-target", ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8
  • KT-86352 K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts

Kotlin 2.4.10-RC2

Changelog

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.compose's changelog.

2.4.10

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

Compiler

  • KT-86939 JVM: IllegalStateException "No value for annotation parameter" when using const val in nested Java annotation array argument
  • KT-83766 K2: Wrong sourcePsi is set for SymbolPsiLiteral in SLC for annotation arguments referencing a const val
  • KT-86728 Reified type inference: expected type not propagated into inline call inside lambda with elvis operator

Compose Compiler

  • b/522127447 Compose Compiler 2.4: classes previously inferred stable now reported runtime/Uncertain

Klibs

  • KT-86501 Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64

Tools. CLI

  • KT-86930 Introduce kotlinr in the Kotlin distribution

Tools. Gradle. BCV

  • KT-87223 Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0

Tools. Gradle. JS

  • KT-87304 jsBrowserTest fails with "exited with errors (exit code: 1)"
  • KT-86057 kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail

Tools. Gradle. Multiplatform

  • KT-87084 False positive warning for JS and Wasm compilations when CRI is enabled

Tools. Scripts

  • KT-87076 @file:CompilerOptions("-jvm-target", ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8
  • KT-86352 K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts

2.4.0

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider

... (truncated)

Commits
  • 5687445 Add Changelog for 2.4.10-RC2
  • ba30392 [Wasm] Support regenerate unchanged modules flag on KGP
  • 6307e73 [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag
  • 39d7aee Add ChangeLog for 2.4.10-RC2
  • a2956be [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings
  • 9b1361c [Gradle] KT-87223: Updated regression test
  • a4c153a [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config
  • bc04b90 Add ChangeLog for 2.4.10-RC
  • bbcb94b [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...
  • 6c2c458 Scripting: fix jvmTarget processing from script annotations
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.plugin.serialization from 2.3.20 to 2.4.10

Release notes

Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

Kotlin 2.4.10

Changelog

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

Compiler

  • KT-86939 JVM: IllegalStateException "No value for annotation parameter" when using const val in nested Java annotation array argument
  • KT-83766 K2: Wrong sourcePsi is set for SymbolPsiLiteral in SLC for annotation arguments referencing a const val
  • KT-86728 Reified type inference: expected type not propagated into inline call inside lambda with elvis operator

Compose Compiler

  • b/522127447 Compose Compiler 2.4: classes previously inferred stable now reported runtime/Uncertain

Klibs

  • KT-86501 Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64

Tools. CLI

  • KT-86930 Introduce kotlinr in the Kotlin distribution

Tools. Gradle. BCV

  • KT-87223 Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0

Tools. Gradle. JS

  • KT-87304 jsBrowserTest fails with "exited with errors (exit code: 1)"
  • KT-86057 kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail

Tools. Gradle. Multiplatform

  • KT-87084 False positive warning for JS and Wasm compilations when CRI is enabled

Tools. Scripts

  • KT-87076 @file:CompilerOptions("-jvm-target", ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8
  • KT-86352 K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts

Kotlin 2.4.10-RC2

Changelog

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

2.4.10

Backend. Wasm

  • KT-87066 K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation

Compiler

  • KT-86939 JVM: IllegalStateException "No value for annotation parameter" when using const val in nested Java annotation array argument
  • KT-83766 K2: Wrong sourcePsi is set for SymbolPsiLiteral in SLC for annotation arguments referencing a const val
  • KT-86728 Reified type inference: expected type not propagated into inline call inside lambda with elvis operator

Compose Compiler

  • b/522127447 Compose Compiler 2.4: classes previously inferred stable now reported runtime/Uncertain

Klibs

  • KT-86501 Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64

Tools. CLI

  • KT-86930 Introduce kotlinr in the Kotlin distribution

Tools. Gradle. BCV

  • KT-87223 Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0

Tools. Gradle. JS

  • KT-87304 jsBrowserTest fails with "exited with errors (exit code: 1)"
  • KT-86057 kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail

Tools. Gradle. Multiplatform

  • KT-87084 False positive warning for JS and Wasm compilations when CRI is enabled

Tools. Scripts

  • KT-87076 @file:CompilerOptions("-jvm-target", ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8
  • KT-86352 K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts

2.4.0

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider

... (truncated)

Commits
  • 5687445 Add Changelog for 2.4.10-RC2
  • ba30392 [Wasm] Support regenerate unchanged modules flag on KGP
  • 6307e73 [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag
  • 39d7aee Add ChangeLog for 2.4.10-RC2
  • a2956be [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings
  • 9b1361c [Gradle] KT-87223: Updated regression test
  • a4c153a [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config
  • bc04b90 Add ChangeLog for 2.4.10-RC
  • bbcb94b [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...
  • 6c2c458 Scripting: fix jvmTarget processing from script annotations
  • Additional commits viewable in compare view

Updates androidx.compose:compose-bom from 2026.03.01 to 2026.08.00

Updates androidx.core:core-ktx from 1.18.0 to 1.19.0

Updates androidx.webkit:webkit from 1.15.0 to 1.17.0

Updates androidx.navigation:navigation-compose from 2.9.7 to 2.10.0

Updates com.google.android.material:material from 1.13.0 to 1.14.0

Release notes

Sourced from com.google.android.material:material's releases.

1.14.0

New in 1.14.0!

  • Expressive Themes (doc)
  • Expressive Lists (doc)
  • Expressive Button Styles (doc)
  • Expressive Icon Button Styles (doc)
  • Expressive Button Group Styles (doc)
  • Expressive FAB Styles (doc)
  • Expressive Top App Bar Styles (doc)
  • Expressive Navigation Bar (BottomNavigationView) Styles (doc)
  • Expressive Navigation Rail Styles (doc)
  • Expressive Search Styles (doc)
  • Expressive Progress Indicator Styles (doc)
  • Expressive Slider Styles (doc)
  • Emphasized Typescale (doc)

Important

  • Required minSdkVersion is now 23 or higher, for Material and AndroidX.
  • Library is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.

Dependency Updates

Dependency Previous version New version
androidx.constraintlayout:constraintlayout 2.1.0 2.2.1
androidx.core:core 1.6.0 1.16.0
androidx.customview:customview N/A 1.2.0
com.android.tools.build:gradle 8.7.3 8.11.1

Library Updates

  • AppBar
    • Fixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)
    • Add support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)
    • Improve keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)
    • Removed special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)
    • Updated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)
  • BottomAppBar
    • Remove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)
  • BottomNavigationView
    • Fix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)
  • BottomSheet
    • Deprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)
    • Prevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)
    • Fixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)
    • Fixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)
    • Added half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)
    • Added support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)
    • Make handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)
    • Delete duplicate "Handling insets and fullscreen" section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)
    • Added support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)
    • Make behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)

... (truncated)

Commits
  • 66c334b [Release] Update library version to 1.14.0 stable
  • 12e57b5 [Focus Rings] Add setters and getters for stroke widths and inner inset
  • f4652d6 [NavigationView] Improve focus saving when opening NavigationView
  • 14b9ac9 [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...
  • d6de1da [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...
  • 41cfb65 [A11y][NavigationView] Request and restore focus when opened and closed in Dr...
  • 8f63e94 [Catalog] Fix lift on scroll glitchiness in All Components demo
  • 80aa0cc [Release] Update library version to 1.14.0-rc01
  • fd44c9d [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...
  • e6ae416 [SearchView] Make sure IME is hidden when EditText loses focus
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.10.2 to 1.11.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-android's releases.

1.11.0

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

  • Moved Promise-related functions from JS and Wasm/JS to the new web target. On Wasm/JS, this is a breaking change. Before the change, Promise on Wasm/JS could work with arbitrary Kotlin types, but now, only JsAny subtypes are accepted (#4563).
  • Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B efore, exceptions were logged, but now, they are reported to the JS runtime (#4451, #4631).
  • Deprecated using CoroutineDispatcher as the coroutine context key; now, ContinuationInterceptor has to be used instead (#4333).
  • Advanced the deprecation levels on kotlinx-coroutines-test APIs (#4604).
  • Added lint functions that mark passing a Job to coroutine builders as deprecated (#4435).

Bug fixes and improvements

  • Added a callsInPlace(EXACTLY_ONCE) contract to runBlocking in code shared between JVM and Native (#4368).
  • Added a callsInPlace(EXACTLY_ONCE) contract to suspendCancellableCoroutine (#4574).
  • Fixed flowOn incorrectly handling ThreadContextElement updates (#4403).
  • Fixed exceptions in user-supplied Thread.UncaughtExceptionHandler instances causing the internal coroutines machinery to fail (#4516).
  • Fixed CoroutineDispatcher.asScheduler in the RxJava integration not cancelling outstanding work when a Worker gets cancelled, which led to memory leaks in some scenarios (#4615).
  • Fixed SharedFlow entering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).
  • Fixed an R8 optimization leading to shareIn/stateIn coroutines getting garbage-collected (#4646). Thanks, @​solevic!

Small additions

  • Added CompletableDeferred.asDeferred for obtaining a read-only Deferred view (#4408).
  • Added SharedFlow.asFlow for obtaining a Flow view with hidden hot flow semantics (#4530). Thanks, @​g000sha256!
  • Added a StateFlow.collectLatest overload returning Nothing to assist with finding unreachable code (#4454).
  • Added ReceiveChannel.consumeTo for consuming a ReceiveChannel into a MutableCollection (#4520).
  • Added a StateFlow<T>.onSubscription overload returning a StateFlow<T>, similar to SharedFlow<T>.onSubscription returning SharedFlow<T> (#4275). Thanks, @​xit0c!
  • Added terminal Flow operators for collecting a Flow to a Map (#1541).

Changelog relative to version 1.11.0

No changes, only the version is increased.

1.11.0-rc02

Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of Promise-related functions (#4661).

1.11.0-rc01

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-android's changelog.

Version 1.11.0

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

  • Moved Promise-related functions from JS and Wasm/JS to the new web target. On Wasm/JS, this is a breaking change. Before the change, Promise on Wasm/JS could work with arbitrary Kotlin types, but now, only JsAny subtypes are accepted (#4563).
  • Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (#4451, #4631).
  • Deprecated using CoroutineDispatcher as the coroutine context key; now, ContinuationInterceptor has to be used instead (#4333).
  • Advanced the deprecation levels on kotlinx-coroutines-test APIs (#4604).
  • Added lint functions that mark passing a Job to coroutine builders as deprecated (#4435).

Bug fixes and improvements

  • Added a callsInPlace(EXACTLY_ONCE) contract to runBlocking in code shared between JVM and Native (#4368).
  • Added a callsInPlace(EXACTLY_ONCE) contract to suspendCancellableCoroutine (#4574).
  • Fixed flowOn incorrectly handling ThreadContextElement updates (#4403).
  • Fixed exceptions in user-supplied Thread.UncaughtExceptionHandler instances causing the internal coroutines machinery to fail (#4516).
  • Fixed CoroutineDispatcher.asScheduler in the RxJava integration not cancelling outstanding work when a Worker gets cancelled, which led to memory leaks in some scenarios (#4615).
  • Fixed SharedFlow entering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).
  • Fixed an R8 optimization leading to shareIn/stateIn coroutines getting garbage-collected (#4646). Thanks, @​solevic!

Small additions

  • Added CompletableDeferred.asDeferred for obtaining a read-only Deferred view (#4408).
  • Added SharedFlow.asFlow for obtaining a Flow view with hidden hot flow semantics (#4530). Thanks, @​g000sha256!
  • Added a StateFlow.collectLatest overload returning Nothing to assist with finding unreachable code (#4454).
  • Added ReceiveChannel.consumeTo for consuming a ReceiveChannel into a MutableCollection (#4520).
  • Added a StateFlow<T>.onSubscription overload returning a StateFlow<T>, similar to SharedFlow<T>.onSubscription returning SharedFlow<T> (#4275). Thanks, @​xit0c!
  • Added terminal Flow operators for collecting a Flow to a Map (#1541).

Changelog relative to version 1.11.0

No changes, only the version is increased.

Version 1.11.0-rc02

Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of Promise-related functions (#4661).

Version 1.11.0-rc01

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

... (truncated)

Commits
  • 8564f65 Version 1.11.0
  • a4c6af9 Merge remote-tracking branch 'origin/master' into develop
  • ef917b4 KT-84955: mark apple x64 tagets as deprecated error (#4645)
  • 5ebc421 Update the release procedure description (#4670)
  • 95f46a0 Remove old maven repository settings (#4672)
  • b4f4f0a Fix package name of ToMapCollectionSamplesTest. (#4674)
  • 86738dc Added templates to the issue creation wizard (#4654)
  • 330fcc2 Version 1.11.0-rc02
  • e31cef6 Merge remote-tracking branch 'origin/master' into develop
  • dc6e9f6 Restore Promise-related functions on Wasm/JS as HIDDEN (#4661)
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-serialization-json from 1.10.0 to 1.11.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.

1.11.0

This release is based on Kotlin 2.3.20 and provides a 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)
Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.

1.11.0 / 2026-04-10

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)
Commits
  • 6956af2 Prepare 1.11 release
  • 390d84c Merge remote-tracking branch 'origin/master' into dev
  • 431fe2d Use local repo for publishing (#3171)
  • 05c12b6 Add usage attribute to "testRepositories" configuration
  • a4e1f08 Bump Kover version to 0.9.8 release (#3174)
  • 304e858 Expose Json exceptions structure (#3145)
  • 4a0338e Included G Play SDK verification file for core-jvm (#3169)
  • 421f64c CBOR: Relax value range check when decoding numbers (#3167)
  • 85a4f12 KT-84955: mark apple x64 tagets as deprecated error
  • bd38b0e Remove dead code
  • Additional commits viewable in compare view

Updates com.squareup.okhttp3:okhttp from 5.3.2 to 5.5.0

Changelog

Sourced from com.squareup.okhttp3:okhttp's changelog.

Version 5.5.0

2026-08-16

This release introduces opt-in support for [Encrypted Client Hello (ECH)]. This new feature improves user privacy by encrypting domain names in transit. With regular TLS, your coffee shop’s Wi-Fi router can see that you’re visiting wikipedia.com, but it cannot see which page you’re looking at. With ECH, the router observes only the IP address. This additional privacy is most effective on sites hosted by big CDNs because the IP address doesn’t imply a particular website.

This requires ECH support in the platform’s TLS stack. Today this is only Android 17 (API 37, released June 2026). When other TLS stacks add ECH support, we'll integrate them.

ECH took a lot of work to implement because the encryption keys are published over DNS in the [HTTPS resource record], and we needed to write new code to fetch these records. This release includes a major update to OkHttp’s DNS API: it now supports multiple resource record types (not just IP addresses!), asynchronous streaming results, and in-memory caching.

To opt in, you can use DnsOverHttps:

// DnsOverHttps itself uses OkHttpClient. Build both clients upon the
// same bootstrap client so they share a connection pool and dispatcher.
val bootstrapClient = OkHttpClient()
// This sample uses Cloudflare's 1.1.1.1 DnsOverHttps service.
val client = bootstrapClient.newBuilder()
.dns(DnsOverHttps.Builder()
.client(bootstrapClient)
.url("https://1.1.1.1/dns-query&quot;.toHttpUrl())
.build())
.build()

You could also opt in with our new AndroidDns API. Unfortunately, the privacy benefits of ECH are thwarted because its DNS queries are not encrypted by default.

// AndroidDns fetches the HTTPS DNS resource records necessary for ECH.
val client = OkHttpClient.Builder()
  .dns(AndroidDns())
  .build()
  • New: OkHttp artifacts are now signed with our [new signing key]. This project and three sibling projects ([Retrofit], [Okio], and [SQLDelight]) recently joined [the Commonhaus Foundation].
  • Fix: MockWebServer’s @StartStop annotation now supports @Nested JUnit 5 tests.
  • Fix: Our default TLS hostname verifier now reject hosts that fail IP canonicalization.
  • Fix: Closing a multipart part's sink no longer closes the entire request body.
  • Fix: Flush HTTP/1 request bodies before detaching the timeout. We had a bug where timeouts

... (truncated)

Commits

Updates org.bouncycastle:bcprov-jdk18on from 1.83 to 1.85.2

Changelog

Sourced from org.bouncycastle:bcprov-jdk18on's changelog.

Bouncy Castle Crypto Package - Release Notes

1.0 Introduction

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.

2.0 Release History

2.1.1 Version

Release: 1.86
Date: 2026, TBD

2.1.2 Defects Fixed

  • The high-level OpenPGP API (org.bouncycastle.openpgp.api) let a subkey inherit the primary key's Key Flags when its own Subkey Binding signature carried no Key Flags subpacket, which made the two capability decisions taken for one subkey disagree. OpenPGPCertificate.OpenPGPComponentKey.isSigningKey() reads the effective flags, which fell back to the primary key's direct-key or primary user ID self-signature, so a subkey bound with no flags of its own counted as signing-capable; verifyEmbeddedPrimaryKeyBinding reads the binding signature's own flags, found no signing capability there, and so skipped the embedded Primary Key Binding (cross-certification) signature that RFC 9580 sec. 5.2.1.8 and sec. 10.1.3 require of a subkey that can issue signatures. A data signature made by such a subkey was therefore attributed to the certificate and reported valid by OpenPGPSignature.OpenPGPDocumentSignature.isValid() with the cross-certification requirement never applied, where GnuPG refuses the same certificate and message as not cross-certified. An attacker holding a third party's public signing subkey - which is public material - could bind it to their own primary key with a Subkey Binding signature they are able to make, carrying no Key Flags and no embedded Primary Key Binding signature, which they cannot make without the subkey's private key, and have that party's genuine signatures verify as valid under the attacker's own identity: misattribution of a real signature rather than a forgery of a new one, since the signature still has to be one the subkey actually made. Key Flags are a statement about the key the carrying signature refers to (RFC 9580 sec. 5.2.3.29), so a subkey no longer inherits them from the certificate-wide signatures of the primary key: a Subkey Binding signature that omits the subpacket now leaves the subkey with no capabilities rather than the primary's, which makes the flags the cross-certification check consults the same flags every other decision consults. Preferences and the other subpackets a direct-key signature carries are inherited as before, and the primary key itself - whose flags legitimately come from its direct-key or user ID self-signature - is unaffected. The low-level PGPSignature / PGPPublicKeyRing API performs no binding checks by design and is unchanged.
  • Neither the HSS nor the XMSS^MT private key decoder checked its declared index against the traversal state stored beside it, although the two are independent records of the same position in the key and so can be compared. For HSS the records are the top-level index and the component keys' one-time indices q; for XMSS^MT they are the global index and the per-layer BDS states. A stored key whose index had been rolled back while its state stayed advanced - a partial write, a restore from backup, a buggy storage layer - was therefore accepted, and it then signed a second message under a one-time key the key had already used, producing a signature that verified, so nothing anywhere surfaced the reuse. RFC 8554 sec. 1 and RFC 8391 sec. 1.1 both require each one-time key to be used exactly once, and this is the failure those requirements exist to prevent; the single-tree XMSS decoder has tied its BDS state to its index since that state was first validated, and this brings the two multi-tree schemes into line. HSS decode now requires the declared index to equal the position the component q values imply - a level above the last contributes (q - 1) leaves of the levels beneath it, since its q has already advanced past the subtree it signed - and XMSS^MT decode now requires each present layer's BDS index to equal the leaf index that layer derives from the global index, allowing the one position where a layer has moved into a new subtree and its state legitimately still carries the previous subtree's final index. A layer with no state yet is unaffected, since those are built lazily at signing time. Related, and the same shape of omission: an XMSS or XMSS^MT private key encoding carries the tree root twice - the key's own root field and the root node of the BDS state stored beside it, which for XMSS^MT is the top layer's - and the two were never compared either. A corrupted root was accepted and then poisoned every signature the key made, because the root is hashed into the message digest: the signature did not verify and nothing indicated why. Decode now requires the two copies to agree. The BDS node values themselves are not checkable the way the LMS tree cache above is - a BDS authentication path, stack, retain or keep node does not have its children stored alongside it, so recomputing one means building a subtree, which is the work the state exists to avoid. Both checks are integer comparisons over the levels of the key, too small to measure against the surrounding decode, and both were verified not to reject any legitimate key by walking every index a key can reach: the full key space of the two-level HSS and the h=4/d=2, h=6/d=2, h=6/d=3, h=9/d=3 and h=8/d=4 XMSS^MT parameter sets, plus a three-level HSS key across a subtree boundary and an HSS shard. Since those node values cannot be recomputed, the encoded state now carries a checksum over itself instead, with the owning key's public seed hashed in front of it. Any corruption of the stored state is refused at decode rather than being loaded and then producing signatures that silently do not verify, and because the public seed is bound in, a state transplanted between two keys of the same parameter set is refused too, even though it is internally consistent and arrives with its own matching root. The public seed is bound rather than the secret seed or the PRF key deliberately: the state's own root and index are inside the encoding and so are already covered, hashing secret material would make the stored checksum a commitment to it for no gain in detection, and the PRF key does not influence the state at all. This is an error-detecting code and not integrity protection - anyone able to rewrite the stored key recomputes it, so it establishes that the state is unchanged since it was written, never that it was correct when written, and the allocation bounds on the encoding remain the guard against a crafted one. It costs one SHA-256 over the state, measured at 5 to 8 microseconds each way for the h=10 and h=16 parameter sets, and 32 bytes of encoding. The state encoding was added earlier in this same cycle and has not been released, so the checksum is simply part of it rather than a new version: a state written by a 1.86 beta is rejected, which is recovered from by re-exporting the key. The deprecated org.bouncycastle.pqc.crypto.lms copy carries the HSS check as well (github #2414).
  • The S/MIME example smoke test in the misc module (org.bouncyc...

    Description has been truncated

…pdates

Bumps the android-deps group with 18 updates in the /apps/android directory:

| Package | From | To |
| --- | --- | --- |
| com.android.application | `9.0.1` | `9.3.2` |
| com.android.test | `9.0.1` | `9.3.2` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.10` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.10` |
| androidx.compose:compose-bom | `2026.03.01` | `2026.08.00` |
| androidx.core:core-ktx | `1.18.0` | `1.19.0` |
| androidx.webkit:webkit | `1.15.0` | `1.17.0` |
| androidx.navigation:navigation-compose | `2.9.7` | `2.10.0` |
| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |
| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |
| [com.squareup.okhttp3:okhttp](https://github.com/lysine-dev/okhttp) | `5.3.2` | `5.5.0` |
| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.85.2` |
| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.28.0` | `0.30.0` |
| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |
| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.11` | `6.2.4` |
| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.3` |
| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.7.1` |



Updates `com.android.application` from 9.0.1 to 9.3.2

Updates `com.android.test` from 9.0.1 to 9.3.2

Updates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.20...v2.4.10)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.20...v2.4.10)

Updates `androidx.compose:compose-bom` from 2026.03.01 to 2026.08.00

Updates `androidx.core:core-ktx` from 1.18.0 to 1.19.0

Updates `androidx.webkit:webkit` from 1.15.0 to 1.17.0

Updates `androidx.navigation:navigation-compose` from 2.9.7 to 2.10.0

Updates `com.google.android.material:material` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](material-components/material-components-android@1.13.0...1.14.0)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.10.2...1.11.0)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.10.0...v1.11.0)

Updates `com.squareup.okhttp3:okhttp` from 5.3.2 to 5.5.0
- [Changelog](https://github.com/lysine-dev/okhttp/blob/main/CHANGELOG.md)
- [Commits](lysine-dev/okhttp@parent-5.3.2...parent-5.5.0)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.85.2
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.md)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.commonmark:commonmark` from 0.28.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](commonmark/commonmark-java@commonmark-parent-0.28.0...commonmark-parent-0.30.0)

Updates `org.commonmark:commonmark-ext-autolink` from 0.28.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](commonmark/commonmark-java@commonmark-parent-0.28.0...commonmark-parent-0.30.0)

Updates `org.commonmark:commonmark-ext-gfm-strikethrough` from 0.28.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](commonmark/commonmark-java@commonmark-parent-0.28.0...commonmark-parent-0.30.0)

Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.28.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](commonmark/commonmark-java@commonmark-parent-0.28.0...commonmark-parent-0.30.0)

Updates `org.commonmark:commonmark-ext-task-list-items` from 0.28.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases)
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md)
- [Commits](commonmark/commonmark-java@commonmark-parent-0.28.0...commonmark-parent-0.30.0)

Updates `dnsjava:dnsjava` from 3.6.4 to 3.6.5
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/commits)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.10.2...1.11.0)

Updates `io.kotest:kotest-runner-junit5-jvm` from 6.1.11 to 6.2.4
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@6.1.11...6.2.4)

Updates `io.kotest:kotest-assertions-core-jvm` from 6.1.11 to 6.2.4
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@6.1.11...6.2.4)

Updates `com.squareup.okhttp3:mockwebserver` from 5.3.2 to 5.5.0
- [Changelog](https://github.com/lysine-dev/okhttp/blob/main/CHANGELOG.md)
- [Commits](lysine-dev/okhttp@parent-5.3.2...parent-5.5.0)

Updates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.3
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.0.3...r6.1.3)

Updates `gradle-wrapper` from 9.4.1 to 9.7.1
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](gradle/gradle@v9.4.1...v9.7.1)

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: com.android.test
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: androidx.compose:compose-bom
  dependency-version: 2026.08.00
  dependency-type: direct:production
  dependency-group: android-deps
- dependency-name: androidx.core:core-ktx
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: androidx.webkit:webkit
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: androidx.navigation:navigation-compose
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: com.google.android.material:material
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: com.squareup.okhttp3:okhttp
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: 1.85.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-autolink
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-strikethrough
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-task-list-items
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: dnsjava:dnsjava
  dependency-version: 3.6.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: android-deps
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-test
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: io.kotest:kotest-runner-junit5-jvm
  dependency-version: 6.2.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: io.kotest:kotest-assertions-core-jvm
  dependency-version: 6.2.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: com.squareup.okhttp3:mockwebserver
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-version: 6.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
- dependency-name: gradle-wrapper
  dependency-version: 9.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: android-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Aug 31, 2026
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 java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants