JDK 22 Feature Freeze!
David Delabassee <[email protected]> Wed, 13 Dec 2023 16:37:19 +0000
| Newsgroups | gmane.comp.lang.jython.devel |
|---|---|
| Message-ID | <SA1PR10MB76998B1C35E3C5EDE1F258EDFC8DA@SA1PR10MB7699.namprd10.prod.outlook.com> |
--===============4181638035576004858==
Content-Language: en-GB
Content-Type: multipart/alternative;
boundary="_000_SA1PR10MB76998B1C35E3C5EDE1F258EDFC8DASA1PR10MB7699namp_"
--_000_SA1PR10MB76998B1C35E3C5EDE1F258EDFC8DASA1PR10MB7699namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Welcome to the final OpenJDK Quality Outreach update of 2023!
JDK 22, scheduled for General Availability on March 19, 2024, is now in Ram=
pdown Phase One (RDP1) [1]. At this point, the overall JDK 22 feature set i=
s frozen (see the final list of JEPs integrated into JDK 22 below) and only=
low-risk enhancements might still be considered. The coming weeks should b=
e leveraged to identify and resolve as many issues as possible, i.e. before=
JDK 22 enters the Release Candidates phase in early February 2024. So, we =
count on you to test your projects and help us make JDK 22 another solid re=
lease!
[1] https://mail.openjdk.org/pipermail/jdk-dev/2023-December/008535.html
## JDK 22 Early-Access Builds
JDK 22 Early-Access builds 27 are now available [2] with the Release Notes =
here [3]. Those builds are provided under the GNU GPL v2, with the Classpat=
h Exception.
### JEPs integrated into JDK 22:
- JEP 423: Region Pinning for G1
- JEP 447: Statements before super(=85) (Preview)
- JEP 454: Foreign Function & Memory API
- JEP 456: Unnamed Variables & Patterns
- JEP 457: Class-File API (Preview)
- JEP 458: Launch Multi-File Source-Code Programs
- JEP 459: String Templates (2nd Preview)
- JEP 460: Vector API (7th Incubator)
- JEP 461: Stream Gatherers (Preview)
- JEP 462: Structured Concurrency (2nd Preview)
- JEP 463: Implicitly Declared Classes and Instance Main Methods (2nd Previ=
ew)
- JEP 464: Scoped Values (2nd Preview)
### Changes in recent JDK 22 builds that may be of interest:
- JDK-8318646: Integer#parseInt("") throws empty NumberFormatException mess=
age [Reported by Apache Lucene]
- JDK-8318082: ConcurrentModificationException from IndexWriter [Reported b=
y JOOQ]
- JDK-8319450: New methods java.net.InetXAddress.ofLiteral() miss @since ta=
g [Reported by JaCoCo]
- JDK-8321164: javac w/ annotation processor throws AssertionError: Filling=
jrt:/=85 during =85 [Reported by Hibernate]
- JDK-8310644: Make panama memory segment close use async handshakes
- JDK-8302233: HSS/LMS: keytool and jarsigner changes
- JDK-8211238: New @Deprecated JFR event
- JDK-8319124: Update XML Security for Java to 3.0.3
- JDK-8306055: Add a built-in Catalog to JDK XML module
- JDK-8319244: implement JVMTI handshakes support for virtual threads
- JDK-8319196: ExecutableElement.getReceiverType doesn't return receiver ty=
pes for methods loaded from bytecode
- JDK-8318759: Add four DigiCert root certificates
- JDK-8317374: Add Let's Encrypt ISRG Root X2
- JDK-8306116: Update CLDR to Version 44.0
- JDK-8287843: File::getCanonicalFile doesn't work for \\?\C:\</?\C:\> styl=
e paths DOS device paths
- JDK-8288899: java/util/concurrent/ExecutorService/CloseTest.java failed w=
ith "InterruptedException: sleep interrupted"
- JDK-8311596: Add separate system properties for TLS server and client for=
maximum chain length
- JDK-8318160: javac does not reject private method reference with type-var=
iable receiver
- JDK-8305753: Allow JIT compilation for -Xshare:dump
- JDK-8187591: -Werror turns incubator module warning to an error
- JDK-8318096: Introduce AsymmetricKey interface with a getParams method
- JDK-8319174: Enhance robustness of some j.m.BigInteger constructors
- JDK-8288899: Changes to java.util.concurrent.ForkJoinPool and ForkJoinTas=
k
- JDK-8272215: Add InetAddress methods for parsing IP address literals
- JDK-8316996: Catalog API Enhancement: add a factory method
- JDK-8305814: Update Xalan Java to 2.7.3
- JDK-8313643: Update HarfBuzz to 8.2.2
- JDK-8316030: Update Libpng to 1.6.40
Note: A more comprehensive list of changes can be found here [4].
[2] https://jdk.java.net/22/
[3] https://jdk.java.net/22/release-notes
[4] https://github.com/openjdk/jdk/compare/jdk-22+20...jdk-22+27
## JDK 23 Early-Access Builds
Given that JDK 22 is in Rampdown Phase, the initial JDK 23 EA builds are no=
w also available [5]. These EA builds are provided under the GNU General Pu=
blic License v2, with the Classpath Exception.
[5] https://jdk.java.net/23/
## JavaFX 22 Early-Access Builds
These are early-access builds of the JavaFX 22 [8] Runtime built from openj=
dk/jfx [9]. This allows JavaFX application developers to build and test the=
ir applications with JavaFX 22 on JDK 22. The JavaFX 22 API Javadocs are al=
so available [10].
The JavaFX runtime is delivered as an SDK and as a set of jmods for each pl=
atform. You can use the SDK to compile and run JavaFX applications. You can=
use the jmods with jlink to create a JDK that includes the JavaFX modules,=
and optionally, your modular application. JavaFX 22 is designed to work wi=
th JDK 22,but it is known to work with JDK 17 and later versions.
[8] https://jdk.java.net/javafx22/
[9] https://github.com/openjdk/jfx
[10] https://download.java.net/java/early_access/javafx22/docs/api/overview=
-summary.html
## Topics of Interest:
- Java 22 Unpacking - Inside Java Newscast
https://inside.java/2023/12/07/newscast-59/
- Java On The GPU - Inside Java Newscast
https://inside.java/2023/11/16/newscast-58/
- Better Java Streams with Gatherers - Inside Java Newscast
https://inside.java/2023/11/02/newscast-57/
- Another VS Code Extension for Java
https://inside.java/2023/12/03/java-vscode-extension/
- Introducing Generational ZGC
https://inside.java/2023/11/28/gen-zgc-explainer/
- Improved Emoji Support in Java 21 - Sip of Java
https://inside.java/2023/11/20/sip089/
- JDK Tool Access from JShell - Sip of Java
https://inside.java/2023/10/23/sip085/
- Optimizing your equals() methods with Pattern Matching - JEP Cafe
https://inside.java/2023/11/10/jepcafe21/
- Package a JavaFX Application as a Platform Specific Executable
https://inside.java/2023/11/14/package-javafx-native-exec/
- Open sourcing Jipher for FIPS regulated environments
https://blogs.oracle.com/developers/post/open-sourcing-jipher
- In-memory HttpServer Handler
https://inside.java/2023/11/06/in-memory-http-server-handler/
- Java Architects Answer Your Questions
https://inside.java/2023/10/26/ama-java-architects/
- Hazelcast Jet on Generational ZGC
https://kstefanj.github.io/2023/11/07/hazelcast-on-generational-zgc.html
~
As usual, let us know if you find any quirks while testing your project(s) =
with the latest JDK early-access builds. And as the year-end is approaching=
, I'd like to thank you for being part of the OpenJDK Quality Outreach Prog=
ram. I hope that you will disconnect a bit to spend time with your family a=
nd your friends. See you in 2024 with Java 22 and Java 23!
--_000_SA1PR10MB76998B1C35E3C5EDE1F258EDFC8DASA1PR10MB7699namp_
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:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
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"#0563C1" vlink=3D"#954F72" 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 final OpenJDK Quality Outreach update of 2023!<o:p=
></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">JDK 22, scheduled for General Availability on March 19, 2024, is =
now in Rampdown Phase One (RDP1) [1]. At this point, the overall JDK 22 fea=
ture set is frozen (see the final list
of JEPs integrated into JDK 22 below) and only low-risk enhancements might=
still be considered. The coming weeks should be leveraged to identify and =
resolve as many issues as possible, i.e. before JDK 22 enters the Release C=
andidates phase in early February
2024. So, we count on you to test your projects and help us make JDK 22 an=
other solid release!<o:p></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">[1]
<a href=3D"https://mail.openjdk.org/pipermail/jdk-dev/2023-December/008535.=
html"><span style=3D"color:#0563C1">https://mail.openjdk.org/pipermail/jdk-=
dev/2023-December/008535.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> </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">## JDK 22 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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">JDK 22 Early-Access builds 27 are now available [2] with the Rele=
ase Notes here [3]. Those builds are provided under the GNU GPL v2, with th=
e Classpath Exception.<o:p></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">### JEPs integrated into JDK 22:<o:p></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">- JEP 423: Region Pinning for G1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 447: Statements before super(=85) (Preview)<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 454: Foreign Function & Memory API<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 456: Unnamed Variables & Patterns<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 457: Class-File API (Preview)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 458: Launch Multi-File Source-Code Programs<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 459: String Templates (2nd Preview)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 460: Vector API (7th Incubator)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 461: Stream Gatherers (Preview)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 462: Structured Concurrency (2nd Preview)<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 463: Implicitly Declared Classes and Instance Main Methods =
(2nd Preview)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JEP 464: Scoped Values (2nd Preview)<o:p></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">### Changes in recent JDK 22 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"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8318646: Integer#parseInt("") throws empty Number=
FormatException message [Reported by Apache Lucene]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8318082: ConcurrentModificationException from IndexWriter [=
Reported by JOOQ]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319450: New methods java.net.InetXAddress.ofLiteral() miss=
@since tag [Reported by JaCoCo]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8321164: javac w/ annotation processor throws AssertionErro=
r: Filling jrt:/=85 during =85 [Reported by Hibernate]<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8310644: Make panama memory segment close use async handsha=
kes<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8302233: HSS/LMS: keytool and jarsigner changes<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8211238: New @Deprecated JFR event<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319124: Update XML Security for Java to 3.0.3<o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8306055: Add a built-in Catalog to JDK XML module<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319244: implement JVMTI handshakes support for virtual thr=
eads<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319196: ExecutableElement.getReceiverType doesn't return r=
eceiver types for methods loaded from bytecode<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8318759: Add four DigiCert root certificates<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8317374: Add Let's Encrypt ISRG Root X2<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8306116: Update CLDR to Version 44.0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8287843: File::getCanonicalFile doesn't work for
<a href=3D"/?\C:\"><span style=3D"color:#0563C1">\\?\C:\</span></a> style p=
aths DOS device paths<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8288899: java/util/concurrent/ExecutorService/CloseTest.jav=
a failed with "InterruptedException: sleep interrupted"<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8311596: Add separate system properties for TLS server and =
client for maximum chain length<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8318160: javac does not reject private method reference wit=
h type-variable receiver<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8305753: Allow JIT compilation for -Xshare:dump<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8187591: -Werror turns incubator module warning to an error=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8318096: Introduce AsymmetricKey interface with a getParams=
method<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8319174: Enhance robustness of some j.m.BigInteger construc=
tors<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8288899: Changes to java.util.concurrent.ForkJoinPool and F=
orkJoinTask<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8272215: Add InetAddress methods for parsing IP address lit=
erals<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8316996: Catalog API Enhancement: add a factory method<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8305814: Update Xalan Java to 2.7.3<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8313643: Update HarfBuzz to 8.2.2<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK-8316030: Update Libpng to 1.6.40<o:p></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">Note: A more comprehensive list of changes can be found here [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> </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/22/"><span style=3D"color:#0563C1">https://=
jdk.java.net/22/</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://jdk.java.net/22/release-notes"><span style=3D"color:#056=
3C1">https://jdk.java.net/22/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">[4]
<a href=3D"https://github.com/openjdk/jdk/compare/jdk-22+20...jdk-22+27"><s=
pan style=3D"color:#0563C1">https://github.com/openjdk/jdk/compare/jdk-22+2=
0...jdk-22+27</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> </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">## JDK 23 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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">Given that JDK 22 is in Rampdown Phase, the initial JDK 23 EA bui=
lds are now also available [5]. These EA builds are provided under the GNU =
General Public License v2, with the
Classpath Exception.<o:p></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">[5]
<a href=3D"https://jdk.java.net/23/"><span style=3D"color:#0563C1">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"><o:p> </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">## JavaFX 22 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> </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 22 [8] Runtime built =
from openjdk/jfx [9]. This allows JavaFX application developers to build an=
d test their applications with JavaFX
22 on JDK 22. The JavaFX 22 API Javadocs are also available [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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">The JavaFX runtime is delivered as an SDK and as a set of jmods f=
or each platform. You can use the SDK to compile and run JavaFX application=
s. You can use the jmods with jlink
to create a JDK that includes the JavaFX modules, and optionally, your mod=
ular application. JavaFX 22 is designed to work with JDK 22,but it is known=
to work with JDK 17 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> </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://jdk.java.net/javafx22/"><span style=3D"color:#0563C1">ht=
tps://jdk.java.net/javafx22/</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://github.com/openjdk/jfx"><span style=3D"color:#0563C1">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">[10]
<a href=3D"https://download.java.net/java/early_access/javafx22/docs/api/ov=
erview-summary.html">
<span style=3D"color:#0563C1">https://download.java.net/java/early_access/j=
avafx22/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> </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">## 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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Java 22 Unpacking - Inside Java Newscast<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/2023/12/07/newscast-59/"><span sty=
le=3D"color:#0563C1">https://inside.java/2023/12/07/newscast-59/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Java On The GPU - Inside Java Newscast<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/2023/11/16/newscast-58/"><span sty=
le=3D"color:#0563C1">https://inside.java/2023/11/16/newscast-58/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Better Java Streams with Gatherers - Inside Java Newscast<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/2023/11/02/newscast-57/"><span sty=
le=3D"color:#0563C1">https://inside.java/2023/11/02/newscast-57/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Another VS Code Extension 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/2023/12/03/java-vscode-extension/"=
><span style=3D"color:#0563C1">https://inside.java/2023/12/03/java-vscode-e=
xtension/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Introducing Generational ZGC<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/2023/11/28/gen-zgc-explainer/"><sp=
an style=3D"color:#0563C1">https://inside.java/2023/11/28/gen-zgc-explainer=
/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Improved Emoji Support in Java 21 - Sip of Java<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/2023/11/20/sip089/"><span style=3D=
"color:#0563C1">https://inside.java/2023/11/20/sip089/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- JDK Tool Access from JShell - Sip of 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/2023/10/23/sip085/"><span style=3D=
"color:#0563C1">https://inside.java/2023/10/23/sip085/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Optimizing your equals() methods with Pattern Matching - JEP Ca=
fe<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/2023/11/10/jepcafe21/"><span style=
=3D"color:#0563C1">https://inside.java/2023/11/10/jepcafe21/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Package a JavaFX Application as a Platform Specific Executable<=
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/2023/11/14/package-javafx-native-e=
xec/"><span style=3D"color:#0563C1">https://inside.java/2023/11/14/package-=
javafx-native-exec/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Open sourcing Jipher for FIPS regulated environments<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/developers/post/open-sourcing=
-jipher"><span style=3D"color:#0563C1">https://blogs.oracle.com/developers/=
post/open-sourcing-jipher</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- In-memory HttpServer Handler<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/2023/11/06/in-memory-http-server-h=
andler/"><span style=3D"color:#0563C1">https://inside.java/2023/11/06/in-me=
mory-http-server-handler/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Java Architects Answer Your Questions<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/2023/10/26/ama-java-architects/"><=
span style=3D"color:#0563C1">https://inside.java/2023/10/26/ama-java-archit=
ects/</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> </o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none;mso-fareast-langua=
ge:EN-GB">- Hazelcast Jet on Generational ZGC<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://kstefanj.github.io/2023/11/07/hazelcast-on-gen=
erational-zgc.html"><span style=3D"color:#0563C1">https://kstefanj.github.i=
o/2023/11/07/hazelcast-on-generational-zgc.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> </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></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>
</div>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none">As usual, let us =
know if you find any quirks while testing your project(s) with the latest J=
DK early-access builds. And as the year-end is approaching, I'd like to tha=
nk you for being part of the OpenJDK
Quality Outreach Program. I hope that you will disconnect a bit to spend t=
ime with your family and your friends. See you in 2024 with Java 22 and Jav=
a 23!</span><o:p></o:p></p>
</div>
</body>
</html>
--_000_SA1PR10MB76998B1C35E3C5EDE1F258EDFC8DASA1PR10MB7699namp_--
--===============4181638035576004858==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============4181638035576004858==
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
--===============4181638035576004858==--