Today marks the release of Scala IDE for Eclipse 2.0, which makes it easy to develop Scala and mixed Scala/Java projects in the familiar Eclipse Integrated Development Environment.
After 9 months of intensive work by open source community contributors, users, and the IDE project team at Typesafe, we are proud to release this new version with improved reliability, performance, and responsiveness. New features include error reports as you type, a project builder with dependency tracking, definition hyperlinking, inferred type hovers, code completion, better integration with Java build tools, and more.
A lot of effort has gone into this version of the IDE and we would like to recognize the people who have contributed so much time and energy to the success of the project.
A bit of history
The Scala IDE project began a few of years back, when Miles Sabin layed down the foundations of the open source project and an enthusiastic community formed around the effort to create a free, open-source, Eclipse-based IDE for Scala. In late 2010 the Typesafe team decided to support the open source project, and in September Eugene Vigdorchik became the first full-time engineer to work on the project. At the same time, Typesafe founder and Scala creator Martin Odersky led a reimplementation of the Scala presentation compiler, the engine behind the IDE semantic actions.
For version 2.0 we had some tough decisions to take, and development started with a very limited number of features, aiming for a very reliable core. Naturally, this raised the need for early and frequent feedback from our users: on March 28 we had the first beta of the upcoming 2.0 release. This was followed by a stream of betas (12 in total), packing around 300 closed tickets over the next months. As Eugene moved on to other projects, two other Typesafe engineers joined the IDE team: Iulian Dragos and Mirco Dotta, followed by Luc Bourlier in September. Together with the great community (Mirko Stocker and Matt Russell just to name a few), the IDE took great strides to reach its first production-ready release.
As things moved forward and the 2.0 branch became the main version in use, it became clear that we needed to have more than one IDE version: 2.0 remained the rock-solid branch, where only bug-fixing happens, while 2.1 is the place where new features, such as semantic highlighting or implicit highlighting are developed.
Besides the two IDE versions, we support three versions of the Scala compiler: 2.8.x, 2.9.x and 2.10 (Scala trunk), with nightly builds for all of them, so you can choose what suits you the best: the latest IDE developments on a stable Scala compiler, the stable IDE on the bleeding edge Scala compiler, or even the latest and greatest of both -- like the core Scala team, who uses the Eclipse IDE for their daily scalac development! The choice is yours.
While the IDE always had a vibrant community around it, contributing to the project itself was sometimes challenging for newcomers. On October 4 we moved the project to Github, leading to a much simpler process for contributors. In just a few weeks we had 17 forks, some of which are extremely interesting developments in their own right (for example, check out ScalaGWT, which brings Scala to the GWT framework).
Today we also release a redesign of the Scala IDE web site, along with reworked documentation, including screencasts. Thanks Heather for the awesome work. We believe that the new site is not only pretty, but makes it much easier to find documentation, both for users and contributors (and everyone is a potential contributor). The web site is backed by Git too, so you can contribute by using the awesome Pull Request button!
A look at the future
Even though it's been a long ride, today's release is not the end of the road, but rather a beginning. We can now look at adding new features on a solid base, and great things will come, such as improved compilation speed, find references, and a Scala debugger. Suggest your favorite feature, and help us build the next great IDE.
After the 2.0.0 release we will continue to support the 2.0 branch with maintenance releases including important bug fixes. However, the focus will shift to the 2.1 development stream, and concentrate on the upcoming features. Also, 2.0.0 will be the last version to support the 2.8 compiler. This decision was not taken lightly, but the effort to support 2.8 is substantial and detracts from our ability to innovate on newer releases. We believe that 2.0.0 is a solid release that can help people who cannot upgrade to 2.9.x in the immediate future.
Scala IDE version 2 improves developer productivity through a large number of features. Below we highlight the main ones, but don't forget to check out the full list on the web site, and watch the screencast to see them in action.
And there is more! Check out the full list of features, and download Scala IDE 2.0 today at www.scala-ide.org.