JDK 27 Rampdown Phase is Closing - Default G1 in All Environments
"David Delabassee via dev" <[email protected]> Tue, 28 Jul 2026 09:17:06 +0000
| Newsgroups | gmane.comp.jakarta.lucene.devel |
|---|---|
| Message-ID | <SJ0PR10MB5488FE9C5523BB1AEF6F2348FCCB2@SJ0PR10MB5488.namprd10.prod.outlook.com> |
--_000_SJ0PR10MB5488FE9C5523BB1AEF6F2348FCCB2SJ0PR10MB5488namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Welcome to the OpenJDK Quality Outreach summer update! Everything is on track for the general availability of Java 27 on 15 Septem= ber, as JDK 27 is now in Rampdown Phase 2, meaning that only low-risk enhan= cements may still be considered. The first release candidate builds of JDK = 27 are expected in just over a week, once RDP2 concludes. This also means t= hat the window for testing your projects with JDK 27 has almost closed. If = you haven=92t done so, now is a good time to start testing your projects us= ing the JDK 28 early-access builds. Also of note, G1 is becoming the default garbage collector across all envir= onments in JDK 27. Make sure to check the Heads-Up below for more details. I=92ll conclude by highlighting two non-technical resources that are nevert= heless highly recommended: the Java documentary [1] and an episode of the I= nside Java podcast [2] discussing JEPs and how critical they are to the evo= lution of the platform. [1] https://inside.java/2026/07/18/the-java-documentary/ [2] https://inside.java/2026/06/25/podcast-060/ # Heads-up - JDK 27: Default G1 in All Environments In situations where no garbage collector is specified on the command line, = the HotSpot JVM used to select either G1 GC or Serial GC, depending on the = environment. It preferred G1, but due to Serial's past throughput and footp= rint advantages in constrained environments, the JVM would select the latte= r if only a single CPU or less than 1792 MB of physical memory was detected= . Recent work has made G1 competitive with Serial in those environments. Gene= rally speaking, G1 will have similar native memory overhead, slightly lower= throughput, and lower maximum latencies than Serial. To make it easier to = reason about the JVM's behavior, starting with JDK 27, it picks G1 as defau= lt garbage collector in all environments. This change: - does not remove Serial GC from the JDK, which remains available in situat= ions where its performance characteristics are preferable - does not interfere with applications that select a specific garbage colle= ctor on the command line - does not interfere with applications that run in environments with multip= le CPUs and more than 1792 MB of memory That means an application is affected by this change only if it runs in a c= onstrained environment and does not explicitly select a garbage collector. = In such cases, we recommend benchmarking the application with different GCs= to identify the one that best suits its needs. If that is not possible, th= e application can either use G1 as the new default or be configured to use = Serial to ensure that its GC-related performance characteristics remain unc= hanged. For more information, please check JEP 523 [3]. [3] https://openjdk.org/jeps/523 # Heads-up - JDK 28: New jlink Keystore plugin A new `jlink` plugin has been introduced in JDK 28. It allows users to spec= ify which CA certificates should be included in the `cacerts` keystore of a= custom runtime image. This is useful for creating runtime images that cont= ain only the CA certificates required by the applications that use those im= ages. The command-line option accepts one or more `cacerts` keystore aliase= s, separated by commas. For more details, see [4]. [4] https://bugs.openjdk.org/browse/JDK-8377102 # JDK 27 Early-Access Builds The JDK 27 early-access builds for Build 32 are now available [5], along wi= th the corresponding release notes [6]. [5] https://jdk.java.net/27/ [6] https://jdk.java.net/27/release-notes ## JEPs integrated into JDK 27: - 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 536: JFR In-Process Data Redaction - JEP 537: Vector API (12th Incubator) - JEP 538: PEM Encodings of Cryptographic Objects (3rd Preview) ## Changes in recent JDK 27 builds that may be of interest: - JDK-8381812: The synthetic $deserializeLambda$ is notably bigger [Reporte= d by Eclipse Collections] - JDK-8382582: Remove the experimental JVMCI feature - JDK-8373426: Remove ffdhe6144 and ffdhe8192 from default list of TLS name= d groups - JDK-8385957: JFR: Sensitive command-line arguments still in environment v= =85 - JDK-8381796: Enhance Certificate parsing - JDK-8368041: Enhance TLS certificate handling - JDK-8377833: Enhance Jar file processing - JDK-8380672: Improve certification checking - JDK-8360700: Implement JEP 534: Compact Object Headers by Default - JDK-8296183: jndiprovider.properties contains properties pointing to non-= existing classes - JDK-8378464: PixelInterleavedSampleModel constructors and methods do not = specify behavior =85 - JDK-8374348: Implement -XX:AOTMode=3Drequired as alias for -XX:AOTMode=3D= on - JDK-8382031: Update IANA Language Subtag Registry to Version 2026-05-05 - JDK-8357439: Add bash autocompletion for jcmd - JDK-8329548: Change KeyUpdate messages from TLS 1.3 - JDK-8386466: DESedeKeySpec.isParityAdjusted spec permits 8-byte key but R= I throws InvalidKeyException Note: A more exhaustive list of changes can be found here [7]. [7] https://github.com/openjdk/jdk/compare/jdk-27+22...jdk-27+32 # JDK 28 Early-Access Builds The JDK 28 early-access builds 8 are now available [8] for testing. You can= review the Release Notes here [9]. ## Changes in recent JDK 28 builds that may be of interest: - JDK-8385957: JFR: Sensitive command-line arguments still in environment v= =85 - JDK-8384557: Allow configuration of the JVM's temporary directory on Linu= x - JDK-8301626: Capture Named Group information in TLSHandshakeEvent - JDK-8374058: Enhance JPEG handling - JDK-8387123: Remove LuxTrust Global Root CA - JDK-8386200: ListFormat incorrectly escapes single quotes - JDK-8385834: Tighten ListFormat.getInstance(String[]) behavior for invali= d placeholders - JDK-8377102: New jlink plugin to specify the specific CA certificates to = include in =85 - JDK-6356745: (coll) Add PriorityQueue(Collection, Comparator) - JDK-8385304: X25519 should utilize aarch64 intrinsics - JDK-8380549: HttpCookie.expiryDate2DeltaSeconds returns 0 on parse failur= e, causing =85 - JDK-8376748: Emit runtime warnings for JCE algorithms that will be disabl= ed - JDK-8386322: Float16Vector.toString should render lane values using Float= 16.toString - JDK-8387377: Compilation is very slow when --module-path contains many Au= tomatic Modules =85 Note: A more exhaustive list of changes can be found here [10]. [8] https://jdk.java.net/28/ [9] https://jdk.java.net/28/release-notes [10] https://github.com/openjdk/jdk/compare/jdk-28+0...jdk-28+7 # JavaFX 27 Early-Access Builds The latest early-access builds of JavaFX 27 are available [11], along with = the corresponding JavaFX 27 Javadocs [12]. These EA builds enable JavaFX de= velopers to build and test their applications with JavaFX 27 on JDK 27. Alt= hough they are designed to work with JDK 27-ea, they are also known to work= with JDK 25 and later releases. [11] https://jdk.java.net/javafx27/ [12] https://download.java.net/java/early_access/javafx27/docs/api/overview= -summary.html # Topics of Interest - Java - The Documentary https://inside.java/2026/07/18/the-java-documentary/ - =93How JEPs Drive Java's Evolution=94 - Inside Java Podcast https://inside.java/2026/06/25/podcast-060/ - =93JDK 27 + Valhalla, Now!=94 - Inside Java Podcast https://inside.java/2026/07/19/podcast-062/ - =93Scripting JS and Python with Project Detroit=94 - Inside Java Podcast https://inside.java/2026/07/09/podcast-061/ - Identifying JDK Value Class Candidate https://mail.openjdk.org/archives/list/[email protected]/thread/Y72= NRXM7KYBX43OKYBQMVKOZDWKG4MHS - SIMD Vectors in the HotSpot JVM - Auto Vectorization and the Vector API https://inside.java/2026/07/02/simd-vectors-hotspot-jvm/ - ZGC: A Decade of Redefining Java Performance https://inside.java/2026/06/30/zgc-performance-decade/ - Better Tools for Immutable Data https://inside.java/2026/06/21/better-tools-immutable-data/ - Performance Improvements in JDK 26 https://inside.java/2026/06/09/jdk-26-performance-improvements/ - Java Next Language Features https://inside.java/2026/06/07/java-next-language-features/ - =93Java *is* Memory Efficient=94 - Inside Java Podcast https://inside.java/2026/05/28/podcast-059/ ~ As always, if you encounter any issues while running your project on JDK ea= rly-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. --David --_000_SJ0PR10MB5488FE9C5523BB1AEF6F2348FCCB2SJ0PR10MB5488namp_ 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 to the OpenJDK Quality Outreach summer update!</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"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);"> Everything is on track for the general availability of Java 27 on 15 Septem= ber, as JDK 27 is now in Rampdown Phase 2, meaning that only low-risk enhan= cements may still be considered. The first release candidate builds of JDK = 27 are expected in just over a week, once RDP2 concludes. This also means that the window for testing your proj= ects with JDK 27 has almost closed. If you haven=92t done so, now is a good= time to start testing your projects using the JDK 28 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);"> Also of note, G1 is becoming the default garbage collector across all envir= onments in JDK 27. Make sure to check the Heads-Up below for more details.<= /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);"> I=92ll conclude by highlighting two non-technical resources that are nevert= heless highly recommended: the Java documentary [1] and an episode of the I= nside Java podcast [2] discussing JEPs and how critical they are to the evo= lution of the platform.</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] <a href=3D"https://inside.java/2026/07/18/the-java-documentary/" data-o= utlook-id=3D"0c08a588-62f9-44a0-8241-6ec0a0d43014"> https://inside.java/2026/07/18/the-java-documentary/</a></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] <a href=3D"https://inside.java/2026/06/25/podcast-060/" data-outlook-id= =3D"6b838c83-ebc6-468b-ae66-4f1a582abff2"> https://inside.java/2026/06/25/podcast-060/</a></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: Default G1 in All Environments</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 situations where no garbage collector is specified on the command line, = the HotSpot JVM used to select either G1 GC or Serial GC, depending on the = environment. It preferred G1, but due to Serial's past throughput and footp= rint advantages in constrained environments, the JVM would select the latter if only a single CPU or less than 1792 MB = of physical memory was detected.</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);"> Recent work has made G1 competitive with Serial in those environments. Gene= rally speaking, G1 will have similar native memory overhead, slightly lower= throughput, and lower maximum latencies than Serial. To make it easier to = reason about the JVM's behavior, starting with JDK 27, it picks G1 as default garbage collector in all envi= ronments.</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);"> This change:</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);"> - does not remove Serial GC from the JDK, which remains available in situat= ions where its performance characteristics are preferable</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);"> - does not interfere with applications that select a specific garbage colle= ctor on the command line</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);"> - does not interfere with applications that run in environments with multip= le CPUs and more than 1792 MB of memory</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);"> That means an application is affected by this change only if it runs in a c= onstrained environment and does not explicitly select a garbage collector. = In such cases, we recommend benchmarking the application with different GCs= to identify the one that best suits its needs. If that is not possible, the application can either use G1 as t= he new default or be configured to use Serial to ensure that its GC-related= performance characteristics remain unchanged.</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, please check JEP 523 [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);"> [3] <a href=3D"https://openjdk.org/jeps/523" data-outlook-id=3D"78c1a992-2a= a9-45f1-929d-96111dfbe9bd"> https://openjdk.org/jeps/523</a></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 28: New jlink Keystore plugin</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);"> A new `jlink` plugin has been introduced in JDK 28. It allows users to spec= ify which CA certificates should be included in the `cacerts` keystore of a= custom runtime image. This is useful for creating runtime images that cont= ain only the CA certificates required by the applications that use those images. The command-line option accepts= one or more `cacerts` keystore aliases, separated by commas.</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 details, see [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);"> [4] <a href=3D"https://bugs.openjdk.org/browse/JDK-8377102" data-outlook-id= =3D"0688ae2b-84bc-41e8-8265-09effe4b73dc"> https://bugs.openjdk.org/browse/JDK-8377102</a></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 JDK 27 early-access builds for Build 32 are now available [5], along wi= th the corresponding 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] <a href=3D"https://jdk.java.net/27/" data-outlook-id=3D"6e7d4b37-378b-4= 996-86da-d3cfce471252"> https://jdk.java.net/27/</a></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] <a href=3D"https://jdk.java.net/27/release-notes" data-outlook-id=3D"e7= ff679b-8e83-4a0c-9b37-7864aa96fa78"> https://jdk.java.net/27/release-notes</a></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 integrated into JDK 27:</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);"> - 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 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 537: Vector API (12th Incubator)</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 (3rd Preview)</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"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-8381812: The synthetic $deserializeLambda$ is notably bigger [Reporte= d by Eclipse Collections]</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-8382582: Remove the experimental JVMCI feature </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-8373426: Remove ffdhe6144 and ffdhe8192 from default list of TLS name= d groups </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-8385957: JFR: Sensitive command-line arguments still in environment v= =85</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-8381796: Enhance Certificate parsing</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-8368041: Enhance TLS certificate handling</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-8377833: Enhance Jar file processing</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-8380672: Improve certification checking</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-8360700: Implement 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);"> - JDK-8296183: jndiprovider.properties contains properties pointing to non-= existing classes </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-8378464: PixelInterleavedSampleModel constructors and methods do not = specify behavior =85</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-8374348: Implement -XX:AOTMode=3Drequired as alias for -XX:AOTMode=3D= on</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-8382031: Update IANA Language Subtag Registry to Version 2026-05-05</= 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-8357439: Add bash autocompletion for 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);"> - JDK-8329548: Change KeyUpdate messages from 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);"> - JDK-8386466: DESedeKeySpec.isParityAdjusted spec permits 8-byte key but R= I throws InvalidKeyException</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] <a href=3D"https://github.com/openjdk/jdk/compare/jdk-27+22...jdk-27+32= " data-outlook-id=3D"39f9b388-9a9b-4f09-8979-d81ecc99b302"> https://github.com/openjdk/jdk/compare/jdk-27+22...jdk-27+32</a></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 28 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 JDK 28 early-access builds 8 are now available [8] for testing. You can= review the Release Notes here [9].</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 28 builds that may be 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);"> - JDK-8385957: JFR: Sensitive command-line arguments still in environment v= =85</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-8384557: Allow configuration of the JVM's temporary directory on Linu= x</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-8301626: Capture Named Group information in TLSHandshakeEvent </= 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-8374058: Enhance JPEG handling</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-8387123: Remove LuxTrust Global Root CA </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-8386200: ListFormat incorrectly escapes single quotes </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-8385834: Tighten ListFormat.getInstance(String[]) behavior for invali= d placeholders </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-8377102: New jlink plugin to specify the specific CA certificates to = include in =85</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-6356745: (coll) Add PriorityQueue(Collection, Comparator) </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-8385304: X25519 should utilize aarch64 intrinsics </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-8380549: HttpCookie.expiryDate2DeltaSeconds returns 0 on parse failur= e, causing =85</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-8376748: Emit runtime warnings for JCE algorithms that will be disabl= ed</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-8386322: Float16Vector.toString should render lane values using Float= 16.toString</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-8387377: Compilation is very slow when --module-path contains many Au= tomatic Modules =85</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 [10].</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] <a href=3D"https://jdk.java.net/28/" data-outlook-id=3D"f44460bf-31cd-4= ddf-a16e-3708c696a5af"> https://jdk.java.net/28/</a></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] <a href=3D"https://jdk.java.net/28/release-notes" data-outlook-id=3D"4f= 5f6c72-e1d6-4cce-bbb2-073938b2502e"> https://jdk.java.net/28/release-notes</a></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);"> [10] <a href=3D"https://github.com/openjdk/jdk/compare/jdk-28+0...jdk-28+7"= data-outlook-id=3D"082e0192-8905-4990-94a8-74adc8d08ad4"> https://github.com/openjdk/jdk/compare/jdk-28+0...jdk-28+7</a></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 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 early-access builds of JavaFX 27 are available [11], along with = the corresponding JavaFX 27 Javadocs [12]. These EA builds enable JavaFX de= velopers to build and test their applications with JavaFX 27 on JDK 27. Alt= hough they are designed to work with JDK 27-ea, they are also known to work with JDK 25 and later releases= .</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);"> [11] <a href=3D"https://jdk.java.net/javafx27/" data-outlook-id=3D"ad67707c= -ae85-470f-a61e-9a25373ae818"> https://jdk.java.net/javafx27/</a></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);"> [12] <a href=3D"https://download.java.net/java/early_access/javafx27/docs/a= pi/overview-summary.html" data-outlook-id=3D"d61c322f-29f6-492d-b9df-2fb7a9= 85d722"> https://download.java.net/java/early_access/javafx27/docs/api/overview-summ= ary.html</a></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);"> - Java - The Documentary </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);"> <a href=3D"https://inside.java/2026/07/18/the-java-documentary/" data-outlo= ok-id=3D"7a7cae88-47e9-483b-8385-c72d0b93e897">https://inside.java/2026/07/= 18/the-java-documentary/</a></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);"> - =93How JEPs Drive Java's Evolution=94 - Inside Java Podcast</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);"> <a href=3D"https://inside.java/2026/06/25/podcast-060/" data-outlook-id=3D"= 5775568d-8aeb-4b87-9229-d0051e42a646">https://inside.java/2026/06/25/podcas= t-060/</a></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);"> - =93JDK 27 + Valhalla, Now!=94 - Inside Java Podcast</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);"> <a href=3D"https://inside.java/2026/07/19/podcast-062/" data-outlook-id=3D"= 6c58c285-f24d-4b50-86ae-d21daa9259ae">https://inside.java/2026/07/19/podcas= t-062/</a></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);"> - =93Scripting JS and Python with Project Detroit=94 - Inside Java Podcast&= 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);"> <a href=3D"https://inside.java/2026/07/09/podcast-061/" data-outlook-id=3D"= 26efba24-f421-4af6-9fa2-75870cae5659">https://inside.java/2026/07/09/podcas= t-061/</a></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);"> - Identifying JDK Value Class Candidate</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);"> <a href=3D"https://mail.openjdk.org/archives/list/[email protected]= /thread/Y72NRXM7KYBX43OKYBQMVKOZDWKG4MHS" data-outlook-id=3D"93df205c-3c35-= 4c59-95ae-ee855279706c">https://mail.openjdk.org/archives/list/core-libs-de= [email protected]/thread/Y72NRXM7KYBX43OKYBQMVKOZDWKG4MHS</a></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);"> - SIMD Vectors in the HotSpot JVM - Auto Vectorization and the Vector API&n= bsp;</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);"> <a href=3D"https://inside.java/2026/07/02/simd-vectors-hotspot-jvm/" data-o= utlook-id=3D"9a50dbfd-8c2d-4f49-9af4-807292f0c568">https://inside.java/2026= /07/02/simd-vectors-hotspot-jvm/</a></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);"> - ZGC: A Decade of Redefining Java Performance</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);"> <a href=3D"https://inside.java/2026/06/30/zgc-performance-decade/" data-out= look-id=3D"362b4845-831c-4ac6-8d11-33acf113f7c1">https://inside.java/2026/0= 6/30/zgc-performance-decade/</a></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);"> - Better Tools for Immutable Data</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);"> <a href=3D"https://inside.java/2026/06/21/better-tools-immutable-data/" dat= a-outlook-id=3D"10f9825b-3c82-4fe1-aea7-bbae1c4c6054">https://inside.java/2= 026/06/21/better-tools-immutable-data/</a></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);"> - Performance Improvements in JDK 26 </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);"> <a href=3D"https://inside.java/2026/06/09/jdk-26-performance-improvements/"= data-outlook-id=3D"1249c7c7-a8e3-4554-a228-3a7b59d9fced">https://inside.ja= va/2026/06/09/jdk-26-performance-improvements/</a></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 Next Language Features </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);"> <a href=3D"https://inside.java/2026/06/07/java-next-language-features/" dat= a-outlook-id=3D"6ba77d91-2a95-4427-9813-4bedd899ec67">https://inside.java/2= 026/06/07/java-next-language-features/</a></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);"> - =93Java *is* Memory Efficient=94 - Inside Java Podcast </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);"> <a href=3D"https://inside.java/2026/05/28/podcast-059/" data-outlook-id=3D"= 1d301ff0-1fdb-4ad9-938f-9cf4cd2c3eeb">https://inside.java/2026/05/28/podcas= t-059/</a></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 ea= rly-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"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);"> --David</div> </div> </body> </html> --_000_SJ0PR10MB5488FE9C5523BB1AEF6F2348FCCB2SJ0PR10MB5488namp_--