RELEASE NOTES FOR: 21.0.12 ==================================================================================================== Notes generated: Mon Apr 13 06:30:24 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: None. 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-8375065: Update LCMS to 2.18 (P4) JDK-8328300: Convert PrintDialogsTest.java from Applet to main program (P4) JDK-8377602: Create automated test for PageRange (P4) JDK-8369516: Delete duplicate imaging test (P4) JDK-8320677: Printer tests use invalid '@run main/manual=yesno (P4) JDK-8357082: Stabilize and add debug logs to CopyAreaOOB.java (P4) JDK-8369561: sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000) (P4) JDK-8358058: sun/java2d/OpenGL/DrawImageBg.java Test fails intermittently (P4) JDK-8369335: Two sun/java2d/OpenGL tests fail on Windows after JDK-8358058 (P5) JDK-8299304: Test "java/awt/print/PrinterJob/PageDialogTest.java" fails on macOS 13 x64 because the Page Dialog blocks the Toolkit 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-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 (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-8346154: [XWayland] Some tests fail intermittently in the CI, but not locally (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-8367784: java/awt/Focus/InitialFocusTest/InitialFocusTest1.java failed with Wrong focus owner (P4) JDK-8323545: java/awt/GraphicsDevice/CheckDisplayModes.java fails with "exit code: 133" (P4) JDK-8357390: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java Test failing on Ubuntu 24.04 Vm Hosts used by Oracle's internal CI system (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-8353552: Opensource Several Font related tests - Batch 3 (P4) JDK-8352149: Test java/awt/Frame/MultiScreenTest.java fails: Window list is empty (P4) JDK-8213530: Test java/awt/Modal/ToFront/DialogToFrontModeless1Test.java fails on Linux (P4) JDK-8370511: test/jdk/javax/swing/JSlider/bug4382876.java does not release previously pressed keys (P4) JDK-8360160: ubuntu-22-04 machine is failing client tests (P4) JDK-8203004: UnixMultiResolutionSplashTest.java fails on Ubuntu16.04 (P4) JDK-8274082: Wrong test name in jtreg run tag for java/awt/print/PrinterJob/SwingUIText.java client-libs/javax.accessibility: (P3) JDK-8286258: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially client-libs/javax.sound: (P3) JDK-8372120: Add missing sound keyword to MIDI tests (P4) JDK-8373632: Some sound tests failing in CI due to lack of sound key (P4) JDK-8373931: Test javax/sound/sampled/Clip/AutoCloseTimeCheck.java timed out client-libs/javax.swing: (P3) JDK-8365625: Can't change accelerator colors in Windows L&F (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 (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-8366369: Add @requires linux for GTK L&F tests (P4) JDK-8355332: Fix failing semi-manual test EDT issue (P4) JDK-8345618: javax/swing/text/Caret/8163124/CaretFloatingPointAPITest.java leaves Caret is not complete (P4) JDK-8368892: Make JEditorPane/TestBrowserBGColor.java headless (P4) JDK-8326458: Menu mnemonics don't toggle in Windows LAF when F10 is pressed (P4) JDK-8353488: Open some JComboBox bugs 3 (P4) JDK-8354695: Open source several swing tests batch7 (P4) JDK-8371364: Refactor javax/swing/JFileChooser/FileSizeCheck.java to use Util.findComponent() (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 (P4) JDK-8371365: Update javax/swing/JFileChooser/bug4759934.java to use Util.findComponent() (P5) JDK-8144124: [macosx] The tabs can't be aligned when we pressing the key of 'R','B','L','C' or 'T'. core-libs/java.io: (P4) JDK-8355443: [java.io] Use @requires tag instead of exiting based on File.separatorChar value (P4) JDK-8377910: Minor cleanup of java/io/FileDescriptor/Sharing.java core-libs/java.lang: (P3) JDK-8356695: java/lang/StringBuilder/HugeCapacity.java failing with OOME (P4) JDK-8298783: java/lang/ref/FinalizerHistogramTest.java failed with "RuntimeException: MyObject is not found in test output" (P4) JDK-8353124: java/lang/Thread/virtual/stress/Skynet.java#Z times out on macosx-x64-debug (P4) JDK-8365893: test/jdk/java/lang/Thread/virtual/JfrEvents.java failing intermittently core-libs/java.lang.invoke: (P4) JDK-8375742: Test java/lang/invoke/MethodHandleProxies/Driver.java does not run Unnamed.java (P4) JDK-8373832: Test java/lang/invoke/TestVHInvokerCaching.java tests nothing core-libs/java.lang.module: (P4) JDK-8183336: Better cleanup for jdk/test/java/lang/module/customfs/ModulesInCustomFileSystem.java core-libs/java.net: (P3) JDK-8376031: HttpsURLConnection.getServerCertificates() throws "java.lang.IllegalStateException: connection not yet open" for the HEAD method (P4) JDK-8361106: [TEST] com/sun/net/httpserver/Test9.java fails with java.nio.file.FileSystemException (P4) JDK-8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext" (P4) JDK-8368625: com/sun/net/httpserver/ServerStopTerminationTest.java fails intermittently (P4) JDK-8373704: Improve "SocketException: Protocol family unavailable" message (P4) JDK-8371366: java/net/httpclient/whitebox/RawChannelTestDriver.java fails intermittently in jtreg timeout (P4) JDK-8366031: Mark com/sun/nio/sctp/SctpChannel/CloseDescriptors.java as intermittent (P4) JDK-8323089: networkaddress.cache.ttl is not a system property (P4) JDK-8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5 (P4) JDK-8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5 (P4) JDK-8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5 (P4) JDK-8318662: Refactor some jdk/java/net/httpclient/http2 tests to JUnit (P4) JDK-8368029: Several tests in httpserver/simpleserver should throw SkipException (P4) JDK-8373807: test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java getURI() uses "localhost" (P4) JDK-8369950: TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException core-libs/java.nio: (P4) JDK-8357280: (bf) Remove @requires tags from java/nio/Buffer/LimitDirectMemory[NegativeTest].java (P4) JDK-8255463: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed with ThreadTimeoutException core-libs/java.rmi: (P4) JDK-8365398: TEST_BUG: java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java failing intermittently core-libs/java.text: (P4) JDK-8372609: Bug4944439 does not enforce locale correctly core-libs/java.util: (P4) JDK-8373716: Refactor further java/util tests from TestNG to JUnit (P4) JDK-8375231: Refactor util/ServiceLoader tests to use JUnit (P4) JDK-8375232: Refactor util/StringJoiner tests to use JUnit (P4) JDK-8375233: Refactor util/Vector tests to use JUnit core-libs/java.util:i18n: (P4) JDK-8368335: Refactor the rest of Locale TestNG based tests to JUnit (P4) JDK-8362428: Update IANA Language Subtag Registry to Version 2025-08-25 core-svc/java.lang.management: (P4) JDK-8377944: LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace core-svc/tools: (P4) JDK-8278102: containers/docker/TestJcmd.java failed with "RuntimeException: Could not find specified process" hotspot/compiler: (P3) JDK-8378353: [PPC64] StringCoding.countPositives causes errors when the length is not a proper 32 bit int (P4) JDK-8293484: AArch64: TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on CPU with SHA512 feature support (P4) JDK-8368866: compiler/codecache/stress/UnexpectedDeoptimizationTest.java intermittent timed out (P4) JDK-8286865: vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java fails with Out of space in CodeCache hotspot/gc: (P4) JDK-8364927: Add @requires annotation to TestReclaimStringsLeaksMemory.java (P4) JDK-8319540: GC: Make TestSelectDefaultGC use createTestJavaProcessBuilder (P4) JDK-8332495: java/util/logging/LoggingDeadlock2.java fails with AssertionError: Some tests failed (P4) JDK-8378561: Mark gc/shenandoah/compiler/TestLinkToNativeRBP.java as /native hotspot/jfr: (P2) JDK-8368670: Deadlock in JFR on event register + class load (P2) JDK-8341427: JFR: Adjust object sampler span handling (P2) JDK-8364190: JFR: RemoteRecordingStream withers don't work (P3) JDK-8380011: Path-to-gcroots search should not trigger stack overflows (P4) JDK-8376889: Enhance JfrRecorder::on_create_vm_3() assert output (P4) JDK-8364756: JFR: Improve slow tests hotspot/jvmti: (P4) JDK-8277444: Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking (P4) JDK-8339638: Update vmTestbase/nsk/jvmti/*Field*Watch tests to use virtual thread factory (P4) JDK-8370732: Use WhiteBox.getWhiteBox().fullGC() to provoking gc for nsk/jvmti tests (P5) JDK-8321687: Test vmTestbase/nsk/jvmti/scenarios/contention/TC03/tc03t002/TestDescription.java failed: JVMTI_ERROR_THREAD_NOT_ALIVE hotspot/runtime: (P3) JDK-8318365: Test runtime/cds/appcds/sharedStrings/InternSharedString.java fails after JDK-8311538 (P4) JDK-8370492: [Linux] Update cpu shares to cpu.weight mapping function (P4) JDK-8311538: CDS InternSharedString test fails on huge pages host - cannot find shared string (P4) JDK-8368551: Core dump warning may be confusing (P4) JDK-8369683: Exclude runtime/Monitor/MonitorWithDeadObjectTest.java#DumpThreadsBeforeDetach on Alpine Linux debug (P4) JDK-8374998: Failing os::write - remove bad file (P4) JDK-8374711: Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges fails without printing the option name (P4) JDK-8363949: Incorrect jtreg header in MonitorWithDeadObjectTest.java (P4) JDK-8368885: NMT CommandLine tests can check for error better (P4) JDK-8356868: Not all cgroup parameters are made available (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-8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests (P4) JDK-8368754: runtime/cds/appcds/SignedJar.java log regex is too strict (P4) JDK-8338883: Show warning when CreateCoredumpOnCrash set, but core dump will not happen (P4) JDK-8370905: Update vm.defmeth tests to use virtual threads hotspot/svc: (P3) JDK-8359472: JVM crashes when attaching a dynamic agent before JVMTI_PHASE_LIVE 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-8378775: Bump update version for OpenJDK: jdk-21.0.12 security-libs: (P4) JDK-8349533: Refactor validator tests shell files to java security-libs/java.security: (P3) JDK-8357062: Update Public Suffix List to 823beb1 (P4) JDK-8371383: Test sun/security/tools/jarsigner/DefaultOptions.java failed due to CertificateNotYetValidException (P4) JDK-8360882: Tests throw SkippedException when they should fail (P4) JDK-8373690: Unexpected Keystore message using jdk.crypto.disabledAlgorithms security-libs/javax.crypto: (P4) JDK-8371349: Update NSS library to 3.117 security-libs/javax.net.ssl: (P4) JDK-8373101: JdkClient and JdkServer test classes ignore namedGroups field (P4) JDK-8366182: Some PKCS11Tests are being skipped when they shouldn't (P4) JDK-8359978: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed again with java.net.SocketException: An established connection was aborted by the software in your host machine (P4) JDK-8334928: Test sun/security/ssl/SSLSocketImpl/ReuseAddr.java failed: java.net.BindException: Address already in use security-libs/jdk.security: (P4) JDK-8365863: /test/jdk/sun/security/pkcs11/Cipher tests skip without SkippedException (P4) JDK-8361894: sun/security/krb5/config/native/TestDynamicStore.java ensure that the test is run with sudo (P4) JDK-8371262: sun/security/pkcs11/Cipher/KeyWrap tests may silently skip (P4) JDK-8360562: sun/security/tools/keytool/i18n.java add an ability to add comment for failures (P4) JDK-8370942: test/jdk/java/security/Provider/NewInstance.java and /test/jdk/java/security/cert/CertStore/NoLDAP.java may skip without notifying (P4) JDK-8365861: test/jdk/sun/security/pkcs11/Provider/ tests skipped without SkippedException (P4) JDK-8373793: TestDynamicStore.java '/manual' disables use of '/timeout' (P4) JDK-8368524: Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap (P5) JDK-8360395: sun/security/tools/keytool/i18n.java user country is current user location instead of the language tools/javac: (P4) JDK-8369851: Remove darcy author tags from langtools tests tools/javadoc(tool): (P4) JDK-8338554: Fix inconsistencies in javadoc/doclet/testLinkOption/TestRedirectLinks.java tools/jpackage: (P4) JDK-8378802: [21u] backport changes to TKit.java by JDK-8352419 (P4) JDK-8375080: The tools/jpackage/windows/Win8365790Test.java may fail with ClassNotFoundException: jtreg.SkippedException tools/jshell: (P4) JDK-8350749: Upgrade JLine to 3.29.0 xml/jaxp: (P4) JDK-8364315: Remove unused xml files from test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/xmlfiles (P4) JDK-8349959: Test CR6740048.java passes unexpectedly missing CR6740048.xsd xml/org.xml.sax: (P4) JDK-8349699: XSL transform fails with certain UTF-8 characters on 1024 byte boundaries