This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.0.20-1.0.24` -> `2.0.21-1.0.25` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.0.20-1.0.24` -> `2.0.21-1.0.25` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.21-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.plugin.parcelize | `2.0.20` -> `2.0.21` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.jvm | `2.0.20` -> `2.0.21` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | org.jetbrains.kotlin.android | `2.0.20` -> `2.0.21` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.0.20` -> `2.0.21` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.0.20` -> `2.0.21` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/2.0.20/2.0.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>google/ksp (com.google.devtools.ksp)</summary> ### [`v2.0.21-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.25) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.25...2.0.21-1.0.25) #### What's Changed - UPDATE_KOTLIN_VERSION: 2.0.21 by [@​ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2145](https://redirect.github.com/google/ksp/pull/2145) **Full Changelog**: https://github.com/google/ksp/compare/2.0.21-RC-1.0.25...2.0.21-1.0.25 ### [`v2.0.20-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.25) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25) #### Bugs Fixed Inlined JVM name is not correct [#​1493](https://redirect.github.com/google/ksp/issues/1493) \[KSP2] NullPointerException when getting name of nested annotation [#​1963](https://redirect.github.com/google/ksp/issues/1963) \[KSP2] The status was unresolved for FirSimpleFunctionImpl [#​1938](https://redirect.github.com/google/ksp/issues/1938) \[KSP2] Class values in type annotations get resolved to error type [#​1933](https://redirect.github.com/google/ksp/issues/1933) \[KSP2] Comparing KSType leads to exception [#​1918](https://redirect.github.com/google/ksp/issues/1918) \[KSP2] Can't find values in repeatable annotations [#​1883](https://redirect.github.com/google/ksp/issues/1883) incremental: aggregating outputs should always be invalidated [#​2027](https://redirect.github.com/google/ksp/issues/2027) \[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation [#​2048](https://redirect.github.com/google/ksp/issues/2048) \[KSP2] Not yet implemented: KSValueArgumentImpl.getParent [#​2049](https://redirect.github.com/google/ksp/issues/2049) getSymbolsWithAnnotation returns copy function from data class [#​1996](https://redirect.github.com/google/ksp/issues/1996) \[KSP2] Annotations got use-site target when there are none specified [#​1882](https://redirect.github.com/google/ksp/issues/1882) getting null pointer exception [#​1929](https://redirect.github.com/google/ksp/issues/1929) \[KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments [#​1930](https://redirect.github.com/google/ksp/issues/1930) \[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#​1941](https://redirect.github.com/google/ksp/issues/1941) KSP2: Resolver.getJvmNames doesn't work for inline and internal classes [#​1640](https://redirect.github.com/google/ksp/issues/1640) kspCaches don't work together with Gradle build cache [#​2042](https://redirect.github.com/google/ksp/issues/2042) #### Contributors Thank you so much! [@​ansman](https://redirect.github.com/ansman), [@​kuanyingchou](https://redirect.github.com/kuanyingchou) **Full Changelog**: https://github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25 </details> <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)</summary> ### [`v2.0.21`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.0.21): Kotlin 2.0.21 ##### Changelog ##### Apple Ecosystem - [`KT-69093`](https://youtrack.jetbrains.com/issue/KT-69093) Xcode 16 support in Kotlin ##### Backend. Native. Debug - [`KT-71374`](https://youtrack.jetbrains.com/issue/KT-71374) lldb: step out breaks breaking in Xcode 16 ##### Compiler ##### Fixes - [`KT-69735`](https://youtrack.jetbrains.com/issue/KT-69735) K2: Static fields are missing from the declaration list of corresponding IrClass for java class - [`KT-71122`](https://youtrack.jetbrains.com/issue/KT-71122) Regression in Kotlin Compiler 2.0 causing NPE in the runtime - [`KT-70931`](https://youtrack.jetbrains.com/issue/KT-70931) K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotation - [`KT-70584`](https://youtrack.jetbrains.com/issue/KT-70584) K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?" - [`KT-70808`](https://youtrack.jetbrains.com/issue/KT-70808) K2: "node has already been visited" with anonymous object in dead code - [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2: Classifier declarations from root package are resolved without imports in non-root packages - [`KT-70683`](https://youtrack.jetbrains.com/issue/KT-70683) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner - [`KT-70901`](https://youtrack.jetbrains.com/issue/KT-70901) False positive Public-API inline function cannot access non-public-API property accessor - [`KT-70930`](https://youtrack.jetbrains.com/issue/KT-70930) K2: Java annotations not present on ENUM_ENTRY IR elements - [`KT-70194`](https://youtrack.jetbrains.com/issue/KT-70194) K2 IDE: exception on a very red file - [`KT-69399`](https://youtrack.jetbrains.com/issue/KT-69399) Native: IllegalStateException: "Failed to build cache" ##### Compose compiler ##### Fixes - [`b/329477544`](https://issuetracker.google.com/issues/329477544) Force open / overridden Composable functions to be non-restartable. - [`b/361652128`](https://issuetracker.google.com/issues/361652128) Disable live literal transform if the corresponding flag is disabled ##### IR. Actualizer - [`KT-70894`](https://youtrack.jetbrains.com/issue/KT-70894) IR crash. Unprocessed `IrFunctionFakeOverrideSymbol` when actualize to Java ##### IR. Tree - [`KT-71191`](https://youtrack.jetbrains.com/issue/KT-71191) SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTable ##### Native. Build Infrastructure - [`KT-71485`](https://youtrack.jetbrains.com/issue/KT-71485) K/N runtime parts don't build due to \_Float16 issues on x86\_64 macOS ##### Native. C Export - [`KT-69507`](https://youtrack.jetbrains.com/issue/KT-69507) LLVM 11 clang with Xcode 16 headers: standard c++ headers ##### Native. C and ObjC Import - [`KT-71029`](https://youtrack.jetbrains.com/issue/KT-71029) Investigate why stdarg.h declarations leak into testModuleA ##### Native. Platform Libraries - [`KT-70566`](https://youtrack.jetbrains.com/issue/KT-70566) LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not found - [`KT-71624`](https://youtrack.jetbrains.com/issue/KT-71624) Eliminate remaining UIKit/AppKit removed signatures - [`KT-70031`](https://youtrack.jetbrains.com/issue/KT-70031) Rebuild platform libraries in 2.0.21 with Xcode 16 ##### Native. Testing - [`KT-70603`](https://youtrack.jetbrains.com/issue/KT-70603) C++ with -fmodules: cyclic dependency in module 'std': std -> \_wctype -> \__wctype -> std in dev llvm toolchains ##### Tools. CLI. Native - [`KT-71262`](https://youtrack.jetbrains.com/issue/KT-71262) KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being set ##### Tools. Compiler Plugins - [`KT-71038`](https://youtrack.jetbrains.com/issue/KT-71038) PowerAssert: Constant on RHS of elvis operator leads to compiler crash ##### Tools. Daemon - [`KT-35381`](https://youtrack.jetbrains.com/issue/KT-35381) Get rid of the native-platform usage in kotlin compiler ##### Tools. Gradle. Multiplatform - [`KT-71444`](https://youtrack.jetbrains.com/issue/KT-71444) Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targets - [`KT-70700`](https://youtrack.jetbrains.com/issue/KT-70700) Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any further - [`KT-71396`](https://youtrack.jetbrains.com/issue/KT-71396) Gradle client side JVM explodes with OOM due to xcodebuild logs ##### Tools. Gradle. Native - [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version ##### Tools. JPS - [`KT-71450`](https://youtrack.jetbrains.com/issue/KT-71450) Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closed </details> <details> <summary>Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-play-services)</summary> ### [`v1.9.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.9.0) ##### Features - Wasm/WASI target support ([#​4064](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064)). Thanks, [@​igoriakovlev](https://redirect.github.com/igoriakovlev)! - `limitedParallelism` now optionally accepts the name of the dispatcher view for easier debugging ([#​4023](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023)). - No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed ([#​4166](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166)). Thanks, [@​metalhead8816](https://redirect.github.com/metalhead8816)! - Introduced the `Flow<T>.chunked(size: Int): Flow<List<T>>` operator that groups emitted values into groups of the given size ([#​1290](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290)). - Closeable dispatchers are instances of `AutoCloseable` now ([#​4123](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123)). ##### Fixes - Calling `hasNext` on a `Channel`'s iterator is idempotent ([#​4065](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065)). Thanks, [@​gitpaxultek](https://redirect.github.com/gitpaxultek)! - `CoroutineScope()` created without an explicit dispatcher uses `Dispatchers.Default` on Native ([#​4074](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074)). Thanks, [@​whyoleg](https://redirect.github.com/whyoleg)! - Fixed a bug that prevented non-Android `Dispatchers.Main` from initializing when the Firebase dependency is used ([#​3914](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914)). - Ensured a more intuitive ordering of tasks in `runBlocking` ([#​4134](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134)). - Forbid casting a `Mutex` to `Semaphore` ([#​4176](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176)). - Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times ([#​4156](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156)). ##### Deprecations and promotions - Advanced the deprecation levels for `BroadcastChannel`-based API ([#​4197](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197)). - Advanced the deprecation levels for the old `kotlinx-coroutines-test` API ([#​4198](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198)). - Deprecated `Job.cancelFutureOnCompletion` ([#​4173](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173)). - Promoted `CoroutineDispatcher.limitedParallelism` to stable ([#​3864](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864)). - Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` ([#​4169](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169)). - Promoted `CancellableContinuation.resume` with an `onCancellation` lambda to stable, providing extra arguments to the lambda ([#​4088](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088)). - Marked the classes and interfaces that are not supposed to be inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in ([#​3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). - Marked the classes and interfaces inheriting from which is not stable with the new `ExperimentalForInheritanceCoroutinesApi` opt-in ([#​3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). ##### Other - Kotlin was updated to 2.0 ([#​4137](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4137)). - Reworked the documentation for `CoroutineStart` and `Channel`-based API ([#​4147](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4147), [#​4148](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4148), [#​4167](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4167)). Thanks, [@​globsterg](https://redirect.github.com/globsterg)! - Simplified the internal implementation of `Job` ([#​4053](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4053)). - Small tweaks, fixes, and documentation improvements. </details> --- ### Configuration 📅 **Schedule**: 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/pachli/pachli-android). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE1LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
260 lines
17 KiB
TOML
260 lines
17 KiB
TOML
[versions]
|
|
aboutlibraries = "11.2.3"
|
|
acra = "5.11.3"
|
|
agp = "8.7.0"
|
|
androidx-activity = "1.9.1"
|
|
androidx-appcompat = "1.7.0"
|
|
androidx-browser = "1.8.0"
|
|
androidx-cardview = "1.0.0"
|
|
androidx-constraintlayout = "2.1.4"
|
|
androidx-core = "1.13.1"
|
|
androidx-exifinterface = "1.3.7"
|
|
androidx-fragment = "1.8.2"
|
|
androidx-hilt = "1.2.0"
|
|
androidx-junit = "1.2.1"
|
|
androidx-lifecycle = "2.8.4"
|
|
androidx-media3 = "1.4.1"
|
|
androidx-paging = "3.3.2"
|
|
androidx-preference = "1.2.1"
|
|
androidx-recyclerview = "1.3.2"
|
|
androidx-sharetarget = "1.2.0"
|
|
androidx-splashscreen = "1.2.0-alpha01"
|
|
androidx-swiperefresh-layout = "1.1.0"
|
|
androidx-testing = "2.2.0"
|
|
androidx-test-core-ktx = "1.6.1"
|
|
androidx-transition = "1.5.1"
|
|
androidx-viewpager2 = "1.1.0"
|
|
androidx-webkit = "1.11.0"
|
|
androidx-work = "2.9.1"
|
|
androidx-room = "2.6.1"
|
|
app-update = "2.1.0"
|
|
apollographql = "3.8.5"
|
|
auto-service = "1.1.1"
|
|
auto-service-ksp = "1.2.0"
|
|
bouncycastle = "1.70"
|
|
conscrypt = "2.5.3"
|
|
coroutines = "1.9.0"
|
|
coroutines-play-services = "1.9.0"
|
|
desugar_jdk_libs = "2.1.1"
|
|
diffx = "1.1.1"
|
|
emoji2 = "1.3.0"
|
|
espresso = "3.6.1"
|
|
filemoji-compat = "3.2.7"
|
|
glide = "4.16.0"
|
|
# Deliberate downgrade, https://github.com/tuskyapp/Tusky/issues/3631
|
|
glide-animation-plugin = "2.23.0"
|
|
hilt = "2.52"
|
|
org-json = "20240303"
|
|
junit = "4.13.2"
|
|
kotlin = "2.0.21"
|
|
kotlin-result = "1.1.20"
|
|
ksp = "2.0.21-1.0.25"
|
|
image-cropper = "4.3.2"
|
|
leakcanary = "2.14"
|
|
lint = "31.7.0" # = agp + 23.0.0 (= 8.7.0), see https://github.com/googlesamples/android-custom-lint-rules#lint-version
|
|
material = "1.12.0"
|
|
material-drawer = "9.0.2"
|
|
material-iconics = "5.5.0-compose01"
|
|
material-typeface = "4.0.0.3-kotlin"
|
|
mlkit-language-id = "17.0.0"
|
|
mockito-inline = "5.2.0"
|
|
mockito-kotlin = "5.4.0"
|
|
moshi = "1.15.1"
|
|
moshix = "0.28.0"
|
|
networkresult-calladapter = "1.0.0"
|
|
okhttp = "4.12.0"
|
|
okio = "3.9.0"
|
|
play-services-base = "18.5.0"
|
|
quadrant = "1.9.1"
|
|
retrofit = "2.11.0"
|
|
robolectric = "4.13"
|
|
semver = "2.0.0"
|
|
sparkbutton = "4.2.0"
|
|
timber = "5.0.1"
|
|
touchimageview = "3.6"
|
|
truth = "1.4.4"
|
|
turbine = "1.1.0"
|
|
unified-push = "2.5.0"
|
|
xmlwriter = "1.0.4"
|
|
|
|
# Tool dependencies
|
|
betterparse = "0.4.4"
|
|
clikt = "4.4.0"
|
|
icu4j = "75.1"
|
|
junit-jupiter = "5.11.0"
|
|
kotlin-logging-jvm = "7.0.0"
|
|
logback = "1.5.7"
|
|
|
|
[plugins]
|
|
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
|
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
|
android-library = { id = "com.android.library", version.ref = "agp" }
|
|
android-lint = { id = "com.android.lint", version.ref = "agp" }
|
|
google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
|
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
|
|
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
|
ktlint = "org.jlleitschuh.gradle.ktlint:12.1.1"
|
|
room = { id = "androidx.room", version.ref = "androidx-room" }
|
|
quadrant = { id = "com.gaelmarhic.quadrant", version.ref = "quadrant" }
|
|
apollographql = { id = "com.apollographql.apollo3", version.ref = "apollographql"}
|
|
|
|
# Plugins defined by this project
|
|
pachli-android-application = { id = "pachli.android.application", version = "unspecified" }
|
|
pachli-android-application-flavors = { id = "pachli.android.application.flavors", version = "unspecified" }
|
|
pachli-android-hilt = { id = "pachli.android.hilt", version = "unspecified" }
|
|
pachli-android-library = { id = "pachli.android.library", version = "unspecified" }
|
|
pachli-android-room = { id = "pachli.android.room", version = "unspecified" }
|
|
pachli-tool = { id = "pachli.tool", version = "unspecified" }
|
|
|
|
[libraries]
|
|
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
|
|
aboutlibraries-legacy-ui = { module = "com.mikepenz:aboutlibraries", version.ref = "aboutlibraries" }
|
|
acra-dialog = { module = "ch.acra:acra-dialog", version.ref = "acra" }
|
|
acra-mail = { module = "ch.acra:acra-mail", version.ref = "acra" }
|
|
android-material = { module = "com.google.android.material:material", version.ref = "material" }
|
|
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
|
|
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
|
|
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" }
|
|
androidx-cardview = { module = "androidx.cardview:cardview", version.ref = "androidx-cardview" }
|
|
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
|
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
|
|
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-splashscreen" }
|
|
androidx-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-testing" }
|
|
androidx-emoji2-core = { module = "androidx.emoji2:emoji2", version.ref = "emoji2" }
|
|
androidx-emoji2-views-core = { module = "androidx.emoji2:emoji2-views", version.ref = "emoji2" }
|
|
androidx-emoji2-view-helper = { module = "androidx.emoji2:emoji2-views-helper", version.ref = "emoji2" }
|
|
androidx-exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "androidx-exifinterface" }
|
|
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
|
|
androidx-hilt-common = { module = "androidx.hilt:hilt-common", version.ref = "androidx-hilt" }
|
|
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" }
|
|
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" }
|
|
androidx-lifecycle-common-java8 = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "androidx-lifecycle" }
|
|
androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" }
|
|
androidx-lifecycle-reactivestreams-ktx = { module = "androidx.lifecycle:lifecycle-reactivestreams-ktx", version.ref = "androidx-lifecycle" }
|
|
androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
|
|
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" }
|
|
androidx-media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "androidx-media3" }
|
|
androidx-media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "androidx-media3" }
|
|
androidx-media3-exoplayer-rtsp = { module = "androidx.media3:media3-exoplayer-rtsp", version.ref = "androidx-media3" }
|
|
androidx-media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "androidx-media3" }
|
|
androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" }
|
|
androidx-paging-runtime-ktx = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" }
|
|
androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
|
|
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
|
|
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidx-room" }
|
|
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
|
|
androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "androidx-room" }
|
|
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
|
|
androidx-sharetarget = { module = "androidx.sharetarget:sharetarget", version.ref = "androidx-sharetarget" }
|
|
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidx-swiperefresh-layout" }
|
|
androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core-ktx" }
|
|
androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-junit" }
|
|
androidx-transition = { module = "androidx.transition:transition-ktx", version.ref = "androidx-transition" }
|
|
androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version.ref = "androidx-viewpager2" }
|
|
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "androidx-webkit" }
|
|
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
|
|
androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
|
|
app-update = { module = "com.google.android.play:app-update", version.ref = "app-update" }
|
|
app-update-ktx = { module = "com.google.android.play:app-update-ktx", version.ref = "app-update" }
|
|
apollo-runtime = { module = "com.apollographql.apollo3:apollo-runtime", version.ref = "apollographql" }
|
|
auto-service-annotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "auto-service"}
|
|
auto-service-ksp = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "auto-service-ksp"}
|
|
bouncycastle = { module = "org.bouncycastle:bcprov-jdk15on", version.ref = "bouncycastle" }
|
|
conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscrypt" }
|
|
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
|
|
diffx = { module = "org.pageseeder.diffx:pso-diffx", version.ref = "diffx" }
|
|
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" }
|
|
filemojicompat-core = { module = "de.c1710:filemojicompat", version.ref = "filemoji-compat" }
|
|
filemojicompat-defaults = { module = "de.c1710:filemojicompat-defaults", version.ref = "filemoji-compat" }
|
|
filemojicompat-ui = { module = "de.c1710:filemojicompat-ui", version.ref = "filemoji-compat" }
|
|
glide-animation-plugin = { module = "com.github.penfeizhou.android.animation:glide-plugin", version.ref = "glide-animation-plugin" }
|
|
glide-compiler = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
|
|
glide-core = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
|
|
glide-okhttp3-integration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "glide" }
|
|
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
|
|
hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
|
|
hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" }
|
|
junit = { module = "junit:junit", version.ref = "junit" }
|
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" }
|
|
junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit-jupiter" }
|
|
kotlin-result = { module = "com.michael-bull.kotlin-result:kotlin-result", version.ref = "kotlin-result" }
|
|
kotlin-result-coroutines = { module = "com.michael-bull.kotlin-result:kotlin-result-coroutines", version.ref = "kotlin-result" }
|
|
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
kotlinx-coroutines-play-services = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "coroutines-play-services" }
|
|
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
|
|
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
|
image-cropper = { module = "com.github.CanHub:Android-Image-Cropper", version.ref = "image-cropper" }
|
|
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
|
|
lint-api = { module = "com.android.tools.lint:lint-api", version.ref = "lint" }
|
|
lint-checks = { module = "com.android.tools.lint:lint-checks", version.ref = "lint" }
|
|
lint-cli = { module = "com.android.tools.lint:lint", version.ref = "lint" }
|
|
lint-tests = { module = "com.android.tools.lint:lint-tests", version.ref = "lint" }
|
|
material-drawer-core = { module = "com.mikepenz:materialdrawer", version.ref = "material-drawer" }
|
|
material-drawer-iconics = { module = "com.mikepenz:materialdrawer-iconics", version.ref = "material-drawer" }
|
|
material-iconics = { module = "com.mikepenz:iconics-core", version.ref="material-iconics" }
|
|
material-typeface = { module = "com.mikepenz:google-material-typeface", version.ref = "material-typeface" }
|
|
mlkit-language-id = { module = "com.google.android.gms:play-services-mlkit-language-id", version.ref = "mlkit-language-id" }
|
|
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockito-kotlin" }
|
|
mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockito-inline" }
|
|
mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" }
|
|
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
|
|
moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
|
|
moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
|
|
moshix-sealed-runtime = { module = "dev.zacsweers.moshix:moshi-sealed-runtime", version.ref = "moshix" }
|
|
moshix-sealed-codegen = { module = "dev.zacsweers.moshix:moshi-sealed-codegen", version.ref = "moshix" }
|
|
networkresult-calladapter = { module = "at.connyduck:networkresult-calladapter", version.ref = "networkresult-calladapter" }
|
|
okhttp-core = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
|
|
okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
|
|
okhttp-tls = { module = "com.squareup.okhttp3:okhttp-tls", version.ref = "okhttp" }
|
|
okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
|
|
org-json = { module = "org.json:json", version.ref = "org-json"}
|
|
play-services-base = { module = "com.google.android.gms:play-services-base", version.ref = "play-services-base" }
|
|
retrofit-converter-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit" }
|
|
retrofit-core = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
|
|
robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
|
|
semver = { module = "io.github.z4kn4fein:semver", version.ref = "semver" }
|
|
sparkbutton = { module = "at.connyduck.sparkbutton:sparkbutton", version.ref = "sparkbutton" }
|
|
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
|
|
touchimageview = { module = "com.github.MikeOrtiz:TouchImageView", version.ref = "touchimageview" }
|
|
truth = { module = "com.google.truth:truth", version.ref = "truth" }
|
|
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
|
|
unified-push = { module = "com.github.UnifiedPush:android-connector", version.ref = "unified-push" }
|
|
xmlwriter = { module = "org.pageseeder.xmlwriter:pso-xmlwriter", version.ref = "xmlwriter" }
|
|
|
|
# Tool libraries
|
|
betterparse = { module = "com.github.h0tk3y.betterParse:better-parse", version.ref = "betterparse" }
|
|
clikt = { module = "com.github.ajalt.clikt:clikt", version.ref = "clikt" }
|
|
icu4j = { module = "com.ibm.icu:icu4j", version.ref = "icu4j"}
|
|
kotlin-logging-jvm = { module = "io.github.oshai:kotlin-logging-jvm", version.ref = "kotlin-logging-jvm" }
|
|
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
|
|
|
# build-logic dependencies
|
|
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "agp" }
|
|
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
|
ksp-gradlePlugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
|
|
|
|
[bundles]
|
|
aboutlibraries = ["aboutlibraries-core", "aboutlibraries-legacy-ui"]
|
|
acra = ["acra-dialog", "acra-mail"]
|
|
androidx = ["androidx-core-ktx", "androidx-appcompat", "androidx-fragment-ktx", "androidx-browser", "androidx-swiperefreshlayout",
|
|
"androidx-recyclerview", "androidx-exifinterface", "androidx-cardview", "androidx-preference-ktx", "androidx-sharetarget",
|
|
"androidx-emoji2-core", "androidx-emoji2-views-core", "androidx-emoji2-view-helper", "androidx-lifecycle-viewmodel-ktx",
|
|
"androidx-lifecycle-livedata-ktx", "androidx-lifecycle-common-java8", "androidx-lifecycle-reactivestreams-ktx",
|
|
"androidx-constraintlayout", "androidx-paging-runtime-ktx", "androidx-viewpager2", "androidx-work-runtime-ktx",
|
|
"androidx-core-splashscreen", "androidx-activity", "androidx-media3-exoplayer", "androidx-media3-exoplayer-dash",
|
|
"androidx-media3-exoplayer-hls", "androidx-media3-exoplayer-rtsp", "androidx-media3-datasource-okhttp", "androidx-media3-ui",
|
|
"androidx-transition",
|
|
"android-material"]
|
|
filemojicompat = ["filemojicompat-core", "filemojicompat-ui", "filemojicompat-defaults"]
|
|
glide = ["glide-core", "glide-okhttp3-integration", "glide-animation-plugin"]
|
|
lint-api = ["kotlin-stdlib", "lint-api", "lint-checks"]
|
|
lint-tests = ["junit", "lint-cli", "lint-tests"]
|
|
material-drawer = ["material-drawer-core", "material-drawer-iconics"]
|
|
mockito = ["mockito-kotlin", "mockito-inline"]
|
|
okhttp = ["okhttp-core", "okhttp-logging-interceptor", "okhttp-tls"]
|
|
retrofit = ["retrofit-core", "retrofit-converter-moshi"]
|
|
room = ["androidx-room-ktx", "androidx-room-paging"]
|
|
xmldiff = ["diffx", "xmlwriter"]
|