Liberica JDK 22.0.2+11: Release Notes
1. Version information
This document provides information about Liberica JDK 22.0.2 release.
The full version string for this update release is 22.0.2+11. The version number is 22.
Liberica JDK 22 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-8329683 | Summary: Fallback option for POST-only OCSP requests Description: Extensive use of GET requests may result in unpredicted behavior with some systems. Now you can set USE_GET to false to use POST requests. |
JDK-8329792 | Summary: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket Description: SocketFactory now checks what socket is created. Unconnected sockets are not supported. If an unconnected socket is created, it throws a SocketException in SocketFactory::createSocket(). The documentation was also corrected. |
JDK-8330870 | Summary: dpkg appears to have problems resolving symbolically linked native libraries Description: Native libraries linked with symbolic links now correctly processed by dpkg. |
JDK-8332409 | Summary: Add GlobalSign 2 TLS root certificates Description: GlobalSign Root R46 and GlobalSign Root E46 root certificates were added. |
Discontinued OS support
Note that Liberica JDK 22.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 22.0.2 comes with IANA Time Zone Database version 2024a. The following are the main changes in this update:
Kazakhstan unifies on UTC+5 beginning 2024-03-01. Palestine springs forward a week later after Ramadan. zic no longer pretends to support indefinite-past DST. localtime no longer mishandles Ciudad Juárez in 2422.
3. Known Issues
This is the list of known issues in this release.
Issue ID | |
---|---|
JDK-8322567 | Summary: Increased Startup Time when Using Description: A noticeable 10% increase in startup time can be observed when using the Workaround: N/A |
JDK-8325737 | Summary: Description: Strings read with Workaround: Run the JDK 22 GA build with |
N/A | Summary: LibericaFX and EGL on Raspbian Description: As of 2017, the default location of Broadcom libEGL.so and libGLESv2.so has changed in Raspbian OS. Workaround: To leverage hardware EGL acceleration available from Broadcom video drivers in LibericaFX while running a recent Raspbian OS, run the following commands: 1. |
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 ID | CVSS score | Component | Module | Attack Vector | Complexity | Privileges | User Interaction | Scope | Confidentiality | Integrity | Availability |
---|---|---|---|---|---|---|---|---|---|---|---|
CVE-2024-21131 | 3.7 | hotspot | runtime | network | high | none | none | unchanged | none | low | none |
CVE-2024-21138 | 3.7 | hotspot | runtime | network | high | none | none | unchanged | none | none | low |
CVE-2024-21140 | 4.8 | hotspot | compiler | network | high | none | none | unchanged | low | low | none |
CVE-2024-21145 | 4.8 | client-libs | 2d | network | high | none | none | unchanged | low | low | none |
CVE-2024-21147 | 7.4 | hotspot | compiler | network | high | none | none | unchanged | high | high | none |
5. Resolved Issues
JDK issues
This is the list of general JDK issues fixed in this release.
Issue ID | Summary |
---|---|
JDK-8185862 | AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 |
JDK-8187759 | Background not refreshed when painting over a transparent JFrame |
JDK-8238169 | BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock |
JDK-8261433 | Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit |
JDK-8295111 | dpkg appears to have problems resolving symbolically linked native libraries |
JDK-8305072 | Win32ShellFolder2.compareTo is inconsistent |
JDK-8309218 | java/util/concurrent/locks/Lock/OOMEInAQS.java still times out with ZGC, Generational ZGC, and SerialGC |
JDK-8310072 | JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+ |
JDK-8310513 | [s390x] Intrinsify recursive ObjectMonitor locking |
JDK-8312383 | Log X509ExtendedKeyManager implementation class name in TLS/SSL connection |
JDK-8314794 | Improve UTF8 String supports |
JDK-8316138 | Add GlobalSign 2 TLS root certificates |
JDK-8316328 | Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes |
JDK-8319548 | Unexpected internal name for Filler array klass causes error in VisualVM |
JDK-8319859 | Better symbol storage |
JDK-8320005 | Allow loading of shared objects with .a extension on AIX |
JDK-8320097 | Improve Image transformations |
JDK-8320548 | Improved loop handling |
JDK-8320692 | Null icon returned for .exe without custom icon |
JDK-8320707 | Virtual thread test updates |
JDK-8321075 | RISC-V: UseSystemMemoryBarrier lacking proper OS support |
JDK-8322078 | ZipSourceCache.testKeySourceMapping() test fails with The process cannot access the file because it is being used by another process |
JDK-8322484 | 22-b26 Regression in J2dBench-bimg_misc-G1 (and more) on Windows-x64 and macOS-x64 |
JDK-8322503 | Shenandoah: Clarify gc state usage |
JDK-8322726 | C2: Unloaded signature class kills argument value |
JDK-8322943 | runtime/CompressedOops/CompressedClassPointers.java fails on AIX |
JDK-8322962 | Upcall stub might go undetected when freezing frames |
JDK-8323231 | Improve array management |
JDK-8323390 | Enhance mask blit functionality |
JDK-8323519 | Add applications/ctw/modules to Hotspot tiered testing |
JDK-8323552 | AbstractMemorySegmentImpl#mismatch returns -1 when comparing distinct areas of the same instance of MemorySegment |
JDK-8323670 | A few client tests intermittently throw ConcurrentModificationException |
JDK-8323685 | PrintSystemDictionaryAtExit has mutex rank assert |
JDK-8323782 | Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin |
JDK-8323801 | <s> tag doesn’t strikethrough the text |
JDK-8324121 | SIGFPE in PhaseIdealLoop::extract_long_range_checks |
JDK-8324243 | Compilation failures in java.desktop module with gcc 14 |
JDK-8324559 | Improve 2D image handling |
JDK-8324632 | Update Zlib Data Compression Library to Version 1.3.1 |
JDK-8324646 | Avoid Class.forName in SecureRandom constructor |
JDK-8324648 | Avoid NoSuchMethodError when instantiating NativePRNG |
JDK-8324733 | [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653 |
JDK-8324834 | Use _LARGE_FILES on AIX |
JDK-8324874 | AArch64: crypto pmull based CRC32/CRC32C intrinsics clobber V8-V15 registers |
JDK-8324933 | ConcurrentHashTable::statistics_calculate synchronization is expensive |
JDK-8325028 | (ch) Pipe channels should lazily set socket to non-blocking mode on first use by virtual thread |
JDK-8325095 | C2: bailout message broken: ResourceArea allocated string used after free |
JDK-8325179 | Race in BasicDirectoryModel.validateFileCache |
JDK-8325255 | jdk.internal.util.ReferencedKeySet::add using wrong test |
JDK-8325313 | Header format error in TestIntrinsicBailOut after JDK-8317299 |
JDK-8325432 | enhance assert message "relocation addr must be in this section" |
JDK-8325567 | jspawnhelper without args fails with segfault |
JDK-8325579 | Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket |
JDK-8325587 | Shenandoah: ShenandoahLock should allow blocking in VM |
JDK-8325600 | Better symbol storage |
JDK-8325613 | CTW: Stale method cleanup requires GC after Sweeper removal |
JDK-8325621 | Improve jspawnhelper version checks |
JDK-8325730 | StringBuilder.toString allocation for the empty String |
JDK-8325743 | test/jdk/java/nio/channels/unixdomain/SocketOptions.java enhance user name output in error case |
JDK-8325763 | Revert properties: vm.opt.x.* |
JDK-8325862 | set -XX:+ErrorFileToStderr when executing java in containers for some container related jtreg tests |
JDK-8326106 | Write and clear stack trace table outside of safepoint |
JDK-8326112 | Javadoc snippet for Linker.Option.captureCallState is wrong |
JDK-8326140 | src/jdk.accessibility/windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp ReleaseStringChars might be missing in early returns |
JDK-8326201 | [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space |
JDK-8326351 | Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1 |
JDK-8326446 | The User and System of jdk.CPULoad on Apple M1 are inaccurate |
JDK-8326496 | [test] checkHsErrFileContent support printing hserr in error case |
JDK-8326521 | JFR: CompilerPhase event test fails on windows 32 bit |
JDK-8326529 | JFR: Test for CompilerCompile events fails due to time out |
JDK-8326643 | JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message |
JDK-8326891 | Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries |
JDK-8326936 | RISC-V: Shenandoah GC crashes due to incorrect atomic memory operations |
JDK-8326960 | GHA: RISC-V sysroot cannot be debootstrapped due to ongoing Debian t64 transition |
JDK-8326974 | ODR violation in macroAssembler_aarch64.cpp |
JDK-8327040 | Problemlist ActionListenerCalledTwiceTest.java test failing in macos14 |
JDK-8327059 | os::Linux::print_proc_sys_info add swappiness information |
JDK-8327137 | Add test for ConcurrentModificationException in BasicDirectoryModel |
JDK-8327391 | Add SipHash attribution file |
JDK-8327413 | Enhance compilation efficiency |
JDK-8327467 | Bump version numbers for 22.0.2 |
JDK-8327468 | Do not restart close if errno is EINTR [macOS/linux] |
JDK-8327501 | Common ForkJoinPool prevents class unloading in some cases |
JDK-8327631 | Update IANA Language Subtag Registry to Version 2024-03-07 |
JDK-8327990 | [macosx-aarch64] Various tests fail with -XX:+AssertWXAtThreadSync |
JDK-8328066 | WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap |
JDK-8328075 | Shenandoah: Avoid forwarding when objects don’t move in full-GC |
JDK-8328165 | improve assert(idx < _maxlrg) failed: oob |
JDK-8328166 | Epsilon: 'EpsilonHeap::allocate_work' misuses the parameter 'size' as size in bytes |
JDK-8328168 | Epsilon: Premature OOM when allocating object larger than uncommitted heap size |
JDK-8328316 | Finisher cannot emit if stream is sequential and integrator returned false |
JDK-8328366 | Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 |
JDK-8328524 | [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap |
JDK-8328589 | unify os::breakpoint among posix platforms |
JDK-8328604 | remove on_aix() function |
JDK-8328638 | Fallback option for POST-only OCSP requests |
JDK-8328702 | C2: Crash during parsing because sub type check is not folded |
JDK-8328703 | Illegal accesses in Java_jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl_ioctl0 |
JDK-8328705 | GHA: Cross-compilation jobs do not require build JDK |
JDK-8328709 | AIX os::get_summary_cpu_info support Power 10 |
JDK-8328744 | Parallel: Parallel GC throws OOM before heap is fully expanded |
JDK-8328776 | [AIX] remove checked_vmgetinfo, use vmgetinfo directly |
JDK-8328812 | Update and move siphash license |
JDK-8328822 | C2: "negative trip count?" assert failure in profile predicate code |
JDK-8328825 | Google CAInterop test failures |
JDK-8328948 | GHA: Restoring sysroot from cache skips the build after JDK-8326960 |
JDK-8328953 | JEditorPane.read throws ChangedCharSetException |
JDK-8328988 | [macos14] Problem list LightweightEventTest.java which fails due to macOS bug described in JDK-8322653 |
JDK-8328997 | Remove unnecessary template parameter lists in GrowableArray |
JDK-8329013 | StackOverflowError when starting Apache Tomcat with signed jar |
JDK-8329109 | Threads::print_on() tries to print CPU time for terminated GC threads |
JDK-8329134 | Reconsider TLAB zapping |
JDK-8329163 | C2: possible overflow in PhaseIdealLoop::extract_long_range_checks() |
JDK-8329213 | Better validation for com.sun.security.ocsp.useget option |
JDK-8329223 | Parallel: Parallel GC resizes heap even if -Xms = -Xmx |
JDK-8329510 | Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java |
JDK-8329528 | G1 does not update TAMS correctly when dropping retained regions during Concurrent Start pause |
JDK-8329545 | [s390x] Fix garbage value being passed in Argument Register |
JDK-8329570 | G1: Excessive is_obj_dead_cond calls in verification |
JDK-8329605 | hs errfile generic events - move memory protections and nmethod flushes to separate sections |
JDK-8329656 | assertion failed in MAP_ARCHIVE_MMAP_FAILURE path: Invalid immediate -5 0 |
JDK-8329663 | hs_err file event log entry for thread adding/removing should print current thread |
JDK-8329823 | RISC-V: Need to sync CPU features with related JVM flags |
JDK-8329840 | Fix ZPhysicalMemorySegment::_end type |
JDK-8329850 | [AIX] Allow loading of different members of same shared library archive |
JDK-8329862 | libjli GetApplicationHome cleanups and enhance jli tracing |
JDK-8329958 | Windows x86 build fails: downcallLinker.cpp(36) redefinition |
JDK-8329961 | Buffer overflow in os::Linux::kernel_version |
JDK-8330011 | [s390x] update block-comments to make code consistent |
JDK-8330027 | Identity hashes of archived objects must be based on a reproducible random seed |
JDK-8330094 | RISC-V: Save and restore FRM in the call stub |
JDK-8330156 | RISC-V: Range check auipc + signed 12 imm instruction |
JDK-8330176 | Typo in Linker javadoc |
JDK-8330242 | RISC-V: Simplify and remove CORRECT_COMPILER_ATOMIC_SUPPORT in atomic_linux_riscv.hpp |
JDK-8330275 | Crash in XMark::follow_array |
JDK-8330464 | hserr generic events - add entry for the before_exit calls |
JDK-8330523 | Reduce runtime and improve efficiency of KeepAliveTest |
JDK-8330524 | Linux ppc64le compile warning with clang in os_linux_ppc.cpp |
JDK-8330576 | ZYoungCompactionLimit should have range check |
JDK-8330611 | AES-CTR vector intrinsic may read out of bounds (x86_64, AVX-512) |
JDK-8330615 | avoid signed integer overflows in zip_util.c readCen / hashN |
JDK-8330748 | ByteArrayOutputStream.writeTo(OutputStream) pins carrier |
JDK-8330814 | Cleanups for KeepAliveCache tests |
JDK-8330815 | Use pattern matching for instanceof in KeepAliveCache |
JDK-8331031 | unify os::dont_yield and os::naked_yield across Posix platforms |
JDK-8331164 | createJMHBundle.sh download jars fail when url needed to be redirected |
JDK-8331167 | UBSan enabled build fails in adlc on macOS |
JDK-8331298 | avoid alignment checks in UBSAN enabled build |
JDK-8331331 | :tier1 target explanation in doc/testing.md is incorrect |
JDK-8331344 | No compiler replay file with CompilerCommand MemLimit |
JDK-8331352 | error: template-id not allowed for constructor/destructor in C++20 |
JDK-8331466 | Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all |
JDK-8331714 | Make OopMapCache installation lock-free |
JDK-8331746 | Create a test to verify that the cmm id is not ignored |
JDK-8331885 | C2: meet between unloaded and speculative types is not symmetric |
JDK-8331894 | [jdk22] compiler/print/CompileCommandMemLimit.java fails after backporting JDK-8325095 |
JDK-8331942 | On Linux aarch64, CDS archives should be using 64K alignment by default |
JDK-8332253 | Linux arm32 build fails after 8292591 |
JDK-8332490 | JMH org.openjdk.bench.java.util.zip.InflaterInputStreams.inflaterInputStreamRead OOM |
JDK-8333093 | Incorrect comment in zAddress_aarch64.cpp |
JFX issues
This is the list of JFX issues fixed in this release.
Issue ID | Summary |
---|---|
JDK-8322251 | [Linux] JavaFX is not displaying CJK on Ubuntu 23.10 and later |
JDK-8324326 | Update ICU4C to 74.2 |
JDK-8327979 | Change JavaFX release version to 22.0.2 in jfx22u |
JDK-8328136 | Create release notes for JavaFX 22 |
JDK-8328749 | Remove unused imports in javafx.web |
JDK-8328752 | Fix missing @Overrides in javafx.web |
JDK-8329011 | Update SQLite to 3.45.3 |
JDK-8329705 | Add missing Application thread checks to platform specific a11y methods |
JDK-8329794 | Create release notes for JavaFX 22.0.1 |
JDK-8330462 | StringIndexOutOfBoundException when typing anything into TextField |
JDK-8331748 | Update libxml2 to 2.12.6 |
JDK-8332328 | [GHA] GitHub Actions build fails on Linux: unable to find gcc-13 |
JDK-8332539 | Update libxml2 to 2.12.7 |
6. Updates to Third Party Libraries
This is the list of changes in the third party libraries.
Library | Full name | New Version | Module | JBS |
---|---|---|---|---|
ICU4C | ICU4C | 74.2 | javafx | JDK-8324326 |
Zlib | Zlib Data Compression Library | 1.3.1 | java.base | JDK-8324632 |
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.