|[jetty-dev] JDK 18 General Availability, and oracle-actions/setup-java|
Greetings!JDK 18 has been released (General Availability) on March 22nd as planned, the release cadence is working like clockwork! As a small token of gratitude, some of you have been specifically acknowledged in the "The Arrival of Java 18" announcement . On behalf of the entire team, let me extend our thanks to all of you.
With JDK 18 released, the focus should now be on making sure your project(s) compile and work on JDK 19. As always, if you face any issue with early-access builds of JDK 19 please let us know. To help you in this task, we have just released a GitHub action to install the OpenJDK Early-Access builds. For more information, please check the heads-up below.
I'll conclude with a short teaser, i.e. JavaOne is Back!  Stay tuned for more details.
 https://inside.java/2022/03/22/the-arrival-of-java18/  https://www.oracle.com/cloudworld/javaone/ ## Heads-Up: oracle-actions/setup-javaTo help you test your project(s), we have released a GitHub Action  to download and install various JDK builds produced by Oracle. In addition to the latest OpenJDK GA builds (GPL v2 W/CPE) and the Oracle JDK builds (NFTC license), this action can also download and install OpenJDK early-access builds, and early-access builds of OpenJDK projects (ex. Project Loom, Project Valhalla, etc.).
When doing tests using EA builds, it is key to always use the upstream EA builds from jdk.java.net as issues should be logged against those upstream builds, and ideally against a specific build version. This GitHub action is actively following the OpenJDK EA builds releases. Please make sure to check the announcement  for more details, and short FAQ.
To help you isolate regression between different EA builds, we are working to add support for archived builds. If you have feedback, please either issue the Issue tracker  or just send me a mail.
 https://inside.java/2022/03/11/setup-java/  https://github.com/oracle-actions/setup-java/issues ## General Availability of Java 18 / JDK 18JDK 18 is now Generally Available . The OpenJDK builds which are provided under the GNU General Public License v2, with the Classpath Exception are available , the JDK 18 Release Notes are also available .
 https://mail.openjdk.java.net/pipermail/jdk-dev/2022-March/006458.html  https://jdk.java.net/18/  https://jdk.java.net/18/release-notesAlong with hundreds of smaller enhancements and over a thousand bug fixes, JDK 18 includes following JEPs:
- JEP 400: UTF-8 by Default - JEP 408: Simple Web Server - JEP 413: Code Snippets in Java API Documentation - JEP 416: Reimplement Core Reflection with Method Handles - JEP 417: Vector API (Third Incubator) - JEP 418: Internet-Address Resolution SPI - JEP 419: Foreign Function & Memory API (Second Incubator) - JEP 420: Pattern Matching for switch (Second Preview) - JEP 421: Deprecate Finalization for RemovalThanks to everyone who contributed to JDK 18, whether by designing and implementing features or enhancements, by fixing bugs, or by downloading and testing the early-access builds.
## JDK 19 Early-Access buildsJDK 19 Early-Access builds 15 are now available , and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are also available .
 https://jdk.java.net/19/  https://jdk.java.net/19/release-notes ### JEPs targeted to JDK 19, so far: - JEP 422: Linux/RISC-V Port https://openjdk.java.net/jeps/422 ### Recent changes that maybe of interest: - JDK-8283415: Update java.lang.ref to use sealed classes - JDK-8280494: (D)TLS signature schemes - JDK-8282081: java.time.DateTimeFormatter: wrong definition of symbol F - JDK-8281181: Do not use CPU Shares to compute active processor count - JDK-7192189: Support endpoint identification algorithm in RFC 6125 - JDK-8277474: jarsigner does not check if algorithm parameters are disabled- JDK-8280357: If the users home directory is invalid, system property user.home is set to $HOME
- JDK-8277204: Implement PAC-RET branch protection on Linux/AArch64 - JDK-8282411: Add useful predicates to ElementKind - JDK-8282131: java.time.ZoneId should be a sealed abstract class - JDK-8281375: Accelerate bitCount operation for AVX2 and AVX512 target ## Topics of Interest: - “Java 18 is Here!” - Inside Java Podcast https://inside.java/2022/03/22/podcast-023/ - “The Simple Web Server” - Inside Java Podcast https://inside.java/2022/03/04/podcast-022/ - “Finalization Deprecation” - Inside Java Podcast https://inside.java/2022/01/12/podcast-021/ - All About JDK 18 - Inside Java Newscast https://inside.java/2022/03/10/insidejava-newscast-021/ - JDK 18 - Security Enhancements https://seanjmullan.org/blog/2022/03/23/jdk18 - JDK 18 - Programmer's Guide to Snippets https://docs.oracle.com/en/java/javase/18/code-snippet/index.html - JDK 18 - G1/Parallel/Serial GC improvements https://tschatzl.github.io/2022/03/14/jdk18-g1-parallel-gc-changes.html - “Java Language Futures: Spring 2022 Edition” (video) https://www.youtube.com/watch?v=m7Ypbw-xVRo - Project Panama : `jextract` Standalone Repository https://mail.openjdk.java.net/pipermail/panama-dev/2022-March/016632.htmlAgain, let us know if you find any issues while testing your project(s) on the latest JDK Early Access builds. Thanks for your support!
Back to the top