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 libEGL.so and libGLESv2.so 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 libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

CVEs

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

Issues fixed

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