We are happy to announce the new release candidate of the Scala distribution: Scala 2.7.4 RC1  is available from our Download Page . This new version is a maintenance release; several bugs have been fixed, but at this stage we are only adding new features to the new Scala 2.8 codebase, which should be complete within a few months. The version 2.7.4 of the Scala IDE for Eclipse , however, introduces many improvements, listed below.
This version will be the last release of the 2.7.x branch, and will also be the last one to support the old version 1.4 of the Java Virtual Machine. Please read below for further details on what is new in Scala 2.7.4 RC1 , and in the new and improved Scala IDE for Eclipse .
The 2.7.4 release of Scala includes several bug fixes, listed below:
|#1882 ||bad class file: scala/RandomAccessSeq$Mutable.class undeclared type variable: A |
|#1858 ||Stack.push overload is ambiguous |
|#1801 ||Actors memory leak |
|#1775 ||Another Serializable issue |
|#1721 ||List.endsWith broken |
|#1711 ||bad class file generated for method with local function definition |
|#1691 ||List.range with step = 0 ends in OutOfMemoryError |
|#1689 ||Incorrect regex in JavaTokenParsers.decimalNumber |
|#1686 ||Remote actors fail to run due to classloader issue |
|#1684 ||interpreter always throws exception under -Ydebug |
|#1659 ||Compiler crash with type refinement |
|#1652 ||Actor.reactWithin gives java.lang.IllegalStateException: Timer already cancelled |
|#1651 ||Please add a LICENSE file to the distribution bundle |
|#1648 ||scala.util.logging.ConsoleLogger cannot be mixed with a Logged |
|#1589 ||Lazy val binding causes compiler/REPL crash |
|#1269 ||scalac command line should support @ syntax like javac so not all filenames need be passed on command line |
|#1143 ||Serializable again |
|#934 ||fsc Ant task should not call System.exit() on error |
|#216 ||Tuple hashCode crashes when tuple contains null |
Scala Swing is now also included in the JVM 1.4-compatible version of the distribution. Please note that Scala 2.7.4 will be the last version of Scala to support version 1.4 of the Java Virtual Machine. Future versions will require Java 5 or newer.
The following release notes are by the lead plugin developer, Miles Sabin. 
This release is based on a new approach to integration with the Eclipse JDT which makes use of Equinox Aspects  and the JDT weaving functionality  developed in conjunction with Andrew Eisenberg of AJDT. 
This allows for much deeper and more robust interoperation between Eclipse's Scala and Java tooling. As a result many long standing bugs have been resolved (see below) and many additional JDT features will now work correctly with Scala projects.
From 2.7.4 onwards the new name for the plugin is the Scala IDE for Eclipse (thanks to Ian Skerrett of the Eclipse Foundation for the suggestion).
Since 2.7.3 I have taken on the role of lead for the project.
The recommended installation method is using the Scala IDE for Eclipse update site. If you want to install the Release Candidate of the new version 2.7.4, the update site is:
Meanwhile, the previous stable version 2.7.3 will remain available from the regular update site at:
Note that these are update site URLs, and are not navigable using a web-browser. Please see this page  for further information. Important: if you are installing the 2.7.4 plugin on Eclipse 3.4.x, JDT weaving needs to be manually enabled after installation: go to Window → Preferences → JDT Weaving; if the preference dialog shows that JDT Weaving is currently disabled, then click on the button to enable it and follow the instructions to restart Eclipse. This step is not required with Eclipse 3.5.
Currently (as of April 2009) it is difficult (but not impossible) to install the Scala IDE into a readonly Eclipse installation. This is resolved on very recent builds of Eclipse 3.5 (post M6) but for now it's recommended to install from the RC update site directly into a fresh read-write Eclipse installation. Instructions for installing into a read-only or otherwise unusually laid out Eclipse can be found in the section "Installing JDT Weaving in a non-default location" of this guide .
If you don't install into a fresh Eclipse instance, I would recommend uninstalling any previous Scala IDE versions first.
It's no longer necessary to have per-projects settings for the Java builder (disabling output folder scrubbing and preventing the copying of .scala files to the output folder). It's not strictly necessary to remove these settings, but it's advisable. This should improve the behaviour of tools which generate Eclipse projects programmatically (eg. Maven).
There have been some minor changes to the way syntax highlight colour preferences are stored ... if things don't look quite as you'd expect then I recommend resetting them to their defaults and redo any customization you had previously.
There are persistent issues with dependency management which might show us after upgrading. If you experience hangs or extremely slow builds then I recommend locating and deleting the .manager folders that you will find at the top level of your Scala project. I expect this issue to be resolved in 2.8.0 which will make use of a significantly improved dependency management mechanism.
The following bugfixes and enhancements are included in this release:
|#1669 ||ASTConverter throws stack traces on my source file |
|#450 ||add eclipse plugin key bindings for Run/Debug Scala app |
|#1644 ||Camel-case code assist |
|#1233 ||Add the outline view to the Scala perspective |
|#1778 ||NPE in JDTUtils.flatten |
|#1741 ||Resources not being copied to output folder |
|#1661 ||Scala Eclipse plugin interferes with EclEmmaEclipe plugin highlighting in Java Editor Area. |
|#1253 ||Multiple scala classes in a file confuse Java editor |
|#1717 ||Character being delayed when typing literal Strings. |
|#1590 ||Run as JUnit often returns "No tests found with test runner 'JUnit 4'" |
|#1636 ||In 2.7.3.final Creating a new Object created two entries in the Package Explorer |
|#1662 ||Scala files show as Java files in package explorer |
|#1719 ||Multiple assert(true) in ScalaUIPlugin |
|#1716 ||Can't set breakpoint. |
|#1627 ||Abnormal Workbench Condition While Undoing (Ctrl+Z) |
|#1534 ||Java Editor "Save Actions" are applied to Scala source files |
|#1410 ||Scala source editor adding final keywords |
|#1516 ||Navigating over annotations does not work |
|#1483 ||imported scala files show up twice in package / project explorer |
|#1542 ||Looping NPE 'Error in JDT core during AST creation', brings CPU to 100% utilization |
|#1370 ||Eclipse plugin affects warning and error icons in tabs for Java files |
|#1349 ||Eclipse plugin affects Run As menu in Java files |
|#1228 ||Copying Scala sources in Package Explorer does not work |
|#1643 ||Code completion is case insensitive (behaviour different from Eclipse Java support) |
|#1192 ||Leaving breadcrumbs enabled causes Scala plugin to throw NPE. |
|#1191 ||Package Explorer / Rename insists on .java extention |
|#1174 ||NPE in StructureBuilderTraverser$TypeOwner$class.addType |
|#1694 ||creation of empty src directory |
|#1507 ||Linked projects break scala builder |
|#1275 ||New Scala Application wizard doesn't work on project |
|#1002 ||Hyperlink navigation is unreliable in projects created outside the Eclipse workspace |
|#941 ||Eclipse misbehaves when projects have a non-standard structure |
|#135 ||Scala compiler won't take sources from linked dirs? |
|#1575 ||Full build fails to create class files for a Scala project not created by plugin |
|#766 ||Code complete sometimes overwrites succeeding code |
|#1506 ||Code completion outside class definition throws exception |
|#1471 ||Editor fails to open in Eclipse 3.5 M3 |
|#1593 ||Scala Editor Fails to Open on Eclipse 3.5 |
|#1679 ||Window | New Editor results in editor closing |
|#1647 ||scala-library manifest is missing the scala.annotation.unchecked package |
|#1621 ||Invalid Menu Extension error |
|#1287 ||Error message when opening Scala Project |
|#1455 ||NPE trying to launch Scala app |
|#1166 ||ScalaDefElement cannot be cast to IField |
|#1475 ||Eclipse plugin fails to start when build output directory does not exist |
The following people provided patches and/or significant insights into bugs or new features included in this release:
Many thanks ... much appreciated. (Apologies if I've left anyone out ... please let me know if I have).