RELEASE NOTES FOR: 25.0.6 ==================================================================================================== Notes generated: Mon Oct 12 06:40:28 CEST 2026 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: security-libs/javax.crypto: JDK-8371259: ML-DSA AVX2 and AVX512 Intrinsics and Improvements This feature delivers new intrinsics using AVX2 instructions on x86_64 platforms for the ML-DSA signature algorithm in the SUN security provider. This feature also improves the existing AVX512 intrinsics for the ML-DSA algorithm. This optimization is enabled by default on supporting x86_64 platforms. It may be disabled by providing the [-XX:+UnlockDiagnosticVMOptions] [-XX:-UseDilithiumIntrinsics] command-line options. hotspot/runtime: JDK-8359706: VM.info and hs_err_pid Logs Now Report Current Open File Descriptors The output of the [jcmd] `VM.info` diagnostic command and HotSpot fatal error logs (`hs_err_pid`) now include the current number of open file descriptors for the running Java process. On supported platforms, the new output displays the active file descriptor count in the `SYSTEM` section (for example, `Open File Descriptors: 52`). This enhancement helps diagnose and troubleshoot resource exhaustion and `Too many open files` issues on UNIX platforms. Note that the maximum file descriptor limit for the process is already reported in the same output as the `NOFILE` value (for example, `NOFILE 10240/infinity`). security-libs/java.security: JDK-8386371: Entrust G4 Root CA Removed The following root certificate has been removed from the `cacerts` keystore: ``` + alias name "entrustrootcag4 [jdk]" Distinguished Name: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US ``` tools/jlink: 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. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs/2d: (P3) JDK-8386576: Calculating Area using a complex polygon creates spurious horizontal line segments client-libs/java.awt: (P4) JDK-8389901: [windows] CCombinedSegTable::GetEUDCFileName from awt_Font.cpp seems to miss RegCloseKey calls (P4) JDK-8389509: SetPrinterDevice check GlobalAlloc return value client-libs/javax.accessibility: (P3) JDK-8373474: 2 Unintentional format string defect groups in jabswitch.cpp (P3) JDK-8348872: jabswitch.cpp: regEnable and regDeleteValue leak reallocated data buffer core-libs: (P4) JDK-8369997: Tests that use custom scheduler should use jdk.test.lib.thread.VThreadScheduler core-libs/java.io: (P4) JDK-8372377: Test java/io/File/GetXSpace.java failed: The system cannot find the path specified core-libs/java.lang: (P4) JDK-8379443: Correct build tags in some math tests core-libs/java.net: (P4) JDK-8387273: Enhance httpserver logging to log when maxConnections is reached (P4) JDK-8378398: Modernize test/jdk/java/net/URLClassLoader/HttpTest.java (P4) JDK-8392967: NTLMAuthSequence potential memory leak in getCredentialsHandle (P4) JDK-8386595: Two java/net/MulticastSocket tests fail on machines with no ipv6 address other than loopback (P4) JDK-8380534: Use loopback address in java/net/DatagramPacket/ReuseBuf.java test core-libs/java.nio: (P3) JDK-8390212: (dc) On AIX, DatagramChannel.join can join IPv4 multicast group with IPv6 socket (P4) JDK-8392608: UnixNativeDispatcher.strerror should use given error code core-libs/java.time: (P3) JDK-8393337: (tz) Update Timezone Data to 2026e (P4) JDK-8392377: (tz) Update Timezone Data to 2026d core-libs/java.util:i18n: (P3) JDK-8393848: Align the JDK with Microsoft's new timezone name for Manitoba (P3) JDK-8392538: Align the JDK with Microsoft's new timezone names for British Columbia/Alberta (P3) JDK-8392526: Cherry-pick BCP 47 time zone changes from CLDR for tzdata2026d, for JDK update releases (P3) JDK-8392519: Cherry-pick metazone changes from CLDR for tzdata2026d, for JDK update release (P4) JDK-8393344: Cherry-pick metazone changes from CLDR to support tzdata2026e for JDK update releases core-svc/debugger: (P4) JDK-8392627: Wrong perror usage in dbgsysTlsAlloc for pthread_key_create hotspot/compiler: (P2) JDK-8370794: C2 SuperWord: Long/Integer.compareUnsigned return wrong value for EQ/NE in SLP (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-8370481: C2 SuperWord: Long/Integer.compareUnsigned return wrong value in SLP (P3) JDK-8391881: RISC-V: jni_fast_GetField registers the wrong pc for the speculative load (P3) JDK-8372703: Test compiler/arguments/TestCodeEntryAlignment.java failed: assert(allocates2(pc)) failed: not in CodeBuffer memory (P4) JDK-8374516: -version asserts with "-XX:+UseAESCTRIntrinsics -XX:-UseAES": "need AES instructions and misaligned SSE support" in generate_counterMode_AESCrypt_Parallel() (P4) JDK-8391757: [PPC64] C1 runs into assertion with -XX:+VerifyOops (P4) JDK-8390778: [PPC] : stubgen stubs using incorrect StubCodeMark constructor (P4) JDK-8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0 (P4) JDK-8377517: AArch64: TestUseSHA3IntrinsicsWithUseSHADisabledOnUnsupportedCPU.java fails after JDK-8375443 (P4) JDK-8387721: C2: Print Node barrier data (P4) JDK-8390521: RISC-V: Clean up vector register dispatch in MachSpillCopyNode::implementation (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() (P5) JDK-8375443: AVX-512: Disabling through UseSHA doesn't affect UseSHA3Intrinsics (P5) JDK-8368977: Provide clear naming for AVX10 identifiers hotspot/gc: (P2) JDK-8389905: Shenandoah: SBSA::card_table uses own temp registers that clobber obj (P3) JDK-8372498: [genshen] gc/TestAllocHumongousFragment.java#generational causes intermittent SIGSEGV crashes (P3) JDK-8373116: Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking (P4) JDK-8388284: [s390] resolve_jobject uses wrong branch condition after tmll (P4) JDK-8370039: GenShen: array copy SATB barrier improvements (P4) JDK-8382257: Shenandoah: Clean up stack watermark barrier support (P4) JDK-8387907: Shenandoah: Marking loop prefetch (P4) JDK-8387713: Shenandoah: Rework native card table barrier (P4) JDK-8391060: ZGC: ZMarkingSMR re-orded hazard pointer loads with unlinking results in use after free hotspot/jfr: (P3) JDK-8383367: jdk/jfr/event/oldobject/TestDFSWithSmallStack.java failed with -XX:+UseZGC -XX:+UseCompactObjectHeaders hotspot/jvmti: (P4) JDK-8336666: Investigate why AIX needs more metaspace in test serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java (P4) JDK-8375367: vmTestbase tests reported variable uninitialized by clang23 hotspot/other: (P4) JDK-8392477: -XX:UnlockDiagnosticVMOptions and -XX:UnlockExperimentalVMOptions produce incorrect error hotspot/runtime: (P2) JDK-8380236: macOS build is broken by JDK-8359706 (P3) JDK-8389610: ARM32: native method wrapper unlocks a stale oop after GC relocates the object (P4) JDK-8371651: [AArch64] Populate CPU _features flag on Windows (P4) JDK-8365381: [asan] exclude tests under ASAN build which rely on vm signal handling (P4) JDK-8359706: Add file descriptor count to VM.info (P4) JDK-8386456: Comments at the declaration of frame::frame_alignment are incorrect on some platforms (P4) JDK-8360743: Enables regeneration of JLI holder classes for CDS static dump (P4) JDK-8369322: Implement native stack printing for Windows-AArch64 (P4) JDK-8390469: LogTest_large_message_vm_Test::TestBody crashes in case of low disc space (P4) JDK-8383541: Safefetch should return the error value when accessing pages protected with PAGE_GUARD on windows-aarch64 (P4) JDK-8381617: vm_version_windows_aarch64.cpp: PF_ARM_SVE_INSTRUCTIONS_AVAILABLE undeclared identifier hotspot/svc: (P4) JDK-8392031: Crash in ThreadSnapshot::initialize hotspot/svc-agent: (P4) JDK-8382338: Various serviceability agent tests fail on Linux x86_64 with LTO enabled infrastructure: (P4) JDK-8391436: Bump update version for OpenJDK: jdk-25.0.6 infrastructure/build: (P4) JDK-8374767: Amend JDK-8374521 with new option name (P4) JDK-8374507: GHA: Limit debug symbols generation to conserve disk space (P4) JDK-8365098: make/RunTests.gmk generates a wrong path to test artifacts on Alpine (P4) JDK-8374521: Support fine-grained native debug levels security-libs/java.security: (P4) JDK-8386371: Remove Entrust G4 root CA (P4) JDK-8378267: Test sun/security/util/HexDumpEncoderTests.java fails when unexpected warning appears security-libs/javax.crypto: (P3) JDK-8372547: New test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should be restricted to x86_64 (P3) JDK-8372816: New test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java succeeds in case of error (P3) JDK-8373063: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java fails on Aarch64 after JDK-8372816 (P3) JDK-8373059: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should pass on Aarch64 (P4) JDK-8383635: Improve performance of ML-KEM's implKyberNttMultJava() method (P4) JDK-8371259: ML-DSA AVX2 and AVX512 intrinsics and improvements security-libs/javax.net.ssl: (P3) JDK-8379549: sun/security/ssl/SSLSocketImpl/SSLSocketSSLEngineCloseInbound.java failed with SocketException: Connection reset by peer (P4) JDK-8378379: Remove reference to obsolete jdk.net.usePlainSocketImpl property from SSLSocketReset test (P4) JDK-8392076: Sporadic failure of test InvalidateServerSessionRenegotiate.java (P4) JDK-8392780: Sporadic failure of test ServerRenegoWithTwoVersions.java and NoImpactServerRenego.java (P4) JDK-8366454: TLS1.3 server fails with bad_record_mac when receiving encrypted records with empty body security-libs/javax.security: (P4) JDK-8391760: [windows] libjaas nt.c seems to have some handle leaks tools/jlink: (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