Groovy Blog from November, 2009

The Groovy development team is very pleased to announce the joint release of Groovy 1.6.6 and Groovy 1.7-RC-1.

Groovy 1.6.6 is the latest official stable release, which incorporates several bug fixes and minor enhancements.
You can have a more detailed overview of the fixes on the JIRA release notes.

Groovy 1.7-RC-1 is the first Release Candidate towards the final version of Groovy 1.7.
To know more about the various bug fixes and enhancements, please have a look at the JIRA release notes.
To highlight just a few enhancements:

  • The remaining issues with the GroovyServletEngine rewrite and its usage in Groovlets and Templates should now all be cleared
  • A few adjustments to our enum and inner classes support (including stub generation for inner classes)
  • Better support of @Grape in the Groovy Console
  • MissingMethodException/MissingPropertyException now suggests some possible typos should you receive such an exception, by suggesting existing methods or properties whose name is close to the one that triggered the exception
  • The line numbers appear properly in the Groovy Console
  • Some encoding issues have been fixed with regards to loading Groovy scripts and classes through GroovyShell, GroovyCodeSource and friends (for instance, the problem could be seen on the Groovy Web Console in prior versions)
  • A new output visualization mode is available for the Groovy Console, showing the output in an external window instead of in the bottom output pane.
  • Ability to specify a Grape resolver to indicate where Grapes can be downloaded from, for example @GrabResolver(name='restlet.org', root='http://maven.restlet.org') @Grab(group='org.restlet', module='org.restlet', version='1.1.6')

Let me remind you about our draft release notes for the 1.7 final release covering the big lines:
http://docs.codehaus.org/display/GROOVY/(draft)+Groovy+1.7+release
Some updates were made to the document for this release, and some final additions will be added shortly.

Download Groovy 1.6.6 and 1.7-RC-1.

Thanks a lot to all involved in those two releases!
We're looking forward to your feedback, especially for the upcoming Groovy 1.7 final release. This is now your change to drive test the release candidates in your projects, to see if there's any regression or critical issue.
Depending on issues reported, 1.7-RC-1 may potentially be the sole release candidate. We're aiming at a release date for the final version of Groovy 1.7 before Christmas, so you can play with your new geek toy during the break!

Enjoy!

The CATS team proudly announces that the WJAX conference attendees elected us as winner of the WJAX Challenge - a coding challenge with the goal of implementing a betting system (but without money) for the next years FIFA soccer world championship.

8 teams have submitted a contribution, 5 were elected to the final round by committee, and the audience selected the winner: 1st CATS (Canoo ULC on Groovy&Grails, 221 voices), 2nd Tipptop (JRuby on Rails, 86 voices), 3rd KIX (Scala/Lift, 76 voices).

All CATS application code is written in Groovy (2495 LOC). It feeds three channels: a standard data management HTML channel almost entirely with dynamic scaffolding, a Canoo ULC channel with advanced visualisation as interactive tables, cover flow, and swing components projected on 3D OpenGL surfaces. An extra iPhone channel in only 160 LOC allows mobile betting.

CATS uses Grails plugins for security, mail, and last not least the ULC Plugin, which also contains the Groovy ULC Builder that allows programming ULC analogous to the Groovy SwingBuilder.

You can connect to the live running application(german) or download the full source code or have a look at the gallery of screenshots.

Following the conference-driven development principle, right in time for the Devoxx conference and my session with my friend Patrick Chanezon on Google App Engine Java and Gaelyk/Groovy, I've just released a new version (0.3) of the Gaelyk lightweight Groovy toolkit for Google App Engine.

This new version fixes a bug, adds some new capabilities, and bring a small change:

  • The Google services bound to the Groovlets and templates through the binding have been renamed (except userService) to remove the service suffix
  • There are some new methods for working with the memcache service, so you can use the map notation (subscript) to access elements of the cache, as well as using the 'in' keyword to check whether a key is present in the cache.
  • Since GAE SDK 1.2.6, incoming email support has been added, so Gaelyk 0.3 also adds support for incoming emails.
  • There was an issue since the birth of Gaelyk with sending emails, it has now been fixed.

Please make sure to check the tutorial, as it's been updated with new sections on these changes and new features.

You can download the latest JAR and the latest template project directly from GitHub.

The Gaelyk website uses that new version of Gaelyk, as well as the latest 1.2.6 SDK for Google App Engine – The Groovy Web Console has not yet to been updated.

Please let me also thank some of the contributors to this release, such as Sean Gilligan, Kazuchika Sekiya, Jinto, for their help with improving the tutorial, and to all those who contributed on the mailing-list or elsewhere. For instance, well done to the Averone company for migrating its website to Gaelyk, or the the Phone4Water website also on Gaelyk!!

The November 2009 issue continues our coverage of a wide range of Groovy topics, including:

  • Enterprise Development with Groovy and Grails
  • Groovy Around the Globe
  • Grails and Maven
  • Groovy Under the Hood - Ranges
  • Plugin Corner: Bean Fields Plugin
  • Community News
  • and more!

Learn more or purchase today!