On Fri, Dec 10, 2021 at 10:10 AM Martin Grigorov <mgrigo...@apache.org> wrote:
> Hi David, > > Apache Wicket build and tests pass successfully with JDK 8-ea+27-1924 on > both Linux x86_64 and aarch64! > I meant 18-ea+27-1924 > > Regards, > Martin > > On Fri, Dec 10, 2021 at 9:58 AM David Delabassee < > david.delabas...@oracle.com> wrote: > >> Martin, >> >> Thank you for being part of the OpenJDK Quality Outreach Program. As >> year-end 2021 approaches, I'd like to share some updates on JDK 18, >> which is scheduled for General Availability on March 22, 2022. >> >> JDK 18 has now entered Rampdown Phase One (RDP1) [1], which means that >> the main-line has been forked into a dedicated JDK 18 stabilization >> repository. At this point, the overall JDK 18 feature set is now frozen >> and no additional JEPs will be targeted to JDK 18. Only low-risk >> enhancements that add small bits of missing functionality or improve >> usability might still be considered. The next few weeks should be >> leveraged to try to identify and resolve as many issues as possible >> (i.e. before JDK 18 enters the Release Candidates phase). >> >> And as you can see below, JDK 18 EA Builds 26 & 27 include fixes for >> issues that were reported by you! So thank you for your help >> contributing to the overall quality of OpenJDK! >> >> [1] >> https://mail.openjdk.java.net/pipermail/jdk-dev/2021-December/006287.html >> >> >> ## JEP 400 - UTF-8 by Default >> >> All JEPs are now integrated, but we would like to draw your attention to >> JEP 400 especially if you are deploying on Windows as it might induce >> some incompatible behavior on that platform. >> >> JEP 400 [2] is changing the default charset to UTF-8. This aligns with >> the existing `newBufferedReader`/`Writer` methods of the >> `java.nio.file.Files` class where UTF-8 is the default when no explicit >> charset is set. By making UTF-8 the default charset, the JDK I/O APIs >> will now always work in the same, predictable manner, with no need to >> pay attention to the host and or user’s environment! >> >> Further, we encourage you to test your project(s) with the latest JDK 18 >> Early Access builds. We don't expect issues on macOS and Linux as their >> default encoding is already UTF-8. On Windows, especially for East Asian >> locales such as Chinese/Japanese/Korean, some incompatible behavior >> could be anticipated. If that’s the case, please consider a mitigation >> strategy [3]. >> >> [2] https://openjdk.java.net/jeps/400 >> [3] https://inside.java/2021/10/04/the-default-charset-jep400/ >> >> >> ## JDK 18 >> >> JDK 18 Early-Access builds 27 are now available [4], and are provided >> under the GNU General Public License v2, with the Classpath Exception. >> Make sure to check the Release Notes [5]. As usual, we encourage you to >> test your project(s) using those EA builds and provide us feedback. >> >> [4] https://jdk.java.net/18/ >> [5] https://jdk.java.net/18/release-notes >> >> ### JEPs integrated to JDK 18: >> >> - JEP 400: UTF-8 by Default >> - JEP 408: Simple Web Server >> - JEP 413: Code Snippets in Java API Documentation >> - JEP 416: Reimplement Core Reflection with Method Handles >> - JEP 417: Vector API (Third Incubator) >> - JEP 418: Internet-Address Resolution SPI >> - JEP 419: Foreign Function & Memory API (Second Incubator) >> - JEP 420: Pattern Matching for switch (Second Preview) >> - JEP 421: Deprecate Finalization for Removal >> >> ### Changes in recent builds that maybe of interest: >> >> #### Build 27: >> >> - JDK-8266435: WBMPImageReader.read() should not truncate the input >> stream [Reported by PDFBox] >> - JDK-8278078: Cannot reference super before supertype constructor has >> been called >> - JDK-8177819: DateTimeFormatterBuilder zone parsing should recognise DST >> - JDK-8277965: Enclosing instance optimization affects serialization >> - JDK-8275821: Optimize random number generators developed in >> JDK-8248862 using Math.unsignedMultiplyHigh() >> - JDK-8225181: KeyStore should have a getAttributes method >> - JDK-8275082: Update XML Security for Java to 2.3.0 >> - JDK-8278270: ServerSocket is not thread safe >> - JDK-8277863: Deprecate sun.misc.Unsafe methods that return offsets >> >> #### Build 26: >> >> - JDK-8277451: j.l.r.Field::set on static field with invalid argument >> type should throw IAE [Reported by Hibernate & ByteBuddy] >> - JDK-8258117: jar tool sets the time stamp of module-info.class entries >> to the current time [Reported by Apache Maven] >> - JDK-8268743: Require a better way for copying data between >> MemorySegments and on-heap arrays [Reported by Apache Lucene] >> - JDK-8277986: Typo in javadoc of java.util.zip.ZipEntry#setTime >> [Reported by Apache Ant] >> - JDK-8277861: Terminally deprecate Thread.stop >> - JDK-8276665: ObjectInputStream.GetField.get(name, object) should throw >> ClassNotFoundException >> - JDK-8271623: Omit enclosing instance fields from inner classes that >> don't use it >> - JDK-8231107: Allow store password to be null when saving a PKCS12 >> KeyStore >> - JDK-8193682: Infinite loop in ZipOutputStream.close() >> - JDK-8277459: Add `jwebserver` tool [see Topics of Interest] >> >> #### Build 25: >> >> - JDK-8259643: ZGC can return metaspace OOM prematurely >> - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline >> caches >> - JDK-8276970: Default charset for PrintWriter that wraps PrintStream >> - JDK-8272773: Configurable card table card size >> - JDK-4337793: Mark non-serializable fields of >> java.security.cert.Certificate and CertPath >> >> #### Build 24: >> >> - JDK-8275056: Allow G1 heap regions up to 512MB [see Topics of Interest] >> - JDK-8271515: Integration of JEP 417: Vector API (Third Incubator) >> - JDK-8267108: Alternate Subject.getSubject and doAs APIs that do not >> depend on Security Manager APIs >> - JDK-8244202: Implementation of JEP 418: Internet-Address Resolution SPI >> - JDK-8276186: Require getAvailableLocales() methods to include >> Locale.ROOT >> - JDK-8276184: Exclude lambda proxy class from the CDS archive if its >> caller class is excluded >> >> >> ## Project Loom Update >> >> New Loom Early-Access builds are also available [6]. Those EA builds are >> based on JDK18 EA build 25 and offer a new structured concurrency API >> [7]. These 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. >> Feedback should be send to the `loom-dev` mailing list [8]. >> >> On that note, you might also want to check this 'On Parallelism and >> Concurrency' piece [9]. >> >> [6] https://jdk.java.net/loom/ >> [7] >> https://mail.openjdk.java.net/pipermail/loom-dev/2021-November/003072.html >> [8] https://mail.openjdk.java.net/mailman/listinfo/loom-dev >> [9] https://inside.java/2021/11/30/on-parallelism-and-concurrency/ >> >> >> ## Topics of Interest: >> >> - JDK 18: Working with the Simple Web Server >> https://inside.java/2021/12/06/working-with-the-simple-web-server/ >> >> - JDK 18: Quality Outreach Heads-up: JEP 411 >> https://inside.java/2021/12/06/quality-heads-up/ >> >> - JDK 18: Quality Outreach Heads-up: JEP 416 >> https://inside.java/2021/11/29/quality-heads-up/ >> >> - JDK 18 will bump heap region size limit to 512MB (Vs. 32Mb today) >> https://tschatzl.github.io/2021/11/15/heap-regions-x-large.html >> >> - JDK 18: JEP 400 and the Default Charset >> https://inside.java/2021/10/04/the-default-charset-jep400/ >> >> - Panama/Foreign Status Update >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-December/015895.html >> >> - GC progress from JDK 8 to JDK 17 >> https://kstefanj.github.io/2021/11/24/gc-progress-8-17.html >> >> - JDK Migration Guide >> https://docs.oracle.com/en/java/javase/17/migrate/getting-started.html >> >> >> In closing, I'd like to thank you again for being a welcomed part of the >> Quality Outreach program! We look forward to your continued >> participation. Please enjoy the holiday season and have a happy new year! >> >>