Welcome to the final OpenJDK Quality Outreach update of 2023!

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 feature 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 Candidates phase in early February 2024. So, we count on 
you to test your projects and help us make JDK 22 another solid release!

[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 Classpath 
Exception.

### JEPs integrated into JDK 22:

- JEP 423: Region Pinning for G1
- JEP 447: Statements before super(…) (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 Preview)
- JEP 464: Scoped Values (2nd Preview)

### Changes in recent JDK 22 builds that may be of interest:

- JDK-8318646: Integer#parseInt("") throws empty NumberFormatException message 
[Reported by Apache Lucene]
- JDK-8318082: ConcurrentModificationException from IndexWriter [Reported by 
JOOQ]
- JDK-8319450: New methods java.net.InetXAddress.ofLiteral() miss @since tag 
[Reported by JaCoCo]
- JDK-8321164: javac w/ annotation processor throws AssertionError: Filling 
jrt:/… during … [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 types 
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:\> style 
paths DOS device paths
- JDK-8288899: java/util/concurrent/ExecutorService/CloseTest.java failed with 
"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-variable 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 ForkJoinTask
- 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 now 
also available [5]. These EA builds are provided under the GNU General Public 
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 
openjdk/jfx [9]. This allows JavaFX application developers to build and test 
their applications with JavaFX 22 on JDK 22. The JavaFX 22 API Javadocs are 
also available [10].

The JavaFX runtime is delivered as an SDK and as a set of jmods for each 
platform. 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 with 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 Program. I 
hope that you will disconnect a bit to spend time with your family and your 
friends. See you in 2024 with Java 22 and Java 23!

Reply via email to