0.20.0
Version 0.20.0 (2021-08-23)
Announcement
We are now ready to accept dependency notation contributions for high-quality and popular dependencies from the Kotlin ecosystem!
Look for issues with the Dependency notations
and up-for-grabs
tags to find one you can directly contribute to, or submit a new issue to ask for a new one to be added. We updated the contributing guide on the website, it now has a guide dedicated to it here.
New features
- refreshVersions will now add
## unused
comments on top of unused entries in theversions.properties
file after you run therefreshVersions
task, so you know which ones are obsolete and can be removed. - The new
rejectVersionsIf { … }
predicate available in therefreshVersions { … }
extension in yoursettings.gradle[.kts]
file will allow you to filter any kind of versions you don't want to know about. It can be handy to filter snapshots out for example. - Most of our dependency notations now provide more flexibility with 3 new extension functions:
withVersionPlaceholder()
,withVersion(…)
, andwithoutVersion()
.
Change (potentially breaking)
- If you use a BoM from the built-in dependency notations, it must always appear before dependencies from the group it controls, or you'll see an error message that will fail the Gradle build. We do this because we can't switch on usage of the BoM for linked dependencies that have already been evaluated by Gradle.
Improvements
The refreshVersionsMigrate
will now use the built-in dependency notations if they match existing dependencies.
New dependency notations:
- AndroidX:
- benchmark.macroJunit4
- core.splashscreen
- games:
- activity
- controller
- framePacing
- performanceTuner
- textInput
- navigation.testing
- wear.compose:
- foundation
- material
- window
- java
- rxJava2
- rxJava3
- testing
- COIL:
- compose
- composeBase
- Firebase:
- cloudMessagingDirectBoot
- Firebase.mlModelDownloaderKtx
- Firebase.mlModelDownloader
- Kodein.di (new group with many dependencies)
- Kotlin.test (which is compatible with multiplatform projects since Kotlin 1.5)
- KotlinX.html (compatible with multiplatform projects)
- Ktor.features.serialization
- Http4k (new group with many dependencies)
- Splitties.alertdialogMaterial
- Square
- okHttp3.bom
- okHttp3 (shortcut to existing okHttp3.okHttp)
- retrofit2.converter.wire
- retrofit2 (shortcut to existing retrofit2.retrofit)
- Spring (new group with many dependencies)