-
Notifications
You must be signed in to change notification settings - Fork 87
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
Binary compatibility #162
Comments
May I suggest committing to binary compatibility in sync with the Scala 2.13.0-RC1 release? That would allow projects (like Akka) to easily cross-build and publish releases for Scala 2.13. If you had to break binary compatibility (e.g for RC2) you could just come up with another |
(despite the no-bincompat-yet warning in the readme, it still probably would have been better if I'd called the new release 0.3.0 instead of 0.2.2) |
Btw, both Akka and Play have avoided this pitfall by copying subsets of scala-collection-compat into the project. |
Welcome, Scala 2.13.0-RC1! Any thoughts on this idea, @szeiger? |
(FWIW, for Akka we've decided to avoid depending on the scala-collection-compat library, but are taking it as a reference while including only those compatibility measures that are required for our codebase) |
I'm currently looking through the library code and the open tickets to ensure we're in a state where we can enforce binary compatibility. |
We published version 1.0.0. The only remaining task is to enable MiMa. |
It may already be time to switch to a new artifact name because we'll have to break binary compatibility for #195 |
Or perhaps 2.0.0? Given that 2.13.0 is not yet GA I don't think switching to a new artifact name is necessary yet. |
Yes, that might be OK during the release cycle. Since we cannot rely on a module system we'd also have to rename the package (thus breaking source compatibility) if we rename the artifact. |
+1 for 2.0.0. |
not binary compatible due to #220 😢
|
are we committing to forward and backward bincompat, or just backward? |
I think #220 break backward bincompat, not only forward |
It seems fine to me. ReversedMissingMethodProblem means introducing this method could break existing extensions of this class/trait, so backwards binary incompatibility. (Also forward incompatibility, for completeness.). But PackageShared is private[compat] so it has no public children that could be broken. (Also in 2.12 it should implement with default methods so not binary backwards incompatible either, but we also target 2.11 here.) I think we can close this issue once we've set up MiMa. |
As Dale said, the trait is package-private (which MiMa doesn't see) and should not be extended by users. And like any other Scala library we only care about backwards compatibility. Only the standard library is different because of the distribution mechanism. |
Update sbt to 1.5.8
The README currently states:
When it is time to promise binary compatibility, we can
The text was updated successfully, but these errors were encountered: