Scala 2.10.3-RC2 is now available!

We are very happy to announce the RC2 release of Scala 2.10.3! If no serious blocking issues are found this will become the final 2.10.3 version.

The Scala team and contributors fixed 48 issues since 2.10.2!

In total, 63 RC1 pull requests and 19 RC2 pull requests were opened on GitHub of which 70 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.3-RC2 built right in is available through the following update-site:

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:

Experimental features

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 ---: | --- 32 | Jason Zaugg 12 | Eugene Burmako 6 | Som Snytt 4 | Vlad Ureche 4 | James Iry 4 | Grzegorz Kossakowski 4 | François Garillot 3 | Adriaan Moors 3 | Viktor Klang 2 | Antoine Gourlay 2 | Simon Ochsenreither 1 | Christopher Vogt 1 | Seth Tisue 1 | Aleksandar Prokopec 1 | Roland Kuhn 1 | Den Shabalin 1 | Rich Dougherty

Commits and the issues they fixed since v2.10.2

Issue(s) | Commit | Message --- | --- | --- SI-7398 | a1796aa | SI-7398 Enable test for Java 8 source parser under Java 8 SI-7825 | bf0f9da | SI-7825 Consider DEFAULTMETHOD when refchecking concreteness SI-7818 | cb028ba | SI-7818 Cast our way out of extended existential angst SI-7767 | 2391887 | SI-7767 Test case for Scaladoc on early initializers SI-7767 | 48283ca | SI-7767 avoid rejecting Scaladoc comments in early initializers SI-7269 | fe9a3e9 | SI-7269 Rework MapLike#retains to account for desugaring change SI-7814 | a19babc | SI-7814 Updates the instrumented version of ScalaRuntime. SI-7814 | fb43ec8 | SI-7814 Avoid init cycle between Predef, package, ScalaRuntime SI-7652 | 7804cec | [nomaster] SI-7652 REPL extended quest for tools SI-7652 | 8b10daf | [nomaster] SI-7652 Bad tools fails loudly SI-7149 | 989c3f8 | SI-7149 Use a WeakHashSet for type uniqueness SI-7150 | 3ada703 | SI-7150 Replace scala.reflect.internal.WeakHashSet SI-7782 | bce786f | SI-7782 Derive type skolems at the ground level SI-4760 | 27d61a2 | SI-4760 Parser handles block-ending import SI-7790 | cb9f2b9 | [nomaster] SI-7790 No ScriptEngine in 2.10 build SI-7775 | 9d5ed33 | SI-7775 Harden against the shifting sands of System.getProperties SI-7779 | 5dbc37d | SI-7779 Account for class name compactification in reflection SI-7486 | bc6d4b5 | SI-7486 More tests for cycles triggered by implicit search SI-7778, SI-942 | ed34bcb | SI-942 A test case, five years adrift. SI-7756, SI-7694, SI-7716 | 42e0f73 | SI-7716 Exclude patmat synthetics from bounds checking SI-7603 | 076a92b | SI-7603 Remove diagnostic code for annotation error SI-7603 | ab8a223 | SI-7603 Fix thread safety of FlagTranslation SI-7752 | 3222add | SI-7752 Don't disambiguate type parameters of overloaded alts SI-7014 | f91242c | SI-7014 Annot arg may refer to annotated class's member SI-7694 | e65321c | SI-7694 Add @uncheckedBounds to the library SI-7694 | 5724cae | SI-7694 @uncheckedBounds, an opt-out from type bounds checking SI-7020 | ebb01e0 | SI-7020 Determinism for pattern matcher warnings SI-7733 | 1d28fe6 | [nomaster] SI-7733 reflective packages now more consistent with scalac SI-7331 | 36524c2 | SI-7331 tb.parse returns unpositioned trees SI-4907, SI-4615 | cd41987 | SI-4907 SI-4615 scala.bat honors -J and -D options. SI-7455 | 050b4c9 | SI-7455 Drop dummy param for synthetic access constructor SI-7636 | c4bf1d5 | SI-7636 Fix a NPE in typing class constructors SI-7687 | 2473e66 | SI-7687 Handle spaces in %COMSPEC% path in scala.bat. SI-7569 | c34b048 | [backport] SI-7569 Fix end position in PostfixSelect tree SI-7657 | ef979c0 | SI-7657 clarifies the "macro overrides method" rule SI-7336 | 48c677c | SI-7336 - Link flatMapped promises to avoid memory leaks SI-7265 | 06606e8 | SI-7265 General test for spec version SI-7649 | 6368ae7 | SI-7649 Fix positions for reshaped tag materializers SI-7617 | e72ae70 | SI-7617 typedAssign no longer expands lhs SI-7638 | 504b5f3 | SI-7638 Superaccessor lookup after specialization SI-7603, SI-7603 | eebaae5 | SI-7603 Speculative fix for annotation binding error SI-7579, SI-7344 | 2285493 | SI-7344 Specialize methods in private scopes SI-7571 | e7ac254 | SI-7571 Allow nesting of anonymous classes in value classes SI-7343 | c43b504 | SI-7343 Fixed phase ordering in specialization SI-7498 | c71fa58 | [backport] SI-7498 ParTrieMap.foreach no longer crashes SI-7214, SI-7505 | d5288f8 | SI-7505 Test case for pattern matcher + type alias bug SI-6841 | 608f577 | SI-6841 Fix bug at the intersection of DelayedInit and named args SI-7558 | dd5fa60 | SI-7558 Fix capture of free local vars in toolbox compiler SI-7556 | 28c5f73 | SI-7556 Fix runtime reflection involving ScalaLongSignature SI-7507 | d2faeb9 | SI-7507 Fix lookup of private[this] member in presence of self type. SI-7375 | 4dc3a33 | SI-7375 ClassTag for value class aliases SI-6138 | b941551 | SI-6138 Centralize and refine detection of getClass calls SI-7236, SI-7237, SI-7391 | f92ef91 | SI-7391 Always use ForkJoin in Scala actors on ... ... Java 6 and above (except SI-7473 | 5b54681 | SI-7473 Bad for expr crashes postfix SI-7421 | e18e48d | SI-7421 remove unneeded extra-attachement in maven deploy SI-7497 | d38e8ae | SI-7497 Fix scala.util.Properties.isMac

Complete commit list!

sha | Title ---: | --- cb4b8eb | update typesafe.artifactory-online.com to private-repo bf93057 | Change Scala license to unmodified 3-clause BSD. a1796aa | SI-7398 Enable test for Java 8 source parser under Java 8 bf0f9da | SI-7825 Consider DEFAULTMETHOD when refchecking concreteness cb028ba | SI-7818 Cast our way out of extended existential angst 2391887 | SI-7767 Test case for Scaladoc on early initializers 48283ca | SI-7767 avoid rejecting Scaladoc comments in early initializers fe9a3e9 | SI-7269 Rework MapLike#retains to account for desugaring change a19babc | SI-7814 Updates the instrumented version of ScalaRuntime. fb43ec8 | SI-7814 Avoid init cycle between Predef, package, ScalaRuntime 7804cec | [nomaster] SI-7652 REPL extended quest for tools 8b10daf | [nomaster] SI-7652 Bad tools fails loudly 9772ec8 | typedAnnotated no longer emits nulls a78dddd | Modify perRunCaches to not leak WeakReferences 989c3f8 | SI-7149 Use a WeakHashSet for type uniqueness 3ada703 | SI-7150 Replace scala.reflect.internal.WeakHashSet bce786f | SI-7782 Derive type skolems at the ground level 27d61a2 | SI-4760 Parser handles block-ending import cb9f2b9 | [nomaster] SI-7790 No ScriptEngine in 2.10 build 133b5c0 | Commit .gitignore directly 9d5ed33 | SI-7775 Harden against the shifting sands of System.getProperties 5dbc37d | SI-7779 Account for class name compactification in reflection bc6d4b5 | SI-7486 More tests for cycles triggered by implicit search ed34bcb | SI-942 A test case, five years adrift. 42e0f73 | SI-7716 Exclude patmat synthetics from bounds checking 076a92b | SI-7603 Remove diagnostic code for annotation error ab8a223 | SI-7603 Fix thread safety of FlagTranslation 75b44a6 | [nomaster] macro expansions are now auto-duplicated 3222add | SI-7752 Don't disambiguate type parameters of overloaded alts f91242c | SI-7014 Annot arg may refer to annotated class's member e65321c | SI-7694 Add @uncheckedBounds to the library 5724cae | SI-7694 @uncheckedBounds, an opt-out from type bounds checking ebb01e0 | SI-7020 Determinism for pattern matcher warnings 1d28fe6 | [nomaster] SI-7733 reflective packages now more consistent with scalac 1dac5ef | showRaw now prints symbols of def trees 26a8679 | currentRun.compiles now correctly works in toolboxes 5626c74 | [nomaster] macro errors now always have positions 36524c2 | SI-7331 tb.parse returns unpositioned trees cd41987 | SI-4907 SI-4615 scala.bat honors -J and -D options. 2864c7f | brings JavaMirrors up to speed with ClassfileParser 79009e3 | Rename t7636-neg.check to the standard t7636.check. 050b4c9 | SI-7455 Drop dummy param for synthetic access constructor c4bf1d5 | SI-7636 Fix a NPE in typing class constructors 2473e66 | SI-7687 Handle spaces in %COMSPEC% path in scala.bat. c34b048 | [backport] SI-7569 Fix end position in PostfixSelect tree ef979c0 | SI-7657 clarifies the "macro overrides method" rule 48c677c | SI-7336 - Link flatMapped promises to avoid memory leaks 06606e8 | SI-7265 General test for spec version 6368ae7 | SI-7649 Fix positions for reshaped tag materializers d09a46b | fix typo in BigInt/BigDecimal deprecation messages e72ae70 | SI-7617 typedAssign no longer expands lhs 55decf7 | makes it more convenient to work with SuppressMacroExpansionAttachment 504b5f3 | SI-7638 Superaccessor lookup after specialization eebaae5 | SI-7603 Speculative fix for annotation binding error 0c752d7 | Less noise on a partest failure. 2285493 | SI-7344 Specialize methods in private scopes e7ac254 | SI-7571 Allow nesting of anonymous classes in value classes d2c5324 | Refactoring to the scala-concurrent-tck.scala - there were numerous logical is da54f34 | Cleaning up method implementations in Future Optimizations: 1) Avoiding c43b504 | SI-7343 Fixed phase ordering in specialization c0ba5eb | Removed redundant retypedMethod in Duplicators da1ae7a | [backport] relax time constraint in duration-tck.scala (for Windows VMs) (cherry 3494397 | Add Eclipse project for JUnit tests. 25a8e70 | Add support for JUnit tests c71fa58 | [backport] SI-7498 ParTrieMap.foreach no longer crashes d5288f8 | SI-7505 Test case for pattern matcher + type alias bug ac4e3ca | Refactor testing logic for only running under certain JDK versions fc6da8d | Test for reading JDK 8 (classfile format 52) class files. 608f577 | SI-6841 Fix bug at the intersection of DelayedInit and named args dd5fa60 | SI-7558 Fix capture of free local vars in toolbox compiler 28c5f73 | SI-7556 Fix runtime reflection involving ScalaLongSignature d2faeb9 | SI-7507 Fix lookup of private[this] member in presence of self type. 4dc3a33 | SI-7375 ClassTag for value class aliases b941551 | SI-6138 Centralize and refine detection of getClass calls f92ef91 | SI-7391 Always use ForkJoin in Scala actors on ... ... Java 6 and above (except 5b54681 | SI-7473 Bad for expr crashes postfix bae4196 | A test case for a recent LUB progression. e18e48d | SI-7421 remove unneeded extra-attachement in maven deploy d38e8ae | SI-7497 Fix scala.util.Properties.isMac b89dc03 | Increase build.number to 2.10.3 658d90a | c.typeCheck(silent = true) now suppresses ambiguous errors 73d494d | Reimplementing much of the DefaultPromise methods Optimizations: 1) Avoiding to