Liberica JDK 24.0.2+12: Release Notes

Published: July 16, 2025

1. Version information

This document provides information about Liberica JDK 24.0.2 release.

The full version string for this update release is 24.0.2+12. The version number is 24.

Liberica JDK 24 is distributed as .apk, .rpm, .zip, .deb, 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-8303770

Summary: Removed Baltimore CyberTrust Root Certificate After Expiry Date

Description: The following expired root certificate has been removed from the cacerts keystore: alias name baltimorecybertrustca [jdk], Distinguished Name: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE.

JDK-8345185

Summary: jpackage No Longer Includes Service Bindings by Default for Generated Run-Time Images

Description: Starting with JDK 25, jpackage no longer includes service bindings for a run-time image that it creates. Prior to JDK 25, jpackage would include service bindings for run-time images. As a result, the generated run-time images produced by jpackage might not include the same set of modules as it did in prior versions. The previous behavior can be achieved by adding the --bind-services jlink option to the default jlink options jpackage.

JDK-8346587

Summary: Distrust TLS server certificates anchored by Camerfirma Root CAs

Description: The JDK will stop trusting TLS server certificates issued after April 15, 2025 and anchored by Camerfirma root certificates, in line with similar plans announced by Google, Mozilla, Apple, and Microsoft. TLS server certificates issued on or before April 15, 2025 will continue to be trusted until they expire. Certificates issued after that date, and anchored by any of the Certificate Authorities in the table below, will be rejected. The restrictions are enforced in the JDK implementation (the SunJSSE Provider) of the Java Secure Socket Extension (JSSE) API. A TLS session will not be negotiated if the server’s certificate chain is anchored by any of the Certificate Authorities in the table below and the certificate has been issued after April 15, 2025.

JDK-8350498

Summary: Removed Two Camerfirma Root Certificates

Description: The following root certificates, which are terminated and no longer in use, have been removed from the cacerts keystore: alias name camerfirmachamberscommerceca [jdk], Distinguished Name: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU; alias name camerfirmachambersignca [jdk], Distinguished Name: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU.

JDK-8352716

Summary: Update Timezone Data to 2025b

Description: The 2025b release of the tz code and data contains the following changes: New zone for Aysén Region in Chile which moves from -04/-03 to -03.

JDK-8359170

Summary: Added 4 New Root Certificates from Sectigo Limited

Description: The following Sectigo Limited root certificates have been added to the cacerts truststore: sectigocodesignroote46, DN: CN=Sectigo Public Code Signing Root E46, O=Sectigo Limited, C=GB; sectigocodesignrootr46, DN: CN=Sectigo Public Code Signing Root R46, O=Sectigo Limited, C=GB; sectigotlsroote46, DN: CN=Sectigo Public Server Authentication Root E46, O=Sectigo Limited, C=GB; sectigotlsrootr46, DN: CN=Sectigo Public Server Authentication Root R46, O=Sectigo Limited, C=GB.

Discontinued OS support

Note that Liberica JDK 24.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 update

This release of Liberica JDK 24.0.2 upgrades the in-tree copy of the IANA timezone database to 2025b. The following are the key changes of this update:

Future Timestamps:

New Time Zone:

A new time zone, America/Coyhaique, is created for Chile’s Aysén Region, which will now observe UTC−03 year-round (no daylight saving time).

  • This diverges from America/Santiago starting March 20, 2025.

  • Aysén will not change clocks on April 5, 2025.

  • This aligns Aysén with Magallanes Region.

Past Timestamps:

Iran Time Change Correction:

Iran changed from UTC+04 to UTC+03:30 on November 10, 1978, not at the end of the year as previously recorded.

Code Fixes:

Improved behavior for the zic tool:

  • It no longer creates invalid symlinks when using -l with multiple arguments.

  • A buffer underflow issue is resolved.

For more information, see JDK-8352716.

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-2025-24855

7.5

javafx

web

network

high

none

required

unchanged

high

high

high

CVE-2025-27113

7.5

javafx

web

network

high

none

required

unchanged

high

high

high

CVE-2025-30749

8.1

client-libs

2d

network

high

none

none

unchanged

high

high

high

CVE-2025-30754

4.8

security-libs

javax.net.ssl

network

high

none

none

unchanged

low

low

none

CVE-2025-50059

8.6

core-libs

java.net

network

low

none

none

changed

high

none

none

CVE-2025-50106

8.1

client-libs

2d

network

high

none

none

unchanged

high

high

high

5. Resolved Issues

JDK issues

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

Issue IDSummary

JDK-8217914

java/net/httpclient/ConnectTimeoutHandshakeSync.java failed on connection refused while doing POST

JDK-8276995

Bug in jdk.jfr.event.gc.collection.TestSystemGC

JDK-8280991

[XWayland] No displayChanged event after setDisplayMode call

JDK-8281511

java/net/ipv6tests/UdpTest.java fails with checkTime failed

JDK-8286204

[Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS

JDK-8294155

Exception thrown before awaitAndCheck hangs PassFailJFrame

JDK-8303770

Remove Baltimore root certificate expiring in May 2025

JDK-8305010

Test vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java timed out: thread not suspended

JDK-8314840

3 gc/epsilon tests ignore external vm options

JDK-8322983

Virtual Threads: exclude 2 tests

JDK-8330598

java/net/httpclient/Http1ChunkedTest.java fails with java.util.MissingFormatArgumentException: Format specifier '%s'

JDK-8330936

[ubsan] exclude function BilinearInterp and ShapeSINextSpan in libawt java2d from ubsan checks

JDK-8334644

Automate javax/print/attribute/PageRangesException.java

JDK-8336042

Caller/callee param size mismatch in deoptimization causes crash

JDK-8338303

Linux ppc64le with toolchain clang - detection failure in early JVM startup

JDK-8339889

Several compiler tests ignore vm flags and not marked as flagless

JDK-8340784

Remove PassFailJFrame constructor with screenshots

JDK-8342524

Use latch in AbstractButton/bug6298940.java instead of delay

JDK-8342775

[Graal] java/util/concurrent/locks/Lock/OOMEInAQS.java fails OOME thrown from the UncaughtExceptionHandler

JDK-8343191

Cgroup v1 subsystem fails to set subsystem path

JDK-8343224

print/Dialog/PaperSizeError.java fails with MediaSizeName is not A4: A4

JDK-8343607

C2: Shenandoah crashes during barrier expansion in Continuation::enter

JDK-8343882

BasicAnnoTests doesn’t handle multiple annotations at the same position

JDK-8343978

Update the default value of CodeEntryAlignment for Ampere-1A and 1B

JDK-8344316

security/auth/callback/TextCallbackHandler/Password.java make runnable with JTReg and add the UI

JDK-8344453

Test jdk/jfr/event/oldobject/TestSanityDefault.java timed out

JDK-8344581

[TESTBUG] java/awt/Robot/ScreenCaptureRobotTest.java failing on macOS

JDK-8344629

SSLSocketNoServerHelloClientShutdown test timeout

JDK-8344892

beans/finder/MethodFinder.findMethod incorrectly returns null

JDK-8344925

translet-name ignored when package-name is also set

JDK-8345133

Test sun/security/tools/jarsigner/TsacertOptionTest.java failed: Warning found in stdout

JDK-8345134

Test sun/security/tools/jarsigner/ConciseJarsigner.java failed: unable to find valid certification path to requested target

JDK-8345185

Update jpackage to not include service bindings by default

JDK-8345276

Remove EA from the JDK 24 version string with first RC promotion

JDK-8345368

java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025

JDK-8345569

[ubsan] adjustments to filemap.cpp and virtualspace.cpp for macOS aarch64

JDK-8345590

AIX 'make all' fails after JDK-8339480

JDK-8345625

Better HTTP connections

JDK-8345676

[ubsan] ProcessImpl_md.c:561:40: runtime error: applying zero offset to null pointer on macOS aarch64

JDK-8345728

[Accessibility,macOS,Screen Magnifier]: JCheckbox unchecked state does not magnify but works for checked state

JDK-8346049

jdk/test/lib/security/timestamp/TsaServer.java warnings

JDK-8346264

"Total compile time" counter should include time spent in failing/bailout compiles

JDK-8346285

Update jarsigner compatibility test for change in default digest algorithm

JDK-8346581

JRadioButton/ButtonGroupFocusTest.java fails in CI on Linux

JDK-8346587

Distrust TLS server certificates anchored by Camerfirma Root CAs

JDK-8346671

java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025

JDK-8346705

SNI not sent with Java 22+ using java.net.http.HttpClient.Builder#sslParameters

JDK-8346832

runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java fails on RISC-V

JDK-8346880

[aix] java/lang/ProcessHandle/InfoTest.java still fails: "reported cputime less than expected"

JDK-8346881

[ubsan] logSelection.cpp:154:24 / logSelectionList.cpp:72:94 : runtime error: applying non-zero offset 1 to null pointer

JDK-8346888

[ubsan] block.cpp:1617:30: runtime error: 9.97582e+36 is outside the range of representable values of type 'int'

JDK-8346972

Test java/nio/channels/FileChannel/LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk

JDK-8347000

Bug in com/sun/net/httpserver/bugs/B6361557.java test

JDK-8347018

C2: Insertion of Assertion Predicates ignores the effects of PhaseIdealLoop::clone_up_backedge_goo()

JDK-8347038

[JMH] jdk.incubator.vector.SpiltReplicate fails NoClassDefFoundError

JDK-8347126

gc/stress/TestStressG1Uncommit.java gets OOM-killed

JDK-8347171

(dc) java/nio/channels/DatagramChannel/InterruptibleOrNot.java fails with virtual thread factory

JDK-8347173

java/net/DatagramSocket/InterruptibleDatagramSocket.java fails with virtual thread factory

JDK-8347267

[macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero

JDK-8347268

[ubsan] logOutput.cpp:357:21: runtime error: applying non-zero offset 1 to null pointer

JDK-8347286

(fs) Remove some extensions from java/nio/file/Files/probeContentType/Basic.java

JDK-8347296

WinInstallerUiTest fails in local test runs if the path to test work directory is longer that regular

JDK-8347298

Bug in JPackageCommand.ignoreFakeRuntime()

JDK-8347300

Don’t exclude the "PATH" var from the environment when running app launchers in jpackage tests

JDK-8347302

Mark test tools/jimage/JImageToolTest.java as flagless

JDK-8347373

HTTP/2 flow control checks may count unprocessed data twice

JDK-8347377

Add validation checks for ICC_Profile header fields

JDK-8347427

JTabbedPane/8134116/Bug8134116.java has no license header

JDK-8347564

ZGC: Crash in DependencyContext::clean_unloading_dependents

JDK-8347576

Error output in libjsound has non matching format strings

JDK-8347629

Test FailOverDirectExecutionControlTest.java fails with -Xcomp

JDK-8347718

Unexpected NullPointerException in C2 compiled code due to ReduceAllocationMerges

JDK-8347740

java/io/File/createTempFile/SpecialTempFile.java failing

JDK-8347847

Enhance jar file support

JDK-8347995

Race condition in jdk/java/net/httpclient/offline/FixedResponseHttpClient.java

JDK-8347997

assert(false) failed: EA: missing memory path

JDK-8348102

java/net/httpclient/HttpClientSNITest.java fails intermittently

JDK-8348110

Update LCMS to 2.17

JDK-8348261

assert(n→is_Mem()) failed: memory node required

JDK-8348299

Update List/ItemEventTest/ItemEventTest.java

JDK-8348323

Corrupted timezone string in JVM crash log

JDK-8348356

Update the release version after forking Apr CPU25_04

JDK-8348562

ZGC: segmentation fault due to missing node type check in barrier elision analysis

JDK-8348582

Set -fstack-protector when building with clang

JDK-8348596

Update FreeType to 2.13.3

JDK-8348597

Update HarfBuzz to 10.4.0

JDK-8348598

Update Libpng to 1.6.47

JDK-8348600

Update PipeWire to 1.3.81

JDK-8348675

TrayIcon tests fail in Ubuntu 24.10 Wayland

JDK-8348936

[Accessibility,macOS,VoiceOver] VoiceOver doesn’t announce untick on toggling the checkbox with "space" key on macOS

JDK-8348989

Better Glyph drawing

JDK-8349002

GenShen: Deadlock during shutdown

JDK-8349039

Adjust exception No type named <ThreadType> in database

JDK-8349058

'internal proprietary API' warnings make javac warnings unusable

JDK-8349084

Update vectors used in several PQC benchmarks

JDK-8349111

Enhance Swing supports

JDK-8349150

Support precompiled headers on AIX

JDK-8349183

[BACKOUT] Optimization for StringBuilder append boolean & null

JDK-8349200

[JMH] time.format.ZonedDateTimeFormatterBenchmark fails

JDK-8349213

G1: Clearing bitmaps during collection set merging not claimed by region

JDK-8349214

Improve size optimization flags for MSVC builds

JDK-8349239

[BACKOUT] Reuse StringLatin1::putCharsAt and StringUTF16::putCharsAt

JDK-8349348

Refactor ClassLoaderDeadlock.sh and Deadlock.sh to run fully in java

JDK-8349358

[JMH] Cannot access class jdk.internal.vm.ContinuationScope

JDK-8349370

Bump version numbers for 24.0.2

JDK-8349375

Cleanup AIX special file build settings

JDK-8349378

Build splashscreen lib with SIZE optimization

JDK-8349492

Update sun/security/pkcs12/KeytoolOpensslInteropTest.java to use a recent Openssl version

JDK-8349501

Relocate supporting classes in security/testlibrary to test/lib/jdk tree

JDK-8349551

Failures in tests after JDK-8345625

JDK-8349584

Improve compiler processing

JDK-8349594

Enhance TLS protocol support

JDK-8349623

[ASAN] Gtest os_linux.glibc_mallinfo_wrapper_vm fails

JDK-8349637

Integer.numberOfLeadingZeros outputs incorrectly in certain cases

JDK-8349751

AIX build failure after upgrade pipewire to 1.3.81

JDK-8349753

Incorrect use of CodeBlob::is_buffer_blob() in few places

JDK-8349787

java/lang/Thread/virtual/ThreadPollOnYield.java#default passes unexpectedly without libVThreadPinner.so

JDK-8349943

[JMH] Use jvmArgs consistently

JDK-8350103

Test containers/systemd/SystemdMemoryAwarenessTest.java fails on Linux ppc64le SLES15 SP6

JDK-8350137

After JDK-8348975, Linux builds contain man pages for windows only tools

JDK-8350201

Out of bounds access on Linux aarch64 in os::print_register_info

JDK-8350202

Tune for Power10 CPUs on Linux ppc64le

JDK-8350211

CTW: Attempt to preload all classes in constant pool

JDK-8350260

Improve HTML instruction formatting in PassFailJFrame

JDK-8350313

Include timings for leaving safepoint in safepoint logging

JDK-8350386

Test TestCodeCacheFull.java fails with option -XX:-UseCodeCacheFlushing

JDK-8350483

AArch64: turn on signum intrinsics by default on Ampere CPUs

JDK-8350498

Remove two Camerfirma root CA certificates

JDK-8350499

Minimal build fails with slowdebug builds

JDK-8350546

Several java/net/InetAddress tests fails UnknownHostException

JDK-8350682

[JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024

JDK-8350683

Non-C2 / minimal JVM crashes in the build on ppc64 platforms

JDK-8350786

Some java/lang jtreg tests miss requires vm.hasJFR

JDK-8350820

OperatingSystemMXBean CpuLoad() methods return -1.0 on Windows

JDK-8350924

javax/swing/JMenu/4213634/bug4213634.java fails

JDK-8350991

Improve HTTP client header handling

JDK-8351033

RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction!

JDK-8351223

Update localized resources in keytool and jarsigner

JDK-8351233

[ASAN] avx2-emu-funcs.hpp:151:20: error: ‘D.82188’ is used uninitialized

JDK-8351277

Remove pipewire from AIX build

JDK-8351382

New test containers/docker/TestMemoryWithSubgroups.java is failing

JDK-8351500

G1: NUMA migrations cause crashes in region allocation

JDK-8351639

Improve debuggability of test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java test

JDK-8351665

Remove unused UseNUMA in os_aix.cpp

JDK-8351933

Inaccurate masking of TC subfield decrement in ForkJoinPool

JDK-8352109

java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not supported

JDK-8352302

Test sun/security/tools/jarsigner/TimestampCheck.java is failing

JDK-8352508

[Redo] G1: Pinned regions with pinned objects only reachable by native code crash VM

JDK-8352512

TestVectorZeroCount: counter not reset between iterations

JDK-8352706

httpclient HeadTest does not run on HTTP2

JDK-8352716

(tz) Update Timezone Data to 2025b

JDK-8352866

TestLogJIT.java runs wrong test class

JDK-8352946

SEGV_BND signal code of SIGSEGV missing from our signal-code table

JDK-8353053

(fs) Add support for UserDefinedFileAttributeView on AIX

JDK-8353066

Properly detect Windows/aarch64 as build platform

JDK-8353185

Introduce the concept of upgradeable files in context of JEP 493

JDK-8353237

[AArch64] Incorrect result of VectorizedHashCode intrinsic on Cortex-A53

JDK-8353261

Problemlist 5 tests due to failures in the CI pipeline

JDK-8353274

[PPC64] Bug related to -XX:+UseCompactObjectHeaders -XX:-UseSIGTRAP in JDK-8305895

JDK-8353329

Small memory leak when create GrowableArray with initial size 0

JDK-8353709

Debug symbols bundle should contain full debug files when building --with-external-symbols-in-bundles=public

JDK-8353740

Problemlist 2 tests due to failures in the CI pipeline

JDK-8353787

Increased number of SHA-384-Digest java.util.jar.Attributes$Name instances leading to higher memory footprint

JDK-8353861

Problemlist 1 test due to failures in the CI pipeline

JDK-8353946

Incorrect WINDOWS ifdef in os::build_agent_function_name

JDK-8354657

Problemlist 2 tests due to failures in the CI pipeline

JDK-8354831

Problemlist 2 tests due to failures in the CI pipeline

JDK-8354861

Change milestone to fcs for all releases

JDK-8354904

[Backout] JDK-8345625: Better HTTP connections

JDK-8355524

Only every second line in upgradeable files is being used

JDK-8355884

[macos] java/awt/Frame/I18NTitle.java fails on MacOS

JDK-8356096

ISO 4217 Amendment 179 Update

JDK-8359170

Add 2 TLS and 2 CS Sectigo roots

JDK-8360147

Better Glyph drawing redux

JFX issues

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

Issue IDSummary

JDK-8318985

[macos] Incorrect 3D lighting on macOS 14 and later

JDK-8347937

Canvas pattern test fails and crashes on WebKit 620.1

JDK-8350136

Create release notes for JavaFX 24

JDK-8350284

WebKit 620.1 crashes on startup on Windows x86 32-bit

JDK-8351264

Some images don’t load with WebKit 620.1

JDK-8351602

Change JavaFX release version to 24.0.2 in jfx24u

JDK-8351653

Webkit debug build failure after update to 620.1

JDK-8352162

Update libxml2 to 2.13.8

JDK-8352164

Update libxslt to 1.1.43

JDK-8353916

Unexpected event type for DOM mutation events with WebKit 620.1

JDK-8354182

Create release notes for JavaFX 24.0.1

JDK-8354318

freetype.c: compilation error: 'incompatible pointer type' with gcc 14

JDK-8354336

gstclock.c: compilation error: 'incompatible pointer type' with gcc 14

JDK-8354337

GHA: Windows build fails with chmod permission error

JDK-8354876

Update SQLite to 3.49.1

JDK-8354940

Fail to sign in to Microsoft sites with WebView

6. Updates to Third Party Libraries

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

LibraryFull nameNew VersionModuleJBS number

FreeType

FreeType

2.13.3

java.desktop

8348596

HarfBuzz

HarfBuzz

10.4.0

java.desktop

8348597

LCMS

LittleCMS

2.17

java.desktop

8348110

Libpng

Libpng

1.6.47

java.desktop

8348598

libxml2

libxml2

2.13.8

javafx.web

8352162

libxslt

libxslt

1.1.43

javafx.web

8352164

PipeWire

PipeWire

1.3.81

java.desktop

8348600

SQLite

SQLite

3.49.1

javafx.web

8354876

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