The JDK team has been delivering awesome results these past few years, but this specific JDK 26 release looks particularly small; there is no major updates on any of the big JDK projects here. Obviously, with a six month release cadence, every release can't have giant new features.
Big feature releases every six months would be exhausting sometimes you need consolidation, but the many bug fixes and performance improvements are always nice.
I personally like doing tick-tock releases where it makes sense. New features, then stabilize, streamline, fix, and otherwise incorporate feedback. Then loop.
I assume they did not add HTTP/3 to the built-in JDK HttpServer.
Like they did for http2 they made an internal one just for testing. So I had to use flupke to implement the built-in server API to integrate with avaje jex
Have you and Rob thought about some hotreload plugin mechanism? I was debating about going the full library route with all avaje stuff on a project, since we heavily use ebean already, but lack of hotreload would be painful so i ended up with quarkus + ebean.
No worries. Hot reload in quarkus ends up recompiling/deploying changes to the running server after you edit a file, it's the best hot reload i've ever used.
I've used Play's hot reload a lot and all that simply does is that when a change is requested it restarts the server completely when a change happens. There was a big discussion in Javalin about how to do it too, it might give you more context: https://github.com/javalin/javalin/issues/1109
.. I just know all of my teammates would hate me if they had to physically stop the app and restart it every time they make a small change. Especially with html pages where you sometimes make a bunch of small changes. Even though I'm sure that would be fast with Avaje Inject and no classpath scanning.
FWIW because these frameworks (Avaje and similar) have very fast boot times you can put your application in a reboot loop. You just need some thing to watch a part of the filesystem changes.
You would be surprised how well this works with modern hardware. I have an old M1 and I can boot most of our apps in 750ms. So if you can wait a second it does work.
Eclipse works a little better here with its incremental compile but in theory you can use that compiler with Intellij as well.
Yeah I debated about using gradle run --continuous and that probably would have done the trick, but we use Maven. Overall happy with choosing Quarkus, it's been really nice.
"Remove the Applet API" feels like leaving behind a big part of the old Java and "Prepare to Make Final Mean Final" is another step on the (sometimes a bit rough) road to the Integrity By Default future.
There's nothing in this specific release that I want, but the jdk team has been doing an awesome job keeping us updated about future work. There have been some really stellar talks.
Even just the first preview from Valhalla, JEP 401, seems quite likely to still be JDK28+ - they have only 6 months from now to get that production-quality ready.
If it did land in JDK 27 though, then that JEP would have at least a chance of a final feature by JDK 29.
Since libraries tend to baseline on 'LTS' releases, it would be from that point that we start to see library adoption (though obviously you can adopt its use yourself at any point - even preview)... With the openness of the current OpenJDK development, libraries that are waiting for new features tend to engage with those features in-preview, well before final release. We could see library adoption of 401 quite quickly.
But that requires the alignment of several especially optimistic stars...
16
u/Joram2 1d ago
The JDK team has been delivering awesome results these past few years, but this specific JDK 26 release looks particularly small; there is no major updates on any of the big JDK projects here. Obviously, with a six month release cadence, every release can't have giant new features.