Great! Thanks for the prompt feedback!

Regards,

--David

On 10/12/2021 09:54, Martin Grigorov wrote:
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/
    
<https://urldefense.com/v3/__https://inside.java/2021/10/04/the-default-charset-jep400/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH3X5etH5$>


    ## 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/
    
<https://urldefense.com/v3/__https://jdk.java.net/18/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH6B-8Aoe$>
    [5] https://jdk.java.net/18/release-notes
    
<https://urldefense.com/v3/__https://jdk.java.net/18/release-notes__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH9ov6AnQ$>

    ### 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/
    
<https://urldefense.com/v3/__https://jdk.java.net/loom/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH1mNq-WJ$>
    [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/
    
<https://urldefense.com/v3/__https://inside.java/2021/11/30/on-parallelism-and-concurrency/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH0hjUe7l$>


    ## Topics of Interest:

    - JDK 18: Working with the Simple Web Server
    https://inside.java/2021/12/06/working-with-the-simple-web-server/
    
<https://urldefense.com/v3/__https://inside.java/2021/12/06/working-with-the-simple-web-server/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH_jiyWPV$>

    - JDK 18: Quality Outreach Heads-up: JEP 411
    https://inside.java/2021/12/06/quality-heads-up/
    
<https://urldefense.com/v3/__https://inside.java/2021/12/06/quality-heads-up/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH0-Jd_yS$>

    - JDK 18: Quality Outreach Heads-up: JEP 416
    https://inside.java/2021/11/29/quality-heads-up/
    
<https://urldefense.com/v3/__https://inside.java/2021/11/29/quality-heads-up/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH-oo4Xsl$>

    - 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
    
<https://urldefense.com/v3/__https://tschatzl.github.io/2021/11/15/heap-regions-x-large.html__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH-NYb9Jy$>

    - JDK 18: JEP 400 and the Default Charset
    https://inside.java/2021/10/04/the-default-charset-jep400/
    
<https://urldefense.com/v3/__https://inside.java/2021/10/04/the-default-charset-jep400/__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PH3X5etH5$>

    - 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
    
<https://urldefense.com/v3/__https://kstefanj.github.io/2021/11/24/gc-progress-8-17.html__;!!ACWV5N9M2RV99hQ!dZGPPNlmem3XuCrxBZvJLPS9BEnc7a6ucHP7f61ZX2R8EDfdBFs6L1ceH_0PHxCObHBK$>

    - 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