Grails and Groovy Christmas
December 26th, 2009
This Christmas we got great presents from Grails and Groovy teams.
Grails 1.2 has been released:
- dependency resolution DSL
- performance optimization - mainly through view layer changes
- bootstrap has an environment support - different bootstrap for different envs
- Spring 3 is now supported
- URI re-writting - now you can map any URI, even static resources, to a pretty URI
- transactions in services can now be handled and configured per service method
- more control over DataSources
- global configuration over GORM defaults - for example you can set default contraints for all properties
- improved support for boolean dynamic finders
- named queries support
- SQL restrictions in criteria builder
- hasOne mapping - FK can be stored in the child instead of the parent association
- failOnError in save() method
- annotations in domain classes
- precompilation of GSP pages
- Tomcat is now default container
- WebFlow is now a plugin and has some new events
- named URL mappings
- improved JSONBuilder
- better date parsing
- null safe converters in params
- g:form can now pass other methods then POST and GET (which supports better REST)
- project documentation engine - document your project just as Grails is documented
- plugin improvments - release as ZIP and plugins metadata
- improved g:formatNumber and g:formatDate to be compatibile with JSTL
- a few changes to testing
For a full list and examples visit Grails 1.2 Release Notes site.
And the news from Groovy camp are also impressive. Groovy 1.7 has been released:
- anonymous inner classes and nested classes support
- annotations taken to a next level (for example Grape annotation on import statements)
- Power Asserts - asserts are now more readable
- better support for AST Transformations
- customize Groovy truth with asBoolean() method
- smoe improvements in Groovy Console and Groovy SQL
For the full list of changes and some examples please visit Groovy 1.7 release notes.