Liberica JDK 11.0.18+10 Release Notes


The full version string for this update release is 11.0.18+10. The version number is 11.

Liberica JDK 11.0.18+10

Liberica is a certified, Java SE 11-compliant distribution of OpenJDK 11 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 11.
  • Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.

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

Supported Server and Desktop configurations

Liberica is supported on the following OSes:

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

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 running the following OSes:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

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

Liberica JDK 11 distribution

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

Liberica 11 introduced all new features supported by OpenJDK 11.

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 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 11 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.

Please refer to the following wiki for more information.

Device IO API for the Raspberry Pi

Liberica JDK 11 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 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 Score Component Module Attack_vector Complexity Privileges User interaction Scope Confidentiality Integrity Availability
CVE-2023-21835 5.3 security-libs javax.net.ssl network low none none unchanged none none low
CVE-2023-21843 3.7 client-libs javax.sound network high none none unchanged none low none

Issues fixed

Issue Description
8299628 BMP top-down images fail to load after JDK-8289336
8294779 Improve FX pages
8292112 Better DragView handling
8292105 Improve Robot functionality
8292097 Better video decoding
8289336 Better platform image support
8289343 Better GL support
8248551 [TestBug] Ignore two failing FXML unit tests which use Nashorn script engine
8294722 FX: Update copyright year in docs, readme files to 2023
8294400 Provide media support for libavcodec version 59
8289541 Update ICU4C to 71.1
8283402 Update to gcc 11.2.0 on Linux
8293795 [Accessibility] [Win] [Narrator] Exceptions When Deleting Text with Continuous Key Press in TextArea and TextField
8284281 [Accessibility] [Win] [Narrator] Exceptions with TextArea & TextField when deleted last char
8289542 Update JPEG Image Decoding Software to 9e
8087557 [Win] [Accessibility, Dialogs] Alert Dialog content is not fully read by Screen Reader
8291087 Wrong position of focus of screen reader on Windows with screen scale > 1
8295659 Change JavaFX release version to 11.0.18 in jfx11u
8295723 security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
8295687 Better BMP bounds
8293742 Better Banking of Sounds
8293734 Improve BMP image handling
8293717 Objective view of ObjectView
8293598 Enhance InetAddress address handling
8293554 Enhanced DH Key Exchanges
8289350 Better media supports
8288516 Enhance font creation
8287411 Enhance DTLS performance
8286496 Improve Thread labels
8286070 Improve UTF8 representation
8299393 [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.18
8296239 ISO 4217 Amendment 174 Update
8299439 java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483 ProblemList java/text/Format/NumberFormat/CurrencyFormat.java
8299616 [11u] Bootcycle build fails after JDK-8257679 backport
8280890 Cannot use '-Djava.system.class.loader' with class loader in signed JAR
8298737 8296772 backport to jdk11u caused build error on sparc
8297804 (tz) Update Timezone Data to 2022g
8258005 JDK build fails with incorrect fixpath script
8293834 Update CLDR data following tzdata 2022c update
8297656 AArch64: Enable AES/GCM Intrinsics
8297147 UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
8296715 CLDR v42 update for tzdata 2022f
8297481 Create a regression test for JDK-4424517
8292778 EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
8296957 One more cast in SAFE_SIZE_NEW_ARRAY2
8296496 Overzealous check in sizecalc.h prevents large memory allocation
8222091 Javadoc does not handle package annotations correctly on package-info.java
8285794 AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
8280863 Update build README to reflect that MSYS2 is supported
8295952 Problemlist existing compiler/rtm tests also on x86
8268860 Windows-Aarch64 build is failing in GitHub actions
8287724 Fix various issues with msys2
8226236 win32: gc/metaspace/TestCapacityUntilGCWrapAround.java fails
8259485 Document need for short paths when building on Windows
8257679 Improved unix compatibility layer in Windows build (winenv)
8260272 bash configure --prefix does not work after JDK-8257679
8297241 Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
8297153 sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again
8022403 sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
8285604 closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
8178698 javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
8287896 PropertiesTest.sh fail on msys2
8287895 Some langtools tests fail on msys2
8287902 UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
8287425 Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
8286624 Regression Test CoordinateTruncationBug.java fails on OL8.3
8296632 Write a test to verify the content change of TextArea sends TextEvent
8283199 Linux os::cpu_microcode_revision() stalls cold startup
8294740 Add cgroups keyword to TestDockerBasic.java
8293540 [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
8293472 Incorrect container resource limit detection if manual cgroup fs mounts present
8029633 Raw inner class constructor ref should not perform diamond inference
8296652 Restore windows aarch64 fixpath patch that was removed in 8239708
8256109 Create implementation for NSAccessibilityButton protocol
8264666 Change implementation of safeAdd/safeMult in the LCMSImageLayout class
8288302 Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
8296108 (tz) Update Timezone Data to 2022f
8294307 ISO 4217 Amendment 173 Update
8286872 Refactor add/modify notification icon (TrayIcon)
8202836 [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
8274029 Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java
8274456 Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java
8295714 GHA ::set-output is deprecated and will be removed
8295872 [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
8296480 java/security/cert/pkix/policyChanges/TestPolicy.java is failing
8255439 System Tray icons get corrupted when Windows scaling changes
8277497 Last column cell in the JTable row is read as empty cell
8282306 os::is_first_C_frame(frame*) crashes on invalid link access
8296485 BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
8288132 Update test artifacts in QuoVadis CA interop tests
8268361 Fix the infinite loop in next_line
8292866 Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
8273685 Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction
8261445 Use memory_order_relaxed for os::random().
8277881 Missing SessionID in TLS1.3 resumption in compatibility mode
8277970 Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
8293826 Closed test fails after JDK-8276108 on aarch64
8273236 keytool does not accurately warn about algorithms that are disabled but have additional constraints
8295554 Move the "sizecalc.h" to the correct location
8292682 Code change of JDK-8282730 not updated to reflect CSR update
8282730 LdapLoginModule throw NPE from logout method after login failure
8284771 java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
8257722 Improve "keytool -printcert -jarfile" output
8295429 Update harfbuzz md file
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
8199290 [TESTBUG] sun.hotspot.WhiteBox$WhiteBoxPermission is not copied
8287826 javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
8292899 CustomTzIDCheckDST.java testcase failed on AIX platform
8272123 Problem list 4 jtreg tests which regularly fail on macos-aarch64
8285373 Create an automated test for JDK-4702233
8285373 Create an automated test for JDK-4702233
8273578 javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
8295288 Some vm_flags tests associate with a wrong BugID
8280948 Write a regression test for JDK-4659800
8282402 Create a regression test for JDK-4666101
8233648 [TESTBUG] DefaultMenuBarTest.java failing on macos
8280158 New test from JDK-8274736 failed with/without patch in JDK11u
8222251 preflow visitor is not visiting lambda expressions
8274296 Update or Problem List tests which may fail with uiScale=2 on macOS
8261336 IGV: enhance default filters
8228672 [TESTBUG] gc/metaspace/TestSizeTransitions.java fails on 32-bit platforms
8295322 Tests for JDK-8271459 were not backported to 11u
8227179 Test for new gc+metaspace=info output format
8284690 [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
8295469 S390X: Optimized builds are broken
8288445 AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
8295641 Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
8295173 (tz) Update Timezone Data to 2022e
8030121 java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
8266967 debug.cpp utility find() should print Java Object fields.
8291461 assert(false) failed: bad AD file
8289043 C2: Vector constant materialization attempt
8293672 Update freetype md file
8290529 C2: assert(BoolTest(btest).is_canonical()) failure
8227651 Tests fail with SSLProtocolException: Input record too big
8212096 javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
8282642 vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
8169187 [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
8284358 Unreachable loop is not removed from C2 IR, leading to a broken graph
8286772 java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
8285305 Create an automated test for JDK-4495286
8285617 Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
8273553 sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
8254976 Re-enable swing jtreg tests which were broken due to samevm mode
8244557 test/jdk/javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java failed
8172269 When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red.
8287609 macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
8285921 serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
8292158 AES-CTR cipher state corruption with AVX-512
8288599 com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
8282777 Create a Regression test for JDK-4515031
8286663 Resolve IDE warnings in WTrayIconPeer and SystemTray
8282778 Create a regression test for JDK-4699544
8287091 aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
8281297 TestStressG1Humongous fails with guarantee(is_range_uncommitted)
8274597 Some of the dnd tests time out and fail intermittently
8028998 [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed
8284752 Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
8282937 Write a regression test for JDK-4820080
8282345 handle latest VS2022 in abstract_vm_version
8233557 [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
8244010 Simplify usages of ProcessTools.createJavaProcessBuilder in our tests
8281296 Create a regression test for JDK-4515999
8294357 (tz) Update Timezone Data to 2022d
8233558 [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
8159599 [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
8129827 [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
8284521 Write an automated regression test for RFE 4371575
8284884 Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
8284732 FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
8282640 Create a test for JDK-4740761
8284294 Create an automated regression test for RFE 4138746
8283422 Create a new test for JDK-8254790
8282046 Create a regression test for JDK-8000326
8282936 Write a regression test for JDK-4615365
7001973 java/awt/Graphics2D/CopyAreaOOB.java fails
8279695 [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
4819544 SwingSet2 JTable Demo throws NullPointerException
8264593 debug.cpp utilities should be available in product builds.
8263871 On sem_destroy() failing we should assert
8261758 [TESTBUG] gc/g1/TestGCLogMessages.java fails if ergonomics detect too small InitialHeapSize
8254874 ZGC: JNIHandleBlock verification failure in stack watermark processing
6829250 Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
8290711 assert(false) failed: infinite loop in PhaseIterGVN::optimize
8293816 CI: ciBytecodeStream::get_klass() is not consistent
8293044 C1: Missing access check on non-accessible class
8277159 Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
8079267 [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
8274032 Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
8211002 test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
8269873 serviceability/sa/Clhsdb tests are using a C2 specific VMStruct field
8263326 Remove ReceiverTypeData check from serviceability/sa/TestPrintMdo.java
8198343 Test java/awt/print/PrinterJob/TestPgfmtSetMPA.java may fail w/o printer
8253877 gc/g1/TestGCLogMessages.java fails - missing "Evacuation failure" message
8194126 Regression automated Test '/open/test/jdk/javax/swing/JColorChooser/Test7194184.java' fails
8249694 java/lang/StringBuffer/HugeCapacity.java and j/l/StringBuilder/HugeCapacity.java tests shouldn't be @ignore-d
8243565 some gc tests use 'test.java.opts' and not 'test.vm.opts'
8243568 serviceability/logging/TestLogRotation.java uses 'test.java.opts' and not 'test.vm.opts'
8215571 jdb does not include jdk.* in the default class filter
8293998 [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
8233565 [TESTBUG] NullModalityDialogTest.java fails on MacOS
8282857 Create a regression test for JDK-4702690
8294578 [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
8290451 Incorrect result when switching to C2 OSR compilation from C1
8291459 JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
8290705 StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
8282276 Problem list failing two Robot Screen Capture tests
8290781 Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
8288985 P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
8293578 Duplicate ldc generated by javac
8287076 Document.normalizeDocument() produces different results
8284977 MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
8285836 sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
8275170 Some jtreg sound tests should be marked with sound keyword
8294138 [11u] Revert change from JDK-8210962 in basic.m4
8288377 [REDO] DST not applying properly with zone id offset set with TZ env variable
8293828 JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
8285698 Create a test to check the focus stealing of JPopupMenu from JComboBox
8210047 some pages contain content outside of landmark region
8240281 Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack
8193942 Regression automated test '/open/test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java' fails
8266082 AssertionError in Annotate.fromAnnotations with -Xdoclint
8290209 jcup.md missing additional text
8279066 entries.remove(entry) is useless in PKCS12KeyStore
8290207 Missing notice in dom.md
8269029 compiler/codegen/TestCharVect2.java fails for client VMs
8274563 jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
8275535 Retrying a failed authentication on multiple LDAP servers can lead to users blocked
8289146 containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
8287917 System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
8268893 jcmd to trim the glibc heap
8276841 Add support for Visual Studio 2022
8292541 [Metrics] Reported memory limit may exceed physical machine memory
6782021 It is not possible to read local computer certificates with the SunMSCAPI provider
8247676 vcruntime140_1.dll is not needed on 32-bit Windows
8242468 VS2019 build missing vcruntime140_1.dll
8239708 Split basics.m4 into basic.m4 and util.m4
8213239 Configure cannot handle command overrides with arguments
8206125 [windows] cannot pass relative path to --with-boot-jdk
8217032 Check pandoc capabilities in configure
8292083 Detected container memory limit may exceed physical machine memory
8292887 Bump update version for OpenJDK: jdk-11.0.18