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

Scala 2.8.1 RC4

We have a new release candidate for the upcoming 2.8.1 release: Scala 2.8.1 RC4 is available from our Download Page. This release candidate addresses one last-minute regression found in RC3 and one Scaladoc glitch, but is otherwise identical to the previous RC. We will wait one more week to allow developers to test RC3; if no further issues are found, the final version will follow.

Please help us with the testing of this new release candidate, and let us know of any issues you may detect, or of any binary incompatibility issue that you may encounter. You can find the list of improvements in Scala 2.8.1 below. This release is intended to be fully binary compatible with version 2.8.0.

 

The Scala 2.8.1 distribution

This Release Candidate is made available for testing purposes only and is not intended for production environments. We will wait at least one week before issuing a final release, in order to allow developers and testers to send us their feedback.

What is new?

The 2.8.1 release of Scala includes many bug fixes, listed below:

Ticket Summary
#36 When a val overrides an abstract var
#434343 Scaladoc and val (constructor args and lazy)
#6c6c6c scaladoc for case class fields
#4f4f4f Assertion error on compilation
#1220 Stream.cons result not thread-safe
#1445 Scaladoc does not seem to correctly report singleton types
#1693 Implicit conversion ambiguity
#1766 Primary constructor does not initialize structural type when auxiliary constructors are present
#2318 Structural method is dispatched on non-public member when overriding public member
#2331 Assertion Error Erasure$Eraser.cast(Erasure.scala:442)
#2413 Types$TypeError when using inherited method from Java with repeated parameters
#2416 Unsound higher order typing
#2462 Better error messages for implicits
#2464 'class file is broken' error when extending Java static inner classes
#2799 spurious warning for deprecated case class
#3105 parameters with default values not distinguished
#3193 "Self" escapes SynchronizedMap
#3209 scalac crash on (invalid) input file with an annotation on package declaration
#3247 incorrect error message compiling trait with view bound
#3249 java generic signature should not refer to type parameters of enclosing method (partial fix)
#3361 NullPointerException in REPL when using DoubleLinkedList
#3374 error in kind checking: higher-order type parameters
#3399 IndexOutOfBoundsException on search for implicit =:=
#3403 Compiler error with renamed BeanProperty import
#3414 Option.empty
#3419 kind conformance and separate compilation
#3435 Compiler crash with TypeError during SpecializeTypes
#3461 Scala doc for List.sliding is incorrect
#3468 dated spec references to ByNameFunction
#3477 upper bound on type parameter leads inferencer to wrong arity
#3486 No Java Signature for mixed-in generic methods
#3493 The result of scala.collection.immutable.TreeSet[A]#toString should be sorted
#3494 Parameterizing varargs method on singleton type crashes scalac
#3495 Cannot pass Java properties containing ':'
#3496 Stream.splitAt does not terminate
#3497 assertion failed in getPrimitive
#3502 Stream.range regression in Scala 2.8.0 (works with Scala 2.7.7)
#3507 assertion failure in mkAttributedQualifier
#3508 Stream.tabulate creates an infinite stream
#3519 Recent nsc change breaks AppEngine compatibility (partial fix)
#3521 Java annotation with negative double value causes error
#3540 TraversableFactory.iterate is too aggressive
#3543 Java annotations restriction; error message could be improved
#3548 scala.MatchError on code completion of a Tuple
#3551 jvm/actor-executor2 test fails very rarely due to incorrect use of j.u.c.Executor
#3570 Compiler crash in a small code
#3580 TraversableLike.toStream loops
#3582 Higher order type parameter results in implicit search failure
#3584 Random.shuffle not usable with Random objects initialized from a non-default seed
#3603 Integrate IntMap / LongMap into 2.8 collections
#3604 Compiler crash: XML parsing: <div></abbr>
#3605 No JSON Serializer in scala.util.parsing.json
#3612 Inner object does not conform to self-type
#3615 Enum with duplicate ordinal throws AssertionError
#3616 Enumeration.values is confused by methods returning Val instances
#3618 ill-formed type application with type constructors
#3622 Compiler crash with Java repeated parameters
#3627 ClassFormatError for specialized class extending specialized trait
#3629 Bring LinkedBlockingQueue up-to-date
#3631 java.lang.ArrayIndexOutOfBoundsException while compiling xhtml1-strict.scala
#3636 scala.MatchError with Specialization
#3645 Stream.tabulate creates an infinite constant stream
#3648 VerifyError with named constructor parameter with default value
#3649 scalac crashes after reporting name clash between val and companion object
#3650 specialization incorrectly searches for specialized variants
#3653 Repetitive method name/signature in class file
#3663 IllegalAccessError when using package proptected members of a Java class
#3667 Java Serialization Issue with Nested Class and Default Parameter
#3676 Compiler crash when trying to implement a custom view
#3679 scalac memory leak with NoPhase
#3684 ArrayBuilder.ensureSize can resize twice
#3685 field type inference fails when using named arguments with same name
#3688 JavaConversions.asMap can't be used a a view bound due to overloading
#3691 Compiler crash accessing higher kinded type in refinement
#3692 Infinite loop when compiling a simple manifest test
#3697 compile error applying curried method with repeated and default parameters
#3709 performance: use of implicit conversion to RichInt in ResizableArray wasteful
#3716 illegal characters in msil source causes compilation failure
#3717 ScalaSigParser in scalap doesn't use the new format
#3726 Blocks with application of a function-typed variable are seen as pure
#3728 Wrong generic Java signature for methods with Array[T] parameters
#3729 stack traces on file not found
#3737 scaladoc for Option is wrong in places, could use examples
#3750 No package-level scaladoc for the scala package
#3751 Update/improve scala.Array's scaladoc
#3756 Incongruous Java Class File / Package Crashes Scala Compiler
#3757 No error given when abstract base class is not fully implemented
#3763 type inference causes ClassCastException: Arrays are not ScalaObjects
#3765 Incorrect Position with \r\n Delimiters
#3766 Performance: ArrayBuffer.sizeHint could directly call arraycopy rather than Array.copy
#3767 Array.copy needs review
#3769 Compiler UnsupportedOperationException: Position.point when parsing ill-formed XML
#3772 companions and method-owned case classes (partial fix)
#3773 Missing deprecation warning
#3774 scalac hang on innocent looking source (partial fix)
#3776 scalac silently hangs while compiling (possibly with implicits)
#3777 type constructor inference should normalize to improve unification
#3779 @specialized collides with Manifest
#3780 cyclic reference when compiling sources using build manager
#3786 Improve scaladoc of scala.xml.pull
#3793 Improve scaladoc of scala.collection package and link to the new Guide
#3803 Specialization with function object causes null reference
#3873 Dependent method type referring to previous argument list
#3894 Regression: scaladoc fails when mixing in PackratParsers
#3915 Compiler crash: "Illegal group reference"
#3939 Scala compiler rejects override of abstract protected Java method
#3947 Can't override protected Java member from outer package in mixed compilation


In addition, the release contains many small improvements and fixes, particularly concerning Scaladoc.

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