Greetings David,

Thanks a lot for the updates! As per your request, on behalf of Apache CXF 
project I would like to 
confirm that JDK-21 is already fully supported. Thank you!
 
Best Regards,
    Andriy Redko 

> Greetings!

> JDK 21 has been released (General Availability) on September 19th as planned. 
> You can find "The Arrival of Java 21" announcement here [1], and some 
> additional Java 21 materials in the "Topics of Interest" section below. On 
> behalf of the entire Java team, let me send our thanks to all of you. Through 
> your active participation in this program, you are helping shape the Java 
> platform!

> Needless to say, that Java 21 is an important release, so may I ask you to 
> send me a brief email with the Java 21 support status of your project(s): 
> Already supported - Plan to support short-term - Don't plan to support 
> short-term ?

> And now that JDK 21 is out, let's shift our attention to JDK 22 which will 
> enter the Rampdown Phase in less than 50 days on December 7 [2].

> I want to conclude this update by briefly mentioning three different 
> initiatives to are relevant to this group as they are, in their own way and 
> at various levels, contributing to adopt newer Java releases more rapidly: 
> the Class-File API, Oracle's Java Platform extension for VS Code, and the 
> Java Playground.

> ### The Class-File API

> The Class-File API is a new standard API for parsing, generating, and 
> transforming Java class files. One of its unique aspects is that it will 
> co-evolve with the class-file format, which overtime will greatly reduce the 
> friction of implementing new class-file features. With the fast-paced 
> evolution of the Java platform, this was much-needed. This API should soon be 
> previewed and as it matures, we expect the JDK to switch from using various 
> custom class-file libraries to this standard API. We also expect that 
> overtime frameworks relying on bytecode manipulation will also benefit from 
> using this new JDK class-file library. For more information, please check 
> this recent Newscast [3] for an overview, Brian Goetz's JVMLS session [4] for 
> more details and design considerations, and JEP 457: Class-File API (Preview) 
> [5] for the technical details.

> ### Oracle's Java Platform extension for Visual Studio Code

> Oracle has just announced [6] a new Visual Studio Code extension for Java 
> developers. Unlike other VS Code extensions, this new extension is using 
> under the hood the `javac` compiler for code editing and compilation, and 
> OpenJDK's debugger interface for debugging. This enables us to offer VS Code 
> IDE support for new JDK features as soon as they are introduced, even during 
> JDK Early Access phases. To this effect, this VS Code Extension will support 
> the current JDK releases as well as the next upcoming JDK version. For more 
> information, please check the announcement [6].

> ### The Java Playground

> The Java Playground [7] is an online sandbox that helps testing and exploring 
> new Java language features. No setup required, just type your Java snippet in 
> your browser and run it! Right now, the Playground is using Java 21 with 
> Preview Features enabled, and it will switch to a new Java version as soon as 
> there is a new Java language features integrated in OpenJDK Early-Access 
> builds. The Playground is focusing mostly on Project Amber and is certainly 
> not mean to be some sort of a lightweight online-IDE, it is instead a 
> learning tool to play with new Java language feature shortly after they have 
> been integrated into the platform.

> [1] https://inside.java/2023/09/19/the-arrival-of-java-21/
> [2] https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008269.html
> [3] https://www.youtube.com/watch?v=bQ2Rwpyj_Ks
> [4] https://www.youtube.com/watch?v=pcg-E_qyMOI
> [5] https://openjdk.org/jeps/457
> [6] https://inside.java/2023/10/18/announcing-vscode-extension/
> [7] https://dev.java/playground


> ## Heads-Up - JDK 22: Implicit Annotation Processing Behavior Change

> As discussed in the July 2023 Quality Outreach update [8], starting in JDK 21 
> javac emits a note if _implicit_ annotation processing is being used, that 
> is, if one or more annotation processors are found and run from the class 
> path when no explicit annotation processing configuration options are used.

> The note is reported since, quoting from the note text: "A future release of 
> javac may disable annotation processing unless at least one processor is 
> specified by name (-processor), or a search path is specified 
> (--processor-path, --processor-module-path), or annotation processing is 
> enabled explicitly (-proc:only, -proc:full)."

> That future version of javac has arrived in JDK 22 b19+ with JDK-8306819 
> ("Consider disabling the compiler's default active annotation processing"). 
> In the situation where a note was emitted in JDK 21, in JDK 22 no note is 
> emitted, and annotation processors are *not* run. To restore the previous 
> behavior with respect to running annotation processors, add the '-proc:full' 
> javac option.

> Feedback on the annotation processing policy change can be sent to 
> compiler-dev [9].

> [8] https://mail.openjdk.org/pipermail/quality-discuss/2023-July/001122.html
> [9] https://mail.openjdk.org/mailman/listinfo/compiler-dev


> ## JDK 21 General Availability

> JDK 21, the reference implementation of Java 21, is now Generally Available 
> [10]. The OpenJDK GA 21.0.1 builds are available [11], and are provided under 
> the GNU General Public License v2, with the Classpath Exception. The Release 
> Notes [12] and the Javadocs [13] are also available.

> [10] https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008267.html
> [11] https://jdk.java.net/21/
> [12] https://jdk.java.net/21/release-notes
> [13] https://docs.oracle.com/en/java/javase/21/docs/api/index.html


> ## JavaFX 21 GA Builds & JavaFX 22 EA Builds

> Open-source builds of JavaFX 21 are now Generally Available [14], under the 
> GNU General Public License, version 2, with the Classpath Exception. The 
> Release Notes [15], and the JavaFX 21 API Javadocs [16] are also available.

> 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 21 is designed to work with 
> JDK 21, but it is known to work with JDK 17 and later versions.

> In addition, the early access builds of the JavaFX 22 Runtime (builds 12) are 
> also available [17]. They enable JavaFX application developers to build and 
> test their applications with JavaFX 22 on JDK 22 EA.

> [14] https://jdk.java.net/javafx21/
> [15] https://github.com/openjdk/jfx/blob/jfx21/doc-files/release-notes-21.md
> [16] 
> https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/docs/api/index.html
> [17] https://jdk.java.net/javafx22/


> ## JDK 22 Early-Access Builds

> The latest Early-Access builds 20 (2023/10/19) are available [18], and are 
> provided under the GNU General Public License v2, with the Classpath 
> Exception. The Release Notes are available here [19].

> Changes in recent JDK 22 builds (b12-b20) that may be of interest:
> (Note that this is only a curated list of changes, make sure to check [20] 
> for additional changes.)

> - JDK-8306819: Consider disabling the compiler's default active annotation …
> - JDK-8316691: Heap dump: separate stack traces for mounted virtual threads …
> - JDK-8317603: Improve exception messages thrown by sun.nio.ch.Net native m…
> - JDK-8312522: Implementation of Foreign Function & Memory API
> - JDK-8296581: Better system proxy support
> - JDK-8316994: Avoid modifying ClassLoader and Module objects during -Xshar…
> - JDK-8316970: Add internal annotation to mark restricted methods
> - JDK-8301686: TLS 1.3 handshake fails if server_name doesn't match resumin…
> - JDK-8268622: Performance issues in javac Name class
> - JDK-8317246: Cleanup java.net.URLEncoder and URLDecoder use of file.encod…
> - JDK-8311084: Add typeSymbol() API for applicable constant pool entries
> - JDK-8316229: Enhance class initialization logging
> - JDK-8315771: [JVMCI] Resolution of bootstrap methods with int[] static 
> arguments
> - JDK-8316681: Rewrite URLEncoder.encode to use small reusable buffers
> - JDK-8315810: Reimplement 
> sun.reflect.ReflectionFactory::newConstructorForSerialization with method 
> handles
> - JDK-8296246: Update Unicode Data Files to Version 15.1.0
> - JDK-8316160: Remove 
> sun.misc.Unsafe.{shouldBeInitialized,ensureClassInitialized}
> - JDK-8313452: Improve Classfile API attributes handling safety
> - JDK-8314774: Optimize URLEncoder
> - JDK-8246280: Refine API to model sealed classes and interfaces in 
> javax.lang.model
> - JDK-8314960: Add Certigna Root CA
> - JDK-8306632: Add a JDK Property for specifying DTD support
> - JDK-8315938: Deprecate for removal Unsafe methods that have standard APIs 
> for many releases
> - JDK-8041488: Locale-Dependent List Patterns
> - JDK-8311939: Excessive allocation of Matcher.groups array
> - JDK-8314569: (fs) Improve normalization of UnixPath for input with trailing 
> slashes
> - JDK-8314611: Provide more explicative error message parsing Currencies
> - JDK-8315117: Update Zlib Data Compression Library to Version 1.3
> - JDK-8313804: JDWP support for -Djava.net.preferIPv6Addresses=system
> - JDK-8316681: Rewrite URLEncoder.encode to use small reusable buffers

> [18] https://jdk.java.net/22/
> [19] https://jdk.java.net/22/release-notes
> [20] https://github.com/openjdk/jdk/compare/jdk-22%2B12...jdk-22%2B20


> ## New Jextract Early-Access Builds

> Jextract mechanically generates Java bindings from native library headers. 
> New Jextract EA builds are now available (Build 21-jextract+1-2 (2023/9/25)) 
> [21], those EA builds are based on JDK 21 and are intended for expert users.

> [21] https://jdk.java.net/jextract/


> ## Topics of Interest:

> Java 21… and Beyond - Brian Goetz Devoxx 2023 Keynote
> https://inside.java/2023/10/14/java-21-and-beyond/

> JDK 21 Security Enhancements
> https://seanjmullan.org/blog/2023/09/22/jdk21

> With Java 21, Your Code Runs Even Faster but How is that Possible?
> https://inside.java/2023/10/06/devoxx-your-code-runs-even-faster/

> My Favorite JDK 21 Feature: Javadoc Search URL
> https://stuartmarks.wordpress.com/2023/09/22/my-favorite-jdk-21-feature-javadoc-search-url/

> Upgrading from Java 17 to 21 #RoadTo21
> https://inside.java/2023/08/27/roadto21-upgrade/

> Java 21 API Changes #RoadTo21
> https://inside.java/2023/09/10/roadto21-api/

> Java 21 Security #RoadTo21
> https://inside.java/2023/09/13/roadto21-security/

> Java 21 Tool Enhancements: Better Across the Board #RoadTo21
> https://inside.java/2023/09/06/roadto21-performance/

> Java 21 JVM and GC Improvements #RoadTo21
> https://inside.java/2023/09/03/roadto21-performance/

> Java 21 Brings Full Pattern Matching #RoadTo21
> https://inside.java/2023/09/17/roadto21-pattern-matching/

> Java 21 new feature: Virtual Threads #RoadTo21
> https://inside.java/2023/08/30/roadto21-virtualthreads/

> G1: Java's Default Garbage Collector
> https://inside.java/2023/10/15/g1/

> New candidate JEP: 457: Class-File API (Preview)
> https://openjdk.org/jeps/457

> Using JAXB in Custom Ant Tasks on Recent Java Versions
> https://jaitechwriteups.blogspot.com/2023/10/using-jaxb-in-custom-ant-tasks-on.html

> Java Records are "Trusted" and Consequently Faster
> http://minborgsjavapot.blogspot.com/2023/09/java-records-are-trusted-and.html

> JVMLS 2023 Keynote
> https://inside.java/2023/09/14/jvmls-keynote/

> JVMLS - Project Leyden
> https://inside.java/2023/09/07/project-leyden/

> JVMLS - Value Objects in Valhalla
> https://inside.java/2023/09/05/value-objects-in-valhalla/

> Complete JVMLS 2023 playlist
> https://www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp

> Teaching Old Streams New Tricks
> https://inside.java/2023/10/11/devoxx-teaching-old-streams-new-tricks/

> Support Markdown in javadoc Comments
> https://mail.openjdk.org/pipermail/javadoc-dev/2023-October/006455.html

> Brian Goetz Answers Your Java Questions
> https://inside.java/2023/10/20/ama-brian/


> ## October 2023 Critical Patch Update Released

> As part of the October 2023 CPU, Oracle released OpenJDK 21.0.1, JDK 21.0.1, 
> JDK 17.0.9 LTS, 11.0.21 LTS, 8u391, and 8u391-perf.


> ~

> PS: Don't forget to update me about your plans related to Java 21.

> Until next time!


> --David

Reply via email to