Mailing List Archive

JDK 19 first Release Candidates!
Greetings!

I hope you had a chance to take some time off. On our side, and despite
the summer vacation, everything is on track for the Java 19 GA release
on September 20th with JDK 19 now in the Release Candidate Phase [1]. If
you haven't done so yet, it is time to start testing your project(s)
using the JDK 20 Early-Access builds. Speaking of Early-Access builds,
there is now a new set of EA builds, i.e., the jextract EA builds.
jextract is a tool developed under the Project Panama umbrella whose
goal is to mechanically generates Java bindings from native library
headers. If you are using the Foreign Function & Memory API (Preview
Feature in JDK 19), make sure to check jextract too (see the jextract
section below).

[1] https://mail.openjdk.org/pipermail/jdk-dev/2022-August/006861.html


## Heads-up - New system properties for `System.out` and `System.err` in
JDK 19

Two new system properties, `stdout.encoding` and `stderr.encoding`, have
been introduced. The value of these system properties is the encoding
used by the standard output (`System.out`) and standard error
(`System.err`) streams. The default values of these system properties
depend on the platform. The values take on the value of the
`native.encoding` property when the platform does not provide streams
for the console. The properties can be overridden on the launcher's
command line option, with `-D`, to set them to UTF-8 where required. For
more details see https://bugs.openjdk.org/browse/JDK-8283620


## Heads-up - SSLSocketImpl finalizer implementation removed in JDK 19

The finalizer implementation in SSLSocket has been removed, with the
underlying native resource releases now done by the Socket
implementation. With this update, the TLS close_notify messages will no
longer be emitted if SSLSocket is not explicitly closed. Not closing
Sockets properly is an error condition that should be avoided.
Applications should always close sockets and not rely on garbage
collection. For more details see https://bugs.openjdk.org/browse/JDK-8212136


## Heads-up - New providerPath jarsigner option in JDK 19

A new `-providerPath` option has been added to the jarsigner. This
option is used to specify the class path of an alternate keystore
implementation, it can be used together with the -providerClass option.
For more details see https://bugs.openjdk.org/browse/JDK-8281175


## JDK 19 Release Candidate builds

JDK 19 first Release Candidates (builds 36) are now available [2], and
are provided under the GNU General Public License v2, with the Classpath
Exception. The Release Notes are available here [3].

[2] https://jdk.java.net/19/
[3] https://jdk.java.net/19/release-notes


## JDK 20 Early-Access builds

JDK 20 Early-Access builds 11 are now available [4], and are provided
under the GNU General Public License v2, with the Classpath Exception.
The Release Notes are available here [5].

[4] https://jdk.java.net/20/
[5] https://jdk.java.net/20/release-notes

### Recent changes that maybe of interest:

- JDK-8282730: LdapLoginModule throw NPE from logout method after login
failure
- JDK-8290706: Remove the support for inline contiguous allocations
- JDK-8289551: Conversions between bit representations of half precision
values and floats
- JDK-8290485: [vector] REVERSE_BYTES for byte type should not emit any
instructions
- JDK-8289137: Automatically adapt Young/OldPLABSize and when setting
only MinTLABSize
- JDK-8290034: Auto vectorize reverse bit operations.
- JDK-8290868: NMT: MallocSiteTable statistics improvements
- JDK-8291822: ARM32: Build errors with GCC 11 in
frame::saved_oop_result [Reported by JaCoCo]
- JDK-8289249: Add methods to Elements for record constructors
- JDK-8283232: x86: Improve vector broadcast operations
- JDK-8288327: Executable.hasRealParameterData should not be volatile
- JDK-8291360: Create entry points to expose low-level class file
information
- JDK-8290840: Refactor the "os" class
- JDK-8292327: InflaterInputStream.read throws EOFException
- JDK-8155246: Throw error if default java.security file is missing
- JDK-8289332: Auto-generate ids for user-defined headings
- JDK-8292153: x86: Represent Registers as values


## Jextract Early-Access Builds

Early Access Builds 19-jextract+2-3 (2022/7/19) are now available [6].
These open-source builds are provided under the GNU General Public
License, version 2, with the Classpath Exception.

These builds are from the OpenJDK jextract project [7] which is part of
Code Tools [8]. jextract is a tool developed under the Panama umbrealla
whose goal is to mechanically generate Java bindings from native library
headers. These EA builds are intended for advanced users, and are
provided as a convenience so that they don't need to build it from the
sources. Additional notes on builds, documentation and known issues are
available at [6].

Please subscribe to the jextract mailing list [9] to share feedback.

[6] https://jdk.java.net/jextract/
[7] https://github.com/openjdk/jextract
[8] https://openjdk.org/projects/code-tools/
[9] http://mail.openjdk.org/mailman/listinfo/jextract-dev


## Topics of Interest

* Podcast: “JavaOne is Back!”
https://inside.java/2022/08/03/podcast-025/

* Sequenced Collections, Purity, and more at JavaOne
https://inside.java/2022/08/11/insidejava-newscast-031/

* Concurrent Marking in G1
https://tschatzl.github.io/2022/08/04/concurrent-marking.html

* Java Asynchronous Programming Full Tutorial with Loom and Structured
Concurrency - JEP Café
https://inside.java/2022/08/02/jepcafe13/

* New candidate JEP: 429: Extent-Local Variables (Incubator)
https://openjdk.org/jeps/429


## JDK Update Patch Release

To fix a regression (JDK-8292260) in the C2 JIT compiler, we have
produced update patch releases for the impacted supported Java SE
versions. The new versions are JDK 18.0.2.1 (publicly available),
17.0.4.1 (publicly available), 11.0.16.1.1, and OpenJDK 18.0.2.1
(publicly available).



As usual, let us know if you find any issues while testing your
project(s) on the latest JDK early-access builds. Thanks for your support!

--David


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org
Re: JDK 19 first Release Candidates! [ In reply to ]
Hi David,

thanks for the hint! I wil update the build servers to run tests using
that version.

Do you know if the Gradle Toolkit features allow to download JDK 19
releases in that final stage (as those are the final artifacts if all
works well)? The toolkit API does not allow to refer to EA releases, but
to get the Panama-based memory mapping in Lucene we would need to
complie automatically against Java 19 (and this requires them to be
referrd to in Gradle). If you would have a suggestion, comment here:
https://github.com/apache/lucene/pull/912

Uwe

Am 22.08.2022 um 15:19 schrieb David Delabassee:
> Greetings!
>
> I hope you had a chance to take some time off. On our side, and
> despite the summer vacation, everything is on track for the Java 19 GA
> release on September 20th with JDK 19 now in the Release Candidate
> Phase [1]. If you haven't done so yet, it is time to start testing
> your project(s) using the JDK 20 Early-Access builds. Speaking of
> Early-Access builds, there is now a new set of EA builds, i.e., the
> jextract EA builds. jextract is a tool developed under the Project
> Panama umbrella whose goal is to mechanically generates Java bindings
> from native library headers. If you are using the Foreign Function &
> Memory API (Preview Feature in JDK 19), make sure to check jextract
> too (see the jextract section below).
>
> [1] https://mail.openjdk.org/pipermail/jdk-dev/2022-August/006861.html
>
>
> ## Heads-up - New system properties for `System.out` and `System.err`
> in JDK 19
>
> Two new system properties, `stdout.encoding` and `stderr.encoding`,
> have been introduced. The value of these system properties is the
> encoding used by the standard output (`System.out`) and standard error
> (`System.err`) streams. The default values of these system properties
> depend on the platform. The values take on the value of the
> `native.encoding` property when the platform does not provide streams
> for the console. The properties can be overridden on the launcher's
> command line option, with `-D`, to set them to UTF-8 where required.
> For more details see https://bugs.openjdk.org/browse/JDK-8283620
>
>
> ## Heads-up - SSLSocketImpl finalizer implementation removed in JDK 19
>
> The finalizer implementation in SSLSocket has been removed, with the
> underlying native resource releases now done by the Socket
> implementation. With this update, the TLS close_notify messages will
> no longer be emitted if SSLSocket is not explicitly closed. Not
> closing Sockets properly is an error condition that should be avoided.
> Applications should always close sockets and not rely on garbage
> collection. For more details see
> https://bugs.openjdk.org/browse/JDK-8212136
>
>
> ## Heads-up - New providerPath jarsigner option in JDK 19
>
> A new `-providerPath` option has been added to the jarsigner. This
> option is used to specify the class path of an alternate keystore
> implementation, it can be used together with the -providerClass
> option. For more details see https://bugs.openjdk.org/browse/JDK-8281175
>
>
> ## JDK 19 Release Candidate builds
>
> JDK 19 first Release Candidates (builds 36) are now available [2], and
> are provided under the GNU General Public License v2, with the
> Classpath Exception. The Release Notes are available here [3].
>
> [2] https://jdk.java.net/19/
> [3] https://jdk.java.net/19/release-notes
>
>
> ## JDK 20 Early-Access builds
>
> JDK 20 Early-Access builds 11 are now available [4], and are provided
> under the GNU General Public License v2, with the Classpath Exception.
> The Release Notes are available here [5].
>
> [4] https://jdk.java.net/20/
> [5] https://jdk.java.net/20/release-notes
>
> ### Recent changes that maybe of interest:
>
> - JDK-8282730: LdapLoginModule throw NPE from logout method after
> login failure
> - JDK-8290706: Remove the support for inline contiguous allocations
> - JDK-8289551: Conversions between bit representations of half
> precision values and floats
> - JDK-8290485: [vector] REVERSE_BYTES for byte type should not emit
> any instructions
> - JDK-8289137: Automatically adapt Young/OldPLABSize and when setting
> only MinTLABSize
> - JDK-8290034: Auto vectorize reverse bit operations.
> - JDK-8290868: NMT: MallocSiteTable statistics improvements
> - JDK-8291822: ARM32: Build errors with GCC 11 in
> frame::saved_oop_result [Reported by JaCoCo]
> - JDK-8289249: Add methods to Elements for record constructors
> - JDK-8283232: x86: Improve vector broadcast operations
> - JDK-8288327: Executable.hasRealParameterData should not be volatile
> - JDK-8291360: Create entry points to expose low-level class file
> information
> - JDK-8290840: Refactor the "os" class
> - JDK-8292327: InflaterInputStream.read throws EOFException
> - JDK-8155246: Throw error if default java.security file is missing
> - JDK-8289332: Auto-generate ids for user-defined headings
> - JDK-8292153: x86: Represent Registers as values
>
>
> ## Jextract Early-Access Builds
>
> Early Access Builds 19-jextract+2-3 (2022/7/19) are now available [6].
> These open-source builds are provided under the GNU General Public
> License, version 2, with the Classpath Exception.
>
> These builds are from the OpenJDK jextract project [7] which is part
> of Code Tools [8]. jextract is a tool developed under the Panama
> umbrealla whose goal is to mechanically generate Java bindings from
> native library headers. These EA builds are intended for advanced
> users, and are provided as a convenience so that they don't need to
> build it from the sources. Additional notes on builds, documentation
> and known issues are available at [6].
>
> Please subscribe to the jextract mailing list [9] to share feedback.
>
> [6] https://jdk.java.net/jextract/
> [7] https://github.com/openjdk/jextract
> [8] https://openjdk.org/projects/code-tools/
> [9] http://mail.openjdk.org/mailman/listinfo/jextract-dev
>
>
> ## Topics of Interest
>
> * Podcast: “JavaOne is Back!”
> https://inside.java/2022/08/03/podcast-025/
>
> * Sequenced Collections, Purity, and more at JavaOne
> https://inside.java/2022/08/11/insidejava-newscast-031/
>
> * Concurrent Marking in G1
> https://tschatzl.github.io/2022/08/04/concurrent-marking.html
>
> * Java Asynchronous Programming Full Tutorial with Loom and Structured
> Concurrency - JEP Café
> https://inside.java/2022/08/02/jepcafe13/
>
> * New candidate JEP: 429: Extent-Local Variables (Incubator)
> https://openjdk.org/jeps/429
>
>
> ## JDK Update Patch Release
>
> To fix a regression (JDK-8292260) in the C2 JIT compiler, we have
> produced update patch releases for the impacted supported Java SE
> versions. The new versions are JDK 18.0.2.1 (publicly available),
> 17.0.4.1 (publicly available), 11.0.16.1.1, and OpenJDK 18.0.2.1
> (publicly available).
>
>
>
> As usual, let us know if you find any issues while testing your
> project(s) on the latest JDK early-access builds. Thanks for your
> support!
>
> --David
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org