JDK 27 Approaches Rampdown / Final Field Mutation Warnings Heads-up
David Delabassee via Jython-dev <[email protected]> Thu, 21 May 2026 08:11:21 +0000
| Newsgroups | gmane.comp.lang.jython.devel |
|---|---|
| Message-ID | <DM8PR10MB5477128E11B6CD7CC9FB4B57FC0E2@DM8PR10MB5477.namprd10.prod.outlook.com> |
--===============6237180054932901346== Content-Language: en-GB Content-Type: multipart/alternative; boundary="_000_DM8PR10MB5477128E11B6CD7CC9FB4B57FC0E2DM8PR10MB5477namp_" --_000_DM8PR10MB5477128E11B6CD7CC9FB4B57FC0E2DM8PR10MB5477namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Welcome! This is the last Quality Outreach note before JDK 27 enters Rampdo= wn Phase One (RDP1) in early June, with the GA release planned for Septembe= r. It is also worth mentioning that recent JDK 27 EA builds include fixes f= or issues reported by projects participating in the Quality Outreach effort= , including Tomcat, Hibernate, and jOOQ. Thanks to them for their continued= collaboration and testing! I=92ll conclude this brief update by encouraging everyone to review the QO = heads-up below. It only takes a few minutes, but doing so can sometimes sav= e a lot of time down the road! # Heads-Up - JDK 27: Post-Quantum Hybrid Key Exchange for TLS 1.3 JDK 27 early-access builds now integrate JEP 527, which adds hybrid post-qu= antum key exchange support for TLS 1.3 to Java. This approach combines clas= sical elliptic-curve cryptography with the quantum-resistant ML-KEM algorit= hm to help mitigate =93harvest now, decrypt later=94 attacks. By default, Java applications using the standard `javax.net.ssl` APIs will = automatically negotiate hybrid post-quantum key exchange when supported by = both client and server, unless the application explicitly overrides the def= ault TLS named groups. The X25519MLKEM768 hybrid group is enabled alongside= existing classical groups, while additional hybrid configurations can be c= ontrolled through `jdk.tls.namedGroups` or `SSLParameters::setNamedGroups`. For more information, see [1]. [1] https://inside.java/2026/05/17/quality-heads-up/ # Heads-Up - JDK 27: Removal of Deprecated Java Launcher Options Support for the options `-noclassgc`, `-verifyremote`, `-Xverify:none`, and= `-noverify`, which were deprecated several releases ago, is removed from t= he Java launcher in JDK 27, and usage of any of these options will fail wit= h an error. In the case of the former two, `-Xnoclassgc` and `-Xverify:remote` should b= e used instead. No alternative is being provided for `-Xverify:none` and `-= noverify`, as disabling bytecode verification (which is what these two opti= ons do) is not recommended. For more information, see [2]. [2] https://inside.java/2026/05/13/quality-heads-up/ # Heads-Up - JDK 26: Final Field Mutation Warnings Java's reflection API allows the mutation of final fields outside of constr= uction. This undermines the integrity of the language, which promises exact= ly-once semantics for final field assignment. This, in turn, has negative d= ownstream effects for integrity, performance, and security. With JDK 26, Java has moved toward =93integrity by default=94 for final fie= lds, with the JVM now emitting warnings when code attempts to mutate final = fields reflectively. These new warnings can be disabled using command-line = options. The permanent option `--enable-final-field-mutation` allows specif= ic modules to mutate final fields. The temporary option `--illegal-final-fi= eld-mutation`, with values `warn` (the default in JDK 26), `allow`, `debug`= , or `deny` (the future default), controls how code without specific permis= sion attempting to mutate final fields will be handled. For more information, see [3] and [4]. [3] https://inside.java/2026/05/15/quality-heads-up/ [4] https://inside.java/2026/04/27/avoiding-final-field-mutation/ # JDK 27 Early-Access Builds The latest JDK 27 early-access builds are available[5], along with the corr= esponding Release Notes[6]. [5] https://jdk.java.net/27/ [6] https://jdk.java.net/27/release-notes ## JEPs targeted to JDK 27, so far: - JEP 523: Make G1 the Default Garbage Collector in All Environments - JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3 - JEP 531: Lazy Constants (3rd Preview) - JEP 532: Primitive Types in Patterns, instanceof, and switch (5th Preview= ) - JEP 533: Structured Concurrency (7th Preview) - JEP 534: Compact Object Headers by Default - JEP 537: Vector API (12th Incubator) ## JEPs proposed to target JDK 27: - JEP 528: Post-Mortem Crash Analysis with jcmd - JPE 536: JFR In-Process Data Redaction - JEP 538: PEM Encodings of Cryptographic Objects ## Changes in recent JDK 27 builds that may be of interest: - JDK-8273874: LdapClient can trigger memory leak [Reported by Apache Tomca= t] - JDK-8371817: javac with annotation processor throws AE: Cannot add metada= ta to this type: METHOD when dealing with local classes [Reported by Hibern= ate] - JDK-8305250: Unnecessary "unknown enum constant" warning emitted by javac= when dependency has optional annotations with enums [Reported by JOOQ] - JDK-8368864: Confusing error message (or wrong error) when record compone= nt has @deprecated Javadoc tag [Reported by JOOQ] - JDK-8381670: Revert the changes to GZIPInputStream related to InputStream= .available() usage - JDK-8372351: Add 2 WISeKey roots - JDK-8371842: Update CLDR to Version 48.2 - JDK-8373481: Remove the deprecated -noclassgc, -noverify, -Xverify:none a= nd -verifyremote options from the java launcher - JDK-8372526: Add support for ZLIB TLS Certificate Compression - JDK-8382740: JFR: Disable jdk.OldObjectSample event for generational ZGC - JDK-8381436: Remove Obsolete Translation Resources - JDK-8364182: Add jcmd VM.security_properties command - JDK-8369917: LMS/HSS RFC 9858 Support - JDK-8196182: ServiceLoader.iterator().hasNext()/.next() may throw a Linka= geError - JDK-8378228: Replace jQuery UI autocomplete component in JavaDoc search - JDK-8347112: Copy nested directories in doc-files by default - JDK-8379973: Provide means to customize localized patterns in DateTimeFor= matter/Builder - JDK-8383175: (tz) Update Timezone Data to 2026b - JDK-8380542: ZipOutputStream.setComment and ZipEntry.setComment spec upda= tes for rejecting unmappable characters and allowing null or empty comments - JDK-8373922: Enhance Taglet API to support relative URLs - JDK-8374839: Improve jpackage information messages Note: A more exhaustive list of changes can be found here[7]. [7] https://github.com/openjdk/jdk/compare/jdk-27+17...jdk-27+22 # JavaFX Direct3D 12 Early-Access Builds New early-access JavaFX builds implementing the new Direct3D 12 graphics re= ndering pipeline for Windows x64 are now available[8]. The goal of this EA= builds is to solicit feedback as we work toward integrating this functiona= lity into JavaFX. Feedback can be sent to the openjfx-dev[9] mailing list (= registration required). [8] https://jdk.java.net/javafxdirect3d12/ [9] https://mail.openjdk.org/mailman/listinfo/openjfx-dev # Topics of Interest - Ask the Architects at JavaOne https://inside.java/2026/04/23/podcast-056/ - How the JVM Optimizes Generic Code https://inside.java/2026/04/19/generics-optimization/ - Java 26: Better Language, Better APIs, Better Runtime https://inside.java/2026/05/19/javaone-better-jdk26/ - Post-Mortem JVM Crash Analysis with jcmd https://inside.java/2026/05/16/javaone-jcmd-jvm-analysis/ - Java Gets Post-Quantum TLS https://inside.java/2026/05/14/newscast-112/ - The JDK Client Desktop: 2026 and Still Swinging https://inside.java/2026/05/03/jdk-client-desktop/ - Make Java Safer with Flexible Constructor Bodies https://inside.java/2026/04/30/newscast-111/ - Avoiding Final Field Mutation https://inside.java/2026/04/27/avoiding-final-field-mutation/ - How JDK 26 Improves G1's Throughput https://inside.java/2026/04/09/podcast-054/ - JavaOne 2026 Playlist (Continuously updated) https://www.youtube.com/playlist?list=3DPLX8CzqL3ArzUMVSzm-z_-if8BIB55EGl4 ~ As always, if you encounter any issues while running your project on JDK 27= early-access builds, please feel free to reach out. P.S. If you would prefer not to receive future OpenJDK Quality Outreach upd= ates, just let me know. =97David --_000_DM8PR10MB5477128E11B6CD7CC9FB4B57FC0E2DM8PR10MB5477namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1= 252"> </head> <body> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> Welcome! This is the last Quality Outreach note before JDK 27 enters Rampdo= wn Phase One (RDP1) in early June, with the GA release planned for Septembe= r. It is also worth mentioning that recent JDK 27 EA builds include fixes f= or issues reported by projects participating in the Quality Outreach effort, including Tomcat, Hibernate, and jOOQ. Tha= nks to them for their continued collaboration and testing!</div> <div id=3D"ms-outlook-mobile-signature"> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> I=92ll conclude this brief update by encouraging everyone to review the QO = heads-up below. It only takes a few minutes, but doing so can sometimes sav= e a lot of time down the road!</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # Heads-Up - JDK 27: Post-Quantum Hybrid Key Exchange for TLS 1.3</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> JDK 27 early-access builds now integrate JEP 527, which adds hybrid post-qu= antum key exchange support for TLS 1.3 to Java. This approach combines clas= sical elliptic-curve cryptography with the quantum-resistant ML-KEM algorit= hm to help mitigate =93harvest now, decrypt later=94 attacks.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> By default, Java applications using the standard `javax.net.ssl` APIs will = automatically negotiate hybrid post-quantum key exchange when supported by = both client and server, unless the application explicitly overrides the def= ault TLS named groups. The X25519MLKEM768 hybrid group is enabled alongside existing classical groups, while additio= nal hybrid configurations can be controlled through `jdk.tls.namedGroups` o= r `SSLParameters::setNamedGroups`.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> For more information, see [1].</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [1] https://inside.java/2026/05/17/quality-heads-up/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # Heads-Up - JDK 27: Removal of Deprecated Java Launcher Options</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> Support for the options `-noclassgc`, `-verifyremote`, `-Xverify:none`, and= `-noverify`, which were deprecated several releases ago, is removed from t= he Java launcher in JDK 27, and usage of any of these options will fail wit= h an error.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> In the case of the former two, `-Xnoclassgc` and `-Xverify:remote` should b= e used instead. No alternative is being provided for `-Xverify:none` and `-= noverify`, as disabling bytecode verification (which is what these two opti= ons do) is not recommended.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> For more information, see [2].</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [2] https://inside.java/2026/05/13/quality-heads-up/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # Heads-Up - JDK 26: Final Field Mutation Warnings</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> Java's reflection API allows the mutation of final fields outside of constr= uction. This undermines the integrity of the language, which promises exact= ly-once semantics for final field assignment. This, in turn, has negative d= ownstream effects for integrity, performance, and security.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> With JDK 26, Java has moved toward =93integrity by default=94 for final fie= lds, with the JVM now emitting warnings when code attempts to mutate final = fields reflectively. These new warnings can be disabled using command-line = options. The permanent option `--enable-final-field-mutation` allows specific modules to mutate final fields. The temporary option `--il= legal-final-field-mutation`, with values `warn` (the default in JDK 26), `a= llow`, `debug`, or `deny` (the future default), controls how code without s= pecific permission attempting to mutate final fields will be handled.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> For more information, see [3] and [4].</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [3] https://inside.java/2026/05/15/quality-heads-up/</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [4] https://inside.java/2026/04/27/avoiding-final-field-mutation/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # JDK 27 Early-Access Builds</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> The latest JDK 27 early-access builds are available[5], along with the corr= esponding Release Notes[6].</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [5] https://jdk.java.net/27/</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [6] https://jdk.java.net/27/release-notes</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> ## JEPs targeted to JDK 27, so far:</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 523: Make G1 the Default Garbage Collector in All Environments</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 531: Lazy Constants (3rd Preview)</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 532: Primitive Types in Patterns, instanceof, and switch (5th Preview= )</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 533: Structured Concurrency (7th Preview)</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 534: Compact Object Headers by Default</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 537: Vector API (12th Incubator)</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> ## JEPs proposed to target JDK 27:</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 528: Post-Mortem Crash Analysis with jcmd</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JPE 536: JFR In-Process Data Redaction</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JEP 538: PEM Encodings of Cryptographic Objects</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> ## Changes in recent JDK 27 builds that may be of interest:</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8273874: LdapClient can trigger memory leak [Reported by Apache Tomca= t]</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8371817: javac with annotation processor throws AE: Cannot add metada= ta to this type: METHOD when dealing with local classes [Reported by Hibern= ate]</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8305250: Unnecessary "unknown enum constant" warning emitte= d by javac when dependency has optional annotations with enums [Reported by= JOOQ]</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8368864: Confusing error message (or wrong error) when record compone= nt has @deprecated Javadoc tag [Reported by JOOQ]</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8381670: Revert the changes to GZIPInputStream related to InputStream= .available() usage </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8372351: Add 2 WISeKey roots </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8371842: Update CLDR to Version 48.2 </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8373481: Remove the deprecated -noclassgc, -noverify, -Xverify:none a= nd -verifyremote options from the java launcher </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8372526: Add support for ZLIB TLS Certificate Compression </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8382740: JFR: Disable jdk.OldObjectSample event for generational ZGC&= nbsp;</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8381436: Remove Obsolete Translation Resources </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8364182: Add jcmd VM.security_properties command </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8369917: LMS/HSS RFC 9858 Support </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8196182: ServiceLoader.iterator().hasNext()/.next() may throw a Linka= geError </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8378228: Replace jQuery UI autocomplete component in JavaDoc search</= div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8347112: Copy nested directories in doc-files by default</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8379973: Provide means to customize localized patterns in DateTimeFor= matter/Builder</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8383175: (tz) Update Timezone Data to 2026b </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8380542: ZipOutputStream.setComment and ZipEntry.setComment spec upda= tes for rejecting unmappable characters and allowing null or empty comments= </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8373922: Enhance Taglet API to support relative URLs</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JDK-8374839: Improve jpackage information messages</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> Note: A more exhaustive list of changes can be found here[7].</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [7] https://github.com/openjdk/jdk/compare/jdk-27+17...jdk-27+22</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # JavaFX Direct3D 12 Early-Access Builds</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> New early-access JavaFX builds implementing the new Direct3D 12 graphics re= ndering pipeline for Windows x64 are now available[8]. The goal of th= is EA builds is to solicit feedback as we work toward integrating this func= tionality into JavaFX. Feedback can be sent to the openjfx-dev[9] mailing list (registration required).</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [8] https://jdk.java.net/javafxdirect3d12/</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> [9] https://mail.openjdk.org/mailman/listinfo/openjfx-dev</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> # Topics of Interest</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Ask the Architects at JavaOne</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/04/23/podcast-056/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - How the JVM Optimizes Generic Code</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/04/19/generics-optimization/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Java 26: Better Language, Better APIs, Better Runtime</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/05/19/javaone-better-jdk26/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Post-Mortem JVM Crash Analysis with jcmd</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/05/16/javaone-jcmd-jvm-analysis/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Java Gets Post-Quantum TLS</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/05/14/newscast-112/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - The JDK Client Desktop: 2026 and Still Swinging</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/05/03/jdk-client-desktop/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Make Java Safer with Flexible Constructor Bodies</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/04/30/newscast-111/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - Avoiding Final Field Mutation</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/04/27/avoiding-final-field-mutation/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - How JDK 26 Improves G1's Throughput</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://inside.java/2026/04/09/podcast-054/</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> - JavaOne 2026 Playlist (Continuously updated)</div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> https://www.youtube.com/playlist?list=3DPLX8CzqL3ArzUMVSzm-z_-if8BIB55EGl4<= /div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> ~</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> As always, if you encounter any issues while running your project on JDK 27= early-access builds, please feel free to reach out.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"font-family: -apple-system, BlinkMacSystemFont, "Segoe U= I", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans&qu= ot;, "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0,= 0, 0);"> P.S. If you would prefer not to receive future OpenJDK Quality Outreach upd= ates, just let me know.</div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> <br> </div> <div style=3D"direction: ltr; font-family: -apple-system, BlinkMacSystemFon= t, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", &qu= ot;Droid Sans", "Helvetica Neue", sans-serif; font-size: 11p= t; color: rgb(0, 0, 0);"> =97David</div> </div> </body> </html> --_000_DM8PR10MB5477128E11B6CD7CC9FB4B57FC0E2DM8PR10MB5477namp_-- --===============6237180054932901346== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============6237180054932901346== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Jython-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jython-dev --===============6237180054932901346==--