Liberica JDK 17.0.5+8 Release Notes

The full version string for this update release is 17.0.5+8. The version number is 17.

Liberica JDK 17.0.5+8

Liberica is a certified, Java SE 17-compliant distribution of OpenJDK 17 which works on server (Linux x86_64, Linux ARM64, Solaris SPARC, Solaris x64, Windows 64), desktop (Windows 64, Windows 32, 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 experimental 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 version is build with musl support.
  • Windows x86_64, Windows x86, Windows ARMv8, Mac, Linux x86_64, Linux x86 and Linux ARMv7 distributions contain OpenJFX 17.
  • Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.

Please refer to the Oracle JDK 17.0.5 release notes for further information on JDK 17 features. This document further outlines the peculiarities of Liberica distribution as compared to Oracle JDK 17 distribution.

Supported Server and Desktop configurations

Liberica is supported on the following OSes:

  • Ubuntu Linux 16.04, 18.04, 20.04 (x86, x86_64, ARMv7, ARMv8)
  • Debian Linux 8, 9, 10 (x86, x86_64, ARMv7, ARMv8)
  • Red Hat, Oracle Linux and CentOS 8x, 6.x, 7.x (x86, x86_64, ARMv7, ARMv8)
  • Alpine Linux 3.7+ (x86_64, ARMv8)
  • SUSE Linux Enterprise 12, 15 and tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+ (x86_64, ARMv8)
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (x86, x86_64, ARMv8)

It is also known to work on other Linux distributions and Windows versions.

Note: The minimum supported Linux kernel version is 2.6.18 and GLIBC version 2.6. LibericaFX works on all supported Ubuntu versions, Red Hat Linux family starting from 7.x and SUSE versions with GTK3 backend.

Supported Embedded configurations

Liberica is tested and certified on Raspberry Pi 2, 3 and 4 running the following OSes:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

It is also known to work with Debian (armhf) and Ubuntu (armhf).

Liberica JDK 17 distribution

Liberica JDK 17 are distributed as .rpm, .zip, .deb and .tar.gz packages. Please select the one which is most appropriate for your purposes.

Liberica JDK 17 introduced all new features supported by OpenJDK 17.

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.

Liberica JDK continues to provide support for AOT and Graal JIT. Since in OpenJDK 17 builds these features are deemed experimental and deprecated, it is recommended to compile native executables with Liberica Native Image Kit to avoid errors.

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 to minimize the footprint, it may be beneficial to use Minimal VM, which emphasises on a minimal footprint. It has C1 JIT compiler only, Serial GC and no serviceability features.

LibericaFX for the Raspberry Pi

Liberica JDK 17 come with a bundled LibericaFX implementation, which is based on OpenJFX. The following tables lists Java FX modules status of Liberica distribution

  • Java FX Graphics - works.
  • Java FX Controls - works.
  • Java FX Media - does not work.
  • Java FX Webkit - does not work.

The following pipelines are known to work: EGL, SW (direct framebuffer) and GTK. By default, Liberica tries to use the accelerated EGL pipeline, which requires the presence of EGL libraries. If they are not found, the implementation falls back to software rendering.

Use the following command line options to specify the rendering pipeline:

  • -Dprism.order=sw forces the use of software rendering pipeline. *
  • -Dprism.order=es2 forces the use of EGL pipeline and hardware acceleration. *
  • -Djavafx.platform=gtk if you would like to launch a LibericaFX application using Liberica from X11.

* Not supported on Raspberry Pi 4.

Please refer to the following wiki for more information.

Device IO API for the Raspberry Pi

Liberica JDK 17 comes with a bundled OpenJDK Device I/O (DIO) API implementation module. DIO provides a Java API for accessing Raspberry PI GPIO pins and for communicating with peripheral devices:

  • General Purpose Input/Output (GPIO).
  • Inter-Integrated Circuit Bus (I2C), Serial Peripheral Interface (SPI).
  • Universal Asynchronous Receiver/Transmitter (UART).

Please refer to the following wiki for more information.

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.

Known Issues

LibericaFX and EGL on Raspbian

As of 2017, the default location of Broadcom and has changed in Raspbian OS. If you'd like to leverage hardware EGL acceleration available from Broadcom video drivers in LibericaFX while running a recent Raspbian OS, run the following command:

cd /opt/vc/lib
sudo ln -s
sudo ln -s


This release does not contain any resolved Common Vulnerabilities and Exposures (CVEs).

Issues fixed

Issue Description
8292609 Cherry-pick WebKit 614.1 stabilization fixes
8291630 Update attribution in file
8286774 Replace with
8288450 Update attribution in file 8288449: Update attribution in file
8291051 Update boot JDK to 17.0.4
8285881 Update WebKit to 614.1
8284676 TreeTableView loses sort ordering when applied on empty table
8289952 Visual Studio libs msvcp140_1.dll and msvcp140_2.dll missing from build
8289587 IllegalArgumentException: Color.rgb's red parameter (-16776961) expects color values 0-255
8088420 JavaFX WebView memory leak via EventListener
8283786 Update to Visual Studio 2022 version 17.1.0 on Windows
8291038 Change JavaFX release version to 17.0.5 in jfx17u
8286918 Better HttpServer service
8286910 Improve JNDI lookups
8286519 Better memory handling
8295056 [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
8289366 Improve HTTP/2 client usage
8288508 Enhance ECDSA usage
8287446 Enhance icon presentations
8286526 Improve NTLM support
8286511 Improve macro allocation
8286077 Wider MultiByte conversions
8285662 Better permission resolution
8282252 Improve BigInteger/Decimal validation
8292579 (tz) Update Timezone Data to 2022c
8275887 jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
8028265 Add legacy tz tests to OpenJDK
8290456 remove os::print_statistics()
8288985 P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
8287463 JFR: Disable on Windows
8289695 [TESTBUG] fails on cgroups v2 and crun
8227651 Tests fail with SSLProtocolException: Input record too big
8212096 javax/net/ssl/ServerName/ failed intermittently due to SSLException: Tag mismatch
8284950 CgroupV1 detection code should consider memory.swappiness
8272417 ZGC: fastdebug build crashes when printing ClassLoaderData
6782021 It is not possible to read local computer certificates with the SunMSCAPI provider
8282947 JFR: Dump on shutdown live-locks in some conditions
8288000 compiler/loopopts/ fails with release VMs
8279032 compiler/loopopts/ times out with -XX:TieredStopAtLevel < 4
8289127 Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
8285730 unify _WIN32_WINNT settings
8289910 unify os::message_box across posix platforms
8291633 Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
8283903 GetContainerCpuLoad does not return the correct result in share mode
8288399 MacOS debug symbol files not always deterministic in reproducible builds
8289549 ISO 4217 Amendment 172 Update
8283277 ISO 4217 Amendment 171 Update
8280944 Enable Unix domain sockets in Windows Selector notification mechanism
8285693 Create an automated test for JDK-4702199
8284077 Create an automated test for JDK-4170173
8285617 Fix java/awt/print/PrinterJob/ImagePrinting/ manual test
8289471 Issue in Initialization of keys in and
8291595 [17u] Delete files missed in backport of 8269039
8283624 Create an automated regression test for RFE-4390885
8223543 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/ has issues
8284535 Fix test that is failing with Parse Exception
8283712 Create a manual test framework class
8283245 Create a test for JDK-4670319
8283507 Create a regression test for RFE 4287690
8282933 Create a test for JDK-4529616
8283621 Write a regression test for CCC4400728
8283623 Create an automated regression test for JDK-4525475
8288992 AArch64: CMN should be handled the same way as CMP
8283015 Create a test for JDK-4715496
8283493 Create an automated regression test for RFE 4231298
8282789 Create a regression test for the JTree usecase of JDK-4618767
8280913 Create a regression test for JRootPane.setDefaultButton() method
8269556 sun/tools/jhsdb/ fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
8275689 [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
8257534 misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
8270312 Error: Not a test or directory containing tests: java/awt/print/PrinterJob/
8290417 CDS cannot archive lamda proxy with useImplMethodHandle
8290334 Update FreeType to 2.12.1
8290246 test fails "assert(init != __null) failed: initialization not found"
8286314 Trampoline not created for far runtime targets outside small CodeCache
8284358 Unreachable loop is not removed from C2 IR, leading to a broken graph
8282351 jpackage does not work if class file has $$ in the name on windows
8283803 Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ and fix test
8284898 Enhance PassFailJFrame
8283723 Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
8264792 The NumberFormat for locale sq_XK formats price incorrectly.
8283911 DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
7131823 bug in GIFImageReader
8282860 Write a regression test for JDK-4164779
8288781 C1: LIR_OpVisitState::maxNumberOfOperands too small
8289853 Update HarfBuzz to 4.4.1
8273506 java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
8284067 jpackage'd launcher reports non-zero exit codes with error prompt
8283087 Create a test or JDK-4715503
8282548 Create a regression test for JDK-4330998
8282234 Create a regression test for JDK-4532513
8282343 Create a regression test for JDK-4518432
8169468 fails because FS Window didn't receive all resizes!
6854300 [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/ fails in jdk6u14 & jdk7
8017175 [TESTBUG] javax/swing/JPopupMenu/4634626/ sometimes failed on mac
8255724 [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
8272736 [JVMCI] Add API for reading and writing JVMCI thread locals
8277493 [REDO] Quarantined jpackage apps are labeled as "damaged"
8282007 Assorted enhancements to jpackage testing framework
8278233 [macos] tools/jpackage tests timeout due to /usr/bin/osascript
8290020 Deadlock in leakprofiler::emit_events during shutdown
8289486 Improve XSLT XPath operators count efficiency
8287125 [macos] Multiple jpackage tests fail/timeout on same host
8286122 [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
8281738 Create a regression test for checking the 'Space' key activation of focused Button
8281988 Create a regression test for JDK-4618767
8281745 Create a regression test for JDK-4514331
8281535 Create a regression test for JDK-4670051
8279370 jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
8278311 Debian packaging doesn't work
8276837 [macos]: Error when signing the additional launcher
8271344 Windows product version issue
8290000 Bump macOS GitHub actions to macOS 11
8280233 Temporarily disable Unix domain sockets in Windows PipeImpl
8282280 Update Xerces to Version 2.12.2
8277429 Conflicting jpackage static library name
8274856 Failing jpackage tests with fastdebug/release build
8285097 Duplicate XML keys in and
8288499 Restore cancel-in-progress in GHA
8284014 Menu items with submenus in JPopupMenu are not spoken on macOS
8282407 Missing ')' in
8272815 jpackage --type rpm produces an error: Invalid or unsupported type: [null]
8273040 Turning off JpAllowDowngrades (or Upgrades)
8288003 log events for os::dll_unload
8287906 Rewrite of GitHub Actions (GHA) sanity tests
8274434 move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
8289147 unify os::infinite_sleep on posix platforms
8290082 [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
8289856 [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
8290004 [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
8288599 com/sun/management/OperatingSystemMXBean/ Expected total swap size ... but getTotalSwapSpaceSize returned ...
8287902 UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
8272352 Java launcher can not parse Chinese character when system locale is set to UTF-8
8287896 fail on msys2
8287724 Fix various issues with msys2
8286573 Remove the unnecessary method Attr#attribTopLevel and its usage
8287895 Some langtools tests fail on msys2
8280863 Update build README to reflect that MSYS2 is supported
8289697 buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
8254318 Remove .hgtags
8289799 Build warning in methodData.cpp memset zero-length parameter
8278609 [macos] accessibility frame is misplaced on a secondary monitor on macOS
8286266 [macos] Voice over moving JTable column to be the first column JVM crashes
8278612 [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
8289477 Memory corruption with CPU_ALLOC, CPU_FREE on muslc
8284977 MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
8287735 Provide separate event category for dll operations
8286277 CDS VerifyError when calling clone() on object array
8289569 [test] java/lang/ProcessBuilder/ fails on Alpine/musl
8276546 [IR Framework] Whitelist and ignore CompileThreshold
8269039 Disable SHA-1 Signed JARs
8287917 System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
8288360 CI: ciInstanceKlass::implementor() is not consistent for well-known classes
8287432 C2: assert(tn->in(0) != __null) failed: must have live top node
8286625 C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
8278067 Make HttpURLConnection default keep alive timeout configurable
8256844 Make NMT late-initializable
8281181 Do not use CPU Shares to compute active processor count
8284944 assert(cnt++ < 40) failed: infinite cycle in loop optimization
8284294 Create an automated regression test for RFE 4138746
8282936 Write a regression test for JDK-4615365
8288467 remove memory_operand assert for spilled instructions
8287396 LIR_Opr::vreg_number() and data() can return negative number
8284680 sun.font.FontConfigManager.getFontConfig() leaks charset
8284956 Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
8289197 [17u] Push of backport of 8286177 did not remove assertion
8287366 Improve test failure reporting in GHA
8287672 jtreg test com/sun/jndi/ldap/ fails intermittently in nightly run
8287223 C1: Inlining attempt through MH::invokeBasic() with null receiver
8271078 jdk/incubator/vector/ failed a subtest
8285923 [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
8287091 aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
8286177 C2: "failed: non-reduction loop contains reduction nodes" assert failure
8280696 C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
8286870 Memory leak with RepeatCompilation
8279622 C2: miscompilation of map pattern as a vector reduction
8282937 Write a regression test for JDK-4820080
8211002 test/jdk/java/lang/Math/ skips testing for non-corner-case values
8286582 Build fails on macos aarch64 when using --with-zlib=bundled
8288754 GCC 12 fails to build zReferenceProcessor.cpp
8288303 C1: Miscompilation due to broken Class.getModifiers intrinsic
8283457 [macos] libpng build failures with Xcode13.3
8285081 Improve XPath operators count accuracy
8286211 Update PCSC-Lite for Suse Linux to 1.9.5
8284367 JQuery UI upgrade from 1.12.1 to 1.13.1
8286638 C2: CmpU needs to do more precise over/underflow analysis
8282555 Missing memory edge when spilling MoveF2I, MoveD2L etc
8265360 several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
8274597 Some of the dnd tests time out and fail intermittently
8028998 [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/ failed
8284521 Write an automated regression test for RFE 4371575
8282046 Create a regression test for JDK-8000326
8079267 [TEST_BUG] Test java/awt/Frame/MiscUndecorated/ fails
8282778 Create a regression test for JDK-4699544
8285380 Fix typos in security
8287113 JFR: Periodic task thread uses period for method sampling events
8284883 JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
8285301 C2: assert(!requires_atomic_access) failed: can't ensure atomicity
8285696 AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
8285398 Cache the results of constraint checks
8284675 "jpackage.exe" creates application launcher without Windows Application Manfiest
8286429 jpackageapplauncher build fails intermittently in Tier[45]
8273115 CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
8282640 Create a test for JDK-4740761
8281569 Create tests for Frame.setMinimumSize() method
8282538 PKCS11 tests fail on CentOS Stream 9
8283562 JDK-8282306 breaks gtests on zero
8286869 unify os::dir_is_empty across posix platforms
8282306 os::is_first_C_frame(frame*) crashes on invalid link access
8284686 Interval of < 1 ms disables ExecutionSample events
8281297 TestStressG1Humongous fails with guarantee(is_range_uncommitted)
8274517 java/util/DoubleStreamSums/ fails with expected [true] but found [false]
8283849 AsyncGetCallTrace may crash JVM on guarantee
8287663 Add a regression test for JDK-8287073
8287073 NPE from CgroupV2Subsystem.getInstance()
8178969 [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
8283441 C2: segmentation fault in ciMethodBlocks::make_block_at(int)
8172065 javax/swing/JTree/4908142/ The selected index should be "aad"
8284694 Avoid evaluating SSLAlgorithmConstraints twice
8159694 HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/
8285820 C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
8270090 C2: LCM may prioritize CheckCastPP nodes over projections
8287741 Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
8287107 CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
8264666 Change implementation of safeAdd/safeMult in the LCMSImageLayout class
8287824 The MTPerLineTransformValidation tests has a typo in the @run tag
8225122 Test fails when Windows desktop is scaled.
8281183 RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
8280950 RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
8280550 SplittableRandom#nextDouble(double,double) can return result >= bound
8283597 [REDO] Invalid generic signature for redefined classes
8282214 Upgrade JQuery to version 3.6.0
8281628 KeyAgreement : generateSecret intermittently not resetting
8282467 add extra diagnostics for JDK-8268184
8282477 [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
8286114 [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/
8240903 Add test to check that jmod hashes are reproducible
8287202 GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
8287016 Bump update version for OpenJDK: jdk-17.0.5