With 2016 rapidly approaching, it’s time for an update on our plans for Scala next year!
Scala 2.11: We expect to conclude the 2.11.x series with 2.11.8 in Q1 2016 and 2.11.9 in Q3 2016.
Scala 2.12: Our current focus is to have 2.12.0-RC1 out by the end of Q2. First, we’ll have two more 2.12 milestones: M4 by the end of January (new trait encoding!), and M5 before Scala Days NYC (feature freeze). Our GitHub milestones page has projected dates, and will be updated with milestone details as they develop.
Big compiler changes are underway, between the new encodings for lambdas and traits that take full advantage of Java 8, and the new optimizer. Both milestones will be an excellent opportunity to give 2.12 a spin before we cut RC1 (expected end of May). We’re eager to hear your experience with 2.12, both online and in person at Scala Days NYC and Berlin!
As always, getting new Scala versions out the door is a collective effort between Typesafe, EPFL, and the Scala user community.
Areas where participation is welcome include:
- Library authors: we encourage you to publish your libraries for 2.12.0-M3 and later milestones. If you do publish, please list your library.
- Library authors: if (the latest version of) your library isn’t included in the 2.12 community build, we have documented how to add it. We’ll be happy to help, as the community build is helping us catch more regressions than ever. As always, we’re counting on your help with testing before we go into RC mode! (The 2.12 community build config lists which version of each built project, and whether its test suite is being exercised.)
- Reviewing pull requests in the Scala repository, where 2.12.x is now the default branch. Strong motivation will be needed before we merge anything but important bug fixes to the 2.11.x branch.
- Documentation updates and reviewing help are much appreciated at the scala-lang and docs.scala-lang repos.
Your feedback will inform any revisions needed to the schedule described here. We’ll keep you informed as we continue to refine our release schedule.
Below is a recap of our timeline, future and past. The 2.12.x milestones follow 2.11.x’s schedule, with about a year for development between M1 and RC1. Because 2.11.x will be the last release that supports Java 6, we’ve worked extra hard to improve 2.11.x before shifting our focus to 2.12.x, with a half dozen releases in one year (the same number of 2.10.x releases took twice as long). For a while now, 2.11.x has had to take a back seat while we make the last push to complete 2.12.0-RC1 according to this schedule.
|2.12.0-M4||Jan 25, 2016||ca. 12 work-weeks after M3|
|2.12.0-M5||Apr 25, 2016||one year after M1, as in 2.11.x|
|2.12.0-RC1||May 30, 2016||one month after last milestone|
|2.11.8||Feb 8, 2016||between 2.12.0-M4 and M5|
|2.11.9||Q3, 2016||last planned 2.11.x release, >2 years after 2.11.1|
|2.12.0-M1||May 4, 2015|
|2.12.0-M2||Jul 15, 2015|
|2.12.0-M3||Oct 6, 2015|
|2.11.0-M1||Jan 7, 2013|
|2.11.0-M7||Nov 18, 2013|
|2.11.0-M8||Jan 21, 2014||one year after M1|
|2.11.0-RC1||Feb 28, 2014||one month after last milestone|
|2.11.0||Apr 16, 2014||six weeks after RC1|
|2.11.1||May 20, 2014|
|2.11.7||Jun 23, 2015||just 1 year after 2.11.1! (2.10.1-2.10.5 took two years)|
|2.10.0||Dec 19, 2012|
|2.10.1||Mar 12, 2013|
|2.10.2||Jun 6, 2013|
|2.10.3||Sep 27, 2013|
|2.10.4||Mar 18, 2014|
|2.10.5||Mar 4, 2015||EOL two years after 2.10.1|
|2.10.6||Sep 18, 2015||resolve license incompatibility|