You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 13, 2019. It is now read-only.
This is a bug in the release process. It looks like releases get created as one atomic unit. This leads to a situation where there are releases of individual component libraries that don't actually contain any code changes (and nor do their parents), leaving downstream users to resolve version conflicts that don't actually exist.
For example, twitter.common.quantity==0.3.2 and twitter.common.quantity==0.3.3 have identical code, but the twitter.common.quantity==0.3.3 requires twitter.common.lang==0.3.3, so the metadata is different. Okay, that warrants releasing a new version. But wait, twitter.common.lang==0.3.2 and twitter.common.lang==0.3.3 have identical code and no dependencies. So twitter.common.lang's version should not have been incremented, and that increment should not have cascaded to its dependees.
The alternative: a version change for a component needs to "cascade" to its dependees, but only when there's an actual code change. This means that a change to twitter.common.quantity source files causes an increment to its version and its dependees, but not to its parent twitter.common.lang.
I'm not sure how the version strategy is implemented currently but would like to start a discussion toward changing it before the next release.
The text was updated successfully, but these errors were encountered:
# for freeto subscribe to this conversation on GitHub.
Already have an account?
#.
This is a bug in the release process. It looks like releases get created as one atomic unit. This leads to a situation where there are releases of individual component libraries that don't actually contain any code changes (and nor do their parents), leaving downstream users to resolve version conflicts that don't actually exist.
For example, twitter.common.quantity==0.3.2 and twitter.common.quantity==0.3.3 have identical code, but the twitter.common.quantity==0.3.3 requires twitter.common.lang==0.3.3, so the metadata is different. Okay, that warrants releasing a new version. But wait, twitter.common.lang==0.3.2 and twitter.common.lang==0.3.3 have identical code and no dependencies. So twitter.common.lang's version should not have been incremented, and that increment should not have cascaded to its dependees.
The alternative: a version change for a component needs to "cascade" to its dependees, but only when there's an actual code change. This means that a change to twitter.common.quantity source files causes an increment to its version and its dependees, but not to its parent twitter.common.lang.
I'm not sure how the version strategy is implemented currently but would like to start a discussion toward changing it before the next release.
The text was updated successfully, but these errors were encountered: