RELEASE NOTES FOR: 25.0.4 ==================================================================================================== Notes generated: Tue Jul 21 07:18:36 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: hotspot/svc: JDK-8365057: Thread Dumps Generated by HotSpotDiagnosticMXBean.dumpThreads and jcmd Thread.dump_to_file Updated to Include Owner of the Park Blocker The thread dump generated by the [com.sun.management.HotSpotDiagnosticMXBean.dumpThreads] API, and the diagnostic command `jcmd Thread.dump_to_file`, now includes information about park blocker owner for threads that are parked on [java.util.concurrent.locks.AbstractOwnableSynchronizer] objects. security-libs/javax.crypto: JDK-8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings The JDK now encodes ML-KEM and ML-DSA private keys in PKCS #8 format using the DER-encoded ASN.1 CHOICE formats defined in [Section 6, "Private Key Format"](https://www.rfc-editor.org/rfc/rfc9935.html#name-private-key-format) of RFC 9935 and [Section 6, "Private Key Format"](https://www.rfc-editor.org/rfc/rfc9881.html#name-private-key-format) of RFC 9881. Two new security properties, `jdk.mlkem.pkcs8.encoding` and `jdk.mldsa.pkcs8.encoding`, control the encoding used when generating new keys with a `KeyPairGenerator` or when translating keys with a `KeyFactory`. Valid values are `seed`, `expandedKey`, and `both` (case-insensitive). If a system property of the same name is also specified, it supersedes the security property value. All three formats are supported when decoding previously encoded private keys with a `KeyFactory`. When these algorithms were introduced in JDK 24, the encoding format was equivalent to the `expandedKey` value. This release changes the default value to `seed`. As a result, ML-KEM and ML-DSA private keys generated by this JDK release will not be accepted by older releases by default, although keys generated by older releases are still readable by this release. To enable older JDK releases to accept ML-KEM and ML-DSA private keys generated by this JDK release, set the `jdk.mlkem.pkcs8.encoding` or `jdk.mldsa.pkcs8.encoding` property (whichever property is relevant to your use case) to `expandedKey`, and use `KeyFactory.translateKey` to convert the key to the older format. JDK-8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings The JDK now encodes ML-KEM and ML-DSA private keys in PKCS #8 format using the DER-encoded ASN.1 CHOICE formats defined in [Section 6, "Private Key Format"](https://www.rfc-editor.org/rfc/rfc9935.html#name-private-key-format) of RFC 9935 and [Section 6, "Private Key Format"](https://www.rfc-editor.org/rfc/rfc9881.html#name-private-key-format) of RFC 9881. Two new security properties, `jdk.mlkem.pkcs8.encoding` and `jdk.mldsa.pkcs8.encoding`, control the encoding used when generating new keys with a `KeyPairGenerator` or when translating keys with a `KeyFactory`. Valid values are `seed`, `expandedKey`, and `both` (case-insensitive). If a system property of the same name is also specified, it supersedes the security property value. All three formats are supported when decoding previously encoded private keys with a `KeyFactory`. The default encoding for newly generated ML-KEM and ML-DSA private keys is `seed`. Applications that require a particular private-key encoding can configure the relevant security property or equivalent system property. hotspot/jfr: JDK-8382740: JFR Event jdk.OldObjectSample Disabled for Generational ZGC The JFR event `jdk.OldObjectSample` is disabled when using generational ZGC. The combination results in unacceptable performance overhead because the implementation relies on weak handles that, in generational ZGC, are processed only in the old generation. security-libs/java.security: JDK-8372351: Added WISeKey Global GB and GC Root CA Certificates The following root certificates have been added to the `cacerts` truststore: ``` + WISeKey + wisekeyglobalrootgbca DN: CN=OISTE WISeKey Global Root GB CA, OU=OISTE Foundation Endorsed, O=WISeKey, C=CH + WISeKey + wisekeyglobalrootgcca DN: CN=OISTE WISeKey Global Root GC CA, OU=OISTE Foundation Endorsed, O=WISeKey, C=CH ``` core-svc/java.lang.management: JDK-8369736: New Management Interface for AOT Cache Creation A new management interface, [jdk.management.HotSpotAOTCacheMXBean], has been added to the `jdk.management` module to provide the operation `endRecording()`. This operation ends the AOT recording and creates the AOT cache and/or configuration file. As with any `MXBean`, the operation can be invoked either from within the application or from an external tool such as [jconsole]. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs/2d: (P3) JDK-8297191: [macos] Printing a page range with starting page > 1 results in missing pages (P3) JDK-8378201: [OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable (P3) JDK-8378417: Printing All pages results in NPE for 1.1 PrintJob (P3) JDK-8385390: Update FreeType to 2.14.3 (P3) JDK-8385490: Update HarfBuzz to 14.2.0 (P3) JDK-8375065: Update LCMS to 2.18 (P3) JDK-8383354: Update LCMS to 2.19.1 (P4) JDK-8377602: Create automated test for PageRange (P4) JDK-8221451: PIT: sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fails (P4) JDK-8369561: sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000) (P4) JDK-7184899: Test sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fail client-libs/java.awt: (P3) JDK-8298823: [macos] java/awt/Mouse/EnterExitEvents/DragWindowTest.java continues to fail with "No MouseReleased event on label!" (P3) JDK-8378727: [macOS] Missing dispatch_release for semaphores in CDesktopPeer (P3) JDK-8376233: Clean up code in Desktop native peer (P3) JDK-8015444: java/awt/Focus/KeyStrokeTest.java sometimes fails (P3) JDK-8225787: java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on Ubuntu (P3) JDK-8384902: Update GIFlib to 6.1.3 (P3) JDK-8384495: Update Libpng to 1.6.58 (P4) JDK-8379499: [AIX] headless-only build of libjawt.so fails (P4) JDK-8365424: [macos26] java/awt/Frame/DisposeTest.java fails on macOS 26 (P4) JDK-8365423: [macos26] java/awt/MenuBar/8007006/bug8007006.java fails on macOS 26 (P4) JDK-8361606: ConsumeNextMnemonicKeyTypedTest.java fails on Windows: character typed with VK_A: a (P4) JDK-8321303: Intermittent open/test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java failure on Linux (P4) JDK-8366852: java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java test is failing (P4) JDK-8374304: MultiResolutionSplashTest.java fails in CI: "Image with wrong resolution is used for splash screen!" (P4) JDK-8369251: Opensource few tests (P4) JDK-8213530: Test java/awt/Modal/ToFront/DialogToFrontModeless1Test.java fails on Linux (P4) JDK-8373239: Test java/awt/print/PrinterJob/PageRanges.java fails with incorrect selection of printed pages (P4) JDK-8203004: UnixMultiResolutionSplashTest.java fails on Ubuntu16.04 client-libs/javax.imageio: (P4) JDK-8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable client-libs/javax.sound: (P4) JDK-8374727: Audio configuration Platform class - use nio for getting endianness of the underlying platform (P4) JDK-8376152: Test javax/sound/sampled/Clip/bug5070081.java timed out then completed client-libs/javax.swing: (P3) JDK-8365625: Can't change accelerator colors in Windows L&F (P3) JDK-8377727: Ghost caret and focus appear in non‑editable text fields (P3) JDK-8374506: Incorrect positioning of arrow icon in parent JMenu in Windows L&F (P3) JDK-8373650: Test "javax/swing/JMenuItem/6458123/ManualBug6458123.java" fails because the check icons are not aligned properly as expected (P3) JDK-8359433: The final modifier on Windows L&F internal UI classes prevents extending them in apps (P4) JDK-8064922: [macos] Test javax/swing/JTabbedPane/4624207/bug4624207.java fails (P4) JDK-8068293: [TEST_BUG] Test closed/com/sun/java/swing/plaf/motif/InternalFrame/4150591/bug4150591.java fails with GTKLookAndFeel (P4) JDK-8068310: [TEST_BUG] Test javax/swing/JColorChooser/Test4234761.java fails with GTKL&F (P4) JDK-8365379: SU3.applyInsets may produce wrong results (P4) JDK-8376151: Test javax/swing/JFileChooser/4966171/bug4966171.java is failing with OOME (P4) JDK-8373847: Test javax/swing/JMenuItem/MenuItemTest/bug6197830.java failed because The test case automatically fails when clicking any items in the “Nothing” menu in all four windows (Left-to-right)-Menu Item Test and (Right-to-left)-Menu Item Test (P5) JDK-8144124: [macosx] The tabs can't be aligned when we pressing the key of 'R','B','L','C' or 'T'. core-libs: (P4) JDK-8373718: jdk/internal/misc/VM/RuntimeArguments.java test fails in Virtual threads mode core-libs/java.io: (P4) JDK-8377910: Minor cleanup of java/io/FileDescriptor/Sharing.java (P4) JDK-8372851: Modify java/io/File/GetXSpace.java to print path on failure of native call (P4) JDK-8355339: Test java/io/File/GetCanonicalPath.java failed: The specified network name is no longer available (P4) JDK-8351010: Test java/io/File/GetXSpace.java failed: / usable space 56380809216 > free space 14912244940 core-libs/java.io:serialization: (P4) JDK-8373913: Refactor serialization tests to use JUnit core-libs/java.lang: (P3) JDK-8377907: (process) Race in ProcessBuilder can cause JVM hangs (P3) JDK-8373120: Virtual thread stuck in BLOCKED state (P4) JDK-8370370: Add still more cases to WorstCaseTests (P4) JDK-8380222: Refactor test/jdk/java/lang/Character TestNG tests to JUnit core-libs/java.lang.foreign: (P4) JDK-8381935: Improve numChunks range in the PPC64 CallAranger core-libs/java.net: (P3) JDK-8376031: HttpsURLConnection.getServerCertificates() throws "java.lang.IllegalStateException: connection not yet open" for the HEAD method (P4) JDK-8359223: HttpClient: Remove leftovers from the SecurityManager cleanup (P4) JDK-8340182: Java HttpClient does not follow default retry limit of 3 retries (P4) JDK-8373515: Migrate "test/jdk/java/net/httpclient/" to null-safe "SimpleSSLContext" methods (P4) JDK-8384486: NTLM tests fail on Windows 11 and Windows Server 2025 (P4) JDK-8347167: Reduce allocation in com.sun.net.httpserver.Headers::normalize (P4) JDK-8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5 (P4) JDK-8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5 (P4) JDK-8373893: Refactor networking http server tests to use JUnit (P4) JDK-8373676: Test javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java fails on a machine without IPV6 (P4) JDK-8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException core-libs/java.nio: (P4) JDK-8375294: (fs) Files.copy can fail with EOPNOTSUPP when copy_file_range not supported (P4) JDK-8384163: (so) SocketChannel.connect and finishConnect() exception messages could be improved (P4) JDK-8378878: Refactor java/nio/channels/AsynchronousSocketChannel test to use JUnit (P5) JDK-8382018: test/jdk/java/nio/file/spi/SetDefaultProvider.java leaves a directory in /tmp core-libs/java.text: (P4) JDK-8368001: java/text/Format/NumberFormat/NumberRoundTrip.java timed out core-libs/java.time: (P3) JDK-8383175: (tz) Update Timezone Data to 2026b (P4) JDK-8383473: Follow on from tzdata2026b time change to include temporary hack BC time change core-libs/java.util:i18n: (P3) JDK-8382020: Time Zone Abbreviation Not Localized for Non-English Locales (P4) JDK-8384043: [REDO] Incorrect handling of Hawaii_Aleutian metazone (P4) JDK-8362428: Update IANA Language Subtag Registry to Version 2025-08-25 core-svc/debugger: (P4) JDK-8374168: Resolve disabled warnings in JDWP agent core-svc/java.lang.management: (P3) JDK-8369736: Add management interface for AOT cache creation (P4) JDK-8377944: LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace core-svc/javax.management: (P4) JDK-8366695: Test sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out core-svc/tools: (P4) JDK-8278102: containers/docker/TestJcmd.java failed with "RuntimeException: Could not find specified process" docs: (P4) JDK-8359083: Test jdkCheckHtml.java should report SkippedException rather than report fails when miss tidy hotspot/compiler: (P3) JDK-8363943: ARM32: Represent Registers as values (P3) JDK-8376104: C2 crashes in PhiNode::Ideal(PhaseGVN*, bool) accessing NULL pointer (P3) JDK-8361699: C2: assert(can_reduce_phi(n->as_Phi())) failed: Sanity: previous reducible Phi is no longer reducible before SUT (P3) JDK-8370502: C2: segfault while adding node to IGVN worklist (P3) JDK-8370939: C2: SIGSEGV in SafePointNode::verify_input when processing MH call from Compile::process_late_inline_calls_no_inline() (P3) JDK-8339526: C2: store incorrectly removed for clone() transformed to series of loads/stores (P4) JDK-8383161: [PPC64] MachCallDynamicJavaNode::ret_addr_offset() needs adaptation for COH (P4) JDK-8354650: [PPC64] Try to reduce register definitions (P4) JDK-8381315: compiler/vectorapi/TestVectorReallocation.java fails with -XX:UseAVX=1 after JDK-8380565 (P4) JDK-8374744: Enable dumping of APX EGPRs (R16–R31) in JVM fatal error logs (P4) JDK-8380041: PPC: remove POWER6 remnants (P4) JDK-8371792: Refactor barrier loop tests out of TestIfMinMax (P4) JDK-8384223: RISC-V: entry_barrier_offset should consider UseZtso (P4) JDK-8382878: RISC-V: Missing InlineSkippedInstructionsCounter in ZGC barriers stubs (P4) JDK-8367531: Template Framework: use scopes and tokens instead of misbehaving immediate-return-queries (P4) JDK-8359412: Template-Framework Library: Operations and Expressions (P4) JDK-8358772: Template-Framework Library: Primitive Types (P4) JDK-8358600: Template-Framework Library: Template for TestFramework test class (P4) JDK-8325482: Test that distinct seeds produce distinct traces for compiler stress flags (P5) JDK-8382419: Add missed @key randomness after JDK-8370489 (P5) JDK-8378888: jdk/incubator/vector/Float16OperationsBenchmark.java uses wrong package name (P5) JDK-8370489: Some compiler tests miss the @key randomness (P5) JDK-8344345: test/hotspot/gtest/x86/x86-asmtest.py has trailing whitespaces hotspot/gc: (P3) JDK-8369132: Disable vmTestbase/gc/vector/CircularListLow and LinearListLow with SerialGC (P3) JDK-8367709: GenShen: Dirty cards for objects that get promoted by safepoint that intervenes between allocation and stores (P3) JDK-8353115: GenShen: mixed evacuation candidate regions need accurate live_data (P3) JDK-8381382: Shenandoah: assert(capacity > 0) failed: free regions must have allocation capacity (P4) JDK-8367646: [GenShen] Control thread may overwrite gc cancellation cause set by mutator (P4) JDK-8367722: [GenShen] ShenandoahEvacuationStats is always empty (P4) JDK-8371381: [Shenandoah] Setting ergo flags should use FLAG_SET_ERGO (P4) JDK-8364927: Add @requires annotation to TestReclaimStringsLeaksMemory.java (P4) JDK-8376287: Crashes when using -XX:ObjArrayMarkingStride=0 (P4) JDK-8369133: Disable gc/g1/TestShrinkAuxiliaryDataRunner.java with UseLargePages option (P4) JDK-8382395: Disable stringop-overflow in shenandoahGenerationalHeap.cpp (P4) JDK-8319326: GC: Make TestParallelRefProc use createTestJavaProcessBuilder (P4) JDK-8319540: GC: Make TestSelectDefaultGC use createTestJavaProcessBuilder (P4) JDK-8365792: GenShen: assertion "Generations aren't reconciled" (P4) JDK-8371284: GenShen: Avoid unnecessary card marking (P4) JDK-8368499: GenShen: Do not collect age census during evac when adaptive tenuring is disabled (P4) JDK-8372861: Genshen: Override parallel_region_stride of ShenandoahResetBitmapClosure to a reasonable value for better parallelism (P4) JDK-8367708: GenShen: Reduce total evacuation burden (P4) JDK-8380846: GenShen: Remove the experimental option to disable adaptive tenuring (P4) JDK-8367451: GenShen: Remove the option to compute age census during evacuation (P4) JDK-8370521: GenShen: Various code cleanup related to promotion (P4) JDK-8378561: Mark gc/shenandoah/compiler/TestLinkToNativeRBP.java as /native (P4) JDK-8378083: Mark shenandoah/generational/TestOldGrowthTriggers.java as flagless (P4) JDK-8373039: Remove Incorrect Asserts in shenandoahScanRemembered (P4) JDK-8383601: RISC-V: ShenandoahBarrierSetAssembler::load_reference_barrier calls "weak" on "phantom" path (P4) JDK-8366692: Several gc/shenandoah tests timed out (P4) JDK-8368681: Shenandoah: Add documentation comments for ShenandoahAllocationRate (P4) JDK-8352914: Shenandoah: Change definition of ShenandoahSharedValue to int32_t to leverage platform atomics (P4) JDK-8380431: Shenandoah: Concurrent modification of stack-chunk objects during evacuation (P4) JDK-8261743: Shenandoah: enable String deduplication with compact heuristics (P4) JDK-8368015: Shenandoah: fix error in computation of average allocation rate (P4) JDK-8241066: Shenandoah: fix or cleanup SH::do_full_collection (P4) JDK-8335355: Shenandoah: Fix race condition in gc/shenandoah/mxbeans/TestPauseNotifications.java (P4) JDK-8368501: Shenandoah: GC progress evaluation does not use generation (P4) JDK-8376969: Shenandoah: GC state getters should be inlineable (P4) JDK-8368307: Shenandoah: get_next_bit_impl should special case weak and strong mark bits (P4) JDK-8374449: Shenandoah: Leaf locks used by Shenandoah need lower ranks (P4) JDK-8367450: Shenandoah: Log the composition of the collection set (P4) JDK-8367473: Shenandoah: Make the detailed evacuation metrics a runtime diagnostic option (P4) JDK-8383183: Shenandoah: Mangle trashed regions up to top instead of end (P4) JDK-8361726: Shenandoah: More detailed evacuation instrumentation (P4) JDK-8373714: Shenandoah: Register heuristic penalties following a degenerated GC (P4) JDK-8264851: Shenandoah: Rework control loop mechanics to use timed waits (P4) JDK-8372513: Shenandoah: ShenandoahMaxRegionSize can produce an unaligned heap alignment (P4) JDK-8379021: Shenandoah: Speedup ShenandoahSimpleBitMapTest (P4) JDK-8376970: Shenandoah: Verifier should do basic verification before touching oops (P4) JDK-8382295: Shenandoah: wrong denominator in full gc summary (P4) JDK-8361339: Test gc/shenandoah/TestLargeObjectAlignment.java#generational fails on macOS aarch64 with OOM: Java heap space (P4) JDK-8345631: TestRegionSamplingLogging.java#generational-rotation intermittent fails (P4) JDK-8378746: ZGC: jdk/jfr/event/gc/detailed/TestZRelocationSetGroupEvent.java intermittent OOME (P5) JDK-8381871: GenShen: ShenandoahGCHeuristics flag not reset after ignoring non-adaptive value hotspot/jfr: (P2) JDK-8382740: JFR: Disable jdk.OldObjectSample event for generational ZGC (P2) JDK-8382242: JFR: Metadata reconstruction invalidates ConstantMap for java.lang.String (P3) JDK-8367949: JFR: MethodTrace double-counts methods that catch their own exceptions (P3) JDK-8380011: Path-to-gcroots search should not trigger stack overflows (P4) JDK-8279196: Test: jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java timed out (P4) JDK-8377949: TestZRelocationSetEvent.java intermittent fails OOME hotspot/jvmti: (P4) JDK-8376956: Add JVMTI phase entering/setting to hserr event log (P4) JDK-8383630: Fix iteration in tests doing class redefinition (P4) JDK-8376185: NoSuchFieldError thrown after a record with type annotation retransformed (P4) JDK-8368159: Significant performance overhead when started with jdwp agent and unattached debugger (P4) JDK-8385014: Test java/lang/instrument/RetransformRecordTypeAnn/TestRetransformRecord.java‎ fails with compilation error (P5) JDK-8321687: Test vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t002/TestDescription.java failed: JVMTI_ERROR_THREAD_NOT_ALIVE hotspot/runtime: (P2) JDK-8380474: Crash SEGV in ThreadIdTable::lazy_initialize after JDK-8323792 (P3) JDK-8377512: AOT cache creation fails with invalid native pointer (P3) JDK-8363986: Heap region in CDS archive is not at deterministic address (P3) JDK-8380409: JVM crashes when -XX:AOTMode=create uses app.aotconf generated with JVMTI agent (P3) JDK-8380565: PPC64: deoptimization stub should save vector registers (P4) JDK-8382035: [ubsan] Under UBSAN builds, disable tests that rely on simulated JVM crashes (P4) JDK-8377932: AOT cache is not rejected when JAR file has changed (P4) JDK-8374712: AOTMappedHeapWriter::relocate_field_in_buffer should use CompressedOops::narrow_oop_cast (P4) JDK-8376402: Dependencies::print_statistics() and AbstractClassHierarchyWalker::print_statistics() are not called from PRODUCT code (P4) JDK-8382522: Disable stringop-overflow in safepointMechanism.cpp (P4) JDK-8369683: Exclude runtime/Monitor/MonitorWithDeadObjectTest.java#DumpThreadsBeforeDetach on Alpine Linux debug (P4) JDK-8374998: Failing os::write - remove bad file (P4) JDK-8374343: Fix SIGSEGV when lib/modules is unreadable (P4) JDK-8375177: Gtest os_linux.decoder_get_source_info_valid_vm fails with -ffunction-sections (P4) JDK-8372272: Hotspot shared lib loading - add load attempts to Events::log (P4) JDK-8363949: Incorrect jtreg header in MonitorWithDeadObjectTest.java (P4) JDK-8372380: Make hs_err reporting more robust for unattached threads (P4) JDK-8367485: os::physical_memory is broken in 32-bit JVMs when running on 64-bit OSes (P4) JDK-8357086: os::xxx functions returning memory size should return size_t (P4) JDK-8374769: PPC: MASM::pop_cont_fastpath() should reset _cont_fastpath if SP == _cont_fastpath (P4) JDK-8379457: Test EATests.java#id0 ERROR: monitor list errors: error_cnt=1 (P4) JDK-8380316: Test runtime/os/AvailableProcessors.java fails Invalid argument (P4) JDK-8374322: TestMemoryWithSubgroups.java fails Permission denied hotspot/svc: (P2) JDK-8365057: Add support for java.util.concurrent lock information to Thread.dump_to_file (P4) JDK-8378764: fileStream::fileSize() fails for >2GB files on Windows (P4) JDK-8323792: ThreadSnapshot::initialize can cause assert in Thread::check_for_dangling_thread_pointer (possibility of dangling Thread pointer) (P4) JDK-8380663: Update jcmd man page to include AOT.end_recording diagnostic command hotspot/test: (P4) JDK-8378810: Enable missing FFM test via jtreg requires for RISC-V (P4) JDK-8379464: Enable missing stack walking test via jtreg requires for RISC-V infrastructure: (P4) JDK-8378774: Bump update version for OpenJDK: jdk-25.0.4 infrastructure/build: (P2) JDK-8384158: GHA: Downgrade Windows GHA runners to windows-2022 temporarily (P2) JDK-8386551: Windows build broken because of MSys2/Make update (P4) JDK-8384540: [25u, 21u, 17u] Update GHA JDKs after Apr/26 updates (P4) JDK-8371893: [macOS] use dead_strip linker option to reduce binary size (P4) JDK-8379416: AIX build fails if system (not GNU) date tool is in PATH (P4) JDK-8376684: Compile OpenJDK in headless mode without required X11 libraries (P4) JDK-8378836: Enable linktime-gc by default on Linux ppc64le (P4) JDK-8381205: GHA: Upgrade Node.js 20 to 24 (P4) JDK-8382090: Remove .rej and .orig from .gitignore (P4) JDK-8341735: Rewrite the build/AbsPathsInImage.java test to not load the entire file at once (P4) JDK-8379202: Support linktime-gc on Linux with clang (P4) JDK-8379425: Windows and macOS should not allow unsupported headless-only build infrastructure/other: (P4) JDK-8380947: Add pull request template security-libs/java.security: (P2) JDK-8372351: Add 2 WISeKey roots (P3) JDK-8364657: Crash for SecureRandom.generateSeed(0) on Windows x86-64 (P4) JDK-8379515: draft-ietf-lamps-kyber-certificates is now RFC 9935 (P4) JDK-8381937: Make exceptions in Java_sun_security_mscapi_CKeyPairGenerator generateCKeyPair more specific (P4) JDK-8373690: Unexpected Keystore message using jdk.crypto.disabledAlgorithms security-libs/javax.crypto: (P2) JDK-8347938: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings security-libs/javax.net.ssl: (P2) JDK-8384815: SelectOneKeyOutOfMany and PreferredKey fail after expired test certificate security-libs/jdk.security: (P4) JDK-8367096: jdk/open/test/jdk/sun/security/pkcs11/ rsa, ec, config, secmod and sslecc tests are skipping but showing as pass (P4) JDK-8374001: sun/security/ skip without Exceptions (P4) JDK-8365623: test/jdk/sun/security/pkcs11/tls/ tests skipped without skip exception (P4) JDK-8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap security-libs/org.ietf.jgss:krb5: (P4) JDK-8374888: Implement internal test cache to help UserIterCount test performance tools/launcher: (P3) JDK-8373928: 4 Dangling pointer defect groups in java.c xml/jaxp: (P4) JDK-8364315: Remove unused xml files from test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/xmlfiles