Releases: Splitties/refreshVersions
0.60.6
Version 0.60.6 (2025-08-15)
Bug fix
Replaced usage of internal Gradle API that was removed/hidden in Gradle 9.0.0 and caused the builds of "consumer" projects to fail on Gradle upgrade.
Thanks to AlexanderBartash for their contribution, and to the people that pinged me in issue #735!
0.60.5
0.60.4
Version 0.60.4 (2024-01-31)
Potentially breaking change
We now support only Gradle 8+. Use Gradle 8+ or stick to version 0.60.3 if you can't yet.
Bug fix
Update the priority of artifact version key rules so that the longest match takes precedence, rather than the final key length.
That should fix the keys of androidx.wear.compose libraries.
0.60.3
0.60.2
Version 0.60.2 (2023-08-29)
Bug fix
Some version keys were wrongly marked as unused following version 0.60.0. That's now fixed.
Thanks to the reporters and people that helped in reproducing the issue!
Removed dependency notations
Several Accompanist libraries were deprecated following this announcement.
As a result, we updated removed them from refreshVersions.
As usual, it won't break projects because we update the dependency notations with the equivalent string literal.
Also, relevant inline comments with links will be added to assist migration.
New dependency notations
Click to expand (18)
AndroidX.core.performance.playServicesAndroidX.core.performance.testingCashApp.sqlDelight.drivers.androidCashApp.sqlDelight.extensions.androidPaging3CashApp.sqlDelight.extensions.coroutinesCashApp.sqlDelight.gradlePluginCashApp.sqlDelight.dialects.hSqlCashApp.sqlDelight.drivers.jdbcCashApp.sqlDelight.dialects.mySqlCashApp.sqlDelight.drivers.nativeCashApp.sqlDelight.dialects.postgreSqlCashApp.sqlDelight.extensions.rxJava2CashApp.sqlDelight.extensions.rxJava3CashApp.sqlDelight.drivers.jdbcSqliteCashApp.sqlDelight.drivers.sqlJsCashApp.sqlDelight.drivers.webWorkerGoogle.accompanist.adaptiveGoogle.accompanist.testHarness
0.60.1
Version 0.60.1 (2023-08-24)
Bug fix
- Fix crash on projects that had no version catalog.
New dependency notations:
Click to expand (25)
Google.android.play.appUpdateKtxGoogle.android.play.appUpdateGoogle.android.play.assetDeliveryKtxGoogle.android.play.assetDeliveryGoogle.android.play.featureDeliveryKtxGoogle.android.play.featureDeliveryGoogle.android.play.reviewKtxGoogle.android.play.reviewGoogle.horologist.annotationsGoogle.horologist.auth.composablesGoogle.horologist.auth.data.phoneGoogle.horologist.auth.data.watchOAuthGoogle.horologist.auth.dataGoogle.horologist.auth.uiGoogle.horologist.compose.materialGoogle.horologist.dataLayer.grpcGoogle.horologist.dataLayer.phoneGoogle.horologist.dataLayer.watchGoogle.horologist.healthComposablesGoogle.horologist.media3.audioOffloadGoogle.horologist.media3.loggingGoogle.horologist.media3.outputSwitcherGoogle.horologist.networkAwareness.dbGoogle.horologist.networkAwareness.okHttpGoogle.horologist.networkAwareness.ui
0.60.0
Version 0.60.0 (2023-08-17)
Full configuration cache support for the refreshVersions task
Now, running the refreshVersions task repeatedly will be much faster, because it now supports
configuration cache fully! That also means that it's ready for Gradle 9 when it'll be released.
Bug fixes
- Fix "The root project is not yet available for build." error that would show up when using configuration cache in a project having
refreshVersionsconfigured for thebuildSrctoo. - For projects using refreshVersions in their
buildSrctoo, a log would claim that new files were created after running therefreshVersionstask, when they were only modified, or not touched at all. We fixed it. - When no files were modified after running the
refreshVersionstask, there would still be a log saying thatversions.propertiesandlibs.versions.toml(if any) were updated or created. Now, it's only shown if there are actual changes. - When running the
refreshVersionstask, it would always claim that some versions were hardcoded as it counted project dependencies. We are now filtering those out, and we updated the wording to reflect that they might not be actually hardcoded, as is the case when versions come from a Gradle plugin. - Fix alignment of available update for versions catalogs for keys that are 3 characters long.
New dependency notations:
Click to expand (57)
AndroidX.appSearch.debugViewAndroidX.appSearch.ktxAndroidX.benchmark.baselineProfileGradlePluginAndroidX.camera.viewFinderAndroidX.core.i18nAndroidX.core.locationAltitudeAndroidX.core.telecomAndroidX.core.testingAndroidX.credentials.playServicesAuthAndroidX.credentialsAndroidX.emoji2.pickerAndroidX.glance.material3AndroidX.glance.materialAndroidX.graphics.pathAndroidX.graphics.shapesAndroidX.media3.containerAndroidX.media3.effectAndroidX.media3.muxerAndroidX.mediaRouter.testingAndroidX.privacySandbox.plugins.libraryAndroidX.privacySandbox.sdkRuntime.clientAndroidX.privacySandbox.sdkRuntime.coreAndroidX.privacySandbox.tools.apiCompilerAndroidX.privacySandbox.tools.apiGeneratorAndroidX.privacySandbox.tools.apiPackagerAndroidX.privacySandbox.tools.coreAndroidX.privacySandbox.toolsAndroidX.privacySandbox.ui.clientAndroidX.privacySandbox.ui.coreAndroidX.privacySandbox.ui.providerAndroidX.room.gradlePluginAndroidX.tracing.perfetto.handshakeAndroidX.wear.compose.material3AndroidX.wear.compose.uiToolingAndroidX.wear.protoLayout.expressionAndroidX.wear.protoLayout.materialAndroidX.wear.protoLayout.rendererAndroidX.wear.protoLayoutAndroidX.window.extensions.coreGoogle.android.playServices.deviceToDeviceInteractionsGoogle.android.playServices.gamesV2.nativeCGoogle.android.playServices.gamesV2Google.android.playServices.matterGoogle.android.playServices.mlKit.naturalLanguage.smartReplyGoogle.android.playServices.mlKit.vision.barcodeScanning.codeScannerGoogle.android.playServices.mlKit.vision.textRecognition.chineseGoogle.android.playServices.mlKit.vision.textRecognition.devanagariGoogle.android.playServices.mlKit.vision.textRecognition.japaneseGoogle.android.playServices.mlKit.vision.textRecognition.koreanGoogle.android.playServices.tfLite.accelerationServiceGoogle.android.playServices.tfLite.gpuGoogle.android.playServices.tfLite.javaGoogle.android.playServices.tfLite.supportGoogle.android.playServices.threadNetworkGoogle.mlKit.vision.entityExtractionGoogle.mlKit.vision.faceMeshDetectionKotlin.gradlePlugin
0.51.0
Version 0.51.0 (2022-10-25)
Support Jetpack Compose BoM
Yesterday, Google released a BoM for Jetpack Compose.
Today we're introducing first-class support for it.
To take advantage of it, you just need to add the dependency on platform(AndroidX.compose.bom).
Just like Firebase.bom, make sure you add it before any dependent dependency:
dependencies {
implementation(platform(AndroidX.compose.bom)) // Add this FIRST
implementation(AndroidX.compose.material3) // Related dependencies AFTER
implementation(AndroidX.compose.material3.windowSizeClass) // Same as above
}In case you need to use a pre-release version (alpha, beta, rc…), use the withVersionPlaceholder() function as such:
dependencies {
implementation(platform(AndroidX.compose.bom)) // Enables the BoM and depends on it
implementation(AndroidX.compose.icons.extended) // Uses version defined in the BoM
implementation(AndroidX.compose.material3.withVersionPlaceholder()) // Separate version in versions.properties
}Fix StabilityLevel calculation for number-less pre-versions
Since last changes in the Version class, versions like 1.7.20-RC and 1.7.20-Beta would be marked as stable instead of respectively ReleaseCandidate and Beta because the logic expected a number in all cases.
The number is now optional for all pre-versions, except milestones.
To prevent future recurrence of such regression, this commit
also adds tests that assert the expected stability level of
many known versions from various libraries.
New dependency notations:
Click to expand (11)
AndroidX.asyncLayoutInflater.appcompatAndroidX.compose.bomAndroidX.dataStore.core.okioAndroidX.graphics.coreAndroidX.input.motionPredictionAndroidX.paging.testingAndroidX.test.espresso.deviceAndroidX.tv.foundationAndroidX.tv.materialFirebase.dynamicModuleSupportGoogle.firebase.dynamicModuleSupport
0.50.2
Version 0.50.2 (2022-09-24)
Minor change
Disable the old refreshVersionsDependenciesMapping and migrateToRefreshVersionsDependenciesConstants Gradle tasks.
Fixes
versionForcould not work as it should have if it was used in multiple modules with different values: therefreshVersionstask would only display the updates of some of them, and mark the other ones as unused. This has been fixed.- Running the
refreshVersionsCleanuptask would log that thegradle/libs.versions.tomlfile was modified even if it wasn't, and didn't exist in the first place. This is now fixed. - Version ordering now recognizes random qualifiers instead of marking with an unknown stability level.
New dependency notations:
Click to expand (15)
AndroidX.media3.dataSourceApolloGraphQL.adaptersApolloGraphQL.apiApolloGraphQL.astApolloGraphQL.httpCacheApolloGraphQL.idlingResourceApolloGraphQL.mockserverApolloGraphQL.normalizedCacheSqliteApolloGraphQL.normalizedCacheApolloGraphQL.runtimeApolloGraphQL.testingSupportGoogle.horologist.dataLayerKotlinX.serialization.bomKotlinX.serialization.json.okioSpring.boot.web
Credits
Thanks to all the folks that contributed in this release!
- Jacob Kwitkoski (@thederputy)
- Florian Levis (@Gounlaf)
- Seokjae Lee (@doljae)
- solonovamax (@solonovamax)
- Louis CAD (@LouisCAD)
- Jean-Michel Fayard (@jmfayard)