Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

Groovy 1.8 is our previous stable branch of Groovy. Ongoing maintenance with minor incremental improvements will be delivered throughout 2012.

Feature set

You can learn more about the feature set by reading the Groovy 1.8 release notes.

Releases

  • Groovy 1.8-final: End of April 2011 (tick)
  • Groovy 1.8.1: End of July 2011 (tick)
  • Groovy 1.8.3: Early September 2011 (tick)
  • Groovy 1.8.4: October 2011 (tick)
  • Groovy 1.8.5: End of December 2011 (tick)
  • Groovy 1.8.6: February 2012 (tick)
  • Groovy 1.8.7: July 2012 (tick)
  • Groovy 1.8.8: September 2012 (tick)

...

2.

...

Groovy 2.0 is the main stable branch of the Groovy programming language. 

Feature set

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

  • work related to JDK 7
    • 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) and extension modules
  • static type checking AST transform
  • static compilation AST transform

Releases

...

1

...

Groovy

...

2.

...

1

...

Groovy 2.1

Groovy 2.1 is the next version after 2.0.

Feature set

  • Completion of the invoke dynamic support, in particular usage of invoke dynamic with constructors, and properties
  • @DelegatesTo transformation for improved DSL support and static type checking
  • Annotation aliases
    • ability to create custom annotations for specific AST transforms applications
      for example: @Canonical could be a composite alias annotation for @ToString / @TupleConstructor / @EqualsAndHashCode
  • Compilation configuration scripting
    • ability to create a script that further customize compilation with customizers, per-extension, per-sourceunit, etc
  • 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.

Releases

  • Groovy 2.1 beta: end of December 20122012 (tick)
  • Groovy 2.1 RC: early January 20132013 (tick)
  • Groovy 2.1 final: end of January 20132013 (tick)

Groovy 3.0 (2013)

Feature set

  • New Meta-Object Protocol
  • 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 (2014)

Feature set

  • Rewrite the Groovy grammar from scratch with Antlr 4

...