On Mon, Dec 12, 2022 at 11:22 AM David Delabassee <david.delabas...@oracle.com> wrote: > > Welcome to the final OpenJDK Quality Outreach update for 2022! > > JDK 20, scheduled for General Availability on March 21 2023, is now in > Rampdown Phase One (RDP1) [1]. At this point, the overall JDK 20 [2] > feature set is frozen (see below the final list of JEPs integrated into > JDK 20) and only low-risk enhancements might still be considered. The > coming weeks should be used to identify and resolve as many issues as > possible, i.e. before JDK 20 enters the Release Candidates phase in > early February 2023. > > > ## JDK 20 Early-Access builds > > The latest Early-Access (builds 27) are available [2] with the Release > Notes here [3]. Those builds are provided under the GNU GPL v2, with the > Classpath Exception. > > ### JEPs integrated into JDK 20: > > JEP 429: Scoped Values (Incubator) > JEP 432: Record Patterns (2nd Preview) > JEP 433: Pattern Matching for switch (4th Preview) > JEP 434: Foreign Function & Memory API (2nd Preview) > JEP 436: Virtual Threads (2nd Preview) > JEP 437: Structured Concurrency (2nd Incubator)
Perfect build to try out the Panama API updates (the OpenSSL module is supposed to be compatible with that one - I only tested a build from git though). The primitives type rework looks to be the next big thing ... Rémy > > [1] https://mail.openjdk.org/pipermail/jdk-dev/2022-December/007233.html > [2] https://jdk.java.net/20/ > [3] https://jdk.java.net/20/release-notes > > > ### Changes in recent JDK 20 builds that may be of interest: > > #### Build 27: > - JDK-8297794: Deprecate JMX Management Applets for Removal > - JDK-8297118: Change IncompatibleClassChangeError to MatchException for > exhaustive switch statements and switch expressions > - JDK-8294047: HttpResponseInputStream swallows interrupts > - JDK-8281236: (D)TLS key exchange named groups > - JDK-8280798: com.sun.jdi.ObjectReference::setValue spec should > prohibit any final field modification > - JDK-8295350: JFR: Add stop methods for recording streams > - JDK-8295044: Implementation of Foreign Function and Memory API (2nd > Preview) > - JDK-8296896: Change virtual Thread.yield to use external submit > - JDK-8297804: (tz) Update Timezone Data to 2022g > - JDK-8295803: Console should be usable in jshell and other environments > - JDK-8286666: Implementation of Scoped Values (Incubator) > - JDK-8296672: Implementation of Virtual Threads (2nd Preview) > > #### Build 26: > - JDK-8297276: Remove thread text from Subject.current > - JDK-8297030: Reduce Default Keep-Alive Timeout Value for httpclient > - JDK-8247645: ChaCha20 Intrinsics > > #### Build 25: > - JDK-8296472: Remove ObjectLocker around > appendToClassPathForInstrumentation call > - JDK-8290313: Produce warning when user specified java.io.tmpdir > directory doesn't exist > - JDK-8288717: Add a means to close idle connections in HTTP/2 > connection pool > - JDK-8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions > - JDK-8059632: Method reference compilation uses incorrect qualifying type > - JDK-8297161: Add additional Service Attributes to Standard Algorithm > Names guide > - JDK-8294073: Performance improvement for message digest implementations > > #### Build 24: > - JDK-8294731: Improve multiplicative inverse for secp256r1 implementation > - JDK-8296715: CLDR v42 update for tzdata 2022f > - JDK-8296958: [JVMCI] add API for retrieving ConstantValue attributes > > #### Build 23: > - JDK-8296226: Add constructors (String,Throwable) and (Throwable) to > InvalidParameterException > - JDK-8295673: Deprecate and disable legacy parallel class loading > workaround for non-parallel-capable class loaders > - JDK-8294241: Deprecate URL public constructors > - JDK-8289689: (fs) Re-examine the need for normalization to Unicode > Normalization Format D (macOS) > - JDK-8279164: Disable TLS_ECDH_* cipher suites > - JDK-8178355: IdentityHashMap uses identity-based comparison for values > everywhere except remove(K,V) and replace(K,V,V) > - JDK-8296108: (tz) Update Timezone Data to 2022f > > > ## Heads-up - JDK 21: First Early-Access Builds > > When JDK 20 entered RDP1 [4], the JDK mainline [5] was (a) forked into a > JDK 20 stabilization repository [6], and (b) set to JDK 21. As a > consequence, the first JDK 21 Early-Access builds have been published [7]. > > [4] https://mail.openjdk.org/pipermail/jdk-dev/2022-December/007233.html > [5] https://github.com/openjdk/jdk > [6] https://github.com/openjdk/jdk20 > [7] https://jdk.java.net/21/ > > > ## Heads-up - Valhalla: LW4 Early-Access Builds > > Valhalla LW4 early-access builds have been published [8], those builds > are primarily focused on implementing the Value Objects JEP draft [9]. > For additional details on those EA builds, make sure to read these LW4 > release notes [10]. For a more hands-on introduction to Value Object, > you can watch the latest JEP Café: Java Value Objects in Action [11]. > Interested developers are encouraged to explore the performance and > migration impact of value objects on their applications, and to provide > feedback to the valhalla-dev [12] mailing list. > > [8] https://jdk.java.net/valhalla/ > [9] https://openjdk.org/jeps/8277163 > [10] https://openjdk.org/projects/valhalla/early-access > [11] https://inside.java/2022/12/06/jepcafe15/ > [12] https://mail.openjdk.org/pipermail/valhalla-dev/ > > > ## Heads-up - Generational ZGC: New Early-Access Builds > > New Generational ZGC [13] Early-Access Builds have been updated recently > [14]. These EA builds are provided under the GNU GPL v2, with the > Classpath Exception. > > ### Changes include : > - Rebased on top of jdk-20+21 > - Added macOS builds > - Heuristics rewriten to deal with a problematic case where Generational > ZGC spent too much focus on doing young generation collection when it’s > more beneficial to spend resources to collect the old generation. > - GC logging rewriten to easier see what log lines belong to what > collection / generation, plus many additional changes that should make > it easier to read and understand GC logs > - Barrier elision enhanced to remove barriers from array access of newly > allocated arrays > - Enhanced the generated hs_err crash text file > - Fixed and unified code quality and style > > For more information, make sure to watch this Inside Java Newscast [15] > dedicated on Generational ZGC. Feedback should be sent to the zgc-dev > mailing list [16]. > > [13] https://jdk.java.net/genzgc/ > [14] https://bugs.openjdk.org/browse/JDK-8272979 > [15] https://inside.java/2022/11/17/insidejava-newscast-037/ > [16] https://mail.openjdk.org/pipermail/zgc-dev/ > > > ## JavaFX 20 Early-Access Builds > > These are early access builds of the JavaFX 20 Runtime, built from > openjdk/jfx [17]. They allow JavaFX application developers to build and > test their applications with JavaFX 20 on JDK 20. The latest builds 10 > (2022/12/5) are now available [18] with javadoc here [19]. Feedback > should be forwarded to the openjfx-dev [19] mailing list. For more > details, you might want to listen this Inside Java podcast episode [20]. > > [17] https://github.com/openjdk/jfx > [18] https://jdk.java.net/javafx20/ > [19] > https://download.java.net/java/early_access/javafx20/docs/api/overview-summary.html > [20] http://mail.openjdk.org/mailman/listinfo/openjfx-dev > [21] https://inside.java/2022/11/18/podcast-027/ > > > ## Topics of Interest: > > - Building and Deploying Java Client Desktop Applications with JDK 17 > and Beyond > https://inside.java/2022/12/08/building-java-desktop-app/ > > - Java Value Objects in Action with Valhalla - JEP Café #15 > https://inside.java/2022/12/06/jepcafe15/ > > - Java 20 - Sneak Peek on the Foreign Function & Memory API > https://minborgsjavapot.blogspot.com/2022/12/java-20-sneak-peek-on-panama-ffm-api.html > > - A Glimpse at Java 20 - Pattern Matching, Concurrent Programming and > Valhalla - Inside Java Newscast #38 > https://inside.java/2022/12/01/newscast-38/ > > - “JavaFX” - Inside Java Podcast #27 > https://inside.java/2022/11/18/podcast-027/ > > - Generational ZGC - Inside Java Newscast #37 > https://inside.java/2022/11/17/insidejava-newscast-037/ > > - Java 17 to 20 Pattern Matching full tutorial with Records, Instanceof > and Switch - JEP Café #14 > https://inside.java/2022/11/08/jepcafe14/ > > - Script Friendly JDK Download URLs > https://inside.java/2022/11/14/sip072/ > > - Using the JShell API to improvement a Java Source Browser > https://inside.java/2022/11/21/jshell-java-source-browser/ > > > ~ > > As usual, let us know if you find any quirks while testing your > project(s) on the latest JDK early-access builds. As year-end is > approaching, I'd like to thank you for being part of the OpenJDK Quality > Outreach Program. I hope that you will disconnect a bit to spend time > with your family and your friends. See you in 2023 with Java 20 and Java 21! > > --David > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org