RELEASE NOTES FOR: 17.0.20 ==================================================================================================== Notes generated: Fri Jul 10 06:20:27 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/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 ``` JDK-8354469: Enhanced keytool Password Handling When Output Is Redirected The [keytool] command reads passwords from the system console to prevent them from being displayed on the screen. However, the console is usually available only when both the standard input and output streams are not redirected. Previously, if the standard output stream was redirected into a file or another command, the console was unavailable and the input password was echoed on the screen. This enhancement improves password handling to ensure that the password is not displayed on the screen even if the standard output stream is redirected. This enhancement has also been made to the [jarsigner] command and the JAAS [TextCallbackHandler] API. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P4) JDK-8340987: Open some TextArea awt tests 1 (P4) JDK-8341055: Open some TextArea awt tests 2 (P4) JDK-8341292: Open some TextArea awt tests 3 (P4) JDK-8341376: Open some TextArea awt tests 4 (P4) JDK-8367772: Refactor createUI in PassFailJFrame (P4) JDK-8355179: Reinstate javax/swing/JScrollBar/4865918/bug4865918.java headful and macos run (P4) JDK-8284993: Replace System.exit call in swing tests with RuntimeException 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-8328300: Convert PrintDialogsTest.java from Applet to main program (P4) JDK-8377602: Create automated test for PageRange (P4) JDK-8352733: Improve RotFontBoundsTest test (P4) JDK-8221451: PIT: sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fails (P4) JDK-8320677: Printer tests use invalid '@run main/manual=yesno (P4) JDK-8357082: Stabilize and add debug logs to CopyAreaOOB.java (P4) JDK-8338103: Stabilize and open source a Swing OGL ButtonResizeTest (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-8369911: Test sun/java2d/marlin/ClipShapeTest.java#CubicDoDash, #Cubic and #Poly fail intermittent (P4) JDK-7184899: Test sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fail (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-8384902: Update GIFlib to 6.1.3 (P3) JDK-8384495: Update Libpng to 1.6.58 (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-8347836: Disabled PopupMenu shows shortcuts on Mac (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-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-8340336: Open some checkbox awt tests (P4) JDK-8339879: Open some dialog awt tests (P4) JDK-8339975: Open some dialog awt tests 2 (P4) JDK-8340140: Open some dialog awt tests 3 (P4) JDK-8340494: Open some dialog awt tests 4 (P4) JDK-8340851: Open some TextArea awt tests (P4) JDK-8369251: Opensource few tests (P4) JDK-8352877: Opensource Several Font related tests - Batch 1 (P4) JDK-8353552: Opensource Several Font related tests - Batch 3 (P4) JDK-8373239: Test java/awt/print/PrinterJob/PageRanges.java fails with incorrect selection of printed pages (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-8274082: Wrong test name in jtreg run tag for java/awt/print/PrinterJob/SwingUIText.java (P5) JDK-8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update client-libs/javax.accessibility: (P3) JDK-8286258: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially client-libs/javax.imageio: (P4) JDK-8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable client-libs/javax.sound: (P3) JDK-8372120: Add missing sound keyword to MIDI tests (P4) JDK-8373931: Test javax/sound/sampled/Clip/AutoCloseTimeCheck.java timed out (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-8354900: javax/swing/AbstractButton/bug4133768.java failing on macosx-aarch64 (P3) JDK-8316274: javax/swing/ButtonGroup/TestButtonGroupFocusTraversal.java fails in Ubuntu 23.10 with Motif LAF (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-8353488: Open some JComboBox bugs 3 (P4) JDK-8354695: Open source several swing tests batch7 (P4) JDK-8354163: Open source Swing tests Batch 1 (P4) JDK-8352685: Opensource JInternalFrame tests - series2 (P4) JDK-8365379: SU3.applyInsets may produce wrong results (P4) JDK-8339233: Test javax/swing/JButton/SwingButtonResizeTestWithOpenGL.java#id failed: Button renderings are different after window resize (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() 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 (P4) JDK-8366261: Provide utility methods for sun.security.util.Password core-libs/java.io:serialization: (P4) JDK-8373623: Refactor Serialization tests for Records to JUnit core-libs/java.lang: (P4) JDK-8356107: [java.lang] Use @requires tag instead of exiting based on os.name or separatorChar property (P4) JDK-8368683: [process] Increase jtreg debug output maxOutputSize for TreeTest (P4) JDK-8298783: java/lang/ref/FinalizerHistogramTest.java failed with "RuntimeException: MyObject is not found in test output" (P4) JDK-8369858: Remove darcy author tags from jdk tests core-libs/java.lang.module: (P3) JDK-8290504: Close streams returned by ModuleReader::list (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-8386343: [17u] Fix NTLMHeadTest after backport of 8384486 (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-8304065: HttpServer.stop should terminate immediately if no exchanges are in progress (P4) JDK-8369319: java/net/httpclient/CancelRequestTest.java fails intermittently (P4) JDK-8371366: java/net/httpclient/whitebox/RawChannelTestDriver.java fails intermittently in jtreg timeout (P4) JDK-8317801: java/net/Socket/asyncClose/Race.java fails intermittently (aix) (P4) JDK-8323089: networkaddress.cache.ttl is not a system property (P4) JDK-8384486: NTLM tests fail on Windows 11 and Windows Server 2025 (P4) JDK-8374548: Process httpserver cancelled keys more quickly (P4) JDK-8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5 (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-8355445: [java.nio] Use @requires tag instead of exiting based on "os.name" property value (P4) JDK-8272477: Additional cleanup of test/jdk/java/nio/file/spi/SetDefaultProvider.java (P4) JDK-8255463: java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java failed with ThreadTimeoutException (P4) JDK-8366128: jdk/jdk/nio/zipfs/TestPosix.java::testJarFile uses wrong file core-libs/java.text: (P4) JDK-8372609: Bug4944439 does not enforce locale correctly (P4) JDK-8368498: Use JUnit instead of TestNG for jdk_text tests 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: (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-8374433: java/util/Locale/PreserveTagCase.java does not run any tests (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-libs/javax.naming: (P4) JDK-8287062: com/sun/jndi/ldap/LdapPoolTimeoutTest.java failed due to different timeout message (P5) JDK-8375999: com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails sporadically on Windows core-svc/java.lang.management: (P4) JDK-8377944: LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace hotspot/compiler: (P2) JDK-8358751: C2: Recursive inlining check for compiled lambda forms is broken (P3) JDK-8324345: Stack overflow during C2 compilation when splitting memory phi (P4) JDK-8324641: [IR Framework] Add Setup method to provide custom arguments and set fields (P4) JDK-8337876: [IR Framework] Add support for IR tests with @Stable (P4) JDK-8282044: [JVMCI] Export _sha3_implCompress, _md5_implCompress and aarch64::_has_negatives stubs to JVMCI compiler. (P4) JDK-8293484: AArch64: TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on CPU with SHA512 feature support (P4) JDK-8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build (P4) JDK-8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform (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-8370325: G1: Disallow GC for TLAB allocation (P4) JDK-8377678: G1: Heap Dumping crashes with -UseClassUnloading (P4) JDK-8332495: java/util/logging/LoggingDeadlock2.java fails with AssertionError: Some tests failed (P4) JDK-8383601: RISC-V: ShenandoahBarrierSetAssembler::load_reference_barrier calls "weak" on "phantom" path hotspot/jfr: (P2) JDK-8368670: Deadlock in JFR on event register + class load (P2) JDK-8341427: JFR: Adjust object sampler span handling (P2) JDK-8382242: JFR: Metadata reconstruction invalidates ConstantMap for java.lang.String (P2) JDK-8364190: JFR: RemoteRecordingStream withers don't work hotspot/jvmti: (P3) JDK-8240908: RetransformClass does not know about MethodParameters attribute (P3) JDK-8281243: Test java/lang/instrument/RetransformWithMethodParametersTest.java is failing (P4) JDK-8277444: Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking (P4) JDK-8383630: Fix iteration in tests doing class redefinition (P4) JDK-8349192: jvmti/scenarios/contention/TC05/tc05t001 fails: ERROR: tc05t001.cpp, 281: (waitedThreadCpuTime - waitThreadCpuTime) < (EXPECTED_ACCURACY * 1000000) (P4) JDK-8370732: Use WhiteBox.getWhiteBox().fullGC() to provoking gc for nsk/jvmti tests hotspot/runtime: (P3) JDK-8349988: Change cgroup version detection logic to not depend on /proc/cgroups (P3) JDK-8347811: Container detection code for cgroups v2 should use cgroup.controllers (P3) JDK-8365526: Crash with null Symbol passed to SystemDictionary::resolve_or_null (P3) JDK-8354878: File Leak in CgroupSubsystemFactory::determine_type of cgroupSubsystem_linux.cpp:300 (P3) JDK-8380565: PPC64: deoptimization stub should save vector registers (P3) JDK-8372988: Test runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java failed: Unexpected interrupt (P4) JDK-8383659: [17u] JVM crashes during stub routines generation on Windows and rare combination of CPU features (P4) JDK-8368551: Core dump warning may be confusing (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-8374178: Missing include in systemDictionary.cpp after JDK-8365526 (P4) JDK-8368885: NMT CommandLine tests can check for error better (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-8380316: Test runtime/os/AvailableProcessors.java fails Invalid argument infrastructure: (P4) JDK-8378777: Bump update version for OpenJDK: jdk-17.0.20 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 (P3) JDK-8339238: Update to use jtreg 7.5.1 (P3) JDK-8357141: Update to use jtreg 7.5.2 (P4) JDK-8384540: [25u, 21u, 17u] Update GHA JDKs after Apr/26 updates (P4) JDK-8381205: GHA: Upgrade Node.js 20 to 24 (P4) JDK-8323672: Suppress unwanted autoconf added flags in CC and CXX infrastructure/other: (P4) JDK-8380947: Add pull request template security-libs: (P4) JDK-8349533: Refactor validator tests shell files to java security-libs/java.security: (P2) JDK-8372351: Add 2 WISeKey roots (P3) JDK-8354469: Keytool exposes the password in plain text when command is piped using | grep (P3) JDK-8374555: No need for visible input warning in s.s.u.Password when not reading from System.in (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.net.ssl: (P2) JDK-8384815: SelectOneKeyOutOfMany and PreferredKey fail after expired test certificate (P4) JDK-8373101: JdkClient and JdkServer test classes ignore namedGroups field (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/javax.security: (P2) JDK-8367583: sun/security/util/AlgorithmConstraints/InvalidCryptoDisabledAlgos.java fails after JDK-8244336 security-libs/jdk.security: (P4) JDK-8370942: test/jdk/java/security/Provider/NewInstance.java and /test/jdk/java/security/cert/CertStore/NoLDAP.java may skip without notifying security-libs/org.ietf.jgss:krb5: (P4) JDK-8374888: Implement internal test cache to help UserIterCount test performance tools/javac: (P4) JDK-8309142: Refactor test/langtools/tools/javac/versions/Versions.java (P4) JDK-8369851: Remove darcy author tags from langtools tests (P4) JDK-8321182: SourceExample.SOURCE_14 comment should refer to 'switch expressions' instead of 'text blocks' 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 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