We are very happy to announce the final release of Scala 2.10.3!
The release is available for download from scala-lang.org or from Maven Central.
The Scala team and contributors fixed 50 issues since 2.10.2!
In total, 63 RC1 pull requests, 19 RC2 pull requests and 2 RC3 pull requests were opened on GitHub of which 72 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 this release built right in is available through the following update-site:
- for Eclipse 4.2/4.3 (Juno/Kepler)
Have a look at the getting started guide for more info.
New features in the 2.10 series
Since 2.10.3 is strictly a bug-fix 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.scala-lang.org/overviews/core/value-classes.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.scala-lang.org/overviews/core/string-interpolation.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 blow-up!)
-
code generation and analyses are now independent (the latter can be turned off with
-Xno-patmat-analysis
)
-
-
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.scala-lang.org/sips/modularizing-language-features.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.
-
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 hxxp://scalamacros.org/news/2012/11/05/status-update.html.
A big thank you to all the contributors!
# | Author |
---|---|
33 | |
12 | |
6 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
Commits and the issues they fixed since v2.10.2
Issue(s) | Commit | Message |
---|---|---|
SI-7862 | 8e11dcb | |
SI-7861 | 7f4b44b | |
SI-7398 | a1796aa | |
SI-7825 | bf0f9da | |
SI-7818 | cb028ba | |
SI-7767 | 2391887 | |
SI-7767 | 48283ca | |
SI-7269 | fe9a3e9 | |
SI-7814 | a19babc | |
SI-7814 | fb43ec8 | |
SI-7652 | 7804cec | |
SI-7652 | 8b10daf | |
SI-7149 | 989c3f8 | |
SI-7150 | 3ada703 | |
SI-7782 | bce786f | |
SI-4760 | 27d61a2 | |
SI-7790 | cb9f2b9 | |
SI-7775 | 9d5ed33 | |
SI-7779 | 5dbc37d | |
SI-7486 | bc6d4b5 | |
SI-7778, SI-942 | ed34bcb | |
SI-7756, SI-7694, SI-7716 | 42e0f73 | |
SI-7603 | 076a92b | |
SI-7603 | ab8a223 | |
SI-7752 | 3222add | |
SI-7014 | f91242c | |
SI-7694 | e65321c | |
SI-7694 | 5724cae | |
SI-7020 | ebb01e0 | |
SI-7733 | 1d28fe6 | |
SI-7331 | 36524c2 | |
SI-4907, SI-4615 | cd41987 | |
SI-7455 | 050b4c9 | |
SI-7636 | c4bf1d5 | |
SI-7687 | 2473e66 | |
SI-7569 | c34b048 | |
SI-7657 | ef979c0 | |
SI-7336 | 48c677c | |
SI-7265 | 06606e8 | |
SI-7649 | 6368ae7 | |
SI-7617 | e72ae70 | |
SI-7638 | 504b5f3 | |
SI-7603, SI-7603 | eebaae5 | |
SI-7579, SI-7344 | 2285493 | |
SI-7571 | e7ac254 | |
SI-7343 | c43b504 | |
SI-7498 | c71fa58 | |
SI-7214, SI-7505 | d5288f8 | |
SI-6841 | 608f577 | |
SI-7558 | dd5fa60 | |
SI-7556 | 28c5f73 | |
SI-7507 | d2faeb9 | |
SI-7375 | 4dc3a33 | |
SI-6138 | b941551 | |
SI-7236, SI-7237, SI-7391 | f92ef91 | |
SI-7473 | 5b54681 | |
SI-7421 | e18e48d | |
SI-7497 | d38e8ae |
Complete commit list!
sha | Title |
---|---|
8e11dcb | |
7f4b44b | |
cb4b8eb | |
bf93057 | |
a1796aa | |
bf0f9da | |
cb028ba | |
2391887 | |
48283ca | |
fe9a3e9 | |
a19babc | |
fb43ec8 | |
7804cec | |
8b10daf | |
9772ec8 | |
a78dddd | |
989c3f8 | |
3ada703 | |
bce786f | |
27d61a2 | |
cb9f2b9 | |
133b5c0 | |
9d5ed33 | |
5dbc37d | |
bc6d4b5 | |
ed34bcb | |
42e0f73 | |
076a92b | |
ab8a223 | |
75b44a6 | |
3222add | |
f91242c | |
e65321c | |
5724cae | |
ebb01e0 | |
1d28fe6 | |
1dac5ef | |
26a8679 | |
5626c74 | |
36524c2 | |
cd41987 | |
2864c7f | |
79009e3 | |
050b4c9 | |
c4bf1d5 | |
2473e66 | |
c34b048 | |
ef979c0 | |
48c677c | |
06606e8 | |
6368ae7 | |
d09a46b | |
e72ae70 | |
55decf7 | |
504b5f3 | |
eebaae5 | |
0c752d7 | |
2285493 | |
e7ac254 | |
d2c5324 | |
da54f34 | |
c43b504 | |
c0ba5eb | |
da1ae7a | |
3494397 | |
25a8e70 | |
c71fa58 | |
d5288f8 | |
ac4e3ca | |
fc6da8d | |
608f577 | |
dd5fa60 | |
28c5f73 | |
d2faeb9 | |
4dc3a33 | |
b941551 | |
f92ef91 | |
5b54681 | |
bae4196 | |
e18e48d | |
d38e8ae | |
b89dc03 | |
658d90a | |
73d494d |