On all things Groovy!

Groovy 1.1-beta-2 with contributions from JetBrains and JBoss

The Groovy team is pleased to announce the release of Groovy 1.1-beta-2, yet another step on our aggressive roadmap towards the release of Groovy 1.1 in October.

For this release, I would like especially to highlight two key contributions to the project:

First of all, after we've added Java 5 annotation support in Groovy 1.1-beta-1, this time, it was generics' turn. Thanks to the help of some JBoss developers who've integrated Groovy in JBoss Seam, we've been able to test our support for annotations and generics, and to make sure we would release a quality milestone to our users. Groovy is the first alternative dynamic language for the JVM that supports annotations and generics, so that you can integrate Groovy with any Enterprise application frameworks like EJB 3 / JPA, JBoss Seam, Google Guice, Spring, etc.

Secondly, I'm very happy to report the contribution of JetBrains to the development of Groovy. While working on the IntelliJ IDEA plugin for Groovy and Grails, the talentuous JetBrains team provided us with a joint Java/Groovy compiler! No more nightmare to cleanly separate Java and Groovy code to avoid cyclic references and tedious build configuration, you can now use the Groovyc compiler to compile both Groovy and Java sources in a single step.

Apart from those two great contributions that we have integrated in the project, we've worked on many other areas since the release of the first beta:

As I've already mentioned, we've added support for generics in Groovy, so that the generated bytecode properly includes the reflection information needed at runtime by various tools such as JPA. In the area of Java 5 features, static imports were also available in Groovy in beta-1 to make the code even more concise and readable.

Still pursuing the symbiotic relationship between the Groovy and Grails projects, the Grails team has integrated in Groovy its new ConfigSlurper mechanism to configure your applications more easily.

The classical for loop is now back in Groovy after a lot of user requests.

Named parameters are also now possible on top-level statements, without parentheses, so that expressive code can be written like in: move x: 10.centimers, y: 8;centimeters or fund.compareWith bench: NIKEI, over: 2.months

Apart from that, we also focused on cleaning up the Groovy grammar, improving the code coverage and the performance of Groovy in highly concurrent scenarios for paralle machines. Overall, roughly a hundred bug fixes, enhancements or new features have been integrated in this new release. On the tooling front, the Eclipse plugin recently released version 1.0.1, while the progress on the IntelliJ IDEA plugin has been awesome, you should also check it out.

Guillaume Laforge is blogging here about whatever comes to his mind,
but mostly about technology, and especially topics related to
the Groovy dynamic language,
the Gaelyk lightweight toolkit
for developing applications for Google App Engine,
and all the other cool things in the Java and Groovy ecosystem.