Thursday 28 February 2013
We are pleased to announce the second release candidate of Scala 2.10.1!
The Scala team and contributors fixed 184 issues since 2.10.0! In total, 242 pull requests (+ 7 for RC2) were opened on GitHub, of which 225 were merged (+ 6 for RC2) after having been tested and reviewed.
Please give 2.10.1RC2 a spin! It’s designed to be a dropin replacement for 2.10.0. We’d love to hear about any regressions since 2.10.0 and will try to fix them before releasing the final version.
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.
Known Issues
Before reporting a bug, please have a look at these known issues scheduled for 2.10.1RC3.
Scala IDE for Eclipse
The Scala IDE with Scala 2.10.1RC2 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
As for 2.10.0, here’s an overview of the most prominent new features and improvements:

Value Classes

A class may now extend
AnyVal
to make it behave like a struct type (restrictions apply). 
http://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.

http://docs.scalalang.org/sips/pending/implicitclasses.html


String Interpolation

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

http://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.

http://docs.scalalang.org/sips/pending/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 

101  
49  
43  
36  
32  
10  
9  
9  
7  
7  
7  
4  
3  
3  
3  
2  
2  
2  
2  
2  
2  
2  
2  
2  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1  
1 
Commits and the issues they fixed since v2.10.0
Issue(s)  Commit  Message 

SI7112  1976d9f  
SI7180  de1f749  
SI5975, SI6576  19649d4  
SI7146  bb067d3  
SI7128  348ff4b  
SI6548, SI6548  85b63b8  
SI4664, SI4664  8b4af71  
SI6521  f9550c6  
SI7082, SI7083, SI6591  09ef873  
SI5675  e0068b9  
SI7096  5258b63  
SI6666  81fa831  
SI6666  275b341  
SI6666  4c34280  
SI6259, SI6506, SI6957, SI6666  fd61254  
SI6478  6052e19  
SI7071, SI7072  b43ae58  
SI6989  02ed5fb  
SI5824  96b0eff  
SI5374, SI6961  fa3b804  
SI6187  dfbaaa1  
SI6146  55c9b9c  
SI5954, SI7070  1426fec  
SI5082  a0ee6e9  
SI7100  a53e150  
SI6113  0d68a87  
SI2806, SI6888  b579a42  
SI7026, SI7026  79e774f  
SI5017  015ff51  
SI6150, SI6773, SI6150  87d52db  
SI7060  e5c0e59  
SI7039  8ae0e2a  
SI5833  0574172  
SI6667  b67f8e5  
SI6017  0e8d8c7  
SI6017  3f0bce9  
SI6578  a6137d1  
SI7008  f1701f7  
SI7033  3af838c  
SI6422  bc01614  
SI5313  4fda83f  
SI5313  c7d489e  
SI5313  9b4fa83  
SI5313  eab2884  
SI7046  2403d1d  
SI5543, SI1803  b74c33e  
SI6482, SI7022  374c912  
SI6482, SI6482  4ed8836  
SI6941  b2117cf  
SI6686  b92396b  
SI5158, SI6941  494ba94  
SI4976  d71f59e  
SI7029  5275bae  
SI7029  3f78bee  
SI6539  2989258  
SI6812  941c569  
SI6206, SI6206  11ac963  
SI6601  5a2828c  
SI6601  172f3f6  
SI2818  6db4db9  
SI2968, SI2968  8350cd9  
SI6963  1de399d  
SI3353, SI3353  1049435  
SI6017  831bffd  
SI6853  e36327a  
SI6595  ff92610  
SI6584  98534b2  
SI6426  d2316df  
SI6072  05882eb  
SI5604  d4437aa  
SI5859  e156cd1  
SI5353  f3f1e50  
SI5130  77ec4ef  
SI4729  faca7ec  
SI2418, SI2418  0990890  
SI6572  16eaefb  
SI6301, SI6301, SI6301, SI6572  0679da5  
SI5378  f6d90a8  
SI4714  5f85fe5  
SI2418, SI2418  243cede  
SI7009, SI7009  fefe6cc  
SI7009  e22d801  
SI1336, SI5589, SI4574, SI6968, SI6968  a87d409  
SI6669  166fd02  
SI6728  80a814d  
SI7035  9afae59  
SI6726  6357c8d  
SI6726, SI6726  14d8c22  
SI6726  32c0a2e  
SI6154  d3f3394  
SI6516  6f86583  
SI6551  cfaa3b5  
SI6651  45ccdc5  
SI6987  bffe776  
SI6258, SI6258, SI3577, SI3577  b8da00e  
SI6891  7babdab  
SI6981  cff0934  
SI4602  3cbb002  
SI4602, SI4602  952e1bf  
SI4733, SI4733  e0cf651  
SI6863  0b52a51  
SI6932  262d7ec  
SI6932  08a74e5  
SI6443  11329c3  
SI6443  493197f  
SI7018  a72aa94  
SI7011  d592216  
SI6231  f6168b8  
SI6987  1dab5bf  
SI6987  e12a5b8  
SI6997, SI6666  1a7de43  
SI6011, SI6902  cbd0205  
SI6952  8a74b7b  
SI6969  0d01cc1  
SI6976  d9d6494  
SI6637, SI6637  4dceb22  
SI6611, SI6247, SI6611, SI6247  ba411c4  
SI6567, SI6567  96ed055  
SI6439  3486d47  
SI6923, SI6994  52a5328  
SI6994  8f49884  
SI6434  8297843  
SI6942  f539781  
SI5568  c606559  
SI5568  765386f  
SI6608, SI6601  b07228a  
SI6923  66fe64f  
SI6956  a6b34b6  
SI6479  9cc61f3  
SI6963  0c2e884  
SI6675  78019b2  
SI6675  692372c  
SI6955  8475807  
SI6082  39352fe  
SI5440  4aba0fe  
SI5340  1212af4  
SI6925  b1cea21  
SI5189  8fb19b1  
SI6555  38404e8  
SI6930  0f237e9  
SI6905  57ae1f3  
SI6126  25c7364  
SI6946, SI6924  79a722f  
SI5954  3ef487e  
SI6521  a557a97  
SI5553, SI6912  7a23562  
SI6846, SI6846  e5da30b  
SI6928  c58647f  
SI6641  557caa3  
SI6803  103a478  
SI6915  77c8751  
SI6897  3405294  
SI6896  a6ce037  
SI6911  eeb6ee6  
SI6827  92cf0e3  
SI5017  02b2da6  
SI6194  ac61e34  
SI6746  e5f16ac  
SI6415  24a033b  
SI6829, SI6788  231d59d  
SI6338  3a6f3ae  
SI6795  f029c3a  
SI6795  71e42a7  
SI3995  cab8ea4  
SI3995  90efa6b  
SI6548  54a84a3  
SI5390  289a882  
SI5361  8b7f0ac  
SI3614, SI5361  327083d  
SI6288  286dced  
SI6288  f69b846  
SI6288  79a43d7  
SI6758  089173d  
SI6555  818a2e6  
SI5841  286abfc  
SI5877  0b1ae9c  
SI5877  96e5c40  
SI5877  65c1ae5  
SI6758  673bc70  
SI6558  c24400f  
SI6558  d9928d5  
SI4922  e249f2e  
SI6614  bd04b2c  
SI6690  d526f8b  
SI5789  5f2b7c4  
SI5789  850128d  
SI6782, SI5789  d699122  
SI5894  a23cc20  
SI5894  b828e32  
SI1672  31a0aa7  
SI6535  8a1f85d  
SI6549  90c87fc  
SI6547  d99b7f4  
SI5678  8204b19  
SI6667  9aa6ded  
SI6667  3719f79  
SI4664  2aa66be  
SI4664  0b92073  
SI6712  089cc9f  
SI6696, SI6696  5546a72  
SI6766  868fe64  
SI6766  a725494  
SI6631  7ee1145  
SI5464  5028181  
SI6663, SI5726, SI5733, SI6320, SI6551, SI6722  a694194  
SI6731  dac1488  
SI5753  597a949  
SI6718  20c2a50  
SI6687  7f1ba06  
SI6357  8b54ec9  
SI6677  2aa6841  
SI6706  d0de367  
SI6023  548a54d  
SI6673, SI6673  907d6ea  
SI6695  7376ad7  
SI6632, SI6633  925c6e3  
SI6634  2c23acf  
SI6551  74ca558  
SI6663  c656920  
SI6150  1f0e488  
SI5330, SI6014  65778d7  
SI6539  6902da3  
SI6662  b922573  
SI6616  03aa7fc  
SI6649  1bdd5ee  
SI6597  1e2328e  
SI6488  c7c79c8  
SI6559  492cbe5  
SI6358  a52bd2c  
SI6358  4c86dbb  
SI6422  c6866a2 
Complete commit list!
sha  Title 

1976d9f  
de1f749  
26be206  
dafebd0  
19649d4  
bb067d3  
348ff4b  
d49532f  
dad8796  
b4f277a  
85b63b8  
2f9b708  
ddfe3a0  
9194b37  
56cbf23  
549a1fe  
5d487f1  
8b4af71  
f9550c6  
af0da51  
13caa49  
22341e7  
57c0e63  
ce867c7  
09ef873  
e0068b9  
5258b63  
81fa831  
275b341  
66fa1f2  
4c34280  
fd61254  
ee24807  
6052e19  
b43ae58  
02ed5fb  
96b0eff  
fa3b804  
dfbaaa1  
55c9b9c  
1426fec  
a0ee6e9  
a53e150  
0d68a87  
b579a42  
79e774f  
f784fbf  
1f838ed  
c9a0e36  
570f4a4  
c720531  
4d7982b  
4ef2a49  
0e0c851  
1093ce0  
7bf0ecc  
015ff51  
87d52db  
e5c0e59  
8ae0e2a  
0574172  
b67f8e5  
0e8d8c7  
3f0bce9  
a6137d1  
02dd4c9  
0bcdf71  
adf50a3  
f1701f7  
3af838c  
bc01614  
4fda83f  
c7d489e  
9b4fa83  
eab2884  
2403d1d  
f3cdf14  
7e836f8  
b74c33e  
a06d31f  
6697c28  
59918ee  
91c9c42  
374c912  
4ed8836  
b2117cf  
b92396b  
b47bb0f  
494ba94  
71ea3e8  
62b37dd  
415becd  
a07555f  
d71f59e  
5275bae  
3f78bee  
2989258  
941c569  
11ac963  
5a2828c  
172f3f6  
6db4db9  
8350cd9  
1de399d  
1049435  
485d815  
033b6c1  
831bffd  
e36327a  
ff92610  
98534b2  
d2316df  
05882eb  
d4437aa  
e156cd1  
f3f1e50  
77ec4ef  
faca7ec  
0990890  
16eaefb  
0679da5  
f6d90a8  
5f85fe5  
243cede  
4b39be4  
ced7411  
1ab7d1c  
fefe6cc  
e22d801  
a87d409  
166fd02  
80a814d  
8610d7e  
9afae59  
eba079b  
f72354c  
6357c8d  
14d8c22  
32c0a2e  
d3f3394  
6f86583  
cfaa3b5  
45ccdc5  
bffe776  
b8da00e  
7babdab  
cff0934  
05ad682  
3cbb002  
952e1bf  
e0cf651  
0b52a51  
262d7ec  
08a74e5  
11329c3  
493197f  
62111a4  
a72aa94  
7c45aa5  
d592216  
f6168b8  
1dab5bf  
e12a5b8  
1a7de43  
cbd0205  
8a74b7b  
0d01cc1  
d9d6494  
a9bbfec  
b2776b4  
0a967e1  
f2e45fc  
d972336  
4dceb22  
ba411c4  
96ed055  
3486d47  
52a5328  
8f49884  
873aecc  
8297843  
277f0fe  
964776f  
f539781  
c606559  
765386f  
b07228a  
66fe64f  
ce56316  
a6b34b6  
9cc61f3  
0c2e884  
78019b2  
692372c  
8475807  
39352fe  
4aba0fe  
1212af4  
51f574a  
e314ff1  
b1cea21  
8fb19b1  
38404e8  
0f237e9  
57ae1f3  
25c7364  
79a722f  
3ef487e  
a557a97  
7a23562  
e5da30b  
c58647f  
557caa3  
103a478  
77c8751  
2ceec33  
f76432a  
3405294  
a6ce037  
eeb6ee6  
92cf0e3  
02b2da6  
ac61e34  
9575ee9  
e5f16ac  
9d1e22b  
1364381  
24a033b  
231d59d  
4423c59  
3a6f3ae  
0ceaf83  
b53c35c  
f029c3a  
71e42a7  
5851396  
0cbefd0  
0a2022c  
cab8ea4  
90efa6b  
0429f0f  
54a84a3  
9ba7cf8  
787e82f  
bbf0eb2  
289a882  
d29696a  
8b7f0ac  
327083d  
098e8a0  
6015361  
286dced  
f69b846  
79a43d7  
2621918  
dfa4e23  
a0cd0f8  
24455e2  
089173d  
e5e6d67  
69f4e93  
818a2e6  
c5ffa03  
286abfc  
0b1ae9c  
96e5c40  
65c1ae5  
673bc70  
c24400f  
d9928d5  
e249f2e  
bd04b2c  
48cffd0  
d526f8b  
5f2b7c4  
850128d  
d699122  
a23cc20  
b828e32  
8434922  
31a0aa7  
e4d1d93  
8a1f85d  
90c87fc  
d99b7f4  
8204b19  
9aa6ded  
3719f79  
2aa66be  
0b92073  
089cc9f  
78a081f  
bb9adfb  
838cbe6  
7ee299b  
0ebf72b  
40063b0  
85f3202  
d547760  
5546a72  
868fe64  
a725494  
d483ec3  
7ee1145  
ef61bc5  
5028181  
a694194  
dac1488  
d55840e  
1be0244  
597a949  
8fcbee5  
a0001fc  
20c2a50  
3177934  
b02e952  
7f1ba06  
555a9ba  
8b54ec9  
cd1bf78  
2aa6841  
d0de367  
548a54d  
1fd3a2a  
907d6ea  
7376ad7  
925c6e3  
2c23acf  
74ca558  
c656920  
af8b45f  
db0bf8f  
1f0e488  
65778d7  
f8647ee  
2e0cbe0  
48ee29a  
6902da3  
b922573  
03aa7fc  
1bdd5ee  
af3b03b  
f98e4d0  
1e2328e  
c7c79c8  
492cbe5  
e23f9ed  
d22b74c  
ed09630  
a3c5427  
a52bd2c  
4c86dbb  
aa27396  
08ab007  
bdff881  
c6866a2  
ad65b28 