JDK 19 GA, JDK 20 EAb16, and some heads-up!
by David Delabassee
Greetings!
JDK 19 has been released (General Availability) on September 2Oth as
planned, the release cadence is working like clockwork! You can find the
"The Arrival of Java 19" announcement here [1], and some additional Java
19 material 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!
With JDK 19 released, the focus should now shift to JDK 20 testing. As
always, if you face any issues with early-access builds of JDK 20 please
let us know. And do keep in mind that our GitHub Action [2] supports
Early-Access builds, including JDK 20 EA.
With Virtual Threads (preview), Structured Concurrency (Incubutor),
Record Patterns (Preview), the Foreign Function & Memory API (Preview),
etc. Java 19 is a rich feature release, to say the least! This release
also paves the way for a bright future! To conclude with Java 19, all
its features will be covered in great detail during JavaOne (Oct 17-20
Las Vegas) [3]. If you are planning to come and haven't registered yet,
I suggest to ping me ASAP.
[1] https://inside.java/2022/09/20/the-arrival-of-java-19/
[2] https://github.com/oracle-actions/setup-java
[3] https://inside.java/javaone/
## Heads-Up: JDK 19 - Double.toString() and Float.toString() change
A bug affecting Double.toString(double) and Float.toString(float) has
been fixed in Java 19 [4]. According to the Javadoc,
Double.toString(double) should produce a string with a number of digits
as small as possible, that still uniquely distinguishes this double from
its adjacent double. That was not the case for many doubles. For
example, whereas 1e23 and 9.999999999999999E22 are the same double,
passing 1e23 to Double.toString(double) was returning
“9.999999999999999E22”. The specification has been updated, and the
implementation along with it. As a consequence and starting with JDK 19
some of the strings produced are now shorter than the ones produced in
earlier releases. For example, passing 1e23 to this method in JDK 19
will return “1.0E23" instead of “9.999999999999999E22” in earlier JDK
releases. Note that in JDK 19, passing 9.999999999999999E22 to this
method also returns "1.0E23" because they are the same double. Many
string representations of doubles and floats have changed to match the
specification update.
You can read the release notes [5] and some additional details here [4].
You can also learn more about floating point arithmetic in Joe Darcy's
excellent "Floating-Point Arithmetic : What Every Java Programmer Should
Know!" session [6].
[4] https://bugs.openjdk.org/browse/JDK-4511638
[5] https://bugs.openjdk.org/browse/JDK-8291475
[6] https://youtu.be/ajaHQ9S4uTA
## Heads-Up: JDK 20 - Drop support for -source/-target/--release 7 from
javac
JEP 182 (Policy for Retiring javac -source and -target Options)
describes a policy to remove at a regular pace, from the javac compiler,
support for obsolete versions. This is required to reduce compiler
maintenance costs. JEP 182 still needs to be updated to reflect the
6-month release cadence but in that spirit and given that JDK 7 was
released in July 2011, i.e. over a decade ago, support for
-source/-target/--release 7 is dropped in JDK 20. All other supported
values remain as such in JDK 20, 8 through 20 inclusive.
For more information, you might want to check JDK-8173605 [7] and JEP
182: Policy for Retiring javac -source and -target Options [8].
[7] https://bugs.openjdk.org/browse/JDK-8173605
[8] https://openjdk.org/jeps/182
## General Availability of Java 19 / JDK 19
JDK 19 is now Generally Available [9]. The OpenJDK builds, provided
under the GNU General Public License v2 with the Classpath Exception,
are available here [10]. The JDK 19 Release Notes are available here [11].
[9] https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html
[10] https://jdk.java.net/19/
[11] https://jdk.java.net/19/release-notes
JDK 19 includes seven JEPs:
- JEP 405: Record Patterns (Preview)
- JEP 422: Linux/RISC-V Port
- JEP 424: Foreign Function & Memory API (Preview)
- JEP 425: Virtual Threads (Preview)
- JEP 426: Vector API (Fourth Incubator)
- JEP 427: Pattern Matching for switch (Third Preview)
- JEP 428: Structured Concurrency (Incubator)
along with hundreds of smaller enhancements and over a thousand bug fixes.
## JDK 20 Early-Access builds
JDK 20 Early-Access builds 16 are now available [12], and are provided
under the GNU General Public License v2, with the Classpath Exception.
The Release Notes are available here [13].
[12] https://jdk.java.net/20/
[13] https://jdk.java.net/20/release-notes
### Changes in 20EA-b16 that may be of interest:
- JDK-8293499: Provide jmod --compress option
- JDK-8290367: Update default value and extend the scope of
com.sun.jndi.ldap.object.trustSerialData system property
- JDK-8244681: Add a warning for possibly lossy conversion in compound
assignments
- JDK-8256265: G1: Improve parallelism in regions that failed evacuation
- JDK-8293861: G1: Disable preventive GCs by default
- JDK-8293922: Extend barrier-less Java thread transitions to native
transition
- JDK-8290169: adlc: Improve child constraints for vector unary operations
### Additional changes that may be of interest:
- JDK-8288933: Improve the implementation of Double/Float.isInfinite
- JDK-8173605: Remove support for source and target 1.7 option in javac
- JDK-8288966: Better handle very spiky promotion in G1
- JDK-8291753: Add JFR event for GC CPU Time
- JDK-8292579: (tz) Update Timezone Data to 2022c
- JDK-8282648: Weaken the InflaterInputStream specification in order to
allow faster Zip implementations
- JDK-8291660: Grapheme support in BreakIterator
- JDK-8292240: CarrierThread.blocking not reset when spare not activated
- JDK-8287908: Use non-cloning reflection methods where acceptable
- JDK-8292628: x86: Improve handling of constants in trigonometric stubs
- JDK-8292878: x86: Make scratch register usage explicit in assembler code
- JDK-8290249: Vectorize signum on AArch64
- JDK-8292203: AArch64: Represent Registers as values
- JDK-8292587: AArch64: Support SVE fabd instruction
- JDK-8292575: risc-v: Represent Registers as values
## Topics of Interest:
- Moving Java Forward with Java 19
https://inside.java/2022/09/20/moving-java-forward/
- “Java 19 is Here!” with Brian Goetz and Ron Pressler - Inside Java Podcast
https://inside.java/2022/09/20/podcast-026/
- JDK 19 - Security Enhancements
https://seanjmullan.org/blog/2022/09/22/jdk19
- JDK 19 - G1/Parallel/Serial GC improvements
https://tschatzl.github.io/2022/09/16/jdk19-g1-parallel-gc-changes.html
- “Java 19 in Action” - Inside Java Newscast
https://inside.java/2022/09/08/insidejava-newscast-033/
- G1 Pre-Barrier Implementation
https://albertnetymk.github.io/2022/07/22/g1_barrier/
- New candidate JEP: 430: String Templates (Preview)
https://openjdk.org/jeps/430
- OpenJDK: Where the Magic Happens
https://inside.java/2022/09/12/change-the-future-of-java/
That's it for this time. I hope to see some of you in a few weeks during
JavaOne in Vegas. And again, if you haven't made your J1 plans yet,
please ping me.
--David
2 years, 5 months
Re: Schedule for WildFly 26.1.2
by Brian Stansberry
Hi Ben,
Not this week, no. We're planning on October 13.
https://lists.jboss.org/archives/list/wildfly-dev@lists.jboss.org/message...
Best regards,
--
Brian Stansberry
Project Lead, WildFly
He/Him/His
On Tue, Sep 20, 2022 at 11:18 AM Ben Langley <ben.langley(a)necsws.com> wrote:
> Hi Brian,
>
>
>
> Do you have an ETA on R27, will it be available this week do you think?
>
>
>
> Thanks
>
> Ben
>
>
>
> *From:* Brian Stansberry <brian.stansberry(a)redhat.com>
> *Sent:* 31 August 2022 15:23
> *To:* Ben Langley <ben.langley(a)necsws.com>
> *Cc:* Wildfly Dev mailing list <wildfly-dev(a)lists.jboss.org>; Park,
> Austin (NSS) <austin.park(a)necnss.com>; Gunderson, Craig <
> craig.gunderson(a)necam.com>; Roy Tait <roy.tait(a)necsws.com>
> *Subject:* Re: [wildfly-dev] Re: Schedule for WildFly 26.1.2
> *Importance:* High
>
>
>
>
>
>
>
> On Wed, Aug 31, 2022 at 1:05 AM Ben Langley <ben.langley(a)necsws.com>
> wrote:
>
> Hi Brian,
>
>
>
> Thanks for the response, great news. We are also keen to evaluate a beta
> version of R27 as soon as possible, are you able to confirm when this will
> be available for download too?
>
>
>
> You're welcome. BTW, the 26.1.2.Final binaries are available now at
> https://github.com/wildfly/wildfly/releases/tag/26.1.2.Final and via
> maven in repository.jboss.org. I'm working this morning to get them
> listed on the wildfly.org/downloads page.
>
>
>
> We're aiming for mid September (ideally the 15th) for WildFly 27 Beta.
>
>
>
> Best regards,
>
> Brian
>
>
>
>
>
> Thanks
>
> Ben
>
>
>
> *Ben Langley*
>
> *Project Manager*
>
> *Public Safety*
>
>
>
>
>
> Upcoming Leave 01/08 to 12/08
>
>
>
> *M*: 07805913576
>
> *E*: ben.langley(a)necsws.com <tony.newland(a)necsws.com>
>
> *W*: www.necsws.com
>
>
>
> NEC Software Solutions
>
>
>
> Minster Corner
>
> South Church Side
>
> Hull
>
> East Yorkshire
>
> HU1 1RR
>
>
>
>
>
> On Tue, 30 Aug 2022 at 16:02, Brian Stansberry <
> brian.stansberry(a)redhat.com> wrote:
>
> Hi Ben,
>
>
>
> It will definitely still be released; should be out this week, perhaps
> tomorrow.
>
>
>
> The infrastructure we use for running TCKs had some maintenance downtime,
> which has delayed things.
>
>
>
> Best regards,
>
> Brian
>
>
>
> On Tue, Aug 30, 2022 at 9:04 AM Ben Langley <ben.langley(a)necsws.com>
> wrote:
>
> Hi,
>
>
>
> I have a customer that will need R26.1.2, they will very likely need to
> stay on this version for sometime. Your community post
> <https://lists.jboss.org/archives/list/wildfly-dev@lists.jboss.org/message...>regarding
> 26.1.2 suggests this version should have been available for download
> 25/08/2022 but I don't see it on the downloads yet?
>
>
>
> Please could you confirm if this version will still be released and if so
> when?
>
>
>
> Thanks
>
> Ben
>
>
> *Ben Langley*
>
> *Project Manager*
>
> *Public Safety*
>
>
>
>
>
> Upcoming Leave 01/08 to 12/08
>
>
>
> *M*: 07805913576
>
> *E*: ben.langley(a)necsws.com <tony.newland(a)necsws.com>
>
> *W*: www.necsws.com
>
>
>
> NEC Software Solutions
>
>
>
> Minster Corner
>
> South Church Side
>
> Hull
>
> East Yorkshire
>
> HU1 1RR
>
>
>
> This email is sent on behalf of NEC Software Solutions UK Limited and its
> associated companies (together "NEC Software Solutions") and is strictly
> confidential and intended solely for the addressee(s). Full details of
> those companies can be found at
> https://www.necsws.com/group-company-details/
>
> If you are not the intended recipient of this email you must: (i) not
> disclose, copy or distribute its contents to any other person nor use its
> contents in any way or you may be acting unlawfully; (ii) contact NEC
> Software Solutions immediately on +44(0)1442 768445 quoting the name of the
> sender and the addressee then delete it from your system.
>
> NEC Software Solutions has taken reasonable precautions to ensure that no
> viruses are contained in this email, but does not accept any responsibility
> once this email has been transmitted. You should scan attachments (if any)
> for viruses.
>
> _______________________________________________
> wildfly-dev mailing list -- wildfly-dev(a)lists.jboss.org
> To unsubscribe send an email to wildfly-dev-leave(a)lists.jboss.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
>
>
>
>
> This email is sent on behalf of NEC Software Solutions UK Limited and its
> associated companies (together "NEC Software Solutions") and is strictly
> confidential and intended solely for the addressee(s). Full details of
> those companies can be found at
> https://www.necsws.com/group-company-details/
>
> If you are not the intended recipient of this email you must: (i) not
> disclose, copy or distribute its contents to any other person nor use its
> contents in any way or you may be acting unlawfully; (ii) contact NEC
> Software Solutions immediately on +44(0)1442 768445 quoting the name of the
> sender and the addressee then delete it from your system.
>
> NEC Software Solutions has taken reasonable precautions to ensure that no
> viruses are contained in this email, but does not accept any responsibility
> once this email has been transmitted. You should scan attachments (if any)
> for viruses.
>
>
>
> This email is sent on behalf of NEC Software Solutions UK Limited and its
> associated companies (together "NEC Software Solutions") and is strictly
> confidential and intended solely for the addressee(s). Full details of
> those companies can be found at
> https://www.necsws.com/group-company-details/ If you are not the intended
> recipient of this email you must: (i) not disclose, copy or distribute its
> contents to any other person nor use its contents in any way or you may be
> acting unlawfully; (ii) contact NEC Software Solutions immediately on
> +44(0)1442 768445 quoting the name of the sender and the addressee then
> delete it from your system. NEC Software Solutions has taken reasonable
> precautions to ensure that no viruses are contained in this email, but does
> not accept any responsibility once this email has been transmitted. You
> should scan attachments (if any) for viruses.
>
2 years, 5 months
Re: Schedule for WildFly 26.1.2
by Ben Langley
Hi,
I have a customer that will need R26.1.2, they will very likely need to
stay on this version for sometime. Your community post
<https://lists.jboss.org/archives/list/wildfly-dev@lists.jboss.org/message...>regarding
26.1.2 suggests this version should have been available for download
25/08/2022 but I don't see it on the downloads yet?
Please could you confirm if this version will still be released and if so
when?
Thanks
Ben
*Ben Langley*
*Project Manager*
*Public Safety*
Upcoming Leave 01/08 to 12/08
*M*: 07805913576
*E*: ben.langley(a)necsws.com <tony.newland(a)necsws.com>
*W*: www.necsws.com
NEC Software Solutions
Minster Corner
South Church Side
Hull
East Yorkshire
HU1 1RR
--
This email is sent on behalf of NEC Software Solutions UK Limited and its
associated companies (together "NEC Software Solutions") and is strictly
confidential and intended solely for the addressee(s). Full details of
those companies can be found at
https://www.necsws.com/group-company-details/
<https://www.necsws.com/group-company-details/>
If you are not the intended
recipient of this email you must: (i) not disclose, copy or distribute its
contents to any other person nor use its contents in any way or you may be
acting unlawfully; (ii) contact NEC Software Solutions immediately on
+44(0)1442 768445 quoting the name of the sender and the addressee then
delete it from your system.
NEC Software Solutions has taken reasonable
precautions to ensure that no viruses are contained in this email, but does
not accept any responsibility once this email has been transmitted. You
should scan attachments (if any) for viruses.
2 years, 5 months
Module dep on javax.transaction.api in wildfly-datasources-galleon-pack
by Brian Stansberry
I've noticed that the module.xml files for the various driver modules
in wildfly-datasources-galleon-pack, e.g. [1], include a dependency on the
'javax.transaction.api' module. I wonder if this is needed and if there's a
good way to check if not.
The javax.transaction.xa package is required by JDBC, but that package
comes from Java SE and is not exposed by our 'javax.transaction.api'
module. Our module exposes the Jakarta Transactions API, which, even in its
EE 8 javax namespace form did not include javax.transaction.xa. Use of the
Jakarta Transactions API is not part of the JDBC spec, so it's not a given
that a 'javax.transaction.api' module dep is needed.
I suppose it's possible that one or more of the drivers we support in
wildfly-datasources-galleon-pack uses JTA internally, or did in some
release, in which case removing the module.xml dep would break things. Note
though that use of EE 8 Jakarta Transactions wouldn't work anyway for WF
Preview or standard WildFly 27 and later, as those server versions do not
expose jakarta.* namespace JTA.
[1]
https://github.com/wildfly-extras/wildfly-datasources-galleon-pack/blob/m...
Best regards,
Brian
2 years, 6 months
Deploy WildFly artifacts
by Harald Pehl
I'm preparing a release workflow for WildFly gRPC [1]. Part of this is the deployment of the artifacts to a Maven repository.
The options I know of are
- JBoss Maven repository
- Maven Central
The setup for the JBoss Maven repository is easy. But AIUI the deployment requires manual steps. For Maven Central, you need approval for the group ID, but the deployment can be fully automated.
Do we have any policy on how we should deploy WildFly artifacts? I would be interested to know how others handle this. Do you use JBoss Maven, Maven Central, or anything else?
// Harald
[1] https://github.com/wildfly-extras/wildfly-grpc-feature-pack
2 years, 6 months