Hi everyone,

The 8.0.0 vote is out, which is is an AWESOME accomplishment.

While that finishes, I want to discuss what we do next, before we spend time on the wrong branch.

Proposal: do not release an 8.1.x on Spring Boot 4.2 in Q1 2027. Ship 8.0.x, move straight to 9.0.x on Groovy 6 (snapshots already exist), and pick up Spring Boot 4.2 in a 9.1.x release after that GA is out.

The schedule would look like this:

- 8.0.0 on Spring Boot 4.1 and Groovy 5 - now
- 9.0.0 on Spring Boot 4.1 and Groovy 6 targets late November or early December. Those snapshots are already running. - I expect Spring Boot 4.2 GA around Christmas or early January rather than the usual late November window. 4.1 landed in June, about a month late. Spring Boot 4.2.0-M2 shipped on 24 September. The 4.2.0-RC1 milestone is 29 of 30 issues closed (https://github.com/spring-projects/spring-boot/milestone/433). The 4.2.0 GA milestone is open, but Spring has not set a due date (https://github.com/spring-projects/spring-boot/milestone/434).
- After Spring Boot 4.2 GA, we release 9.1 on top of 9.0 in Q1 2027
- 8.1 stays on the shelf unless we find a real reason to release it.

Two release trains are driving this. We still cut a Grails major when Spring Boot cuts a major. Groovy now looks like it will cut a major about once a year, and that will also be a Grails major. I do not think we should also keep chasing each Spring Boot minor on the old Groovy line. Cleaner cutoff: a Grails line stays on the Spring Boot minor it shipped with, and the next Spring Boot minor lands on the new Groovy major.

The merge cost is the main reason to skip an 8.1 release. Spring Boot 4.2 changes will not apply cleanly to the Groovy 6 work already on 9.0.x. They will apply to 9.1, which is where we want them. Doing that upgrade for an 8.1 release and again for 9.1 is the same work twice. Those changes might get merged to the wrong line, replayed, or dropped. We could try to keep lines working on both Spring Boot 4.1 (Grails 8.0.x and 9.0.x) and 4.2(Grails 8.1.x and 9.1.x), but that is not worth it for a line most people will leave quickly or skip entirely.

9.0 should be a short release. If it lands in late November or early December, 9.1 can follow soon after the Spring Boot 4.2 GA in Q1 2027. Users will likely move to latest Groovy, especially with the performance boost.

This does not end 8.0.x. Patch releases on 8.0.x continue as usual. The only question is whether we spend a minor release moving Groovy 5 onto Spring Boot 4.2.

Does this match what others expect for the next few months?

Reasons that would change my mind: users who cannot move to Groovy 6, a compatibility promise we have already made, or a merge approach that is cheaper than it looks.

Thanks,
James Fredley
VP, Apache Grails
PMC Chair

Reply via email to