New informational JEP: 14: The Tip & Tail Model of Library Development

Karsten Silz karsten.silz at gmail.com
Tue Nov 12 11:34:07 UTC 2024


The JEP recommends that when you want to use new JDK features, you should baseline on the new JDK version and stop delivering new features to usrs of the old JDK baseline. Is that correct?

That's my read of the section "Picking a JDK baseline". It says, "It is typical to bump the JDK baseline of the tip train when the library needs new JDK features". The example talks about the tip switching to JDK 22 and creating a tail train for the previous baseline, JDK 21. So, no new features and improvements for JDK 21 because it's a tail now.

Let's apply this to Spring Boot. 3.1 had a baseline of JDK 17. 3.2 added support for virtual threads, a JDK 21 feature. If Spring Boot had followed the JEP recommendations, they would have bumped the 3.2 baseline to JDK 21. So, users with JDK 17 would not have gotten any non-JDK-21 new features from 3.2, like support for CRaC or the new HTTP client, because they could only use the 3.1 tail train.

Did I get that right? 

Thank you!


Regards,
Karsten Silz


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jdk-dev/attachments/20241112/ecb923c5/attachment.htm>


More information about the jdk-dev mailing list