why shouldn't i always go with the latest minor ve...
# announcements
l
why shouldn't i always go with the latest minor version of everything ? eg in build.gradle.kts instead of
kotlin("jvm") version "1.5.10"
i'd just do
kotlin("jvm") version "1.5.+"
afaik breaking changes only happen across major version updates so "auto bumping" the minor version should be fine ?
c
If you share your project, you might get bug reports for other versions than the ones you have locally, if you ran tests in CI and want to reproduce them a week later you have to change the file, etc.
l
you might get bug reports for other versions than the ones you have locally
can you elaborate? how/why would could this happen ?
e
gradle's changing version refresh time can be configured or even disabled completely with
gradle --offline
, resulting in different behavior for different users, or CI depending on how caches are shared. non-reproducible builds are bad. kotlin is not perfect and may introduce bugs in minor versions.
l
understood, thanks
e
now, you could combine version ranges with https://docs.gradle.org/current/userguide/dependency_locking.html locked versions, similar to how many other modern build systems work, but it's not the default mode of operation in Gradle
it's also a bit awkward due to how configurations are resolved - there are some scenarios in which gradle's open programmability makes it hard to do certain things