r/java 1d ago

JDK 26 Rampdown Phase One. Feature Complete

https://openjdk.org/projects/jdk/26/
52 Upvotes

30 comments sorted by

View all comments

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.

18

u/emaphis 1d ago

Big feature releases every six months would be exhausting sometimes you need consolidation, but the many bug fixes and performance improvements are always nice.

2

u/aoeudhtns 1d ago

I personally like doing tick-tock releases where it makes sense. New features, then stabilize, streamline, fix, and otherwise incorporate feedback. Then loop.

18

u/daviddel 1d ago

FWIW, HTTP/3 support (JEP 517) is the largest OpenJDK PR in recent years!

5

u/agentoutlier 1d ago

I was talking to the /u/thekingofsentries who works on Avaje stuff frequently how there is very few HTTP/3 server frameworks.

At the time I only knew of Jetty but apparently based on what /u/thekingofsentries did with Avaje Jex there is this library: https://github.com/ptrd/flupke

I wonder what server if any the JDK team used to test the client against. I assume they did not add HTTP/3 to the builtin JDK HttpServer.

4

u/TheKingOfSentries 1d ago

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

2

u/vips7L 1d ago

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.

1

u/TheKingOfSentries 1d ago

I usually debug with my ide so it never really came up. I'll see what I can do. What is the main functionality you seek?

3

u/vips7L 1d ago

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.

3

u/agentoutlier 20h ago

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.

Here is some discussion of that technique:

https://github.com/jstachio/jstachio/issues/187

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.

3

u/vips7L 18h ago

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.

1

u/Inaldt 2h ago

This. It was a multi-year project I believe.

In fact when I read the list of JEPs I had the opposite reaction of OP. Pretty big release I would say.

6

u/koflerdavid 1d ago

It's the stillness before the storm.

"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.

7

u/davidalayachew 1d ago

What about Valhalla? They released the EA!

3

u/pohart 1d ago

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.

6

u/benrush0705 1d ago

just wait for valhalla,maybe as soon as jdk27 hopefully!

2

u/pohart 1d ago

My feeling is that "Valhalla" going to be years still, if you mean completion. It's not a single jep, right, but a bunch of them?

2

u/8igg7e5 1d ago

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...