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

Commits and the issues they fixed since v2.10.2

Issue(s)CommitMessage
SI-7398a1796aaSI-7398 Enable test for Java 8 source parser under Java 8
SI-7825bf0f9daSI-7825 Consider DEFAULTMETHOD when refchecking concreteness
SI-7818cb028baSI-7818 Cast our way out of extended existential angst
SI-77672391887SI-7767 Test case for Scaladoc on early initializers
SI-776748283caSI-7767 avoid rejecting Scaladoc comments in early initializers
SI-7269fe9a3e9SI-7269 Rework MapLike#retains to account for desugaring change
SI-7814a19babcSI-7814 Updates the instrumented version of ScalaRuntime.
SI-7814fb43ec8SI-7814 Avoid init cycle between Predef, `package`, ScalaRuntime
SI-76527804cec[nomaster] SI-7652 REPL extended quest for tools
SI-76528b10daf[nomaster] SI-7652 Bad tools fails loudly
SI-7149989c3f8SI-7149 Use a WeakHashSet for type uniqueness
SI-71503ada703SI-7150 Replace scala.reflect.internal.WeakHashSet
SI-7782bce786fSI-7782 Derive type skolems at the ground level
SI-476027d61a2SI-4760 Parser handles block-ending import
SI-7790cb9f2b9[nomaster] SI-7790 No ScriptEngine in 2.10 build
SI-77759d5ed33SI-7775 Harden against the shifting sands of System.getProperties
SI-77795dbc37dSI-7779 Account for class name compactification in reflection
SI-7486bc6d4b5SI-7486 More tests for cycles triggered by implicit search
SI-7778, SI-942ed34bcbSI-942 A test case, five years adrift.
SI-7756, SI-7694, SI-771642e0f73SI-7716 Exclude patmat synthetics from bounds checking
SI-7603076a92bSI-7603 Remove diagnostic code for annotation error
SI-7603ab8a223SI-7603 Fix thread safety of FlagTranslation
SI-77523222addSI-7752 Don't disambiguate type parameters of overloaded alts
SI-7014f91242cSI-7014 Annot arg may refer to annotated class's member
SI-7694e65321cSI-7694 Add @uncheckedBounds to the library
SI-76945724caeSI-7694 @uncheckedBounds, an opt-out from type bounds checking
SI-7020ebb01e0SI-7020 Determinism for pattern matcher warnings
SI-77331d28fe6[nomaster] SI-7733 reflective packages now more consistent with scalac
SI-733136524c2SI-7331 tb.parse returns unpositioned trees
SI-4907, SI-4615cd41987SI-4907 SI-4615 scala.bat honors -J and -D options.
SI-7455050b4c9SI-7455 Drop dummy param for synthetic access constructor
SI-7636c4bf1d5SI-7636 Fix a NPE in typing class constructors
SI-76872473e66SI-7687 Handle spaces in %COMSPEC% path in scala.bat.
SI-7569c34b048[backport] SI-7569 Fix end position in PostfixSelect tree
SI-7657ef979c0SI-7657 clarifies the "macro overrides method" rule
SI-733648c677cSI-7336 - Link flatMapped promises to avoid memory leaks
SI-726506606e8SI-7265 General test for spec version
SI-76496368ae7SI-7649 Fix positions for reshaped tag materializers
SI-7617e72ae70SI-7617 typedAssign no longer expands lhs
SI-7638504b5f3SI-7638 Superaccessor lookup after specialization
SI-7603, SI-7603eebaae5SI-7603 Speculative fix for annotation binding error
SI-7579, SI-73442285493SI-7344 Specialize methods in private scopes
SI-7571e7ac254SI-7571 Allow nesting of anonymous classes in value classes
SI-7343c43b504SI-7343 Fixed phase ordering in specialization
SI-7498c71fa58[backport] SI-7498 ParTrieMap.foreach no longer crashes
SI-7214, SI-7505d5288f8SI-7505 Test case for pattern matcher + type alias bug
SI-6841608f577SI-6841 Fix bug at the intersection of DelayedInit and named args
SI-7558dd5fa60SI-7558 Fix capture of free local vars in toolbox compiler
SI-755628c5f73SI-7556 Fix runtime reflection involving ScalaLongSignature
SI-7507d2faeb9SI-7507 Fix lookup of private[this] member in presence of self type.
SI-73754dc3a33SI-7375 ClassTag for value class aliases
SI-6138b941551SI-6138 Centralize and refine detection of `getClass` calls
SI-7236, SI-7237, SI-7391f92ef91SI-7391 Always use ForkJoin in Scala actors on ... ... Java 6 and above (except
SI-74735b54681SI-7473 Bad for expr crashes postfix
SI-7421e18e48dSI-7421 remove unneeded extra-attachement in maven deploy
SI-7497d38e8aeSI-7497 Fix scala.util.Properties.isMac

Complete commit list!

shaTitle
cb4b8ebupdate typesafe.artifactory-online.com to private-repo
bf93057Change Scala license to unmodified 3-clause BSD.
a1796aaSI-7398 Enable test for Java 8 source parser under Java 8
bf0f9daSI-7825 Consider DEFAULTMETHOD when refchecking concreteness
cb028baSI-7818 Cast our way out of extended existential angst
2391887SI-7767 Test case for Scaladoc on early initializers
48283caSI-7767 avoid rejecting Scaladoc comments in early initializers
fe9a3e9SI-7269 Rework MapLike#retains to account for desugaring change
a19babcSI-7814 Updates the instrumented version of ScalaRuntime.
fb43ec8SI-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
9772ec8typedAnnotated no longer emits nulls
a78ddddModify perRunCaches to not leak WeakReferences
989c3f8SI-7149 Use a WeakHashSet for type uniqueness
3ada703SI-7150 Replace scala.reflect.internal.WeakHashSet
bce786fSI-7782 Derive type skolems at the ground level
27d61a2SI-4760 Parser handles block-ending import
cb9f2b9[nomaster] SI-7790 No ScriptEngine in 2.10 build
133b5c0Commit .gitignore directly
9d5ed33SI-7775 Harden against the shifting sands of System.getProperties
5dbc37dSI-7779 Account for class name compactification in reflection
bc6d4b5SI-7486 More tests for cycles triggered by implicit search
ed34bcbSI-942 A test case, five years adrift.
42e0f73SI-7716 Exclude patmat synthetics from bounds checking
076a92bSI-7603 Remove diagnostic code for annotation error
ab8a223SI-7603 Fix thread safety of FlagTranslation
75b44a6[nomaster] macro expansions are now auto-duplicated
3222addSI-7752 Don't disambiguate type parameters of overloaded alts
f91242cSI-7014 Annot arg may refer to annotated class's member
e65321cSI-7694 Add @uncheckedBounds to the library
5724caeSI-7694 @uncheckedBounds, an opt-out from type bounds checking
ebb01e0SI-7020 Determinism for pattern matcher warnings
1d28fe6[nomaster] SI-7733 reflective packages now more consistent with scalac
1dac5efshowRaw now prints symbols of def trees
26a8679currentRun.compiles now correctly works in toolboxes
5626c74[nomaster] macro errors now always have positions
36524c2SI-7331 tb.parse returns unpositioned trees
cd41987SI-4907 SI-4615 scala.bat honors -J and -D options.
2864c7fbrings JavaMirrors up to speed with ClassfileParser
79009e3Rename t7636-neg.check to the standard t7636.check.
050b4c9SI-7455 Drop dummy param for synthetic access constructor
c4bf1d5SI-7636 Fix a NPE in typing class constructors
2473e66SI-7687 Handle spaces in %COMSPEC% path in scala.bat.
c34b048[backport] SI-7569 Fix end position in PostfixSelect tree
ef979c0SI-7657 clarifies the "macro overrides method" rule
48c677cSI-7336 - Link flatMapped promises to avoid memory leaks
06606e8SI-7265 General test for spec version
6368ae7SI-7649 Fix positions for reshaped tag materializers
d09a46bfix typo in BigInt/BigDecimal deprecation messages
e72ae70SI-7617 typedAssign no longer expands lhs
55decf7makes it more convenient to work with SuppressMacroExpansionAttachment
504b5f3SI-7638 Superaccessor lookup after specialization
eebaae5SI-7603 Speculative fix for annotation binding error
0c752d7Less noise on a partest failure.
2285493SI-7344 Specialize methods in private scopes
e7ac254SI-7571 Allow nesting of anonymous classes in value classes
d2c5324Refactoring to the scala-concurrent-tck.scala - there were numerous logical is
da54f34Cleaning up method implementations in Future Optimizations: 1) Avoiding
c43b504SI-7343 Fixed phase ordering in specialization
c0ba5ebRemoved redundant `retypedMethod` in `Duplicators`
da1ae7a[backport] relax time constraint in duration-tck.scala (for Windows VMs) (cherry
3494397Add Eclipse project for JUnit tests.
25a8e70Add support for JUnit tests
c71fa58[backport] SI-7498 ParTrieMap.foreach no longer crashes
d5288f8SI-7505 Test case for pattern matcher + type alias bug
ac4e3caRefactor testing logic for only running under certain JDK versions
fc6da8dTest for reading JDK 8 (classfile format 52) class files.
608f577SI-6841 Fix bug at the intersection of DelayedInit and named args
dd5fa60SI-7558 Fix capture of free local vars in toolbox compiler
28c5f73SI-7556 Fix runtime reflection involving ScalaLongSignature
d2faeb9SI-7507 Fix lookup of private[this] member in presence of self type.
4dc3a33SI-7375 ClassTag for value class aliases
b941551SI-6138 Centralize and refine detection of `getClass` calls
f92ef91SI-7391 Always use ForkJoin in Scala actors on ... ... Java 6 and above (except
5b54681SI-7473 Bad for expr crashes postfix
bae4196A test case for a recent LUB progression.
e18e48dSI-7421 remove unneeded extra-attachement in maven deploy
d38e8aeSI-7497 Fix scala.util.Properties.isMac
b89dc03Increase build.number to 2.10.3
658d90ac.typeCheck(silent = true) now suppresses ambiguous errors
73d494dReimplementing much of the DefaultPromise methods Optimizations: 1) Avoiding to