RELEASE NOTES: JDK 27.0.2

Notes generated: Sun Aug 30 06:39:09 CEST 2026

JEPs

None.

RELEASE NOTES

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.


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

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

core-libs/java.time

Priority Bug Summary
P3 JDK-8388214 (tz) Update Timezone Data to 2026c

core-libs/java.util:i18n

Priority Bug Summary
P3 JDK-8390380 Cherry-pick metazone changes from CLDR to support tzdata2026c for JDK update releases

hotspot/compiler

Priority Bug Summary
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-8386580 Typing corrections and style improvements in x86 ML DSA/KEM/SHA3 stub code

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-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-8390654 Test gc/TestUseGCOverheadLimit.java#G1 fails on linux-arm32
P5 JDK-8386252 Shenandoah: Polish LRB argument preparation

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-8390033 Disable stringop-overflow in shenandoahHeap.cpp
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

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
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