OpenJDK Quality Outreach: Java 24 Is Now Available!

David Delabassee via Jython-dev <[email protected]> Mon, 7 Apr 2025 16:32:59 +0000
Newsgroups gmane.comp.lang.jython.devel
Message-ID <SA1PR10MB76991ADC908DB23996618E7EFCAA2@SA1PR10MB7699.namprd10.prod.outlook.com>
--===============6992273989428820710==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_SA1PR10MB76991ADC908DB23996618E7EFCAA2SA1PR10MB7699namp_"

--_000_SA1PR10MB76991ADC908DB23996618E7EFCAA2SA1PR10MB7699namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

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 pl=
aylist [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://www.youtube.com/watch?v=3Dmk_2MIWxLI0&t=3D12s
[2] https://www.youtube.com/live/GwR7Gvi80Xo?si=3DgxdqAhVbnNV0JZGt&t=3D2795
[3] https://www.youtube.com/playlist?list=3DPLX8CzqL3ArzVV1xRJkRbcM2tOgVwyt=
JAi


# 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 dir=
ect 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 evolut=
ion of inner classes may lead to unexpected NPEs, Java 25 will start ensuri=
ng that references to the immediately enclosing instance are always non-nul=
l.

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 reflect=
ion, method handles, or direct bytecode invocation to pass null as enclosin=
g 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 n=
ull reference.

In case these additional checks lead to issues, their emission can be preve=
nted with a flag: `-XDnullCheckOuterThis=3D(true|false)`. This should be se=
en as a temporary workaround and no guarantees are made for how long this f=
lag 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 Releas=
e 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 pro=
perty
- 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 TL=
S 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 sign=
ing
- 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 th=
e getCertificates and getCodeSigners methods of JarEntry and JarURLConnecti=
on
- JDK-8345213: JVM Prefers /etc/timezone Over /etc/localtime on Debian 12
- JDK-8350646: Calendar.Builder.build() Throws ArrayIndexOutOfBoundsExcepti=
on
- JDK-8347433: Deprecate XML interchange in java.management/javax/managemen=
t/modelmbean/DescriptorSupport for removal
- JDK-8328119: Support HKDF in SunPKCS11 (Preview)
- JDK-8327378: XMLStreamReader throws EOFException instead of XMLStreamExce=
ption
- JDK-8024695: new File("").exists() returns false whereas it is the curren=
t 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 Ja=
va threads need a broader range
- JDK-8349860: Make Class.isArray(), Class.isInterface() and Class.isPrimit=
ive() 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://jdk.java.net/25/
[6] https://jdk.java.net/25/release-notes
[7] https://github.com/openjdk/jdk/compare/jdk-25+10...jdk-25+17


# JavaFX 25 Early-Access Builds

These are early access builds of the JavaFX 25 Runtime built from openjdk/j=
fx [8]. These builds enable JavaFX application developers to build and test=
 their applications with JavaFX 25 on JDK 25. Although these builds are des=
igned to work with JDK 25-EA builds, they are also known to work with JDK 2=
2 and later versions.

The latest early access builds of JavaFX 25 Builds 11 (2025/4/4) are now av=
ailable [9], under the GNU General Public License, version 2, with the Clas=
spath Exception. JavaFX 25 API Javadocs [10] are available too.

[8] https://github.com/openjdk/jfx
[9] https://jdk.java.net/javafx25/
[10] https://download.java.net/java/early_access/javafx25/docs/api/overview=
-summary.html


# 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://inside.java/2025/03/19/performance-improvements-in-jdk24/

- Java 24 - Better Language, Better APIs, Better Runtime
https://inside.java/2025/03/01/jfokus-better-jdk24/

- JDK 24 Release Notes Overview - Security Update
https://inside.java/2025/04/05/java-24-security-notes/

- JDK 24 Release Notes Review for Developers
https://inside.java/2025/03/13/newscast-87/

- JDK 24 Release Notes Overview for Operations
https://inside.java/2025/03/29/java-24-for-ops/

- JDK 24 G1/Parallel/Serial GC Changes
https://tschatzl.github.io/2025/04/01/jdk24-g1-serial-parallel-gc-changes.h=
tml

- Scoped Values in Java 24
https://inside.java/2025/02/27/newscast-86/

- Stable Values in Java 25
https://inside.java/2025/03/27/newscast-88/

- New Write Barriers for G1
http://tschatzl.github.io/2025/02/21/new-write-barriers.html

- SuperWord (Auto-Vectorization) - Scheduling
https://eme64.github.io/blog/2023/05/16/SuperWord-Scheduling.html

~

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

--_000_SA1PR10MB76991ADC908DB23996618E7EFCAA2SA1PR10MB7699namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"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;}
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=3D"en-BE" link=3D"#467886" vlink=3D"#96607D" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<div>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">Greetings and welcome to the latest OpenJDK Quality Outreach upda=
te!<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">JDK 24 was officially released (General Availability) on March 18=
th during JavaOne. You can rewatch the Java 24 launch and the J1 keynote he=
re [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 ses=
sions are gradually being added.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">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 follo=
w. And as always, if you experience
 any issues with your project running on a JDK 25 early-access builds, plea=
se don't hesitate to reach out.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[1]
<a href=3D"https://www.youtube.com/watch?v=3Dmk_2MIWxLI0&amp;t=3D12s"><span=
 style=3D"color:#467886">https://www.youtube.com/watch?v=3Dmk_2MIWxLI0&amp;=
t=3D12s</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[2]
<a href=3D"https://www.youtube.com/live/GwR7Gvi80Xo?si=3DgxdqAhVbnNV0JZGt&a=
mp;t=3D2795"><span style=3D"color:#467886">https://www.youtube.com/live/GwR=
7Gvi80Xo?si=3DgxdqAhVbnNV0JZGt&amp;t=3D2795</span></a><o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[3]
<a href=3D"https://www.youtube.com/playlist?list=3DPLX8CzqL3ArzVV1xRJkRbcM2=
tOgVwytJAi">
<span style=3D"color:#467886">https://www.youtube.com/playlist?list=3DPLX8C=
zqL3ArzVV1xRJkRbcM2tOgVwytJAi</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"># Heads-up - JDK 25: New Null Checks in Inner Class Constructors<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">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 constructo=
rs and so core reflection, method handles, and direct bytecode invocation c=
an pass null as enclosing instance,
 which can lead to NullPointerExceptions down the road.<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">Since a null enclosing instance is outside of the JLS and the fut=
ure evolution of inner classes may lead to unexpected NPEs, Java 25 will st=
art ensuring that references to the
 immediately enclosing instance are always non-null.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">Starting with JDK 25, when javac is targeting release 25 or highe=
r, it will emit null checks for the enclosing instances in inner class cons=
tructors.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">This behavioral change will lead to new NPEs in code that uses co=
re reflection, method handles, or direct bytecode invocation to pass null a=
s enclosing instance. Such code is rare
 and usually found in libraries or frameworks (as opposed to in application=
s). It should be changed to no longer pass a null reference.<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">In case these additional checks lead to issues, their emission ca=
n be prevented with a flag: `-XDnullCheckOuterThis=3D(true|false)`. This sh=
ould be seen as a temporary workaround
 and no guarantees are made for how long this flag will be available.<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">For more details, check JDK-8351274 [4].<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[4]
<a href=3D"https://bugs.openjdk.org/browse/JDK-8351274"><span style=3D"colo=
r:#467886">https://bugs.openjdk.org/browse/JDK-8351274</span></a><o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"># JDK 25<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">The JDK 25 early-access builds 17 are available [5] and are provi=
ded under the GNU General Public License v2, with the Classpath Exception. =
The Release Notes are available here
 [6].<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">The following JEPs have been targeted to JDK 25, so far:<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 502: Stable Values (Preview)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 503: Remove the 32-bit x86 Port<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">## Changes in recent JDK 25 builds that may be of interest:<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8353118: Deprecate the use of `java.locale.useOldISOCodes` =
system property<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8351435: Change the default Console implementation back to =
the built-in one in `java.base` module<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8350459: MontgomeryIntegerPolynomialP256 multiply intrinsic=
 with AVX2 on x86_64<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8349583: Add mechanism to disable signature schemes based o=
n their TLS scope<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8338675: javac shouldn't silently change .jar files on the =
classpath<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319447: Improve performance of delayed task handling<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8341775: Duplicate manifest files are removed by jarsigner =
after signing<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8303770: Remove Baltimore root certificate expiring in May =
2025<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8346948: Update CLDR to Version 47.0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8348829: Remove ObjectMonitor perf counters<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8164714: Constructor.newInstance creates instance of inner =
class with null outer class<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8352716: (tz) Update Timezone Data to 2025b<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8347946: Add API note that caller should validate/trust sig=
ners to the getCertificates and getCodeSigners methods of JarEntry and JarU=
RLConnection<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8345213: JVM Prefers /etc/timezone Over /etc/localtime on D=
ebian 12<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8350646: Calendar.Builder.build() Throws ArrayIndexOutOfBou=
ndsException<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8347433: Deprecate XML interchange in java.management/javax=
/management/modelmbean/DescriptorSupport for removal<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8328119: Support HKDF in SunPKCS11 (Preview)<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8327378: XMLStreamReader throws EOFException instead of XML=
StreamException<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8024695: new File(&quot;&quot;).exists() returns false wher=
eas it is the current working directory<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8351224: Deprecate com.sun.tools.attach.AttachPermission fo=
r removal<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8351310: Deprecate com.sun.jdi.JDIPermission for removal<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8348561: Add aarch64 intrinsics for ML-DSA<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8351266: JFR: -XX:StartFlightRecording:report-on-exit<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8350638: Make keyboard navigation more usable in API docs<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8350464: The flags to set the native priority for the VMThr=
ead and Java threads need a broader range<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8349860: Make Class.isArray(), Class.isInterface() and Clas=
s.isPrimitive() non-native<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8347335: ZGC: Use limitless mark stack memory<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8348596: Update FreeType to 2.13.3<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">Note: A more exhaustive list of changes can be found here [7].<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[5]
<a href=3D"https://jdk.java.net/25/"><span style=3D"color:#467886">https://=
jdk.java.net/25/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[6]
<a href=3D"https://jdk.java.net/25/release-notes"><span style=3D"color:#467=
886">https://jdk.java.net/25/release-notes</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[7]
<a href=3D"https://github.com/openjdk/jdk/compare/jdk-25+10...jdk-25+17"><s=
pan style=3D"color:#467886">https://github.com/openjdk/jdk/compare/jdk-25+1=
0...jdk-25+17</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"># JavaFX 25 Early-Access Builds<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">These are early access builds of the JavaFX 25 Runtime built from=
 openjdk/jfx [8]. These builds enable JavaFX application developers to buil=
d and test their applications with JavaFX
 25 on JDK 25. Although these builds are designed to work with JDK 25-EA bu=
ilds, they are also known to work with JDK 22 and later versions.<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">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, wit=
h the Classpath Exception. JavaFX 25
 API Javadocs [10] are available too.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[8]
<a href=3D"https://github.com/openjdk/jfx"><span style=3D"color:#467886">ht=
tps://github.com/openjdk/jfx</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[9]
<a href=3D"https://jdk.java.net/javafx25/"><span style=3D"color:#467886">ht=
tps://jdk.java.net/javafx25/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[10]
<a href=3D"https://download.java.net/java/early_access/javafx25/docs/api/ov=
erview-summary.html">
<span style=3D"color:#467886">https://download.java.net/java/early_access/j=
avafx25/docs/api/overview-summary.html</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"># Topics of Interest<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- The Arrival of Java 24<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://blogs.oracle.com/java/post/the-arrival-of-java=
-24"><span style=3D"color:#467886">https://blogs.oracle.com/java/post/the-a=
rrival-of-java-24</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Performance Improvements in JDK 24<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/03/19/performance-improvement=
s-in-jdk24/"><span style=3D"color:#467886">https://inside.java/2025/03/19/p=
erformance-improvements-in-jdk24/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Java 24 - Better Language, Better APIs, Better Runtime<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/03/01/jfokus-better-jdk24/"><=
span style=3D"color:#467886">https://inside.java/2025/03/01/jfokus-better-j=
dk24/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK 24 Release Notes Overview - Security Update<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/04/05/java-24-security-notes/=
"><span style=3D"color:#467886">https://inside.java/2025/04/05/java-24-secu=
rity-notes/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK 24 Release Notes Review for Developers<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/03/13/newscast-87/"><span sty=
le=3D"color:#467886">https://inside.java/2025/03/13/newscast-87/</span></a>=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK 24 Release Notes Overview for Operations<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/03/29/java-24-for-ops/"><span=
 style=3D"color:#467886">https://inside.java/2025/03/29/java-24-for-ops/</s=
pan></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK 24 G1/Parallel/Serial GC Changes<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://tschatzl.github.io/2025/04/01/jdk24-g1-serial-=
parallel-gc-changes.html"><span style=3D"color:#467886">https://tschatzl.gi=
thub.io/2025/04/01/jdk24-g1-serial-parallel-gc-changes.html</span></a><o:p>=
</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Scoped Values in Java 24<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/02/27/newscast-86/"><span sty=
le=3D"color:#467886">https://inside.java/2025/02/27/newscast-86/</span></a>=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Stable Values in Java 25<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://inside.java/2025/03/27/newscast-88/"><span sty=
le=3D"color:#467886">https://inside.java/2025/03/27/newscast-88/</span></a>=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- New Write Barriers for G1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"http://tschatzl.github.io/2025/02/21/new-write-barrier=
s.html"><span style=3D"color:#467886">http://tschatzl.github.io/2025/02/21/=
new-write-barriers.html</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- SuperWord (Auto-Vectorization) - Scheduling<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><a href=3D"https://eme64.github.io/blog/2023/05/16/SuperWord-Sche=
duling.html"><span style=3D"color:#467886">https://eme64.github.io/blog/202=
3/05/16/SuperWord-Scheduling.html</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">~<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">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 b=
uilds.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-ligatures:none;mso=
-fareast-language:EN-GB"><o:p>&nbsp;</o:p></span></p>
</div>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none">--David</span><o:=
p></o:p></p>
</div>
</body>
</html>

--_000_SA1PR10MB76991ADC908DB23996618E7EFCAA2SA1PR10MB7699namp_--


--===============6992273989428820710==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============6992273989428820710==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Jython-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jython-dev

--===============6992273989428820710==--