Timeline for Mill 0.13.0 #3901
lihaoyi
started this conversation in
Development
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a thread to centralize discussion about the plans for 0.13.0, now that 0.12.0 has landed. A follow up to #3209
What is Mill 0.13.0
0.13.0 will be a binary incompatible breaking release for Mill. We accumulated a backlog of issues that could not go into 0.12.0 due to binary compatibility breakage, which will need to go into 0.13.0:
The Scala 3 upgrade PR (#3369) is probably the first such PR that we will need to bring up to date and merge, but there's a significant backlog of TODO issues and PRs, and I expect the removal of binary compatibility constraints will give us the opportunity for further cleanups and improvements that we don't know about yet.
When is Mill 0.13.0 Happening?
For now my proposed timeline for 0.13.0 is as follows:
main
still targets0.12.x
series, which will need to be (eventually) merged into0.13.0
PRs (primarily build.mill files compiled by Scala 3 #3369)0.12.x
maintenance branch is cut, first binary-incompatible changes land inmain
targeting0.13.0
main
now targets0.13.0
, PRs which want to target0.12.x
will need to be explicitly backported to0.12.x
branch0.13.0
RCs begin to go out0.13.0
final is released, third-party plugins are re-publishedThis is a reasonably long timeline, but
0.13.0
is our chance to make binary-incompatible changes.We want to wait until the
0.12.x
series has stabilized before makingmain
target0.13.0
, since after that we would need to backport fixes to the0.12.x
maintenance branch, which is annoyingThe more such changes we can batch together and the more we can get them correct, the longer we can wait for the next breaking release of 0.14.0, which is ultimately good for the stability of the ecosystem. So we want to take our time preparing 0.13.0
At the same time, we do not want the "PRs targeting main/0.13.0 cannot be released since 0.13.0 isn't ready yet" phase to last too long, since that means any merged PRs that people want to actually used would need to be backported to
0.12.x
Hence the 2-3 month period from Oct-Jan to stabilize
0.12.x
and the 3-4 month period from Jan to Apr/May to prepare0.13.0
is a compromise between these three goals.Hopefully, if we do this right, the outcome will be that we'll be able continue active development of Mill with new features and improvements, while also preserving binary/semantic compatibility in the
0.13.x
series as long as possible.Beta Was this translation helpful? Give feedback.
All reactions