Noted, thank you Rick.

--David

From: Rick Hillegas <rick.hille...@gmail.com>
Date: Tuesday, 8 April 2025 at 01:49
To: David Delabassee <david.delabas...@oracle.com>, derby-dev@db.apache.org 
<derby-dev@db.apache.org>
Subject: [External] : Re: OpenJDK Quality Outreach: Java 24 Is Now Available!
Thanks for the heads-up, David. Derby builds and tests cleanly against
Open JDK build 25-ea+17-1966. For more information, see
https://urldefense.com/v3/__https://issues.apache.org/jira/browse/DERBY-7175__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-KPNElFY$<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/DERBY-7175__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-KPNElFY$>

On 4/7/25 9:18 AM, David Delabassee wrote:
> Greetings and welcome to the latest OpenJDK Quality Outreach update!
>
> JDK 24 was officially released (General Availability) on March 18th during 
> JavaOne. You can rewatch the Java 24 launch and the J1 keynote here [1]. Be 
> sure to also check out the Quality Outreach section here [2]. JavaOne was 
> amazing, and if you couldn't attend, make sure to watch the JavaOne 2025 
> playlist [3] regularly as sessions are gradually being added.
>
> With the release of JDK 24, the focus now moves to JDK 25 testing. On that 
> note, be sure to check out the heads-up below, with more to follow. And as 
> always, if you experience any issues with your project running on a JDK 25 
> early-access builds, please don't hesitate to reach out.
>
> [1] 
> https://urldefense.com/v3/__https://www.youtube.com/watch?v=mk_2MIWxLI0&t=12s__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-FMqFH4c$<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=mk_2MIWxLI0&t=12s__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-FMqFH4c$>
> [2] 
> https://urldefense.com/v3/__https://www.youtube.com/live/GwR7Gvi80Xo?si=gxdqAhVbnNV0JZGt&t=2795__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-CTieejW$<https://urldefense.com/v3/__https:/www.youtube.com/live/GwR7Gvi80Xo?si=gxdqAhVbnNV0JZGt&t=2795__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-CTieejW$>
> [3] 
> https://urldefense.com/v3/__https://www.youtube.com/playlist?list=PLX8CzqL3ArzVV1xRJkRbcM2tOgVwytJAi__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-OR8FePD$<https://urldefense.com/v3/__https:/www.youtube.com/playlist?list=PLX8CzqL3ArzVV1xRJkRbcM2tOgVwytJAi__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-OR8FePD$>
>
>
> # Heads-up - JDK 25: New Null Checks in Inner Class Constructors
>
> The Java Language Specification prescribes that various use sites of inner 
> class constructors should include null checks of the immediately enclosing 
> instance and from then on assumes that the reference is non-null. However, it 
> does not mandate such checks of the incoming instance at the declaration site 
> of these constructors and so core reflection, method handles, and direct 
> bytecode invocation can pass null as enclosing instance, which can lead to 
> NullPointerExceptions down the road.
>
> Since a null enclosing instance is outside of the JLS and the future 
> evolution of inner classes may lead to unexpected NPEs, Java 25 will start 
> ensuring that references to the immediately enclosing instance are always 
> non-null.
>
> Starting with JDK 25, when javac is targeting release 25 or higher, it will 
> emit null checks for the enclosing instances in inner class constructors.
>
> This behavioral change will lead to new NPEs in code that uses core 
> reflection, method handles, or direct bytecode invocation to pass null as 
> enclosing instance. Such code is rare and usually found in libraries or 
> frameworks (as opposed to in applications). It should be changed to no longer 
> pass a null reference.
>
> In case these additional checks lead to issues, their emission can be 
> prevented with a flag: `-XDnullCheckOuterThis=(true|false)`. This should be 
> seen as a temporary workaround and no guarantees are made for how long this 
> flag will be available.
>
> For more details, check JDK-8351274 [4].
>
> [4] https://bugs.openjdk.org/browse/JDK-8351274
>
>
> # JDK 25
>
> The JDK 25 early-access builds 17 are available [5] and are provided under 
> the GNU General Public License v2, with the Classpath Exception. The Release 
> Notes are available here [6].
>
> The following JEPs have been targeted to JDK 25, so far:
> - JEP 502: Stable Values (Preview)
> - JEP 503: Remove the 32-bit x86 Port
>
> ## Changes in recent JDK 25 builds that may be of interest:
> - JDK-8353118: Deprecate the use of `java.locale.useOldISOCodes` system 
> property
> - JDK-8351435: Change the default Console implementation back to the built-in 
> one in `java.base` module
> - JDK-8350459: MontgomeryIntegerPolynomialP256 multiply intrinsic with AVX2 
> on x86_64
> - JDK-8349583: Add mechanism to disable signature schemes based on their TLS 
> scope
> - JDK-8338675: javac shouldn't silently change .jar files on the classpath
> - JDK-8319447: Improve performance of delayed task handling
> - JDK-8341775: Duplicate manifest files are removed by jarsigner after signing
> - JDK-8303770: Remove Baltimore root certificate expiring in May 2025
> - JDK-8346948: Update CLDR to Version 47.0
> - JDK-8348829: Remove ObjectMonitor perf counters
> - JDK-8164714: Constructor.newInstance creates instance of inner class with 
> null outer class
> - JDK-8352716: (tz) Update Timezone Data to 2025b
> - JDK-8347946: Add API note that caller should validate/trust signers to the 
> getCertificates and getCodeSigners methods of JarEntry and JarURLConnection
> - JDK-8345213: JVM Prefers /etc/timezone Over /etc/localtime on Debian 12
> - JDK-8350646: Calendar.Builder.build() Throws ArrayIndexOutOfBoundsException
> - JDK-8347433: Deprecate XML interchange in 
> java.management/javax/management/modelmbean/DescriptorSupport for removal
> - JDK-8328119: Support HKDF in SunPKCS11 (Preview)
> - JDK-8327378: XMLStreamReader throws EOFException instead of 
> XMLStreamException
> - JDK-8024695: new File("").exists() returns false whereas it is the current 
> working directory
> - JDK-8351224: Deprecate com.sun.tools.attach.AttachPermission for removal
> - JDK-8351310: Deprecate com.sun.jdi.JDIPermission for removal
> - JDK-8348561: Add aarch64 intrinsics for ML-DSA
> - JDK-8351266: JFR: -XX:StartFlightRecording:report-on-exit
> - JDK-8350638: Make keyboard navigation more usable in API docs
> - JDK-8350464: The flags to set the native priority for the VMThread and Java 
> threads need a broader range
> - JDK-8349860: Make Class.isArray(), Class.isInterface() and 
> Class.isPrimitive() non-native
> - JDK-8347335: ZGC: Use limitless mark stack memory
> - JDK-8348596: Update FreeType to 2.13.3
>
> Note: A more exhaustive list of changes can be found here [7].
>
> [5] 
> https://urldefense.com/v3/__https://jdk.java.net/25/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-FU3rAxX$<https://urldefense.com/v3/__https:/jdk.java.net/25/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-FU3rAxX$>
> [6] 
> https://urldefense.com/v3/__https://jdk.java.net/25/release-notes__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Os-lPTy$<https://urldefense.com/v3/__https:/jdk.java.net/25/release-notes__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Os-lPTy$>
> [7] 
> https://urldefense.com/v3/__https://github.com/openjdk/jdk/compare/jdk-25*10...jdk-25*17__;Kys!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PpByuts$<https://urldefense.com/v3/__https:/github.com/openjdk/jdk/compare/jdk-25*10...jdk-25*17__;Kys!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PpByuts$>
>
>
> # JavaFX 25 Early-Access Builds
>
> These are early access builds of the JavaFX 25 Runtime built from openjdk/jfx 
> [8]. These builds enable JavaFX application developers to build and test 
> their applications with JavaFX 25 on JDK 25. Although these builds are 
> designed to work with JDK 25-EA builds, they are also known to work with JDK 
> 22 and later versions.
>
> The latest early access builds of JavaFX 25 Builds 11 (2025/4/4) are now 
> available [9], under the GNU General Public License, version 2, with the 
> Classpath Exception. JavaFX 25 API Javadocs [10] are available too.
>
> [8] 
> https://urldefense.com/v3/__https://github.com/openjdk/jfx__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PAKZmX-$<https://urldefense.com/v3/__https:/github.com/openjdk/jfx__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PAKZmX-$>
> [9] 
> https://urldefense.com/v3/__https://jdk.java.net/javafx25/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Ly816yy$<https://urldefense.com/v3/__https:/jdk.java.net/javafx25/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Ly816yy$>
> [10] 
> https://urldefense.com/v3/__https://download.java.net/java/early_access/javafx25/docs/api/overview-summary.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-OzNT2f4$<https://urldefense.com/v3/__https:/download.java.net/java/early_access/javafx25/docs/api/overview-summary.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-OzNT2f4$>
>
>
> # Topics of Interest
>
> - The Arrival of Java 24
> https://blogs.oracle.com/java/post/the-arrival-of-java-24
>
> - Performance Improvements in JDK 24
> https://urldefense.com/v3/__https://inside.java/2025/03/19/performance-improvements-in-jdk24/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-AbnJMtn$<https://urldefense.com/v3/__https:/inside.java/2025/03/19/performance-improvements-in-jdk24/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-AbnJMtn$>
>
> - Java 24 - Better Language, Better APIs, Better Runtime
> https://urldefense.com/v3/__https://inside.java/2025/03/01/jfokus-better-jdk24/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-GcvHiem$<https://urldefense.com/v3/__https:/inside.java/2025/03/01/jfokus-better-jdk24/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-GcvHiem$>
>
> - JDK 24 Release Notes Overview - Security Update
> https://urldefense.com/v3/__https://inside.java/2025/04/05/java-24-security-notes/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Ph58vVd$<https://urldefense.com/v3/__https:/inside.java/2025/04/05/java-24-security-notes/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Ph58vVd$>
>
> - JDK 24 Release Notes Review for Developers
> https://urldefense.com/v3/__https://inside.java/2025/03/13/newscast-87/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PaCcLdQ$<https://urldefense.com/v3/__https:/inside.java/2025/03/13/newscast-87/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PaCcLdQ$>
>
> - JDK 24 Release Notes Overview for Operations
> https://urldefense.com/v3/__https://inside.java/2025/03/29/java-24-for-ops/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-EXLo900$<https://urldefense.com/v3/__https:/inside.java/2025/03/29/java-24-for-ops/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-EXLo900$>
>
> - JDK 24 G1/Parallel/Serial GC Changes
> https://urldefense.com/v3/__https://tschatzl.github.io/2025/04/01/jdk24-g1-serial-parallel-gc-changes.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-LsLxLtc$<https://urldefense.com/v3/__https:/tschatzl.github.io/2025/04/01/jdk24-g1-serial-parallel-gc-changes.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-LsLxLtc$>
>
> - Scoped Values in Java 24
> https://urldefense.com/v3/__https://inside.java/2025/02/27/newscast-86/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Hzgr6u5$<https://urldefense.com/v3/__https:/inside.java/2025/02/27/newscast-86/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Hzgr6u5$>
>
> - Stable Values in Java 25
> https://urldefense.com/v3/__https://inside.java/2025/03/27/newscast-88/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-KcF9vTV$<https://urldefense.com/v3/__https:/inside.java/2025/03/27/newscast-88/__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-KcF9vTV$>
>
> - New Write Barriers for G1
> https://urldefense.com/v3/__http://tschatzl.github.io/2025/02/21/new-write-barriers.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Oioi6jn$<https://urldefense.com/v3/__http:/tschatzl.github.io/2025/02/21/new-write-barriers.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-Oioi6jn$>
>
> - SuperWord (Auto-Vectorization) - Scheduling
> https://urldefense.com/v3/__https://eme64.github.io/blog/2023/05/16/SuperWord-Scheduling.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PTgI2f7$<https://urldefense.com/v3/__https:/eme64.github.io/blog/2023/05/16/SuperWord-Scheduling.html__;!!ACWV5N9M2RV99hQ!MkPy7Gqfeg-aw1tD2bZM1mSGIQnCL4NT4CAVjs6lypMwb9rmdK92ZrkqwA-B5gOT6sgtySOnhQjp4IW3AL6N-PTgI2f7$>
>
> ~
>
> That's it for this time. Feel free to reach out if you encounter any issues 
> while testing your project(s) with the latest JDK early-access builds.
>
> --David
>

Reply via email to