RELEASE NOTES: JDK 21.0.12

Notes generated: Fri Apr 10 06:30:36 CEST 2026

JEPs

None.

RELEASE NOTES

None.

FIXED ISSUES

client-libs/2d

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P3 JDK-8286258 [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially

client-libs/javax.sound

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8183336 Better cleanup for jdk/test/java/lang/module/customfs/ModulesInCustomFileSystem.java

core-libs/java.net

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8365398 TEST_BUG: java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java failing intermittently

core-libs/java.text

Priority Bug Summary
P4 JDK-8372609 Bug4944439 does not enforce locale correctly

core-libs/java.util

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8377944 LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace

core-svc/tools

Priority Bug Summary
P4 JDK-8278102 containers/docker/TestJcmd.java failed with "RuntimeException: Could not find specified process"

hotspot/compiler

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P3 JDK-8359472 JVM crashes when attaching a dynamic agent before JVMTI_PHASE_LIVE

hotspot/test

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8378775 Bump update version for OpenJDK: jdk-21.0.12

security-libs

Priority Bug Summary
P4 JDK-8349533 Refactor validator tests shell files to java

security-libs/java.security

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8371349 Update NSS library to 3.117

security-libs/javax.net.ssl

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8369851 Remove darcy author tags from langtools tests

tools/javadoc(tool)

Priority Bug Summary
P4 JDK-8338554 Fix inconsistencies in javadoc/doclet/testLinkOption/TestRedirectLinks.java

tools/jpackage

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8350749 Upgrade JLine to 3.29.0

xml/jaxp

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8349699 XSL transform fails with certain UTF-8 characters on 1024 byte boundaries