You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by David Delabassee <da...@oracle.com> on 2022/12/13 13:07:21 UTC
Re: [External] : Re: JDK 20 EAb22, ZenGC EA builds, JavaFX 20 EAb5 and several heads-ups!
Thanks Jaikiran!
--David
On 11/12/2022 07:36, Jaikiran Pai wrote:
> Hello David,
>
> We have been a bit slow recently in running the Ant testsuite and
> responding to the EA releases. I found some time today and triggered a
> run against the latest JDK 20 EA available at
> https://urldefense.com/v3/__https://jdk.java.net/20/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOery8aZ-QA$
> which is (build 20-ea+27-2213). That has exposed a new failure in the
> javadoc generation against the Ant project. I've filed
> https://bugs.openjdk.org/browse/JDK-8298525 with the details.
>
> -Jaikiran
>
> On 07/11/22 1:47 pm, David Delabassee wrote:
>> Greetings,
>>
>> With JavaOne in Las Vegas, last month was epically busy! It was great
>> to finally have the ability to meet and discuss the Quality Outreach
>> program with some of you... face-to-face!
>>
>> This installment of the newsletter is packed as we have several
>> heads-ups, including new Early-Access builds being made available.
>> The JDK 20 schedule has been proposed [1]. The next major milestone
>> is Rampdown Phase One which should happen in just a month on December
>> 8! The next few weeks will be particularly interesting as we will see
>> which from the candidate JEPs recently announced (see 'Topics of
>> Interest' section below) will be proposed to target JDK 20 [2]. And
>> given that JDK 20 is getting closer, we are eagerly waiting for your
>> test feedback on your projects running with the latest JDK 20 EA builds.
>>
>> [1] https://mail.openjdk.org/pipermail/jdk-dev/2022-October/007108.html
>> [2] https://openjdk.org/projects/jdk/20/
>>
>>
>> ### Heads-up - JDK 20: `java.net.URL` parsing fix & behavior change
>>
>> Before JDK 20, some of the parsing/validation performed by the JDK
>> built-in `URLStreamHander` implementations were delayed until
>> `URL::openConnection` or `URLConnection::connect` was called.
>> Starting JDK 20, some of these parsing/validations are now performed
>> early, i.e. within URL constructors.
>>
>> An exception caused by a malformed URL that would have been delayed
>> until the connection was opened or connected may starting JDK 20,
>> throw a `MalformedURLException` at URL construction time.
>>
>> We suggest testing your project(s) against this change. And for those
>> who want to rely on the old behavior, a new system property has been
>> introduced to revert, on the command line, to the previous behavior.
>>
>> For more details, please see JBS-8293590 [3] and the release notes [4].
>>
>> [3] https://bugs.openjdk.org/browse/JDK-8293590
>> [4] https://bugs.openjdk.org/browse/JDK-8295750
>>
>>
>> ### Heads-up - JDK 20: Thread.stop(), Thread.suspend() and
>> Thread.resume() degradation
>>
>> The ability to stop, suspend, or resume a thread with the
>> corresponding Thread.stop(), Thread.suspend() or Thread.resume()
>> methods have been removed in JDK 20. Those methods have been degraded
>> to throw a UOE exception (UnsupportedOperationException).
>>
>> Using those methods was inherently unsafe. That is also why they were
>> deprecated since JDK 1.2 (1998!) and were flagged 'forRemoval' in
>> previous features release.
>>
>> We do not expect this behavior change to cause any issues on
>> well-maintained codebase.
>>
>> For more details please check JDK-8289610 [5], JDK-8249627 [6], and
>> the Java Thread Primitive Deprecation FAQ [7].
>>
>> [5] https://bugs.openjdk.org/browse/JDK-8289610
>> [6] https://bugs.openjdk.org/browse/JDK-8249627
>> [7]
>> https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html
>>
>>
>> ### Heads-up - JDK 20: Deprecate and disable the legacy parallel
>> class loading workaround for non-parallel-capable class loaders.
>>
>> Prior to JDK 7, custom class loaders using non-hierarchical class
>> delegation model were prone to deadlock. A workaround was added in
>> the HotSpot VM (JDK 6) to allow parallel class loading for
>> non-parallel-capable class loaders to avoid deadlocks.
>>
>> Parallel-capable class loaders were introduced in Java SE 7 [8] to
>> support parallel class loading to implement a deadlock-free class
>> loader using a non-hierarchical class delegation model. [8] and [9]
>> describe how to migrate those class loaders depending on this
>> workaround to be multi-threaded parallel-capable class loaders.
>>
>> This workaround was intended to allow those developers to migrate to
>> the new mechanism. JDK 7 was released 11 years ago so it is now
>> expected that those deadlock-prone custom class loaders have been
>> migrated to the parallel-capable class loaders. As a consequence,
>> this workaround is removed in JDK 20 as it impedes eliminating the
>> object monitors from pinning for virtual threads.
>>
>> We suggest confirming that your codebase is not relying on this
>> legacy workaround. If it still is, you should migrate away from it
>> ASAP. Please note that the legacy behavior can be temporary
>> re-enabled using a special flag. For additional details, please check
>> [10] and [11].
>>
>> [8]
>> https://docs.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.html
>> [9] https://openjdk.org/groups/core-libs/ClassLoaderProposal.html
>> [10] https://bugs.openjdk.org/browse/JDK-8295848
>> [11] https://bugs.openjdk.org/browse/JDK-8296446
>>
>>
>> ### Heads-up - JavaFX builds
>>
>> Oracle is now publishing JavaFX builds, starting with early access
>> builds of JavaFX 20, at jdk.java.net/javafx20 [12]. Developers are
>> now able to download JavaFX and JDK builds from the same place, and
>> use jlink to create a custom JDK that includes the JavaFX modules.
>>
>> The latest JavaFX 20 EA builds (b5-2022/10/28) are now available [12]
>> along with the related javadoc [13]. These early-access builds are
>> provided under the GNU General Public License, version 2, with the
>> Classpath Exception. Feedback should be reported to the openjfx-dev
>> [14] mailing list.
>>
>> To learn more, stay tuned for an upcoming Inside Java Podcast episode
>> that will cover this in detail.
>>
>> [12]
>> https://urldefense.com/v3/__https://jdk.java.net/javafx20/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerHUW9v8w$
>> [13]
>> https://urldefense.com/v3/__https://download.java.net/java/early_access/javafx20/docs/api/index.html__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerW6PPwgY$
>> [14] https://mail.openjdk.org/pipermail/openjfx-dev
>>
>>
>> ### Heads-up - Generational ZGC Early-Access builds
>>
>> The first Early Access builds of Generational ZGC have been published
>> at jdk.java.net/genzgc [15] and are also available via the
>> oracle-actions/setup-java GitHub action [16].
>>
>> ZGC is a low latency, i.e. sub-milliseconds, Garbage Collector. This
>> effort aims to introduce support for generations in ZGC. For more
>> information, you can check the draft JEP [17] and listen to this
>> recent Inside Java Podcast episode [18].
>>
>> We encourage you to try out GenZGC and provide feedback on the
>> zgc-dev [19] mailing list.
>>
>> [15]
>> https://urldefense.com/v3/__https://jdk.java.net/genzgc/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOeru7VIRV4$
>> [16]
>> https://urldefense.com/v3/__https://github.com/oracle-actions/setup-java__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerJwnVuUM$
>> [17] https://bugs.openjdk.org/browse/JDK-8272979
>> [18]
>> https://urldefense.com/v3/__https://inside.java/2022/06/29/podcast-024/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerdrw5oWo$
>> [19] https://mail.openjdk.org/pipermail/zgc-dev
>>
>>
>> ## Heads-up - New Project Loom Early-Access Builds
>>
>> The latest Loom EA builds (20-loom+20-34) are now available [20].
>> These EA builds are provided under the GNU General Public License,
>> version 2, with the Classpath Exception. These EA builds include a
>> snapshot of the ScopedValue API, being developed in JEP 429 [21].
>> Feedback can be sent to the loom-dev@openjdk.org mailing list [22].
>>
>> [20]
>> https://urldefense.com/v3/__https://jdk.java.net/loom/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerccThFrg$
>> [21] https://openjdk.org/jeps/429
>> [22] https://mail.openjdk.org/pipermail/loom-dev
>>
>>
>> ## JDK 20 Early-Access Builds
>>
>> JDK 20 Early-Access builds 22 are now available [23], and are
>> provided under the GNU General Public License v2, with the Classpath
>> Exception. The Release Notes are available here [24].
>>
>> [23]
>> https://urldefense.com/v3/__https://jdk.java.net/20/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOery8aZ-QA$
>> [24]
>> https://urldefense.com/v3/__https://jdk.java.net/20/release-notes__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerrOBTKkc$
>>
>> ### Changes in recent builds that may be of interest:
>>
>> #### Build 22:
>> - JDK-8057113: (fs) Path should have a method to obtain the filename
>> extension
>> - JDK-8256660: Disable DTLS 1.0 by default
>> - JDK-8291336: Add ideal rule to convert floating point multiply by 2
>> into addition
>>
>> #### Build 21:
>> - JDK-8137022: Concurrent refinement thread adjustment and
>> (de-)activation suboptimal
>> - JDK-8134303: Introduce -XX:-G1UseConcRefinement
>> - JDK-8295657: SA: Allow larger object alignments
>>
>> #### Build 20:
>> - JDK-8293590: Some syntax checks performed by URL.openConnection()
>> could be performed earlier, at URL construction
>> - JDK-8290368: Introduce LDAP and RMI protocol-specific object
>> factory filters to JNDI implementation
>> - JDK-6924219: (fc spec) FileChannel.write(ByteBuffer, position)
>> behavior when file opened for append not specified
>> - JDK-8292177: InitialSecurityProperty JFR event
>> - JDK-8295173: (tz) Update Timezone Data to 2022e
>> - JDK-8292698: Improve performance of DataInputStream
>>
>> #### Build 19:
>> - JDK-8294821: Class load improvement for AES crypto engine
>> - JDK-8295013: OopStorage should derive from CHeapObjBase
>> - JDK-8283699: Improve the peephole mechanism of hotspot
>> - JDK-8289552: Make intrinsic conversions between bit representations
>> of half precision values and floats
>> - JDK-8290036: Define and specify Runtime shutdown sequence
>>
>> #### Build 18:
>> - JDK-8294609: C2: Improve inlining of methods with unloaded
>> signature classes
>> - JDK-8279283: BufferedInputStream should override transferTo
>> - JDK-8294626: Improve URL protocol lower casing
>>
>> #### Build 17:
>> - JDK-8289610: Thread.Stop changed to throw
>> UnsupportedOperationException
>> - JDK-8249627: Thread.suspend/resume changed to throw
>> UnsupportedOperationException
>> - JDK-8254711: Add java.security.Provider.getService JFR Event
>> - JDK-8294062: Improve parsing performance of j.l.c.MethodTypeDesc
>> - JDK-8255670: Improve C2's detection of modified nodes
>> - JDK-8292296: Use multiple threads to process ParallelGC deferred
>> updates
>>
>>
>> ## Topics of Interest:
>>
>> - New candidate JEP: 431: Sequenced Collections
>> https://openjdk.org/jeps/431
>>
>> - New candidate JEP: 432: Record Patterns (2nd Preview)
>> https://openjdk.org/jeps/432
>>
>> - New candidate JEP: 433: Pattern Matching for switch (4th Preview)
>> https://openjdk.org/jeps/433
>>
>> - New candidate JEP: 434: Foreign Function & Memory API (2nd Preview)
>> https://openjdk.org/jeps/434
>>
>> - New candidate JEP: 435: Asynchronous Stack Trace VM API
>> https://openjdk.org/jeps/435
>>
>> - Selectively Shifting and Constraining Computation
>> https://openjdk.org/projects/leyden/notes/02-shift-and-constrain
>>
>> - The Age of Virtual Threads
>> https://urldefense.com/v3/__https://inside.java/2022/10/13/the-age-of-virtual-threads/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerXLWHzBI$
>>
>> - Dissecting Memory Sessions
>> https://urldefense.com/v3/__https://inside.java/2022/11/04/unifying-memory-addresses-and-memory-segments/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerDf5CJJU$
>>
>>
>> - GraalVM in OpenJDK and More JavaOne Announcements - Inside Java
>> Newscast #36
>> https://urldefense.com/v3/__https://inside.java/2022/11/03/newscast-036/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOery_v5Ej8$
>>
>> - Inside Java | JavaOne 2022 Technical Keynote
>> https://urldefense.com/v3/__https://inside.java/2022/10/24/inside-java-technical-keynote/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOerNx_482M$
>>
>> - Virtual Threads: New Foundations for High-Scale Java Applications
>> https://urldefense.com/v3/__https://www.infoq.com/articles/java-virtual-threads/__;!!ACWV5N9M2RV99hQ!MwKgX2_Q0eX2thpLw1JMsqTcvx1iOj5NNJPHfaxIq50W-FEwQHCxtZOQsCjLWdAE497i3-UIQtHUDOer1EyKTco$
>>
>>
>> ## October 2022 Critical Patch Update Released
>>
>> As part of the October 2022 CPU, we released JDK 19.0.1, JDK 17.0.5
>> LTS, JDK 11.0.17 LTS and JDK 8u351 as well as OpenJDK 19.0.1.
>>
>>
>>
>> That's it for this time. As usual, let us know if you find any issues
>> while testing your project(s) on the latest JDK early-access builds.
>> Thanks for your support!
>>
>> --David
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>> For additional commands, e-mail: dev-help@ant.apache.org
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org