This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala 2.9.1 final

The Scala Team is very happy to announce a new stable release of the Scala distribution: Scala 2.9.1 final is currently available from our Download Page. Many thanks to all our contributors and testers! This is a maintenance release: several bugs have been fixed, and other improvements introduced. The new Scala 2.9.1 release has been designed to be fully binary compatible with the previous version 2.9.0.1.

 

The Scala 2.9.1 distribution

What is new?

The 2.9.1 release of Scala includes many bug fixes and improvements, in particular to the interpreter: most of the interpreter changes available in the development mainline have been ported to the 2.9.x release branch.

This releases fixes the following issues:
 

Ticket Summary
SI-1048 Assertion error in wild mix of pattern matching and existentials
SI-3501 java.lang.Error: no-symbol does not have owner with CPS-Plugin
SI-4237 Syntactic sugar for calling mutator doesn't always work
SI-4547 Failure of implicit conversion from {int, long, double} to {BigInt, BigDecimal}
SI-4556 :type - no error details
SI-4588 Scattered method parameter list with default argument
SI-4593 typechecker throws NoSuchElementException: key not found: trait Nothing
SI-4603 Unable to inherit from Hadoop Mapper (new or old API) in 2.9.0 with code that functions in 2.8.1
SI-4614 scala REPL not launching on trunk builds
SI-4659 Change BigInt.~ to BigInt.unary_~
SI-4660 GroupBy in views returns wrong result in 2.9.x
SI-4662 Regression: Source.getLines broken in 2.9.0.1
SI-4671 scala.io.Source scala2.9 REPL wrong result when dividing into two lines
SI-4678 flatMap is broken for parallel collections in 2.9.0 & 2.9.0-1
SI-4692 Implicit lookup failure for type alias
SI-4705 Interpreter blocks on ctrl-d (OS X, at least)
SI-4712 Raw type used in argument position is not existentially quantified
SI-4748 Unexpected return value for Range(x,y).init
SI-4752 Hash code for None changes across JVM invocations
SI-4757 Nonexisting symbol error with separate compilation
SI-4759 Actors: java.lang.RuntimeException: unhandled timeout exception when using '!?'
SI-4782 scalac ignores empty classpath argument
SI-4791 Unnecessary structural type in collection.Iterator's implementation
SI-4821 ++= in ArrayBuffer is optimized only for collection.mutable.IndexedSeq and not for all IndexedSeqs

 
The complete list of all the changes (bug fixes and improvements) is available here:

24909, 24919, 24941, 24961, 24963, 24965, 24981, 24984, 24986, 24987, 24992, 24993, 24999, 25000, 25001, 25002, 25003, 25004, 25005, 25006, 25007, 25008, 25009, 25010, 25015, 25028, 25029, 25030, 25031, 25033, 25038, 25039, 25040, 25041, 25044, 25045, 25046, 25048, 25050, 25051, 25052, 25053, 25054, 25055, 25057, 25058, 25059, 25061, 25062, 25063, 25065, 25066, 25069, 25068, 25070, 25071, 25072, 25074, 25075, 25076, 25080, 25081, 25082, 25083, 25085, 25087, 25088, 25090, 25091, 25092, 25093, 25094, 25095, 25096, 25097, 25099, 25100, 25101, 25110, 25111, 25112, 25113, 25114, 25117, 25119, 25122, 25124, 25125, 25126, 25127, 25128, 25130, 25132, 25133, 25134, 25135, 25136, 25137, 25138, 25138, 25139, 25140, 25141, 25142, 25144, 25145, 25146, 25148, 25149, 25152, 25153, 25158, 25160, 25161, 25162, 25164, 25167, 25169, 25170, 25171, 25172, 25202, 25204, 25207, 25208, 25209, 25212, 25252, 25374, 25375, 25377, 25379, 25380, 25381, 25384, 25385, 25390, 25404, 25405, 25462, 25504, 25506, 25509, 25531, 25534, 25544, 25548, 25549.


Note: the interpreter option '-i' may behave incorrectly in this version. In case you require it, please just add the option '-Yrepl-sync' to your command line as well.

Re: Scala 2.9.1 final

Among all the changed introduced by 2.9.1, I was really impressed by the improvements to the REPL startup time. Under both Windows and Linux, the REPL has now a very bearable launch time. Kudos to the team for that great release !

Re: Scala 2.9.1 final

I do also really like the improvements in the startup time. Great work.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland