Skip to content

Releases: Splitties/refreshVersions

0.60.6

16 Aug 08:18
Compare
Choose a tag to compare

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

05 Feb 17:48
Compare
Choose a tag to compare

Version 0.60.5 (2024-02-05)

New dependency notation

  • AndroidX.wear.watchFace.complications.data

Other change

Change the version key of all watchface complication dependencies to be centralized.

0.60.4

31 Jan 16:55
Compare
Choose a tag to compare

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

27 Sep 17:15
Compare
Choose a tag to compare

Version 0.60.3 (2023-09-27)

Bug fix

Fix a bug where version keys would be marked as unused in some projects.

New dependency notations

Click to expand (18)
  • AndroidX.bluetooth
  • AndroidX.bluetooth.testing

0.60.2

29 Aug 16:00
Compare
Choose a tag to compare

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.playServices
  • AndroidX.core.performance.testing
  • CashApp.sqlDelight.drivers.android
  • CashApp.sqlDelight.extensions.androidPaging3
  • CashApp.sqlDelight.extensions.coroutines
  • CashApp.sqlDelight.gradlePlugin
  • CashApp.sqlDelight.dialects.hSql
  • CashApp.sqlDelight.drivers.jdbc
  • CashApp.sqlDelight.dialects.mySql
  • CashApp.sqlDelight.drivers.native
  • CashApp.sqlDelight.dialects.postgreSql
  • CashApp.sqlDelight.extensions.rxJava2
  • CashApp.sqlDelight.extensions.rxJava3
  • CashApp.sqlDelight.drivers.jdbcSqlite
  • CashApp.sqlDelight.drivers.sqlJs
  • CashApp.sqlDelight.drivers.webWorker
  • Google.accompanist.adaptive
  • Google.accompanist.testHarness

0.60.1

24 Aug 07:59
Compare
Choose a tag to compare

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.appUpdateKtx
  • Google.android.play.appUpdate
  • Google.android.play.assetDeliveryKtx
  • Google.android.play.assetDelivery
  • Google.android.play.featureDeliveryKtx
  • Google.android.play.featureDelivery
  • Google.android.play.reviewKtx
  • Google.android.play.review
  • Google.horologist.annotations
  • Google.horologist.auth.composables
  • Google.horologist.auth.data.phone
  • Google.horologist.auth.data.watchOAuth
  • Google.horologist.auth.data
  • Google.horologist.auth.ui
  • Google.horologist.compose.material
  • Google.horologist.dataLayer.grpc
  • Google.horologist.dataLayer.phone
  • Google.horologist.dataLayer.watch
  • Google.horologist.healthComposables
  • Google.horologist.media3.audioOffload
  • Google.horologist.media3.logging
  • Google.horologist.media3.outputSwitcher
  • Google.horologist.networkAwareness.db
  • Google.horologist.networkAwareness.okHttp
  • Google.horologist.networkAwareness.ui

0.60.0

17 Aug 17:15
Compare
Choose a tag to compare

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 refreshVersions configured for the buildSrc too.
  • For projects using refreshVersions in their buildSrc too, a log would claim that new files were created after running the refreshVersions task, when they were only modified, or not touched at all. We fixed it.
  • When no files were modified after running the refreshVersions task, there would still be a log saying that versions.properties and libs.versions.toml (if any) were updated or created. Now, it's only shown if there are actual changes.
  • When running the refreshVersions task, 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.debugView
  • AndroidX.appSearch.ktx
  • AndroidX.benchmark.baselineProfileGradlePlugin
  • AndroidX.camera.viewFinder
  • AndroidX.core.i18n
  • AndroidX.core.locationAltitude
  • AndroidX.core.telecom
  • AndroidX.core.testing
  • AndroidX.credentials.playServicesAuth
  • AndroidX.credentials
  • AndroidX.emoji2.picker
  • AndroidX.glance.material3
  • AndroidX.glance.material
  • AndroidX.graphics.path
  • AndroidX.graphics.shapes
  • AndroidX.media3.container
  • AndroidX.media3.effect
  • AndroidX.media3.muxer
  • AndroidX.mediaRouter.testing
  • AndroidX.privacySandbox.plugins.library
  • AndroidX.privacySandbox.sdkRuntime.client
  • AndroidX.privacySandbox.sdkRuntime.core
  • AndroidX.privacySandbox.tools.apiCompiler
  • AndroidX.privacySandbox.tools.apiGenerator
  • AndroidX.privacySandbox.tools.apiPackager
  • AndroidX.privacySandbox.tools.core
  • AndroidX.privacySandbox.tools
  • AndroidX.privacySandbox.ui.client
  • AndroidX.privacySandbox.ui.core
  • AndroidX.privacySandbox.ui.provider
  • AndroidX.room.gradlePlugin
  • AndroidX.tracing.perfetto.handshake
  • AndroidX.wear.compose.material3
  • AndroidX.wear.compose.uiTooling
  • AndroidX.wear.protoLayout.expression
  • AndroidX.wear.protoLayout.material
  • AndroidX.wear.protoLayout.renderer
  • AndroidX.wear.protoLayout
  • AndroidX.window.extensions.core
  • Google.android.playServices.deviceToDeviceInteractions
  • Google.android.playServices.gamesV2.nativeC
  • Google.android.playServices.gamesV2
  • Google.android.playServices.matter
  • Google.android.playServices.mlKit.naturalLanguage.smartReply
  • Google.android.playServices.mlKit.vision.barcodeScanning.codeScanner
  • Google.android.playServices.mlKit.vision.textRecognition.chinese
  • Google.android.playServices.mlKit.vision.textRecognition.devanagari
  • Google.android.playServices.mlKit.vision.textRecognition.japanese
  • Google.android.playServices.mlKit.vision.textRecognition.korean
  • Google.android.playServices.tfLite.accelerationService
  • Google.android.playServices.tfLite.gpu
  • Google.android.playServices.tfLite.java
  • Google.android.playServices.tfLite.support
  • Google.android.playServices.threadNetwork
  • Google.mlKit.vision.entityExtraction
  • Google.mlKit.vision.faceMeshDetection
  • Kotlin.gradlePlugin

0.51.0

25 Oct 14:53
Compare
Choose a tag to compare

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.appcompat
  • AndroidX.compose.bom
  • AndroidX.dataStore.core.okio
  • AndroidX.graphics.core
  • AndroidX.input.motionPrediction
  • AndroidX.paging.testing
  • AndroidX.test.espresso.device
  • AndroidX.tv.foundation
  • AndroidX.tv.material
  • Firebase.dynamicModuleSupport
  • Google.firebase.dynamicModuleSupport

0.50.2

24 Sep 00:50
Compare
Choose a tag to compare

Version 0.50.2 (2022-09-24)

Minor change

Disable the old refreshVersionsDependenciesMapping and migrateToRefreshVersionsDependenciesConstants Gradle tasks.

Fixes

  • versionFor could not work as it should have if it was used in multiple modules with different values: the refreshVersions task would only display the updates of some of them, and mark the other ones as unused. This has been fixed.
  • Running the refreshVersionsCleanup task would log that the gradle/libs.versions.toml file 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.dataSource
  • ApolloGraphQL.adapters
  • ApolloGraphQL.api
  • ApolloGraphQL.ast
  • ApolloGraphQL.httpCache
  • ApolloGraphQL.idlingResource
  • ApolloGraphQL.mockserver
  • ApolloGraphQL.normalizedCacheSqlite
  • ApolloGraphQL.normalizedCache
  • ApolloGraphQL.runtime
  • ApolloGraphQL.testingSupport
  • Google.horologist.dataLayer
  • KotlinX.serialization.bom
  • KotlinX.serialization.json.okio
  • Spring.boot.web

Credits

Thanks to all the folks that contributed in this release!

0.50.1

12 Sep 04:29
Compare
Choose a tag to compare

Version 0.50.1 (2022-09-11)

Fixes

  • Fix the "Extension of type 'VersionCatalogsExtension' does not exist." error.
  • Versions Catalog migration only worked properly if you ran it twice. This has now been fixed!