Liberica JDK 26.0.2+13: Release Notes

Published: July 21, 2026

1. Version information

This document provides information about Liberica JDK 26.0.2 release. The full version string for this update release is 26.0.2+13. The version number is 26.

Liberica JDK 26 is distributed as .apk, .rpm, .zip, .deb, .pkg, and .tar.gz packages. Please select the most appropriate for your purposes.

2. What’s New

This release contains the following updates and new features.

Notable Changes

This is the list of the notable issues fixed in this release.

Issue ID

JDK-8347938

Summary: Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings

Description: 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' of RFC 9935 and Section 6, '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.

JDK-8372351

Summary: Added WISeKey Global GB and GC Root CA Certificates

Description: wisekeyglobalrootgbca and wisekeyglobalrootgcca root certificates have been added to the cacerts truststore.

JDK-8381670

Summary: Revert the changes to GZIPInputStream related to InputStream.available() usage

Description: Reverted the changes to java.util.zip.GZIPInputStream that were done in JDK-7036144 (CSR JDK-8327489). The implementation of GZIPInputStream is now reverted to using InputStream.available() for deciding whether or not to read past a GZIP stream trailer.

JDK-8382740

Summary: JFR Event jdk.OldObjectSample Disabled for Generational ZGC

Description: 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.

JDK-8385665

Summary: Address possible oversized errors in Math.pow

Description: The FDLIBM 5.3 algorithm for pow, as uncorrected before JDK-8326547, for some inputs returned 600+ ulp errors rather than < 1 ulp errors as specified. In cases where Math.pow delegates to StrictMath.pow, it now uses the corrected algorithm even on platform versions where using the uncorrected original algorithm is specified.

Discontinued OS support

Note that Liberica JDK 26.0.2 is not available for and cannot be run on the following operating systems:

  • Windows x86 (32-bit)

  • macOS 10.x

IANA TZ Data version

This release of Liberica JDK 26.0.2 comes with the 2026b version of the in-tree copy of the IANA timezone database. The following are the key features of this version.

Briefly

British Columbia moved to permanent -07 on 2026-03-09.

Some more overflow bugs have been fixed in zic.

Changes to future timestamps

British Columbia’s 2026-03-08 spring forward was its last foreseeable clock change, as it moved to permanent -07 thereafter. (Thanks to Arthur David Olson.) Although the change to permanent -07 legally took place on 2026-03-09, temporarily model the change to occur on 2026-11-01 at 02:00 instead. This works around a limitation in CLDR v48.2 (2026-03-17). This temporary hack is planned to be removed after CLDR is fixed.

Changes to code

  • zic no longer mishandles a last transition to a new time type.

  • zic no longer overflows a buffer when generating a TZ string like "PST-167:59:58PDT-167:59:59,M11.5.6/-167:59:59,M12.5.6/-167:59:59", which can occur with adversarial input. (Thanks to Naveed Khan.)

  • zic no longer generates a longer TZif file than necessary when an earlier time zone abbreviation is a suffix of a later one. As a nice side effect, zic no longer overflows a buffer when given a long series of abbreviations, each a suffix of the next. (Buffer overflow reported by Arthur Chan.)

  • zic no longer overflows an int when processing input like ‘Zone Ouch 2147483648:00:00 - LMT’. The int overflow can lead to buffer overflow in adversarial cases. (Thanks to Naveed Khan.)

  • zic now checks for signals more often.

For more information, see JDK-8383175.

3. Known Issues

This release does not contain any known issues.

4. Fixed CVEs

This is the list of the security issues fixed in this release. CVSS scores are provided using the CVSS version 3.1 scoring system.

CVE IDCVSS scoreComponentModuleAttack VectorComplexityPrivilegesUser InteractionScopeConfidentialityIntegrityAvailability

CVE-2026-41254

7.5

client-libs

2d

network

low

none

none

unchanged

none

none

high

CVE-2026-46917

5.3

security-libs

javax.net.ssl

network

low

none

none

unchanged

none

none

low

CVE-2026-46968

5.9

security-libs

javax.net.ssl

network

high

none

none

unchanged

none

high

none

CVE-2026-47010

3.7

client-libs

javax.imageio

network

high

none

none

unchanged

none

low

none

CVE-2026-47013

5.3

javafx

graphics

network

low

none

none

unchanged

none

none

low

CVE-2026-47021

5.3

client-libs

2d

network

low

none

none

unchanged

none

none

low

CVE-2026-47027

5.3

security-libs

java.security

network

low

none

none

unchanged

none

none

low

CVE-2026-47030

3.1

javafx

web

network

high

none

required

unchanged

none

low

none

CVE-2026-47034

3.1

javafx

media

network

high

none

required

unchanged

none

low

none

CVE-2026-47035

3.1

javafx

media

network

high

none

required

unchanged

none

low

none

CVE-2026-47059

5.9

client-libs

2d

network

high

none

none

unchanged

none

none

low

CVE-2026-47063

7.5

security-libs

java.security

network

low

none

none

unchanged

none

high

none

CVE-2026-60147

6.5

security-libs

java.security

network

low

none

none

unchanged

low

low

none

CVE-2026-60164

3.1

javafx

web

network

high

none

required

unchanged

low

none

none

CVE-2026-60165

3.1

javafx

media

network

high

none

required

unchanged

none

low

none

CVE-2026-60166

3.1

javafx

media

network

high

none

required

unchanged

low

none

none

5. Resolved Issues

JDK issues

This is the list of general JDK issues fixed in this release.

Issue IDSummary

JDK-8068378

[TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update

JDK-8170896

TEST_BUG: java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java failed with unreferenced() not invoked after 20.0 seconds

JDK-8278102

containers/docker/TestJcmd.java failed with "RuntimeException: Could not find specified process"

JDK-8279196

Test: jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java timed out

JDK-8286258

[Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value wrong and sometime partially

JDK-8297191

[macos] Printing a page range with starting page > 1 results in missing pages

JDK-8319326

GC: Make TestParallelRefProc use createTestJavaProcessBuilder

JDK-8323792

ThreadSnapshot::initialize can cause assert in Thread::check_for_dangling_thread_pointer (possibility of dangling Thread pointer)

JDK-8344345

test/hotspot/gtest/x86/x86-asmtest.py has trailing whitespaces

JDK-8346154

[XWayland] Some tests fail intermittently in the CI, but not locally

JDK-8347938

Add Support for the Latest ML-KEM and ML-DSA Private Key Encodings

JDK-8359433

The final modifier on Windows L&F internal UI classes prevents extending them in apps

JDK-8360160

ubuntu-22-04 machine is failing client tests

JDK-8364373

Transform Affine transformations

JDK-8366138

Parse::jump_switch_ranges() could cause stack overflow when compiling huge switch statement

JDK-8367463

Improved Arena allocations

JDK-8367994

test/jdk/sun/security/pkcs11/Signature/ tests pass when they should skip

JDK-8368041

Enhance TLS certificate handling

JDK-8368524

Tests are skipped and shown as passed in test/jdk/sun/security/pkcs11/Cipher/KeyWrap

JDK-8368977

Provide clear naming for AVX10 identifiers

JDK-8369561

sun/java2d/OpenGL/DrawBitmaskImage.java#id0: Incorrect color for first pixel (actual=ff000000)

JDK-8369950

TLS connection to IPv6 address fails with BCJSSE due to IllegalArgumentException

JDK-8370502

C2: segfault while adding node to IGVN worklist

JDK-8370995

Enhance ZipFile usage

JDK-8371420

Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104

JDK-8371420

Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104

JDK-8371503

RETAIN_IMAGE_AFTER_TEST do not work for some tests

JDK-8372351

Add 2 WISeKey roots

JDK-8372377

Test java/io/File/GetXSpace.java failed: The system cannot find the path specified

JDK-8372661

Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext"

JDK-8373021

aarch64: MacroAssembler::arrays_equals reads out of bounds

JDK-8373101

JdkClient and JdkServer test classes ignore namedGroups field

JDK-8373120

Virtual thread stuck in BLOCKED state

JDK-8373239

Test java/awt/print/PrinterJob/PageRanges.java fails with incorrect selection of printed pages

JDK-8373275

Improve DTLS handshaking

JDK-8373290

Update FreeType to 2.14.1

JDK-8373362

Http3TestServer should not log an exception stack trace when it is stopping normally

JDK-8373537

Migrate "test/jdk/com/sun/net/httpserver/" to null-safe "SimpleSSLContext" methods

JDK-8373623

Refactor Serialization tests for Records to JUnit

JDK-8373650

Test "javax/swing/JMenuItem/6458123/ManualBug6458123.java" fails because the check icons are not aligned properly as expected

JDK-8373690

Unexpected Keystore message using jdk.crypto.disabledAlgorithms

JDK-8373704

Improve "SocketException: Protocol family unavailable" message

JDK-8373716

Refactor further java/util tests from TestNG to JUnit

JDK-8373718

jdk/internal/misc/VM/RuntimeArguments.java test fails in Virtual threads mode

JDK-8373796

Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5

JDK-8373808

Refactor java/net/httpclient qpack and hpack tests to use JUnit

JDK-8373829

Refactor test/jdk/java/time/tck tests to use JUnit over TestNG

JDK-8373830

Refactor test/jdk/java/time/test tests to use JUnit over TestNG

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

JDK-8373866

Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5

JDK-8373869

Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5

JDK-8373893

Refactor networking http server tests to use JUnit

JDK-8373913

Refactor serialization tests to use JUnit

JDK-8373928

4 Dangling pointer defect groups in java.c

JDK-8373931

Test javax/sound/sampled/Clip/AutoCloseTimeCheck.java timed out

JDK-8373944

ObjectMonitor::ExitOnSuspend can call java_lang_VirtualThread::set_onWaitingList() while in safepoint

JDK-8374043

C2: assert(_base >= VectorMask && _base ⇐ VectorZ) failed: Not a Vector

JDK-8374051

Incorrect parameterized testing of exceptions in AbstractDateTimeTest.java

JDK-8374056

RISC-V: Fix argument passing for the RiscvFlushIcache::flush

JDK-8374058

Enhance JPEG handling

JDK-8374178

Missing include in systemDictionary.cpp after JDK-8365526

JDK-8374304

MultiResolutionSplashTest.java fails in CI: "Image with wrong resolution is used for splash screen!"

JDK-8374322

TestMemoryWithSubgroups.java fails Permission denied

JDK-8374343

Fix SIGSEGV when lib/modules is unreadable

JDK-8374371

Failed assertion in G1HeapRegion gtest

JDK-8374506

Incorrect positioning of arrow icon in parent JMenu in Windows L&F

JDK-8374557

Enhance TLS connection handling

JDK-8374711

Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges fails without printing the option name

JDK-8374727

Audio configuration Platform class - use nio for getting endianness of the underlying platform

JDK-8374744

Enable dumping of APX EGPRs (R16–R31) in JVM fatal error logs

JDK-8374769

PPC: MASM::pop_cont_fastpath() should reset _cont_fastpath if SP == _cont_fastpath

JDK-8374888

Implement internal test cache to help UserIterCount test performance

JDK-8374903

C2 VectorAPI: assert(vbox→as_Phi()→region() == vect→as_Phi()→region()) failed

JDK-8374998

Failing os::write - remove bad file

JDK-8375010

C2 VectorAPI: assert(vbox→is_CheckCastPP()) failed: should be expanded

JDK-8375057

Update HarfBuzz to 12.3.2

JDK-8375065

Update LCMS to 2.18

JDK-8375231

Refactor util/ServiceLoader tests to use JUnit

JDK-8375232

Refactor util/StringJoiner tests to use JUnit

JDK-8375233

Refactor util/Vector tests to use JUnit

JDK-8375294

(fs) Files.copy can fail with EOPNOTSUPP when copy_file_range not supported

JDK-8375311

Some builds are missing debug helpers

JDK-8375598

VM crashes with "assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1) failed: must be 32bit offset or -1" when using too high value for NonNMethodCodeHeapSize

JDK-8375742

Test java/lang/invoke/MethodHandleProxies/Driver.java does not run Unnamed.java

JDK-8375999

com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails sporadically on Windows

JDK-8376031

HttpsURLConnection.getServerCertificates() throws "java.lang.IllegalStateException: connection not yet open" for the HEAD method

JDK-8376104

C2 crashes in PhiNode::Ideal(PhaseGVN*, bool) accessing NULL pointer

JDK-8376151

Test javax/swing/JFileChooser/4966171/bug4966171.java is failing with OOME

JDK-8376152

Test javax/sound/sampled/Clip/bug5070081.java timed out then completed

JDK-8376185

NoSuchFieldError thrown after a record with type annotation retransformed

JDK-8376233

Clean up code in Desktop native peer

JDK-8376308

java/net/httpclient/CancelRequestTest.java fails intermittently with "Expected CancellationException not received"

JDK-8376402

Dependencies::print_statistics() and AbstractClassHierarchyWalker::print_statistics() are not called from PRODUCT code

JDK-8376479

Http3 test server thread deadlock in ThrowingPublishersInRequest

JDK-8376485

Update the release version and date for OpenJDK 26u

JDK-8376684

Compile OpenJDK in headless mode without required X11 libraries

JDK-8376688

Gtest os.attempt_reserve_memory_between_small_range_fill_hole_vm fails on AIX 7.3

JDK-8376889

Enhance JfrRecorder::on_create_vm_3() assert output

JDK-8376956

Add JVMTI phase entering/setting to hserr event log

JDK-8377158

Enhance XBM image support

JDK-8377167

javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable

JDK-8377334

Test framework used by langtools regression tests can produce false positives

JDK-8377347

jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java intermittent OOME

JDK-8377461

Add ZipFile test for incorrect number of entries reported in ENDTOT

JDK-8377498

Improve HttpServer handling

JDK-8377509

Add licenses for gcc 14.2.0

JDK-8377512

AOT cache creation fails with invalid native pointer

JDK-8377526

Update Libpng to 1.6.55

JDK-8377534

Test java/awt/print/PrinterJob/PrintNullString.java fails with FAILURE: No IAE for empty iterator, int

JDK-8377602

Create automated test for PageRange

JDK-8377727

Ghost caret and focus appear in non-editable text fields

JDK-8377777

Improve logging when rejecting assets from the AOT archive

JDK-8377833

Enhance Jar file processing

JDK-8377898

Hotspot build on AIX with unused-functions warning reports some unused functions

JDK-8377905

gcc.md included with every build

JDK-8377910

Minor cleanup of java/io/FileDescriptor/Sharing.java

JDK-8377932

AOT cache is not rejected when JAR file has changed

JDK-8377944

LowMemoryTest2.java#id1 intermittent fails OOME: Metaspace

JDK-8377949

TestZRelocationSetEvent.java intermittent fails OOME

JDK-8378113

Add sun/java2d/OpenGL/ScaleParamsOOB.java to the ProblemList.txt file

JDK-8378201

[OGL] glXMakeContextCurrent() drops the buffers of the unbound drawable

JDK-8378218

MSYS2 reports cygwin triplet causing bash configure failure

JDK-8378353

[PPC64] StringCoding.countPositives causes errors when the length is not a proper 32 bit int

JDK-8378417

Printing All pages results in NPE for 1.1 PrintJob

JDK-8378561

Mark gc/shenandoah/compiler/TestLinkToNativeRBP.java as /native

JDK-8378623

Use unique font names in FormatCharAdvanceTest

JDK-8378631

Update Zlib Data Compression Library to Version 1.3.2

JDK-8378687

Improve delegation of HttpURLConnection

JDK-8378713

C2: performance regression due to missing constant folding for Math.pow()

JDK-8378727

[macOS] Missing dispatch_release for semaphores in CDesktopPeer

JDK-8378764

fileStream::fileSize() fails for >2GB files on Windows

JDK-8378823

AIX build fails after zlib updated by JDK-8378631

JDK-8378836

Enable linktime-gc by default on Linux ppc64le

JDK-8378871

CPU feature flags are not properly set in vm_version_windows_aarch64.cpp

JDK-8378878

Refactor java/nio/channels/AsynchronousSocketChannel test to use JUnit

JDK-8379035

(tz) Update Timezone Data to 2026a

JDK-8379158

Update FreeType to 2.14.2

JDK-8379202

Support linktime-gc on Linux with clang

JDK-8379256

Update GIFlib to 6.1.1

JDK-8379416

AIX build fails if system (not GNU) date tool is in PATH

JDK-8379425

Windows and macOS should not allow unsupported headless-only build

JDK-8379457

Test EATests.java#id0 ERROR: monitor list errors: error_cnt=1

JDK-8379499

[AIX] headless-only build of libjawt.so fails

JDK-8379516

Adjust JVM debug helper exports

JDK-8379952

Revert JDK-8365711: Restore protected visibility of menuBarHeight and hotTrackingOn

JDK-8379967

(process) Improve ProcessBuilder error reporting

JDK-8380011

Path-to-gcroots search should not trigger stack overflows

JDK-8380078

Update GIFlib to 6.1.2

JDK-8380222

Refactor test/jdk/java/lang/Character TestNG tests to JUnit

JDK-8380409

JVM crashes when -XX:AOTMode=create uses app.aotconf generated with JVMTI agent

JDK-8380474

Crash SEGV in ThreadIdTable::lazy_initialize after JDK-8323792

JDK-8380565

PPC64: deoptimization stub should save vector registers

JDK-8380663

Update jcmd man page to include AOT.end_recording diagnostic command

JDK-8380672

Improve certification checking

JDK-8380947

Add pull request template

JDK-8380959

Update Libpng to 1.6.56

JDK-8381039

Enhance AWT ImagingLib

JDK-8381049

Enhance Jar handling

JDK-8381205

[GHA] Upgrade Node.js 20 to 24

JDK-8381315

compiler/vectorapi/TestVectorReallocation.java fails with -XX:UseAVX=1 after JDK-8380565

JDK-8381519

Enhance Der Value Handling

JDK-8381596

Adjust checks which use supports_ht() on x86 for hybrid CPUs

JDK-8381670

Revert the changes to GZIPInputStream related to InputStream.available() usage

JDK-8381745

Ensure Modal/FileDialog tests explicitly reference Asserts class

JDK-8381796

Enhance Certificate parsing

JDK-8381937

Make exceptions in Java_sun_security_mscapi_CKeyPairGenerator generateCKeyPair more specific

JDK-8382020

Time Zone Abbreviation Not Localized for Non-English Locales

JDK-8382047

Update Libpng to 1.6.57

JDK-8382204

Revert EA option for build promotion

JDK-8382242

JFR: Metadata reconstruction invalidates ConstantMap for java.lang.String

JDK-8382516

Change milestone to fcs for all releases

JDK-8382740

JFR: Disable jdk.OldObjectSample event for generational ZGC

JDK-8383175

(tz) Update Timezone Data to 2026b

JDK-8383354

Update LCMS to 2.19.1

JDK-8383473

Follow on from tzdata2026b time change to include temporary hack BC time change

JDK-8383867

File.getCanonicalPath drops backslash from UNC path with directory junctions

JDK-8385076

Follow-on fix for Improve certification checking

JDK-8385665

Address possible oversized errors in Math.pow

JFX issues

This is the list of JFX issues fixed in this release.

Issue IDSummary

JDK-8373527

Improve Graphics playback

JDK-8375084

Update libxslt to 1.1.45

JDK-8378226

Animated GIFs do not animate after WebKit 620.1 update

JDK-8378277

Improve Editor selection

JDK-8378383

Create release notes for JavaFX 26

JDK-8378510

Provide media support for libavcodec version 62

JDK-8379206

4 Null pointer dereference defect groups in 4 glib files

JDK-8379207

Improve audio conversion

JDK-8379209

Uninitialised variable in pathApplierFunctionFast of coretext.c

JDK-8379211

Uninitialised memory in Java_com_sun_javafx_font_freetype_OSFreetype_FT_1Outline_1Decompose

JDK-8379257

Update JPEG Image Decoding Software to 10

JDK-8379336

Update libxml2 to 2.15.2

JDK-8379440

Change JavaFX release version to 26.0.2 in jfx26u

JDK-8379823

Doc files should not have a + in the filename

JDK-8380557

Additional WebKit 623.1 fixes from WebKitGTK 2.50.6

JDK-8380557

Additional WebKit 623.1 fixes from WebKitGTK 2.50.6

JDK-8381447

Remove G_DISABLE_CHECKS compiler flag on Windows to align GLib/GStreamer compilation with macOS/Linux

JDK-8381517

GlassViewDelegate::convertNSStringToJString can return uninitialized value

JDK-8381624

Create release notes for JavaFX 26.0.1

JDK-8381982

Add pull request template

JDK-8383092

Enhance WebView Resource Loading

JDK-8383129

Better Handling of MP4 Files

JDK-8383143

Enhance Playlist Loading

6. Updates to Third Party Libraries

This is the list of changes in the third party libraries.

LibraryFull nameNew VersionModuleJBS number

FreeType

FreeType

2.14.2

java.desktop

JDK-8379158

GIFlib

GIFlib

6.1.2

java.desktop

JDK-8380078

HarfBuzz

HarfBuzz

12.3.2

java.desktop

JDK-8375057

LCMS

LittleCMS

2.19.1

java.desktop

JDK-8383354

libjpeg

JPEG Image Decoding Software

10

javafx.web

JDK-8379257

Libpng

Libpng

1.6.57

java.awt

JDK-8382047

libxml2

libxml2

2.15.2

javafx.web

JDK-8379336

libxslt

libxslt

1.1.45

javafx.web

JDK-8375084

7. Upgrading to the New Version

To keep your Liberica JDK up-to-date and secure, always upgrade to the newest available version once it is released. To upgrade, install the new version over the previous one. For the installation instructions, see Liberica JDK Installation Guide.

ON THIS PAGE