Over at Apache Commons, I added Java 21 builds to most of our GitHub
Actions builds without issues. I've also added Java 22-ea builds in a
few select components.
(The Apache Commons "project" is made up of many "components", each
producing one or more jars.)

We did run into the difference in precision for Double.toString() in
Apache Commons Text which blew up some of our tests. The tests have
been adjusted to account for this now.

We also encountered an odd issue in Apache Commons BeanUtils related
to formatting/parsing dates and timestamps:
https://github.com/apache/commons-beanutils/actions/runs/6598337146/job/17926218470

Gary


On Tue, Oct 24, 2023 at 9:22 AM David Delabassee
<david.delabas...@oracle.com> wrote:
>
> Thanks for the feedback, Ismael… and good to hear 😉
>
> --David
>
> From: Ismael Juma <m...@ismaeljuma.com>
> Date: Friday, 20 October 2023 at 17:39
> To: builds@apache.org <builds@apache.org>
> Subject: [External] : Re: JDK 21 Is Now GA, a New VS Code Extension, and an 
> Annotation Processing Heads-up
> Hi David,
>
> > 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 ?
>
> Apache Kafka: Java 21 is supported in trunk and will be part of the
> upcoming 3.7.0 release.
>
> Thanks,
> Ismael
>
> On Fri, Oct 20, 2023 at 2:37 AM David Delabassee <
> david.delabas...@oracle.com> wrote:
>
> > 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://urldefense.com/v3/__https://inside.java/2023/09/19/the-arrival-of-java-21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otlr_6xKdA$<https://urldefense.com/v3/__https:/inside.java/2023/09/19/the-arrival-of-java-21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otlr_6xKdA$>
> > [2] https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008269.html
> > [3] 
> > https://urldefense.com/v3/__https://www.youtube.com/watch?v=bQ2Rwpyj_Ks__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl-BE0RrQ$<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=bQ2Rwpyj_Ks__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl-BE0RrQ$>
> > [4] 
> > https://urldefense.com/v3/__https://www.youtube.com/watch?v=pcg-E_qyMOI__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlztcZaYg$<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=pcg-E_qyMOI__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlztcZaYg$>
> > [5] https://openjdk.org/jeps/457
> > [6] 
> > https://urldefense.com/v3/__https://inside.java/2023/10/18/announcing-vscode-extension/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otn5XUAlDg$<https://urldefense.com/v3/__https:/inside.java/2023/10/18/announcing-vscode-extension/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otn5XUAlDg$>
> > [7] 
> > https://urldefense.com/v3/__https://dev.java/playground__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otn1qv0Qyw$<https://urldefense.com/v3/__https:/dev.java/playground__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otn1qv0Qyw$>
> >
> >
> > ## 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://urldefense.com/v3/__https://jdk.java.net/21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnEv00SDw$<https://urldefense.com/v3/__https:/jdk.java.net/21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnEv00SDw$>
> > [12] 
> > https://urldefense.com/v3/__https://jdk.java.net/21/release-notes__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmVwt5WGA$<https://urldefense.com/v3/__https:/jdk.java.net/21/release-notes__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmVwt5WGA$>
> > [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://urldefense.com/v3/__https://jdk.java.net/javafx21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnEKDHB8A$<https://urldefense.com/v3/__https:/jdk.java.net/javafx21/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnEKDHB8A$>
> > [15]
> > https://urldefense.com/v3/__https://github.com/openjdk/jfx/blob/jfx21/doc-files/release-notes-21.md__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmPpozb2g$<https://urldefense.com/v3/__https:/github.com/openjdk/jfx/blob/jfx21/doc-files/release-notes-21.md__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmPpozb2g$>
> > [16]
> > https://urldefense.com/v3/__https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/docs/api/index.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmvcQBfxA$<https://urldefense.com/v3/__https:/download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/docs/api/index.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmvcQBfxA$>
> > [17] 
> > https://urldefense.com/v3/__https://jdk.java.net/javafx22/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlEUEfOjg$<https://urldefense.com/v3/__https:/jdk.java.net/javafx22/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlEUEfOjg$>
> >
> >
> > ## 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://urldefense.com/v3/__https://jdk.java.net/22/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmESjw3uQ$<https://urldefense.com/v3/__https:/jdk.java.net/22/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmESjw3uQ$>
> > [19] 
> > https://urldefense.com/v3/__https://jdk.java.net/22/release-notes__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmcXdyw9A$<https://urldefense.com/v3/__https:/jdk.java.net/22/release-notes__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmcXdyw9A$>
> > [20] 
> > https://urldefense.com/v3/__https://github.com/openjdk/jdk/compare/jdk-22*2B12...jdk-22*2B20__;JSU!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnOvAzlFA$<https://urldefense.com/v3/__https:/github.com/openjdk/jdk/compare/jdk-22*2B12...jdk-22*2B20__;JSU!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnOvAzlFA$>
> >
> >
> > ## 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://urldefense.com/v3/__https://jdk.java.net/jextract/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlnrQ8-dA$<https://urldefense.com/v3/__https:/jdk.java.net/jextract/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlnrQ8-dA$>
> >
> >
> > ## Topics of Interest:
> >
> > Java 21… and Beyond - Brian Goetz Devoxx 2023 Keynote
> > https://urldefense.com/v3/__https://inside.java/2023/10/14/java-21-and-beyond/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkLgn6wqg$<https://urldefense.com/v3/__https:/inside.java/2023/10/14/java-21-and-beyond/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkLgn6wqg$>
> >
> > JDK 21 Security Enhancements
> > https://urldefense.com/v3/__https://seanjmullan.org/blog/2023/09/22/jdk21__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnWyRRMgA$<https://urldefense.com/v3/__https:/seanjmullan.org/blog/2023/09/22/jdk21__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnWyRRMgA$>
> >
> > With Java 21, Your Code Runs Even Faster but How is that Possible?
> > https://urldefense.com/v3/__https://inside.java/2023/10/06/devoxx-your-code-runs-even-faster/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl0vbxOrg$<https://urldefense.com/v3/__https:/inside.java/2023/10/06/devoxx-your-code-runs-even-faster/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl0vbxOrg$>
> >
> > My Favorite JDK 21 Feature: Javadoc Search URL
> >
> > https://urldefense.com/v3/__https://stuartmarks.wordpress.com/2023/09/22/my-favorite-jdk-21-feature-javadoc-search-url/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmY4LCH0g$<https://urldefense.com/v3/__https:/stuartmarks.wordpress.com/2023/09/22/my-favorite-jdk-21-feature-javadoc-search-url/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmY4LCH0g$>
> >
> > Upgrading from Java 17 to 21 #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/08/27/roadto21-upgrade/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnrCdId8A$<https://urldefense.com/v3/__https:/inside.java/2023/08/27/roadto21-upgrade/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnrCdId8A$>
> >
> > Java 21 API Changes #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/09/10/roadto21-api/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmbBBzAuA$<https://urldefense.com/v3/__https:/inside.java/2023/09/10/roadto21-api/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmbBBzAuA$>
> >
> > Java 21 Security #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/09/13/roadto21-security/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmrqrlYcA$<https://urldefense.com/v3/__https:/inside.java/2023/09/13/roadto21-security/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmrqrlYcA$>
> >
> > Java 21 Tool Enhancements: Better Across the Board #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/09/06/roadto21-performance/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlCIVW23g$<https://urldefense.com/v3/__https:/inside.java/2023/09/06/roadto21-performance/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlCIVW23g$>
> >
> > Java 21 JVM and GC Improvements #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/09/03/roadto21-performance/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlDLETFEw$<https://urldefense.com/v3/__https:/inside.java/2023/09/03/roadto21-performance/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlDLETFEw$>
> >
> > Java 21 Brings Full Pattern Matching #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/09/17/roadto21-pattern-matching/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmKO8nHHQ$<https://urldefense.com/v3/__https:/inside.java/2023/09/17/roadto21-pattern-matching/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmKO8nHHQ$>
> >
> > Java 21 new feature: Virtual Threads #RoadTo21
> > https://urldefense.com/v3/__https://inside.java/2023/08/30/roadto21-virtualthreads/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmitKF4Aw$<https://urldefense.com/v3/__https:/inside.java/2023/08/30/roadto21-virtualthreads/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmitKF4Aw$>
> >
> > G1: Java's Default Garbage Collector
> > https://urldefense.com/v3/__https://inside.java/2023/10/15/g1/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmVXOIM8w$<https://urldefense.com/v3/__https:/inside.java/2023/10/15/g1/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmVXOIM8w$>
> >
> > New candidate JEP: 457: Class-File API (Preview)
> > https://openjdk.org/jeps/457
> >
> > Using JAXB in Custom Ant Tasks on Recent Java Versions
> >
> > https://urldefense.com/v3/__https://jaitechwriteups.blogspot.com/2023/10/using-jaxb-in-custom-ant-tasks-on.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkoHXP8aw$<https://urldefense.com/v3/__https:/jaitechwriteups.blogspot.com/2023/10/using-jaxb-in-custom-ant-tasks-on.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkoHXP8aw$>
> >
> > Java Records are "Trusted" and Consequently Faster
> >
> > https://urldefense.com/v3/__http://minborgsjavapot.blogspot.com/2023/09/java-records-are-trusted-and.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmbRygBIw$<https://urldefense.com/v3/__http:/minborgsjavapot.blogspot.com/2023/09/java-records-are-trusted-and.html__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtmbRygBIw$>
> >
> > JVMLS 2023 Keynote
> > https://urldefense.com/v3/__https://inside.java/2023/09/14/jvmls-keynote/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkyqGEEQg$<https://urldefense.com/v3/__https:/inside.java/2023/09/14/jvmls-keynote/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkyqGEEQg$>
> >
> > JVMLS - Project Leyden
> > https://urldefense.com/v3/__https://inside.java/2023/09/07/project-leyden/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnF080-9A$<https://urldefense.com/v3/__https:/inside.java/2023/09/07/project-leyden/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtnF080-9A$>
> >
> > JVMLS - Value Objects in Valhalla
> > https://urldefense.com/v3/__https://inside.java/2023/09/05/value-objects-in-valhalla/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkWWqrLQg$<https://urldefense.com/v3/__https:/inside.java/2023/09/05/value-objects-in-valhalla/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtkWWqrLQg$>
> >
> > Complete JVMLS 2023 playlist
> > https://urldefense.com/v3/__https://www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlCy7FDZA$<https://urldefense.com/v3/__https:/www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtlCy7FDZA$>
> >
> > Teaching Old Streams New Tricks
> > https://urldefense.com/v3/__https://inside.java/2023/10/11/devoxx-teaching-old-streams-new-tricks/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtntN2FCIQ$<https://urldefense.com/v3/__https:/inside.java/2023/10/11/devoxx-teaching-old-streams-new-tricks/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7OtntN2FCIQ$>
> >
> > Support Markdown in javadoc Comments
> > https://mail.openjdk.org/pipermail/javadoc-dev/2023-October/006455.html
> >
> > Brian Goetz Answers Your Java Questions
> > https://urldefense.com/v3/__https://inside.java/2023/10/20/ama-brian/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl_tmAVnw$<https://urldefense.com/v3/__https:/inside.java/2023/10/20/ama-brian/__;!!ACWV5N9M2RV99hQ!LQpZWkXgKxJMKqgmVkgIXh7qWpY8SbKRZnYJef-ryARd9n8oqk1qzU6d9zJrs8u9EePV-M-7Otl_tmAVnw$>
> >
> >
> > ## 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