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

Reply via email to