Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] Java 26 Is Now Available / JDK 27 Heads-Ups
  • From: David Delabassee <david.delabassee@xxxxxxxxxx>
  • Date: Mon, 13 Apr 2026 09:06:55 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=m0FJgbf4Iv66ydbNRbC2OzX1RoKWE3+KDCwieDHymlw=; b=djfJAUbpT9Jdt4wMu+xW7zfnlgUuhcZDiIfYv4SjsW2Ll+Y4wUdN+uCjeqL1OaR0YElhgj3ooYk5ibFGAinOwdjLl1Pd+lpKdoJBJUMj19spS1X7GCi+iBycvR8BRnn2ZM/oln+w1ozcGLXvyV4ak6o0/L7oddu7Aa1t0pk7Hn8s/Z4Rm94WOQiU0KNooIJI1AJch5T2Te8R2O8djcWOTZ1Q23J19pnbu50pZdHERxtYPS21w2kDmjvrfckHm7UNfHoJvQL8si6WNIpIlKyWR4c7ZB5t1dy3w9aXTmLld6xLx+zkQeqMLBvwIfmJ0+Aaxc/mSQDliTnbv4y91nCXAg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oWkFIZUtGphSstwFsfA6OwOOl3kUXdkcAXJRHKFA14R0Ugm8q8zBHWumEQ8whEr+uVUJTH7z85wLfk8HS15PL0WBTuRmcWRVXPZHG48bRvZMowemb0x1/Pd2xoY/K6JQNRRLwEpDAiHsKQb5QGOTOubm7382cUY05Qwi+Kf8vVLa3ypK+R9dRulHzzBAyrxQDbT78LuJQg36chh/zrZhI3aplitbBiBamQWbkMqFejntjYIlj4EOVB+hw3BYkvKz4xP1m/ERtkzaRn2lL2amnf8tCn3v5pRzzZLnxw1iMPEFwQgaKBnEjWfXSMKYqgjhiJMJN0Bt4xJk8LOubUlK3A==
  • Delivered-to: jetty-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jetty-dev/>
  • List-help: <mailto:jetty-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jetty-dev>, <mailto:jetty-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jetty-dev>, <mailto:jetty-dev-request@eclipse.org?subject=unsubscribe>
  • Msip_labels: MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_Enabled=True; MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_SiteId=4e2c6054-71cb-48f1-bd6c-3a9705aca71b; MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_SetDate=2026-04-13T09:06:32.7990460Z; MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_Name=Restricted-Including External Recipients; MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_ContentBits=3; MSIP_Label_94b7886c-3e74-443c-a58e-890de065ec46_Method=Standard
  • Thread-index: AQHcyyTSKHW3Su+8rUOzxLysP8/tmg==
  • Thread-topic: Java 26 Is Now Available / JDK 27 Heads-Ups

Confidential - Oracle Restricted \Including External Recipients


Welcome to the latest OpenJDK Quality Outreach update!


Java 26 was officially released last month at JavaOne. You can rewatch the Java 26 launch and the JavaOne keynote here [1].

With JDK 26 released, the focus now shifts to JDK 27 testing. At the time of writing, one JEP already targets JDK 27 (JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3). To learn more about post-quantum cryptography, watch this JavaOne session [2] by Sean Mullan (OpenJDK Security Group Lead). I’ll conclude with a big shout-out to the Eclipse Collections team for already identifying a potential issue with JDK 27 early-access builds.
 
[1] https://www.youtube.com/watch?v=3fLCOqpIfI0
[2] https://www.youtube.com/watch?v=6xh-bN4W74o


# Heads-Up - JDK 27: Obsolete Translation Resources Removed

The JDK includes localized resource files for a number of locales; however, not all of these locales are actively maintained. In addition to the base English resources, only German, Japanese, and Simplified Chinese are currently maintained. Over time, resource files for unmaintained locales tend to drift out of sync with their English counterparts. Not all resource files are equally affected, as some remain relatively stable compared to others.

Oracle JDK builds already exclude these unmaintained resources at build time. However, they are still present in the OpenJDK source tree and may be included in other JDK builds. As a result, users of such builds may encounter outdated localized messages without being aware of it.

JDK 27 removes unmaintained translation resources, with the exception of those in the `java.desktop` module. Unlike other resources, `java.desktop` strings may be presented directly to end users of Java applications, not just developers. Because these resources are relatively stable and their removal would be disruptive, they are retained.

The overall compatibility risk is low. Oracle JDK builds are not affected, as they already exclude these unmaintained resources during the build process. However, other JDK builds that do not exclude them (which is the default) may be impacted. In these builds, unsupported locale messages will now appear in English, potentially affecting tests or applications that rely on fixed, locale-specific output (a discouraged practice). For more information, please check JDK-8381511 [3].

[3] https://bugs.openjdk.org/browse/JDK-8381511


# Heads-Up - JavaFX 27: Metal Is Now the Default Rendering Pipeline on macOS

On macOS, the default JavaFX rendering pipeline has been switched to Metal as of JavaFX 27 Early Access build 3. The Metal pipeline provides improved performance and better compatibility on modern hardware. Metal support was introduced under JDK-8271024 [4] in JavaFX 26 as an optional pipeline, with the OpenGL-based ES2 pipeline as the default. JavaFX 27 now uses Metal as the default pipeline.

JavaFX 27 EA builds are now available for download [5] and testing. You can share your feedback on the openjfx-dev list [6] (registration required).

To revert to the previous OpenGL-based ES2 pipeline, add the option `-Dprism.order=es2` to your Java command.

[4] https://bugs.openjdk.org/browse/JDK-8271024
[5] https://jdk.java.net/javafx27/
[6] https://mail.openjdk.org/mailman/listinfo/openjfx-dev


# JDK 27

The JDK 27 early access builds 17 are available [7] and are provided under the GNU General Public License v2, with the Classpath Exception. You can review the Release Notes here [8].
 
 
## Changes in recent JDK 27 builds that may be of interest:
- JDK-8377013: TimeZone.getDefault() returns obsolete id on Windows (Asia/Calcutta) 
- JDK-8284315: DocTrees.getElement is inconsistent with Elements.getTypeElement 
- JDK-8272758: Improve HttpServer to avoid partial file name matches while mapping request path to context path 
- JDK-8268850: AST model for 'var' variables should more closely adhere to the source code 
- JDK-8371683: TYPE_USE annotation on var lambda parameter should be rejected 
- JDK-8376698: Add Spliterator tests for TreeMap sub-maps 
- JDK-8377797: Remove SA support for MethodData and the printmdo command 
- JDK-8044609: javax.net.debug options not working and documented as expected 
- JDK-8374808: Add new methods to KeyStore and KeyStoreSpi that return the creation date as an Instant instead of Date 
- JDK-8373595: A new ObjectMonitorTable implementation
- JDK-8378110: Add -XX: prefix to settings-file flags in RuntimeMXBean.getInputArguments()
- JDK-8379035: (tz) Update Timezone Data to 2026a  
- JDK-8378744: Obsolete NewSizeThreadIncrease flag
- JDK-8372353: API to compute the byte length of a String encoded in a given Charset
- JDK-8377388: Replacing "new StringReader(String)" by "Reader.of(CharSequence);" in Scanner
- JDK-8376052: Use AttachOperationFailedException rather than AttachNotSupportedException in findTargetProcessTmpDirectory()
- JDK-8379158: Update FreeType to 2.14.2
 
Note: A more comprehensive list of changes can be found here [9].

[7] https://jdk.java.net/27/
[8] https://jdk.java.net/27/release-notes
[9] https://github.com/openjdk/jdk/compare/jdk-27+8...jdk-27+17


# Topics of Interest

- JavaOne 2026 Playlist (Continuously updated)
https://www.youtube.com/playlist?list=PLX8CzqL3ArzUMVSzm-z_-if8BIB55EGl4

- JDK 26 Security Enhancements
https://seanjmullan.org/blog/2026/03/16/jdk26

- “How JDK 26 Improves G1's Throughput” - Podcast 
https://inside.java/2026/04/09/podcast-054/

- JavaFX 26 Today
https://inside.java/2026/03/25/javaone-javafx/

- HTTP Client Updates in Java 26
https://inside.java/2026/03/04/jdk-26-http-client/

- JDK 26 G1/Parallel/Serial GC changes
https://tschatzl.github.io/2026/02/26/jdk26-g1-serial-parallel-gc-changes.html

- Java and Post-Quantum Cryptography
https://inside.java/2026/04/08/javaone-post-quantum-cryptography/

- “Analyzing Crashed JVMs” - Inside Java Newscast
https://inside.java/2026/04/04/podcast-053/

- “Carrier Classes & Discussing Syntax” with Brian Goetz - Podcast
https://inside.java/2026/03/26/podcast-052/

- Dissecting the CPU-Memory Relationship in Garbage Collection
https://norlinder.nu/posts/GC-Cost-CPU-vs-Memory/

- Java Serialization: Spooky Action at a Distance
https://inside.java/2026/02/21/stackwalker-serialization/


As always, if you encounter issues when running your project on JDK 27 early-access builds, please don’t hesitate to reach out. Your feedback is incredibly valuable, especially early in the development cycle.

P.S. Please let me know if you no longer wish to receive these OpenJDK Quality Outreach updates.


Confidential - Oracle Restricted \Including External Recipients


Back to the top