Re: JDK 18 Early-Access builds 23 are available

2021-11-18 Thread Jaikiran Pai

Hello David,

Given the security manager changes in this JDK 18 EA build, a lot of our 
Ant tests have failed against this version. This was expected and we had 
anticipated this when the work on these changes had started in JDK. This 
will need changes in the Ant project to make it work starting this 
version. We (Ant project) will be working on this to get it in working 
shape, in the coming weeks.


-Jaikiran

On 16/11/21 4:22 pm, david.delabas...@oracle.com wrote:

Hi Jaikiran/Stefan,

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 

JDK 18 Early-Access builds 23 are available

2021-11-16 Thread david . delabassee

Hi Jaikiran/Stefan,

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