Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-27 Thread Robert Munteanu
Hi David,

On Fri, 2023-10-20 at 09:36 +, David Delabassee wrote:
> 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 ?

For Apache Sling: already supported at runtime, plan to support short-
term for building.

We've supported running Sling on Java 21 for quite some time, we set up
CI using the 21-ea builds as soon as the ASF infra team made them
available.

As Sling is (amongst others) a collection of many small modules it
takes time to update the Maven plugins/dependencies for each one to
support Java 21, so that is still a work in progress.

Thanks,
Robert


Re: [External] : Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-24 Thread Gary Gregory
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
 wrote:
>
> Thanks for the feedback, Ismael… and good to hear 
>
> --David
>
> From: Ismael Juma 
> Date: Friday, 20 October 2023 at 17:39
> To: 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] 
> > 

Re: [External] : Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-24 Thread Lukasz Lenart
Apache Struts 6.x supports Java 21 in runtime, no plans to use it as a
base version now. In Struts 7.x we are going to switch to JDK17 on the
build level.


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/


Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-24 Thread Martin Desruisseaux

Hello David

Thanks for all this OpenJDK work!

Le 2023-10-20 à 11 h 36, David Delabassee a écrit :

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 ?


If "supported" means making sure that the project compiles and runs 
under Java 21, this is already the case of Apache Spatial Information 
System (SIS). If "supported" means using new features not available in 
Java 11, or targeting Java 21 as the minimal Java version, this is not 
yet the case. But we found no technical impediment, only requirements 
from dependent projects (SIS is a library).


    Martin




Re: [External] : Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-24 Thread David Delabassee
Thanks for the feedback, Ismael… and good to hear 

--David

From: Ismael Juma 
Date: Friday, 20 October 2023 at 17:39
To: 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$
> [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$
> [4] 
> 

Re: JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-20 Thread Ismael Juma
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://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 

JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-20 Thread David Delabassee
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