|
1 |
| -We are pleased to announce the second release candidate of Scala 2.10.1! |
| 1 | +We are pleased to announce the next milestone release of Scala 2.11.0! |
2 | 2 |
|
3 |
| -The Scala team and contributors [fixed 184 issues since 2.10.0](https://issues.scala-lang.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SI+AND+%28fixVersion+%3D+%22Scala+2.10.1-RC1%22+OR+fixVersion+%3D+%22Scala+2.10.1-RC2%22%29+AND+status+%3D+closed+ORDER+BY+priority+DESC)! |
4 |
| -In total, [242 pull requests](https://github.com/scala/scala/issues?milestone=5&page=1&state=closed) (+ [7 for RC2](https://github.com/scala/scala/issues?milestone=13&page=1&state=closed)) were opened on [GitHub](https://github.com/scala/scala), of which [225 were merged](https://gist.github.com/adriaanm/4760366) (+ 6 for RC2) after having been [tested](https://github.com/typesafehub/ghpullrequest-validator) and reviewed. |
| 3 | +This is a pre-release software. You can see our plans for upcoming Scala releases |
| 4 | +on our [Roadmap](https://issues.scala-lang.org/browse/SI#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel). For production use, we recommend the latest stable release, 2.10.1. |
5 | 5 |
|
6 |
| -Please give 2.10.1-RC2 a spin! It's designed to be a drop-in replacement for 2.10.0. |
7 |
| -We'd love to hear about any regressions since 2.10.0 and will try to fix them before releasing the final version. |
| 6 | +The Scala team and contributors [fixed 108 issues](https://issues.scala-lang.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SI+AND+%28fixVersion+%3D+%22Scala+2.11.0-M1%22+OR+fixVersion+%3D+%22Scala+2.11.0-M2%22+OR+fixVersion+%3D+%22Scala+2.11.0-M3%22%29+AND+status+%3D+closed+ORDER+BY+priority+DESC), in addition to [those fixed in the upcoming 2.10.2](https://issues.scala-lang.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SI+AND+%28fixVersion+%3D+%22Scala+2.10.2-RC1%22%29+AND+status+%3D+closed+ORDER+BY+priority+DESC), which are also included in this release. |
8 | 7 |
|
9 |
| -There will be an RC3 one week after this release, which will become the final unless new blocker issues are discovered within a week after its release. |
| 8 | +Please give 2.11.0-M3 a spin! This release is *not* binary compatible with the 2.10.x series, so you will need to obtain builds of your dependencies. Once we start the release candidates, we will coordinate with the open source community to release these simultaneously, but for these milestones we are not asking library authors to go to that trouble. |
10 | 9 |
|
11 |
| -<!--break--> |
12 |
| - |
13 |
| -### Known Issues |
14 |
| -Before reporting a bug, please have a look at these known issues scheduled [for 2.10.1-RC3](https://issues.scala-lang.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SI+AND+fixVersion+%3D+%22Scala+2.10.1-RC3%22+AND+resolution+%3D+Unresolved++ORDER+BY+priority+DESC%2C+key+DESC). |
15 |
| - |
16 |
| -### Scala IDE for Eclipse |
17 |
| -The Scala IDE with Scala 2.10.1-RC2 built right in is available through one of the following update-sites: |
| 10 | +We'd love to hear about any regressions since 2.10.1. You can file bugs in [JIRA](https://issues.scala-lang.org/secure/CreateIssue.jspa?pid=10005&issuetype=1). Before doing so, please search for existing bugs and/or consult with the [scala-user](https://groups.google.com/forum/?fromgroups#!forum/scala-user) mailing list to be sure it is a geniune problem. Please set the 'Affects Version' field to 2.11.0-M3 and add the tag `regression`. |
18 | 11 |
|
19 |
| -* [for Eclipse 3.7 (Indigo)](http://download.scala-ide.org/sdk/e37/scala210/dev/site/) |
20 |
| -* [for Eclipse 3.8/4.2 (Juno)](http://download.scala-ide.org/sdk/e38/scala210/dev/site/) (Support for this version is experimental.) |
| 12 | +In particular, be aware that the complete fix for [SI-7486](https://issues.scala-lang.org/browse/SI-7486) |
| 13 | +is not included in this milestone. If you encounter this, the workaround is to annotate the return type |
| 14 | +of implicit members (which is a good practice, in any case.) |
21 | 15 |
|
22 |
| -Have a look at the [getting started guide](http://scala-ide.org/docs/user/gettingstarted.html) for more info. |
| 16 | +We are also aware of an issue with macros and named arguments [SI-7516](https://issues.scala-lang.org/browse/SI-7516). |
| 17 | +This will be fixed in the next milestone. |
23 | 18 |
|
24 |
| -### New features in the 2.10 series |
25 |
| -As for 2.10.0, here's an overview of the most prominent new features and improvements: |
| 19 | +<!--break--> |
26 | 20 |
|
27 |
| -* Value Classes |
28 |
| - * A class may now extend `AnyVal` to make it behave like a struct type (restrictions apply). |
29 |
| - * [http://docs.scala-lang.org/overviews/core/value-classes.html](http://docs.scala-lang.org/overviews/core/value-classes.html) |
30 |
| -* Implicit Classes |
31 |
| - * The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers. |
32 |
| - * [http://docs.scala-lang.org/sips/pending/implicit-classes.html](http://docs.scala-lang.org/sips/pending/implicit-classes.html) |
33 |
| -* String Interpolation |
34 |
| - * `val what = "awesome"; println(s"string interpolation is ${what.toUpperCase}!")` |
35 |
| - * [http://docs.scala-lang.org/overviews/core/string-interpolation.html](http://docs.scala-lang.org/overviews/core/string-interpolation.html) |
36 |
| -* Futures and Promises |
37 |
| - * Asynchronously get some JSON: `for (req <- WS.url(restApiUrl).get()) yield (req.json \ "users").as[List[User]]` (uses play!) |
38 |
| - * [http://docs.scala-lang.org/overviews/core/futures.html](http://docs.scala-lang.org/overviews/core/futures.html) |
39 |
| -* Dynamic and applyDynamic |
40 |
| - * `x.foo` becomes `x.applyDynamic("foo")` if `x`'s type does not define a `foo`, but is a subtype of `Dynamic` |
41 |
| - * [http://docs.scala-lang.org/sips/pending/type-dynamic.html](http://docs.scala-lang.org/sips/pending/type-dynamic.html) |
42 |
| -* Dependent method types: |
43 |
| - * `def identity(x: AnyRef): x.type = x` // the return type says we return exactly what we got |
44 |
| -* New ByteCode emitter based on ASM |
45 |
| - * Can target JDK 1.5, 1.6 and 1.7 |
46 |
| - * Emits 1.6 bytecode by default |
47 |
| - * Old 1.5 backend is deprecated |
48 |
| -* A new Pattern Matcher |
49 |
| - * rewritten from scratch to generate more robust code (no more [exponential blow-up](https://issues.scala-lang.org/browse/SI-1133)!) |
50 |
| - * code generation and analyses are now independent (the latter can be turned off with `-Xno-patmat-analysis`) |
51 |
| -* Scaladoc Improvements |
52 |
| - * Implicits (-implicits flag) |
53 |
| - * Diagrams (-diagrams flag, requires graphviz) |
54 |
| - * Groups (-groups) |
55 |
| -* Modularized Language features |
56 |
| - * Get on top of the advanced Scala features used in your codebase by explicitly importing them. |
57 |
| - * [http://docs.scala-lang.org/sips/pending/modularizing-language-features.html](http://docs.scala-lang.org/sips/pending/modularizing-language-features.html) |
58 |
| -* Parallel Collections are now configurable with custom thread pools |
59 |
| - * [http://docs.scala-lang.org/overviews/parallel-collections/overview.html](http://docs.scala-lang.org/overviews/parallel-collections/overview.html) |
60 |
| -* Akka Actors now part of the distribution |
61 |
| - * scala.actors have been deprecated and the akka implementation is now included in the distribution. |
62 |
| - * See the [actors migration project](http://docs.scala-lang.org/actors-migration/) for more information. |
63 |
| -* Performance Improvements |
64 |
| - * Faster inliner |
65 |
| - * `Range#sum is now O(1) |
66 |
| - * Update of ForkJoin library |
67 |
| - * Fixes in immutable `TreeSet`/`TreeMap` |
68 |
| - * Improvements to PartialFunctions |
69 |
| -* Addition of `???` and `NotImplementedError` |
70 |
| -* Addition of `IsTraversableOnce` + `IsTraversableLike` type classes for extension methods |
71 |
| -* Deprecations and cleanup |
72 |
| - * Floating point and octal literal syntax deprecation |
73 |
| - * Removed scala.dbc |
| 21 | +### Scala IDE for Eclipse |
| 22 | +The Scala IDE with Scala 2.11.0-M3 built right in is available through one of the following update-sites: |
74 | 23 |
|
75 |
| -### Experimental features |
| 24 | +* [for Eclipse 3.7 (Indigo)](http://download.scala-ide.org/ecosystem/e37/scala211/dev/site/) |
76 | 25 |
|
77 |
| -* Scala Reflection |
78 |
| - * [http://docs.scala-lang.org/overviews/reflection/overview.html](http://docs.scala-lang.org/overviews/reflection/overview.html) |
79 |
| -* Macros |
80 |
| - * [http://docs.scala-lang.org/overviews/macros/overview.html](http://docs.scala-lang.org/overviews/macros/overview.html) |
| 26 | +Have a look at the [getting started guide](http://scala-ide.org/docs/user/gettingstarted.html) for more info. |
81 | 27 |
|
82 |
| -The API is subject to (possibly major) changes in the 2.11.x series, but don't let that stop you from experimenting with them! |
83 |
| -A lot of developers have already come up with very cool applications for them. |
84 |
| -Some examples can be seen at [http://scalamacros.org/news/2012/11/05/status-update.html](http://scalamacros.org/news/2012/11/05/status-update.html). |
| 28 | +### New features in the 2.11 series |
| 29 | +This release contains all of the bug fixes and improvements made in the 2.10 series, as well as: |
| 30 | + |
| 31 | +* Modularization |
| 32 | + * The compiler has been internally modularized, to separate the presentation compiler, scaladoc |
| 33 | + and the REPL. In this release, all of these modules are still packaged in scala-compiler.jar. |
| 34 | + We plan to ship them in separate JARs as of the next milestone. Similar work is planned in the standard |
| 35 | + library. |
| 36 | +* Slimming down |
| 37 | + * The experimental .NET backend has been removed from the compiler. |
| 38 | + * In Scala 2.10.0, new implementations of the Pattern Matcher and the Bytecode Emitter |
| 39 | + were shipped. We have now removed the old implementations. |
| 40 | + * scala-actors is now deprecated; we advise users to follow the steps in the [Actors Migration Guide](http://docs.scala-lang.org/overviews/core/actors-migration-guide.html) to port to Akka Actors, which have been included in |
| 41 | + the distribution since 2.10.0. |
| 42 | + * Search and destroy mission for ~5000 chunks of dead code. [#1648](https://github.com/scala/scala/pull/1648/files) |
| 43 | +* Language |
| 44 | + * Case classes with > 22 parameters are now supported [SI-7296](https://issues.scala-lang.org/browse/SI-7296) |
| 45 | + * Infer bounds of existential types [SI-1786](https://issues.scala-lang.org/browse/SI-1786) |
| 46 | +* REPL |
| 47 | + * The bytecode decompiler command, :javap, now works with Java 7 [SI-4936](https://issues.scala-lang.org/browse/SI-4936) and has sprouted new options [SI-6894](https://issues.scala-lang.org/browse/SI-6894) (Thanks, [Andrew Marki](https://github.com/som-snytt)!) |
| 48 | + * Added command :kind to help to tell ground types from type constructors. [#2340](https://github.com/scala/scala/pull/2340) (Thanks, [George Leontiev](https://github.com/folone) and [Eugene Yokota](https://github.com/eed3si9n)!) |
| 49 | + * The interpreter can now be embedded as a JSR-166 Scripting Engine [SI-874](https://issues.scala-lang.org/browse/SI-874). (Thanks, [Raphael Jolly](https://github.com/rjolly)!) |
| 50 | +* Performance |
| 51 | + * Branch elimination through constant analysis [#2214](https://github.com/scala/scala/pull/2214) |
| 52 | + * Improve performance of reflection [SI-6638](https://issues.scala-lang.org/browse/SI-6638) |
| 53 | +* Warnings |
| 54 | + * Warn about unused private / local terms and types, and unused imports, under `-Xlint`. This will even tell you |
| 55 | + when a local `var` could be a `val`. (We might move these warnings to a separate command line option before |
| 56 | + the final release, your feedback is welcome here.) |
85 | 57 |
|
0 commit comments