All,
The Release Candidates of JDK 18 have been released [1]. At this stage,
only P1 issues will be evaluated [2]. And with the JDK 18 General
Availability sets for March 22nd, it is now time to shift the focus to
JDK 19. I'd like to thank those of you who have already provided
feedback on the early Early Builds of JDK 19. Feedback is always
extremely useful, even more, when it comes early in the development cycle.
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-February/006404.html
[2]
https://openjdk.java.net/jeps/3
## JDK 18 Release Candidate
The Release Candidate builds of JDK 18 are now available [3], and are
provided under the GNU General Public License v2, with the Classpath
Exception. The Release Notes are available here [4].
[3]
https://jdk.java.net/18/
[4]
https://jdk.java.net/18/release-notes
## JDK 19 Early-Access builds
JDK 19 Early-Access builds 11 are now available [5], and are provided
under the GNU General Public License v2, with the Classpath Exception.
The Release Notes are available here [6].
[5]
https://jdk.java.net/19/
[6]
https://jdk.java.net/19/release-notes
Recent changes that maybe of interest:
* JDK-8278067: Make HttpURLConnection default keep alive timeout
configurable
* JDK-8281000: ClassLoader::registerAsParallelCapable throws NPE if
caller is null
* JDK-8282279: Interpret case-insensitive string locale independently
* JDK-8176706: Support CLDR's Additional (Skeleton) Date-Time Formats
* JDK-5041655: (ch) FileLock: negative param and overflow issues
* JDK-8255266: Update Public Suffix List to 3c213aa
* JDK-8280958: G1/Parallel: Unify marking code structure
* JDK-8072070: Improve interpreter stack banging
* JDK-8277175: Add a parallel multiply method to BigInteger
* JDK-8278947: Support for array constants in constant table
* JDK-8281462: Annotation toString output for enum not reusable for
source input
* JDK-8281175: Add a -providerPath option to jarsigner
* JDK-8277795: ldap connection timeout not honoured under contention
* JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
* JDK-8280744: Allow SuppressWarnings to be used in all declaration contexts
* JDK-8272984: javadoc support for reproducible builds
* JDK-8272317: jstatd has dependency on Security Manager which needs to
be removed
## New Project Loom Early-Access builds
Project Loom Early-Access builds19-loom+4-115 (2022/2/13) are available
[7] with the related Javadoc [8].
These EA builds are based on JDK 19 (jdk-19+9). In those builds, the
APIs for Structured Concurrency and Scope Locals have been moved into
the `jdk.incubator.concurrent` incubator module. Note that the module
name may change later. To use those APIs, simply use `--add-modules
jdk.incubator.concurrent` at compile and runtime.
Those EA builds are provided under the GNU General Public License,
version 2, with the Classpath Exception and are produced for the purpose
of gathering feedback. Use for any other purpose is at your own risk.
Proper feedback should be sent to the `loom-dev` mailing list [9].
[7]
https://jdk.java.net/loom/
[8]
https://download.java.net/java/early_access/loom/docs/api/
[9]
https://mail.openjdk.java.net/mailman/listinfo/loom-dev
## Topics of Interest
* JDK 18 - Card Table Card Size Shenanigans
https://tschatzl.github.io/2022/02/15/card-table-card-size.html
* Compiled & Tested Code In Javadoc - Inside Java Newscast #20
https://inside.java/2022/02/10/insidejava-newscast-020/
* New candidate JEP: 423: Region Pinning for G1
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-February/006368.html
* Refactoring Java 8 code with Java 17 new features - JEP Café #9
https://inside.java/2022/02/01/jepcafe9/
As always, let us know if you find any issues while testing your
projects on the latest JDK Early Access builds. Thanks for your support!
--David