<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Welcome to the final OpenJDK Quality Outreach update of 2025!</div>
<div id="ms-outlook-mobile-signature">
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
JDK 26, scheduled for General Availability on March 17, 2026, is now in Rampdown Phase One[1]. At this stage, the overall JDK 26 feature set is frozen, and only low-risk enhancements may still be considered. I would like to thank the projects that raised issues
 addressed in this release: JUnit, jOOQ, PDFBox, and Maven.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
You will find below the list of JEPs integrated into JDK 26. One JEP that stands out is JEP 517, which introduces HTTP/3 support to the HTTP Client API. Supporting HTTP/3 is an important advancement. It should also be noted that adding this feature to the platform
 was a significant undertaking; the HTTP/3 pull request is the largest OpenJDK PR in recent years. The JDK Networking team encourages you to try out this new feature (see the related Heads-up below). Another JEP that stands out is JEP 504, as the Applet API
 has finally been removed from the platform. We do not expect this to cause any disruption, as applets are no longer used and this change was announced well in advance. For more background on this effort, please refer to this article[2].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Looking ahead, the next milestone is in early February, when the first JDK 26 Release Candidate builds will be available. This means we have a few weeks, excluding the end-of-year break, to identify and hopefully address any issues your projects might encounter.
 If you experience any problems with the JDK early-access builds, please let us know as soon as possible.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
I will conclude this update with a quick note on JavaOne, as registration has just opened. If you plan to attend J1, please let me know. It would be great to meet in person and discuss the Quality Outreach program.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[1] https://mail.openjdk.org/pipermail/jdk-dev/2025-December/010662.html</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[2] https://inside.java/2025/12/03/applet-removal/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# Heads-Up - JDK 26: HTTP/3 Support in HTTP Client API</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
JEP 517 introduces support for HTTP/3 in the HTTP Client API. While HTTP/3 offers similar features to HTTP/2 at the protocol level, its key distinction is that it runs over the QUIC protocol using UDP, whereas HTTP/2 and HTTP/1.1 operate over TCP.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
If your code requests HTTP/3 but it is not available, the client will downgrade to HTTP/2 or HTTP/1.1 instead. However, if your code tries to enforce HTTP/3 exclusively, a failed attempt will result in an exception.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
For the first request to a server, the client tries both HTTP/2 (TCP) and HTTP/3 (UDP) and uses whichever connects first. Subsequently, HttpClient uses the “Alt-Svc” mechanism to learn which protocols the server supports, so future requests can use HTTP/3 if
 supported. For additional details, be sure to check these resources[3][4].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
## Call to Action </div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Although the enhancements to the HTTP Client API appear simple on the surface, supporting HTTP/3 on top of QUIC is the result of several years of dedicated development effort by the JDK Networking team. As this implementation is still new, we encourage you
 to download the JDK 26 early-access builds, try out this feature, and share your feedback on the net-dev[5] mailing list (registration required).</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[3] https://inside.java/2025/10/30/quality-heads-up/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[4] https://inside.java/2025/10/22/http3-support/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[5] https://mail.openjdk.org/mailman/listinfo/net-dev</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# Heads-Up - JDK 26: HttpClient Supports TLS Named Groups & Signature Schemes</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Java applications can configure TLS constraints on `javax.net.ssl.SSLParameters` during the setup of new connections. However, until now, HttpClient ignored the named groups and signature schemes set on SSLParameters. Starting with JDK 26, `java.net.http.HttpClient`
 preserves the signature schemes and named groups configured via SSLParameters when negotiating the TLS handshake. For more information, check this resource[6].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[6] https://inside.java/2025/11/26/quality-heads-up/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# Heads-Up - JDK 25: Consistent Behavior of 'new File("")'</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
On JDK 24 and earlier, the behavior of a `File` instance created from an empty string (e.g., `var file = new File("")`) was inconsistent. When queried using methods like `file.exists()` and `file.isDirectory()`, it appeared to be non-existent because both returned
 false. Similarly, methods such as `canRead()` returned false, while `length()`, `lastModified()`, etc. returned 0.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
When transformed into an instance representing the absolute path (e.g., `var file = new File("").getAbsoluteFile()`), the behavior changes: the previously mentioned methods now return meaningful results. This is because `new File("").getAbsoluteFile()` maps
 to the current user directory, and the File API behaves accordingly. Since both `new File("")` and `new File("").getAbsoluteFile()` should represent the same file system entry, this inconsistency is jarring and can be surprising.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
The newer API in `java.nio.file` avoids this issue and treats both `Path.of("")` and `Path.of("").toAbsolutePath()` as the current user directory. For example, both `Files.exists(Path.of(""))` and `Files.exists(Path.of("").toAbsolutePath())` return true.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
JDK 25 fixed this long-standing inconsistency: `new File("")` now properly represents the current user directory, so for `var file = new File("")`, methods like `file.exists()` and `file.isDirectory()` return true. The `File` Javadoc[7] was updated to spell
 out the intended behavior.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
For more details, check JDK-8024695[8].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
## Call To Action</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Code that relies on the old behavior is often found in unit tests (e.g., to intentionally create non-existent files with `new File("")`) or in cases where user input is mapped to file system entries (e.g., to treat "no user entry" and "invalid user entry" the
 same: as an absent file. In such cases, the change may manifest as issues related to file arguments or configuration.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
While fixing such code should be straightforward, identifying it may not be, so a thorough test suite is helpful. For dependencies and tools, it is recommended to rely on their tests and statements regarding JDK 25 compatibility, as only they can address potential
 issues. There is no way to restore the inconsistent behavior of JDK 24 and earlier.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[7] https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/File.html</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[8] https://bugs.openjdk.org/browse/JDK-8024695</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# JDK 26 Early-Access Builds</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
The JDK 26 early-access builds 27 are available[9]. You can review the Release Notes here[10].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
## JEPs integrated into JDK 26:</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 500: Prepare to Make Final Mean Final</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 504: Remove the Applet API</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 516: Ahead-of-Time Object Caching with Any GC</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 517: HTTP/3 for the HTTP Client API</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 522: G1 GC: Improve Throughput by Reducing Synchronization</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 524: PEM Encodings of Cryptographic Objects (2nd Preview)</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 525: Structured Concurrency (6th Preview)</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 526: Lazy Constants (2nd Preview)</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 529: Vector API (11th Incubator)</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JEP 530: Primitive Types in Patterns, instanceof, and switch (4th Preview)</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
## Changes in recent JDK 26 builds that may be of interest:</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8208693: HttpClient: Extend the request timeout's scope to cover the response body</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8365675: Add String Unicode Case-Folding Support</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8371470: Java Launcher does not fail when running compact java-file with private no-arg constructor</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8251928: [macos] the printer DPI always be 72, cause some content lost when print out </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8268613: jar --validate should check inital entries of a JAR file </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8366424: Missing type profiling in generated Record Object methods</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8347831: Re-examine version check when cross linking </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8373023: Remove the default value of InitialRAMPercentage </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8325448: Hybrid Public Key Encryption  </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8353749: Improve security warning when using JKS or JCEKS keystores </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8368527: JMX: Add an MXBeans method to query GC CPU time </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8371960: Missing null check in AnnotatedType annotation accessor methods </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8349732: Add support for JARs signed with ML-DSA </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<span style="background-color: rgb(255, 255, 255);">- JDK-8371259: ML-DSA AVX2 and AVX512 intrinsics and improvements</span><br>
<span style="background-color: rgb(255, 255, 255);">- JDK-8346944: Update Unicode Data Files to 17.0.0 </span></div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8354548: Update CLDR to Version 48.0  </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8369517: Compilation mismatch for equivalent lambda and method reference </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8370813: Deprecate AggressiveHeap  </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8370843: Deprecate AlwaysActAsServerClassMachine and NeverActAsServerClassMachine </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8366577: Deprecate java.net.Socket::setPerformancePreferences </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8212084: G1: Implement UseGCOverheadLimit </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8368856: Add a method that performs saturating addition of a Duration to an Instant </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8343232: Support for PBMAC1 protection on PKCS12 keystores</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8369346: Remove default value of and deprecate the MaxRAM flag</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8362637: Convert java.nio.ByteOrder to an enum </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8369238: Allow virtual thread preemption on some common class initialization paths </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8364361: [process] java.lang.Process should implement Closeable </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8334015: Add Support for UUID Version 7 (UUIDv7) defined in RFC 9562 </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8366575: Remove SDP support  </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8370387: Remove handling of InterruptedIOException from java.io classes </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-7105350: HttpExchange's attributes are the same as HttpContext's attributes</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8370057: Correct scale handling of BigDecimal.sqrt </div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK-8358942: HttpClient adds Content-Length: 0 for a GET request with a BodyPublishers.noBody() </div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Note: A more exhaustive list of changes can be found here[11].</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[9] https://jdk.java.net/26/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[10] https://jdk.java.net/26/release-notes</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[11] https://github.com/openjdk/jdk/compare/jdk-26+20...jdk-26+27</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# Valhalla Early-Access Builds</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Project Valhalla early-access builds implementing JEP 401 (Value Classes and Objects (Preview)) are available[12]. The goal of these builds is to establish a milestone and solicit feedback as we work toward integrating this functionality into the JDK. More
 information can be found in the feature documentation[13], in this article[14], and in this video[15]. Feedback can be sent to the valhalla-dev mailing[16] list (registration required).</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[12] https://jdk.java.net/valhalla/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[13] https://openjdk.org/projects/valhalla/value-objects</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[14] https://inside.java/2025/10/27/try-jep-401-value-classes/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[15] https://youtu.be/Eua3nTkye2Y</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[16] https://mail.openjdk.org/mailman/listinfo/valhalla-dev</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# JavaFX Direct3D 12 Early-Access Builds</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
The early-access JavaFX builds implementing the new Direct3D 12 graphics rendering pipeline for Windows x64 are now available[17]. The goal of this EA build is to solicit feedback as we work toward integrating this functionality into JavaFX. Feedback can be
 sent to the openjfx-dev[18] mailing list (registration required).</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[17] https://jdk.java.net/javafxdirect3d12/</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
[18] https://mail.openjdk.org/mailman/listinfo/openjfx-dev</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
# Topics of Interest</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- All Features in Java 26 - Inside Java Newscast</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/12/04/newscast-102/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Java 26 Warns of Deep Reflection - Inside Java Newscast</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/11/20/newscast-101/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- HTTP/3 Support in JDK 26</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/22/http3-support/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- So Long and Thanks for All the Applets</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/12/03/applet-removal/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- “From Cowboy Mode to Careful Stewardship” with Mark Reinhold - Inside Java Podcast</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/27/podcast-041/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- “Amber & Valhalla - Incremental Design and Feature Arcs” with Brian Goetz - Inside Java Podcast</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/09/28/podcast-040/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Value Classes Heap Flattening - What to expect from JEP 401 #JVMLS</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/31/jvmls-jep-401/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Help, My Java Object Vanished (and the GC is Not at Fault)</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://arraying.de/posts/markword/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Symbolic Modeling and Transformation of Java Code #JVMLS</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/11/22/jvmls-symbolic-modelling-java-transformation/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Beyond the Vector API - A Quest for a Lower Level API #JVMLS</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/11/16/jvmls-vector-api/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Serialization 2.0: A Marshalling Update!</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/11/10/devoxxbelgium-serialization2-0-marshalling-update/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Pulling the (Foreign) String</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://cr.openjdk.org/~mcimadamore/panama/strings_ffm.html</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- NUMA-Aware Relocation in ZGC</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://joelsiks.com/posts/zgc-numa-aware-relocation/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Garbage Collection in Java: Choosing the Correct Collector</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/11/29/devoxxbelgium-choose-correct-gc/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Evolving ZGC's Pointer Color Palette #JVMLS</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/06/jvmls-zgc-colored-pointers/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Three Upcoming G1 Improvements</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/23/newscast-99/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- JDK 25 Security Enhancements</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://seanjmullan.org/blog/2025/09/23/jdk25</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
- Performance Improvements in JDK 25</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
https://inside.java/2025/10/20/jdk-25-performance-improvements/</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
~</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
As always, ping me if you find any issues while testing your project(s) with the latest JDK early-access builds. And as the year-end is fast approaching, let me wish you all the best for the upcoming holidays. See you in 2026 with Java 26, Java 27, and hopefully
 some of you in person at JavaOne 2026!</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
PS: Please let me know if you don't want to receive these OpenJDK Quality Outreach updates anymore.</div>
<div dir="ltr" style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Aptos, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
--David</div>
</div>
</body>
</html>