Graeme Rocher

Graeme Rocher

Alumni
Blog posts by Graeme Rocher

Grails 2.4 Released

Releases | May 21, 2014 | ...

Today we are pleased to announce the release of Grails 2.4. This is the final release in the 2.x line of releases and includes a number of significant updates.

Most importantly Grails 2.4.x ships with key pieces of the Spring IO platform, including Groovy 2.3 and Spring 4.0.5.

Release Highlights

In addition to the inclusion of the latest versions of Spring and Groovy there are a number of key new features in this release, including:

  • Standalone GORM & GSP - Yes, GORM for Hibernate 4 and GORM for MongoDB can both be used outside of Grails in a Spring Boot application or Groovy script.
  • Static Compilation - Using extensions to Groovy's static compilation features, it is now possible to statically compile many interactions with the Grails framework, including dynamic finders.
  • Asset Pipeline Plugin - Grails 2.4 replaces the previous Resources plugin with the new Asset Pipeline plugin for managing static assets (CSS, JavaScript etc.).
  • GORM Subqueries - GORM has been enhanced, with extensive support for correlated subqueries.
  • New Maven Plugin - The Maven plugin

Web Development Evolved: Grails 2.0 Released!

Engineering | December 15, 2011 | ...

After nearly a year in development, we are extremely excited to announce the GA release of Grails 2.0 - the second major revision of the web framework that is changing the face of web development on the JVM.

This release brings a greatly enhanced user experience. Everything from the command line, to the test reports, to the UIs that Grails generates for you have been rethought and reinvented. Some of the exciting features available in Grails 2.0 include:

  • A new console UI incorporating tab completion and coloured output
  • A better and more reliable reloading mechanism, resulting in far fewer server restarts
  • Enhanced error reporting and problem diagnosis
  • The latest and greatest libraries: Groovy 1.8, Spring 3.1, Hibernate 3.6 and Servlet 3.0
  • A powerful framework for static resources (CSS, Javascript, etc.)
  • New APIs for link generation and page rendering
  • New GORM features: detached criteria, Where queries, multiple data sources, and more
  • Standard plugins for database migrations and reverse engineering
  • New unit testing API with full GORM emulation
  • … plus hundreds of smaller improvements

All of these new features are covered in great detail in the “What’s new in Grails 2.0?” section of the user guide. Also be sure to check out the Grails 2.0 webinar and the “Countdown to Grails 2.0” blog…

GORM for MongoDB: New Milestone, Richer Experience

Engineering | February 15, 2011 | ...

Last year we introduced support for MongoDB in GORM (along with many other GORM implementations) and it has been extremely well received by the community. We have had a ton of feedback, and today we are pleased to announce a new release (Milestone 2) which addresses some of the feedback we have received.

Embedded Document Support

The number one requested feature was nested document support and in this release we have improved that significantly. Now you can embed other domains using the standard embedded mapping in GORM:

class Person {
  String firstName
  String lastName
  Address address…

Yet Another Flavour of GORM: MongoDB

Engineering | November 15, 2010 | ...

Our crusade to make GORM ubiquitous across NoSQL stores hit another milestones today as we are pleased to announce GORM for MongoDB.

MongoDB is a document database that bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems (which provide rich queries and deep functionality).

Like the Redis and Gemfire plugins, GORM for MongoDB has full support for CRUD operations:

def person = new Person(name:"Fred", age: 45)
person.save()

person = Person.get(person.id)
assert person != null

person.delete()

assert Person.get(person.id) == null

Rich querying with dynamic finders

Introducing GORM for Gemfire

Engineering | October 26, 2010 | ...

One of the many reasons for the rise of NoSQL datastores is the need to scale applications beyond their traditional comfort zone in the relational world. The irony is that Gemfire has been doing exactly this long before the term NoSQL was even coined by providing scale to some of the largest financial organizations in the world.

Gemfire is far more than a cache, but a complete data fabric with support for Grid Computing, Map/Reduce, continuous queries and transactional write-behind.

For those of you who attended the keynote at the hugely successful SpringOne2GX conference this may be old news. For the rest today I am pleased to announce the availability of the GORM for Gemfire

Announcing GORM for Redis

Engineering | September 07, 2010 | ...

One of the major movements inspired by the rise of the cloud platform is the growing interest in alternative storage techniques to traditional relational databases. One such storage mechanism is Redis, a high performance key/value store that is playing an important part in future cloud infrastructure.

There has been a lot of interest in Redis within the Grails community and hot on the heels of the Redis 2.0.0 release we are pleased to announce the availability of GORM for Redis Milestone 1.

What is GORM for Redis? Quite simply it allows Grails developers used to the convenience of features such as dynamic finders, criteria and named queries to take advantage of Redis…

Grails 1.3 Released

Engineering | May 11, 2010 | ...

I'm pleased to announce the immediate availability of Grails 1.3! Followers of Grails releases will recall that it has not been long since the last major release of Grails (Grails 1.2 was released in December), but given the need to get the latest and greatest version of Groovy in the hands of developers, Grails 1.3 can be seen as the Groovy 1.7 release. The Groovy team did a fantastic job in bringing all sorts of excellent new additions to the Groovy language such as annonymous inner/nested classes, an AST builder and power asserts (my personal favourite), all of which are now available in…

Grails 1.2 Released

Engineering | December 23, 2009 | ...

Continuing the release train, today we are excited to announce the general availability of Grails 1.2 final. Representing the most stable and performant Grails release yet, Grails 1.2 is a significant new release of the premier dynamic language framework for the JVM.

As well as featuring all of the goodness of Spring 3, this release has a number of significant new features for Grails users:

  • Dependency Resolution DSL: Based on Ivy, Grails users now have full control over JAR dependencies including those inherited from the framework and any installed plugins.
  • Better Spring Integration: As well as supporting component scanning, Grails now allows you to implement controllers as regular MVC @Controller instances.
  • Named Query Support: It is now possible to define named, reusable criteria queries in GORM that can be combined with regular dynamic finders making querying a lot more DRY
  • Improved Performance & Memory Consumption: The performance of Grails' view layer (GSP) has been significantly improved resulting in up to 2-3 times throughput. We've also improved Grails' memory consumption and the need for additional PermGen by implementing precompilation of GSP views.
  • Named URL Mappings: It is now possible to name an individual URL mapping which allows you to create more explicit and expressive links inside GSPs
  • Refactored Testing Infrastructure: Grails' testing infrastructure is now completely pluggable to new providers. The default JUnit provider is still present, but new testing providers can be implemented that can be run in specific phases (such as 'unit', 'integration' and 'functional' phases). There is already a Spock plugin that takes advantage of this new infrastructure, allowing BDD style testing.
  • Pluggable Web Containers: Grails now allows different development time containers to be installed and plugins for both Tomcat and Jetty are available.
In addition to these headliners there are literally hundreds of bug fixes and small improvements some of which are described in much more detail in the release notes. Grails 1.2 can be downloaded from the Grails site at the usual place.

As well as the continued, significant contributions to the release from the community, one of the most enjoyable aspect about this release has been the active collaboration amongst the Spring, Tomcat…

Grails 1.1.1 released with Google AppEngine support

Engineering | May 14, 2009 | ...

Today we are pleased to announce the availability of Grails 1.1.1 which whilst providing many incremental improvements over Grails 1.1 also introduces official support for Google AppEngine.

Groovy itself has been running on AppEngine since its launch, but we had to make a few tweaks here and there in Grails to make Grails applications run on AppEngine.

Included in this is the introduction of an AppEngine plugin which replaces Hibernate with JDO (and soon JPA) for persistence in order to take advantage of Google's DataStore API. The AppEngine plugin also integrates the AppEngine development…

Grails 1.1 Released

Engineering | March 10, 2009 | ...

Hot on the heels of the Groovy 1.6 release, we are pleased to announce that Grails 1.1 final is out and available from the Grails site. There are numerous improvements that are listed in detail in the release notes. However, some of the key ones are:

Standalone GORM: It is now possible to use Grails' ORM layer (built on Hibernate) outside of Grails. There is an example that uses GORM inside a Spring MVC application in the samples/petclinic-mvc directory of the distribution. The example configures a GORM enabled SessionFactory using Spring as follows:


<gorm:sessionFactory base-package="org…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all