The Groovy development team is pleased to announce the release of the last beta version in the 2.0.0 release cycle!
This version introduces two major enhancements: the @CompileStatic annotation (which enables static compilation of Groovy code) and support for invokedynamic (known as indy)!
If you already gave a try to the static type checker available in previous beta releases of Groovy 2.0, static compilation is a step further. Basically, replacing the @TypeChecked annotation with @CompileStatic, your code will be statically compiled.
Support for the new "invokedynamic" JVM instructions is also bundled into this distribution. However, as we must maintain binary compatibility with previous versions of Groovy and JDKs (especially, support for JDK 5 and 6), the indy-enabled version of Groovy is available in a separate jar. If you use Maven, Ivy or Gradle, the jar is available using the "indy" classifier. If you use the distribution zip, you will find two jars in a separate directory ("indy"), corresponding to groovy.jar and groovy-all.jar (for embedded version).
We strongly encourage you to test both static compilation (and type checking) and invoke dynamic support because this release is the last beta: the next Groovy version will be an RC with modularisation included. More than ever, we need beta testers!
You can download Groovy 2.0.0-beta-3 at the regular place: http://docs.codehaus.org/display/GROOVY/Download
For those who are interested in bug fixes since beta 2, you can read the release notes: http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=18244
Thanks to all our contributors and all your feedback!