java

JDK 8u511 Release Notes

Java SE 8u511 - Bundled Patch Release (BPR) - Bug Fixes and Updates

The following sections summarize changes made in all Java SE 8u511 BPR releases. The BPR releases are listed below in date order, most current BPR first. Note that bug fixes in previous BPRs are also included in the current BPR.

 

Changes in Java SE 8u511 b31

The 8u511 b31 BPR is available to all users here.

Bug Fixes

Release date: October 20, 2026
BugId Category Subcategory Summary
JDK-8392377 core-libs java.time (tz) Update Timezone Data to 2026d
JDK-8392519 core-libs java.util:i18n Cherry-pick metazone changes from CLDR for tzdata2026d, for JDK update release
JDK-8393337 core-libs java.time (tz) Update Timezone Data to 2026e
JDK-8393344 core-libs java.util:i18n Cherry-pick metazone changes from CLDR to support tzdata2026e for JDK update releases
JDK-8393612 core-libs java.util:i18n Add British Columbia and Alberta Windows time zone mappings to JDK 8u
JDK-8393848 core-libs java.util:i18n Align the JDK with Microsoft's new timezone name for Manitoba

Java™ SE Development Kit 8, Update 8u511 (JDK 8u511)

Release date: October 20, 2026

The full version string for this update release is 1.8.0_511-b09 (where "b" means "build"). The version number is 8u511. This JDK conforms to version 8.6 of the Java SE Specification (JSR 337 MR 6 2024-07-02).

 

IANA TZ Data 2026e

JDK 8u511 contains IANA time zone data 2026c which contains the following changes since the previous update.

  • Alberta moved to permanent -06 on 2026-06-18.
  • Morocco moves to permanent +00 on 2026-09-20.

For more information, refer to Timezone Data Versions in the JRE Software.

 

Security Baselines

The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 8u511 are specified in the following table:

JRE Family Version JRE Security Baseline (Full Version String)
81.8.0_511-b09

 

Keeping the JDK up to Date

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 8u511) be used after the next critical patch update scheduled for November 17, 2026.

Java Management Service, available to all users, can help you find vulnerable Java versions in your systems. Java SE Subscribers and customers running in Oracle Cloud can use Java Management Service to update Java Runtimes and to do further security reviews like identifying potentially vulnerable third party libraries used by your Java programs. Existing Java Management Service user click here to log in to your dashboard. The Java Management Service Documentation provides a list of features available to everyone and those available only to customers. Learn more about using Java Management Service to monitor and secure your Java Installations.

For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u511) on 2026-12-17. After either condition is met (new release becoming available or expiration date reached), the JRE will provide additional warnings and reminders to users to update to the newer version. For more information, see 23.1.2 JRE Expiration Date in the Java Platform, Standard Edition Deployment Guide.

 

New Features

hotspot/runtime
➜ New Switches to Report hs_err File Contents to stdout or stderr (JDK-8220786)

Two new switches, -XX:+ErrorFileToStdout and -XX:+ErrorFileToStderr, have been added. When either switch is specified and a fatal error occurs, the JVM redirects the crash report content that would normally be written to the hs_err file to stdout or stderr, respectively.

 

Removed Features and Options

javafx/web
➜ WebView Requires a 64-bit JDK (JDK-8390318 (not public))

If a JavaFX application attempts to create a WebView node on a 32-bit JDK, the following exception will be thrown:

java.lang.UnsupportedOperationException: WebView is not supported on this platform

 

Other Notes

security-libs/java.security
➜ Policy for Distrusting Certain TLS Server Certificates has Changed (JDK-8382178 (not public))

All TLS server certificates anchored by Symantec, Entrust, and Camerfirma root CAs are now distrusted, regardless of their issuing date. TLS server certificates anchored by Chunghwa root CAs will be completely distrusted as of April 19, 2027. The jdk.security.caDistrustPolicies security property in the java.security configuration file has been updated to reflect these new policies.

 

javafx/other
➜ JavaFX Prints Runtime Warning About Upcoming Removal (JDK-8361901 (not public))

The following warning is now printed when the JavaFX runtime is initialized:

WARNING: Update releases of JDK 8 after March 2028 will not include JavaFX.

Visit https://www.oracle.com/javase/javafx for details.

This is intended to give notice of the upcoming removal of JavaFX to a wider audience. The runtime warning may be suppressed by setting the javafx.suppress.removal.warning system property, for example:

java -Djavafx.suppress.removal.warning ...

 

core-libs/java.net
➜ HttpServer Validates the Host Request Header (JDK-8386525 (not public))

The com.sun.net.http.HttpServer has been updated to validate the Host request header as described in RFC 9112. HTTP/1.1 requests without a Host header or with multiple Host headers are now rejected with an HTTP 400 Bad Request response.

The validation can be disabled by setting the system property sun.net.httpserver.disableHostValidation to true.

 

core-libs/java.rmi
➜ Java RMI HTTP-to-CGI Tunneling Is Disabled by Default (JDK-8383956 (not public))

The sun.rmi.transport.proxy.CGIHandler class, which provides the server-side Java RMI CGI command handler used for HTTP-to-CGI tunneling, is now disabled by default. This change does not affect RMI connections made directly over TCP or HTTP; it affects deployments that invoke this legacy class to forward tunneled RMI requests to another local port.

Deployments that require HTTP-to-CGI tunneling must pass -Djdk.rmi.server.disableCGI=false to the JVM that invokes sun.rmi.transport.proxy.CGIHandler. The java-rmi.cgi launcher script is no longer included in JDK images on Linux and Solaris, so administrators continuing to use this mechanism must configure a suitable CGI endpoint.

 

core-libs/java.sql
➜ Clarification of WebRowSet.readXml Exception Behavior (JDK-8383301 (not public))

The implementation of the WebRowSet.readXml methods has been updated to consistently report XML parsing and validation failures as SQLException.

WebRowSet.readXml validates XML input against the standard WebRowSet XML schema. Applications should expect malformed XML, schema validation failures, unsupported external entities, and other XML processing errors to be reported as SQLException. Validation can be disabled by setting the system property jdk.sql.rowset.webrowsetValidation to false.

The existing method signatures remain unchanged. No specification changes are included in this update.

 

core-libs/javax.naming
➜ Extend the Scope of com.sun.jndi.ldap.object.trustSerialData System Property to cover RMI and IIOP URL References Obtained From an LDAP Context (JDK-8382407 (not public))

The scope of the com.sun.jndi.ldap.object.trustSerialData system property is extended to cover transparent processing of URL RMI and IIOP References obtained from an LDAP context.

A URL context factory is a special type of ObjectFactory that will be used to look up an object referred to from a JNDI javax.naming.Reference that does not specify any factory name, but contains a simple reference address in the form of a URL string. When deserialization of Java objects from LDAP is disabled, the JDK built-in implementation of the JNDI/LDAP provider will no longer transparently use any URL context factory when processing Reference objects containing a URL reference whose scheme is rmi, iiop, iiopname, and corbaname.

To make it possible to have a finer-grain control over which URL schemes should be disabled when processing URL string reference addresses from the built-in JNDI/LDAP provider, a new system property, jdk.jndi.ldap.disabledURLSchemes, is introduced. The value of this property is a comma-separated list of URL schemes that are disabled. The JDK built-in implementation of the JNDI/LDAP provider will no longer transparently use any URL context factory when processing Reference objects containing a URL reference whose scheme corresponds (case insensitively) to one of the schemes in this list of disabled schemes. The default value for that property is "rmi,iiop,iiopname,corbaname" if trustSerialData is false (the default), and empty if trustSerialData is true. If a custom value for this new property is provided on the Java command line then only schemes listed in that property value are disabled, regardless of the value of trustSerialData.

If rmi is included in this list (resp. iiop, iiopname, or corbaname), which is the default when no custom values have been supplied for com.sun.jndi.ldap.object.trustSerialData or jdk.jndi.ldap.disabledURLSchemes, then a javax.naming.Reference object will be returned to the application instead of the object that would have been created by processing the RMI reference (resp. IIOP reference) and looking up its URL from the context returned by a URL context factory.

An application that depends on following RMI or IIOP URLs contained in a Reference obtained from a JNDI/LDAP context may need to process the Reference object explicitly, or provide a custom value for jdk.jndi.ldap.disabledURLSchemes system property that does not include the rmi scheme (resp. iiop, iiopname, or corbaname schemes).

An application that wants to prevent transparent processing of other kinds of URL schemes can now do so by supplying a custom value for the jdk.jndi.ldap.disabledURLSchemes system property that includes them.

 

javafx/graphics
➜ JavaFX: Deserialization of Object Graphs from the Clipboard Is Disabled by Default (JDK-8383252 (not public))

Deserialization of object graphs is disabled by default when reading data from the clipboard or during drag-and-drop operations. For a custom DataFormat, a directly serialized String is decoded by default; other serialized objects are returned as a ByteBuffer.

Applications can restore the previous ability to deserialize arbitrary object graphs by setting the javafx.dnd.deserializeObjectGraph system property to true.

 

other-libs/corba
➜ New limits for Incoming CORBA Messages and Array Allocations (JDK-8386175 (not public))

The JDK CORBA implementation now limits the size of incoming GIOP messages and the estimated memory required for arrays, or closely related groups of arrays, created while decoding CORBA data.

The following system properties are available:

  • com.sun.CORBA.giop.ORBMaxMessageSize

    Specifies the maximum accepted size, in bytes, of an incoming GIOP message, including message headers and fragments. The default is 16 MiB (16777216).

  • com.sun.CORBA.giop.ORBMaxArrayAllocationSize

    Specifies the maximum estimated size, in bytes, of an individual Java array allocated while unmarshalling incoming CORBA data. The default is 16 MiB (16777216).

The array limit is based on the estimated storage required by the array. Primitive elements use their corresponding primitive size. Java reference array elements are conservatively estimated as eight bytes each. The limit does not represent the total memory consumed by all objects referenced from an array or by all concurrently processed requests.

If the incoming-message limit is exceeded, the JDK ORB rejects the message with an org.omg.CORBA.MARSHAL exception. If an array-allocation limit is exceeded during decoding, unmarshalling fails with MARSHAL.

The properties can be set on the Java command line, for example:

java \

  -Dcom.sun.CORBA.giop.ORBMaxMessageSize=33554432 \
  -Dcom.sun.CORBA.giop.ORBMaxArrayAllocationSize=67108864 \
  Application

They may also be supplied in the Properties passed to ORB.init:

Properties properties = new Properties();

properties.setProperty(
    "com.sun.CORBA.giop.ORBMaxMessageSize", "33554432");
properties.setProperty(
    "com.sun.CORBA.giop.ORBMaxArrayAllocationSize", "67108864");

ORB orb = ORB.init(args, properties);

The properties are independent. For example, an application can retain a 16 MiB incoming-message limit while permitting a compact message to produce a larger decoded array.

These limits apply when the JDK ORB receives data: on servers receiving requests and on clients receiving replies or callbacks. They do not change IDL sequence bounds and are specific to the JDK CORBA implementation.

 

security-libs/java.security
➜ LuxTrust Global Root CA Removed (JDK-8387123)

The following root certificate has been removed from the cacerts keystore:

+ alias name "luxtrustglobalrootca [jdk]"

  Distinguished Name: CN=LuxTrust Global Root, O=LuxTrust s.a., C=LU

 

xml/jaxp
➜ JAXP Templates Class Deserialization Is Disabled (JDK-8384654 (not public))

Deserialization of the com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl class is now disabled by default. (This is an internal class that implements the javax.xml.transform.Templates interface.) An application attempting to deserialize an instance of this class will receive UnsupportedOperationException. To re-enable deserialization of this class, use the command line to set the system property jdk.xml.enableTemplatesImplDeserialization to true. Prior to this change, deserialization was enabled by default, unless the Security Manager was enabled. The state of the Security Manager is no longer considered in determining whether deserialization is enabled.

 

Fixes

This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

The following table lists the bug fixes included in the JDK 8u511 release:

# BugId Component Summary
1JDK-8300167client-libs/2dAdd validation of the raster's layout before using in native
2JDK-8384902client-libs/java.awtUpdate GIFlib to 6.1.3
3JDK-8384495client-libs/java.awtUpdate Libpng to 1.6.58
4JDK-8270915client-libs/javax.imageioGIFImageReader disregards ignoreMetadata flag which causes memory exhaustion
5JDK-8365625client-libs/javax.swingCan't change accelerator colors in Windows L&F
6JDK-8377992core-libs/java.nio(zipfs) Align ZipFileSystem END header validation with the ZipFile implementation
7JDK-8341625core-libs/java.util.jarImprove ZipFile validation of the END header
8JDK-8381379core-libs/java.util:i18nSupport std/dstOffset attributes in CLDR's metazone definitions
9JDK-8390388core-libs/java.util:i18nCherry-pick tz attributes from newer CLDR data for jdk25u and earlier
10JDK-8390380core-libs/java.util:i18nCherry-pick metazone changes from CLDR to support tzdata2026c for JDK update releases
11JDK-8240576hotspot/compilerJVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
12JDK-8264640hotspot/gcCMS ParScanClosure misses a barrier
13JDK-8260349hotspot/runtimeCannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS
14JDK-8194652hotspot/runtimeVMError::print_native_stack() is missing an os::is_first_C_frame() check
15JDK-8295974hotspot/runtimejni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
16JDK-8240341hotspot/runtimeremove unneeded casts from 8u backport of JDK-8152856
17JDK-8146222hotspot/runtime assert(_initialized) failed: TLS not initialized yet!
18JDK-8273153hotspot/runtimeConsolidate file_exists into os:file_exists
19JDK-8239114hotspot/runtime[8u] clean up remaining dynamic-class-memaccess warnings in HotSpot
20JDK-8364106hotspot/runtimeInclude java.runtime.version in thread dump output
21JDK-8261242hotspot/runtime[Linux] OSContainer::is_containerized() returns true when run outside a container
22JDK-8302744hotspot/runtimeRefactor Hotspot container detection code
23JDK-8379561javafx/mediaRemove UNICODE related code from GLib
24JDK-8384809javafx/mediaUpdate GStreamer to 1.28.3
25JDK-8384522javafx/webUpdate libxml2 to 2.15.3
26JDK-8386859javafx/webWebView crashes when calling document.startViewTransition()
27JDK-8391823javafx/webIntermittent WebView crash when running TextureMapperTest
28JDK-8390652javafx/webAdditional WebKit 625.1 fixes from WebKitGTK 2.52.6
29JDK-8388451javafx/webAdditional WebKit 625.1 fixes from WebKitGTK 2.52.5
30JDK-8380556javafx/webUpdate WebKit to 625.1
31JDK-8389783javafx/window-toolkitCrash in JavaFX native glass toolkit during Timer shutdown
32JDK-8267617security-libs/java.securityCertificate's IP x509 NameConstraints raises ArrayIndexOutOfBoundsException
33JDK-8381771security-libs/java.securityAdd a check for DNS label not to end with a hyphen
34JDK-8325680security-libs/org.ietf.jgssUninitialised memory in deleteGSSCB of GSSLibStub.c:179