<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#467886;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="en-BE" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Welcome to the latest OpenJDK Quality Outreach update. JDK 23 was released last month as planned. You can find "The Arrival of Java 23" announcement here [1], and some additional Java 23 materials in the "Topics of Interest" section at
 the bottom of this update. You can also rewatch the Java 23 launch stream here [2]. Thank you to all the projects who contributed to this release by testing the early-access builds and by providing feedback and or identifying issues. Through your participation
 in this program, you are helping to shape the Java platform!<span lang="NL"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Let's now shift <span lang="EN-US">the focus </span>to JDK 24 which will enter the Rampdown Phase in less than 6 weeks on December 5th [3].<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[1] <a href="https://inside.java/2024/09/17/jdk-23-available/">
https://inside.java/2024/09/17/jdk-23-available/</a><o:p></o:p></p>
<p class="MsoNormal">[2] <a href="https://www.youtube.com/live/QG9xKpgwOI4?feature=shared">
https://www.youtube.com/live/QG9xKpgwOI4?feature=shared</a><o:p></o:p></p>
<p class="MsoNormal">[3] <a href="https://openjdk.org/projects/jdk/24/">https://openjdk.org/projects/jdk/24/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">## JDK 24<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The JDK 24 early-access builds 21 are available [4], and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here [5].<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As of the time of writing, the following JEPs have been targeted to JDK 24<o:p></o:p></p>
<p class="MsoNormal">- JEP 472: Prepare to Restrict the Use of JNI<o:p></o:p></p>
<p class="MsoNormal">- JEP 475: Late Barrier Expansion for G1<o:p></o:p></p>
<p class="MsoNormal">- JEP 485: Stream Gatherers<o:p></o:p></p>
<p class="MsoNormal">- JEP 484: Class-File API<o:p></o:p></p>
<p class="MsoNormal">- JEP 489: Vector API (9th Incubator)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">while the following JEPs have been proposed to target JDK 24<o:p></o:p></p>
<p class="MsoNormal">- JEP 404: Generational Shenandoah (Experimental)<o:p></o:p></p>
<p class="MsoNormal">- JEP 478: Key Derivation Function API (Preview)<o:p></o:p></p>
<p class="MsoNormal">- JEP 487: Scoped Values (4th Preview)<o:p></o:p></p>
<p class="MsoNormal">- JEP 490: ZGC: Remove the Non-Generational Mode<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">### Changes in recent JDK 24 builds that may be of interest:<o:p></o:p></p>
<p class="MsoNormal">- JDK-8337302: Undefined type variable results in null - Reported & fixed by ByteBuddy<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338406: BytecodeHelpers using wrong bootstrap method descriptor for condy - Reported by ByteBuddy<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338623: StackCounter adding extraneous slots for receiver invoke instructions - Reported by ByteBuddy<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338661: StackMapTable is invalid if frames appear in dead code - Reported by ByteBuddy<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338745: Intrinsify Continuation.pin() and Continuation.unpin()
<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338979: Avoid bootstrapped switches in the classfile API
<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338939: Simplify processing of hidden class names<o:p></o:p></p>
<p class="MsoNormal">- JDK-8335288: SunPKCS11 initialization will call C_GetMechanismInfo on unsupported mechanisms<o:p></o:p></p>
<p class="MsoNormal">- JDK-8336492: Regression in lambda serialization<o:p></o:p></p>
<p class="MsoNormal">- JDK-8286851: Deprecate for removal several of the undocumented java launcher options<o:p></o:p></p>
<p class="MsoNormal">- JDK-8339918: Remove checks for outdated -t -tm -Xfuture -checksource -cs -noasyncgc options from …<o:p></o:p></p>
<p class="MsoNormal">- JDK-8325679: Optimize ArrayList subList sort<o:p></o:p></p>
<p class="MsoNormal">- JDK-8328608: Multiple NewSessionTicket support for TLS<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338890: Add monitoring/management interface for the virtual thread scheduler<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338731: MemoryLayout::offsetHandle can return a negative offset<o:p></o:p></p>
<p class="MsoNormal">- JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338936: StringConcatFactory optimize the construction of MethodType and MethodTypeDesc<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338947: Deprecate the UseLinuxPosixThreadCPUClocks flag and remove it in a future release<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338700: AttributeMapper type parameter should be bounded by Attribute<o:p></o:p></p>
<p class="MsoNormal">- JDK-8338894: Deprecate jhsdb debugd for removal<o:p></o:p></p>
<p class="MsoNormal">- JDK-8334165: Remove serialVersionUID compatibility logic from JMX<o:p></o:p></p>
<p class="MsoNormal">- JDK-8334870: javac does not accept classfiles with certain permitted RuntimeVisibleParameterAnnotations…<o:p></o:p></p>
<p class="MsoNormal">- JDK-8339214: Remove misleading CodeBuilder.loadConstant(Opcode, ConstantDesc)<o:p></o:p></p>
<p class="MsoNormal">- JDK-8328877: [JNI] The JNI Specification needs to address the limitations of integer UTF-8 String lengths<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Note: A complete list of changes can be found here [6].<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">[4] <a href="https://jdk.java.net/24/">https://jdk.java.net/24/</a><o:p></o:p></p>
<p class="MsoNormal">[5] <a href="https://jdk.java.net/24/release-notes">https://jdk.java.net/24/release-notes</a><o:p></o:p></p>
<p class="MsoNormal">[6] <a href="https://github.com/openjdk/jdk/compare/jdk-24+12...jdk-24+21">
https://github.com/openjdk/jdk/compare/jdk-24+12...jdk-24+21</a><o:p></o:p></p>
<p class="MsoNormal">  <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">## JavaFX 24 Early-Access Builds<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">These are early access builds of the JavaFX 24 Runtime built from openjdk/jfx. These builds enable JavaFX application developers to build and test their applications with JavaFX 24 on JDK 24. Although these builds are designed to work with
 JDK 24-ea, they are also known to work with JDK 22 and later versions.<o:p></o:p></p>
<p class="MsoNormal">  <o:p></o:p></p>
<p class="MsoNormal">The latest early access builds of JavaFX 24 Builds 14 (2024/10/18) are available [7], under the GNU General Public License, version 2,<o:p></o:p></p>
<p class="MsoNormal">with the Classpath Exception. JavaFX 24 API Javadocs [8] are available too.<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">[7] <a href="https://jdk.java.net/javafx24/">https://jdk.java.net/javafx24/</a><o:p></o:p></p>
<p class="MsoNormal">[8] <a href="https://download.java.net/java/early_access/javafx24/docs/api/overview-summary.html">
https://download.java.net/java/early_access/javafx24/docs/api/overview-summary.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">## Topics of Interest<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- Java 23 - Better Language, Better APIs, Better Runtime<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/09/26/javazone-java23/">https://inside.java/2024/09/26/javazone-java23/</a><o:p></o:p></p>
<p class="MsoNormal"><span lang="NL"><o:p> </o:p></span></p>
<p class="MsoNormal">- JDK 23 Security Enhancements<o:p></o:p></p>
<p class="MsoNormal"><a href="https://seanjmullan.org/blog/2024/09/17/jdk23">https://seanjmullan.org/blog/2024/09/17/jdk23</a><o:p></o:p></p>
<p class="MsoNormal"><span lang="NL"><o:p> </o:p></span></p>
<p class="MsoNormal">- Reviewing the JDK 23 Release Notes<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/09/19/newscast-76/">https://inside.java/2024/09/19/newscast-76/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JEP 14: The Tip & Tail Model of Library Development<o:p></o:p></p>
<p class="MsoNormal"><a href="https://openjdk.org/jeps/14">https://openjdk.org/jeps/14</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- New Loom Early-Access Builds with Changes for JDK 24<o:p></o:p></p>
<p class="MsoNormal"><a href="https://mail.openjdk.org/pipermail/loom-dev/2024-September/007166.html">https://mail.openjdk.org/pipermail/loom-dev/2024-September/007166.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Loom - Where Are We?<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/10/06/jvmls-loom/">https://inside.java/2024/10/06/jvmls-loom/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Integrity by Default<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/09/12/jvmls-integrity-by-default/">https://inside.java/2024/09/12/jvmls-integrity-by-default/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Project Lilliput - Beyond Compact Headers<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/09/06/jvmls-generics-lilliput/">https://inside.java/2024/09/06/jvmls-generics-lilliput/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Valhalla - Where Are We?<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/08/23/jvmls-valhalla/">https://inside.java/2024/08/23/jvmls-valhalla/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Java Initialization 2.0<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/09/01/jvmls-initialization/">https://inside.java/2024/09/01/jvmls-initialization/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- Serialization - A New Hope<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/10/13/devoxxbelgium-serialization/">https://inside.java/2024/10/13/devoxxbelgium-serialization/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- JVMLS: Project Leyden<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/08/25/jvmls-leyden/">https://inside.java/2024/08/25/jvmls-leyden/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- A Preview of What's Coming in Project Leyden<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/10/17/newscast-78/">https://inside.java/2024/10/17/newscast-78/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- Big News from Project Valhalla<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/10/03/newscast-77/">https://inside.java/2024/10/03/newscast-77/</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">- Java's Fraught Relationship with Cyclic Object Graphs<o:p></o:p></p>
<p class="MsoNormal"><a href="https://inside.java/2024/10/15/devoxxbelgium-cyclic-object-graphs/">https://inside.java/2024/10/15/devoxxbelgium-cyclic-object-graphs/</a><span lang="NL"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">~<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As usual, please ping me if you have questions, suggestions or if you encounter any issues with JDK 24 early-access builds. If you don't want to receive these OpenJDK Quality Outreach updates anymore, please let me know.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">David Delabassée<span lang="NL"><o:p></o:p></span></p>
</div>
</body>
</html>