You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Rick Hillegas <ri...@gmail.com> on 2021/12/10 18:45:48 UTC

Re: JDK 18: Rampdown Phase 1 & Early-Access builds 27

Thanks, David. I looked at the lists of changes for builds 26 and 27 but 
couldn't figure out which ones addressed our concerns. Could you provide 
more detail?

Thanks,
-Rick

On 12/9/21 11:40 PM, David Delabassee wrote:
> Rick,
>
> 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!
>