RELEASE NOTES: JDK 25.0.5

Notes generated: Wed Aug 12 07:33:00 CEST 2026

JEPs

None.

RELEASE NOTES

security-libs/javax.net.ssl

Issue Description
JDK-8314323

Post-Quantum Hybrid Key Exchange for TLS 1.3


Hybrid key exchange algorithms for TLS 1.3 have been implemented, enhancing the security of Java applications that require secure network communication. These algorithms defend against future quantum computing attacks by combining a quantum-resistant algorithm with a traditional algorithm. Applications that use the [javax.net.ssl] APIs will benefit from these improved algorithms by default, without requiring any code changes.

The following three new hybrid key exchange algorithms are supported: X25519MLKEM768, SecP256r1MLKEM768, and SecP384r1MLKEM1024. Of these, only X25519MLKEM768 is placed at the front of the default named groups list, making it the most preferred group.

For more details, see JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3.


security-libs/java.security

Issue Description
JDK-8343232

PKCS12 KeyStore Support for RFC 9879: Use of Password-Based Message Authentication Code 1 (PBMAC1)


The JDK PKCS12 [KeyStore] implementation now supports the more modern PBMAC1 algorithm for integrity protection. To use the PBMAC1 algorithm, set the "keystore.pkcs12.macAlgorithm" property in the java.security configuration file to a PBMAC1 algorithm. For example, "PBEWithHmacSHA256". Existing PKCS12 keystore files will continue to use the integrity algorithm it was created with, but new keystore files will use the PBMAC1 algorithm.

In a future JDK release, the default value of the "keystore.pkcs12.macAlgorithm" security property will be changed to a PBMAC1 algorithm.


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P3 JDK-8378506 [macOS] Window content not updated when rendering to multiple windows
P3 JDK-8387593 Using XOR mode to clear the content leaves some traces in metal
P4 JDK-8365426 [macos26] Graphics2D tests fail on new macOS 26

client-libs/java.awt

Priority Bug Summary
P3 JDK-8341382 EXCEPTION_ACCESS_VIOLATION in awt.dll after JDK-8185862
P4 JDK-8372546 UnixMultiResolutionSplashTest.java fails intermittently on Ubuntu_24.04

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8372757 MacOS, Accessibility: Crash in [MenuAccessibility accessibilityChildren] after JDK-8341311

client-libs/javax.sound

Priority Bug Summary
P3 JDK-7067310 3 tests from closed/javax/sound/sampled caused BSOD on win 7 x86
P4 JDK-8307574 ClipIsRunningAfterStop.java failed with "../nptl/pthread_mutex_lock.c:81: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed."
P4 JDK-8308395 javax/sound/sampled/Clip/ClipFlushCrash.java timed out

client-libs/javax.swing

Priority Bug Summary
P4 JDK-8382063 Jtreg test javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java fails

core-libs

Priority Bug Summary
P3 JDK-8378180 Compiling OpenJDK with C23 C-Compiler gives warning: initialization discards ‘const’ qualifier from pointer target type
P4 JDK-8367027 java/lang/ProcessBuilder/Basic.java fails on Windows AArch64

core-libs/java.lang

Priority Bug Summary
P4 JDK-8352565 Add native method implementation of Reference.get()
P4 JDK-8365893 test/jdk/java/lang/Thread/virtual/JfrEvents.java failing intermittently

core-libs/java.lang.foreign

Priority Bug Summary
P4 JDK-8360595 OOM in java/foreign/TestUpcallStress.java
P4 JDK-8371949 Upcall exception handler crashes with bad oop

core-libs/java.net

Priority Bug Summary
P4 JDK-8362884 [GCC static analyzer] unix NetworkInterface.c addif leak on early returns
P4 JDK-8388538 com/sun/net/httpserver/simpleserver/jwebserver/MaxRequestTimeTest.java does not test the maximum request time
P4 JDK-8372731 Detailed authentication failure messages
P4 JDK-8375352 java/net/httpclient/ConnectTimeoutWithProxy*.java tests fail on EC2

core-libs/java.nio

Priority Bug Summary
P4 JDK-8377992 (zipfs) Align ZipFileSystem END header validation with the ZipFile implementation
P4 JDK-8377983 (zipfs) ZipFileSystem.initCEN needlessly reads END header

core-libs/java.util:i18n

Priority Bug Summary
P4 JDK-8380993 [REDO] Incorrect Interpretation of POSIX TZ Environment Variable on AIX

core-svc/javax.management

Priority Bug Summary
P4 JDK-8384804 JMX remote bootstrap tests fail on Windows

core-svc/tools

Priority Bug Summary
P4 JDK-8380896 Reduce runtime for MonitorVmStartTerminate.java on hosts with a lot of VMs

hotspot/compiler

Priority Bug Summary
P2 JDK-8388703 Launching with AOT cache fatally crashes with SIGILL (0x4) depending on available CPU instructions
P3 JDK-8379129 C2 crash in LoadNode::can_split_through_phi_base during Escape Analysis (JDK 25.0.1+8)
P3 JDK-8347901 C2 should remove unused leaf / pure runtime calls
P3 JDK-8387015 C2: crash with "named projection 2 not found" from ArrayCopyNode::finish_transform() for clone
P3 JDK-8376400 C2: folding ifs may cause incorrect execution when trap is taken
P3 JDK-8378713 C2: performance regression due to missing constant folding for Math.pow()
P3 JDK-8382815 C2: Reference intrinsics are broken by shadow "referent" field
P4 JDK-8384161 [PPC64] Consolidate code related to calls in nmethods that use trampoline stubs
P4 JDK-8368861 [TEST] compiler/floatingpoint/ScalarFPtoIntCastTest.java expects x86 IR on non-x86 platforms
P4 JDK-8360116 Add support for AVX10 floating point minmax instruction
P4 JDK-8386578 double_keccak stub does not set its return value on x86
P4 JDK-8387414 Insufficient feature gate in vm_version_x86 for UseKyberIntrinsics
P4 JDK-8386852 Lower peak throughput with AOTCache
P4 JDK-8385166 PPC: C2: c_return_value and return_value should not set 2nd OptoRegPair for Op_RegI
P4 JDK-8389312 RISC-V: vector_update_crc32 wrongly assumes undisturbed tail elements
P4 JDK-8364305 Support AVX10 saturating floating point conversion instructions
P4 JDK-8369020 Test compiler/intrinsics/TestLongUnsignedDivMod.java completed and timed out
P5 JDK-8360934 Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI

hotspot/gc

Priority Bug Summary
P3 JDK-8376472 Shenandoah: Assembler store barriers read destination memory despite the decorators
P3 JDK-8384274 Shenandoah: GC checks in C1 LRB clobber fastpath result
P4 JDK-8370653 Fix race in CompressedClassSpaceSizeInJmapHeap.java
P4 JDK-8369447 GenShen: Regulator thread may observe inconsistent states
P4 JDK-8385454 Provide more NUMA related information in hsinfo/hserr files
P4 JDK-8356289 Shenandoah: Clean up SATB barrier runtime entry points
P4 JDK-8386798 Shenandoah: Missing load barrier when making assertions about mark bitmap
P4 JDK-8380390 Shenandoah: Missing store barrier when resetting bitmaps
P4 JDK-8382608 Shenandoah: STS yield deadlocks in OOM-evac scope

hotspot/jfr

Priority Bug Summary
P3 JDK-8365199 Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing
P4 JDK-8365498 jdk/jfr/event/os/TestCPULoad.java fails with Expected at least one event
P4 JDK-8386345 Remove redundant @requires from TestGarbageCollectionEventWithZMinor

hotspot/runtime

Priority Bug Summary
P3 JDK-8383910 klass_or_null_acquire asserts on null when using compact object headers
P3 JDK-8377991 TestLimitsUpdating.java fails with runtime exception even after JDK-8370492 is fixed
P3 JDK-8377990 Zero: Replace Java math ops with UB-safe implementations
P4 JDK-8382166 [AOT Cache] CRC was not checked on Code Region
P4 JDK-8372625 [Linux] Remove unnecessary logic for supports_fast_thread_cpu_time
P4 JDK-8372584 [Linux]: Replace reading proc to get thread user CPU time with clock_gettime
P4 JDK-8385165 [ubsan] TestDockerMemoryMetricsSubgroup.java jtreg test fails with ubsan-enabled binaries
P4 JDK-8383611 assert(count == os::processor_count() + 1) failed: invalid enumeration!
P4 JDK-8375125 assert(false) failed: "Attempting to acquire lock NativeHeapTrimmer_lock/nosafepoint out of order with lock ConcurrentHashTableResize_lock/nosafepoint-2 -- possible deadlock" when using native heap trimmer
P4 JDK-8364106 Include java.runtime.version in thread dump output
P4 JDK-8357220 Introduce a BSMAttributeEntry struct
P4 JDK-8372615 Many container tests fail when running rootless on cgroup v1
P4 JDK-8367656 Refactor Constantpool's operand array into two
P4 JDK-8373557 Remove stale comments after JDK-8372584
P4 JDK-8387381 RISC-V: assert failed with fastdebug build on systems with different core types
P4 JDK-8348862 runtime/ErrorHandling/CreateCoredumpOnCrash fails on Windows aarch64
P4 JDK-8378211 Test ChangedJarFile.java failed: missing "timestamp has changed"
P4 JDK-8378080 Zero: JNIEnv argument is corrupted in native calls

hotspot/svc

Priority Bug Summary
P4 JDK-8387625 Add "dt_socket" to `CheckedFeatures.notImplemented` for Windows/ARM64
P4 JDK-8379516 Adjust JVM debug helper exports

hotspot/svc-agent

Priority Bug Summary
P4 JDK-8378838 Fix issues with "dead" code elimination and serviceability agent in libjvm.so on Linux

infrastructure

Priority Bug Summary
P3 JDK-8369488 Update to use jtreg 8.1
P3 JDK-8376355 Update to use jtreg 8.2.1
P4 JDK-8385507 Bump update version for OpenJDK: jdk-25.0.5

infrastructure/build

Priority Bug Summary
P2 JDK-8373246 JDK-8351842 broke native debugging on Linux
P4 JDK-8378462 Build fails with --enable-linktime-gc set when using some devkits/toolchains
P4 JDK-8365579 ml64.exe is not the right assembler for Windows aarch64
P4 JDK-8387074 Remove duplicate handling of sparc in platform.m4
P4 JDK-8247690 RunTest does not support running of JTREG manual tests
P4 JDK-8351842 Windows specific issues in combination of JEP 493 and --with-external-symbols-in-bundles=public

security-libs/java.security

Priority Bug Summary
P2 JDK-8343232 PKCS#12 KeyStore support for RFC 9879: Use of Password-Based Message Authentication Code 1 (PBMAC1)
P3 JDK-8374886 CAInterop.java#microsoftrsa2017 test fails as EE certificate does not specify OCSP responder
P3 JDK-8352728 InternalError loading java.security due to Windows parent folder permissions
P4 JDK-8381771 Add a check for DNS label not to end with a hyphen
P4 JDK-8385584 CAInterop.java#buypassclass3ca fails with Intermediate Root CA not found in the chain
P4 JDK-8362894 PKCS12 KeyStore PBMAC1 interoperability testing
P4 JDK-8349535 Refactor ./pkcs11/Provider/MultipleLogins.sh to java test

security-libs/javax.crypto

Priority Bug Summary
P4 JDK-8374755 ML-KEM's 12-bit decompression can be simplified on aarch64

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P4 JDK-8368073 PKCS11 HKDF can't use byte array IKM in FIPS mode
P4 JDK-8368694 PKCS11-NSS generic keys generated by DH have leading zeroes stripped

security-libs/javax.net.ssl

Priority Bug Summary
P2 JDK-8314323 Implement JEP 527: TLS 1.3 Hybrid Key Exchange
P3 JDK-8375275 Error handling to raise illegal_parameter or internal_error alert in hybrid key exchange
P3 JDK-8386600 Fix comparison checks in DHasKEM
P3 JDK-8379433 Throwing proper exception for invalid encapsulation length in Hybrid
P4 JDK-8361125 Fix typo in onTradAbsence
P4 JDK-8382222 sun/security/ssl/SSLSocketImpl/SSLSocketBruteForceClose.java fails sporadically
P4 JDK-8368520 TLS 1.3 KeyUpdate fails with SunPKCS11 provider
P4 JDK-8368514 TLS stateless session ticket decryption fails on some providers

tools

Priority Bug Summary
P4 JDK-8387985 sun/tools/jstat shell tests fail on platforms that do not support ParallelGC

tools/jar

Priority Bug Summary
P4 JDK-8381840 Lots of /tmp/8173970- folders on test machines

tools/javac

Priority Bug Summary
P4 JDK-8375571 Compiler crash when using record pattern matching with a generic type parameter shadowing a record class

tools/jconsole

Priority Bug Summary
P4 JDK-8385817 Headless jdk still contains bin/jconsole

tools/jshell

Priority Bug Summary
P3 JDK-8366926 Unexpected exception occurs when executing code in a "local" JShell environment