Release notes for Groovy 7.0

Groovy 7 builds upon existing features of earlier versions of Groovy. In addition, it incorporates numerous new features and streamlines various legacy aspects of the Groovy codebase.

Note
WARNING: Material on this page is still under development! We are currently working on alpha versions of Groovy 7.0 with a goal of gathering feedback on the language changes from our community. In addition, early versions assist other projects and tool vendors within the Groovy ecosystem to begin assessing the impact of moving to/supporting Groovy 7.0. Caution should be exercised if using new features as the details may change before final release. Some features described here as "incubating" may become stable before 7.0.0 final is released, others are expected to remain incubating for version 7. We don’t recommend using alpha versions or incubating features for production systems.

Highlights

TBD

New Modules

TBD

Additional switch destructuring (incubating)

See GEP-19 for the proposed design.

Breaking changes

TBD

Under exploration

  • Java compatibility: additional destructuring

  • Improve REPL further (think nushell)

  • Performance

  • Spec improvements

JDK requirements

Groovy 7 requires JDK17+ to build and JDK17 is the minimum version of the JRE that we support. Groovy 7 has been tested on JDK versions 17 through 26.

Note
Requirement inherited from Groovy 6.0, but we will update this section as we finalize the details of the JDK versions we will support for Groovy 7.0.

More information

You can browse all the tickets closed for Groovy 7.0 in JIRA.

Note
Link may be broken until the first release after a Jira issue with this version is complete.