Timeline for Mill 0.13.0 #3901
Replies: 5 comments 2 replies
-
We are now a good way through our Mill 0.12.x cycle, with 0.12.3 released. I expect to have maybe 2 more 0.12.x releases - 0.12.4 in mid-dec 2024, 0.12.5 in mid-jan 2025 - before merging #3369 and breaking compatibility in After that, PRs to |
Beta Was this translation helpful? Give feedback.
-
Mill 0.12.5 is out Mill 0.12.5 is out https://github.com/com-lihaoyi/mill#0-12-5, with a lot of polish and small improvements Probably one more 0.12.6 release in mid-january before we break bincompat and start working towards 0.13.0 |
Beta Was this translation helpful? Give feedback.
-
0.12.6 is due this/next week. The last major group of changes I'd like to get into 0.12.6 is @alexarchambault's: These look like they're mostly done, and just need to be reviewed and merged. The Mill native launcher has landed in master, and is available for people to try using the latest unstable release ( |
Beta Was this translation helpful? Give feedback.
-
Looks like #4363 and #4353 have appeared as a new PR to merge and new issue to investigate and resolve before we can cut 0.12.6. May push back the release by a week or so but should get it out before end of the month |
Beta Was this translation helpful? Give feedback.
-
Looks like all the big PRs have merged; I'm aiming to cut 0.12.6 on Friday 31 January 2025. The next few days until then will mostly just be housekeeping and documentation work After 0.12.6 is cut, I will update and merge the Scala 3 upgrade into the main branch the next day. |
Beta Was this translation helpful? Give feedback.
-
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