Scala 2.10.3 is now available!

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:

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 ---: | --- 33 | 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 | Iulian Dragos 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-7862 | 8e11dcb | [nomaster] SI-7862: MANIFEST.MF file for Scala sources SI-7861 | 7f4b44b | SI-7861 Don't execute internal callbacks on the user Executor 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 ---: | --- 8e11dcb | [nomaster] SI-7862: MANIFEST.MF file for Scala sources 7f4b44b | SI-7861 Don't execute internal callbacks on the user Executor 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