Hi David,

Apache Tomcat build and tests pass successfully with JDK 18-ea+27-1924 on
both Linux x86_64 and aarch64!

Regards,
Martin

On Fri, Dec 10, 2021 at 9:58 AM David Delabassee <
david.delabas...@oracle.com> wrote:

> Mark,
>
> 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!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to