Hi folks, Now that master is on version 7, we need to decide on the minimum supported JDK version. This is the *minimum* version not the *maximum* version, so we can always use newer features in later versions if we need. Our VMPlugin already supports that, and we have a history of supporting Java (or Java-like) features on earlier JDKs.
We tend to be conservative with this choice because it can exclude many users from adopting our new versions, but we also sometimes benefit from later JDK features. In Groovy 7, we plan to look at GEP-19 (more advanced switch pattern matching), so some of the JDK21 work in that space (like having MatchException and SwitchBootstraps) would be really beneficial. I propose bumping the minimum to 21 for that reason. I don't know of any JDK 25 features we need just yet, but if we find any, we can always bump the minimum again later. I'd be keen to hear others' thoughts. Cheers, Paul.
