Liberica JDK 11.0.21+10 Release Notes

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

Liberica JDK 11.0.21+10

Liberica is a certified, Java SE 11-compliant distribution of OpenJDK 11 which works on server (Linux x86_64, Linux ARM64, 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.21 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, 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 11 distribution

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

Liberica JDK 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.

Liberica JDK continues to provide support for AOT and Graal JIT. Since in OpenJDK 11 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 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.

* Not supported on Raspberry Pi 4.

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 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 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 Base Score Component/Module Attack Vector Complexity User Interaction Scope Confidentiality Integrity Availability
CVE-2023-22081 5.3 security-libs/ Network Low None Unchanged None None Low

Issues fixed

Issue Description
JDK-6176679 Application freezes when copying an animated gif image to the system clipboard
JDK-8023980 JCE doesn't provide any class to handle RSA private key in PKCS#1
JDK-8155246 Throw error if default file is missing
JDK-8158880 test/java/time/tck/java/time/format/ fail with zh_CN locale
JDK-8168261 Use server cipher suites preference by default
JDK-8181383 com/sun/jdi/ fails intermittently with bind failed: Address already in use
JDK-8201516 DebugNonSafepoints generates incorrect information
JDK-8209398 sun/security/pkcs11/KeyStore/ failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
JDK-8211343 nsk_jvmti_parseoptions should handle multiple suboptions
JDK-8212045 Add back the tests that were removed from and
JDK-8216059 nsk_jvmti_parseoptions still has dependency on tilde separator
JDK-8217237 HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers
JDK-8217395 Update langtools shell tests to use ${EXE_SUFFIX}
JDK-8217612 (CL)HSDB cannot show some JVM flags
JDK-8217850 CompressedClassSpaceSizeInJmapHeap fails after JDK-8217612
JDK-8218471 does not correctly invoke
JDK-8219628 [TESTBUG] javadoc/doclet/InheritDocForUserTags fails with -othervm
JDK-8220410 sun/security/tools/jarsigner/warnings/ failed with missing expected output
JDK-8221372 Test vmTestbase/nsk/jvmti/GetThreadState/thrstat001/ times out
JDK-8222323 fails with "RuntimeException: Failed to unset alwaysOnTop"
JDK-8223573 Replace wildcard address with loopback or local host in tests - part 4
JDK-8223714 HTTPSetAuthenticatorTest could be made more resilient
JDK-8223783 sun/net/www/http/HttpClient/ sometimes detect threads+1 connections
JDK-8223856 Replace wildcard address with loopback or local host in tests - part 8
JDK-8224617 (fs) java/nio/file/FileStore/ found filesystem twice
JDK-8224729 Cleanups in sun/security/provider/certpath/ldap/
JDK-8224768 Test fails
JDK-8225012 sanity/client/SwingSet/src/ fails on Windows
JDK-8226221 Update PKCS11 tests to use NSS 3.46 libs
JDK-8228341 fails intermittently on Windows
JDK-8228403 failed with File name too long
JDK-8229147 Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
JDK-8229333 java/io/File/ timed out
JDK-8229338 clean up test/jdk/java/util/RandomAccess/
JDK-8229348 java/net/DatagramSocket/ fails intermittently
JDK-8229481 sun/net/www/protocol/https/ failed with a SSLException
JDK-8229912 [TESTBUG] java/net/Socks/SocksIPv6Test fails without IPv6
JDK-8230132 java/net/NetworkInterface/ to skip Teredo Tunneling Pseudo-Interface
JDK-8231037 java/net/InetAddress/ptr/ fails intermittently due to reverse lookup failed
JDK-8231357 sun/security/pkcs11/Cipher/ fails on SLES11 using mozilla-nss-3.14
JDK-8231516 network failed due to "SocketException: maximum number of DatagramSockets reached"
JDK-8232101 (sctp) Add minimal sanity tests for SCTP
JDK-8232195 Enable BigInteger tests: DivisionOverflow, SymmetricRangeTests and StringConstructorOverflow
JDK-8232840 java/math/BigInteger/largeMemory/ fails due to "OutOfMemoryError: Requested array size exceeds VM limit"
JDK-8232922 Add java/math/BigInteger/largeMemory/ to ProblemList-Xcomp
JDK-8234808 jdb quoted option parsing broken
JDK-8236045 [TESTBUG] MismatchedWhiteBox test fails with missing WhiteBox$WhiteBoxPermission.class
JDK-8237183 Bug ID missing for test in patch which fixed JDK-8230665
JDK-8238157 security/infra/java/security/cert/CertPathValidator/certification/ test failures because of revocation date
JDK-8239007 java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms
JDK-8239264 Clearup the legacy ObjectIdentifier constructor from int array
JDK-8239333 Mark test with intermittent key
JDK-8239537 cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes
JDK-8240193 loadLibrary("osxsecurity") should not be removed
JDK-8241097 java/math/BigInteger/largeMemory/ requires -XX:+CompactStrings
JDK-8242151 Improve OID mapping and reuse among JDK security providers for aliases registration
JDK-8242330 Arrays should be cloned in several JAAS Callback classes
JDK-8242897 KeyFactory.generatePublic( x509Spec ) failed with
JDK-8243210 ClhsdbScanOops fails with NullPointerException in FileMapHeader.inCopiedVtableSpace
JDK-8244078 ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts
JDK-8247895 is calling setSeed(0)
JDK-8247968 test/jdk/javax/crypto/SecretKeyFactory/ has wrong header
JDK-8248001 javadoc generates invalid HTML pages whose ftp:// links are broken
JDK-8249699 java/io/ByteArrayOutputStream/ should use @requires instead of @ignore
JDK-8251483 TableCell: NPE on modifying item's list
JDK-8251517 [TESTBUG] com/sun/net/httpserver/bugs/ does not scale socket timeout
JDK-8252530 Fix inconsistencies in hotspot whitebox
JDK-8254350 CompletableFuture.get may swallow InterruptedException
JDK-8255348 NPE in PKIXCertPathValidator event logging code
JDK-8257993 vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/ crash intermittently
JDK-8259796 timed CompletableFuture.get may swallow InterruptedException
JDK-8260274 Cipher.init(int, key) does not use highest priority provider for random bytes
JDK-8260878 com/sun/jdi/ fails without jfr
JDK-8260934 java/lang/StringBuilder/ fails without Compact Strings
JDK-8263970 Manual test javax/swing/JTextField/JapaneseReadingAttributes/ failed
JDK-8265980 Fix systemDictionary and loaderConstraints printing
JDK-8268457 XML Transformer outputs Unicode supplementary character incorrectly to HTML
JDK-8268464 Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
JDK-8269091 javax/sound/sampled/Clip/ failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
JDK-8270331 [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/
JDK-8271838 interop test fails
JDK-8273807 Zero: Drop incorrect test block from compiler/startup/
JDK-8274205 Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
JDK-8274606 Fix jaxp/javax/xml/jaxp/unittest/transform/ test
JDK-8275234 java/awt/GraphicsDevice/DisplayModes/ is entered twice in ProblemList
JDK-8275303 sun/java2d/pipe/ fails with D3D basic render driver
JDK-8276651 java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
JDK-8277353 java/security/MessageDigest/ test times out
JDK-8279536 jdk/nio/zipfs/ timed out
JDK-8283756 (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
JDK-8284524 Create an automated test for JDK-4422362
JDK-8284767 Create an automated test for JDK-4422535
JDK-8284772 GHA: Use GCC Major Version Dependencies Only
JDK-8284910 Buffer clean in PasswordCallback
JDK-8285635 javax/swing/JRootPane/ failed with Default Button not pressed for L&F:
JDK-8286172 Create an automated test for JDK-4516019
JDK-8286481 Exception printed to stdout on Windows when storing transparent image in clipboard
JDK-8286503 Enhance security classes
JDK-8286620 Create regression test for verifying setMargin() of JRadioButton
JDK-8289508 Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling
JDK-8289748 C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
JDK-8289751 Multiple unit test failures after JDK-8251483
JDK-8291444 GHA builds/tests won't run manually if disabled from automatic running
JDK-8291830 jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
JDK-8292033 Move jdk.X509Certificate event logic to JCA layer
JDK-8292297 Fix up loading of override properties file
JDK-8292443 Weak CAS VarHandle/Unsafe tests should test always-failing cases
JDK-8293180 JQuery UI license file not updated
JDK-8293562 KeepAliveCache Blocks Threads while Closing Connections
JDK-8293657 sun/management/jmxremote/bootstrap/ failed with "SSLHandshakeException: Remote host terminated the handshake"
JDK-8293858 Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
JDK-8295737 macOS: Print content cut off when width > height with portrait orientation
JDK-8295894 Remove SECOM certificate that is expiring in September 2023
JDK-8296084 javax/swing/JSpinner/4788637/ fails intermittently on a VM
JDK-8296581 Better system proxy support
JDK-8297437 javadoc cannot link to old docs (with old style anchors)
JDK-8297523 Various GetPrimitiveArrayCritical miss result - NULL check
JDK-8297587 Upgrade JLine to 3.22.0
JDK-8297681 Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
JDK-8297730 C2: Arraycopy intrinsic throws incorrect exception
JDK-8297856 Improve handling of Bidi characters
JDK-8297887 Update Siphash
JDK-8297923 java.awt.ScrollPane broken after multiple scroll up/down
JDK-8297955 LDAP CertStore should use LdapName and not String for DNs
JDK-8298921 Create a regression test for JDK-8139581
JDK-8298974 Add ftcolor.c to imported freetype sources
JDK-8299424 containers/docker/ fails on SLES12 ppc64le when testing Memory and Swap Limit
JDK-8299658 C1 compilation crashes in LinearScan::resolve_exception_edge
JDK-8299713 Test javax/swing/JTableHeader/6889007/ failed: Wrong type of cursor
JDK-8300098 java/util/concurrent/ConcurrentHashMap/ fails with internal timeout when executed with TieredCompilation1/3
JDK-8300659 Refactor TestMemoryAwareness to use WhiteBox api for host values
JDK-8300751 [17u] Remove duplicate entry in
JDK-8301269 Update Commons BCEL to Version 6.7.0
JDK-8301491 C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
JDK-8301700 Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
JDK-8301959 Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work
JDK-8302161 Upgrade jQuery UI to version 1.13.2
JDK-8302182 Update Public Suffix List to 88467c9
JDK-8303511 C2: assert(get_ctrl(n) == cle_out) during unrolling
JDK-8303680 Virtual Flow freezes after calling scrollTo and scrollPixels in succession
JDK-8303748 WebKit build fails with Visual Studio 2022 17.5.0
JDK-8303809 Dispose context in SPNEGO NegotiatorImpl
JDK-8304054 Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
JDK-8304498 JShell does not switch to raw mode when there is no /bin/test
JDK-8304665 Change to Xcode12.4+1.1 devkit
JDK-8304867 Explicitly disable dtrace for ppc builds
JDK-8305074 ProblemList javax/net/ssl/DTLS/
JDK-8305421 Work around JDK-8305420 in
JDK-8305763 Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
JDK-8305766 ProblemList runtime/CompressedOops/
JDK-8305815 Update Libpng to 1.6.39
JDK-8305950 Have -XshowSettings option display tzdata version
JDK-8306133 Open source few AWT Drag & Drop related tests
JDK-8306137 Open source several AWT ScrollPane related tests
JDK-8306329 Update ICU4C to 73.1
JDK-8306484 Open source several AWT Choice jtreg tests
JDK-8306636 Disable compiler/c2/ with -XX:TieredStopAtLevel=3
JDK-8306638 Open source some AWT tests related to datatransfer and Toolkit
JDK-8306682 Open source a few more AWT Choice tests
JDK-8306718 Optimize and opensource some old AWT tests
JDK-8306881 Update FreeType to 2.13.0
JDK-8306954 Open source five Focus related tests
JDK-8306955 Open source several JComboBox jtreg tests
JDK-8307078 Opensource and clean up five more AWT Focus related tests
JDK-8307080 Open source some more JComboBox jtreg tests
JDK-8307128 Open source some drag and drop tests 4
JDK-8307133 Open source some JTable jtreg tests
JDK-8307135 java/awt/dnd/NotReallySerializableTest/ failed
JDK-8307301 Update HarfBuzz to 7.2.0
JDK-8307569 Build with gcc8 is broken after JDK-8307301
JDK-8307572 AArch64: Vector registers are clobbered by some macroassemblers
JDK-8307603 [AIX] Broken build after JDK-8307301
JDK-8307604 gcc12 based Alpine build broken build after JDK-8307301
JDK-8307799 Newly added java/awt/dnd/ has invalid jtreg `@requires` clause
JDK-8307960 Create Table Column PopupMenu lazily
JDK-8308156 misses blank in error output
JDK-8308306 Update to Xcode 14.3 on macOS
JDK-8308307 Update to gcc 12.2.0 on Linux
JDK-8308308 Update to Visual Studio 2022 version 17.5.0 on Windows
JDK-8309088 security/infra/java/security/cert/CertPathValidator/certification/ fails
JDK-8309108 Bump update version for OpenJDK: jdk-11.0.21
JDK-8309138 Fix container tests for jdks with symlinked conf dir
JDK-8309966 Enhanced TLS connections
JDK-8310054 ScrollPane insets are incorrect
JDK-8310176 JDK 11 G1 crash during full GC with +UseStringDeduplication
JDK-8310620 [11u] Problemlist failing aot tests on macos x64
JDK-8310681 Update WebKit to 616.1
JDK-8311033 [macos] PrinterJob does not take into account Sides attribute
JDK-8311097 Synchron XMLHttpRequest not receiving data
JDK-8311689 Wrong visible amount in Adjustable of ScrollPane
JDK-8312138 jcmd VM.metaspace vslist has no newline character before the Class: label.
JDK-8312555 Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
JDK-8313159 [11u] Fix test after Merge error
JDK-8313177 Web Workers timeout with Webkit 616.1
JDK-8313181 Enabling modern media controls on webkit 616.1 does not load button images on HTML5 video Element
JDK-8313711 Cherry-pick WebKit 616.1 stabilization fixes
JDK-8313765 Invalid CEN header (invalid zip64 extra data field size)
JDK-8313796 AsyncGetCallTrace crash on unreadable interpreter method pointer
JDK-8313803 [11u] Exclude jdk/jfr/event/sampling/
JDK-8313878 Exclude two compiler/rtm/locking tests on ppc64le
JDK-8314086 [11u] A typo in the fix for JDK-8312462 is causing test failure in
JDK-8314212 Crash when loading in WebView
JDK-8314950 CMS may miss NMT tag after mark stack expansion
JDK-8314960 Add Certigna Root CA - 2
JDK-8315135 Memory leak in the native implementation of Pack200.Unpacker.unpack()
JDK-8315529 [11u] Exclude some failing Z-GC tests
JDK-8315657 Application window not activated in macOS 14 Sonoma
JDK-8317040 Exclude cleaner test failing on older releases