...
Groovy 2.1
Groovy 2.1 is the next version after 2.0.latest stable version of Groovy.
Feature set
- offers full support for the JDK 7 “invoke dynamic” bytecode instruction and API for improved performance,
- goes beyond conventional static type checking capabilities with a special annotation to assist with documentation and type safety of Domain-Specific Languages,
- adds static type checker extensions,
- provides additional compilation customization options,
- features a meta-annotation facility for combining annotations elegantly.
...
- Groovy 2.1 beta: end of December 2012

- Groovy 2.1 RC: early January 2013

- Groovy 2.1 final: end of January 2013

Groovy 2.2 (Q3 2013)
Feature set for consideration
- Class-loading-less compilation
- using ASM when needed, to avoid loading/initializing classes needed during the compilation
- Stub-less joint compilation
- to avoid various problems with the stubs and the various compilation phases
- Static traits or mixins
- but dependent on stub-less joint compilation issues
Groovy 3.0 (
...
Q1 2014)
Feature set for consideration
- New Meta-Object Protocol dedicated to fully leverage "invoke dynamic"
- Rewrite the Groovy grammar from scratch with Antlr 4 (moved to Groovy 4)
- Retrofitting Groovy closures to accommodate JDK 8 upcoming closures for interoperability
Groovy 4.0 (
...
Q1 2015)
Feature set
...
for consideration
- No concrete plans at the moment
Other topics we could consider for later Groovy
- add static "trait" capabilities
- compiler related:
- investigate the integration of the Eclipse joint compiler to replace the Groovy stub-based joint compiler
- investigate making the groovyc compiler multithreaded
- Incremental compiler
- a treturn keyword or dedicated AST transformation for tail calls for closures and methods
- Incremental compiler
- Improved runtime performance
- 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.)
- ...