https://kotlinlang.org logo
Title
t

theapache64

06/21/2022, 8:44 PM
😬 could be a stupid question: If a library is transitively using a latest alpha version of compose, (eg,
1.2.0-alpha01
) and the app using latest stable version (eg.
1.1.1
), which version will gradle pick? (i hope its the former -
1.2.0-alpha01
) In that case, if there’s a breaking API change in the latest version, how that’s managed by gradle? Would that fail the build? or does compose compiler will do some magic? 👀 Would this version conflict can cause an error like this?
e

ephemient

06/21/2022, 9:15 PM
Gradle will pick the highest version by default. if there's a breaking API change between versions, too bad. hard to tell if that's the cause, but you could first try to ensure the versions of all the various Compose libraries are aligned (either via https://docs.gradle.org/current/userguide/dependency_version_alignment.html or just bumping your versions to match)
:thank-you: 1
n

Nick Anthony

06/23/2022, 3:05 PM
By definition of SemVer there will not be a breaking API change between 1.1.1 and 1.2.0-alpha01, so your build will be safe in that aspect. We work really hard to keep behavior consistent, but if another library relies on technically incorrect behavior that we bug fix, there is a chance that you could see changes at runtime
Anything within the same major version
1.X.Y
will be binary compatible
t

theapache64

06/28/2022, 11:51 AM
Understood 👍