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.7.x
Releases
- incremental bug fix releases through 2010 and early 2011
Groovy 1.8.x
Feature set
Here are a few topics we're considering for Groovy 1.8 and beyond.
- internal runtime optimization for better performance
- extended command expression (GEP-3) for nicer Domain-Specific Languages capabilities
- extended annotations (closures parameters)
- more functional aspects to closures (currying, trampoline, memoization)
- support for joint compilation of AST transformations
- native JSON builder / parser
Releases
- Groovy 1.8-beta-1: July 2010

- Groovy 1.8-beta-2: September 2010

- Groovy 1.8-beta-3: December 2010

- Groovy 1.8-beta-4: Early February 2011

- Groovy 1.8-RC-1: Mid-February 2011

- Groovy 1.8-RC-2: End-February 2011

- Groovy 1.8-RC-3: Mid-March 2011

- Groovy 1.8-RC-4: Mid-April 2011

- Groovy 1.8 GA: End of April 2011
Groovy 1.9
Feature set
Release mainly geared towards the alignments with the upcoming but delayed JDK 7.
- work related to JDK 7
- notes on JDK 7 and JDK 8 future
- usage of invokedynamic and annonymous classloader (JDK7 features)
- updates for JDK 7 language features (aka Project Coin)
- modularity of Groovy (splitting Groovy in smaller JARs on a per feature basis)
- compiler related:
- investigate the integration of the Eclipse joint compiler to replace the Groovy stub-based joint compiler
- investigate making the groovyc compiler multithreaded
- a treturn keyword for tail calls for closures and methods
- ...
Releases
- Groovy 1.9-beta-1: May
- Groovy 1.9-beta-2: June
- Groovy 1.9-beta-3: September
- Groovy 1.9-RC-1: Early October
- Groovy 1.9-RC-2: End of October
- Groovy 1.9 GA: November
Groovy 2.0
Feature set
- New Meta-Object Protocol
- Incremental compiler
- Improved runtime performance
- Retrofitting Groovy closures to accomodate JDK 8 upcoming closures for interoperability
Other topics we could consider for Groovy 1.8, 1.9, 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
- pattern matching
- parser combinators
- a native template engine compiling to AST (faster, correct line numbers for error reporting, optimized outputting, etc.)
- ...
Labels