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.

Reply via email to