Update gradle dependencies - #1207
Conversation
No changeset foundThis PR modifies versioned packages but doesn't include a changeset. The following packages require a version bump:
A package must be bumped when its own files change, and whenever a package it depends on is bumped (so downstream consumers get a matching release). Click here to create a changeset for the missing packages The link pre-populates a changeset file with If this change doesn't require a version bump, add the |
1fc47f0 to
9ec8207
Compare
9ec8207 to
8034cd9
Compare
6cf44b3 to
c06f5f0
Compare
| id("com.android.library") version "8.13.2" | ||
| id("org.jetbrains.kotlin.android") version "1.9.25" |
There was a problem hiding this comment.
🔴 Android library build can fail because the Kotlin toolchain is too old for the newly upgraded libraries
The Android library keeps the old Kotlin build plugin (org.jetbrains.kotlin.android version "1.9.25" at livekit-uniffi/support/android/build.gradle.kts:6) while its libraries are bumped to versions produced by a much newer Kotlin, so the packaged Android artifact can stop building.
Impact: The Android release job may fail, blocking publishing of the Android package.
Kotlin metadata / AGP compatibility mismatch
kotlinx-coroutines-core:1.11.0 (livekit-uniffi/support/android/build.gradle.kts:64) is compiled with Kotlin 2.2.20, and androidx.annotation:annotation:1.10.0 (livekit-uniffi/support/android/build.gradle.kts:62) is likewise built with a Kotlin 2.x toolchain. The Kotlin 1.9.x compiler only accepts binary metadata up to version 2.0, so compiling the generated UniFFI Kotlin sources (wired in at livekit-uniffi/support/android/build.gradle.kts:52-58) against these artifacts typically fails with "was compiled with an incompatible version of Kotlin. The binary version of its metadata is 2.2.0, expected version is 1.9.0".
Additionally, AGP is jumped from 8.2.2 to 8.13.2 (livekit-uniffi/support/android/build.gradle.kts:5) while Kotlin Gradle Plugin 1.9.25 predates and was never tested against AGP 8.13; the usual supported pairing for AGP 8.13 is KGP 2.x. Bumping the Kotlin plugin to 2.x (and verifying compileSdk) alongside these dependency updates would keep the build consistent.
Prompt for agents
The Android support build for livekit-uniffi bumps AGP to 8.13.2 and dependencies (kotlinx-coroutines 1.11.0, androidx.annotation 1.10.0) that are compiled with Kotlin 2.x, while keeping the Kotlin Android Gradle plugin at 1.9.25. Kotlin 1.9 compilers reject binary metadata newer than 2.0, and KGP 1.9.x is not a supported companion to AGP 8.13. Verify by running the Android package build (cargo make android-package / ./gradlew assembleRelease) and, if it fails, bump org.jetbrains.kotlin.android to a 2.x release compatible with AGP 8.13 (and re-check compileSdk/jvmTarget settings), or keep the dependency versions at the last Kotlin 1.9-compatible releases.
Was this helpful? React with 👍 or 👎 to provide feedback.
c06f5f0 to
7b94923
Compare
Generated by renovateBot
7b94923 to
2d3fe3b
Compare
This PR contains the following updates:
9.6.1→9.7.09.7.18.10.2→8.14.51.8.1→1.11.05.16.0→5.19.11.9.0→1.10.01.9.22→1.9.258.2.2→8.13.2Release Notes
gradle/gradle (gradle)
v9.7.0Compare Source
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-core)
v1.11.0Compare Source
Various
Breaking changes and deprecations
Promise-related functions from JS and Wasm/JS to the newwebtarget. On Wasm/JS, this is a breaking change. Before the change,Promiseon Wasm/JS could work with arbitrary Kotlin types, but now, onlyJsAnysubtypes are accepted (#4563).CoroutineDispatcheras the coroutine context key; now,ContinuationInterceptorhas to be used instead (#4333).kotlinx-coroutines-testAPIs (#4604).Jobto coroutine builders as deprecated (#4435).Bug fixes and improvements
callsInPlace(EXACTLY_ONCE)contract torunBlockingin code shared between JVM and Native (#4368).callsInPlace(EXACTLY_ONCE)contract tosuspendCancellableCoroutine(#4574).flowOnincorrectly handlingThreadContextElementupdates (#4403).Thread.UncaughtExceptionHandlerinstances causing the internal coroutines machinery to fail (#4516).CoroutineDispatcher.asSchedulerin the RxJava integration not cancelling outstanding work when aWorkergets cancelled, which led to memory leaks in some scenarios (#4615).SharedFlowentering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).shareIn/stateIncoroutines getting garbage-collected (#4646). Thanks, @solevic!Small additions
CompletableDeferred.asDeferredfor obtaining a read-onlyDeferredview (#4408).SharedFlow.asFlowfor obtaining aFlowview with hidden hot flow semantics (#4530). Thanks, @g000sha256!StateFlow.collectLatestoverload returningNothingto assist with finding unreachable code (#4454).ReceiveChannel.consumeTofor consuming aReceiveChannelinto aMutableCollection(#4520).StateFlow<T>.onSubscriptionoverload returning aStateFlow<T>, similar toSharedFlow<T>.onSubscriptionreturningSharedFlow<T>(#4275). Thanks, @xit0c!Flowoperators for collecting aFlowto aMap(#1541).Changelog relative to version 1.11.0
No changes, only the version is increased.
v1.10.2Compare Source
kotlinx-coroutines-debugJAR file including themodule-info.classfile twice, resulting in failures in various tooling (#4314). Thanks, @RyuNen344!Flow.stateInhanging when the scope is cancelled in advance or the flow is empty (#4322). Thanks, @francescotescari!.limitedParallelism(#4330) and during flow collection (#4272).runBlockingfailing to run its coroutine to completion in some cases if its JVM thread got interrupted (#4399).v1.10.1Compare Source
v1.10.0Compare Source
Flow.any,Flow.all, andFlow.none(#4212). Thanks, @CLOVIS-AI!kotlinx-coroutines-debugandkotlinx-coroutines-corecode to avoid a split package between the two artifacts (#4247). Note that directly referencingkotlinx.coroutines.debug.AgentPremainmust now be replaced withkotlinx.coroutines.debug.internal.AgentPremain. Thanks, @sellmair!kotlinx-coroutines-debug, reducing the artifact size and simplifying the build configuration of client code. Thanks, @sellmair!NullPointerExceptionwhen using Java-deserializedkotlinx-coroutines-coreexceptions (#4291). Thanks, @AlexRiedler!CoroutineDispatcher.dispatchinstead of raising internal errors (#4091). Thanks, @zuevmaxim!Dispatchers.DefaultorDispatchers.IOtask after ayield()in rare scenarios (#4248).main()coroutine on Wasm/WASI from executing after adelay()call in some scenarios (#4239).runBlockingtasks on Kotlin/Native that arrive after therunBlockingblock was exited (#4245).Flowoperators sometimes resuming without taking cancellation into account (#4254). Thanks, @jxdabc!ThreadLocalvalues not to get cleaned when using non-CoroutineDispatchercontinuation interceptors (#4296).v1.9.0Compare Source
Features
limitedParallelismnow optionally accepts the name of the dispatcher view for easier debugging (#4023).Dispatchers.IOon the JVM when other standard dispatchers are accessed (#4166). Thanks, @metalhead8816!Flow<T>.chunked(size: Int): Flow<List<T>>operator that groups emitted values into groups of the given size (#1290).AutoCloseablenow (#4123).Fixes
hasNexton aChannel's iterator is idempotent (#4065). Thanks, @gitpaxultek!CoroutineScope()created without an explicit dispatcher usesDispatchers.Defaulton Native (#4074). Thanks, @whyoleg!Dispatchers.Mainfrom initializing when the Firebase dependency is used (#3914).runBlocking(#4134).MutextoSemaphore(#4176).asDeferredon aFuturemany times (#4156).Deprecations and promotions
BroadcastChannel-based API (#4197).kotlinx-coroutines-testAPI (#4198).Job.cancelFutureOnCompletion(#4173).CoroutineDispatcher.limitedParallelismto stable (#3864).CoroutineStart.ATOMICfromExperimentalCoroutinesApitoDelicateCoroutinesApi(#4169).CancellableContinuation.resumewith anonCancellationlambda to stable, providing extra arguments to the lambda (#4088).InternalForInheritanceCoroutinesApiopt-in (#3770).ExperimentalForInheritanceCoroutinesApiopt-in (#3770).Other
CoroutineStartandChannel-based API (#4147, #4148, #4167). Thanks, @globsterg!Job(#4053).java-native-access/jna (net.java.dev.jna:jna)
v5.19.1Compare Source
==============
Bug Fixes
MethodHandlewith reflection to restore support for older Android releases - @matthiasblaesing.v5.19.0Compare Source
==============
Features
LARGE_INTEGER.ByValuetoLARGE_INTEGERinWinNT.java- @baier233.Cupstoc.s.j.p.unixproviding CUPS printing system bindings for destinations, jobs, options, and server configuration - @dbwiddis.groupCountandgroupMasksfields toCACHE_RELATIONSHIPinc.s.j.p.win32.WinNT, matching the updated Windows struct layout - @dbwiddis.CoreGraphicstoc.s.j.p.macwith Quartz Window Services and Display Services bindings; implementgetAllWindows()inMacWindowUtils- @dbwiddis.ProcFdInfo,InSockInfo,TcpSockInfo,proc_pidfdinfo,statfs64, andvm_deallocatetoc.s.j.p.mac.SystemB- @dbwiddis.BluetoothApistoc.s.j.p.win32providing Bluetooth device and radio enumeration viaBluetoothFindFirstRadio,BluetoothFindFirstDevice, and related functions - @dbwiddis.Bug Fixes
UdevDevice.getSysname()callingudev_device_get_syspathinstead ofudev_device_get_sysname- @dbwiddis.serverName/domainNamearguments inNetapi32Util#getDCName- @dbwiddis.Advapi32#RegisterServiceCtrlHandlerusing wrongHandlertype - @dbwiddis.host_page_sizeinc.s.j.p.mac.SystemBandgetxattr/setxattr/listxattrinc.s.j.p.mac.XAttrusinglonginstead of pointer-sized types forsize_t/ssize_tparameters - @dbwiddis.NativeLibraryversioned library resolution, libc special-case loading, and 64-bit search paths - @dbwiddis.v5.18.1Compare Source
==============
Bug Fixes
sortFieldsrace condition while getting fields - @bendk.v5.18.0Compare Source
==============
Features
isRISCVtoc.s.j.Platform- @Glavo.CFLocale,CFLocaleCopyCurrent,CFCFDateFormatter,CFDateFormatterStyle,CFDateFormatterCreateandCFDateFormatterGetFormattoc.s.j.p.mac.CoreFoundation- @dbwiddis.Bug Fixes
v5.17.0Compare Source
==============
Features
Bug Fixes
Configuration
📅 Schedule: (UTC)
🚦 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 if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.