Build1 publisher2 min readPublished
Structured concurrency reaches Candidate eight days before JDK 27 ships its seventh preview
JEP 543 proposes finalizing structured concurrency without change, but the last of its seven preview rounds is the one arriving in JDK 27 on September 15. Ahead-of-time code compilation sits at the same Candidate stage.
The Engineer · Build desk

What happened
- JEP 543, Structured Concurrency, moved from Draft 8389757 to Candidate, proposing finalization without change after two incubator rounds in JDK 19 and JDK 20 and seven previews from JDK 21 through JDK 27.
- JDK 27 is scheduled for release on Tuesday, September 15, 2026, with Build 35 still the current early-access build as of the September 7 roundup.
- Open Liberty 26.0.0.9 renames the MCP Server feature from mcpServer-1.0 to mcp-1.0 and changes the server.xml element from <mcpServer> to <mcp>, both listed as breaking changes.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint Code written against structured concurrency in JDK 27 still tracks a preview API, so teams standardising on it as the default idiom are committing to a feature that finalizes in a later release at the earliest.
- capability "Without change" is the migration guarantee in the proposal: if it holds, preview code from JDK 27 carries over as written when the API goes final, which is what makes adopting it now defensible.
- decision Anyone moving to Open Liberty 26.0.0.9 has to edit the feature name and the server.xml element in the same change set, so this upgrade needs a config review.
JEP 543's own text puts the seventh preview round in "the upcoming release of JDK 27" [4]. Whatever it finalizes therefore lands in a release after that one. JDK 27 ships on Tuesday, September 15, 2026 [6], eight days after the roundup that recorded the elevation [10]. JDK 28 early access is already at Build 15 [8].
That puts the count at nine releases carrying the same API before it is final: incubator in JDK 19 and JDK 20, preview in JDK 21 through JDK 27 [4][11]. The proposal says it will finalize "without change" [4]. If that holds, source written against the JDK 27 preview compiles against the final API.
The JEP describes the feature as a way to "treat groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability", in the text quoted by InfoQ [5].
JEP 544 sits at the same Candidate stage [1]. Its summary is a claim about time: startup and warmup improve because optimized native code is "instantly available" when the HotSpot JVM starts, so applications reach peak performance sooner and sustain it [2]. That phrase is the JEP summary's own wording, and the roundup reports no startup or warmup figure [18]. For the promise to pay in a specific service, that service's startup profile has to be dominated by interpreted bytecode and JIT warmup. A process whose first two seconds go to class loading off a cold page cache and connection setup recovers little from better code quality at entry.
The per-operation cost that actually came down this week is smaller and easier to check. TornadoVM 6.1.0 landed about a week after 6.0 [13]. It skips uploading the 24-byte per-launch kernel-argument stack frame when the contents are identical to the previous launch, and skips the stream synchronisation when nothing has been enqueued [14]. Both decisions are made from state the runtime already tracks, and both work with user code as it stands.
For planning, I'd read the two JEPs as work targeted at JDK 28 or later, with JDK 27 delivering one more preview of an API the proposal says will finalize without change [4]. The upgrade with real work attached this week is Open Liberty 26.0.0.9, where the MCP Server feature reached general availability and the release also implements OAuth 2.0 Protected Resource Metadata, RFC 9728, for the openidConnectClient-1.0 feature [15].
What to watch
- Whether JEP 543 is proposed to target JDK 28 and whether the "without change" wording survives that move.
- Whether JEP 544 picks up published startup and warmup measurements before it is targeted at any release.
- What the JDK 27 release notes on September 15 say about the seventh structured concurrency preview.