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 86 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.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

Groovy 2.0

Groovy 2.0 was formerly known as Groovy 1.9, but considering the important new features, a 2.0 moniker was better representing the importance of that release.

Feature set

Release mainly geared towards the alignments with the upcoming but delayed JDK 7.

  • work related to JDK 7
  • modularity of Groovy (splitting Groovy in smaller JARs on a per feature basis)
  • static type checking AST transform
  • static compilation AST transform


  • Groovy 1.9-beta-1: July 2011 (tick)
  • Groovy 1.9-beta-3: September 2011 (tick)
  • Groovy 1.9-beta-4: October 2011 (tick)
  • Groovy 2.0-beta-1: November 2011 (tick)
  • Groovy 2.0-beta-2: December 2011 (tick)
  • Groovy 2.0-beta-3: February 2012
  • Groovy 2.0-beta-4: March 2012
  • Groovy 2.0-rc-1: End of March 2012
  • (possible Groovy 2.0-rc-2: Mid April 2012 if needed)
  • Groovy 2.0-final: April 2012

Groovy 3.0

Feature set

  • New Meta-Object Protocol
  • Rewrite the Groovy grammar from scratch with Antlr 4
  • 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

  • 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
  • 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.)
  • ...
  • No labels