Friday 31 May 2013
We are very happy to announce the RC2 release of Scala 2.10.2! If no serious blocking issues are found this will become the final 2.10.2 version.
The Scala team and contributors fixed 95 issues since 2.10.1!
In total, 164 RC1 pull requests and 7 RC2 pull requests were opened on GitHub, of which 140 were merged after having been tested and reviewed.
Known Issues
Before reporting a bug, please have a look at these known issues.
Scala IDE for Eclipse
The Scala IDE with Scala 2.10.2RC2 built right in is available through one of the following updatesites:
 for Eclipse 3.7 (Indigo)
 for Eclipse 3.8/4.2 (Juno) (Support for this version is experimental.)
Have a look at the getting started guide for more info.
New features in the 2.10 series
Since 2.10.2 is strictly a bugfix release, here’s an overview of the most prominent new features and improvements as introduced in 2.10.0:

Value Classes

A class may now extend
AnyVal
to make it behave like a struct type (restrictions apply). 
https://docs.scalalang.org/overviews/core/valueclasses.html


Implicit Classes

The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers.


String Interpolation

val what = "awesome"; println(s"string interpolation is ${what.toUpperCase}!")

https://docs.scalalang.org/overviews/core/stringinterpolation.html


Futures and Promises

Asynchronously get some JSON:
for (req < WS.url(restApiUrl).get()) yield (req.json \ "users").as[List[User]]
(uses play!)


Dynamic and applyDynamic

x.foo
becomesx.applyDynamic("foo")
ifx
’s type does not define afoo
, but is a subtype ofDynamic


Dependent method types:
def identity(x: AnyRef): x.type = x
// the return type says we return exactly what we got

New ByteCode emitter based on ASM

Can target JDK 1.5, 1.6 and 1.7

Emits 1.6 bytecode by default

Old 1.5 backend is deprecated


A new Pattern Matcher

rewritten from scratch to generate more robust code (no more exponential blowup!)

code generation and analyses are now independent (the latter can be turned off with
Xnopatmatanalysis
)


Scaladoc Improvements

Implicits (implicits flag)

Diagrams (diagrams flag, requires graphviz)

Groups (groups)


Modularized Language features

Get on top of the advanced Scala features used in your codebase by explicitly importing them.

https://docs.scalalang.org/sips/modularizinglanguagefeatures.html


Parallel Collections are now configurable with custom thread pools

Akka Actors now part of the distribution

scala.actors have been deprecated and the akka implementation is now included in the distribution.

See the actors migration project for more information.


Performance Improvements

Faster inliner

Range#sum
is now O(1) 
Update of ForkJoin library

Fixes in immutable
TreeSet
/TreeMap

Improvements to PartialFunctions

 Addition of
???
andNotImplementedError
 Addition of
IsTraversableOnce
+IsTraversableLike
type classes for extension methods 
Deprecations and cleanup

Floating point and octal literal syntax deprecation

Removed scala.dbc

Experimental features

Scala Reflection

Macros
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! A lot of developers have already come up with very cool applications for them. Some examples can be seen at http://scalamacros.org/news/2012/11/05/statusupdate.html.
A big thank you to all the contributors!
#  Author 

50  
45  
45  
16  
12  
6  
4  
3  
2  
2  
2  
2  
2  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1 
Commits and the issues they fixed since v2.10.1
Issue(s)  Commit  Message 

SI7532  75251f7  
SI6846, SI7517  403eadd  
SI7516, SI7234  851e399  
SI7486  de12ca6  
SI7238, SI7509  d9c8ccc  
SI7201  08c7293  
SI6424  12a130d  
SI6548, SI7359  7f9feba  
SI7486  dd33e28  
SI7464  5e71539  
SI5886  e9c3f87  
SI6555  963c4a7  
SI7383  b32d294  
SI7438, SI7442  77437ff  
SI7166  3edde27  
SI7047  b4da864  
SI7291, SI7291, SI7291, SI7291  fdead2b  
SI7167  8168f11  
SI5923  90ac5c4  
SI5923, SI5353, SI5923, SI5923, SI5353, SI7453, SI5923, SI5353, SI3859, SI5353, SI5353  0c6927b  
SI7465  a3d03ab  
SI5734  8325729  
SI7398  b2c67b3  
SI7271, SI7325  cb1a427  
SI7271  a8edefc  
SI7426  df3cae7  
SI5634  3abdaf4  
SI7441  e86832d  
SI7385  d0a1f5b  
SI6091  62cdd7f  
SI6771  3009916  
SI6532  17f8101  
SI7369  6271396  
SI7367  184cac8  
SI6943  8448beb  
SI6675, SI6675  c1327dc  
SI7355  0d2c7e9  
SI7330  e7aadd0  
SI7200  8703e00  
SI7388  3e27fec  
SI7377  15e9ef8  
SI7319, SI7319  ef04619  
SI7329  aa6723c  
SI6286  67c2d6d  
SI7360  23dd325  
SI6387  2885eb0  
SI6386  7250312  
SI7289  6a61e17  
SI6937  34a6fa9  
SI7321  0affa94  
SI6900  c2534bf  
SI6135  d7545ec  
SI7316  61308be  
SI7147  d21f90c  
SI6793  ca9c8ef  
SI6715  5f9bc05  
SI6715  8e83703  
SI6146, SI7285  dd89b00  
SI6124, SI7285  499962d  
SI7290  c3ad5af  
SI7290  2e0be83  
SI6387  4e10b2c  
SI7237  67b8de7  
SI7246  cd9e03a  
SI7299  b95ca32  
SI6580, SI6580  b4344e1  
SI6022, SI6210  47fc00d  
SI7013  df29290  
SI7251, SI7251  395e90a  
SI7253  6f4a594  
SI7253  386a5bd  
SI5699  50ee635  
SI3994, SI7242  2b5fde7  
SI7258  ef85a10  
SI3120, SI3120, SI7259  f046853  
SI1247, SI7249  552b623  
SI5464, SI7176, SI6921, SI7239  174334b  
SI7232  6e79370  
SI7240  a4fb773  
SI7233  41e3b89  
SI7233  33b499c  
SI6725  9bc17e7  
SI7132  eb365f9  
SI7328  745c36a  
SI7234  83c9c76  
SI5710  f742aa3  
SI7235, SI7235, SI7235  3ae2653  
SI7226  7e52fb9  
SI7224  292435f  
SI7214  acd74ca  
SI7109, SI7153  53c499b  
SI7183  2cf6c5d  
SI7215  ad69835  
SI7185  387fbf4  
SI7190  1117be8  
SI7045, SI6240  0420b2d  
SI6191  c46bc25  
SI7045  07bcb61  
SI7107  4f1bfec  
SI7074  8187deb  
SI7112  89be691  
SI7172, SI7171  3d5758c  
SI7130  c8ab5b3  
SI7143  4df9e20  
SI7134  fd68fe6  
SI5063  c10b7b6  
SI5920, SI5744  9d5d55b  
SI2296, SI7091  6a7d793  
SI7091  2e8ede5  
SI6514  673cc83  
SI6225  451cab9  
SI6935  c049d66  
SI6370  7b425bf  
SI6158  6424907 
Complete commit list!
sha  Title 

75251f7  
403eadd  
851e399  
de12ca6  
d9c8ccc  
08c7293  
12a130d  
f628565  
7f9feba  
dd33e28  
6114038  
5e71539  
bc10715  
b08c135  
e9c3f87  
963c4a7  
b32d294  
77437ff  
4e64a27  
3edde27  
b4da864  
fdead2b  
8168f11  
bb73b96  
90ac5c4  
0c6927b  
7562499  
5751ddd  
75a3b88  
35c0145  
a3d03ab  
f1040ea  
8325729  
b2c67b3  
fbb1363  
25f49cb  
cb1a427  
a8edefc  
df3cae7  
3abdaf4  
e86832d  
d0a1f5b  
62cdd7f  
3009916  
83c059d  
17f8101  
d3aa9a7  
6271396  
184cac8  
b40749f  
19a61e5  
8448beb  
c1327dc  
0d2c7e9  
9d98b6d  
e7aadd0  
8556ca0  
8703e00  
351d5ec  
3e27fec  
15e9ef8  
ef04619  
aa6723c  
67c2d6d  
23dd325  
2885eb0  
7250312  
6a61e17  
34a6fa9  
dc3fa0a  
3fe2e86  
7184bd3  
0affa94  
6591acb  
92a1785  
7c0e8f0  
ceeb40c  
5dca660  
c2534bf  
d7545ec  
3ac185b  
f7c9adc  
61308be  
d21f90c  
ca9c8ef  
5f9bc05  
8e83703  
da90207  
0cc9496  
024cdd4  
ba21f36  
3ec36bb  
dc5326c  
c2da1c505  
c5511de  
88b7a72  
ac1a0f0  
d85c3f1  
3bb1af9  
86bea6a  
6620758  
dd89b00  
499962d  
c3ad5af  
2e0be83  
4e10b2c  
67b8de7  
cd9e03a  
b95ca32  
df61e04  
b7cbda7  
e78896f  
b4344e1  
47fc00d  
fbecd5d  
7d2c1f3  
e3b5e0b  
df29290  
395e90a  
6f4a594  
b0560c5  
386a5bd  
50ee635  
99bdebb  
2b5fde7  
5db04eb  
fc46281  
ef85a10  
f046853  
e90efd6  
552b623  
174334b  
6e79370  
a4fb773  
41e3b89  
33b499c  
9bc17e7  
eb365f9  
745c36a  
83c9c76  
f742aa3  
3ae2653  
7e52fb9  
292435f  
acd74ca  
53c499b  
2cf6c5d  
5b7cfe3  
0a3219b  
ebaa34e  
ad69835  
387fbf4  
1117be8  
0420b2d  
c46bc25  
387b259  
73d079f  
f4dd56c  
dd148de  
4cbb935  
07bcb61  
bebd62d  
735634f  
5b37cfb  
981da8e  
b2c2493  
a9dca51  
0262941  
21d5d38  
3e7db2d  
e2a17d9  
4f1bfec  
8187deb  
89be691  
3d5758c  
18a2ba2  
6a7078c  
7fdc873  
c930a85  
76fc728  
712a921  
1b47248  
647a760  
e14846b  
f5ed914  
b20e288  
d2a36ab  
39249d5  
3c22436  
8206e26  
c8ab5b3  
4df9e20  
fd68fe6  
c10b7b6  
5379eba  
9f25a2a  
9d5d55b  
6a7d793  
2e8ede5  
de2410b  
673cc83  
ef6095a  
451cab9  
c049d66  
7b425bf  
6424907 