JDK 23 Release Candidates | Restrictive JAXP Configuration Heads-up

David Delabassee via Jython-dev <[email protected]> Fri, 23 Aug 2024 12:44:02 +0000
Newsgroups gmane.comp.lang.jython.devel
Message-ID <SA1PR10MB7699C4C49E1C2E60D791C727FC882@SA1PR10MB7699.namprd10.prod.outlook.com>
--===============2124000864702871450==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_SA1PR10MB7699C4C49E1C2E60D791C727FC882SA1PR10MB7699namp_"

--_000_SA1PR10MB7699C4C49E1C2E60D791C727FC882SA1PR10MB7699namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Welcome to the latest OpenJDK Quality Outreach update!

Everything is on track for the General Availability of Java 23 on September=
 17th [1] as the JDK 23 Release Candidate builds (RC2 - builds 37) are now =
available [2]. And before shifting your attention to JDK 24, make sure to c=
heck the Heads-Up below as it is related to an important JAXP update in JDK=
 23.

The JVM Language Summit took place earlier this month in Santa Clara (Calif=
ornia). During this unique conference, key updates around the Java platform=
s were presented and discussed. So, make sure to watch the JVMLS 2024 playl=
ist [3] as videos are added regularly. And it's not really a surprise but V=
alhalla was a highly discussed topic. In his session [4], Brian Goetz (Java=
 Language Architect) explained the proposed solution: value classes, null-r=
estricted types, improved definite assignment analysis, and strict initiali=
zation. Around the same time-frame, Valhalla Early-Access builds implementi=
ng Value Classes and Objects were also made available [5], see the Release =
Notes [6] for the details. As usual, feedback should be reported to the pro=
per mailing list [7].

[1] https://openjdk.org/projects/jdk/23/
[2] https://jdk.java.net/23/
[3] https://www.youtube.com/playlist?list=3DPLX8CzqL3ArzUEYnTa6KYORRbP3nhsK=
0L1
[4] https://www.youtube.com/watch?v=3DIF9l8fYfSnI
[5] https://jdk.java.net/valhalla/
[6] https://openjdk.org/projects/valhalla/early-access
[7] https://mail.openjdk.org/mailman/listinfo/valhalla-dev


## Heads-up - JDK 23: Prepare for a More Restrictive JAXP Configuration

The Java platform supports XML processing with JAXP (Java APIs for XML Proc=
essing) that are based on a wide range of XML technologies and standards, w=
hich can make them challenging to secure. To mitigate risks, JAXP offers co=
mprehensive security features [8], but the default settings of some securit=
y features are not strict, making them opt-in. To improve out-of-the-box se=
curity, future JDK releases will make XML processing more restrictive by de=
fault and JDKs 21 to 23 help developers prepare for these changes.

### JDK 21: JAXP Configuration File

JDK 21 added `$JAVA_HOME/conf/jaxp.properties` as the default JAXP configur=
ation file, property settings in this file reflect the current, built-in de=
faults for the JDK. JDK 21 also added the system property `java.xml.config.=
file` for specifying the location of a custom configuration file. For detai=
ls, refer to JDK-8303530 [9] or the `java.xml` documentation [10].

### JDK 23: Restrictive JAXP Configuration File Template

JDK 23 adds `$JAVA_HOME/conf/jaxp-strict.properties.template`, a JAXP confi=
guration file template that specifies more restrictive XML processing setti=
ngs. It is recommended to test applications on these more restrictive setti=
ngs to prepare them for a future JDK release that has them as default.

The following steps should be used to test an application with that templat=
e:
* copy the template file to a location outside of `$JAVA_HOME/conf`, e.g. `=
/<my_path>/jaxp-strict.properties`
* run the application with the system property `java.xml.config.file` set t=
o the file's path, e.g. `java -Djava.xml.config.file=3D/<my_path>/jaxp-stri=
ct.properties myApp`

For details, please refer to JDK-8330542 [11].

[8] https://docs.oracle.com/en/java/javase/22/security/java-api-xml-process=
ing-jaxp-security-guide.html#GUID-6E76FE41-A8C5-4F56-AB46-83A89B1E904A
[9] https://bugs.openjdk.org/browse/JDK-8303530
[10] https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/module-sum=
mary.html#Conf
[11] https://bugs.openjdk.org/browse/JDK-8330542


## JDK 24 Early-Access Builds

The JDK 24 early-access builds 12 are available [12], and are provided unde=
r the GNU General Public License v2, with the Classpath Exception. The Rele=
ase Notes are available here [13].

### Changes in recent JDK 24 builds that may be of interest:
- JDK-8335638: Calling VarHandle.{access-mode} methods reflectively throws =
wrong exception
- JDK-8329471: Remove GTK2
- JDK-8333772: Incorrect Kerberos behavior when udp_preference_limit =3D 0
- JDK-8304929: MethodTypeDesc throws an unchecked exception than Reflective=
OperationException =85
- JDK-4966250: SSLSessionContext.setSessionTimeout() documentation could be=
 updated
- JDK-8337506: Disable "best-fit" mapping on Windows command line
- JDK-8336479: Provide Process.waitFor(Duration)
- JDK-8336999: Verification for resource area allocated data structures in =
C2
- JDK-8335480: Only deoptimize threads if needed when closing shared arena
- JDK-8335939: Hide element writing across the ClassFile API
- JDK-8336489: Track scoped accesses in JVMCI compiled code
- JDK-8334492: DiagnosticCommands (jcmd) should accept %p in output filenam=
es and substitute PID
- JDK-8334495: Use FFM instead of jdk.internal.misc.Unsafe in java.desktop =
font implementation
- JDK-8333396: Use StringBuilder internally for java.text.Format.* formatti=
ng
- JDK-8336815: Several methods in java.net.Socket and ServerSocket do not s=
=85

Note: A more exhaustive list of changes can be found here [14].

[12] https://jdk.java.net/24/
[13] https://jdk.java.net/24/release-notes
[14] https://github.com/openjdk/jdk/compare/jdk-24+7...jdk-24+12


# Project Loom New Early-Access Builds

The latest Loom early access builds (Builds 24-loom+3-33 -2024/7/27) are no=
w available [15]. These builds, based on an incomplete version of JDK 24, i=
mprove the implementation of Java monitors (synchronized methods) to work b=
etter with virtual threads. These builds are intended for developers lookin=
g to "kick the tires" and provide feedback or bug reports. Feedback should =
be reported to the Loom mailing  list  [16] (subscription required).

[15] https://jdk.java.net/loom/
[16] http://mail.openjdk.org/mailman/listinfo/loom-dev


# JavaFX Early-Access Builds

These are early access builds of the JavaFX 23 and 24 Runtime built from op=
enjdk/jfx [17]. These builds enable JavaFX application developers to build =
and test their applications with JavaFX 23 and 24 on JDK 23 and 24 respecti=
vely. And although these builds are designed to work with JDK 23 EA, they a=
re also known to work with JDK 21 and later versions.

The latest early access builds of JavaFX 23 (Builds 27) are available [18],=
 under the GNU General Public License, version 2, with the Classpath Except=
ion. And similarly, the latest early access builds of JavaFX 24 (Builds 4) =
are available here [19].

[17] https://github.com/openjdk/jfx
[18] https://jdk.java.net/javafx23/
[19] https://jdk.java.net/javafx24/


## Topics of Interest

- JDK 23 G1/Parallel/Serial GC changes
https://tschatzl.github.io/2024/07/22/jdk23-g1-serial-parallel-gc-changes.h=
tml

- How to Read a JDK Enhancement Proposal
https://inside.java/2024/08/01/newscast-74/

- JFR Event to Detect Invocations of Deprecated Methods
https://egahlin.github.io/2024/05/31/deprecated-event.html

- JVMLS: Valhalla - Where Are We?
https://www.youtube.com/watch?v=3DIF9l8fYfSnI

- JVMLS: An Opinionated Overview on Static Analysis for Java
https://inside.java/2024/08/20/jvmls-static-analysis/

- JVMLS: Rethinking Java String Concatenation
https://inside.java/2024/08/19/jvmls-string-concatention/

- JVMLS: Project Babylon - Code Reflection
https://inside.java/2024/08/14/jvmls-code-reflection/

- JVMLS: A Code Reflection Example - Translating Java to SPIR-V
https://inside.java/2024/08/16/jvmls-spir-v/

- JVMLS: Java in 2024 Keynote
https://inside.java/2024/08/12/jvmls-keynote/


~


As always, please ping me if you encounter issues with an early-access buil=
d. And see you next month for the Java 23 launch!

--David



--_000_SA1PR10MB7699C4C49E1C2E60D791C727FC882SA1PR10MB7699namp_
Content-Type: text/html; charset="Windows-1252"
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=3DWindows-1=
252">
<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">Welcome to the latest OpenJDK Quality Outreach update!<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">Everything is on track for the General Availability of Java 23 on=
 September 17th [1] as the JDK 23 Release Candidate builds (RC2 - builds 37=
) are now available [2]. And before
 shifting your attention to JDK 24, make sure to check the Heads-Up below a=
s it is related to an important JAXP update in JDK 23.<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 JVM Language Summit took place earlier this month in Santa Cl=
ara (California). During this unique conference, key updates around the Jav=
a platforms were presented and discussed.
 So, make sure to watch the JVMLS 2024 playlist [3] as videos are added reg=
ularly. And it's not really a surprise but Valhalla was a highly discussed =
topic. In his session [4], Brian Goetz (Java Language Architect) explained =
the proposed solution: value classes,
 null-restricted types, improved definite assignment analysis, and strict i=
nitialization. Around the same time-frame, Valhalla Early-Access builds imp=
lementing Value Classes and Objects were also made available [5], see the R=
elease Notes [6] for the details.
 As usual, feedback should be reported to the proper mailing list [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">[1]
<a href=3D"https://openjdk.org/projects/jdk/23/"><span style=3D"color:#4678=
86">https://openjdk.org/projects/jdk/23/</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://jdk.java.net/23/"><span style=3D"color:#467886">https://=
jdk.java.net/23/</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=3DPLX8CzqL3ArzUEYnTa6KYORR=
bP3nhsK0L1">
<span style=3D"color:#467886">https://www.youtube.com/playlist?list=3DPLX8C=
zqL3ArzUEYnTa6KYORRbP3nhsK0L1</span></a><o:p></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://www.youtube.com/watch?v=3DIF9l8fYfSnI"><span style=3D"co=
lor:#467886">https://www.youtube.com/watch?v=3DIF9l8fYfSnI</span></a><o:p><=
/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/valhalla/"><span style=3D"color:#467886">ht=
tps://jdk.java.net/valhalla/</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://openjdk.org/projects/valhalla/early-access"><span style=
=3D"color:#467886">https://openjdk.org/projects/valhalla/early-access</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://mail.openjdk.org/mailman/listinfo/valhalla-dev"><span st=
yle=3D"color:#467886">https://mail.openjdk.org/mailman/listinfo/valhalla-de=
v</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 23: Prepare for a More Restrictive JAXP Configu=
ration<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 platform supports XML processing with JAXP (Java APIs fo=
r XML Processing) that are based on a wide range of XML technologies and st=
andards, which can make them challenging
 to secure. To mitigate risks, JAXP offers comprehensive security features =
[8], but the default settings of some security features are not strict, mak=
ing them opt-in. To improve out-of-the-box security, future JDK releases wi=
ll make XML processing more restrictive
 by default and JDKs 21 to 23 help developers prepare for these changes.<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 21: JAXP Configuration File<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 21 added `$JAVA_HOME/conf/jaxp.properties` as the default JAX=
P configuration file, property settings in this file reflect the current, b=
uilt-in defaults for the JDK. JDK 21
 also added the system property `java.xml.config.file` for specifying the l=
ocation of a custom configuration file. For details, refer to JDK-8303530 [=
9] or the `java.xml` documentation [10].<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 23: Restrictive JAXP Configuration File Template<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 23 adds `$JAVA_HOME/conf/jaxp-strict.properties.template`, a =
JAXP configuration file template that specifies more restrictive XML proces=
sing settings. It is recommended to
 test applications on these more restrictive settings to prepare them for a=
 future JDK release that has them as default.<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 steps should be used to test an application with th=
at template:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">* copy the template file to a location outside of `$JAVA_HOME/con=
f`, e.g. `/&lt;my_path&gt;/jaxp-strict.properties`<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">* run the application with the system property `java.xml.config.f=
ile` set to the file's path, e.g. `java -Djava.xml.config.file=3D/&lt;my_pa=
th&gt;/jaxp-strict.properties myApp`<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 details, please refer to JDK-8330542 [11].<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://docs.oracle.com/en/java/javase/22/security/java-api-xml-=
processing-jaxp-security-guide.html#GUID-6E76FE41-A8C5-4F56-AB46-83A89B1E90=
4A">
<span style=3D"color:#467886">https://docs.oracle.com/en/java/javase/22/sec=
urity/java-api-xml-processing-jaxp-security-guide.html#GUID-6E76FE41-A8C5-4=
F56-AB46-83A89B1E904A</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://bugs.openjdk.org/browse/JDK-8303530"><span style=3D"colo=
r:#467886">https://bugs.openjdk.org/browse/JDK-8303530</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://docs.oracle.com/en/java/javase/21/docs/api/java.xml/modu=
le-summary.html#Conf">
<span style=3D"color:#467886">https://docs.oracle.com/en/java/javase/21/doc=
s/api/java.xml/module-summary.html#Conf</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[11]
<a href=3D"https://bugs.openjdk.org/browse/JDK-8330542"><span style=3D"colo=
r:#467886">https://bugs.openjdk.org/browse/JDK-8330542</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 24 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">The JDK 24 early-access builds 12 are available [12], and are pro=
vided under the GNU General Public License v2, with the Classpath Exception=
. The Release Notes are available here
 [13].<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 24 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-8335638: Calling VarHandle.{access-mode} methods reflective=
ly throws wrong exception<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8329471: Remove GTK2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8333772: Incorrect Kerberos behavior when udp_preference_li=
mit =3D 0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8304929: MethodTypeDesc throws an unchecked exception than =
ReflectiveOperationException =85<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-4966250: SSLSessionContext.setSessionTimeout() documentatio=
n could be updated<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8337506: Disable &quot;best-fit&quot; mapping on Windows co=
mmand line<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8336479: Provide Process.waitFor(Duration)<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8336999: Verification for resource area allocated data stru=
ctures in C2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8335480: Only deoptimize threads if needed when closing sha=
red arena<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8335939: Hide element writing across the ClassFile API<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8336489: Track scoped accesses in JVMCI compiled code<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8334492: DiagnosticCommands (jcmd) should accept %p in outp=
ut filenames and substitute PID<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8334495: Use FFM instead of jdk.internal.misc.Unsafe in jav=
a.desktop font implementation<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8333396: Use StringBuilder internally for java.text.Format.=
* formatting<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8336815: Several methods in java.net.Socket and ServerSocke=
t do not s=85<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 [14].<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">[12]
<a href=3D"https://jdk.java.net/24/"><span style=3D"color:#467886">https://=
jdk.java.net/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">[13]
<a href=3D"https://jdk.java.net/24/release-notes"><span style=3D"color:#467=
886">https://jdk.java.net/24/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">[14]
<a href=3D"https://github.com/openjdk/jdk/compare/jdk-24+7...jdk-24+12"><sp=
an style=3D"color:#467886">https://github.com/openjdk/jdk/compare/jdk-24+7.=
..jdk-24+12</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"># Project Loom New 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">The latest Loom early access builds (Builds 24-loom+3-33 -2024/7/=
27) are now available [15]. These builds, based on an incomplete version of=
 JDK 24, improve the implementation
 of Java monitors (synchronized methods) to work better with virtual thread=
s. These builds are intended for developers looking to &quot;kick the tires=
&quot; and provide feedback or bug reports. Feedback should be reported to =
the Loom mailing&nbsp; list &nbsp;[16] (subscription
 required).<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">[15]
<a href=3D"https://jdk.java.net/loom/"><span style=3D"color:#467886">https:=
//jdk.java.net/loom/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[16]
<a href=3D"http://mail.openjdk.org/mailman/listinfo/loom-dev"><span style=
=3D"color:#467886">http://mail.openjdk.org/mailman/listinfo/loom-dev</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 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 23 and 24 Runtime bui=
lt from openjdk/jfx [17]. These builds enable JavaFX application developers=
 to build and test their applications
 with JavaFX 23 and 24 on JDK 23 and 24 respectively. And although these bu=
ilds are designed to work with JDK 23 EA, they are also known to work with =
JDK 21 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 23 (Builds 27) are avail=
able [18], under the GNU General Public License, version 2, with the Classp=
ath Exception. And similarly, the latest
 early access builds of JavaFX 24 (Builds 4) are available here [19].<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">[17]
<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">[18]
<a href=3D"https://jdk.java.net/javafx23/"><span style=3D"color:#467886">ht=
tps://jdk.java.net/javafx23/</span></a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">[19]
<a href=3D"https://jdk.java.net/javafx24/"><span style=3D"color:#467886">ht=
tps://jdk.java.net/javafx24/</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">- JDK 23 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/2024/07/22/jdk23-g1-serial-=
parallel-gc-changes.html"><span style=3D"color:#467886">https://tschatzl.gi=
thub.io/2024/07/22/jdk23-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">- How to Read a JDK Enhancement Proposal<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/2024/08/01/newscast-74/"><span sty=
le=3D"color:#467886">https://inside.java/2024/08/01/newscast-74/</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">- JFR Event to Detect Invocations of Deprecated Methods<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://egahlin.github.io/2024/05/31/deprecated-event.=
html"><span style=3D"color:#467886">https://egahlin.github.io/2024/05/31/de=
precated-event.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">- JVMLS: Valhalla - Where Are We?<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://www.youtube.com/watch?v=3DIF9l8fYfSnI"><span s=
tyle=3D"color:#467886">https://www.youtube.com/watch?v=3DIF9l8fYfSnI</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">- JVMLS: An Opinionated Overview on Static Analysis for Java<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/2024/08/20/jvmls-static-analysis/"=
><span style=3D"color:#467886">https://inside.java/2024/08/20/jvmls-static-=
analysis/</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">- JVMLS: Rethinking Java String Concatenation<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/2024/08/19/jvmls-string-concatenti=
on/"><span style=3D"color:#467886">https://inside.java/2024/08/19/jvmls-str=
ing-concatention/</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">- JVMLS: Project Babylon - Code Reflection<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/2024/08/14/jvmls-code-reflection/"=
><span style=3D"color:#467886">https://inside.java/2024/08/14/jvmls-code-re=
flection/</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">- JVMLS: A Code Reflection Example - Translating Java to SPIR-V<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/2024/08/16/jvmls-spir-v/"><span st=
yle=3D"color:#467886">https://inside.java/2024/08/16/jvmls-spir-v/</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">- JVMLS: Java in 2024 Keynote<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/2024/08/12/jvmls-keynote/"><span s=
tyle=3D"color:#467886">https://inside.java/2024/08/12/jvmls-keynote/</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">~<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">As always, please ping me if you encounter issues with an early-a=
ccess build. And see you next month for the Java 23 launch!<o:p></o:p></spa=
n></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">--David<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>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_SA1PR10MB7699C4C49E1C2E60D791C727FC882SA1PR10MB7699namp_--


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


--===============2124000864702871450==
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

--===============2124000864702871450==--