Liberica JDK 22.0.1+10: Release Notes
1. Introduction
This document provides the late-breaking information about Liberica JDK 22.0.1 release.
The full version string for this update release is 22.0.1+10. The version number is 22.
2. Liberica JDK 22.0.1+10
Liberica is a certified, Java SE 22-compliant distribution of OpenJDK 22, which works on server (Linux x86_64, Linux ARM64, Windows 64), desktop (Windows 64, Mac, Linux x86_64), and embedded devices (Linux ARM64, Linux ARMv7, including Raspberry Pi 2 & 3 (ARMv6 hardfloat)). It has the following notable additions:
-
Linux x86_64 version contains support for ZGC.
-
Linux x86_64, ARMv8 and ARMv7 distributions include a choice of Client VM, Server VM and Minimal VM.
-
Alpine Linux x86_64 and aarch64 are built with musl support.
-
Windows x86_64, Windows ARMv8, Mac, Linux x86_64, and Linux ARMv7 distributions contain OpenJFX 22.
-
Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.
Refer to the Oracle JDK 22.0.1 release notes for further information on JDK 22 features. This document further outlines the peculiarities of Liberica distribution as compared to Oracle JDK 22 distribution.
Discontinued OS support
Note that Liberica JDK 22.0.1 is not available for and cannot be run on the following operating systems:
-
Windows x86 (32-bit)
-
macOS 10.x
3. Liberica JDK 22 distribution
Liberica JDK 22 is distributed as .rpm, .zip, .deb and .tar.gz packages. Please select the most appropriate for your purposes.
Liberica JDK 22 introduced all new features supported by OpenJDK 22.
With the introduction of the Jigsaw feature in JDK 9 and Minimal VM it is now possible to create a Runtime that is sufficient to run your application and trim down the size of the Runtime. To generate a Runtime with just the Minimal VM, add --vm=minimal
to jlink options.
By default, the Liberica uses Server VM. Server VM and Client VM can be enabled with -server
and -client
command line options, respectively. In case the deployment requires minimizing the footprint, it may be beneficial to use Minimal VM, which emphasis is a minimal footprint. It has C1 JIT compiler only, Serial GC and no serviceability features.
4. Security Baselines
BellSoft Liberica follows the security baselines for Oracle Java SE. Please refer to the Oracle documentation for a list of issues fixed in a given release.
5. 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. |
6. 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-2023-41993 | 7.5 | javafx | web | network | high | none | required | unchanged | high | high | high |
CVE-2024-21002 | 2.5 | javafx | graphics | local | high | none | required | unchanged | none | low | none |
CVE-2024-21003 | 3.1 | javafx | graphics | network | high | none | required | unchanged | none | low | none |
CVE-2024-21004 | 2.5 | javafx | window-toolkit | local | high | none | required | unchanged | none | low | none |
CVE-2024-21005 | 3.1 | javafx | graphics | network | high | none | required | unchanged | none | low | none |
CVE-2024-21011 | 3.7 | hotspot | runtime | network | high | none | none | unchanged | none | none | low |
CVE-2024-21012 | 3.7 | core-libs | java.net | network | high | none | none | unchanged | none | low | none |
CVE-2024-21068 | 3.7 | hotspot | compiler | network | high | none | none | unchanged | none | low | none |
7. Notable Issues
This is the list of the notable issues fixed in this release.
Issue ID | |
---|---|
JDK-8322557 | Summary: @param/@return descriptions of ZoneRules#isDaylightSavings() are incorrect Description: The description was corrected as follows: 'ZoneRules#getStandardOffset() is true if the specified instant is in daylight savings, false otherwise.' |
JDK-8324353 | Summary: KEM.getInstance() should check if a 3rd-party security provider is signed Description: When instantiating a third-party security provider’s implementation (class) of a |
JDK-8324366 | Summary: Clarify Locale related system properties Description: The description for the following system properties was extended: user.language, user.script, user.country (used to be user.region, still exists for compatibility), user.variant, user.extensions. |
JDK-8324371 | Summary: The system properties page is missing some properties Description: The page https://docs.oracle.com/en/java/javase/21/docs/api/system-properties.html was updated to include all system properties, such as user.language, user.country, user.variant, and others. |
JDK-8324383 | Summary: SegmentAllocator:allocateFrom(ValueLayout, MemorySegment,ValueLayout,long,long) spec mismatch in exception scenario Description: The description was corrected to match the behavior of SegmentAllocator:allocateFrom(ValueLayout,MemorySegment,ValueLayout,long,long). |
JDK-8324407 | Summary: Consider adding some text re. memory zeroing in Arena::allocate Description: The following text was added: 'Memory segments {@linkplain #allocate(long, long) allocated} by the returned arena are zero-initialized.' |
JDK-8325605 | Summary: Regression in round-tripping UTF-16 strings after JDK-8311906 Description: Strings read with |
JDK-8326323 | Summary: Test 'api/java_awt/interactive/SystemTrayTests.html' failed because A blue ball icon is added outside of the system tray Description: When pressing the 'Add tray icon' button, the blue ball icon is now added to the system tray. |
JDK-8326357 | Summary: Add Certainly roots R1 and E1 Description: Certainly Root R1 CA certificate was added. |
JDK-8326830 | Summary: Make TrimNativeHeapInterval a product switch Description: |
8. Resolved Issues
JDK issues
This is the list of general JDK issues fixed in this release.
Issue ID | Summary |
---|---|
JDK-8314164 | java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout |
JDK-8314275 | Incorrect stepping in switch |
JDK-8315708 | Enhance HTTP/2 client usage |
JDK-8317299 | safepoint scalarization doesn’t keep track of the depth of the JVM state |
JDK-8317804 | com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18 |
JDK-8318158 | RISC-V: implement roundD/roundF intrinsics |
JDK-8318340 | Improve RSA key implementations |
JDK-8318603 | Parallelize sun/java2d/marlin/ClipShapeTest.java |
JDK-8318696 | Do not use LFS64 symbols on Linux |
JDK-8319382 | com/sun/jdi/JdwpAllowTest.java shows failures on AIX if prefixLen of mask is larger than 32 in IPv6 case |
JDK-8319851 | Improve exception logging |
JDK-8320890 | [AIX] Find a better way to mimic dl handle equality |
JDK-8321151 | JDK-8294427 breaks Windows L&F on all older Windows versions |
JDK-8321374 | Add a configure option to explicitly set CompanyName property in VersionInfo resource for Windows exe/dll |
JDK-8321408 | Add Certainly roots R1 and E1 |
JDK-8321480 | ISO 4217 Amendment 176 Update |
JDK-8321489 | Update LCMS to 2.16 |
JDK-8321815 | Shenandoah: gc state should be synchronized to java threads only once per safepoint |
JDK-8321972 | test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform |
JDK-8322092 | Bump version numbers for 22.0.1 |
JDK-8322098 | os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size |
JDK-8322122 | Enhance generation of addresses |
JDK-8322159 | ThisEscapeAnalyzer crashes for erroneous code |
JDK-8322163 | runtime/Unsafe/InternalErrorTest.java fails on Alpine after JDK-8320886 |
JDK-8322417 | Console read line with zero out should zero out when throwing exception |
JDK-8322725 | (tz) Update Timezone Data to 2023d |
JDK-8322772 | Clean up code after JDK-8322417 |
JDK-8322783 | prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output |
JDK-8322790 | RISC-V: Tune costs for shuffles with no conversion |
JDK-8322945 | Problemlist runtime/CompressedOops/CompressedClassPointers.java on AIX |
JDK-8323021 | Shenandoah: Encountered reference count always attributed to first worker thread |
JDK-8323065 | Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination |
JDK-8323086 | Shenandoah: Heap could be corrupted by oom during evacuation |
JDK-8323154 | C2: assert(cmp != nullptr && cmp→Opcode() == Op_Cmp(bt)) failed: no exit test |
JDK-8323170 | j2dbench is using outdated javac source/target to be able to build by itself |
JDK-8323210 | Update the usage of cmsFLAGS_COPY_ALPHA |
JDK-8323331 | fix typo hpage_pdm_size |
JDK-8323428 | Shenandoah: Unused memory in regions compacted during a full GC should be mangled |
JDK-8323515 | Create test alias "all" for all test roots |
JDK-8323637 | Capture hotspot replay files in GHA |
JDK-8323657 | Compilation of snippet results in VerifyError at runtime with --release 9 (and above) |
JDK-8323664 | java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations |
JDK-8323675 | Race in jdk.javadoc-gendata |
JDK-8323964 | runtime/Thread/ThreadCountLimit.java fails intermittently on AIX |
JDK-8324041 | ModuleOption.java failed with update release versioning scheme |
JDK-8324050 | Issue store-store barrier after re-materializing objects during deoptimization |
JDK-8324280 | RISC-V: Incorrect implementation in VM_Version::parse_satp_mode |
JDK-8324347 | Enable "maybe-uninitialized" warning for FreeType 2.13.1 |
JDK-8324598 | use mem_unit when working with sysinfo memory and swap related information |
JDK-8324637 | [aix] Implement support for reporting swap space in jdk.management |
JDK-8324647 | Invalid test group of lib-test after JDK-8323515 |
JDK-8324659 | GHA: Generic jtreg errors are not reported |
JDK-8324753 | [AIX] adjust os_posix after JDK-8318696 |
JDK-8324937 | GHA: Avoid multiple test suites per job |
JDK-8325074 | ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11 |
JDK-8325150 | (tz) Update Timezone Data to 2024a |
JDK-8325203 | System.exit(0) kills the launched 3rd party application |
JDK-8325213 | Flags introduced by configure script are not passed to ADLC build |
JDK-8325326 | [PPC64] Don’t relocate in case of allocation failure |
JDK-8325470 | [AIX] use fclose after fopen in read_psinfo |
JDK-8325496 | Make TrimNativeHeapInterval a product switch |
JDK-8325590 | Regression in round-tripping UTF-16 strings after JDK-8311906 |
JDK-8325672 | C2: allocate PhaseIdealLoop::_loop_or_ctrl from C→comp_arena() |
JDK-8325876 | crashes in docker container tests on Linuxppc64le Power8 machines |
JDK-8326000 | Remove obsolete comments for class sun.security.ssl.SunJSSE |
JDK-8326101 | [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space |
JDK-8326360 | Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3 |
JDK-8326638 | Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop |
JFX issues
This is the list of JFX issues fixed in this release.
Issue ID | Summary |
---|---|
JDK-8304008 | Update README.md and CONTRIBUTING.md for jfx update repos |
JDK-8311492 | FontSmoothingType LCD produces wrong color when transparency is used |
JDK-8313032 | Enhanced handling of Glass |
JDK-8313040 | Enhanced Font handling |
JDK-8313064 | General enhancements of image handling |
JDK-8313072 | Enhanced handling of Fonts |
JDK-8314147 | Updated the PhongMaterial documentation |
JDK-8318614 | Update WebKit to 617.1 |
JDK-8318624 | API docs specify incorrect default value for nodeOrientation property |
JDK-8320441 | Additonal fix for JDK-8313032 |
JDK-8322236 | Build failure after JDK-8313064 |
JDK-8322703 | Intermittent crash in WebView in a JFXPanel from IME calls on macOS |
JDK-8323555 | Change JavaFX release version to 22.0.1 in jfx22u |
JDK-8323879 | constructor Path(Path) which takes another Path object fail to draw on canvas html |
JDK-8323880 | Caret rendered at wrong position in case of a click event on RTL text |
JDK-8324233 | Update JPEG Image Decoding Software to 9f |
JDK-8324326 | Update ICU4C to 74.2 |
JDK-8324337 | Cherry-pick WebKit 617.1 stabilization fixes |
JDK-8325154 | resizeColumnToFitContent is slower than it needs to be |
JDK-8325258 | Additional WebKit 617.1 fixes from WebKitGTK 2.42.5 |
JDK-8325550 | Grammatical error in AnchorPane.setLeftAnchor (and other setters) javadoc |
JDK-8325873 | Update JDK_DOCS property to point to JDK 21 docs |
JDK-8326989 | Text selection issues on WebView after WebKit 617.1 |
JDK-8327177 | macOS: wrong GlobalRef deleted in GlassMenu |
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 |