October 19, 2021
The full version string for this update release is 11.0.13+10 (where "+" means "build"). The version number is 11.0.13.
For more information, refer to Timezone Data Versions in the JRE Software.
The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 11.0.13 are specified in the following table:
JRE Family Version | JRE Security Baseline (Full Version String) |
---|---|
11 | 11.0.13+10 |
8 | 8u311-b11 |
7 | 7u321-b08 |
Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.
Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 11.0.13) be used after the next critical patch update scheduled for January 18, 2022.
Allow applications to configure context-specific and dynamically-selected deserialization filters via a JVM-wide filter factory that is invoked to select a filter for each deserialization stream. The behavior is a strict subset of JEP 415: Context-Specific Deserialization Filters to allow a filter factory to be configured using a property configured on the command line or in the security properties file.
The behavior is opt-in based on the presence of the jdk.serialFilterFactory
system property on the command line or the jdk.serialFilterFactory
security property. If set, the JVM-wide filter factory selects the filter for each stream when the stream is constructed and when a stream-specific filter is set.
The JVM-wide filter factory is a java.util.function.BinaryOperator<java.io.ObjectInputFilter>
function invoked when each ObjectInputStream
is constructed and when the stream-specific filter is set using ObjectInputStream.setObjectInputFilter(ObjectInputFilter)
. The parameters are the current filter and a requested filter and the function returns the filter to be used for the stream. When invoked from the ObjectInputStream
constructors, the first parameter is null
and the second parameter is the static JVM-wide filter
. When invoked from ObjectInputStream.setObjectInputFilter, the first parameter is the filter currently set on the stream (which was set in the constructor), and the second parameter is the filter given to ObjectInputStream.setObjectInputFilter
.
A typical filter factory should use or merge the static JVM-wide filter with other application and context specific filters and the stream-specific filter, if one is set on the stream. The filter factory implementation can also use any contextual information at its disposal, for example, extracted from the application thread context, or its call stack, to compose and combine a new filter. It is not restricted to only use its two parameters.
Refer to Context-Specific Deserialization Filter and Serialization Filtering Guide for details.
The following root certificate from IdenTrust has been removed from the cacerts
keystore:
+ alias name "identrustdstx3 [jdk]"
Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
The experimental Java-based JIT compiler, Graal JEP317, has been removed. Attempting to use it produces a JVMCI error: JVMCI compiler 'graal' not found
.
The Java Ahead-of-Time compilation experimental tool jaotc
has been removed. Using HotSpot VM AOT options defined by JEP295 produce "Unrecognized VM option" error on VM initialization.
Developers who wish to test the Graal compiler for either AOT or JIT compilation should use GraalVM.
This release doesn't correctly identify Windows 11. The property os.name
is set to Windows 10
on Windows 11. In HotSpot error logs, the OS is identified as Windows 10
; however, the HotSpot error log does show the Build number. Windows 11 has Build 22000.194 or above.
On the Linux platform, the names of JDK packages provided by Java RPM and DEB installers have been changed. Names of JDK packages follow the jdk-<feature_release_version>
pattern instead of the jdk-<update_release_version>
pattern that was previously used. For example, the new names of JDK 11, 16, and 17 packages are jdk-11
, jdk-16
, and jdk-17
respectively.
The change to package names disables side-by-side installation of multiple JDKs of the same release family. Only one JDK per release family can be installed on a system with RPM and DEB installers.
If a user wants to have multiple update releases from the same family, the user must download the tar.gz
bundles.
The default priority order of the cipher suites for TLS 1.0 to TLS 1.3 has been adjusted.
For TLS 1.3, TLS_AES_256_GCM_SHA384 is now preferred over TLS_AES_128_GCM_SHA256.
For TLS 1.0 to TLS 1.2, some of the intermediate suites have been lowered in priority as follows:
The scope of the com.sun.jndi.ldap.object.trustSerialData
system property has been extended to control the deserialization of java objects from the javaReferenceAddress
LDAP attribute. This system property now controls the deserialization of java objects from the javaSerializedData
and javaReferenceAddress
LDAP attributes.
To prevent deserialization of java objects from these attributes, the system property can be set to false
. By default, the deserialization of java objects from javaSerializedData
and javaReferenceAddress
attributes is allowed.
This release doesn't correctly identify Windows Server 2022. The property os.name
is set to Windows Server 2019
on Windows Server 2022. In HotSpot error logs the OS is identified as Windows Server 2019
; however, the HotSpot error log does show the Build number. Windows Server 2022 has Build 20348, or above.
The gencert
command of the keytool
utility has been updated to create AKID from the SKID of the issuing certificate as specified by RFC 5280.
The SunPKCS11 security provider can now be initialized with NSS when FIPS-enabled external modules are configured in the Security Modules Database (NSSDB). Before this change, when such a library was configured for NSS in non-FIPS mode, the SunPKCS11 provider would throw a RuntimeException with the message "FIPS flag set for non-internal module".
This change allows the JDK to work properly with recent NSS releases in GNU/Linux operating systems when the system-wide FIPS policy is turned on.
This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.
➜ Issues fixed in 11.0.13:
# | BugId | Component | Subcomponent | Summary |
---|---|---|---|---|
1 | JDK-8264047 | client-libs | 2d | Duplicate global variable 'jvm' in libjavajpeg and libawt |
2 | JDK-8261169 | client-libs | 2d | Upgrade HarfBuzz to the latest 2.8.0 |
3 | JDK-8242557 | client-libs | 2d | Add length limit for strings in PNGImageWriter |
4 | JDK-8265761 | client-libs | 2d | Font with missed font family name is not properly printed on Windows |
5 | JDK-8211055 | client-libs | 2d | Provide print to a file (PDF) feature even when printer was not connected |
6 | JDK-8212040 | client-libs | 2d | Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12 |
7 | JDK-7179006 | client-libs | 2d | [macosx] Print-to-file doesn't work: printing to the default printer instead |
8 | JDK-8256372 | client-libs | 2d | [macos] Unexpected symbol was displayed on JTextField with Monospaced font |
9 | JDK-8262731 | client-libs | 2d | [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print" |
10 | JDK-8262392 | client-libs | 2d | Update Mesa 3-D Headers to version 21.0.3 |
11 | JDK-8273358 | client-libs | 2d | macOS Monterey does not have the font Times needed by Serif |
12 | JDK-8272602 | client-libs | java.awt | [macos] not all KEY_PRESSED events sent when control modifier is used |
13 | JDK-8270216 | client-libs | java.awt | [macOS] Update named used for Java run loop mode |
14 | JDK-8269984 | client-libs | java.awt | [macos] JTabbedPane title looks like disabled |
15 | JDK-8268775 | client-libs | javax.accessibility | Password is being converted to String in AccessibleJPasswordField |
16 | JDK-8190763 | client-libs | javax.swing | Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit() |
17 | JDK-8247753 | client-libs | javax.swing | UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32 |
18 | JDK-8251377 | client-libs | javax.swing | [macos11] JTabbedPane selected tab text is barely legible |
19 | JDK-8232243 | client-libs | javax.swing | Wrong caret position in JTextPane on Windows with a screen resolution > 100% |
20 | JDK-8255227 | core-libs | java.net | java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface |
21 | JDK-8233185 | core-libs | java.net | HttpServer.stop() blocks indefinitely when called on dispatch thread |
22 | JDK-8241786 | core-libs | java.net | Improve heuristic to determine default network interface on macOS |
23 | JDK-8227080 | core-libs | java.nio | (fs) Files.newInputStream(...).skip(n) is slow |
24 | JDK-8227609 | core-libs | java.nio | (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size |
25 | JDK-8226530 | core-libs | java.util.jar | ZipFile reads wrong entry size from ZIP64 entries |
26 | JDK-8215411 | core-svc | some GetByteArrayElements calls miss corresponding Release | |
27 | JDK-8253134 | core-svc | java.lang.management | JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11 |
28 | JDK-8216145 | docs | tools | jarsigner doc is not precise when describing jar file re-signing |
29 | JDK-8265938 | hotspot | compiler | C2's conditional move optimization does not handle top Phi |
30 | JDK-8269795 | hotspot | compiler | C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV |
31 | JDK-8269304 | hotspot | compiler | Regression ~5% in 2005 in b27 |
32 | JDK-8265132 | hotspot | compiler | C2 compilation fails with assert "missing precedence edge" |
33 | JDK-8267424 | hotspot | compiler | CTW: C1 fails with "State must not be null" |
34 | JDK-8223050 | hotspot | compiler | JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods |
35 | JDK-8266288 | hotspot | compiler | assert root method not found in witnessed_reabstraction_in_supers is too strong |
36 | JDK-8268360 | hotspot | compiler | Missing check for infinite loop during node placement |
37 | JDK-8262017 | hotspot | compiler | C2: assert(n != __null) failed: Bad immediate dominator info. |
38 | JDK-8268369 | hotspot | compiler | SIGSEGV in PhaseCFG::implicit_null_check due to missing null check |
39 | JDK-8260653 | hotspot | compiler | Unreachable nodes keep speculative types alive |
40 | JDK-8268366 | hotspot | compiler | Incorrect calculation of has_fpu_registers in C1 linear scan |
41 | JDK-8268347 | hotspot | compiler | C2: nested locks optimization may create unbalanced monitor enter/exit code |
42 | JDK-8258746 | hotspot | compiler | illegal access to global field _jvmci_old_thread_counters by terminated thread causes crash |
43 | JDK-8266615 | hotspot | compiler | C2 incorrectly folds subtype checks involving an interface array |
44 | JDK-8266480 | hotspot | compiler | Implicit null check optimization does not update control of hoisted memory operation |
45 | JDK-8267773 | hotspot | compiler | PhaseStringOpts::int_stringSize doesn't handle min_jint correctly |
46 | JDK-8269745 | hotspot | compiler | [JVMCI] restore original qualified exports to Graal |
47 | JDK-8263227 | hotspot | compiler | C2: inconsistent spilling due to dead nodes in exception block |
48 | JDK-8261147 | hotspot | compiler | C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions |
49 | JDK-8268362 | hotspot | compiler | [REDO] C2 crash when compile negative Arrays.copyOf length after loop |
50 | JDK-8264016 | hotspot | compiler | [JVMCI] add some thread local fields for use by JVMCI |
51 | JDK-8210063 | hotspot | gc | ZGC: Enable load barriers for IN_NATIVE runtime barriers |
52 | JDK-8264640 | hotspot | gc | CMS ParScanClosure misses a barrier |
53 | JDK-8245511 | hotspot | gc | G1 adaptive IHOP does not account for reclamation of humongous objects by young GC |
54 | JDK-8246274 | hotspot | gc | G1 old gen allocation tracking is not in a separate class |
55 | JDK-8269768 | hotspot | jfr | JFR Terminology Refresh |
56 | JDK-8191521 | hotspot | runtime | handle long relative path specified in -Xbootclasspath/a on windows |
57 | JDK-8231885 | hotspot | runtime | Fix/remove malformed assert in os_windows.cpp |
58 | JDK-8231930 | hotspot | runtime | Windows build fails after JDK-8191521 |
59 | JDK-8262163 | hotspot | runtime | Extend settings printout in jcmd VM.metaspace |
60 | JDK-8253572 | hotspot | runtime | [windows] CDS archive may fail to open with long file names |
61 | JDK-8211296 | hotspot | runtime | Remove HotSpot deprecation warning suppression for Mac/clang |
62 | JDK-8024368 | hotspot | runtime | private methods are allocated vtable indices |
63 | JDK-8266642 | hotspot | runtime | Improve ResolvedMethodTable hash function |
64 | JDK-8267396 | hotspot | runtime | Avoid recording "pc" in unhandled oops detector for better performance |
65 | JDK-8227766 | hotspot | runtime | CheckUnhandledOops is broken in MemAllocator |
66 | JDK-8218145 | hotspot | runtime | block_if_requested is not proper inlined due to size |
67 | JDK-8267235 | hotspot | runtime | [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash |
68 | JDK-8268635 | hotspot | runtime | Corrupt oop in ClassLoaderData |
69 | JDK-8266404 | hotspot | runtime | Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report |
70 | JDK-8269594 | hotspot | runtime | assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark |
71 | JDK-8212992 | hotspot | runtime | Change mirror accessor in Klass::verify_on() to use AS_NO_KEEPALIVE |
72 | JDK-8227815 | hotspot | svc | Minimal VM: set_state is not a member of AttachListener |
73 | JDK-8266473 | install | install | javapath/java.exe strips double quotes from command line args |
74 | JDK-8218618 | security-libs | java.security | Program fails when using JDK addressed by UNC path and using Security Manager |
75 | JDK-8257497 | security-libs | java.security | Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280 |
76 | JDK-8225082 | security-libs | java.security | Remove IdenTrust certificate that is expiring in September 2021 |
77 | JDK-8236671 | security-libs | javax.crypto | NullPointerException in JKS keystore |
78 | JDK-8238555 | security-libs | javax.crypto:pkcs11 | Allow initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB |
79 | JDK-8163326 | security-libs | javax.net.ssl | Update the default enabled cipher suites preference |
80 | JDK-8259886 | security-libs | javax.net.ssl | Improve SSL session cache performance and scalability |
81 | JDK-8255255 | security-libs | javax.xml.crypto | Update Apache Santuario (XML Signature) to version 2.2.1 |
82 | JDK-8265773 | tools | incorrect jdeps message "jdk8internals" to describe a removed JDK internal API | |
83 | JDK-8207160 | tools | javac | ClassReader::adjustMethodParams can potentially return null if the args list is empty |
84 | JDK-8177068 | tools | javac | incomplete classpath causes NPE in Flow |
85 | JDK-8210495 | tools | javac | compiler crashes because of illegal signature in otherwise legal code |
86 | JDK-8241353 | tools | javac | NPE in ToolProvider.getSystemJavaCompiler |
87 | JDK-8263432 | tools | javac | javac may report an invalid package/class clash on case insensitive filesystems |
88 | JDK-8265524 | tools | javadoc(tool) | Upgrading JSZip from v3.2.2 to v3.6.0 |
89 | JDK-8272180 | tools | javadoc(tool) | Upgrade JSZip from v3.6.0 to v3.7.1 |
90 | JDK-8260690 | tools | jconsole | JConsole User Guide Link from the Help menu is not accessible by keyboard |
91 | JDK-8239536 | tools | jshell | Can't use `java.util.List` object after importing `java.awt.List` |
92 | JDK-8242919 | tools | jshell | Paste locks up jshell |
93 | JDK-8247403 | tools | jshell | JShell: No custom input (e.g. from GUI) possible with JavaShellToolBuilder |