-
Notifications
You must be signed in to change notification settings - Fork 502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prerelease is included into the update proposal #956
Comments
Thanks for the report, @eed3si9n! I think this happened because sbt-updates considers 1.1.2-1 a prerelease (because of the -1) and therefore also lists 2.0.1-M3 as an acceptable newer version. Projects that use(d) sbt-pgp 1.1.2 received updates to 2.0.0 only. |
Based on Semantic Versioning, I think it's fine to consider 1.1.2-1 a prerelease (even though there have been prior cases like Scala 2.9.1-1). To simplify the discussion, let's suppose it was called sbt-pgp According to https://semver.org/spec/v2.0.0.html#spec-item-9:
This is the case with sbt at least where we might be adding new API and removing APIs as we learn things, and I'd assume for most libraries too. If someone by accident merged a non-bincompat upstream library, they could end up producing a non-bincompat libraries themselves. |
I agree with you that updating to a prerelease of a different version doesn't make much sense. There was another PR where ScalaTest was updated from 3.1.0-SNAP13 to 3.2.0-M1 but waiting for 3.1.0 final would have been the more sensible option here. Btw, I think updates to a newer prerelease of the same version are fine, for example from 1.1.2-M1 to 1.1.2-M2. |
This contains code from #851 for preventing updates to a pre-release of another version series. Version.selectNext is now responsible for selecting the next version from a list of possible newer versions. This functions implements the scheme described in https://github.com/fthomas/scala-steward/blob/master/docs/faq.md#how-does-scala-steward-decide-what-version-it-is-updating-to and also filters out all bumps between pre-releases of different version series. This code incidentally also makes the code to deal with updates from non-snapshot to snapshot versions (#485) superfluous. Closes #956.
steps
scala/scala-collection-compat#254
problem
sbt-pgp 2.0.1-M3 is a prerelease version.
expectation
Prerelease versions should not proposed.
notes
#665 added sbt plugin proposal. I don't see anything about
dependencyAllowPreRelease
there, so I'm not sure where it's coming from.The text was updated successfully, but these errors were encountered: