Dependency management in the Kotlin, in the Android, and in the JVM ecosystems is great, especially for Gradle users, but there’s room for improvement.

Some tasks, like upgrading dependencies to the right versions, are still tedious and time consuming. There’s also compatibility gotchas because of the lack of metadata.

This talk will start with a mention of the different problems that come with dependency management in real-world projects. Then, we will see what Gradle’s new “Version catalogs” can do for us. Then it’ll show how the developer tool refreshVersions (MIT licensed) tackles some of these issues in Gradle projects, saving a lot of time when upgrading dependencies.

Finally, I’ll talk about what the future can be for dependency management, be it from new features in future Gradle versions, or tools or conventions that the community can create to improve the status quo.