Sanne & Yoann,

I’m happy to announce that moving forward Oracle’s Java DevRel Team will manage 
the Quality Outreach Program. I would like to thank Rory for all the efforts 
he's put into this program and wish him all the joy and happiness that 
retirement can bring! We have big shoes to fill but we’re excited to continue 
building off the amazing structure Rory has put in place.


The JDK 18 schedule is now known [1] with a feature freeze date (Rampdown Phase 
One) less than 4 weeks away! This time, we have 2 important heads-ups, one 
related to JEP 411 (Deprecate the Security Manager for Removal), and one 
related to JEP 416 (Reimplement Core Reflection with Method Handles). We're 
asking your help to test and confirm that your project works seamlessly now 
that those 2 JEPs are integrated in the JDK 18 Early-Access builds.

[1] https://openjdk.java.net/projects/jdk/18/


# JEP 411 - Deprecate the Security Manager for Removal

Starting JDK 18 b21 [2], the default value of the 'java.security.manager' 
system property is set to "disallow". This means that any application or 
library that enables the Security Manager by calling 
`System.setSecurityManager` will now have to specify 
`-Djava.security.manager=allow` on the command-line in order for that code to 
continue working as expected. This change was originally targeted for JDK 17, 
but after some discussion/feedback from the community, the change was delayed 
until JDK 18 [3].

[2] https://bugs.openjdk.java.net/browse/JDK-8270380
[3] https://openjdk.java.net/jeps/411#Description


# JEP 416 - Reimplement Core Reflection with Method Handles

JEP 416 [4] reimplements `java.lang.reflect.Method`, 
`java.lang.reflect.Constructor`, and `java.lang.reflect.Field` on top of 
`java.lang.invoke` method handles. Making method handles the underlying 
mechanism for reflection will reduce the maintenance and development cost of 
both the `java.lang.reflect` and `java.lang.invoke` APIs. This is solely an 
implementation change but we encourage you to test your project to identify any 
behavior or performance regressions.

[4] https://openjdk.java.net/jeps/416


OpenJDK 18 Early-Access builds 23 are now available [5], and are provided under 
the GNU General Public License v2, with the Classpath Exception. The Release 
Notes are available [6].

[5] https://jdk.java.net/18/
[6] https://jdk.java.net/18/release-notes


# JEPs integrated to JDK 18, so far:

- JEP 400: UTF-8 by Default https://openjdk.java.net/jeps/400
- JEP 408: Simple Web Server https://openjdk.java.net/jeps/408
- JEP 413: Code Snippets in Java API Documentation 
https://openjdk.java.net/jeps/413
- JEP 416: Reimplement Core Reflection with Method Handles 
https://openjdk.java.net/jeps/416
- JEP 418: Internet-Address Resolution SPI https://openjdk.java.net/jeps/418


# JEPs targeted to JDK 18, so far:

- JEP 417: Vector API (Third Incubator) https://openjdk.java.net/jeps/417


# JEPs proposed to target JDK 18, so far:

- JEP 419: Foreign Function & Memory API (Second Incubator) 
https://openjdk.java.net/jeps/419
- JEP 420: Pattern Matching for switch (Second Preview) 
https://openjdk.java.net/jeps/420


# Changes in recent builds that maybe of interest:

## Build 23:

- JDK-8275509: ModuleDescriptor.hashCode isn't reproducible across builds
- JDK-8276220: Reduce excessive allocations in DateTimeFormatter
- JDK-8276298: G1: Remove unused G1SegmentedArrayBufferList::add
- JDK-8273922: (fs) UserDefinedFileAttributeView doesn't handle file names that 
are just under the MAX_PATH limit (win)

## Build 22:

- JDK-8271820: Implementation of JEP 416: Reimplement Core Reflection with 
Method Handle
- JDK-8260428: Drop support for pre JDK 1.4 DatagramSocketImpl implementations
- JDK-8251468: X509Certificate.get{Subject,Issuer}AlternativeNames and 
getExtendedKeyUsage do not throw CertificateParsingException if extension is 
unparseable

## Build 21:

- JDK-8270380: Change the default value of the java.security.manager system 
property to disallow
- JDK-8275319: java.net.NetworkInterface throws java.lang.Error instead of 
SocketException
- JDK-8270490: Charset.forName() taking fallback default value
- JDK-8269336: Malformed jdk.serialFilter incorrectly handled


# Project Loom update

New Project Loom 18-loom+4-273 (2021/11/10) Early-Access builds are available 
[7] with related Javadocs [8].

[7] https://jdk.java.net/loom/
[8] https://download.java.net/java/early_access/loom/docs/api/

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 
(https://mail.openjdk.java.net/mailman/listinfo/loom-dev).


# Topics of Interest:

* New Candidate JEP: 421: Deprecate Finalization for Removal, 
https://openjdk.java.net/jeps/421
* What Happens to Finalization in JDK 18 and JEP 416 - Inside Java Newscast, 
https://youtu.be/eDgBnjOid-g


Thank you for being a welcomed part of the Quality Outreach program!

--
David Delabassée / @delabassee
_______________________________________________
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

Reply via email to