Is the dependency safe to upgrade?
Gradle
8.2.1: ✔
8.1.1: ✔
Configuration cache stable(requires Kotlin 1.8 and
sourceCompatibility
, etc.)1
2
3
4
5
6
7compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
8.0.2: ✔
7.5.1: ✔
7.4.2: ✔
7.3.3: ✔
7.1.1: ✔
Kotlin
org.jetbrains.kotlin:kotlin
1.8.22: ✔
- kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 -> kotlin-stdlib
kotlinx-android-extension
1.7.20: ✔
T & Any
min()
andmax()
throw exceptions if emptyDeepRecursiveFunction
- sam-with-receiver plugin
1.6.21: ✔
1.6.10: ✔
buildList
,buildSet
, andbuildMap
1.5.31: ✔
Kotlin to IDE Compatibility Map
org.jetbrains.kotlinx:kotlinx-coroutines
1.7.3: ✔
1.7.1: ✔(Kotlin 1.8)
TestCoroutineScheduler
,runTest
, andTestScope
API are promoted to stable
1.6.4: ✔
1.5.2: ✔
com.android.tools.build:gradle(& Android Studio)
8.0.2: ✔
7.4.2: ❌ Broken
- New Logcat
7.3.1: ✔
Since 7.1.3:
7.2.2: ❌ Basically broken
7.1.3: ✔
7.0.4: ✔
-
1.6.1: ✔
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
1.5.1: ✔(Android 13(33))
1.4.2: ✔
1.4.1: ✔(Android 12(31))
1.3.1: ✔
-
- 1.7.2: ✔(Kotlin 1.8, Compose 2023.06.01)
-
1.6.1: ✔
1.5.6: ✔
1.4.1: ✔(Android 12(31))
- FragmentContainerView.getFragment
1.3.6: ✔
-
2.6.1: ✔(Kotlin 1.8)
LiveData.isInitialized
Lifecycle.launchWhenX
- If you want
Observer.onChanged()
to accept a nullable type, you must instantiate theObserver
with a nullable type.
2.5.1: ✔
2.4.1: ✔(Android 12(31))
lifecycle-common-java8
2.3.1: ✔
-
1.10.1: ✔(Kotlin 1.8)
- Adds compatibility methods for new APIs introduced in Android 13 for Parcels, Bundles, and Intents.
1.9.0: ✔(Android 13(33))
1.8.0: ✔
1.7.0: ✔(Android 12(31))
1.6.0: ✔
androidx.collection:collection-ktx
- 1.2.0: ✔
com.android.tools:desugar_jdk_libs
2.0.3: ✔(AGP 7.4)
1.2.2: ✔(AGP 7.3, Android 13(33))
1.1.5: ✔
getDisplayName
doesn’t work.
androidx.constraintlayout:constraintlayout
2.1.4: ✔
Gone<->Visible components are now animated as expected
androidx.recyclerview:recyclerview
1.3.0: ✔
ConcatAdapter.getWrappedAdapterAndPosition
1.2.1: ✔
androidx.navigation:navigation
- 2.7.1: 🚧(Android 14(34))
- 2.5.3: ✔
- 2.4.2: ✔
- 2.3.5: ✔
-
2.5.2: ✔
2.4.3: ✔(Kotlin 1.7)
2.4.1: ✔(Android 12(31))
- Auto Migrations👍
2.3.0: ✔
androidx.preference:preference
- 1.2.0: ✔
- 1.1.1: ✔
-
- 2.8.1: ✔(Kotlin 1.7.21)
- 2.7.1: ✔(Android 12(31))
- 2.6.0: ✔
-
- 1.1.1: ✔
androidx.security:security-crypto
- 1.1.0-alpha06: ✔
- 1.1.0-alpha03: ✔
androidx.swiperefreshlayout:swiperefreshlayout
- 1.1.0: ✔
androidx.exifinterface:exifinterface
- 1.3.6: ✔
-
- 1.1.0: ✔
- 1.0.0: ✔
Compose BOM to library version mapping
- 2023.08.00: 🚧(Android 14(34))
- 2023.06.01: ✔(Kotlin 1.8)
Compose Compiler Plugin to Kotlin version
- 1.4.8: ✔(Kotlin 1.8.22) + 2023.06.01
com.google.android.material:material
1.9.0: ?
Set the background color:
1
2
3
4
5<style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
<item name="elevationOverlayEnabled">false</item>
<item name="android:colorBackground">#FFF</item>
<item name="colorSurface">#FFF</item>
</style>1.4.0: ✔
com.google.android.flexbox:flexbox
- 3.0.0: ✔
-
- 2.47: ✔
- 2.46.1: ✔
- 2.45: ✔
- 2.44.2: ✔
- 2.42: ✔
- 2.41: ✔
- 2.40.5: ✔
androidx.hilt:hilt-navigation-fragment
- 1.0.0: ✔
androidx.hilt:hilt-work
- 1.0.0: ✔
androidx.hilt:hilt-compiler
- 1.0.0: ✔
com.android.billingclient:billing
- 6.0.1: ✔
- 4.1.0: ✔
- 3.0.2: ✔
com.google.android.gms:play-services-ads
- 22.2.0: ✔
- 21.4.0: ✔
- 20.6.0: ✔
com.google.android.gms:play-services-auth
- 20.6.0: ✔
- 20.2.0: ✔
Third-party
com.squareup.okhttp3:okhttp
- 4.11.0: ✔ okhttp 4.11 Changelog
- 4.10.0: ✔
- 4.9.3: ✔
com.squareup.retrofit2:retrofit
- 2.9.0: ✔
-
1.15.0: ✔(Kotlin 1.8)
1.14.0: ✔(Kotlin 1.7, Android 13(33))
- No more
android.jetifier.ignorelist=moshi-1.13.0
- No more
1.13.0: ✔
- Kotlin 1.6.0
- AGP 7.0.x(and 7.1.x?):
android.jetifier.ignorelist=moshi-1.13.0
ingradle.properties
1.12.0: ✔
-
- 3.3.0: ✔(Kotlin 1.8)
- 3.2.0: ✔
- 2.10.0: ✔
com.squareup.leakcanary:leakcanary-android-startup
- 2.12: ✔
- 2.10(Android 13(33)): ✔
- 2.9.1: ✔
com.jakewharton.timber:timber
- 5.0.1: ✔
-
- 4.15.1: ✔
- 4.14.2: ✔(Android 13(33))
- 4.13.2: ✔
- 4.12.0: ✔
-
- 2.4.0: ✔
-
6.1.0: ✔
6.0.1: ✔
- Allow animations in zip files to contain embedded base64 encoded images
5.2.0: ✔
5.0.3: ✔
4.2.2: ✔
com.github.chuckerteam.chucker:library
- 4.0.0: ✔(Materail 1.9.0)
- 3.5.2: ✔
com.evernote:android-job
- 1.4.2: ✔(Doesn’t work on Android 12(31))
pub.devrel:easypermissions
- 3.0.0: ✔
-
- 5.7.0: ✔(Kotlin 1.7, Android 13(33))
- 5.6.0: ✔(Android 12(31))
- 5.5.1: ✔
-
- 3.3.1: ✔
- 3.2.0: ✔
-
- 2.11.5: ✔
- 2.10.0: ✔(UTF-8 Support)
- 2.9.1: ✔
com.github.kizitonwose:CalendarView
- 1.0.4: ✔(java.time)
- 0.3.5: ✔(ThreeTenABP)
com.github.ben-manes:gradle-versions-plugin
- 0.47.0: ✔
com.dropbox.dependency-guard:dependency-guard
- 0.4.3: ✔
- 0.3.2: ✔
-
13.2.0: !
The client token is now mandatory. SDK initialization will have a check on it and throw out an exception if the client token is not available.
13.1.0: ✔
pl.droidsonroids.gif:android-gif-drawable
- 1.2.25: ✔
Chinese
-
4.1.9.2: ✔
4.0.4: ✔
- Requires setting
deviceID
,deviceModel
,setIsDevelopmentDevice
andcloseNativeReport
manually
- Requires setting
3.4.4: ✔
com.umeng.umsdk:common
- 9.6.5: ✔
- 9.5.2: ✔
- 9.4.7: ✔
- 9.4.5, 9.4.6: ❌ broken
- 9.4.4: ✔
com.umeng.umsdk:asms
- 1.8.0: ✔
- 1.6.3: ✔
- 1.4.1: ✔
com.umeng.umsdk:share
- 7.3.2: ✔
- 7.2.0: ✔
- 7.1.7: ✔
com.tencent.mm.opensdk:wechat-sdk-android-without-mta
- 6.8.0: ✔
-
- 8.5.2: ✔
- 8.4.4: ✔
- 8.0.3: ✔(APK bloats afterwards)
com.meituan.android.walle:library
- 1.1.7: ❌ no release notes
- 1.1.6: ✔
com.alipay.sdk:alipaysdk-android
- 15.8.16: ✔
- 15.8.14: ✔
- 15.8.11: ✔