You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: news/_posts/2014-06-30-2.12-roadmap.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@ Here’s how we plan to make this transition as smooth as possible.
15
15
16
16
17
17
## How
18
-
* Upcoming 2.11.x releases will introduce the following experimental features (under a flag): Java 8-style closure compilation, Miguel’s new back-end & optimizer.
19
-
* Hassle-free cross-building between 2.11 and 2.12 through full backward source compatibility (we won’t remove deprecated methods, but will support optional deprecation errors). Closely align 2.11&2.12 compiler and standard library code bases.
18
+
* Upcoming 2.11.x releases will introduce the following experimental features (under a flag): Java 8-style closure compilation, [Miguel’s new back-end & optimizer](http://magarciaepfl.github.io/scala/).
19
+
* Hassle-free cross-building between 2.11 and 2.12 through full backward source compatibility (we won’t remove deprecated methods, but will support optional deprecation errors). Closely align 2.11 and 2.12 compiler and standard library code bases.
20
20
* The official Scala 2.12 distribution will be built for Java 8 (and thus require it). The new back-end (and optimizer) will become the default.
21
21
22
22
@@ -37,19 +37,18 @@ Here’s how we plan to make this transition as smooth as possible.
37
37
* Style checker: an efficient, community-driven, platform for accurate coding style checking (built on top of the compiler).
38
38
* Collections: improve test coverage, performance, documentation (& modularize?)
39
39
* Improve documentation: focus on content. (This is a great place to start contributing, as well as on the tooling side of documentation.)
## Features exclusive to Scala 2.12: more Java 8 fun
44
44
Development of the following features starts in 2015. Since they are binary incompatible, they can’t be backported to 2.11.
45
45
46
46
47
-
* Turn FunctionN into SAMs, so that Java 8 code can call higher-order methods in Scala without a [wrapper](https://github.com/typesafehub/scala-java8-fun).
47
+
* Turn FunctionN into [Functional Interfaces](http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html), so that Java 8 code can call higher-order methods in Scala without a [wrapper](https://github.com/typesafehub/scala-java8-fun).
48
48
* Support for @interface traits, which are guaranteed to compile to Java interfaces (useful for interop, performance and binary compatibility). This is a generalization of the above feature.
49
49
* Streams: integrate into Scala collections? (Anywhere from providing converters to replacing existing functionality.)
50
-
* Caveat: scala.js needs to re-implement all non-scala code. Perhaps best to confine this to a module.
51
50
* Use the JDK’s forkjoin library instead of embedding our own. (Switch the global default ExecutionContext to be backed by the ForkJoinPool.commonPool().)
52
-
*(Backport Dotty’s new lazy val scheme.)
51
+
*[SIP-20](http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html) Improved lazy val initialization (if time allows).
53
52
54
53
## Timing
55
54
2.10.5 (Q4 2014) will be the last 2.10 release. We’re planning five 2.11.x releases in 2014, and a few more in 2015 (we're still deciding on when to EOL 2.11.x). At Typesafe, 2.12 development will begin with infrastructure work in Q4 2014, with our development focus shifting to 2.12 in 2015.
@@ -69,5 +68,6 @@ Development of the following features starts in 2015. Since they are binary inco
69
68
| 2.12.0-RC1 | Nov 2015 | (1 year after M1) |
70
69
| 2.12.0 | Jan 2016 ||
71
70
72
-
To allow releasing more often, we’re skipping RCs for 2.x.y releases where y > 0, and completely automated the [release process](https://scala-webapps.epfl.ch/jenkins/view/scala-release-2.11.x/job/scala-release-2.11.x/)as of 2.11.x (the [script](https://github.com/scala/jenkins-scripts/blob/master/job/scala-release-2.11.x) runs nightly, producing a full release if HEAD is tagged or a nightly snapshot otherwise).
71
+
During the development of Scala 2.11, we've made big steps forward in automating our [release process](https://scala-webapps.epfl.ch/jenkins/view/scala-release-2.11.x/job/scala-release-2.11.x/)and regression testing via our [Community Build](https://jenkins-dbuild.typesafe.com:8499/view/Shared/) which builds 1M LOC of popular open source projects. Both the release script and the community builds are also run on a nightly basis.
73
72
73
+
As such, as of Scala 2.11.1, we've decided to skip Release Candidates for 2.x.y releases where y > 0. This enables more frequent minor releases on a predictable schedule.
0 commit comments