Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 59 Next »

Considering our limited human resources and time constraints, it is hard to give definitive and accurate estimates of the milestones we are going to release.

Tentative Roadmap

Groovy 1.6.x


  • Groovy 1.6.7 released on 2nd of December 2009
  • in maintenance mode till Q2-2010
  • minor bug fix releases as needed

Groovy 1.7.x


  • Groovy 1.7-RC-1: 27th of November 2009
  • Groovy 1.7-RC-2: 9th of December 2009
  • Groovy 1.7 GA: 22nd of December 2009
  • incremental bug fix releases through 2010

Groovy 1.8.x

Feature set

Here are a few topics we're considering for Groovy 1.8 and beyond.

  • internal runtime optimization
  • extended command expression (GEP-3)
  • extended annotations (closures, lists, maps, ranges)
  • support for joint compilation of AST transformations
  • modularity of Groovy (splitting Groovy in smaller JARs on a per feature basis)
  • work related to JDK 7
  • usage of invokedynamic and annonymous classloader (JDK7 features)
  • updates for JDK 7 language features (aka Project Coin)
  • retrofitting Groovy closures to accomodate JDK 7 upcoming closures for interoperability
  • a native template engine compiling to AST (faster, correct line numbers for error reporting, optimized outputting, etc.)
  • experiments
  • with pattern matching (to be started as a module)
  • with parser combinators (to be started as module)


  • Groovy 1.8-beta-1: March 2010
  • Groovy 1.8-beta-2: May 2010
  • Groovy 1.8-beta-3: July 2010
  • Groovy 1.8-RC-1: mid-September 2010
  • Groovy 1.8-RC-2: end of September 2010
  • Groovy 1.8 GA: October 2010

Groovy 2.0

Feature set

  • New Meta-Object Protocol
  • Incremental compiler

Other topics we could consider for Groovy 1.8, 2.0 and beyond

  • ability to pass expression trees / AST nodes as parameters (see C# 4's own expression tree)
  • lexical categories
  • a symbol concept, a bit like Ruby's :symbol, or like Java interned strings
  • co-routines and/or generators
  • tail-call recursion
  • No labels