Thursday 6 June 2013

We are very happy to announce the final release of Scala 2.10.2!

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.2 built right in is available through one of the following update-sites:

- 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 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

- A class may now extend
- Implicit Classes
- The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers.
- https://docs.scala-lang.org/sips/implicit-classes.html

- 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!) - https://docs.scala-lang.org/overviews/core/futures.html

- Asynchronously get some JSON:
- Dynamic and applyDynamic
`x.foo`

becomes`x.applyDynamic("foo")`

if`x`

’s type does not define a`foo`

, but is a subtype of`Dynamic`

- https://docs.scala-lang.org/sips/type-dynamic.html

- 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.
- 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
`???`

and`NotImplementedError`

- 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/status-update.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 |
---|---|---|

SI-7532 | 75251f7 | |

SI-6846, SI-7517 | 403eadd | |

SI-7516, SI-7234 | 851e399 | |

SI-7486 | de12ca6 | |

SI-7238, SI-7509 | d9c8ccc | |

SI-7201 | 08c7293 | |

SI-6424 | 12a130d | |

SI-6548, SI-7359 | 7f9feba | |

SI-7486 | dd33e28 | |

SI-7464 | 5e71539 | |

SI-5886 | e9c3f87 | |

SI-6555 | 963c4a7 | |

SI-7383 | b32d294 | |

SI-7438, SI-7442 | 77437ff | |

SI-7166 | 3edde27 | |

SI-7047 | b4da864 | |

SI-7291, SI-7291, SI-7291, SI-7291 | fdead2b | |

SI-7167 | 8168f11 | |

SI-5923 | 90ac5c4 | |

SI-5923, SI-5353, SI-5923, SI-5923, SI-5353, SI-7453, SI-5923, SI-5353, SI-3859, SI-5353, SI-5353 | 0c6927b | |

SI-7465 | a3d03ab | |

SI-5734 | 8325729 | |

SI-7398 | b2c67b3 | |

SI-7271, SI-7325 | cb1a427 | |

SI-7271 | a8edefc | |

SI-7426 | df3cae7 | |

SI-5634 | 3abdaf4 | |

SI-7441 | e86832d | |

SI-7385 | d0a1f5b | |

SI-6091 | 62cdd7f | |

SI-6771 | 3009916 | |

SI-6532 | 17f8101 | |

SI-7369 | 6271396 | |

SI-7367 | 184cac8 | |

SI-6943 | 8448beb | |

SI-6675, SI-6675 | c1327dc | |

SI-7355 | 0d2c7e9 | |

SI-7330 | e7aadd0 | |

SI-7200 | 8703e00 | |

SI-7388 | 3e27fec | |

SI-7377 | 15e9ef8 | |

SI-7319, SI-7319 | ef04619 | |

SI-7329 | aa6723c | |

SI-6286 | 67c2d6d | |

SI-7360 | 23dd325 | |

SI-6387 | 2885eb0 | |

SI-6386 | 7250312 | |

SI-7289 | 6a61e17 | |

SI-6937 | 34a6fa9 | |

SI-7321 | 0affa94 | |

SI-6900 | c2534bf | |

SI-6135 | d7545ec | |

SI-7316 | 61308be | |

SI-7147 | d21f90c | |

SI-6793 | ca9c8ef | |

SI-6715 | 5f9bc05 | |

SI-6715 | 8e83703 | |

SI-6146, SI-7285 | dd89b00 | |

SI-6124, SI-7285 | 499962d | |

SI-7290 | c3ad5af | |

SI-7290 | 2e0be83 | |

SI-6387 | 4e10b2c | |

SI-7237 | 67b8de7 | |

SI-7246 | cd9e03a | |

SI-7299 | b95ca32 | |

SI-6580, SI-6580 | b4344e1 | |

SI-6022, SI-6210 | 47fc00d | |

SI-7013 | df29290 | |

SI-7251, SI-7251 | 395e90a | |

SI-7253 | 6f4a594 | |

SI-7253 | 386a5bd | |

SI-5699 | 50ee635 | |

SI-3994, SI-7242 | 2b5fde7 | |

SI-7258 | ef85a10 | |

SI-3120, SI-3120, SI-7259 | f046853 | |

SI-1247, SI-7249 | 552b623 | |

SI-5464, SI-7176, SI-6921, SI-7239 | 174334b | |

SI-7232 | 6e79370 | |

SI-7240 | a4fb773 | |

SI-7233 | 41e3b89 | |

SI-7233 | 33b499c | |

SI-6725 | 9bc17e7 | |

SI-7132 | eb365f9 | |

SI-7328 | 745c36a | |

SI-7234 | 83c9c76 | |

SI-5710 | f742aa3 | |

SI-7235, SI-7235, SI-7235 | 3ae2653 | |

SI-7226 | 7e52fb9 | |

SI-7224 | 292435f | |

SI-7214 | acd74ca | |

SI-7109, SI-7153 | 53c499b | |

SI-7183 | 2cf6c5d | |

SI-7215 | ad69835 | |

SI-7185 | 387fbf4 | |

SI-7190 | 1117be8 | |

SI-7045, SI-6240 | 0420b2d | |

SI-6191 | c46bc25 | |

SI-7045 | 07bcb61 | |

SI-7107 | 4f1bfec | |

SI-7074 | 8187deb | |

SI-7112 | 89be691 | |

SI-7172, SI-7171 | 3d5758c | |

SI-7130 | c8ab5b3 | |

SI-7143 | 4df9e20 | |

SI-7134 | fd68fe6 | |

SI-5063 | c10b7b6 | |

SI-5920, SI-5744 | 9d5d55b | |

SI-2296, SI-7091 | 6a7d793 | |

SI-7091 | 2e8ede5 | |

SI-6514 | 673cc83 | |

SI-6225 | 451cab9 | |

SI-6935 | c049d66 | |

SI-6370 | 7b425bf | |

SI-6158 | 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 |