Hello David, All is well for Hibernate projects on JDK 18.
I'm having trouble running the Gradle builds on JDK19, though: even running Gradle itself on JDK11, it seems Gradle is unable to use JDK19 as a toolchain. I'm still investigating and will report where appropriate (it's probably a Gradle bug). Summary for the wiki: Hibernate ORM: Versions 5.6 and 6.0 tested against JDK 18 EA33. No problems to report. Hibernate Validator: Version 7.0 tested against JDK 18 EA33 and JDK 19 EA7. No problems to report. Hibernate Search: Version 6.1 tested against JDK 18 EA33 and JDK 19 EA7. No problems to report. Hibernate Reactive: Version 1.1 tested against JDK 18 EA33. No problems to report. Yoann Rodière Hibernate Team yo...@hibernate.org On Mon, 31 Jan 2022 at 12:58, David Delabassee <david.delabas...@oracle.com> wrote: > Greetings! > > First off, on behalf of Oracle’s Java Team, I’d like to wish you a happy > and prosperous new year! > > In 2022, two Java releases will be made available: > - JDK 18 (March 2022) > - JDK 19 (September 2022) > > JDK 18[1] has entered Rampdown Phase Two (RDP2)[2]. Given that and to be > better prepared for the future, it makes sense to begin testing your > project(s) using early access (EA) builds of JDK 19[3]. Your feedback > allows us to evaluate and address issues you find while testing EA builds. > > This time, we have two heads-up to share: > > ## Heads-Up: JDK 18 - JEP 421 Deprecate Finalization for Removal > > Finalization is an outdated and brittle resource cleaning mechanism > present in the platform since, well, forever. Its use has been > discouraged for quite some time in favor of better alternatives (i.e., > 'try with resources' and Cleaners). JEP 421 is another step towards the > removal of finalizers as it offers tools to investigate if a codebase is > still using finalization. To learn more, you should read JEP 421[4]. You > should also listen to the latest episode of the Inside Java Podcast[5] > dedicated to this topic. We encourage you to check if your project is > still using finalizers. If so, you should start to think about removing > them and rely instead on either 'try with resources' or Cleaners. > > ## Heads-Up: JVM does not flag constant class entries ending in '/' > > Prior to JDK 19, the JVM is loading classes (1) whose class file major > version is <49, i.e., before JDK 1.5, and (2) the class's name ends with > a '/'. This violates section 4.2.1 of the JVM specification [6] and is > addressed in JDK 19. In JDK 19, the JVM is throwing, for such classes, a > ClassFormatError exception as it already does with newer classes (JDK > 1.5+). Given that this issue affects only pre-JDK 1.5 classes, we expect > the compatibility risk to be very low. > > For more details, see JDK-8278448[7]. > > [1] https://jdk.java.net/18/ > [2] > https://mail.openjdk.java.net/pipermail/jdk-dev/2022-January/006361.html > [3] https://jdk.java.net/19/ > [4] https://openjdk.java.net/jeps/421 > [5] https://inside.java/podcast/21 > [6] > https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-4.html#jvms-4.2.1 > [7] https://bugs.openjdk.java.net/browse/JDK-8278448 > > > ## JDK 18 > > JDK 18 is now in RDP2 (Rampdown Phase Two) with its feature set frozen a > few weeks back when it entered RDP1. > > ### 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 > > JDK 18 Early-Access builds 33 are now available[8], and are provided > under the GNU General Public License v2, with the Classpath Exception. > Also available are the Release Notes[9]. > > [8] https://jdk.java.net/18/ > [9] https://jdk.java.net/18/release-notes > > ### Changes in JDK 18 since Rampdown Phase One that are of interest: > > - JDK-8278373: Correcting References to Overloaded Methods in Javadoc > Documentation > - JDK-8279065: Deserialization filter and filter factory property error > reporting under specified > - JDK-8255409: SunPKCS11 Provider Now Supports Some PKCS#11 v3.0 APIs > - JDK-8275610: C2: Object field load floats above its null check > resulting in a segfault [Reported by Apache POI] > > > ## JDK 19 > > JDK 19 Early-Access builds 7 are now available[10], and are provided > under the GNU General Public License v2, with the Classpath Exception. > Also available are the Release Notes[11]. > > [10] https://jdk.java.net/19/ > [11] https://jdk.java.net/19/release-notes > > ### Changes in recent JDK 19 EA builds that maybe of interest: > > - JDK-8279258: Auto-vectorization enhancement for two-dimensional array > operations > - JDK-8273914: Indy string concat changes order of operations > - JDK-8268081: Upgrade Unicode Data Files to 14.0.0 > - JDK-8278087: Deserialization filter and filter factory property error > reporting under specified > - JDK-8276766: Enable jar and jmod to produce deterministic timestamped > content > - JDK-8274679: Remove unnecessary conversion to String in security code > in java.base > - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16 > - JDK-8279064: New options for ktab to provide non-default salt > - JDK-8280055: JFR: Improve ObjectContext implementation > - JDK-8268831: Improve javadoc tool handling of streams > > > ## Topics of Interest: > > - "State of Valhalla" update > > https://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2021-December/001747.html > > > - Java's Plans for 2022 - Inside Java Newscast > https://inside.java/2022/01/13/insidejava-newscast-018/ > > - New Loom Early Access builds based on JDK 19 EAb2 > https://mail.openjdk.java.net/pipermail/loom-dev/2021-December/003394.html > > - New Panama Foreign Early-Access builds (including jextract) jdk 18 > https://mail.openjdk.java.net/pipermail/panama-dev/2022-January/016131.html > > - January 2022 Critical Patch Update Released > As part of the Jan 2022 Critical Patch Update we released JDK 17.0.2 > LTS, JDK 11.0.14 LTS, JDK 8u321, and JDK 7u331 as well as OpenJDK 17.0.2 > (publicly available). > https://www.oracle.com/security-alerts/cpujan2022.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 in 2022. And as always, if you find an issue, please let > us know through the usual channels. > > Regards, > > --David > > _______________________________________________ > hibernate-dev mailing list -- hibernate-dev@lists.jboss.org > To unsubscribe send an email to hibernate-dev-le...@lists.jboss.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s _______________________________________________ hibernate-dev mailing list -- hibernate-dev@lists.jboss.org To unsubscribe send an email to hibernate-dev-le...@lists.jboss.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s