Hi all,
This is a follow-up to the earlier thread and to today's weekly meeting.
This is a discuss thread, not a vote. The goal is to settle the language
for a follow-up [VOTE] on the next several Grails lines.
Grails 8.0.0 is out (Groovy 5, Spring Boot 4.1). Work toward Groovy 6 is
already on the 9.0.x line, and Apache Groovy 6.0.0 is out. Groovy 7 work
has already started: https://github.com/apache/groovy
Please comment on the plan and on the wording. If you want to change the
language, copy the whole proposal block below, paste it into your reply,
and edit it there. Do not send a partial rewrite or a diff of a
sentence. A full replacement block is what we will carry into the vote.
If you agree with the block as written, a +1 on this thread is enough.
Discussion on this thread is not a binding vote.
PROPOSAL (copy this whole block if you want to change the language)
1. Grails 9.0.x
1. Merge the 8.1.x branch up into the 9.0.x branch.
2. Do not release 8.1.x. Skip that line.
3. Ship 9.0.x as a lighter release: bring Grails current with
Groovy, without waiting on the next Spring Boot line.
4. Base it on Groovy 6.
5. Turn invokedynamic on.
1. Turning invokedynamic off is not a viable default. In Groovy
6.0.0 the classic call-site implementation has moved out of groovy-core
into the separate groovy-callsite module, and that surface is on a path
to deprecation. Core dispatch already uses invokedynamic.
6. Target 9.0.0 for the end of November 2026.
7. This release catches Grails up to Groovy. Apache Groovy 7 work
has already started: https://github.com/apache/groovy
2. Grails 10 (the line previously discussed as 9.1.x)
1. Rename the planned 9.1.x line to 10.
2. Base it on Groovy 6 and Spring Boot 4.2.
3. Target 2027 Q1. Aim to release within one month of Spring Boot
4.2. That window is tight because of existing time commitments.
4. Use the major version bump so the release can carry material
breaking changes and move the framework forward.
James