<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Apple Color Emoji";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="en-BE" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">It is obviously JDK *21* that is in RDP2, not JDK 22!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">--David<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">quality-discuss <quality-discuss-retn@openjdk.org> on behalf of David Delabassee <david.delabassee@oracle.com><br>
<b>Date: </b>Friday, 28 July 2023 at 12:12<br>
<b>To: </b>quality-discuss@openjdk.org <quality-discuss@openjdk.org><br>
<b>Subject: </b>JDK 22 is in Rampdown Phase 2 | Annotation Processing Change Heads-up<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Welcome to the OpenJDK Quality Outreach
</span><span lang="EN-US" style="font-size:11.0pt;mso-fareast-language:EN-US">summer
</span><span style="font-size:11.0pt;mso-fareast-language:EN-US">update.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">JDK 21 is now in Rampdown Phase Two [1], its overall feature has been frozen a few weeks ago. Per the JDK Release Process [2] we have now turned our focus to P1 and P2 bugs, which
can be fixed with approval [3]. Late enhancements are still possible, with approval, but the bar is now extraordinarily high [4]. That also means that the JDK 21 Initial Release Candidates are fast approaching, i.e., August 10 [5]. So, and in addition to testing
your projects with the latest JDK 21 early-access builds, it is now also a good time to start testing with the JDK 22 early-access builds.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[1] https://mail.openjdk.org/pipermail/jdk-dev/2023-July/008034.html<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[2] https://openjdk.org/jeps/3<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[3] https://openjdk.org/jeps/3#Fix-Request-Process<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[4] https://openjdk.org/jeps/3#Late-Enhancement-Request-Process<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[5] https://openjdk.org/projects/jdk/21/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## Heads-up - JDK 21 & JDK 22: Note if implicit annotation processing is being used<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Annotation processing by javac is enabled by default, including when no annotation processing configuration options are present. We are considering disabling implicit annotation
processing by default in a future release, possibly as early as JDK 22 [6]. To alert javac users of this possibility, as of JDK 21 b29 and JDK 22 b04, javac prints a note if implicit annotation processing is being used [7]. The reported note is:<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> Annotation processing is enabled because one or more processors were<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> found on the class path. A future release of javac may disable
<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> annotation processing unless at least one processor is specified by<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> name (-processor), or a search path is specified (--processor-path,<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> --processor-module-path), or annotation processing is enabled
<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> explicitly (-proc:only, -proc:full).<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> Use -Xlint:-options to suppress this message.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> Use -proc:none to disable annotation processing.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Good build hygiene includes explicitly configuring annotation processing. To ease the transition to a different default policy in the future, the new-in-JDK-21 `-proc:full` javac
option requests the current default behavior of looking for annotation processors on the class path.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[6] https://bugs.openjdk.org/browse/JDK-8306819<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[7] https://bugs.openjdk.org/browse/JDK-8310061<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## Heads-up - JDK 22: JLine is now the Default Console Provider<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">In JDK 22, `System.console()` has been changed [8] to return a `Console` with enhanced editing features that improve the experience of programs that use the `Console` API. In addition,
`System.console()` now returns a `Console` object when the standard streams are redirected or connected to a virtual terminal. Prior to JDK 22, `System.console()` instead returned `null` for these cases. This change may impact code that checks the return from
`System.console()` to test if the JVM is connected to a terminal. If required, the `-Djdk.console=java.base` flag will restore the old behavior where the console is only returned when it is connected to a terminal. Starting JDK 22, one could also use the new
`Console.isTerminal()` method to test if the console is connected to a terminal.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[8] https://bugs.openjdk.org/browse/JDK-8308591<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## JDK 21 Early-Access Builds<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">The JDK 21 early-access builds 33 are available [9], and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here
[10] and the Javadoc here [11].<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[9] https://jdk.java.net/21/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[10] https://jdk.java.net/21/release-notes<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[11] https://download.java.net/java/early_access/jdk21/docs/api/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## JDK 22 Early-Access Builds<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">The JDK 22 early-access builds 8 are available [12], and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here
[13].<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[12] https://openjdk.org/projects/jdk/22<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[13] https://jdk.java.net/22/release-notes<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">### Changes in recent JDK 22 builds (b2-b8) that may be of interest:<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Note that this is only a curated list of changes, make sure to check [14] for additional changes.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8309882: LinkedHashMap adds an errant serializable field [Reported by Eclipse Collections]<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8312366: [arm32] Build crashes after JDK-8310233 [Reported by JaCoCo]<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8167252: Some of Charset.availableCharsets() does not contain itself [Reported by IntelliJ]<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8310061: Note if implicit annotation processing is being used<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8308591: JLine as the default Console provider<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8312019: Simplify and modernize java.util.BitSet.equals<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8227229: Deprecate the launcher -Xdebug/-debug flags that have not done anything since Java 6<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-6983726: Reimplement MethodHandleProxies.asInterfaceInstance<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8281658: Add a security category to the java -XshowSettings option<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8295894: Remove SECOM certificate that is expiring in September 2023<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8027711: Unify wildcarding syntax for CompileCommand and CompileOnly<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8282797: CompileCommand parsing errors should exit VM<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8305104: Remove the old core reflection implementation<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8310460: Remove jdeps -profile option<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8309032: jpackage does not work for module projects unless --module-path is specified<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8291065: Creating a VarHandle for a static field triggers class initialization<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8312072: Deprecate for removal the -Xnoagent option<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8304885: Reuse stale data to improve DNS resolver resiliency=<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8310047: Add UTF-32 based Charsets into StandardCharsets<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8302483: Enhance ZIP performance<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8300596: New System Property to Control the Maximum Size of Signature Files<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8294323: ASLR Support for CDS Archive<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8311038: Incorrect exhaustivity computation<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8312089: Simplify and modernize equals, hashCode, and compareTo in java.nio…<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8311188: Simplify and modernize equals and hashCode in java.text<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8300285: Enhance TLS data handling<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">- JDK-8302475: Enhance HTTP client file downloading<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[14] https://github.com/openjdk/jdk/compare/jdk-22%2B1...jdk-22%2B8<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## JavaFX Early-Access Builds<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">These are early access builds of the JavaFX 21 Runtime, built from openjdk/jfx [15]. They enable JavaFX application developers to build and test their applications with JavaFX 21
on JDK 21.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">The latest JavaFX 21 early-access builds (build 27 - 2023/7/21) are now available [16] with their related Javadoc [17]. Moreover, the initial JavaFX 22 early-access builds [18] are
now also available. These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception. Please send feedback to the openjfx-dev mailing list [19].<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[15] https://github.com/openjdk/jfx<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[16] https://jdk.java.net/javafx21/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[17] https://download.java.net/java/early_access/javafx21/docs/api/overview-summary.html<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[18] https://jdk.java.net/javafx22/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">[19] http://mail.openjdk.org/mailman/listinfo/openjfx-dev<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## Topics of Interest:<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Foreign Function & Memory API Summer Update<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">https://mail.openjdk.org/pipermail/panama-dev/2023-July/019510.html<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">What's Arriving for JFR in JDK 21 - Inside Java Newscast #53<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">https://inside.java/2023/07/20/java-21-jfr/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Java's Startup Booster: CDS - Stack Walker<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">https://inside.java/2023/07/11/javas-startup-booster-cds/<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">## July 2023 Critical Patch Update Released<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">As part of the July 2023 CPU, Oracle released OpenJDK 20.0.2, JavaFX 20.0.2, JDK 20.0.2, JDK 17.0.8 LTS, JDK 11.0.20 LTS, JDK 8u381, as well as JDK 8u381-perf.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">~<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">We still have a few days before JDK 21 enters into the Release Candidate phase so please make sure to test your projects on the latest early-access builds and report any issue.<span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">PS: Make sure to enjoy the summer and recharge your batteries!
</span><span style="font-size:11.0pt;font-family:"Apple Color Emoji";mso-fareast-language:EN-US">😎</span><span style="font-size:11.0pt;mso-ligatures:standardcontextual;mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"> <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">--David <span style="mso-ligatures:standardcontextual"><o:p></o:p></span></span></p>
</div>
</body>
</html>