RELEASE NOTES: JDK 27.0.2

Notes generated: Sun Sep 20 06:38:32 CEST 2026

JEPs

None.

RELEASE NOTES

security-libs/javax.net.ssl

Issue Description
JDK-8301626

Capture Named Group information in TLSHandshakeEvent


The jdk.TLSHandshakeEvent JFR event now records the named group that is negotiated in a TLS handshake. A new field named namedGroup has been added to the event.


hotspot/runtime

Issue Description
JDK-8384557

Allow configuration of the JVM's temporary directory on Linux


An advanced serviceability option has been added to the JVM to allow configuration of an alternate temporary directory on Linux.

-XX:AltTempDir=/path

On Linux, the usual directory to use for temporary files is /tmp. In some secure container environments however, /tmp is made read-only and so is unusable by the VM for its temporary files. To accommodate this uncommon circumstance the -XX:AltTempDir flag can be used to tell the VM to use a different temporary directory.

See the java man page under ADVANCED SERVICEABILITY OPTIONS FOR JAVA for more details.


tools/jlink

Issue Description
JDK-8387324

jlink --strip-debug` now removes external debug symbol files (.debuginfo, .diz, .dSYM, .pdb)


jlink --strip-debug now removes external debug symbol files (.debuginfo, .diz, .dSYM, .pdb)

The jlink --strip-debug option previously only stripped embedded native debug symbols from executables and shared libraries (i.e. debug info stored inside the binary itself). When a JDK was built with --with-native-debug-symbols=external — the default for fastdebug and debug builds — the accompanying .debuginfo and .diz files were silently copied into the resulting image, leaving debug information present despite the intent of --strip-debug.

The option now consistently excludes external debug symbol files (.debuginfo and .diz) from the generated image on Linux, regardless of how the source JDK was built. The behavior for builds using --with-native-debug-symbols=internal is unchanged.


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P3 JDK-8386576 Calculating Area using a complex polygon creates spurious horizontal line segments
P3 JDK-8387593 Using XOR mode to clear the content leaves some traces in metal

client-libs/java.awt

Priority Bug Summary
P4 JDK-8389648 [TEST_BUG] java/awt/TextField/CaretPositionTest/CaretPositionTest.java fails in OL-9
P4 JDK-8389509 SetPrinterDevice check GlobalAlloc return value

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8348872 jabswitch.cpp: regEnable and regDeleteValue leak reallocated data buffer

core-libs/java.net

Priority Bug Summary
P4 JDK-8388538 com/sun/net/httpserver/simpleserver/jwebserver/MaxRequestTimeTest.java does not test the maximum request time
P4 JDK-8387273 Enhance httpserver logging to log when maxConnections is reached

core-libs/java.nio

Priority Bug Summary
P3 JDK-8390212 (dc) On AIX, DatagramChannel.join can join IPv4 multicast group with IPv6 socket

hotspot/compiler

Priority Bug Summary
P2 JDK-8390874 MethodData::extra_data_lock memory leak
P3 JDK-8390765 [PPC64] AES Crypto intrinsics may access memory beyond the key array
P3 JDK-8391881 RISC-V: jni_fast_GetField registers the wrong pc for the speculative load
P4 JDK-8391757 [PPC64] C1 runs into assertion with -XX:+VerifyOops
P4 JDK-8386474 Aarch64: Correct static_assert((N & (N - 1)) == 0
P4 JDK-8382135 AArch64: HotCodeCollectorMoveFunction.java fails intermittently
P4 JDK-8387721 C2: Print Node barrier data
P4 JDK-8384606 HotCodeHeap tests require C2
P4 JDK-8387414 Insufficient feature gate in vm_version_x86 for UseKyberIntrinsics
P4 JDK-8389966 Remove dangling bootstrap compile reason name
P4 JDK-8390521 RISC-V: Clean up vector register dispatch in MachSpillCopyNode::implementation
P4 JDK-8390441 RISC-V: Fix C2 stack-to-stack spill copies with large offsets
P4 JDK-8391041 RISC-V: Fix out-of-bounds read in string_indexof_char intrinsic
P4 JDK-8392156 RISC-V: Inverted VerifyStackAtCalls condition in in_preserve_stack_slots()
P4 JDK-8386580 Typing corrections and style improvements in x86 ML DSA/KEM/SHA3 stub code
P4 JDK-8391908 X86: string indexof stubs use a wrong jump table

hotspot/gc

Priority Bug Summary
P2 JDK-8389846 GenShen: ShenandoahScanRemembered::process_clusters may miss dirty cards when use write table
P2 JDK-8389905 Shenandoah: SBSA::card_table uses own temp registers that clobber obj
P3 JDK-8390452 RISC-V: gc/shenandoah/TestSieveObjects.java fails with "assert(UseZba) failed: must be"
P3 JDK-8382627 Shenandoah: assert(old_reserve_result + young_reserve_result <= old_available + young_available) failed
P3 JDK-8391646 Shenandoah: Mach node analysis should not strip extra bits
P3 JDK-8390122 Shenandoah: SBS::oop_load drops memory ordering decorators
P4 JDK-8386288 GenShen: assert(region->get_top_before_promote() == nullptr) failed: Cannot add region scheduled for in-place-promotion to the collection set
P4 JDK-8386202 Genshen: Regulator thread reporting hiccup times proportional to safepoint times
P4 JDK-8387391 hotspot_gc_shenandoah should include gtests
P4 JDK-8387293 Shenandoah: Improve gc+stats logging for generational mode
P4 JDK-8387907 Shenandoah: Marking loop prefetch
P4 JDK-8388173 Shenandoah: Overly strict assertion failure in CAS barrier
P4 JDK-8386992 Shenandoah: Pad hot atomic counters to avoid false sharing on the allocation path
P4 JDK-8385732 Shenandoah: Penalize triggering heuristics for out-of-cycle degenerated
P4 JDK-8390307 Shenandoah: Print region age in region printouts
P4 JDK-8388756 Shenandoah: Re-learning at explicit GC request considered harmful
P4 JDK-8385643 Shenandoah: Rework mark loop inlining
P4 JDK-8387961 Shenandoah: Rework marked objects loop prefetch
P4 JDK-8387713 Shenandoah: Rework native card table barrier
P4 JDK-8386292 Shenandoah: Simplify and strengthen C1 barriers
P4 JDK-8387707 Shenandoah: Simplify reserved queue handling in mark loop
P4 JDK-8386872 Test gc/shenandoah/generational/TestOldGrowthTriggers still fails intermittently
P4 JDK-8390654 Test gc/TestUseGCOverheadLimit.java#G1 fails on linux-arm32
P4 JDK-8391060 ZGC: ZMarkingSMR re-orded hazard pointer loads with unlinking results in use after free
P5 JDK-8386252 Shenandoah: Polish LRB argument preparation

hotspot/jfr

Priority Bug Summary
P3 JDK-8392334 JFR: Incorrect average duration for 'jfr view'

hotspot/jvmti

Priority Bug Summary
P4 JDK-8336666 Investigate why AIX needs more metaspace in test serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java

hotspot/runtime

Priority Bug Summary
P3 JDK-8390386 [Linux] Systemd tests failing on systemd newer than 257
P3 JDK-8384557 Allow configuration of the JVM's temporary directory on Linux
P3 JDK-8388385 CDS dumping fails with circular JAR manifest Class-Path
P3 JDK-8390314 Linux: "assert(current_limit <= upper_bound) failed: invariant" build failure on incus (cgroups)
P4 JDK-8380647 ASAN: heap-buffer-overflow in ArchiveBuilder::make_shallow_copy
P4 JDK-8390033 Disable stringop-overflow in shenandoahHeap.cpp
P4 JDK-8390469 LogTest_large_message_vm_Test::TestBody crashes in case of low disc space
P4 JDK-8390132 Test runtime/cds/appcds/ClassPathAttrCircularReference.java "written dynamic archive" missing in output

hotspot/svc-agent

Priority Bug Summary
P4 JDK-8382338 Various serviceability agent tests fail on Linux x86_64 with LTO enabled

infrastructure

Priority Bug Summary
P4 JDK-8392456 Configure fails with --enable-aarch64-sve and --with-extra-cflags='-Wall'
P4 JDK-8391224 Fix Amazon copyright in various files

infrastructure/build

Priority Bug Summary
P3 JDK-8387315 Add macosx-aarch64 bootcycle build profiles
P4 JDK-8338063 Passing "|" as argument to TEST fails

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P4 JDK-8389453 [unix] Avoid unused variables warnings in libj2pkcs11 and adjust malloc rv handling
P4 JDK-8388872 Avoid unused variables warnings in libj2pkcs11
P4 JDK-8388412 Update PKCS#11 Cryptographic Token Interface to v3.2

security-libs/javax.net.ssl

Priority Bug Summary
P3 JDK-8301626 Capture Named Group information in TLSHandshakeEvent
P4 JDK-8387124 Incomplete algorithm decomposition for TLS 1.3 cipher suites in SSLAlgorithmDecomposer
P5 JDK-8387874 Timeout when running test BulkCipherDisabledAlgorithms

tools/jlink

Priority Bug Summary
P3 JDK-8375623 Excessive disk space usage of jpackage and jlink tests in debug builds after JDK-8373246
P3 JDK-8389480 GenerateJLIClassesPluginTest.java and IncludeLocalesPluginTest.java tests in tools/jlink/plugins/ fail due to AccessDeniedExceptions on Windows
P4 JDK-8387324 jlink --strip-debug should filter external debug symbols

tools/jpackage

Priority Bug Summary
P3 JDK-8391473 jpackage ignores exit code of the "dpkg-deb" command