Java JRE Changelog

What's new in Java JRE 8 Build 411

Apr 19, 2024
  • IANA TZ Data 2024a:
  • JDK 8u411 contains IANA time zone data 2024a which contains the following changes:
  • Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
  • Vostok, Antarctica changed time zones on 2023-12-18.
  • Casey, Antarctica changed time zones five times since 2020.
  • Code and data fixes for Palestine timestamps starting in 2072.
  • A new data file zonenow.tab for timestamps starting now.
  • Kazakhstan unifies on UTC+5 beginning 2024-03-01.
  • Palestine springs forward a week later after Ramadan.
  • zic no longer pretends to support indefinite-past DST.
  • localtime no longer mishandles Ciudad Juárez in 2422.
  • New Features:
  • security-libs/javax.crypto:
  • Update XML Security for Java to 3.0.3 (JDK-8319124)
  • The XML Signature implementation has been updated to Santuario 3.0.3. Support for four new SHA-3 based RSA-MGF1 signature methods have been added: SHA3_224_RSA_MGF1, SHA3_256_RSA_MGF1, SHA3_384_RSA_MGF1, and SHA3_512_RSA_MGF1. While these new algorithm URIs are not defined in javax.xml.crypto.dsig.SignatureMethod in the JDK update releases, they may be represented as string literals in order to be functionally equivalent. SHA-3 hash algorithm support was delivered to JDK 9 via JEP 287. Releases earlier than that may use third party security providers.
  • Additionally, support for the following EdDSA signatures has been added: ED25519 and ED448. While these new algorithm URIs are not defined in javax.xml.crypto.dsig.SignatureMethod in the JDK Update releases, they may be represented as string literals in order to be functionally equivalent. The JDK supports EdDSA since JDK 15. Releases earlier than that may use 3rd party security providers. One other difference is that the JDK still supports the here() function by default. However, we recommend avoiding the use of the here() function in new signatures and replacing existing signatures that use the here() function. Future versions of the JDK will likely disable, and eventually remove, support for this function, as it cannot be supported using the standard Java XPath API. Users can now disable the here() function by setting the security property jdk.xml.dsig.hereFunctionSupported to "false".

New in Java JRE 8 Build 371 (Apr 19, 2023)

  • IANA TZ Data 2022g
  • JDK 8u371 contains IANA time zone data 2022g which contains the following changes since the previous update:
  • The northern edge of Chihuahua changes to US timekeeping.
  • Much of Greenland stops changing clocks after March 2023.
  • Fix some pre-1996 timestamps in northern Canada.
  • C89 is now deprecated; please use C99 or later.
  • Portability fixes for AIX, libintl, MS-Windows, musl, z/OS.
  • In C code, use more C23 features if available.
  • C23 timegm now supported by default.
  • Fixes for unlikely integer overflows.
  • Keeping the JDK up to Date:
  • Oracle recommends that the JDK is updated with each Critical Patch Update. Use the Security Baseline page to determine 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 to use this JDK (version 8u371) after the next critical patch update release, scheduled for July 18, 2023.
  • Java SE Subscription customers managing JRE updates/installs for large number of desktops should consider using Java Advanced Management Console (AMC).
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u371) on 2023-08-18. 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:
  • Security-libs/org.ietf.jgss
  • ➜ Added a Default Native GSS-API Library on Windows (JDK-6722928)
  • A native GSS-API library named sspi_bridge.dll has been added to the JDK on the Windows platform. The library is client-side only and uses the default credentials. It will be loaded when the sun.security.jgss.native system property is set to "true". A user can still load a third-party native GSS-API library by setting the sun.security.jgss.lib system property to its path.
  • Native GSS automatically uses cached credentials from operating systems, thus the javax.security.auth.useSubjectCredsOnly system property should be set to false.
  • Com.sun.security.auth.module.Krb5LoginModule does not call native JGSS. Avoid using com.sun.security.auth.module.Krb5LoginModule from JAAS config.
  • Removed Features and Options:
  • Other-libs
  • ➜ javax.script Engine Implementation and com.apple.concurrent.Dispatch Are Removed for macOS AArch64 (JDK-8297475)
  • The AppleScript engine implementing the javax.script engine API has been removed without replacement. The AppleScript engine has worked inconsistently. The services configuration (META-INF/services) file was missing and only worked by accident when installing JDK 7 or JDK 8 on systems that had Apple's version of AppleScriptEngine.jar already on the system.
  • The com.apple.concurrent.Dispatch API was a Mac-only API. It was carried into JDK 7u4 with the port of Apple's JDK 6 code. Developers are encouraged to use the standard java.util.concurrent.Executor and java.util.concurrent.ExecutorService APIs instead.
  • Known Issues:
  • Install/install
  • ➜ Installation of Oracle Linux Specific x64 JDK RPMs Pulls in i686 Dependencies (JDK-8297475 (Not Public))
  • This issue prevents yum from automatically installing the correct packages required by Oracle Linux specific x86_64 headless and headful JDK packages. Instead of x86_64 packages, it will install i686 packages. To workaround the issue, you may manually install packages with the same names as indicated by yum but with the x86_64 architecture.
  • After you have the x86_64 headless and/or headful jdk packages installed, you can get the list of required x86_64 packages by running the following script:
  • Rpm -qa | grep -E -e '^jdk-.*-headful-.*.x86_64$' -e '^jdk-.*-headless-.*.x86_64$' | xargs -r rpm -q --requires | sort -u | cut -d ' ' -f 1 | grep -v '^rpmlib' | xargs -r rpm -q --whatprovides | sort -u | grep -e '.i[3456]86$' | xargs -r rpm -q --queryformat '%{name}.x86_64n' | xargs -r echo
  • It will output a space-separated list of names of required x86_64 packages to stdout. You can pass this list to a sudo yum install command to ensure the installation of the required packages.
  • Other Notes:
  • Client-libs/javax.swing
  • ➜ System Property to Handle HTML ObjectView Creation (JDK-8296832 (Not Public))
  • Some Swing components, such as JLabels and JButtons, which display application text, will try to interpret that text as HTML, principally to enable styled text. The HTML processing of the text for these components will no longer recognize the <object> tag which allows for subclasses of java.awt.Component to be rendered on the component. To re-enable this, applications must specify -Dswing.html.object=true.
  • Install/install
  • ➜ RPM JDK Installer Changes (JDK-8292838)
  • The installation directory name of the Oracle JRE in an RPM package has changed from /usr/java/jre-1.8.0_${UPDATE}-${ARCH} to /usr/lib/jvm/jre-1.8-oracle-${ARCH}. The installation directory name of the Oracle JDK in an RPM package has changed from /usr/java/jdk-1.8.0_${UPDATE}-${ARCH} to /usr/lib/jvm/jdk-1.8-oracle-${ARCH}. Thus the 8u371 and 8u381 releases of JDK for x64 will both be installed in the /usr/lib/jvm/jdk-1.8-oracle-x64 directory and the JRE for x64 will both be installed in the /usr/lib/jvm/jre-1.8-oracle-x64 directory. Both JDK and JRE RPM packages will create /usr/java/jdk-1.8.0-${ARCH} and /usr/java/jre-1.8.0-${ARCH} links respectively pointing to the installation directories for backward compatibility.
  • For the x86_64 platform, the value of the ${ARCH} suffix has changed from amd64 to x64. For the x86_32 platform, the value of the ${ARCH} has changed from i586 to x86.
  • The JRE RPM package name has changed from jre1.8 to jre-1.8 to make it consistent with other release families. To prevent confusion between the old and new naming patterns, the new package cannot be upgraded using a single "rpm -i ..." or "rpm -U ..." command. Please uninstall the old JRE and then install the new JRE. For example, sudo rpm -e jre1.8; sudo rpm -i jre-8u371-linux-x64.rpm. The JDK RPM package name has changed from jdk1.8 to jdk-1.8 to make it consistent with other release families. To prevent confusion between the old and new naming patterns, the new package cannot be upgraded using a single "rpm -i ..." or "rpm -U ..." command. Please uninstall the old JDK and then install the new JDK. For example, sudo rpm -e jdk1.8; sudo rpm -i jdk-8u371-linux-x64.rpm.
  • Communication with the alternatives framework for the JDK RPM package has changed. JDK RPM packages of prior versions registered a single java group of commands with the alternatives framework. The JDK 1.8 RPM package registers java and javac groups with the alternatives framework. The java group is for commands used to run applications: java, javaws, jcontrol, jjs, keytool, orbd, pack200, policytool, rmic, rmid, rmiregistry, servertool, tnameserv, unpack200. The javac group is used for all other commands. The set of commands registered by the package has not changed.
  • Three new Oracle Linux (OL)-specific JDK RPM packages have been added: jdk-1.8-headless, jdk-1.8-headful, and jre-1.8-headful. These packages are available in OL7, OL8, and OL9 repositories. They are not available for download from oracle.com.
  • Jdk-1.8-headless is a Headless Java Runtime for running non-GUI applications.
  • Jdk-1.8-headful is a Headful Java Runtime with Development Tools for developing and running applications of all types.
  • Jre-1.8-headful is a Headful Java Runtime for running applications of all types.
  • The combination of the OL-specific jdk-1.8-headless and jdk-1.8-headful packages provides the same JDK image and the same capabilities as the jdk-1.8 oracle.com package. The jre-1.8-headful package provides the same JRE image and the same capabilities as the jre-1.8 oracle.com package. OL-specific JDK and JRE RPM packages specify required capabilities, and the "Release" property of these packages has a %{dist} suffix. The value of the Release property of all RPM packages contains the value of the build number instead of the milestone.
  • Install/install
  • ➜ Disable Side-by-Side Installations of Multiple JDK Updates in Windows JDK Installers (JDK-8292824)
  • Windows JDK installers must install the Oracle JDK in %Program Files%Javajdk-%FEATURE% instead of %Program Files%Javajdk-%VNUM%. That is, all updates of the same release must share one installation directory. It will not be possible to install older versions of a family if there is a newer JRE of that family already installed.
  • Thus the JDK 8u371 and JDK 8u381 releases will both install into %Program Files%Javajdk-1.8 by default, and they both cannot be installed at the same time.
  • If the JDK 8u381 installer is launched when JDK 8u371 is already installed, it will auto-upgrade the existing installation to JDK 8u381. There may be a Files In Use dialog shown if the older version was running and locking JDK files.
  • If the JDK 8u371 installer is launched when JDK 8u381 is already installed, it will show an error that a newer version of this JDK family is already installed.
  • The JRE will show the same behavior as the JDK, but it will be installed into %Program Files%Javajre-1.8.
  • There is a current issue if you install 8u371, and then install 8u361. The java -version may incorrectly show 8u361 as the default. The workaround is to uninstall both and reinstall the JRE version you need.
  • Install/install
  • ➜ All JDK Update Releases Are Installed into the Same Directory on macOS (JDK-8292832)
  • The Oracle JDK installation directory name will be changed from /Library/Java/JavaVirtualMachines/jdk1.8.0_${UPDATE}.jdk to /Library/Java/JavaVirtualMachines/jdk-1.8.jdk. Thus the 8u371 and 8u381 releases will both install into the /Library/Java/JavaVirtualMachines/jdk-1.8.jdk installation directory. Installing an older JDK update release will log an error, and not install the JDK, if a newer version of the same feature release already exists. An error dialog will be shown except in the case of a silent installation. JDK 8 update releases shipped prior to this release, JDK 8u371, will not be uninstalled during installation of JDK 8u371 or later.
  • Security-libs/java.security
  • ➜ Added Certigna(Dhimyotis) Root CA Certificate (JDK-8245654)
  • The following root certificate has been added to the cacerts truststore:
  • Certigna (Dhimyotis)
  • Certignarootca
  • DN: CN=Certigna, O=Dhimyotis, C=FR
  • Security-libs/javax.net.ssl
  • ➜ Removed SSLv2Hello and SSLv3 From Default Enabled TLS Protocols (JDK-8190492)
  • SSLv2Hello and SSLv3 have been removed from the default enabled TLS protocols.
  • After this update, if SSLv3 is removed from the jdk.tls.disabledAlgorithms security property, the SSLSocket.getEnabledProtocols(), SSLServerSocket.getEnabledProtocols(), SSLEngine.getEnabledProtocols() and SSLParameters.getProtocols() APIs will return "TLSv1.3, TLSv1.2, TLSv1.1, TLSv1". "SSLv3" will not be returned in this list.
  • If a client or server still needs to use the SSLv3 protocol they can do so by enabling it through the jdk.tls.client.protocols or jdk.tls.server.protocols system properties or with the SSLSocket.setEnabledProtocols(), SSLServerSocket.setEnabledProtocols() and SSLEngine.setEnabledProtocols() APIs.
  • Hotspot/runtime
  • ➜ JVM May Fail to Initialize on Some cgroups v1 Systems (JDK-8302716)
  • After updating to JDK 8u361, applications failed to start, with multiple Exceptions being thrown, ultimately identified by a java.lang.ArrayIndexOutOfBoundsException occurring at jdk.internal.platform.cgroupv2.CgroupV2Subsystem.initSubsystem.
  • The JVM sometimes failed to initialize on Linux systems where /proc/self/mountinfo does not contain any mounted filesystem or controllers for cgroup.
  • For background information, see also My Oracle Support see KM Doc ID 2923131.1.
  • Infrastructure
  • ➜ Toolchain Upgrade to Visual Studio 2022 (JDK-8283723)
  • As part of ongoing maintenance, the JDK for Windows is built using the Microsoft Visual Studio 2022 toolchain starting with this release.
  • If you have issues with a Java application and if you have native or JNI libraries that are compiled with a different release of the compiler, then you must consider compatibility issues between the runtimes. Specifically, your environment is supported only if you follow the Microsoft guidelines when dealing with multiple runtimes. More information can be found in “C++ binary compatibility between Visual Studio versions”.
  • Security-libs/java.security
  • ➜ Crypto-J Exception for Diffie-Hellman and DSA AlgorithmParameters Requests (JDK-8278027)
  • Applications using the Dell BSAFE Crypto-J 3rd party security provider may encounter an IOException if decoding DH or DSA algorithm parameters with the following exception:
  • Exception in thread "main" java.io.IOException: Could not decode parameters. at com.rsa.cryptoj.o.ms.engineInit(Unknown Source) at java.security.AlgorithmParameters.init(AlgorithmParameters.java:293)
  • Dell BSAFE Crypto-J version 6.2.6.2 has been released to address this issue. Applications using this provider should upgrade to that version or later. For applications on older versions of this provider, an interoperability fix has been added to this release of the JDK.
  • Bug fixes:
  • JNI exception pending in awt_GraphicsEnv.c:1432
  • Client-libs/java.awt java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
  • Overzealous check in sizecalc.h prevents large memory allocation
  • Update Libpng to 1.6.38
  • URLPermission constructor exception when using tr locale
  • URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378
  • Java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
  • Update Zlib Data Compression Library to Version 1.2.13
  • Update IANA Language Subtag Registry to Version 2022-08-08
  • Update IANA Language Subtag Registry to Version 2022-03-02
  • ISO 4217 Amendment 174 Update
  • Loop unswitching may cause dependence on null check to be lost
  • AArch64: C1 and C2 volatile accesses are not sequentially consistent
  • C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"
  • C2 crashes with SIGFPE due to division by zero
  • Moving predicate out of loops may cause array accesses to bypass null check
  • C2 crashes with assert(field != __null) failed: missing field
  • C2 crashes at ciObject::get_oop() const+0x0
  • Hotspot/gc Reference discovery is confused about atomicity and degree of parallelism
  • Hotspot/runtime Remove CPU-dependent code in self-patching vtables
  • Hotspot/runtime Add ResourceHashtable support for deleting selected entries
  • Hotspot/runtime [cgroups v2] Account for the fact that swap accounting is disabled on some systems
  • Hotspot/runtime Cgroups: Incorrect detection logic on old systems in hotspot
  • Hotspot/runtime Cgroups: Incorrect detection logic on some systems
  • Hotspot/runtime NoClassDefFoundError omits original ExceptionInInitializerError
  • Hotspot/runtime VS2017 Complains about UINTPTR_MAX definition in globalDefinitions_VisCPP.hpp
  • Hotspot/runtime Remove unimplemented OSContainer::read_memory_limit_in_bytes
  • Hotspot/runtime HotSpot Not Identifying it is Running in a Container
  • Hotspot/runtime Cgroup: 'stomping of _mount_path' crash if manually mounted cpusets exist
  • 3hotspot/runtime CompressedClassPointers.java fails on macos-aarch64
  • Hotspot/runtime Improve the readability of container information in the error log
  • Hotspot/runtime Include virtualization information in hs_err crash log on Solaris
  • Hotspot/runtime Include LD_HWCAP in hs_err log output
  • Install/install /usr/java/latest points to wrong JDK
  • Install/install /usr/java/latest is missing after one of JDK rpms is uninstalled
  • Javafx/controls Performance issue when scrolling ListView due to excess CSS processing
  • Javafx/media Provide media support for libavcodec version 59
  • Javafx/media Allow building of JavaFX media libs for Apple Silicon
  • Javafx/web Opacity in WebView not working anymore
  • Javafx/web Update SQLite to 3.39.4
  • Javafx/web Webview loaded webpage is not showing play, volume related buttons for embeded Audio/Video elements
  • Javafx/web Video distortion is observed while playing youtube video
  • Javafx/web HTML default Range input control not rendered
  • Javafx/web [linux] Crash on exit from WebKit 615.1
  • Javafx/web Cherry-pick WebKit 615.1 stabilization fixes (2)
  • Javafx/web Cherry-pick WebKit 615.1 stabilization fixes
  • Javafx/web Update WebKit to 615.1
  • Security-libs/java.security Improve OID mapping and reuse among JDK security providers for aliases registration
  • Security-libs/java.security KeyFactory.generatePublic( x509Spec ) failed with java.security.InvalidKeyException
  • Security-libs/java.security Cannot use '-Djava.system.class.loader' with class loader in signed JAR
  • Security-libs/org.ietf.jgss Port the native GSS-API bridge to Windows
  • Security-libs/org.ietf.jgss Wrong length compared in SSPI bridge
  • Security-libs/org.ietf.jgss Newly added sspi.cpp in JDK-6722928 still contains some small errors
  • Tools/launcher jexec fails to execute simple helloworld.jar

New in Java JRE 8 Build 361 (Jan 19, 2023)

  • IANA TZ Data 2022d, 2022e, 2022f:
  • JDK 8u361 contains IANA time zone data 2022d, 2022e, 2022f.
  • Palestine transitions are now Saturdays at 02:00.
  • Simplify three Ukraine zones into one.
  • Jordan and Syria switch from +02/+03 with DST to year-round +03.
  • Mexico will no longer observe DST except near the US border.
  • Chihuahua moves to year-round -06 on 2022-10-30.
  • Fiji no longer observes DST.
  • Move links to 'backward'.
  • In vanguard form, GMT is now a Zone and Etc/GMT a link.
  • Zic now supports links to links, and vanguard form uses this.
  • Simplify four Ontario zones.
  • Fix a Y2438 bug when reading TZif data.
  • Enable 64-bit time_t on 32-bit glibc platforms.
  • Omit large-file support when no longer needed.
  • In C code, use some C23 features if available.
  • Remove no-longer-needed workaround for Qt bug 53071.
  • New Features:
  • Security-libs/java.security
  • Support for RSASSA-PSS in OCSP Response (JDK-8274471)
  • An OCSP response signed with the RSASSA-PSS algorithm is now supported.
  • Other Notes:
  • Javafx/fxml
  • FXML JavaScript Engine Disabled by Default (JDK-8294779 (not public))
  • The “JavaScript script engine” for FXML is now disabled by default. Any .fxml file that has a "javascript" Processing Instruction (PI) will no longer load by default, and an exception will be thrown.
  • It can be enabled by setting the system property: -Djavafx.allowjs=true
  • Core-libs/java.lang
  • Incorrect Handling of Quoted Arguments in ProcessBuilder (JDK-8282008)
  • ProcessBuilder on Windows is restored to address a regression caused by JDK-8250568. Previously, an argument to ProcessBuilder that started with a double-quote and ended with a backslash followed by a double-quote was passed to a command incorrectly and may cause the command to fail. For example the argument "C:\Program Files", would be seen by the command with extra double-quotes. This update restores the long standing behavior that does not treat the backslash before the final double-quote specially.
  • Core-libs/java.net
  • Make HttpURLConnection Default Keep Alive Timeout Configurable (JDK-8278067)
  • Two system properties have been added which control the keep alive behavior of HttpURLConnection in the case where the server does not specify a keep alive time. Two properties are defined for controlling connections to servers and proxies separately. They are http.keepAlive.time.server and http.keepAlive.time.proxy respectively. More information about them can be found in Networking Properties.
  • Tools/visualvm
  • VisualVM tool no longer bundled (JDK-8294184)
  • Bug Fixes:
  • X11 default visual support for IM status window on VNC
  • Check ZALLOC return values in awt coding
  • Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
  • Last column cell in the JTable row is read as empty cell
  • RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
  • RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
  • ISO 4217 Amendment 173 Update
  • Jdb does not include jdk.* in the default class filter
  • Jcmd started by "root" must be allowed to access all VM processes
  • Document jdk.xml.xpathExprGrpLimit, jdk.xml.xpathExprOpLimit, and jdk.xml.xpathTotalOpLimit in the JAXP Security Guide
  • JDK 8 man page incorrectly states -XX:ThreadStackSize=size sets the thread stack size (in bytes).
  • C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal
  • C1: assert(is_virtual()) failed: type check
  • [AOT] assert(false) failed: DEBUG MESSAGE: InterpreterMacroAssembler::call_VM_base: last_sp != NULL
  • IGV: enhance default filters
  • NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type")
  • Jni crashes on accessing it from process exit hook
  • Cgroups v2: Container awareness
  • Add diagnostic command VM.info to get hs_err print-out
  • [cgroups v2] Soft memory limit incorrectly using memory.high
  • [cgroups v2] Memory and swap limits reported incorrectly
  • AArch64: Regression: JVM crashes if manually offline a core
  • Do not use CPU Shares to compute active processor count
  • Jstat prints debug message when debugging is disabled
  • Generating prelink cache breaks JAVA 'jinfo' utility normal behaviour
  • [Win] [Accessibility, Dialogs] Alert Dialog content is not fully read by Screen Reader
  • [Accessibility] [Win] [Narrator] Exceptions with TextArea & TextField when deleted last char
  • Wrong position of focus of screen reader on Windows with screen scale > 1
  • [Accessibility] [Win] [Narrator] Exceptions When Deleting Text with Continuous Key Press in TextArea and TextField
  • Update JPEG Image Decoding Software to 9e
  • Loading new Media from resources can sometimes fail when loading from FXML
  • Update ICU4C to 71.1
  • Improve "keytool -printcert -jarfile" output
  • Sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368

New in Java JRE 8 Build 351 (Oct 26, 2022)

  • New Features:
  • Security-libs/java.security
  • Upgrade the Default PKCS12 MAC Algorithm (JDK-8267880)
  • The default MAC algorithm used in a PKCS #12 keystore has been updated. The new algorithm is based on SHA-256 and is stronger than the old one based on SHA-1. See the security properties starting with keystore.pkcs12 in the java.security file for detailed information.
  • The new SHA-256 based MAC algorithms were introduced in the 11.0.12, 8u301, and 7u311 JDK versions. Keystores created using this newer, stronger, MAC algorithm cannot be opened in JDK versions earlier than 11.0.12, 8u301, and 7u311. A 'java.security.NoSuchAlgorithmException' exception will be thrown in such circumstances.
  • For compatibility, use the keystore.pkcs12.legacy system property, which will revert the algorithms to use the older, weaker algorithms. There is no value defined for this property.
  • Hotspot/runtime
  • Os::set_native_thread_name() cleanups (JDK-7102541)
  • On platforms that support the concept of a thread name on their native threads, the java.lang.Thread.setName() method will also set that native thread name. However, this will only occur when called by the current thread, and only for threads started through the java.lang.Thread class (not for native threads that have attached via JNI). The presence of a native thread name can be useful for debugging and monitoring purposes. Some platforms may limit the native thread name to a length much shorter than that used by the java.lang.Thread, which may result in some threads having the same native name.
  • Other Notes:
  • Enable Java Access Bridge Check Box Option in Control Panel Is Not Available with JDK 11 Installer (JDK-8208637)
  • The Java Access Bridge checkbox in the Windows Control Panel is not available in JDK11. This registration was part of the public JRE installation.
  • However, Java Access Bridge can still be enabled and disabled by following these steps:
  • Copy %JAVAHOME%binwindowsaccessbridge-64.dll to %WINDOWSHOME%SYSTEM32. A reboot might be required after this step.
  • Run %JAVAHOME%binjabswitch /enable and %JAVAHOME%binjabswitch /disable.
  • Note: %WINDOWSHOME% is the directory where Microsoft Windows is installed (for example, C:WINDOWS) %JAVAHOME% is the directory where your JDK is installed (for example, C:Program FilesJavajdk-11)
  • Security-libs/java.security
  • Disabled SHA-1 Signed JARs (JDK-8269039)
  • JARs signed with SHA-1 algorithms are now restricted by default and treated as if they were unsigned. This applies to the algorithms used to digest, sign, and optionally timestamp the JAR. It also applies to the signature and digest algorithms of the certificates in the certificate chain of the code signer and the Timestamp Authority, and any CRLs or OCSP responses that are used to verify if those certificates have been revoked. These restrictions also apply to signed JCE providers.
  • To reduce the compatibility risk for JARs that have been previously timestamped, there is one exception to this policy:
  • Any JAR signed with SHA-1 algorithms and timestamped prior to January 01, 2019 will not be restricted.
  • This exception may be removed in a future JDK release. To determine if your signed JARs are affected by this change, run jarsigner -verify -verbose -certs on the signed JAR, and look for instances of "SHA1" or "SHA-1" and "disabled" and a warning that the JAR will be treated as unsigned in the output.
  • For example:
  • Signed by "CN="Signer""
  • Digest algorithm: SHA-1 (disabled)
  • Signature algorithm: SHA1withRSA (disabled), 2048-bit key
  • WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:
  • Jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01
  • JARs affected by these new restrictions should be replaced or re-signed with stronger algorithms.
  • Users can, at their own risk, remove these restrictions by modifying the java.security configuration file (or override it by using the java.security.properties system property) and removing "SHA1 usage SignedJAR & denyAfter 2019-01-01" from the jdk.certpath.disabledAlgorithms security property and "SHA1 denyAfter 2019-01-01" from the jdk.jar.disabledAlgorithms security property.
  • Security-libs/org.ietf.jgss:krb5
  • Deprecate 3DES and RC4 in Kerberos (JDK-8139348)
  • The des3-hmac-sha1 and rc4-hmac Kerberos encryption types (etypes) are now deprecated and disabled by default. Users can set allow_weak_crypto = true in the krb5.conf configuration file to re-enable them (along with other weak etypes including des-cbc-crc and des-cbc-md5) at their own risk. To disable a subset of the weak etypes, users can list preferred etypes explicitly in any of the default_tkt_enctypes, default_tgs_enctypes, or permitted_enctypes settings.
  • Core-libs/java.lang
  • Phantom references are automatically cleared as soft and weak references (JDK-8071507)
  • This enhancement changes phantom references to be automatically cleared by the garbage collector as soft and weak references.
  • An object becomes phantom reachable after it has been finalized. This change may cause the phantom reachable objects to be GC'ed earlier - previously the referent is kept alive until PhantomReference objects are GC'ed or cleared by the application. This potential behavioral change might only impact existing code that would depend on PhantomReference being enqueued rather than when the referent be freed from the heap.
  • Core-libs/java.lang
  • Java.lang.ref.Reference.enqueue method clears the reference object before enqueuing (JDK-8175797)
  • Java.lang.ref.Reference.enqueue method clears the reference object before it is added to the registered queue. When the enqueue method is called, the reference object is cleared and get() method will return null in JDK 9.
  • Typically when a reference object is enqueued, it is expected that the reference object is cleared explicitly via the clear method to avoid memory leak because its referent is no longer referenced. In other words the get method is expected not to be called in common cases once the enqueuemethod is called. In the case when the get method from an enqueued reference object and existing code attempts to access members of the referent, NullPointerException may be thrown. Such code will need to be updated.
  • Core-libs/java.lang
  • Java.lang.ref.Reference Does Not Support Cloning (JDK-8201793)
  • Java.lang.ref.Reference::clone method always throws CloneNotSupportedException. Reference objects cannot be meaningfully cloned. To create a new Reference object, call the constructor to create a Reference object with the same referent and reference queue instead.
  • Core-libs/java.time
  • Update Timezone Data to 2022c (JDK-8294042)
  • This version includes changes from 2022b that merged multiple regions that have the same timestamp data post-1970 into a single time zone data. All time zone IDs remain the same but the merged time zones will point to a shared zone data.
  • As a result, pre-1970 data may not be compatible with earlier JDK versions. The affected zones are Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake, Pacific/Wallis, Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape, Pacific/Truk, and Pacific/Yap.

New in Java JRE 8 Build 341 (Jul 20, 2022)

  • New Features:
  • Core-libs/java.net:
  • HTTPS Channel Binding Support for Java GSS/Kerberos:
  • Support has been added for TLS channel binding tokens for Negotiate/Kerberos authentication over HTTPS through javax.net.HttpsURLConnection.
  • Channel binding tokens are increasingly required as an enhanced form of security. They work by communicating from a client to a server the client's understanding of the binding between connection security (as represented by a TLS server cert) and higher level authentication credentials (such as a username and password). The server can then detect if the client has been fooled by a MITM and shutdown the session/connection.
  • The feature is controlled through a new system property `jdk.https.negotiate.cbt` which is described fully as below:
  • Jdk.https.negotiate.cbt (default: "never")
  • This controls the generation and sending of TLS channel binding tokens (CBT) when Kerberos or the Negotiate authentication scheme using Kerberos are employed over HTTPS with HttpsURLConnection. There are three possible settings:
  • "never". This is also the default value if the property is not set. In this case, CBTs are never sent.
  • "always". CBTs are sent for all Kerberos authentication attempts over HTTPS.
  • "domain:" Each domain in the list specifies destination host or hosts for which a CBT is sent. Domains can be single hosts like foo, or foo.com, or literal IP addresses as specified in RFC 2732, or wildcards like *.foo.com which matches all hosts under foo.com and its sub-domains. CBTs are not sent to any destinations that don't match one of the list entries
  • The channel binding tokens generated are of the type "tls-server-end-point" as defined in RFC 5929.
  • Security-libs/javax.net.ssl:
  • Enable TLSv1.3 by Default on JDK 8u for Client Roles:
  • The TLSv1.3 implementation is available in JDK 8u from 8u261 and enabled by default for server roles but disabled by default for client roles. From this release onwards, TLSv1.3 is now also enabled by default for client roles. You can find more details in the Additional Information section of the Oracle JRE and JDK Cryptographic Roadmap.
  • Other Notes:
  • JDK Bundle Extensions Truncated When Downloading Using Firefox 102:
  • On oracle.com and java.com, certain JDK bundle extensions are getting truncated on download when using Firefox version 102. The downloaded bundles have no file extension like ".exe", ".rpm", ".deb". If you are not able to upgrade to Firefox ESR 102.0.1 or Firefox 103 when it is released, then as a workaround you can:
  • Manually add a file extension to the file name after download.
  • Use a different browser
  • Core-libs/java.io:serialization:
  • Vector Should Throw ClassNotFoundException for a Missing Class of an Element:
  • Java.util.Vector is updated to correctly report ClassNotFoundException that occurs during deserialization using java.io.ObjectInputStream.GetField.get(name, object) when the class of an element of the Vector is not found. Without this fix, a StreamCorruptedException is thrown that does not provide information about the missing class.
  • Core-libs/java.util.jar:
  • Default JDK Compressor Will Be Closed when IOException Is Encountered:
  • DeflaterOutputStream.close() and GZIPOutputStream.finish() methods have been modified to close out the associated default JDK compressor before propagating a Throwable up the stack. ZIPOutputStream.closeEntry() method has been modified to close out the associated default JDK compressor before propagating an IOException, not of type ZipException, up the stack.

New in Java JRE 8 Build 212 (Apr 16, 2019)

  • IANA Data 2018g:
  • JDK 8u212 contains IANA time zone data version 2018g. 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 8u212 are specified in the following table:
  • JRE Expiration Date:
  • The JRE expires whenever a new release with security vulnerability fixes becomes available. Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Third Party Bulletin. This JRE (version 8u212) will expire with the release of the next critical patch update scheduled for July 16, 2019.
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u212) on August 16, 2019. 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 JRE Expiration Date.
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update. For a more complete list of the bug fixes included in this release, see the JDK 8u212 Bug Fixes page.

New in Java JRE 8 Build 192 (Oct 17, 2018)

  • New Features:
  • security-libs/javax.net.ssl
  • Support for Customization of Default Enabled Cipher Suites via System Properties
  • The system property jdk.tls.client.cipherSuites can be used to customize the default enabled cipher suites for the client side of SSL/TLS connections. In a similar way, the system property jdk.tls.server.cipherSuites can be used for customization on the server side.
  • The system properties contain a comma-separated list of supported cipher suite names that specify the default enabled cipher suites. All other supported cipher suites are disabled for this default setting. Unrecognized or unsupported cipher suite names specified in properties are ignored. Explicit setting of enabled cipher suites will override the system properties.
  • Please refer to the "Java Cryptography Architecture Standard Algorithm Name Documentation" for the standard JSSE cipher suite names, and the "Java Cryptography Architecture Oracle Providers Documentation" for the cipher suite names supported by the SunJSSE provider.
  • Note that the actual use of enabled cipher suites is restricted by algorithm constraints.
  • Note also that these system properties are currently supported by the JDK Reference Implementation. They are not guaranteed to be supported by other implementations.
  • Warning: These system properties can be used to configure weak cipher suites, or the configured cipher suites may become more weak over time. We do not recommend using the system properties unless you understand the security implications. Use them at your own risk.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities described in the Oracle Critical Patch Update. For a more complete list of the bug fixes included in this release:
  • JDK-8201240 client-libs 2d Improve releasing native resources of BufImgSurfaceData.ICMColorData
  • JDK-8188030 client-libs java.awt AWT java apps fail to start when some minimal fonts are present
  • JDK-8200353 client-libs java.awt Shift or Capslock not working in Textfield after accented keystrokes
  • JDK-8195738 client-libs java.awt scroll position in ScrollPane is reset after calling validate()
  • JDK-8188083 client-libs java.awt NullPointerExcpn-java.awt.image.FilteredImageSource.startProduction JDK-8079607
  • JDK-8150954 client-libs java.awt Taking screenshots on x11 composite desktop produce wrong result
  • JDK-8202696 client-libs javax.swing Remove exclusion range for phonetic chars in windows fontconfig.properties
  • JDK-8195095 client-libs javax.swing Images are not scaled correctly in JEditorPane
  • JDK-8206914 core-libs add jdk8u-dev test failures to ProblemList.txt
  • JDK-8201369 core-libs java.net Inet4AddressImpl_getLocalHostName reverse lookup on Solaris only
  • JDK-8194412 core-libs java.time Adding 256 units of IsoFields.QUARTER_YEARS broken
  • JDK-8176192 core-libs javax.naming Incorrect usage of Iterator in Java 8 In com.sun.jndi.ldap.EventSupport.removeNamingListener
  • JDK-8156824 core-libs javax.naming com.sun.jndi.ldap.pool.PoolCleaner should clear its context class loader
  • JDK-8186646 core-libs jdk.nashorn Nashorn: "duplicate code" assertion when binding a vararg function that just passes arguments along
  • JDK-8201651 deploy plugin Better error handling during JNLP2Manager initialisation
  • JDK-8204508 deploy webstart Robot ScreenCapture fails on HiDPI system
  • JDK-8205343 deploy webstart bug in backport of JDK-8185002
  • JDK-8168415 deploy webstart ShowDocument fails with URL using jnlp or jnlps protocol
  • JDK-8193711 deploy webstart Launching JWS applet the default download progress dialog only shows if the java console is enabled
  • JDK-8195609 deploy webstart DRS - cert based run rule not working when running offline
  • JDK-8008321 hotspot compiler compile.cpp verify_graph_edges uses "bool" as "int"
  • JDK-8162540 hotspot compiler Crash in C2 escape analysis with assert: "node should be registered"
  • JDK-8194642 hotspot compiler Improve OOM error reporting for JDK8
  • JDK-8158012 hotspot compiler Use SW prefetch instructions instead of BIS for allocation prefetches on SPARC Core C4
  • JDK-8148175 hotspot compiler C1: G1 barriers don't preserve FP registers
  • JDK-8165489 hotspot gc Missing G1 barrier in Unsafe_GetObjectVolatile
  • JDK-8173013 hotspot gc JVMTI tagged object access needs G1 pre-barrier
  • JDK-8114823 hotspot gc G1 doesn't honor request to disable class unloading
  • JDK-8081323 hotspot jvmti ConstantPool::_resolved_references is missing in heap dump
  • JDK-8150426 hotspot runtime Wrong cast in metadata_at_put
  • JDK-8196884 hotspot runtime VS2017 Multiple Type Cast Conversion Compilation Errors
  • JDK-8196880 hotspot runtime VS2017 Addition of Global Delete Operator with Size Parameter Conflicts with Arena's Chunk Provided One
  • JDK-8197868 hotspot runtime VS2017 (C2065) 'timezone': Undeclared Identifier in share/runtime/os.cpp
  • JDK-8144201 hotspot runtime openjdk aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto
  • JDK-8189170 hotspot runtime Add option to disable stack overflow checking in primordial thread for use with JNI_CreateJavaJVM
  • JDK-8206406 hotspot runtime StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
  • JDK-8186461 hotspot runtime Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
  • JDK-8185723 hotspot runtime Zero: segfaults on Power PC 32-bit
  • JDK-8026331 hotspot runtime hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
  • JDK-8202600 hotspot runtime [Zero] Undefined behaviour in src/os_cpu/linux_zero/vm/os_linux_zero.cpp
  • JDK-6730115 hotspot svc Fastdebug VM crashes with "ExceptionMark destructor expects no pending exceptions" error
  • JDK-8204053 hotspot svc-agent libsaproc.so not linked with -z,noexecstack
  • JDK-8189677 javafx controls RadioMenuItem fires extra NULL value in property
  • JDK-8192800 javafx controls Table auto resize ignores column resize policy
  • JDK-8198354 javafx graphics [macOS] Corrupt Thai characters displayed in word wrapped label
  • JDK-8198316 javafx media MediaPlayer crashes when playing m3u8 files on macOS High Sierra 10.13.2
  • JDK-8202036 javafx other Update OpenJFX license files to match OpenJDK
  • JDK-8147476 javafx web Rendering issues with MathML token elements
  • JDK-8203845 performance backport of JDK-8034788 inadvertently rolled back JDK-8187045 changes to toolchain.m4
  • JDK-8165463 security-libs Native implementation of sunmscapi should use operator new (nothrow) for allocations
  • JDK-8185855 security-libs java.security Debug exception stacks should be clearer
  • JDK-8193171 security-libs java.security keytool -list displays "JKS" for a PKCS12 keystore.
  • JDK-8081792 security-libs javax.crypto buffer size calculation issue in NativeGCMCipher
  • JDK-8203182 security-libs javax.crypto:pkcs11 Release session if initialization of SunPKCS11 Signature fails
  • JDK-8162362 security-libs javax.net.ssl Introduce system property to control enabled ciphersuites

New in Java JRE 11 Build 23 Early Acces (Jul 23, 2018)

  • Add T-Systems, GlobalSign and Starfield Services root certificates (JDK-8199779)
  • security-libs/java.security
  • The following root certificates have been added to the OpenJDK cacerts truststore:
  • deutschetelekomrootca2
  • DN: C=DE, O=Deutsche Telekom AG, OU=T-TeleSec Trust Center, CN=Deutsche Telekom Root CA 2
  • ttelesecglobalrootclass3ca
  • DN: C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 3
  • ttelesecglobalrootclass2ca
  • DN: C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 2
  • starfieldservicesrootg2ca
  • DN: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2
  • globalsignca
  • DN: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA
  • globalsignr3ca
  • DN: OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign
  • globalsigneccrootcar5
  • DN: OU=GlobalSign ECC Root CA - R5, O=GlobalSign, CN=GlobalSign
  • add-exports no longer implies readability in javac (JDK-8207032)
  • tools/javac
  • Running javac with the --add-exports command line option will no longer automatically make the exporting module readable by the target module. Use the --add-reads option to let the target module read the exporting module if needed.

New in Java JRE 10.0.2 (Jul 18, 2018)

  • Changes:
  • core-libs/java.lang.invoke:
  • ➜ filterArguments runs multiple filters in the wrong order:
  • The specification of the method java.lang.invoke.MethodHandles.filterArguments was clarified to state more clearly that filter arguments are invoked in left to right order. The implementation of this method was also fixed to ensure it conformed to the specification. Prior to the fix the implementation incorrectly invoked filters in right to left order. For the majority of usages it is expected such a change in behavior will not be observable. Only in the minority of cases where two or more filters have side-effects that affect their results will such behavior be observable.
  • core-libs/javax.naming:
  • ➜ Improve LDAP support:
  • Endpoint identification has been enabled on LDAPS connections.
  • To improve the robustness of LDAPS (secure LDAP over TLS ) connections, endpoint identification algorithms have been enabled by default.
  • Note that there may be situations where some applications that were previously able to successfully connect to an LDAPS server may no longer be able to do so. Such applications may, if they deem appropriate, disable endpoint identification using a new system property: com.sun.jndi.ldap.object.disableEndpointIdentification.
  • Define this system property (or set it to true) to disable endpoint identification algorithms.
  • core-libs/java.io:serialization:
  • ➜ Better stack walking:
  • New access checks have been added during the object creation phase of deserialization. This should not affect ordinary uses of deserialization. However, reflective frameworks that make use of JDK-internal APIs may be impacted. The new checks can be disabled if necessary by setting the system property jdk.disableSerialConstructorChecks to the value "true". This must be done by adding the argument -Djdk.disableSerialConstructorChecks=true to the Java command line.
  • Bug fixes:
  • hotspot/gc:
  • ➜ JVM Crash during G1 GC:
  • A klass that has been considered unreachable by the concurrent marking of G1, can be looked up in the ClassLoaderData/SystemDictionary, and its _java_mirror or _class_loader fields can be stored in a root or any other reachable object making it alive again. Whenever a klass is resurrected in this manner, the SATB part of G1 needs to be notified about this, otherwise, the concurrent marking remark phase will erroneously unload that klass.
  • In this particular crash, while G1 was doing concurrent marking and had prepared its list of unreachable classes, JVMTI on a Java thread could traverse classes in the CLD and store thread-local JNIHandles for the java_mirror of the loaded classes. G1 did not have knowledge of these thread-local JNIHandles, and in the remark phase, it unloaded classes per its prior knowledge of unreachable classes. When these JNIHandles were later scanned, it lead to a crash.
  • This fix for JDK-8187577 informs G1's SATB that a klass has been resurrected and should not be unloaded.

New in Java JRE 8 Build 181 (Jul 18, 2018)

  • Removed Features and Options:
  • Java DB, also known as Apache Derby, has been removed in this release.
  • We recommend that you obtain the latest Apache Derby directly from the Apache project
  • Changes:
  • Improve LDAP support:
  • Endpoint identification has been enabled on LDAPS connections.
  • To improve the robustness of LDAPS (secure LDAP over TLS ) connections, endpoint identification algorithms have been enabled by default.
  • Note that there may be situations where some applications that were previously able to successfully connect to an LDAPS server may no longer be able to do so. Such applications may, if they deem appropriate, disable endpoint identification using a new system property: com.sun.jndi.ldap.object.disableEndpointIdentification.
  • Define this system property (or set it to true) to disable endpoint identification algorithms.
  • Better stack walking:
  • New access checks have been added during the object creation phase of deserialization. This should not affect ordinary uses of deserialization. However, reflective frameworks that make use of JDK-internal APIs may be impacted. The new checks can be disabled if necessary by setting the system property jdk.disableSerialConstructorChecks to the value "true". This must be done by adding the argument -Djdk.disableSerialConstructorChecks=true to the Java command line.
  • Bug Fixes:
  • Unable to use the JDWP API in JDK 8 to debug JDK >=9
  • The implementation of VirtualMachineImpl.canGetInstanceInfo() has been corrected, so it is now able to see JDK JVMs >= JDK 9.
  • This correction allows certain debugger agents to operate correctly without any action required from a user (developer).
  • JVM Crash during G1 GC:
  • A klass that has been considered unreachable by the concurrent marking of G1, can be looked up in the ClassLoaderData/SystemDictionary, and its _java_mirror or _class_loader fields can be stored in a root or any other reachable object making it alive again. Whenever a klass is resurrected in this manner, the SATB part of G1 needs to be notified about this, otherwise, the concurrent marking remark phase will erroneously unload that klass.
  • In this particular crash, while G1 was doing concurrent marking and had prepared its list of unreachable classes, JVMTI on a Java thread could traverse classes in the CLD and store thread-local JNIHandles for the java_mirror of the loaded classes. G1 did not have knowledge of these thread-local JNIHandles, and in the remark phase, it unloaded the classes per its prior knowledge of unreachable classes. When these JNIHandles were later scanned, it lead to a crash.
  • This fix for JDK-8187577 informs G1's SATB that a klass has been resurrected and it should not be unloaded.
  • Better stability with older NUMA libraries (-XX+UseNuma):
  • A fix included in JDK 8 Update 152 introduced a regression that might cause the HotSpot JVM to crash during startup when the UseNUMA flag is used on Linux systems with versions of libnuma older than 2.0.9. This issue has been resolved.

New in Java JRE 8 Build 172 (Apr 18, 2018)

  • IANA Data 2018c
  • JDK 8u172 contains IANA time zone data version 2018c. For more information, refer to Timezone Data Versions in the JRE Software.
  • JRE Expiration Date:
  • The JRE expires whenever a new release with security vulnerability fixes becomes available. Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Third Party Bulletin. This JRE (version 8u172) will expire with the release of the next critical patch update scheduled for July 17, 2018.
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u172) on August 17, 2018. 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.
  • Known Issues:
  • Description for Toolkit.getImage() and Toolkit.createImage():
  • The changes made under JDK-8033530 introduced an inconsistency between the implementation for and the documentation of the following methods:
  • java.awt.Toolkit.getImage(URL u)
  • java.awt.Toolkit.createimage(URL u)
  • The description in the API document should read:
  • This method first checks if there is a security manager installed. If so, the method calls the security managers checkPermission() method with the corresponding permission to ensure that the access to the image or the image creation is allowed. If the connection to the specified URL requires either URLPermission or SocketPermission, then URLPermission is used for security checks.
  • Changes:
  • client-libs/java.awt
  • Touch Keyboard for Swing/AWT Text Components
  • This release adds support for automatically showing the touch keyboard for Swing/AWT text components on Microsoft Windows 8 or later. A user can display the touch keyboard either by using a touch screen to tap the text component area or by using a mouse to click in the area, when a keyboard is not attached to a computer.
  • The system property awt.touchKeyboardAutoShowIsEnabled controls whether this functionality is enabled in the JDK. This functionality is enabled by default. However, if the functionality is not needed, the user can switch it off from the command line by setting the system property to false:
  • -Dawt.touchKeyboardAutoShowIsEnabled=false
  • Bug fixes:
  • JDK-8130400client-libs2dTest java/awt/image/DrawImage/IncorrectClipXorModeSurface2Surface.java fails with ClassCastException
  • JDK-8080444client-libsdemoUpdate SwingSet2 to use installed L&Fs instead of hard-coded list.
  • JDK-8147542client-libsjava.awtLinux: ClassCastException when repainting after display resolution change
  • JDK-8166772client-libsjava.awtTouch keyboard is not shown for text components on a screen touch
  • JDK-8188855core-libs Fix VS10 build after "8187658: Bigger buffer for GetAdaptersAddresses"
  • JDK-8154017core-libsjava.langShutdown hooks are racing against shutdown sequence, if System.exit()-calling thread is interrupted
  • JDK-8187658core-libsjava.netBigger buffer for GetAdaptersAddresses
  • JDK-8165466core-libsjava.textDecimalFormat percentage format can contain unexpected %
  • JDK-8136356core-libsjava.util:i18nAdd time zone mappings on Windows
  • JDK-8169424core-libsjavax.scriptsrc/share/sample/scripting/scriptpad/src/scripts/memory.sh missing #!
  • DK-8079510core-svcjava.lang.managementAIX: avoid UnsatisfiedLinkError by providing empty basic implementations of getSystemCpuLoad and getProcessCpuLoad
  • JDK-8177721core-svcjavax.managementImprove diagnostics in sun.management.Agent#startAgent()
  • JDK-8185498deploypluginConsole log shows that cert is expired (but TSA valid) although no certs in chain is expired.
  • JDK-8187822hotspotcompilerC2 conditonal move optimization might create broken graph
  • JDK-8170358hotspotgc[REDO] 8k class metaspace chunks misallocated from 4k chunk freelist
  • JDK-8170395hotspotgcMetaspace initialization queries the wrong chunk freelist
  • JDK-8187629hotspotruntimeNMT: Memory miscounting in compiler (C2)
  • JDK-8184991hotspotruntimeNMT detail diff should take memory type into account
  • JDK-8139673hotspotruntimeNMT stack traces in output should show mt component
  • JDK-8187685hotspotruntimeNMT: Tracking compiler memory usage of thread's resource area
  • JDK-8187331hotspotruntimeVirtualSpaceList tracks free space on wrong node
  • JDK-8055755hotspotsvcInformation about loaded dynamic libraries is wrong on MacOSX.
  • JDK-8031304hotspotsvcAdd dcmd to print all loaded dynamic libraries.
  • JDK-8059036hotspotsvcImplement Diagnostic Commands for heap and finalizerinfo
  • JDK-8044107hotspotsvcAdd Diagnostic Command to list all ClassLoaders
  • JDK-8189265javafxcontrolsClosing stage does not free internal resources
  • JDK-8183100javafxcontrolsStyles not applied reliably after Java 8u92
  • JDK-8178275javafxsamplesEnsemble: Upgrade version of Lucene to 7.1.0
  • JDK-8189280javafxswingMemory leak in SwingNode if Stage is not shown
  • JDK-8185634javafxswingJava Fx-Swing dialogs appearing behind main stage
  • JDK-8187928javafxweb[WebView] Images copied from clipboard not written in source file format
  • JDK-8187726javafxweb[WebView] Copy and Paste of Image not resulting in expected behavior
  • JDK-8090011javafxweb'tab' key makes control loose focus
  • JDK-8191035javafxwebWebView Canvas Graphics2D arc renders incorrectly
  • JDK-8088925javafxwebNon opaque background cause NumberFormatException
  • JDK-8187985security-libsjava.securityBroken certificate number in debug output

New in Java JRE 11 Build 8 Early Access (Apr 9, 2018)

  • [TEST_BUG] java/security/Signature/SignatureLength.java fails
  • (se) More Selector cleanup
  • Update link to license in Docs.gmk
  • Move SwingSet2 from closed to OpenJDK
  • upgrade Marlin (java2d) to 0.9.1
  • JFileChooser shows empty name for external drives shown under Desktop
  • JPGWriter.getNumThumbnailsSupported does not return -1 when passing null values
  • Add getSelectedIndices() to ListSelectionModel
  • test java/awt/image/ColorModel/Non_sRGBCMTest.java fails with open profiles
  • reorganize tests for java.util.Optional
  • Accessibility issues in java.base docs
  • Optimize Boolean.parseBoolean(String)
  • Remove unnecessary boxing via primitive wrapper valueOf(String) methods
  • Rename HTML element id in ClassLoader javadoc to avoid name conflict with private elements
  • Update JDK11 release date to 2018-09-25
  • cl : Command line warning D9014 : invalid value '2220' for '/wd'
  • a.out created at top dir by Solaris build
  • JShell: user exception chained cause not retained
  • Change to GCC 7.3.0 for building Linux at Oracle
  • Fix incremental builds of hotspot on solaris
  • javac hidden options violate standard syntax for options
  • Problem list jdk/jshell/ExceptionsTest.java fails on windows
  • Remove terminally deprecated SecurityManager APIs
  • Optimal initial capacity of java.lang.Class.enumConstantDirectory

New in Java JRE 11 Build 7 Early Access (Mar 31, 2018)

  • Formatting a decimal using locale-specific grouping separators causes ArithmeticException (division by zero).
  • Multiple javac plugins do not work at the same time.
  • Compilation Errors in libinstrument Reentrancy.c with VS2017
  • Javac produces dead code for try-with-resource
  • Cache normalized/resolved user.dir property
  • (bf) XXXBuffer:compareTo method is not working as expected
  • Reduce number of implementation classes returned by List/Set/Map.of()
  • (dc) DatagramChannel throws unspecified exceptions
  • (fs) Add equivalents of Paths.get to Path interface
  • Problem list test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java
  • Solaris: Correctly enqueue null arguments of attach operations
  • Cleanup include and exclude of sound native libraries
  • (se) More Selector cleanup
  • compare.sh improvements
  • Simplify language, country, script, and variant property initialization
  • fix a typo in run-test framework documentation
  • Compiler crashes with -g option and variables of intersection type inferred by `var`
  • Images are not scaled correctly in JEditorPane
  • JList.getSelectedValuesList fails if JList.setSelectionInterval larger than list
  • Create test for SwingSet TableDemo
  • AWT hang occurrs when sequenced events arrive out of sequence
  • Switch AWT/Swing's default GTK version to 3
  • Compilation errors in jdk.accessibility with VS 2017
  • Compilation errors in java.desktop with VS 2017
  • colorimaging.md needs to remove mention of KCMS
  • Should an unfocusable maximized Frame be resizable
  • GIF native IIOMetadata assumes characterCellWidth/Height as 2bytes
  • Remove un-needed qualified export from java.base to java.desktop
  • Remove D3D Performance Counter.
  • Emit a warning message when t2k is selected via system property
  • ByteArrayInputStream should override readAllBytes, readNBytes, and transferTo
  • Behavior of null arguments not specified in Java Sound
  • DIB header of type BITMAPV2INFOHEADER & BITMAPV3INFOHEADER is not supported in BMPImageReader
  • JDK-8196882 breaks VS2013 Win32 builds
  • Remove unused macros VM_STRUCTS_EXT and VM_TYPES_EXT
  • Remove G1Allocator extension point
  • Remove G1FullCollector extension point
  • Remove Thread extension point
  • Remove WhiteBox extension point
  • Remove G1AllocationContext
  • -XX:+VerifyStack fails with fatal error: ExceptionMark constructor expects no pending exceptions
  • Remove dead code: cardTableModRefBSForCTRS.hpp
  • TestMemoryAwareness Docker container fails with too small maximum heap
  • Remove unused parameter evacuation_info from G1CollectedHeap::evacuate_collection_set
  • Support caching class mirror objects.
  • [TESTBUG] CTW of java.base and java.desktop takes long time
  • [GRAAL] Graal classes are not loaded with -Xshare:dump
  • OopStorage::assert_at_safepoint clashes with assert_at_safepoint macros in g1CollectedHeap.hpp
  • Missing resource mark results disassembling generated code failure in hs error report
  • runtime/appcds/ClassLoaderTest.java fails silently
  • Remove unused method G1EvacuationRootClosures::create_root_closures_ext
  • Remove unused file g1ParScanThreadState_ext.cpp
  • Remove unnecessary method G1CollectedHeap::create_g1_policy
  • Remove unused function ArgumentsExt::set_gc_specific_flags
  • Incorrect include file use in classLoader.hpp
  • Remove ClassLoaderExt::check().
  • [JVMCI] must not install wide vector code unless runtime supports it
  • reenable concurrent execution of compiler tests
  • Enable docker container related tests for linux AARCH64
  • [Graal] compiler/intrinsics/sha/sanity tests fail on macos with Graal as JIT
  • [Redo] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set
  • Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet
  • Move ClassLoaderData::_dependencies to ClassLoaderData::_handles
  • [BACKOUT] NMT: Enhance thread stack tracking
  • StringInternSync test crashes in exit verification
  • [JVMCI] EagerJVMCI option should also initialize the JVMCI compiler
  • VM anonymous classes created during CDS dump time cause crash
  • Build failures after JDK-8195148 (Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet)
  • Remove unneeded parsing of optional-size when parsing array types
  • "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp
  • AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails
  • Add build time check for global operator new/delete in object files
  • [JVMCI] Move `iterateFrames` to C++
  • Remove universe.inline.hpp to simplify include dependencies
  • Fix inclusions of allocation.inline.hpp
  • Remove handles.inline.hpp include from reflectionUtils.hpp
  • SEGV in jni_DetachCurrentThread during VM shutdown
  • Fix unsafe field accesses in heap dumper
  • Remove ValueObj class for allocation subclassing for runtime code
  • Improve metaspace chunk allocation
  • Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.
  • src/hotspot/share/jvmci/jvmciCompilerToVM.cpp takes 4 minutes to compile on windows
  • Hotspot build is broken after push of 8197235
  • [Graal] runtime/appcds/UseAppCDS.java crashes with "VM thread using lock Heap_lock (not allowed to block on)"
  • Remove ValueObj class for allocation subclassing for compiler code
  • Remove unneccessary protected and virtual modifiers from G1CollectedHeap
  • Move G1DefaultPolicy into G1Policy
  • [PPC64] More generic vector CRC implementation
  • [REDO] STW phases at Concurrent GC should count in PerfCounte
  • [Graal] java/lang/StackWalker/LocalsAndOperands.java timeouts with Graal
  • post_field_access does not work for some functions, possibly related to fast_getfield
  • The constant pool forgets it has a Dynamic entry if there are overpass methods
  • Enable UseDynamicNumberOfGCThreads by default
  • hsdis could not be loaded which are located on long path
  • Access API for primitive/native arraycopy
  • Add support for vector popcount
  • ProblemList tests failing after JDK-8153333
  • test/hotspot/jtreg/runtime/SelectionResolution tests take a lot longer to run with fastdebug after JDK-8198423
  • Condy tests fails on Windows
  • Do not generate g1_{pre|post}_barrier_slow_id without CardTable-enabled barrier set
  • Rename MetaspaceAux to something more meaningful
  • Zero build broken after 8195103, 8191102 and 8189871
  • Remove ValueObj class for allocation subclassing for gc code
  • Fix non-PCH build after JDK-8199319
  • Remove dead code overlooked during Full GC work
  • Adjust DelegatingClassLoader's metadata space sizing algorithm
  • Build failures after JDK-8199421 "Add support for vector popcount"
  • remove misc dead code
  • Fix two typos in the JVMTI documentation
  • [TESTBUG] AbstractMethodErrorTest.java test failed with -Xcomp
  • Assert in fromTonga/vm/runtime/defmeth/scenarios/Stress_noredefine/TestDescription.java
  • Split up class Metaspace into a static and a non-static part
  • metaspace: fix wrong comment and condition in SpaceManager::verify()
  • Broken assertion in ClassLoaderData::remove_handle
  • objArrayKlass::oop_iterate() and friends must use base_raw() instead of base()
  • Make slow metaspace verifications switchable in debug builds
  • attachListener.hpp: Fix potential null termination issue found by coverity scans
  • Increased stack guard causes segfaults on x86-32
  • JTReg failure: runtime/stringtable/StringTableVerifyTest.java
  • serviceability/dcmd/framework/* timeout
  • Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3
  • Create test case for CDS + condy
  • Remove superflous non-IPv4 code from Java_java_net_TwoStacksPlainSocketImpl_socketListen
  • ByteArrayOutputStream should not throw IOExceptions
  • {@docRoot} references need to be updated to reflect new module/package structure
  • JShell API: Failed to detect override when snippet to be overridden has been changed before
  • (se) More Selector cleanup
  • Configure broken on MIPS
  • Incomplete classpath causes infinite recursion in Resolve.isAccessible
  • [TESTBUG] String concat tests should test toString() application order
  • 17th loop of "let foo = ''"; throws ReferenceError
  • [TESTBUG] java/lang/String/concat/ tests should not force source/target = 9 anymore
  • Simplify building of libjsig
  • javah man pages were not removed by JDK-8191054
  • Stop linking with -base:0x8000000 on Windows
  • Optimize Integer/Long.highestOneBit()
  • Javadoc search results does not link to anchors on a page
  • Docs.gmk needs to be updated to remove the -html5 option
  • deduplicate lambda methods
  • java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently
  • Align organization of TwoStacksPlainSocketImp with DualStackPlainSocketImpl [win]
  • Reduce number of exceptions created when calling Lookup::canBeCached
  • {@docRoot} references need to be updated to reflect new module/package structure
  • test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java is failing after JDK-8194978
  • http.nonProxyHosts value having wildcard * both at end and start are not honored
  • javac suggests to use var even when var is used
  • local variable inference regression test generates classfile in test folder
  • Serialization javadoc should link to security best practices
  • Inline SoundLibraries.gmk into Lib-java.desktop.gmk
  • Remove mapfiles for JDK native libraries
  • ConstructInflaterOutput, ConstructDeflaterInput still spamming test logs
  • Various cleanups in jar/zip
  • Avoid charset lookup machinery in java.nio.charset.StandardCharsets
  • revisit test SunPackageAccess and GrantedSunPackageAccess
  • TwoStacksPlainDatagramSocketImpl and socket cleaner
  • Improve G1 Full GC array marking
  • Unused AdjustKlassClosure in psParallelCompact.hpp
  • Split interfaceSupport.hpp to not require including .inline.hpp files
  • aarch32: ARM 32 build broken after 8165929
  • Update Graal
  • Remove oopDesc::is_scavengable
  • Unify metaspace list index handling and reinstantiate ChunkManager listindex gtest
  • Access arraycopy build failure with GCC 7.3.1
  • Rename CardTableModRefBS to CardTableBarrierSet
  • NMT: Memory allocated by Unsafe.allocateMemory should be tagged as mtOther
  • AArch64: -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation
  • AArch64: disable UseCISCSpill in C2
  • NMT: Tag safepoint polling pages
  • Improvements to command-line flags printing
  • Fix hotspot to allow stdlib to use libc++ and to allow changing the deployment target to 10.9
  • get_locked_message_ext() should return Flag::MsgType
  • SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
  • JMX: Not enough JDP packets received before timeout
  • Change 8199275 breaks template instantiation for xlC (and potentially other compliers)
  • Support for JNI object pinning
  • [AOT] Class static initializers that are not pure should not be executed during static compilation
  • gc/cslocker/TestCSLocker.java crashes
  • [Graal] Blocking jvmci compilations time out
  • Remove Runtime1::arraycopy
  • Add commit methods that take all event properties as argument
  • Make protected members private in G1Policy
  • Use HeapAccess when loading oops from static fields in javaClasses.cpp
  • [TESTBUG] Test runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java failed with -1073740940 (FFFFFFFFC0000374)
  • LoopStripMiningIterShortLoop is set to zero by default
  • ServiceUtil::visible_oop is not needed anymore
  • runtime/appcds/condy/CondyHelloTest.java missing at requires vm.cds
  • Fix test/hotspot/jtreg/ProblemList-graal.txt
  • JVMTI GetLoadedClasses should use the Access API
  • Don't include frame.inline.hpp and other.inline.hpp from .hpp files
  • AArch64: TestOptionsWithRanges.java SIGSEGV
  • PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining
  • Deprecate -XX:+AggressiveOpts
  • Modularize arraycopy stub routine GC barriers
  • [Graal] build Graal on all x86 platforms
  • [TESTBUG] don't run compiler/aot tests with -Xcomp
  • Bad graph when unrolled loop bounds conflicts with range checks
  • ReadAllReadNTransferTo fails occasionally
  • Remove unused field Thread.threadQ
  • Replace Thread.init with telescoping constructor

New in Java JRE 11 Build 7 Early Access (Mar 31, 2018)

  • Formatting a decimal using locale-specific grouping separators causes ArithmeticException (division by zero).
  • Multiple javac plugins do not work at the same time.
  • Compilation Errors in libinstrument Reentrancy.c with VS2017
  • Javac produces dead code for try-with-resource
  • Cache normalized/resolved user.dir property
  • (bf) XXXBuffer:compareTo method is not working as expected
  • Reduce number of implementation classes returned by List/Set/Map.of()
  • (dc) DatagramChannel throws unspecified exceptions
  • (fs) Add equivalents of Paths.get to Path interface
  • Problem list test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java
  • Solaris: Correctly enqueue null arguments of attach operations
  • Cleanup include and exclude of sound native libraries
  • (se) More Selector cleanup
  • compare.sh improvements
  • Simplify language, country, script, and variant property initialization
  • fix a typo in run-test framework documentation
  • Compiler crashes with -g option and variables of intersection type inferred by `var`
  • Images are not scaled correctly in JEditorPane
  • JList.getSelectedValuesList fails if JList.setSelectionInterval larger than list
  • Create test for SwingSet TableDemo
  • AWT hang occurrs when sequenced events arrive out of sequence
  • Switch AWT/Swing's default GTK version to 3
  • Compilation errors in jdk.accessibility with VS 2017
  • Compilation errors in java.desktop with VS 2017
  • colorimaging.md needs to remove mention of KCMS
  • Should an unfocusable maximized Frame be resizable
  • GIF native IIOMetadata assumes characterCellWidth/Height as 2bytes
  • Remove un-needed qualified export from java.base to java.desktop
  • Remove D3D Performance Counter.
  • Emit a warning message when t2k is selected via system property
  • ByteArrayInputStream should override readAllBytes, readNBytes, and transferTo
  • Behavior of null arguments not specified in Java Sound
  • DIB header of type BITMAPV2INFOHEADER & BITMAPV3INFOHEADER is not supported in BMPImageReader
  • JDK-8196882 breaks VS2013 Win32 builds
  • Remove unused macros VM_STRUCTS_EXT and VM_TYPES_EXT
  • Remove G1Allocator extension point
  • Remove G1FullCollector extension point
  • Remove Thread extension point
  • Remove WhiteBox extension point
  • Remove G1AllocationContext
  • -XX:+VerifyStack fails with fatal error: ExceptionMark constructor expects no pending exceptions
  • Remove dead code: cardTableModRefBSForCTRS.hpp
  • TestMemoryAwareness Docker container fails with too small maximum heap
  • Remove unused parameter evacuation_info from G1CollectedHeap::evacuate_collection_set
  • Support caching class mirror objects.
  • [TESTBUG] CTW of java.base and java.desktop takes long time
  • [GRAAL] Graal classes are not loaded with -Xshare:dump
  • OopStorage::assert_at_safepoint clashes with assert_at_safepoint macros in g1CollectedHeap.hpp
  • Missing resource mark results disassembling generated code failure in hs error report
  • runtime/appcds/ClassLoaderTest.java fails silently
  • Remove unused method G1EvacuationRootClosures::create_root_closures_ext
  • Remove unused file g1ParScanThreadState_ext.cpp
  • Remove unnecessary method G1CollectedHeap::create_g1_policy
  • Remove unused function ArgumentsExt::set_gc_specific_flags
  • Incorrect include file use in classLoader.hpp
  • Remove ClassLoaderExt::check().
  • [JVMCI] must not install wide vector code unless runtime supports it
  • reenable concurrent execution of compiler tests
  • Enable docker container related tests for linux AARCH64
  • [Graal] compiler/intrinsics/sha/sanity tests fail on macos with Graal as JIT
  • [Redo] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set
  • Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet
  • Move ClassLoaderData::_dependencies to ClassLoaderData::_handles
  • [BACKOUT] NMT: Enhance thread stack tracking
  • StringInternSync test crashes in exit verification
  • [JVMCI] EagerJVMCI option should also initialize the JVMCI compiler
  • VM anonymous classes created during CDS dump time cause crash
  • Build failures after JDK-8195148 (Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet)
  • Remove unneeded parsing of optional-size when parsing array types
  • "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp
  • AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails
  • Add build time check for global operator new/delete in object files
  • [JVMCI] Move `iterateFrames` to C++
  • Remove universe.inline.hpp to simplify include dependencies
  • Fix inclusions of allocation.inline.hpp
  • Remove handles.inline.hpp include from reflectionUtils.hpp
  • SEGV in jni_DetachCurrentThread during VM shutdown
  • Fix unsafe field accesses in heap dumper
  • Remove ValueObj class for allocation subclassing for runtime code
  • Improve metaspace chunk allocation
  • Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.
  • src/hotspot/share/jvmci/jvmciCompilerToVM.cpp takes 4 minutes to compile on windows
  • Hotspot build is broken after push of 8197235
  • [Graal] runtime/appcds/UseAppCDS.java crashes with "VM thread using lock Heap_lock (not allowed to block on)"
  • Remove ValueObj class for allocation subclassing for compiler code
  • Remove unneccessary protected and virtual modifiers from G1CollectedHeap
  • Move G1DefaultPolicy into G1Policy
  • [PPC64] More generic vector CRC implementation
  • [REDO] STW phases at Concurrent GC should count in PerfCounte
  • [Graal] java/lang/StackWalker/LocalsAndOperands.java timeouts with Graal
  • post_field_access does not work for some functions, possibly related to fast_getfield
  • The constant pool forgets it has a Dynamic entry if there are overpass methods
  • Enable UseDynamicNumberOfGCThreads by default
  • hsdis could not be loaded which are located on long path
  • Access API for primitive/native arraycopy
  • Add support for vector popcount
  • ProblemList tests failing after JDK-8153333
  • test/hotspot/jtreg/runtime/SelectionResolution tests take a lot longer to run with fastdebug after JDK-8198423
  • Condy tests fails on Windows
  • Do not generate g1_{pre|post}_barrier_slow_id without CardTable-enabled barrier set
  • Rename MetaspaceAux to something more meaningful
  • Zero build broken after 8195103, 8191102 and 8189871
  • Remove ValueObj class for allocation subclassing for gc code
  • Fix non-PCH build after JDK-8199319
  • Remove dead code overlooked during Full GC work
  • Adjust DelegatingClassLoader's metadata space sizing algorithm
  • Build failures after JDK-8199421 "Add support for vector popcount"
  • remove misc dead code
  • Fix two typos in the JVMTI documentation
  • [TESTBUG] AbstractMethodErrorTest.java test failed with -Xcomp
  • Assert in fromTonga/vm/runtime/defmeth/scenarios/Stress_noredefine/TestDescription.java
  • Split up class Metaspace into a static and a non-static part
  • metaspace: fix wrong comment and condition in SpaceManager::verify()
  • Broken assertion in ClassLoaderData::remove_handle
  • objArrayKlass::oop_iterate() and friends must use base_raw() instead of base()
  • Make slow metaspace verifications switchable in debug builds
  • attachListener.hpp: Fix potential null termination issue found by coverity scans
  • Increased stack guard causes segfaults on x86-32
  • JTReg failure: runtime/stringtable/StringTableVerifyTest.java
  • serviceability/dcmd/framework/* timeout
  • Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3
  • Create test case for CDS + condy
  • Remove superflous non-IPv4 code from Java_java_net_TwoStacksPlainSocketImpl_socketListen
  • ByteArrayOutputStream should not throw IOExceptions
  • {@docRoot} references need to be updated to reflect new module/package structure
  • JShell API: Failed to detect override when snippet to be overridden has been changed before
  • (se) More Selector cleanup
  • Configure broken on MIPS
  • Incomplete classpath causes infinite recursion in Resolve.isAccessible
  • [TESTBUG] String concat tests should test toString() application order
  • 17th loop of "let foo = ''"; throws ReferenceError
  • [TESTBUG] java/lang/String/concat/ tests should not force source/target = 9 anymore
  • Simplify building of libjsig
  • javah man pages were not removed by JDK-8191054
  • Stop linking with -base:0x8000000 on Windows
  • Optimize Integer/Long.highestOneBit()
  • Javadoc search results does not link to anchors on a page
  • Docs.gmk needs to be updated to remove the -html5 option
  • deduplicate lambda methods
  • java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently
  • Align organization of TwoStacksPlainSocketImp with DualStackPlainSocketImpl [win]
  • Reduce number of exceptions created when calling Lookup::canBeCached
  • {@docRoot} references need to be updated to reflect new module/package structure
  • test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java is failing after JDK-8194978
  • http.nonProxyHosts value having wildcard * both at end and start are not honored
  • javac suggests to use var even when var is used
  • local variable inference regression test generates classfile in test folder
  • Serialization javadoc should link to security best practices
  • Inline SoundLibraries.gmk into Lib-java.desktop.gmk
  • Remove mapfiles for JDK native libraries
  • ConstructInflaterOutput, ConstructDeflaterInput still spamming test logs
  • Various cleanups in jar/zip
  • Avoid charset lookup machinery in java.nio.charset.StandardCharsets
  • revisit test SunPackageAccess and GrantedSunPackageAccess
  • TwoStacksPlainDatagramSocketImpl and socket cleaner
  • Improve G1 Full GC array marking
  • Unused AdjustKlassClosure in psParallelCompact.hpp
  • Split interfaceSupport.hpp to not require including .inline.hpp files
  • aarch32: ARM 32 build broken after 8165929
  • Update Graal
  • Remove oopDesc::is_scavengable
  • Unify metaspace list index handling and reinstantiate ChunkManager listindex gtest
  • Access arraycopy build failure with GCC 7.3.1
  • Rename CardTableModRefBS to CardTableBarrierSet
  • NMT: Memory allocated by Unsafe.allocateMemory should be tagged as mtOther
  • AArch64: -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation
  • AArch64: disable UseCISCSpill in C2
  • NMT: Tag safepoint polling pages
  • Improvements to command-line flags printing
  • Fix hotspot to allow stdlib to use libc++ and to allow changing the deployment target to 10.9
  • get_locked_message_ext() should return Flag::MsgType
  • SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
  • JMX: Not enough JDP packets received before timeout
  • Change 8199275 breaks template instantiation for xlC (and potentially other compliers)
  • Support for JNI object pinning
  • [AOT] Class static initializers that are not pure should not be executed during static compilation
  • gc/cslocker/TestCSLocker.java crashes
  • [Graal] Blocking jvmci compilations time out
  • Remove Runtime1::arraycopy
  • Add commit methods that take all event properties as argument
  • Make protected members private in G1Policy
  • Use HeapAccess when loading oops from static fields in javaClasses.cpp
  • [TESTBUG] Test runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java failed with -1073740940 (FFFFFFFFC0000374)
  • LoopStripMiningIterShortLoop is set to zero by default
  • ServiceUtil::visible_oop is not needed anymore
  • runtime/appcds/condy/CondyHelloTest.java missing at requires vm.cds
  • Fix test/hotspot/jtreg/ProblemList-graal.txt
  • JVMTI GetLoadedClasses should use the Access API
  • Don't include frame.inline.hpp and other.inline.hpp from .hpp files
  • AArch64: TestOptionsWithRanges.java SIGSEGV
  • PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining
  • Deprecate -XX:+AggressiveOpts
  • Modularize arraycopy stub routine GC barriers
  • [Graal] build Graal on all x86 platforms
  • [TESTBUG] don't run compiler/aot tests with -Xcomp
  • Bad graph when unrolled loop bounds conflicts with range checks
  • ReadAllReadNTransferTo fails occasionally
  • Remove unused field Thread.threadQ
  • Replace Thread.init with telescoping constructor

New in Java JRE 11 Build 6 Early Access (Mar 30, 2018)

  • Add null Reader and Writer
  • Debug symbols are not copied to exploded image on Mac
  • jdk/test/lib/compiler/CompilerUtils.java needs to provide more control over compilation
  • remove terminally deprecated sun.misc.Unsafe.defineClass
  • solaris-x86_64 : unpack200 fails linking with SS12u4
  • Wrong license header in XMLLimitAnalyzer.java
  • JDK-8199749 broke build with make 3.81
  • Improve diagnostic system assertion message in com.sun.net.httpserver impl
  • Avoid initializing ShortCache in ProxyGenerator
  • Examine ProxyBuilder::referencedTypes startup cost
  • Clean up building the saproc library
  • Missing copyright headers in nashorn source code
  • sun/security/krb5/auto/KdcPolicy.java fails with "java.lang.Exception: Does not match. Output is c30000c30000c30000"

New in Java JRE 11 Build 5 Early Access (Mar 19, 2018)

  • test/jdk/java/util/Locale/SoftKeys.java fails with OutOfMemoryError
  • Update javadoc tags in java.lang.System and related
  • Create linux-aarch64 cross-compilation devkit, and fix cross-compilation
  • install-file macro fails on filenames with space on Solaris
  • Enable link-time generation of constructor forms
  • Disable generate-jli-classes when building interim-image
  • Support Visual Studio BuildTools with VS2017
  • Use Reference.reachabilityFence in direct ByteBuffer methods
  • Provide more diagnostic IAE messages
  • tools/jar tests need to tolerate unrelated warnings
  • Remove unused property file.encoding.pkg
  • On Windows Swing changes keyboard layout on a window activation
  • Regression automated test 'open/test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java' fails
  • Test cases result in failure or timeout when run with OpenGL backend
  • Provide instrumentation for sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java
  • Regression automated Test 'javax/swing/JEditorPane/6917744/bug6917744.java' fails
  • Touch keyboard is shown for a non-focusable text component
  • Regression automated Test 'java/awt/Mouse/GetMousePositionTest/GetMousePositionWithOverlay.java' fails
  • [TEST_BUG] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java
  • [TESTBUG] Test javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java fails
  • if JFrame is maximized on OS X, all new JFrames will be maximized by default
  • JList.getPreferredScrollableViewportSize(): fix mistake in doc for height calc
  • New failures should be added to ProblemList
  • javax.accessibility.AccessibleBundle will reload the ResourceBundle for every call to toDisplayString
  • Test TestAATMorxFont is unstable
  • Import freetype sources into OpenJDK source tree
  • Touch keyboard does not hide, when a text component looses focus
  • BigInteger.bitLength() should explicitly specify behavior when the value is zero
  • Further clarify InputStream#available()
  • Clean up some non-standard LDFLAGS usage
  • Enable generation of callSiteForms at link time
  • Set -lc as global LIBS on solstudio
  • Clarify the throwing of exceptions from ConstantBootstraps.invoke
  • Introduce SetupJdkLibrary and SetupJdkExecutable
  • Unify naming for jaas_unix and jaas_nt
  • Split up BUILD_LIBKRB5 into the two, unrelated compilations it consists of
  • java/util/Locale/SoftKeys.java fails with OutOfMemoryError again
  • (se) Minor selector implementation clean-up
  • Remove code that attempts to read bytes after connection reset reported
  • Reflection Proxy should skip static methods
  • JDK method:java.lang.Integer.numberOfLeadingZeros(int) can be optimized
  • make/lib cleanup
  • Remove boilerplate code from creating native jtreg tests
  • Add constructors with Charset parameter for FileReader and FileWriter
  • Re-examine getFreePort method in test infrastructure library
  • Remove remaining vestiges of Java_sun_reflect_Reflection_getCallerClass
  • Nashorn multithread bottleneck with "use strict"
  • Fix @module declarations in tier1 tests

New in Java JRE 11 Build 4 Early Access (Mar 12, 2018)

  • further simplifications to lambda classification at JavacParser
  • ThreadInfo.from(CompositeData) incorrectly accepts CompositeData with missing JDK 6 attributes
  • Use elfedit to silence linker warnings on solaris
  • Robot.createScreenCapture() crashes in wayland mode
  • Dead code removal for changes present in JDK-8176795
  • Fix for 8171000 breaks Solaris + Linux builds
  • JList.setSelectedValue(null, ...) doesn't do anything
  • RepaintManager does not increase double buffer after attaching a device with higher resolution
  • [TEST_BUG] sanity/client/SwingSet/src/TextFieldDemoTest.java Failed with timeout
  • Make Jemmy ComponentChooser lambda friendly
  • Implement a new method similar to waitState() on Operator which run the check on event queue
  • Headful tests should not be run in headless mode
  • JShell crashes when attempting to use bad source file in class path
  • ProblemList should be updated for headless mode
  • javax/swing/JFileChooser/7199708/bug7199708.java throws error
  • java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the windows in HiDPI setting
  • [TEST_BUG] Test java/awt/Frame/MaximizedToUnmaximized/MaximizedToUnmaximized.java fails
  • javax/swing/JFileChooser/6868611/bug6868611.java throws error
  • Update ProblemsList for mac
  • [macosx] When the screen menu bar is used, clearing the default menu bar should permit AWT shutdown
  • [TESTBUG] javax/swing/JInternalFrame/8160248/JInternalFrameDraggingTest.java
  • Test java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java fails on Windows
  • Thread.interrupt should set interrupt status while holding blockerLock
  • String#repeat
  • Lock in CoderResult.Cache becomes performance bottleneck
  • JarFile.getManifest() should handle manifest attribute name 70 bytes
  • Methods for comparing CharSequence, StringBuilder, and StringBuffer
  • Reduce string allocation churn in InvokerBytecodeGenerator
  • URLClassLoader does not specify behavior when URL array contains null
  • Update JDI tests to pass valid URL[]
  • fix test methods access for test java/text/Normalizer/NormalizerAPITest.java
  • Refactor FLAGS handling in configure
  • Simplify initialization of platform encoding
  • String#repeat loop optimization
  • jnu_util.c compilation error on Solaris
  • Stop doing funky compilation stuff for dtrace
  • To make CoderResult.Cache.cache final and allocate it eagerly
  • Move javax.transaction.xa to its own module
  • remove java.xml.bind module dependency for com/sun/jndi tests
  • (ch) Enable java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java on linux-x64
  • (str) java.lang.Character should have a toString(int) method
  • Check SOURCE line in "release" file for closedjdk
  • Check SOURCE line in "release" file for closedjdk
  • Configure broken on aarch64
  • Clean up GensrcX11Wrappers
  • Test crypto provider not registering
  • Remove mention of hotjava paths in MimeTable.java
  • Filtering of filename for microsoft CL broken on newer Cygwin
  • --disable-warnings-as-errors does not work for native jtreg test code
  • Can't use COMPARE_BUILD with PATCH from custom root
  • HTML5 must be the default javadoc codegen mode in the near future
  • VS2017 (C4477) java.base/windows/native/libnet/NetworkInterface_winXP.c incorrect printf format strings
  • (so) SocketChannel connect may deadlock if closed at around same time that connect fails
  • (se) SocketChannelImpl.translateXXXOps access channel state without synchronization
  • (so) SocketChannelImpl read/write don't need stateLock when channel is configured non-blocking
  • Configure broken on arm32
  • Nashorn uses deprecated HTML tags in Javadoc
  • Refactor add_native_source in SetupNativeCompilation
  • Set _NT_SYMBOL_PATH when running tests on windows
  • Remove unused functions in jdk.crypto.mscapi native code
  • Compilation errors in jdk.crypto.mscapi with VS 2017
  • Remove deprecated javax.security.auth.Policy API
  • nuke var type name after a lambda has been accepted
  • httpserver does not close connections when RejectedExecutionException occurs
  • Compilation errors in java.prefs with VS 2017
  • Use -g0 on solstudio also for compiling C programs
  • Don't limit debug information for fastdebug JDK native libraries
  • JDK-8198859 broke solaris x64
  • Check copyright of files in make/langtools/tools
  • Update boot and build jdk requirements in configure
  • Always use -Z7 for debug symbols when compiling on Windows
  • AArch64: Merging ld/st into ldp/stp in macro-assembler
  • runtime/appcds/ProhibitedPackage.java intermittent failure
  • Add fuzzy matching for log levels and tags when parsing -Xlog
  • Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy
  • VS2017 (LNK4281) Link Warning Against Missed ASLR Optimization
  • VS2017: Upgrade HOTSPOT_BUILD_COMPILER in vm_version.cpp
  • VS2017 (C4838, C4312) Various conversion issues with gtest tests
  • VS2017 (C4334) Result of 32-bit Shift Implicitly Converted to 64 bits
  • Obsolete the deprecated SafepointSynchronize flags and remove related code
  • Missing #include "gc/shared/cardTableModRefBS.hpp" in graphKit.hpp
  • [TESTBUG] LogTestFixture does not restore previous logging state
  • [s390+x86_32+aarch64] Fix build after jdk-8195142
  • AARCH64 - Add CPU detection code for Cavium Thunder X2
  • AARCH64: ld/st instructions hit guarantee assert while using sp
  • Bad pointer comparison and small cleanup in os_linux.cpp
  • VS2017 Hotspot Defined vsnprintf Function Causes C2084 Already Defined Compilation Error
  • java/util/Arrays/TimSortStackSize2.java fails with "Initial heap size set to a larger value than the maximum heap size"
  • Add support of extra problem list
  • improve unified JVM logging help message and warnings
  • Track if log configuration has changed during runtime
  • Resolve missing review feedback for JDK-8170976
  • -Xlog:help "=debug" example is not quite accurate
  • Remove unused function Universe::create_heap_ext
  • Deprecate PrintSafepointStatistics, PrintSafepointStatisticsTimeout and PrintSafepointStatisticsCount options
  • Null pointer dereference in fold_compares_helper
  • Unified Logging configuration output needs simplifying
  • Possible wrong expression stack depth at deopt point
  • JDK-8168722 broke the build on macosx
  • [Graal] Introduce EagerJVMCI flag to force eager JVMCI initialization
  • Move JNIHandles::resolve into jniHandles.inline.hpp
  • NMT: Enhance thread stack tracking
  • TestMemoryAwareness Docker container fails with too small maximum heap
  • Accessibility issues in jdk.security.auth
  • javax.lang.model APIs throws CompletionFailure or a subtype of CompletionFailure.
  • Remove debug output left over since JDK-8198844
  • Require binutils 2.18 or newer
  • Bump lowest supported gcc to 4.8
  • The Jib artifact resolver in test lib needs to print better error messages

New in Java JRE 10 Build 46 Early Access (Mar 8, 2018)

  • AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails

New in Java JRE 11 Build 3 Early Access (Mar 1, 2018)

  • Cleanup of unused imports in java/util/jar/Attributes.java (java.base) and JdpController.java (jdk.management.agent)
  • jshell tool: cannot access previous history
  • JShell: class replace loses instances
  • Cleanup FileDescriptor implementation
  • Remove deprecated Runtime::runFinalizersOnExit and System::runFinalizersOnExit
  • SetupTextFileProcessing should use sed with 'g'
  • Use System.lineSeparator() instead of getProperty("line.separator")
  • javax.lang.model.util.Elements.hides does not work correctly with interfaces
  • JDK-8198318 broke readlink testing
  • Update copyright to 2018
  • SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes
  • Change HeapRegionClosure to comply to naming conventions
  • Constify arguments of Copy methods
  • Create a jtreg version of the test from JDK-8187143.
  • Minimal Dynamic Constant support for AArch64
  • Cleanup unnecessary casts in Atomic/OrderAccess uses
  • s390 build broken after 8165929
  • Enable docker container related tests for linux s390x
  • Obsolete the VM option UseUTCFileTimestamp
  • Negative tests for CONSTANT_Dynamic
  • Update tests AllLineLocations and ClassesByName to use TestScaffold instead of JDIScaffold.
  • Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy
  • Remove redundant string streams used for logging
  • G1: Replace G1PLAB with PLAB
  • assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop()
  • [PPC64+s390] ConstantDynamic support
  • Need Access decorator for storing oop into uninitialized location
  • MacroAssembler::unimplemented calls global operator new[]
  • os::SuspendedThreadTask causes references to global operator delete
  • metaspace uses global operator new/delete for gtest testing
  • fieldDescriptor prints incorrect 32-bit representation of compressed oops
  • Qurarantine failing condy tests
  • Cleanup ElfFile and family
  • Null pointer dereference in MultiNode::proj_out_or_null
  • gcc 7.2.1 compiler warning in libdt_socket
  • Improve process output analysis in CDS tests
  • Enable CDS mode execution of jtreg tests via make
  • Update tests FilterMatch and FilterNoMatch to use TestScaffold.
  • [Testbug] serviceability/sa/ClhsdbFindPC.java fails to find expected output
  • ClassLoader::getSystemClassLoader throws InternalError when called after shutdown
  • Kerberos krb5 authentication: AuthList's put method leads to performance issue
  • java/util/Formatter/Basic.java failed in tr locale
  • [testbug] Test jdk/internal/jline/extra/HistoryTest.java is broken after 8166232
  • AIX build broken after latest whitebox.cpp changes
  • Bootstrapping java.lang.invoke can cause deadlock after JDK-8198418
  • Passing 'null' value to lookup param of ConstantBootstraps.invoke does not throw NullPointerException
  • Javadoc search broken after output files organization for modules
  • Xerces Update: XInclude update
  • Reduce cost of InvokerBytecodeGenerator::isStaticallyInvocable/-Nameable
  • Improve ClassLoaders static init block
  • Coding style cleanups for src/java.base/share/classes/jdk/internal/loader
  • The URLClassPath field "urls" should be renamed to "unopenedUrls"
  • URLClassPath should use an ArrayDeque instead of a Stack
  • Simplify a URLClassPath constructor
  • jdi tests failing after JDK-8198484
  • Move two java/text/Normalizer tests into OpenJDK
  • (ch) Separate blocking and non-blocking code paths (part 1)
  • Problem list tools/jimage/JImageExtractTest.java
  • Lazy initialization of ValueConversions MethodHandles
  • AIX build broken after latest whitebox.cpp changes
  • Move the OopStorage::ParState type out of inline.hpp
  • Remove last use of JavaThread::flush_barrier_queues()
  • Move JavaThread::initialize_queues() logic to G1SATBCardTableLoggingModRefBS
  • Add high-level jtreg VMProps to filter out CDS tests
  • Update those still using JDIScaffold to use TestScaffold instead.
  • Obsolete FastTLABRefill and remove the related code
  • Copy class should use assert macros
  • Avoid uses of global malloc and free
  • Remove dangerous assert in HandleArea::oops_do()
  • Make CollectedHeap::create_heap_space_summary() virtual
  • Log tags in -Xlog:help not sorted
  • Refactor LogTagLevelExpression into separate classes
  • Build failures after 8194084 (Obsolete FastTLABRefill and remove the related code)
  • Allow GCCauseSetter to be used outside of safepoints
  • Add time argument to ConcurrentGCTimer::register_gc_pause_start/_end
  • Make CollectorPolicy::satisfy_failed_metadata_allocation() virtual
  • VS2017 Unable to Instantiate OrderAccess::release_store with an Incomplete Class Within an Inlined Method
  • VS2017 Addition of Global Delete Operator with Size Parameter Conflicts with Arena's Chunk Provided One
  • VS2017 The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be removed
  • VS2017 (C4838) Narrowing conversion required from __int64 to julong
  • VS2017 Multiple Type Cast Conversion Compilation Errors
  • x86 (32 bit): implementation for Thread-local handshakes
  • Title from build failure with Xcode 9.1
  • Allow GCId::current_raw() calls from non-NamedThreads
  • Clean up GCId and GCIdMark
  • Fix aarch64 code for handling generate_code_for after FastTLABFill obsolete code
  • [REDO] NMT: add_committed_regions doesn't merge succeeding regions
  • os::attempt_reserve_memory_at records memory as committed
  • Cleanup ElfFile usage in whitebox.cpp
  • Accessors in typeArrayOopDesc should use new Access API
  • Obsolete -XX:+UnsyncloadClass and -XX:+MustCallLoadClassInternal options
  • Remove or repurpose unused PerfCounters from objectMonitor
  • [windows] Small cleanups after JDK-8185712
  • VS2017 Complains about UINTPTR_MAX definition in globalDefinitions_VisCPP.hpp
  • Direct memory accessors in typeArrayOop.hpp should use Access API
  • VS2017 (C2065) 'timezone': Undeclared Identifier in share/runtime/os.cpp
  • Remove CollectorPolicy::is/as functions
  • Remove CollectorPolicy::create_rem_set
  • Move satisfy_failed_metadata_allocation out from CollectorPolicy
  • Move allocation functions from GenCollectorPolicy to GenCollectedHeap
  • Extract SoftReferencePolicy code out of CollectorPolicy
  • Move _size_policy out of GenCollectorPolicy into GenCollectedHeap
  • Move GenerationSpecs from GenCollectorPolicy to GenCollectedHeap
  • Move _gc_policy_counters from GenCollectorPolicy to GenCollectedHeap
  • Windows does not build without precompiled headers
  • Rename hotspot_tier1 test group to tier1
  • jcmd: separate Metaspace statistics from NMT
  • Remove unused extension point AllocationContextStats
  • Multiple crashes on SPARC
  • Null pointer dereference in Klass::is_instance_klass of klass.hpp:532
  • Remove implicit casts from oop to JavaThread* and jlong*
  • Update CPU count algorithm when both cpu shares and quotas are used
  • [Graal] compiler/intrinsics/bmi/verifycode tests fail with Graal on macos
  • Remove unused safepoint message functions and ShowSafepointMsgs
  • clean up test/hotspot/jtreg/ProblemList.txt
  • add asserts to verify that ServiceUtil::visible_oop is not needed
  • Resolve disabled warnings for libdt_socket
  • Remove obsolete JDIScaffold class from repo.
  • Crash during GC when logging level is debug
  • Quarantine SADebugDTest.java again
  • Impact of noncloneable MessageDigest implementation
  • Refactor SetupNativeCompilation to take NAME and TYPE
  • [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set
  • Docs still point to JDK 9 docs

New in Java JRE 10 Build 45 Early Access (Feb 27, 2018)

  • Docs still point to JDK 9 docs

New in Java JRE 11 Build 2 Early Access (Feb 26, 2018)

  • (ref) Data race in Finalizer
  • Fix COMPARE_BUILD after forest consolidation
  • Add post custom extension hooks to two launchers
  • Spec clarification: j.u.Locale.getDisplayName()
  • Remove IPv6 support from TwoStacksPlainSocketImpl [win]
  • Make build comparisons clean again
  • jimage throws IOException when the given file is not a jimage file
  • tools/jimage/JImageListTest.java failing
  • tools/jimage/JImageExtractTest.java failing
  • Exclude tools/jimage/JImageExtractTest.java and tools/jimage/JImageListTest.java on Windows
  • jlink --exclude-resources should never exclude module-info.class
  • make/Main.gmk Add extra extension/override points to the make file
  • Create devkit for Solaris with developer studio 12.6 and Solaris11.3
  • add compiler support for local-variable syntax for lambda parameters
  • Invoke LambdaMetafactory::metafactory exactly from the BootstrapMethodInvoker
  • Replace native Runtime::runFinalization0 method with shared secrets
  • Make jdk.internal.vm.compiler/module-info.java.extra reproducable
  • jdk11+1 was built as 'fcs' instead of 'ea'
  • jdk11+1 was build with incorrect GA date as 2018-03-20
  • JDK build is broken by 8194892
  • System property user.dir should not be changed
  • Remove property sun.locale.formatasdefault
  • Incorrect currency instance returned by java.util.Currency.getInstance()
  • Refactor BootstrapMethodInvoker to further avoid runtime type checks
  • Crash with -XDfind=lambda for anonymous class in anonymous class.
  • Exception at runtime due to lambda analyzer reattributes live AST
  • Test langtools/tools/javac/analyzer/AnonymousInAnonymous.java failing after JDK-8198502
  • compiler support for local-variable syntax for lambda parameters

New in Java JRE 10 Build 44 Early Access (Feb 20, 2018)

  • JDK 10 L10n resource file update - msgdrop 20
  • G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set
  • Change HeapRegionClosure to comply to naming conventions
  • [Backout] JDK-8196602 Change HeapRegionClosure to comply to naming conventions
  • [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set

New in Java JRE 10 Build 43 Early Access (Feb 12, 2018)

  • (tz) Upgrade time-zone data to tzdata2018c
  • PPC64: vtableStubs gtest fails after 8174962
  • Update src/java.desktop/share/legal/libharfbuzz.md for harfbuzz
  • remove xmlresolver.md
  • avoid printing uninitialized buffer in os::print_memory_info on AIX
  • javac incorrectly flags deprecated for removal imports

New in Java JRE 10 Build 42 Early Access (Feb 2, 2018)

  • JCK tests produce incorrect results with C2
  • Add compiler/c2/Test8007294.java to the problem list
  • Zero port of 8174962: Better interface invocations
  • AArch64: Correct register use in patch for JDK-8195685
  • AArch64: vtableStubs gtest fails after 8174962
  • Crash passing null to a VarHandle
  • Update src/java.desktop/share/legal/libpng.md for libpng 1.6.34
  • [Graal] remove unused org.graalvm.options package
  • Lucene test crashes C2 compilation
  • AArch64: Mistake in committed patch for JDK-8195859
  • The usage of permissions in Desktop API should be clarified

New in Java JRE 10 Build 40 Early Access (Jan 19, 2018)

  • MethodHandle resolution should follow JVMS sequence of lookup by name & type before type descriptor resolution
  • javadoc should support/ignore --add-opens
  • AppCDS tests should use -XX:+UnlockCommercialFeatures when running with commercial JDK
  • Correct test tag to move bugid from @test to @bug
  • Regression manual Test javax/swing/JFileChooser/8067660/FileChooserTest.java fails
  • Warn when default HTML version is used
  • tools/launcher/RunpathTest.java fails with java.lang.NullPointerException
  • Unhandleable Push Promises should be cancelled
  • Improve javadoc in ResourceBundle working with modules
  • jdk/internal/reflect/CallerSensitive/CheckCSMs.java test fails when -Xmx512m set
  • Compilation fails with "node not on backedge" in OuterStripMinedLoopNode::adjust_strip_mined_loop
  • sun/nio/cs/TestStringCoding.java fails intermittently with getBytes(csn) failed -> GBK
  • Loop Strip Mining has some leftover debugging code
  • Export ClassLoaderData claim state to support interleaved object traversal
  • Update ASM 3rd party legal copyright to 6.0
  • JMX: Not enough JDP packets received
  • Fix type-O in "8159422: Very high Concurrent Mark mark stack contention"
  • Exceptions thrown in StartManagementAgent.java
  • Unreferenced FileDescriptors not closed
  • The asynchronous Http1HeaderParser doesn't handle all line folds correctly
  • JDK10 L10n resource file update - msgdrop 10
  • Support ISO 4217 Amendments 163 and 164
  • Add comment to technical terms that shall not be translated
  • Have use of "var" in 9 and earlier source versions issue a warning for type declarations
  • doclet corrupts HTML files when adding navbar
  • [test] runtime/6981737/Test6981737.java shouldn't check 'java.vendor' and 'java.vm.vendor' properties
  • Restrict the use of EXPORT cipher suites
  • Increase the number of clones in the CloneableDigest
  • Stream.flatMap() causes breaking of short-circuiting of terminal operations
  • Very large regressions in Octane benchmarks using 10-b39
  • SystemDictionary::link_method_handle_constant() can't link MethodHandle.invoke()/invokeExact()

New in Java JRE 9.0.4 (Jan 16, 2018)

  • NEW FEATURES IN OpenJDK 9:
  • security-libs/java.security:
  • Open source the root certificates in Oracle's Java SE Root CA program
  • The OpenJDK 9 binary for Linux x64 contains an empty cacerts keystore. This prevents TLS connections from being established because there are no Trusted Root Certificate Authorities installed. As a workaround for OpenJDK 9 binaries, users had to set the javax.net.ssl.trustStore System Property to use a different keystore.
  • "JEP 319: Root Certificates" [1] addresses this problem by populating the cacerts keystore with a set of root certificates issued by the CAs of Oracle's Java SE Root CA Program. As a prerequisite, each CA must sign the Oracle Contributor Agreement (OCA) http://www.oracle.com/technetwork/community/oca-486395.html, or an equivalent agreement, to grant Oracle the right to open-source their certificates.
  • NEW FEATURES:
  • security-libs/javax.net.ssl:
  • Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for TLS
  • The JDK SunJSSE implementation now supports the TLS FFDHE mechanisms defined in RFC 7919. If a server cannot process the supported_groups TLS extension or the named groups in the extension, applications can either customize the supported group names with jdk.tls.namedGroups, or turn off the FFDHE mechanisms by setting the System Property jsse.enableFFDHEExtension to false.
  • other-libs/corba:
  • Add additional IDL stub type checks to org.omg.CORBA.ORBstring_to_object method
  • Applications that either explicitly or implicitly call org.omg.CORBA.ORB.string_to_object, and wish to ensure the integrity of the IDL stub type involved in the ORB::string_to_object call flow, should specify additional IDL stub type checking. This is an "opt in" feature and is not enabled by default.
  • To take advantage of the additional type checking, the list of valid IDL interface class names of IDL stub classes is configured by one of the following:
  • Specifying the security property com.sun.CORBA.ORBIorTypeCheckRegistryFilter located in the file conf/security/java.security in Java SE 9 or in jre/lib/security/java.security in Java SE 8 and earlier.
  • Specifying the system property com.sun.CORBA.ORBIorTypeCheckRegistryFilter with the list of classes. If the system property is set, its value overrides the corresponding property defined in the java.security configuration.
  • If the com.sun.CORBA.ORBIorTypeCheckRegistryFilter property is not set, the type checking is only performed against a set of class names of the IDL interface types corresponding to the built-in IDL stub classes.
  • CHANGES:
  • security-libs/javax.crypto:
  • RSA public key validation
  • In 9.0.4, the RSA implementation in the SunRsaSign provider will reject any RSA public key that has an exponent that is not in the valid range as defined by PKCS#1 version 2.2. This change will affect JSSE connections as well as applications built on JCE.
  • security-libs/javax.crypto
  • Provider default key size is updated
  • This change updates the JDK providers to use 2048 bits as the default key size for DSA instead of 1024 bits when applications have not explicitly initialized the java.security.KeyPairGenerator and java.security.AlgorithmParameterGenerator objects with a key size.
  • If compatibility issues arise, existing applications can set the system property jdk.security.defaultKeySize introduced in JDK-8181048 with the algorithm and its desired default key size.
  • security-libs/javax.crypto
  • Stricter key generation
  • The generateSecret(String) method has been mostly disabled in the javax.crypto.KeyAgreement services of the SUN and SunPKCS11 providers. Invoking this method for these providers will result in a NoSuchAlgorithmException for most algorithm string arguments. The previous behavior of this method can be re-enabled by setting the value of the jdk.crypto.KeyAgreement.legacyKDF system property to true (case insensitive). Re-enabling this method by setting this system property is not recommended.
  • security-libs/javax.net.ssl
  • Disable exportable cipher suites
  • To improve the strength of SSL/TLS connections, exportable cipher suites have been disabled in SSL/TLS connections in the JDK by the jdk.tls.disabledAlgorithms Security Property.
  • core-svc/javax.management
  • JMX Connections need deserialization filters
  • New public attributes, RMIConnectorServer.CREDENTIALS_FILTER_PATTERN and RMIConnectorServer.SERIAL_FILTER_PATTERN have been added to RMIConnectorServer.java. With these new attributes, users can specify the deserialization filter pattern strings to be used while making a RMIServer.newClient() remote call and while sending deserializing parameters over RMI to server respectively.
  • The user can also provide a filter pattern string to the default agent via management.properties. As a result, a new attribute is added to management.properties.
  • Existing attribute RMIConnectorServer.CREDENTIAL_TYPES is superseded by RMIConnectorServer.CREDENTIALS_FILTER_PATTERN and has been removed.
  • BUG FIXES:
  • JDK-8185661 deploy webstart:JNLP files won't launch from IE11 on Windows 10 Creators Update
  • JDK-8190285 hotspot runtime: s390: Some java boolean checks are not correct
  • JDK-8181922 javafx media: Provide media support for libav version 57
  • JDK-8088681 javafx web: Underscore not visible in HTML combo box options inside webview
  • JDK-8185970 javafx web: Possible crash due to use-after-free
  • JDK-8189131 security-libsjava.security: Open-source the Oracle JDK Root Certificates
  • JDK-8186093 security-libs javax.crypto: A comment in the java.security configuration file incorrectly says that "strong but limited" is the default value
  • JDK-8140436 security-libs javax.net.ssl:Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for TLS
  • JDK-8148421 security-libs javax.net.ssl: Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension
  • JDK-8163237 security-libs javax.net.ssl: Restrict the use of EXPORT cipher suites
  • JDK-8193683 security-libs javax.net.ssl: Increase the number of clones in the CloneableDigest

New in Java JRE 10 Build 39 Early Access (Jan 13, 2018)

  • broken links in the javax/xml/namespace package
  • javadoc @uses and @provides tags in the modules documentation appears before the first-sentence summary of the service type.
  • Container memory not properly recognized.
  • jshell tool: sync nomenclature from reference to online /help
  • doclint throws missing comment warnings on lines which can't even have javadoc
  • Default Methods tab under Method Summary includes static methods
  • jaotc crashes with --debug flag
  • SHA-512 stub uses AVX 2 instructions on non-supporting CPUs
  • javadoc -encoding doesn't work when using the old doclet API
  • Interface with defaults invalid compiler warning for Serializable
  • ProblemList update for bugid associated with PreferredKey.java, ConcurrentHashMapTest and SSLSocketParametersTest.sh
  • Problem list com/sun/jndi/ldap/LdapTimeoutTest.java
  • Conversion of comparison nodes affects local slots in optimistic continuation
  • crash with classes with same binary name
  • Update javax.lang.model.SourceVersion for "var" name
  • [Testbug] serviceability/sa/Jhsdb* tests can't tolerate unrelated warnings
  • Quarantine test/hotspot/jtreg/compiler/codegen/Test6896617.java until JDK-8193479 is fixed
  • Writing replay data crashes: task is NULL
  • redundant/obsolete overview.html pages
  • delta apply changesets for JDK-8192885 and JDK-8175883
  • [Graal] gc/g1/TestShrinkAuxiliaryData tests crash with "assert(check_klass_alignment(result)) failed: address not aligned"
  • PPC64 safepoint mechanism: Fix initialization on AIX and support SIGTRAP
  • Test failure with java.lang.ClassNotFoundException: compiler.tiered.LevelTransitionTest
  • Add gc/stress/gclocker/TestGCLockerWithParallel.java to the ProblemList file
  • G1 uses young free cset time when reporting non-young free cset times
  • Regression manual Test javax/swing/JFileChooser/6515169/bug6515169.java fails
  • remove interim code from javax.tools.ToolProvider
  • bogus RuntimeVisibleTypeAnnotations for unused local in a block

New in Java JRE 10 Build 38 Early Access (Jan 8, 2018)

  • @LastModified tag in license header
  • takeWhile produces incorrect result with elements produced by flatMap
  • Use Dynalink REMOVE operation in Nashorn
  • References to @sun.com
  • JDK-8190862 work for arch s390
  • Remove pre-1.2 SecurityManager text from java.awt.Toolkit
  • Null pointer dereference in ciKlass::get_Klass of ciKlass.hpp:58
  • Null pointer dereference in methodData.hpp:462
  • aarch64 fails to build after 8167372
  • serviceability/sa/ClhsdbPrintStatics.java fails: java.lang.RuntimeException: '_jfr_checkpoints' missing from stdout/stderr
  • serviceability/sa/ClhsdbSymbol.java fails: java.lang.RuntimeException: 'UsageTracker' missing from stdout/stderr
  • Need new test for release info file
  • Bad lexing of javadoc comments (change in parsing/rendering of backslashes in javadoc)
  • serviceability/sa/TestClassDump.java fails in OpenJDK build
  • [TESTBUG] serviceability/sa/ClhsdbWhere.java fails to find method 'sleep' in output
  • [PIT][TEST BUG]: java/awt/FileDialog/MoveToTrashTest.java fails on Linux
  • javac should not compile a module if it requires java.base with modifiers
  • Fix SIGSEGV in print_threads_compiling.

New in Java JRE 10 Build 37 Early Access (Dec 22, 2017)

  • C2: Vector registers sometimes corrupted at safepoint
  • Regressions on Haswell Xeon due to JDK-8178811
  • AccessControlException by URLPermission check
  • Update copyright headers of files in src tree that are missing Classpath exception
  • AIX: new Harfbuzz 1.7.1 version fails to compile with xlC
  • Fix copyright header in nashorn builtin scripts
  • Cannot set COMPANY_NAME when configuring a build
  • Null handling in BodyPublisher, BodyHandler, and BodySubscriber convenience static factory methods
  • Expressions in split literals must never be optimistic
  • SA: Testcases for clhsdb jdis and findpc commands
  • get rid of redundant _smr_ prefix/infix in ThreadSMRSupport stuff
  • runtime/appcds/javaldr/ArrayTest.java crashes with assert(k->is_instance_klass())
  • serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java fails with NoClassDefFoundError
  • TestDumpReplay.java fails with product builds
  • CompressedClassSize too large with MaxMetaspace
  • jdk/hs fails Solaris slowdebug test-image build
  • EnsureLocalCapacity() should maintain capacity requests through multiple calls
  • ProblemList tools/launcher/TestXcheckJNIWarnings.java
  • tools/launcher/TestXcheckJNIWarnings.java WARNING was found in the output
  • LockCompilationTest fails intermittently
  • jvm crash by G1CMBitMapClosure::do_addr
  • C2: missing strength reduction of Math.pow(x, 2.0D) to x*x
  • add jdk.internal.vm.compiler to --limit-modules if -Djvmci.Compiler=graal is in the command line
  • Update Graal
  • Crash in "failed dependencies, but counter didn't change" with enabled UseJVMCICompiler
  • SA: Test cases for the clhsdb 'inspect', 'scanoops' and 'printas' commands
  • Remove the bot_updates parameter from G1Allocator's allocation methods
  • runtime/appcds/UseAppCDS.java: failed to clean up files after test when running with agentvm
  • JFR test TestUnloadingEventClass.java times out intermittently
  • Remove remnants of javah from jdk/jdk repo
  • JavaImporter fails to resolve method elements within functions, that contain too many statements
  • Improve interoperability between HTTP Client's BodyPublisher/BodySubscriber and Flow.Subscriber/Publisher

New in Java JRE 10 Build 36 Early Access (Dec 17, 2017)

  • Refresh incubating HTTP Client
  • Wrong "Package not found" warning
  • Add Reader::transferTo(Writer)
  • Wrong generic type parameter in serialized form javadoc
  • Compile problem on ARM after JDK-8043070
  • Support vectorization of Math.sqrt() on floats
  • Remove duplicated jmm.h
  • Run G1CMRemarkTask with the appropriate amount of threads instead of starting up everyone
  • gc/TestFullGCALot.java fails on jdk10 started with "-XX:-UseCompressedOops" option
  • [s390]: Improve String compress/inflate by exploiting vector instructions
  • Assert failed in > 200 tests: failed dependencies, but counter didn't change
  • Introduce a concurrency factor to be able to scale up or down jtreg concurrency when running Hotspot tests
  • Remove unused methods from StubQueue
  • Test failures in BootAppendTests - missing jdk.internal.vm.compiler module
  • Cleanup Full GC setup and tear down
  • Assert failed in instanceMirrorKlass.inline.hpp
  • assert(_whole_heap.contains(p)) failed: Attempt to access p out of bounds of card marking array's _whole_heap
  • Lazily initialize refinement threads with UseDynamicNumberOfGCThreads
  • guarantee(_byte_map[_guard_index] == last_card) failed: card table guard has been modified
  • inconsistent handling of SR_lock can lead to crashes
  • Missing deprecated options in VMDeprecatedOptions.java
  • Options with invalid values are incorrectly treated as obsolete and ignored
  • compiler/runtime/SpreadNullArg.java fails in tier1
  • jstack and clhsdb jstack should show lock objects
  • Add missing includes in memoryManager.hpp
  • Add perfData.inline.hpp
  • Move and refactor hSpaceCounters
  • With perm gen gone, perfdata counter sun.gc.policy.generations should be 2, not 3
  • Remove explicit code cache options processing
  • The code heap might use different alignment for committed size and reserved size
  • issues with unsafe handle resolution
  • jstat prints debug message when debugging is disabled
  • Warn about UseNUMA/UseLargePages only when using ParallelGC
  • Provide a public destructor for WorkGang
  • IdealGraphVisualizer: "ant build/run" fails due to outdated bootstrap.url
  • Zero should use compiler built-ins for atomics on linux-m68k
  • Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
  • AArch64: implementation for Thread-local handshakes
  • Give the jdk.internal.vm.compiler.management only the permissions it really needs to expose the bean
  • assert(u_ctrl != blk1 && u_ctrl != blk2) failed: won't converge
  • Bug in MutableNUMASpace::ensure_parsability
  • Include TestJhsdbJstackLock.java in ProblemList.txt
  • assert(b->is_Bool()) in PhaseIdealLoop::clone_iff() due to Opaque4 node
  • Vectorization fails for some multiplication with constant cases
  • [TESTBUG] CDSTestUtils.isUnableToMap() should check OptionalData region mapping failure
  • Move AppCDS from closed repo to open repo
  • SA: Remove left over quarantined SA tests due to 8184042 from ProblemList.txt
  • Improper synchronization in offer_termination
  • AARCH64: Fix hint instructions encoding
  • [ppc64] Fix CDS: don't rewrite invokefinal if DumpSharedSpaces
  • [s390] Fix CDS: some bytecode rewriting doesn't depend on RewriteControl
  • Replace plaintext passwords by hashed passwords for out-of-the-box JMX Agent
  • C2: loop strip mining
  • VM startup fails with CodeCacheExpansionSize=32768 is outside the allowed range
  • Remove badJNIHandle
  • Adjustment to anonymous metadata space chunk allocation algorithm
  • Error message should be shown when JVMTI agent cannot be attached
  • Return type profiling is not performed from aarch64 interpreter
  • AOT lib at jdk/lib/libjava.base-coop.so seems to override -XX:AOTLibrary=
  • Implementation: JEP 316: Heap Allocation on Alternative Memory Devices
  • Develop test cases and collect test pass rate
  • Enable AppCDS for custom loaders on all 64-bit Linux and AIX
  • [TESTBUG] runtime/appcds/DumpClassList.java and ProhibitedPackage.java fail on product bits
  • Clean up allocation.inline.hpp includes
  • SA: Running ClassDump on a simple java program generates NullPointerException
  • testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java fail due to new method in Platform.java
  • SA: Testcases for attach, detach, reattach and Jhisto commands
  • JVM crashes inside some chroot environments on linux
  • LogCompilation throws java.lang.Error: scope underflow
  • 8191782 fix for VMDeprecatedOptions.java missed DeferThrSuspendLoopCount and duplicated DeferPollingPageLoopCount
  • SA cleanup -- part 2
  • SIGSEGV in nmethod::new_native_nmethod
  • Refactor GC related servicability code into GC specific subclasses
  • clang-4.0 SIGSEGV in Unsafe_PutByte
  • Make LogCompilation into a maven project
  • Bootclasspath append should not invalidate CDS archive
  • AOT doesn't work easily after thread local handshakes
  • move private inline functions from thread.inline.hpp -> thread.cpp
  • serviceability/dcmd/jvmti/AttachFailed/AttachNoEntry.java failing on Windows
  • BasicType and BasicTypeSize should refer to HotSpot values
  • [TESTBUG] docker/TestCPUAwareness fails on machine with 2 CPUs
  • [TESTBUG] Move UseAppCDS.java from the closed ProblemList.txt to the open one
  • New SA test timeout on windows
  • Finer granularity for GC verification
  • Comment about LIR_OprDesc.value in c1_LIR.hpp is incorrect
  • SA: tests for clhsdb commands: vmstructsdump, field, symboltable and symbol
  • AARCH64: Invalid value passed to critical JNI function
  • Parameters type profiling is not performed from aarch64 interpreter
  • EnableThreadSMRStatistics should be default off in release builds
  • Uninitialized notifier in Java Monitor Wait tracing event
  • [s390]: restoring register contents calculates wrong value
  • PPC64: Missing null check in C1 inline cache check
  • AIX build broken after JDK-8190308
  • Update Graal
  • JVM crashes while generating appcds for classpath with empty directory entry
  • applications/ctw/modules tests fail intermittently
  • LoopNode::verify_strip_mined() fails with "assert failed: only phis"
  • Different results with UseAVX=3 when calling AVX-512 native function via JNI
  • Update UseAVX after cpu feature detection to use more default mapping
  • assertion failed: no insertions allowed
  • Invalid username or password in HashedPasswordFileTest.java
  • gc/g1/TestVerifyGCType.java might fail on loaded machines
  • compiler/c2/Test7029152.java crashes with SIGILL in java.lang.StringLatin1.indexOf with -XX:+UseJVMCICompiler
  • [TESTBUG] [TESTBUG]GCSharedStringsDuringDump.java: Exception in thread "main" java.lang.RuntimeException: String is not shared.
  • Add gc/g1/TestVerifyGCType.java to problem list
  • Module attribute in 54.0+ class file cannot contains a requires java.base with ACC_TRANSITIVE or ACC_STATIC_PHASE
  • (fs) UnixNativeDispatcher conditionally compiles in support for high precision timestamps
  • Reduce the number of classes loaded due to NativeLibrary
  • Need stable sort for MODULES entry in the release file
  • Need to backout fixes for JDK-8058547, JDK-8055753, JDK-8085903
  • Jshell: error with mutually dependent snippets, when one must be replaced
  • Update JavacTestingAbstractProcessor for JDK 10
  • Update JDK 9.0.1 and Future OpenJDK bundle names
  • @value Tags are not resolved by javadoc 9.
  • Remove methods Runtime.getLocalized{Input,Output}Stream
  • "-group" option issue for classes from default package
  • keytool should remember real storetype if it is not provided
  • Don't use binary testing files broken.jar
  • Fix format string in libdt_shmem/shmemBase.c
  • Element getters/setters with fixed key fail to link properly
  • Nashorn crashes when given an empty script file
  • Regression in logging.properties: specifying .handlers= for root logger (instead of handlers=) no longer works
  • Configuration and ModuleLayer findModule cleanup
  • Inconsistent handling of exploded modules in jlink
  • FileInput/OutputStream/FileChannel cleanup should be improved
  • Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension
  • The java.util.logging.Level.findLevel() will not correctly find a Level by it's int value
  • Update javax.lang.model.util visitors for 10
  • update java/time tests to use RandomFactory from the top level testlibrary
  • ProblemList tools/launcher/TestXcheckJNIWarnings.java
  • Fix EnumSet's SerializationProxy javadoc
  • SubmissionPublisher invokes the Subscriber's onComplete before all of its submitted items have been published
  • Optimize atomic accumulators using VarHandle getAndSet
  • Miscellaneous changes imported from jsr166 CVS 2017-12-08
  • Verification error for enclosing instance capture inside super constructor invocation
  • Missing checks and small fixes in jdwp library
  • com.sun.tools.javac.api.JavacTool.isSupportedOption misreports number of arguments consumed
  • Jshell crash on tab for StringBuilder.append(
  • Update Zip implementation to use Cleaner, not finalizers
  • SimpleTimeZone.clone() has a data race on cache fields
  • NPE occurs on clhsdb jstack
  • Broken link in org/w3c/dom/ls/
  • Better usage of JDWP HEADER SIZE
  • Don't run javadoc with test.single
  • Add a REMOVE StandardOperation to Dynalink
  • Typo in java.net.URLClassLoader.findResources(String) method documentation
  • Regression: ClassCastException: Type$ErrorType cannot be cast to Type$ArrayType
  • Implement sharedScopeCall for optimistic types
  • PKCS11 using NSS throws an error regarding secmod.db when NSS uses sqlite
  • Comparator.reverseOrder(c) mishandles singleton comparators
  • MethodType allows unvalidated parameter types
  • Additional Unicode Language-Tag Extensions
  • Umbrella: add overloads that take a Charset parameter
  • jdeps --generate-module-info does not look at module path
  • javadoc complains about empty module
  • JNI primitive type mismatch in SocketDispatcher.c:187
  • Open-source the Oracle JDK Root Certificates
  • method summary tables of inherited methods improperly list static interface methods
  • ClassCastException is thrown by java.util.Scanner when a NumberFormatProvider is used.
  • [Windows] jshell tool: Wrong character in /env class-path command crashes jshell
  • Optimize URL.toExternalForm
  • ModuleDescriptor.{Requires,Exports,Open} toString should use toLowerCase(Local.ROOT)
  • ZipCoder performance improvements
  • Provide more user friendly defaults for HTTP/2 client settings
  • missing 'title' in api/javax/swing/plaf/synth/doc-files/componentProperties.html
  • Memory leak in JabSwitch
  • Premature deprecation of Event/InputEvent/KeyEvent in Java 9
  • Create an alternative fix for JDK-8167102, whose fix was backed out
  • Update specification of service providers for IIORegistry and ServiceRegistry
  • The Windows L&F should be moved out from the shared folder
  • jdk/jshell/StartOptionTest.java and jdk/jshell/ToolProviderTest.java failed after changeset e0f08a
  • jshell tool: Online help text for commands is confusing
  • Upgrade to Harfbuzz 1.7.1 in JDK 10
  • jshell tool: / gives "No such command"
  • NPE from BasicListUI.Actions.getNextPageIndex
  • ListSelectionModel.setSelectionMode() underspecified
  • Regression in java.awt.FileDialog
  • Update jtreg TEST.groups and ProblemList for client-libs
  • Upgrade to libpng 1.6.34
  • Small cleanup of AWTEvent class
  • Various audio files writers do not close file streams properly
  • Marlin rasterizer spends time computing geometry for stroked segments that do not intersect the clip
  • Large performance regression in Swing text layout
  • jshell tool: /edit with external editor leaks files in /tmp
  • java.awt.Desktop.moveToTrash(File) prompts on Windows 7 but not on Mac
  • TrayIcon Action Listener doesnt work in WIndows 10
  • NullPointerExcpn-java.awt.image.FilteredImageSource.startProduction JDK-8079607
  • Automatically selecting a new JTree node in a model listener can cause unusual behavior
  • [TEST_BUG] : sanity/client/SwingSet/src/ProgressBarDemoTest.java failed with "Wait "greater then 1349" state to be reached
  • Take tools/launcher/TestXcheckJNIWarnings.java back off the ProblemList
  • Startup regression due to JDK-8185582
  • Add module support for -link and -linkoffline javadoc option
  • SA: Testcase for 'clhsdb source' command
  • assertion failed: no insertions allowed
  • [Graal] java/lang/invoke/CallSiteTest.java intermittently fails with "Failed dependency of type call_site_target_value" when running with Graal as JIT
  • Move jvm.h, jmm.h et al to hotspot/*/include
  • NPE occurs on clhsdb jstack
  • Lookup of critical JNI method causes duplicate library loading with leaking handler
  • Missing -nativepath for svc tests
  • compiler/intrinsics/bigInteger/TestMultiplyToLen.java fails with java.lang.Exception: Failed
  • JDK-8190484 breaks build on Windows
  • gc/g1/TestVerifyGCType.java might fail on loaded machines
  • Add gc/g1/TestVerifyGCType.java to problem list
  • Invalid username or password in HashedPasswordFileTest.java
  • Support cmov vectorization for float
  • SimpleThresholdPolicy assumes non-trivial methods to be trivial
  • [Testbug] runtime/handshake/HandshakeTransitionTest throws NPE
  • migrate more Thread-SMR stuff from thread.[ch]pp -> threadSMR.[ch]pp
  • [TESTBUG] [TESTBUG]GCSharedStringsDuringDump.java: Exception in thread "main" java.lang.RuntimeException: String is not shared.
  • compiler/c2/Test7029152.java crashes with SIGILL in java.lang.StringLatin1.indexOf with -XX:+UseJVMCICompiler
  • -XX:+UseCountedLoopSafepoints alone doesn't disable strip mining with G1
  • Print error code when map_memory_to_file() fails
  • Error during JRMP connection establishment
  • [BACKOUT] fix for 8182307 Error during JRMP connection establishment
  • LockCompilationTest fails intermittently
  • (jdeprscan) additional version updates for JDK 10
  • Remove the Native-Header Tool (javah)
  • JavaImporter fails to resolve imported elements within functions, that contain too many statements
  • duplicate entries in package table
  • JEP 322: Time-Based Release Versioning
  • add no-arg Optional.orElseThrow() as preferred alternative to get()
  • Add information about local variable type inference to SourceVersion.RELEASE_10
  • java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java, FinalizeZipFile.java, TestCleaner.java, Collectible.java failed because cleaner can't finish
  • [s390]: EncodeISOArray generates wrong vector code
  • PPC64, s390 implementation for Thread-local handshakes
  • keytool should support -storepasswd for pkcs12 keystores
  • Parser should not eagerly transform delete expressions
  • javah launcher was not removed by JDK-8191054
  • [REDO] Startup regression due to JDK-8185582
  • Add additional licensing file for the JDK
  • Intermittent failures of TestModulePackages.java

New in Java JRE 10 Build 35 Early Access (Dec 8, 2017)

  • tools/javadoc(tool):
  • HTML files in doc-files subdirectories are wrapped with standard javadoc decorations. The standard doclet will copy HTML files in doc-files subdirectories for packages being documented to the document output directory. The content of such files will be wrapped with the standard header, footer and navigation bars. In addition, any appropriate comment tags within such files will now be processed.
  • security-libs/java.security:
  • Remove deprecated pre-1.2 SecurityManager methods and fields. The following pre-1.2 deprecated java.lang.SecurityManager methods and fields that have been marked with forRemoval=true have now been removed: the inCheck field, and the getInCheck, classDepth, classLoaderDepth, currentClassLoader, currentLoadedClass, inClass, and inClassLoader methods. Also, the deprecated checkMemberAccess method has been changed to throw a SecurityException if the caller has not been granted AllPermission as this method is error-prone and users should instead invoke the checkPermission method directly.

New in Java JRE 10 Build 34 Early Access (Dec 1, 2017)

  • MBeanOperationInfo accepts any int value as "impact":
  • A new validation for impact parameter of javax.management.MBeanOperationInfo.MBeanOperationInfo constructor has been introduced. MBeanOperationInfo now throws a new IllegalArgumentException if impact provided is not among INFO, ACTION, ACTION_INFO, UNKNOWN

New in Java JRE 10 Build 33 Early Access (Nov 23, 2017)

  • javadoc treats failure to access a URL as an error, not a warning:
  • If javadoc cannot access the contents of a URL provided with the -link or -linkoffline options, the tool will now report an error. Previously, the tool continued with a warning, producing incorrect documentation output.

New in Java JRE 10 Build 32 Early Access (Nov 18, 2017)

  • security-libs/java.security:
  • The java.security.acl APIs are deprecated, for removal
  • security-libs/java.security:
  • The java.security.{Certificate,Identity,IdentityScope,Signer} APIs are deprecated, for removal

New in Java JRE 10 Build 30 Early Access (Nov 6, 2017)

  • Automatic showing of the touch keyboard for Swing/AWT text components:
  • This release adds support for automatic showing of the touch keyboard for Swing/AWT text components on Microsoft Windows 8 or later. The touch keyboard can be shown, when the user taps the text component area using a touch screen or clicks in this area using a mouse, when no keyboard is attached to a computer. The system property "awt.touchKeyboardAutoShowIsEnabled" controls whether this functionality is enabled in the JDK, and it is enabled by default. If this functionality is not needed, the user can switch it off by setting this system property to "false" on the command line with "-Dawt.touchKeyboardAutoShowIsEnabled=false".

New in Java JRE 10 Build 29 Early Access (Nov 3, 2017)

  • Automatic showing of the touch keyboard for Swing/AWT text components:
  • This release adds support for automatic showing of the touch keyboard for Swing/AWT text components on Microsoft Windows 8 or later. The touch keyboard can be shown, when the user taps the text component area using a touch screen or clicks in this area using a mouse, when no keyboard is attached to a computer. The system property "awt.touchKeyboardAutoShowIsEnabled" controls whether this functionality is enabled in the JDK, and it is enabled by default. If this functionality is not needed, the user can switch it off by setting this system property to "false" on the command line with "-Dawt.touchKeyboardAutoShowIsEnabled=false".

New in Java JRE 10 Build 27 Early Access (Oct 18, 2017)

  • security-libs/java.security:
  • Remove policytool. The policytool security tool has been removed from the JDK
  • deploy/plugin:
  • Removal of common DOM APIs. The com.sun.java.browser.plugin2.DOM, and sun.plugin.dom.DOMObject APIs have been removed. Applications can use netscape.javascript.JSObject to manipulate the DOM.
  • security-libs/javax.security:
  • Remove deprecated classes in com.sun.security.auth. The following deprecated classes that were marked for removal in JDK 9 have been removed:
  • com.sun.security.auth.PolicyFile
  • com.sun.security.auth.SolarisNumericGroupPrincipal
  • com.sun.security.auth.SolarisNumericUserPrincipal
  • com.sun.security.auth.SolarisPrincipal
  • com.sun.security.auth.X500Principal
  • com.sun.security.auth.module.SolarisLoginModule
  • com.sun.security.auth.module.SolarisSystem
  • hotspot/runtime:
  • Obsolete -X options have been removed. The obsolete HotSpot VM options (-Xoss, -Xsqnopause, -Xoptimize, -Xboundthreads and -Xusealtsigs) have been removed in this release.
  • tools/javadoc(tool):
  • Provide a new comment tag to specify the summary of an API description. By default, the summary of an API description is inferred from the first sentence, which is determined by using either a simple algorithm or java.text.BreakIterator. But, the heuristics are not always correct, and can lead to incorrect determination of the end of the first sentence. A new inline tag {@summary ...} is now available, to explicitly specify the text to be used as the summary of the API description.
  • xml:
  • XMLInputFactory.newFactory incorrectly deprecated.A '@Deprecated' annotation was incorrectly added to the 'newFactory()' method in 'javax.xml.stream.XMLInputFactory' in Java SE 9. The method should not have been deprecated. This issue has been fixed and the '@Deprecated' annotation removed. Applications using the 'newInstance()' method are not affected.

New in Java JRE 9.0.1 (Oct 18, 2017)

  • Changes:
  • security-libs/java.security
  • Refactor existing providers to refer to the same constants for default values for key length:
  • Two important changes have been made for this issue:
  • 1. A new system property has been introduced that allows users to configure the default key size used by the JDK provider implementations of KeyPairGenerator and AlgorithmParameterGenerator. This property is named "jdk.security.defaultKeySize" and the value of this property is a list of comma-separated entries. Each entry consists of a case-insensitive algorithm name and the corresponding default key size (in decimal) separated by ":". In addition, white space is ignored.
  • By default, this property will not have a value, and JDK providers will use their own default values. Entries containing an unrecognized algorithm name will be ignored. If the specified default key size is not a parseable decimal integer, that entry will be ignored as well.
  • 2. The DSA KeyPairGenerator implementation of the SUN provider no longer implements java.security.interfaces.DSAKeyPairGenerator. Applications which cast the SUN provider's DSA KeyPairGenerator object to a java.security.interfaces.DSAKeyPairGenerator can set the system property "jdk.security.legacyDSAKeyPairGenerator". If the value of this property is "true", the SUN provider will return a DSA KeyPairGenerator object which implements the java.security.interfaces.DSAKeyPairGenerator interface. This legacy implementation will use the same default value as specified by the javadoc in the interface.
  • By default, this property will not have a value, and the SUN provider will return a DSA KeyPairGenerator object which does not implement the forementioned interface and thus can determine its own provider-specific default value as stated in the java.security.KeyPairGenerator class or by the "jdk.security.defaultKeySize" system property if set.
  • core-libs/java.util:collections
  • Collections use serialization filter to limit array sizes:
  • Deserialization of certain collection instances will cause arrays to be allocated. The ObjectInputFilter.checkInput() method is now called prior to allocation of these arrays. Deserializing instances of ArrayDeque, ArrayList, IdentityHashMap, PriorityQueue, java.util.concurrent.CopyOnWriteArrayList, and the immutable collections (as returned by List.of, Set.of, and Map.of) will call checkInput() with a FilterInfo instance whose serialClass() method returns Object[].class. Deserializing instances of HashMap, HashSet, Hashtable, and Properties will call checkInput() with a FilterInfo instance whose serialClass() method returns Map.Entry[].class. In both cases, the FilterInfo.arrayLength() method will return the actual length of the array to be allocated. The exact circumstances under which the serialization filter is called, and with what information, is subject to change in future releases.
  • security-libs/java.security
  • Add warnings to keytool when using JKS and JCEKS:
  • When keytool is operating on a JKS or JCEKS keystore, a warning may be shown that the keystore uses a proprietary format and migrating to PKCS12 is recommended. The keytool's -importkeystore command is also updated so that it can convert a keystore from one type to another if the source and destination point to the same file.
  • Bug fixes:
  • (JBS, component, subcomponent, description)
  • 1 JDK-8183297 infrastructure Allow duplicate bugid for changeset in jdk9 update forest
  • 2 JDK-8187993 infrastructure [CPU17_04] Need to update securitypack.jar with baseline.versions file having jdk9 entry
  • 3 JDK-8187043 javafx graphics JavaFX fails to launch on some Windows platforms due to missing VS2017 libraries
  • 4 JDK-8089283 javafx web Padding property of the select tag is incorrect in WebView
  • 5 JDK-8176729 javafx web com.sun.webkit.dom.NodeImpl#SelfDisposer is not called
  • 6 JDK-8178319 javafx web Build sqlite3 from source
  • 7 JDK-8178360 javafx web Build and integrate ICU from source
  • 8 JDK-8178440 javafx web Build libxml2 and libxslt from source
  • 9 JDK-8179673 javafx web JVM Crash in WebPage.setBackgroundColor() during webpage navigation (Non Public API)
  • 10 JDK-8183292 javafx web Update to 604.1 version of WebKit
  • 11 JDK-8184448 javafx web Crash while loading gif images with more frames
  • 12 JDK-8185132 javafx web window.requestAnimationFrame API is not working

New in Java JRE 8 Build 152 (Oct 18, 2017)

  • New features:
  • security-libs/javax.crypto
  • New Security property to control crypto policy:
  • This release introduces a new feature whereby the JCE jurisdiction policy files used by the JDK can be controlled via a new Security property. In older releases, JCE jurisdiction files had to be downloaded and installed separately to allow unlimited cryptography to be used by the JDK. The download and install steps are no longer necessary. To enable unlimited cryptography, one can use the new crypto.policy Security property. If the new Security property (crypto.policy) is set in the java.security file, or has been set dynamically using the Security.setProperty() call before the JCE framework has been initialized, that setting will be honored. By default, the property will be undefined. If the property is undefined and the legacy JCE jurisdiction files don't exist in the legacy lib/security directory, then the default cryptographic level will remain at 'limited'. To configure the JDK to use unlimited cryptography, set the crypto.policy to a value of 'unlimited'. See the notes in the java.security file shipping with this release for more information.
  • Note : On Solaris, it's recommended that you remove the old SVR4 packages before installing the new JDK updates. If an SVR4 based upgrade (without uninstalling the old packages) is being done on a JDK release earlier than 6u131, 7u121, or 8u111, then you should set the new crypto.policy Security property in the java.security file.
  • Because the old JCE jurisdiction files are left in <java-home>/lib/security, they may not meet the latest security JAR signing standards, which were refreshed in 6u131, 7u121, 8u111, and later updates. An exception similar to the following might be seen if the old files are used:
  • Caused by: java.lang.SecurityException: Jurisdiction policy files are not signed by trusted signers!
  • at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:593)
  • at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:524)
  • Changes:
  • hotspot/compiler
  • BigInteger performance improvements turned on by default:
  • The performance improvements described in JDK-8130150 and JDK-8081778 have now been turned on by default.
  • They can be turned off by using the following command options:
  • -XX:-UseMontgomerySquareIntrinsic
  • -XX:-UseMontgomeryMultiplyIntrinsic
  • -XX:-UseSquareToLenIntrinsic
  • -XX:-UseMultiplyToLenIntrinsic
  • Bug fixes:
  • (JBS, component, subcomponent, description)
  • 1 JDK-8160893 client‑libs [macosx] JMenuItems in JPopupMenu are not accessible
  • 2 JDK-8177315 client‑libs backout changes for 8176516 (backport of 8173791)
  • 3 JDK-8039412 client‑libs 2d Stack overflow on Linux using DialogTypeSelection.NATIVE
  • 4 JDK-8040635 client‑libs 2d [macosx] Printing a shape filled with a texture doesn't work under Mac OS X
  • 5 JDK-8058316 client‑libs 2d lookupDefaultPrintService returns null on Solaris 11 when default printer is set using lpoptions command
  • 6 JDK-8061258 client‑libs 2d [macosx] PrinterJob's native Print Dialog does not reflect specified Copies or Page Ranges
  • 7 JDK-8067059 client‑libs 2d PrinterJob.pageDialog() with DialogSelectionType.NATIVE returns a PageFormat when cancelled.
  • 8 JDK-8074562 client‑libs 2d CID keyed OpenType fonts are not supported by T2K
  • 9 JDK-8089573 client‑libs 2d [macosx] Incorrect char to glyph mapping printing on OSX 10.10
  • 10 JDK-8158356 client‑libs 2d SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees
  • 11 JDK-8160664 client‑libs 2d JVM crashed with font manager on Solaris 12
  • 12 JDK-8162488 client‑libs 2d JDK should be updated to use LittleCMS 2.8
  • 13 JDK-8162796 client‑libs 2d [macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X.
  • 14 JDK-8167102 client‑libs 2d [macosx] PrintRequestAttributeSet breaks page size set using PageFormat
  • 15 JDK-8170552 client‑libs 2d [macosx] Wrong rendering of diacritics on macOS
  • 16 JDK-8170913 client‑libs 2d Java "1.8.0_112" on Windows 10 displays different characters for EUDCs from ones created in eudcedit.exe.
  • 17 JDK-8170950 client‑libs 2d Text is displayed in bold when fonts are installed into symlinked folder
  • 18 JDK-8175025 client‑libs 2d The copyright section in the test/java/awt/font/TextLayout/DiacriticsDrawingTest.java should be updated
  • 19 JDK-8176530 client‑libs 2d JDK support for JavaFX modal print dialogs
  • 20 JDK-4953367 client‑libs java.awt MAWT: Java should be more careful manipulating NLSPATH, XFILESEARCHPATH env variables
  • 21 JDK-6980209 client‑libs java.awt Make tracking SecondaryLoop.enter/exit methods easier
  • 22 JDK-8035568 client‑libs java.awt [macosx] Cursor management unification
  • 23 JDK-8040322 client‑libs java.awt TextArea.replaceRange() and insert() are broken with setText(null)
  • 24 JDK-8050478 client‑libs java.awt [macosx] Cursor not updating correctly after closing a modal dialog
  • 25 JDK-8075516 client‑libs java.awt Deleting a file from either the open or save java.awt.FileDialog hangs.
  • 26 JDK-8139189 client‑libs java.awt VK_OEM_102 dead key detected as VK_UNDEFINED
  • 27 JDK-8140525 client‑libs java.awt AwtFrame::WmShowWindow() may steal focus
  • 28 JDK-8156116 client‑libs java.awt [macosx] two JNI locals to delete in AWTWindow.m, CGraphicsEnv.m
  • 29 JDK-8156723 client‑libs java.awt JVM crash at sun.java2d.windows.GDIBlitLoops.nativeBlit
  • 30 JDK-8160570 client‑libs java.awt [macosx] modal dialog can skip the activation/focus events
  • 31 JDK-8160623 client‑libs java.awt [PIT] Exception running java/awt/event/KeyEvent/KeyChar/KeyCharTest.java
  • 32 JDK-8160696 client‑libs java.awt IllegalArgumentException: adding a component to a container on a different GraphicsDevice
  • 33 JDK-8160941 client‑libs java.awt "text/uri‑list" dataflavor concats the first two strings
  • 34 JDK-8163583 client‑libs java.awt [macosx] Press "To Back" button on the Dialog,the Dialog moves behind the Frame
  • 35 JDK-8165717 client‑libs java.awt [macosx] Various memory leaks in jdk9
  • 36 JDK-8169355 client‑libs java.awt Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
  • 37 JDK-8173853 client‑libs java.awt IllegalArgumentException in java.awt.image.ReplicateScaleFilter
  • 38 JDK-8173876 client‑libs java.awt [macosx] Fast precise scrolling and DeltaAccumulator fix for macOS Sierra 10.12.2
  • 39 JDK-8176490 client‑libs java.awt [macosx] Sometimes NSWindow.isZoomed hangs
  • 40 JDK-8136570 client‑libs java.awt:i18n Stop changing user environment variables related to /usr/dt
  • 41 JDK-8159696 client‑libs java.beans java.beans.MethodRef#get throws NullPointerException
  • 42 JDK-8076249 client‑libs javax.accessibility NPE in AccessBridge while editing JList model
  • 43 JDK-8076554 client‑libs javax.accessibility [macosx] Custom Swing text components need to allow standard accessibility
  • 44 JDK-8145207 client‑libs javax.accessibility [macosx] JList, VO can't access non‑visible list items
  • 45 JDK-8165829 client‑libs javax.accessibility Android Studio 2.x crashes with NPE at sun.lwawt.macosx.CAccessibility.getAccessibleIndexInParent
  • 46 JDK-8171808 client‑libs javax.accessibility Performance problems in dialogs with large tables when JAB activated
  • 47 JDK-8175915 client‑libs javax.accessibility NullPointerException from JComboBox and JList when Accessibility enabled
  • 48 JDK-8168751 client‑libs javax.sound Two "Direct Clip" threads are created to play the same "AudioClip" object, what makes clip sound corrupted
  • 49 JDK-7172652 client‑libs javax.swing With JDK 1.7 text field does not obtain focus when using mnemonic Alt/Key combin
  • 50 JDK-8152981 client‑libs javax.swing Double icons with JMenuItem setHorizontalTextPosition on Win 10
  • 51 JDK-8158325 client‑libs javax.swing Memory leak in com.apple.laf.ScreenMenu: removed JMenuItems are still referenced
  • 52 JDK-8161664 client‑libs javax.swing Memory leak in com.apple.laf.AquaProgressBarUI: removed progress bar still referenced
  • 53 JDK-8177450 client‑libs javax.swing javax.swing.text.html.parser.Parser parseScript ignores a character after comment end
  • 54 JDK-8163518 core‑libs java.io Integer overflow in StringBufferInputStream.read() and CharArrayReader.read/skip()
  • 55 JDK-8169556 core‑libs java.io Wrap FileInputStream's native skip and available methods
  • 56 JDK-8161039 core‑libs java.lang System.getProperty("os.version") returns incorrect version number on Mac
  • 57 JDK-8170153 core‑libs java.lang PPC64/s390x/aarch64: Poor StrictMath performance due to non‑optimized compilation
  • 58 JDK-8170873 core‑libs java.lang PPC64/aarch64: Poor StrictMath performance due to non‑optimized compilation
  • 59 JDK-8172053 core‑libs java.lang (ppc64) Downport of 8170153 breaks build on linux/ppc64 (big endian)
  • 60 JDK-8173654 core‑libs java.lang Regression since 8u60: System.getenv doesn't return env var set in JNI code
  • 61 JDK-8174729 core‑libs java.lang:reflect Race Condition in java.lang.reflect.WeakCache
  • 62 JDK-6947916 core‑libs java.net JarURLConnection does not handle useCaches correctly
  • 63 JDK-8022580 core‑libs java.net sun.net.ftp.impl.FtpClient.nameList(String path) handles "null" incorrectly
  • 64 JDK-8035158 core‑libs java.net Remove dependency on sun.misc.RegexpPool and friends
  • 65 JDK-8035653 core‑libs java.net InetAddress.getLocalHost crash
  • 66 JDK-8071424 core‑libs java.net JCK test api/java_net/Socket/descriptions.html#Bind crashes on Windows
  • 67 JDK-8075484 core‑libs java.net SocketInputStream.socketRead0 can hang even with soTimeout set
  • 68 JDK-8145732 core‑libs java.net Duplicate entry in http.nonProxyHosts will ignore subsequent entries
  • 69 JDK-8159410 core‑libs java.net InetAddress.isReachable returns true for non existing IP addresses
  • 70 JDK-8166747 core‑libs java.net Add invalid network / computer name cases to isReachable known failure switch
  • 71 JDK-8169865 core‑libs java.net Downport minor fixes in java.net native code from JDK 9 to JDK 8
  • 72 JDK-8145981 core‑libs java.nio (fs) LinuxWatchService can reports events against wrong directory
  • 73 JDK-8153925 core‑libs java.nio (fs) WatchService hangs on GetOverlappedResult and locks directory (win)
  • 74 JDK-8165231 core‑libs java.nio java.nio.Bits.unaligned() doesn't return true on ppc
  • 75 JDK-8180949 core‑libs java.rmi Correctly handle exception in TCPChannel.createConnection
  • 76 JDK-8054214 core‑libs java.time JapaneseEra.getDisplayName doesn't return names if it's an additional era
  • 77 JDK-8164366 core‑libs java.time ZoneOffset.ofHoursMinutesSeconds() does not reject invalid input
  • 78 JDK-8173423 core‑libs java.time Wrong display name for supplemental Japanese era
  • 79 JDK-8177678 core‑libs java.time Overstatement of universality of Era.getDisplayName() implementation
  • 80 JDK-8165243 core‑libs java.util Base64.Encoder.wrap(os).write(byte[],int,int) with incorrect arguments should not produce output
  • 81 JDK-8166507 core‑libs java.util.concurrent ConcurrentSkipListSet.clear() can leave the Set in an invalid state
  • 82 JDK-8179515 core‑libs java.util.concurrent Class java.util.concurrent.ThreadLocalRandom fails to Initialize when using SecurityManager
  • 83 JDK-8169056 core‑libs java.util.regex StringIndexOutOfBoundsException in Pattern.compile with CANON_EQ flag
  • 84 JDK-8129361 core‑libs java.util:i18n ISO 4217 amendment 160
  • 85 JDK-8145952 core‑libs java.util:i18n Currency update needed for ISO 4217 Amendment #161
  • 86 JDK-8164784 core‑libs java.util:i18n Currency update needed for ISO 4217 Amendment #162.
  • 87 JDK-8174736 core‑libs java.util:i18n [JCP] [Mac]Cannot launch JCP on Mac os with language set to "Chinese, Simplified" while region is not China
  • 88 JDK-8174779 core‑libs java.util:i18n Locale issues with Mac 10.12
  • 89 JDK-8177776 core‑libs java.util:i18n Create an equivalent test case for JDK9's SupplementalJapaneseEraTest
  • 90 JDK-8149521 core‑libs javax.naming automatic discovery of LDAP servers with Kerberos authentication
  • 91 JDK-8163945 core‑libs jdk.nashorn Honor Number type hint in toPrimitive on Numbers
  • 92 JDK-8166902 core‑libs jdk.nashorn Nested object literal property maps not reset in optimistic recompilation
  • 93 JDK-8168373 core‑libs jdk.nashorn "Bad local variable type" in ES6 Nashorn when reassigning a `let` within a `try`
  • 94 JDK-8170565 core‑libs jdk.nashorn JSObject call() is passed undefined for the argument 'thiz'
  • 95 JDK-8170594 core‑libs jdk.nashorn >>>=0 generates invalid bytecode for BaseNode LHS
  • 96 JDK-8170977 core‑libs jdk.nashorn SparseArrayData should not grow its underlying dense array data
  • 97 JDK-8171219 core‑libs jdk.nashorn Missing checks in sparse array shift() implementation
  • 98 JDK-8171849 core‑libs jdk.nashorn Can't unambiguously select between fixed arity signatures [(java.util.Collection), (java.util.Map)]
  • 99 JDK-8176511 core‑libs jdk.nashorn JSObject property access is broken for numeric keys outside the int range
  • 100 JDK-8181191 core‑libs jdk.nashorn getUint32 returning Long
  • 101 JDK-8153711 core‑svc debugger [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
  • 102 JDK-8160024 core‑svc debugger jdb returns invalid argument count if first parameter to Arrays.asList is null
  • 103 JDK-8164843 core‑svc tools UsageTracker should limit records and avoid truncation
  • 104 JDK-8169236 core‑svc tools JRE 8u112 attempts to run ICACLS.EXE on startup in Windows 10 Version 1607, build 14393
  • 105 JDK-8173664 core‑svc tools Typo in https://java.net/downloads/heap‑snapshot/hprof‑binary‑format.html
  • 106 JDK-8174806 deploy packager Packager update App Store runtime rules for libjfxwebkit.dylib
  • 107 JDK-8164410 deploy plugin JRE 6u121 causes applet to fail with: Reset deny session certificate store
  • 108 JDK-8022291 deploy webstart Mac OS: Unexpected JavaLaunchHelper message displaying
  • 109 JDK-8161700 deploy webstart Deadlock in Java Web Start application involving JNLPClassLoader
  • 110 JDK-8161986 deploy webstart Selecting 32/64 bit resources failed if user has installed both jre's
  • 111 JDK-8167306 deploy webstart Side effects of using url schema handler.
  • 112 JDK-8038348 hotspot compiler Instance field load is replaced by wrong data Phi
  • 113 JDK-8043913 hotspot compiler remove legacy code in SPARC's VM_Version::platform_features
  • 114 JDK-8134119 hotspot compiler Use new API to get cache line sizes
  • 115 JDK-8134389 hotspot compiler Crash in HotSpot with jvm.dll+0x42b48 ciObjectFactory::create_new_metadata
  • 116 JDK-8134918 hotspot compiler C2: Type speculation produces mismatched unsafe accesses
  • 117 JDK-8140309 hotspot compiler [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI
  • 118 JDK-8143897 hotspot compiler Weblogic12medrec assert(handler_address == SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, force_unwind, true)) failed: Must be the same
  • 119 JDK-8152172 hotspot compiler PPC64: Support AES intrinsics
  • 120 JDK-8153134 hotspot compiler Infinite loop in handle_wrong_method in jmod
  • 121 JDK-8153267 hotspot compiler nmethod's exception cache not multi‑thread safe
  • 122 JDK-8154945 hotspot compiler Enable 8130150 and 8081778 intrinsics by default
  • 123 JDK-8155781 hotspot compiler C2: opaque unsafe access triggers an assert
  • 124 JDK-8157181 hotspot compiler Compilers accept modification of final fields outside initializer methods
  • 125 JDK-8157306 hotspot compiler Random infrequent null pointer exceptions in javac
  • 126 JDK-8158639 hotspot compiler C2 compilation fails with SIGSEGV
  • 127 JDK-8162101 hotspot compiler C2: Handle "wide" aliases for unsafe accesses
  • 128 JDK-8162384 hotspot compiler Performance regression: bimorphic inlining may be bypassed by type speculation
  • 129 JDK-8162496 hotspot compiler missing precedence edge for anti_dependence
  • 130 JDK-8164002 hotspot compiler Add a new CPU family (S_family) for SPARC S7 and above processors
  • 131 JDK-8164293 hotspot compiler HotSpot leaking memory in long‑running requests
  • 132 JDK-8164508 hotspot compiler unexpected profiling mismatch in c1 generated code
  • 133 JDK-8165482 hotspot compiler java in ldoms, with cpu‑arch=generic has problems
  • 134 JDK-8173373 hotspot compiler C1: NPE is thrown instead of LinkageError when accessing inaccessible field on NULL receiver
  • 135 JDK-8175887 hotspot compiler C1 value numbering handling of Unsafe.get*Volatile is incorrect
  • 136 JDK-8177095 hotspot compiler Range check dependent CastII/ConvI2L is prematurely eliminated
  • 137 JDK-8140584 hotspot gc nmethod::oops_do_marking_epilogue always runs verification code
  • 138 JDK-8153176 hotspot gc Long pause in ParOldGC, because ParallelTaskTerminator peeks wrong TaskQueueSet
  • 139 JDK-8168914 hotspot gc Crash in ClassLoaderData/JNIHandleBlock::oops_do during concurrent marking
  • 140 JDK-8170409 hotspot gc CMS: Crash in CardTableModRefBSForCTRS::process_chunk_boundaries
  • 141 JDK-8175813 hotspot gc PPC64: "mbind: Invalid argument" when ‑XX:+UseNUMA is used
  • 142 JDK-8180048 hotspot gc Interned string and symbol table leak memory during parallel unlinking
  • 143 JDK-8034249 hotspot jvmti need more workarounds for suspend equivalent condition issue
  • 144 JDK-8081219 hotspot jvmti hs_err improvement: Add event logging for class redefinition to the hs_err file
  • 145 JDK-8162795 hotspot jvmti [REDO] MemberNameTable doesn't purge stale entries
  • 146 JDK-8049717 hotspot runtime expose L1_data_cache_line_size for diagnostic/sanity checks
  • 147 JDK-8087342 hotspot runtime Crash in klassItable::initialize_itable_for_interface when running SelectionResolution InvokeInterfaceICCE.java
  • 148 JDK-8162766 hotspot runtime Unsafe_DefineClass0 accesses raw oops while in _thread_in_native
  • 149 JDK-8163969 hotspot runtime Cyclic interface initialization causes JVM crash
  • 150 JDK-8165153 hotspot runtime Crash in rebuild_cpu_to_node_map
  • 151 JDK-8171155 hotspot runtime Scanning method file for initialized final field updates can fail for non‑existent fields
  • 152 JDK-8171194 hotspot runtime Exception "Duplicate field name&signature in class file" should report the name and signature of the field
  • 153 JDK-8177817 hotspot runtime Remove assertions in 8u that were removed by 8056124 in 9.
  • 154 JDK-8166208 hotspot svc FlightRecorderOptions settings for defaultrecording ignored.
  • 155 JDK-8173941 hotspot svc SA does not work if executable is DSO
  • 156 JDK-8161945 install install REGRESSION: 8u91 update of 32 bit JRE removes preferences of the 64 bit JRE
  • 157 JDK-8164096 javafx base ListChangeListener on ReadOnlyListWrapper's getReadOnlyProperty() does not reset change
  • 158 JDK-8139841 javafx controls Axis class does not render ticks marks when tick labels are invisible
  • 159 JDK-8139850 javafx controls CategoryAxis rotates improperly as yAxis
  • 160 JDK-8163486 javafx controls NumberAxis: inaccurate rendering of ticks when tick unit is low
  • 161 JDK-8166847 javafx controls NumberAxis: sticked numbers sometimes
  • 162 JDK-8168895 javafx controls Tick marks position is not animated when toggling forceZeroInRange
  • 163 JDK-8134600 javafx fxml Can't pass ObservableList as argument using FXML
  • 164 JDK-8087565 javafx graphics Scaling problem on OSX Retina
  • 165 JDK-8088205 javafx graphics [Mac] WebView renders icons instead of letters on some sites
  • 166 JDK-8088395 javafx graphics Print dialogs are not blocking/modal w.r.t specified owner windows
  • 167 JDK-8088857 javafx graphics Menu slow to respond after resizing a window multiple times with animation running
  • 168 JDK-8090176 javafx graphics Pisces software renderer shows incomplete border images in particular situation
  • 169 JDK-8148549 javafx graphics Region is not rendered correctly when node cache is enabled
  • 170 JDK-8151744 javafx graphics wrong width/height in texture update
  • 171 JDK-8154148 javafx graphics [Mac] JavaFX crashes on startup when run on Mac in VMWare
  • 172 JDK-8156078 javafx graphics Stage alwaysOnTop property not reset to false if permission is denied
  • 173 JDK-8163526 javafx graphics protect FileChooser return from internal NPE
  • 174 JDK-8169777 javafx graphics MenuBar unoperable after moving Application to second monitor
  • 175 JDK-8173468 javafx graphics Font.loadFont returns null on some Ubuntu 32bits
  • 176 JDK-8174688 javafx graphics JavaFX Applet popup windows are in the wrong location on Mac
  • 177 JDK-8178804 javafx graphics Excessive memory consumption in TriangleMesh/MeshView
  • 178 JDK-8156563 javafx media JavaFX Ensemble8 media sample hang and crash
  • 179 JDK-8159869 javafx media HTTP Live Streaming not working anymore
  • 180 JDK-8091485 javafx samples Ensemble8: Review each sample description, playground, appearance, related docs and links
  • 181 JDK-8134354 javafx samples Ensemble Media samples sliders don't react to clicks
  • 182 JDK-8136918 javafx samples Ensemble uses deprecated flv (vp6) media files hosted on OTN
  • 183 JDK-8136968 javafx samples [Mac] Regression from JDK‑8087709
  • 184 JDK-8142439 javafx samples Ensemble8 media player slider issues
  • 185 JDK-8152858 javafx samples Ensemble Timeline regression
  • 186 JDK-8165373 javafx samples Ensemble8 uses setAccessible to access methods and fields of various classes
  • 187 JDK-8168095 javafx samples Second image in Ensemble8/Image Creation sample does not load
  • 188 JDK-8170421 javafx samples Ensemble8 black flash at startup on b145+
  • 189 JDK-8130675 javafx scenegraph Document that setting scene on stage changes stage size unless explicitly set
  • 190 JDK-8164141 javafx scenegraph [Javadoc] Replace references of Stage with Window in the Window class
  • 191 JDK-8172554 javafx swing [macos] deadlock on JFXPanel startup
  • 192 JDK-8174154 javafx swing NPE in JFXPanel$HostContainer#setEmbeddedStage
  • 193 JDK-8088681 javafx web Underscore not visible in HTML combo box options inside webview
  • 194 JDK-8089915 javafx web Input of type file doesn't honor "accept" attribute.
  • 195 JDK-8090216 javafx web HTMLEditor: font bold doesn't work when an indent is set
  • 196 JDK-8136847 javafx web DRT test fast/canvas/canvas‑fillRect‑shadow.html fails
  • 197 JDK-8144263 javafx web [WebView, OS X] Webkit rendering artifacts with inertia scrolling
  • 198 JDK-8150982 javafx web Crash when calling WebEngine.print on background thread
  • 199 JDK-8158196 javafx web WebView Form Post fails if connection is closed before keepAlive‑Timeout
  • 200 JDK-8162922 javafx web JavaFx WebView canvas doesn't support dash within strokeRec
  • 201 JDK-8164314 javafx web [WebView] Debug build is no longer working after JDK‑8089681
  • 202 JDK-8165098 javafx web WebEngine.print will attempt to print even if the printer job is complete or has an error
  • 203 JDK-8165173 javafx web canvas/philip/tests/2d.path.clip.empty.html fails with 8u112
  • 204 JDK-8166231 javafx web use @Native annotation in web classes
  • 205 JDK-8166677 javafx web HTMLEditor freezes after restoring previously maximized window
  • 206 JDK-8167098 javafx web Backport of JDK‑8158926 to JDK 8u mistakenly used preliminary patch
  • 207 JDK-8167675 javafx web Animated gifs are not working
  • 208 JDK-8168887 javafx web [WebView] ComboBox and DropDownList ‑ Render fragments of the scrollbar are visible
  • 209 JDK-8169204 javafx web Need to document JSObject Call and setSlot APIs to use weak references
  • 210 JDK-8170938 javafx web Memory leak in JavaFX WebView
  • 211 JDK-8172361 javafx web Update java‑wrappers for WebKit generated classes following WebKit update
  • 212 JDK-8172495 javafx web Ignore __cmake_systeminformation from web module build directory
  • 213 JDK-8174919 javafx web SocketException no longer handled by WebView when processing web pages
  • 214 JDK-8144258 javafx window‑toolkit Ensemble Advanced Media sample hangs after going full screen
  • 215 JDK-8160241 javafx window‑toolkit Maximizing an Window with Screen‑Size hides it
  • 216 JDK-8166106 javafx window‑toolkit JVM crash on resizing JavaFX application with title and icon
  • 217 JDK-8172561 javafx window‑toolkit Copying String with "rn" to Clipboard duplicates "r"
  • 218 JDK-8155211 security‑libs java.security Ucrypto Library leaks native memory
  • 219 JDK-8163896 security‑libs java.security Finalizing one key of a KeyPair invalidates the other key
  • 220 JDK-8164846 security‑libs java.security CertificateException missing cause of underlying exception
  • 221 JDK-8176536 security‑libs java.security Improved algorithm constraints checking
  • 222 JDK-8157561 security‑libs javax.crypto Ship the unlimited policy files in JDK Updates
  • 223 JDK-8165751 security‑libs javax.crypto NPE hit with java.security.debug=provider
  • 224 JDK-8173581 security‑libs javax.crypto performance regression in com/sun/crypto/provider/OutputFeedback.java
  • 225 JDK-8169229 security‑libs javax.net.ssl RSAClientKeyExchange debug info is incorrect
  • 226 JDK-8181205 security‑libs javax.net.ssl JRE fails to load/register security providers when started from UNC pathname
  • 227 JDK-8147772 security‑libs javax.security Update KerberosTicket to describe behavior if it has been destroyed and fix NullPointerExceptions
  • 228 JDK-8163104 security‑libs javax.security Unexpected NPE still possible on some Kerberos ticket calls
  • 229 JDK-8153438 security‑libs javax.smartcardio Avoid repeated "Please insert a smart card" popup windows
  • 230 JDK-8170278 security‑libs org.ietf.jgss:krb5 ticket renewal won't happen with debugging turned on
  • 231 JDK-8176329 tools jdeps to detect MR jar file and output a warning
  • 232 JDK-8180660 tools javac missing LNT entry for finally block
  • 233 JDK-8028363 xml XmlGregorianCalendarImpl.getTimeZone() bug when offset is less than 10 minutes
  • 234 JDK-8169112 xml javax.xml.transform java.lang.VerifyError: (class: GregorSamsa, method: template$dot$0$outline$1 signature: (LGregorSamsa$48;)V) Register 10 contains wrong type
  • 235 JDK-8146086 xml jax‑ws Publishing two webservices on same port fails with "java.net.BindException: Address already in use"
  • 236 JDK-8172297 xml jax‑ws In java 8, the marshalling with JAX‑WS does not escape carriage return
  • 237 JDK-8162598 xml jaxp XSLTC transformer swallows empty namespace declaration which is needed to undeclare default namespace
  • 238 JDK-8146961 xml org.w3c.dom Fix PermGen memory leaks caused by static final Exceptions

New in Java JRE 8 Build 151 (Oct 18, 2017)

  • New Features:
  • security-libs/javax.crypto
  • New Security property to control crypto policy:
  • This release introduces a new feature whereby the JCE jurisdiction policy files used by the JDK can be controlled via a new Security property. In older releases, JCE jurisdiction files had to be downloaded and installed separately to allow unlimited cryptography to be used by the JDK. The download and install steps are no longer necessary. To enable unlimited cryptography, one can use the new crypto.policy Security property. If the new Security property (crypto.policy) is set in the java.security file, or has been set dynamically by using the Security.setProperty() call before the JCE framework has been initialized, that setting will be honored. By default, the property will be undefined. If the property is undefined and the legacy JCE jurisdiction files don't exist in the legacy lib/security directory, then the default cryptographic level will remain at 'limited'. To configure the JDK to use unlimited cryptography, set the crypto.policy to a value of 'unlimited'. See the notes in the java.security file shipping with this release for more information.
  • Note:
  • On Solaris, it's recommended that you remove the old SVR4 packages before installing the new JDK updates. If an SVR4 based upgrade (without uninstalling the old packages) is being done on a JDK release earlier than 6u131, 7u121, 8u111, then you should set the new crypto.policy Security property in the java.security file.
  • Because the old JCE jurisdiction files are left in <java-home>/lib/security, they may not meet the latest security JAR signing standards, which were refreshed in 6u131, 7u121, 8u111, and later updates. An exception similar to the following might be seen if the old files are used:
  • Caused by: java.lang.SecurityException: Jurisdiction policy files are not signed by trusted signers! at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:593) at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:524)
  • Changes:
  • security-libs/java.security
  • Refactor existing providers to refer to the same constants for default values for key length
  • Two important changes have been made for this issue:
  • 1. A new system property has been introduced that allows users to configure the default key size used by the JDK provider implementations of KeyPairGenerator and AlgorithmParameterGenerator. This property is named "jdk.security.defaultKeySize" and the value of this property is a list of comma-separated entries. Each entry consists of a case-insensitive algorithm name and the corresponding default key size (in decimal) separated by ":". In addition, white space is ignored.
  • By default, this property will not have a value, and JDK providers will use their own default values. Entries containing an unrecognized algorithm name will be ignored. If the specified default key size is not a parseable decimal integer, that entry will be ignored as well.
  • 2. The DSA KeyPairGenerator implementation of the SUN provider no longer implements java.security.interfaces.DSAKeyPairGenerator. Applications which cast the SUN provider's DSA KeyPairGenerator object to a java.security.interfaces.DSAKeyPairGenerator can set the system property "jdk.security.legacyDSAKeyPairGenerator". If the value of this property is "true", the SUN provider will return a DSA KeyPairGenerator object which implements the java.security.interfaces.DSAKeyPairGenerator interface. This legacy implementation will use the same default value as specified by the javadoc in the interface.
  • By default, this property will not have a value, and the SUN provider will return a DSA KeyPairGenerator object which does not implement the forementioned interface and thus can determine its own provider-specific default value as stated in the java.security.KeyPairGenerator class or by the "jdk.security.defaultKeySize" system property if set.
  • core-libs/java.util:collections
  • Collections use serialization filter to limit array sizes:
  • Deserialization of certain collection instances will cause arrays to be allocated. The ObjectInputFilter.checkInput() method is now called prior to allocation of these arrays. Deserializing instances of ArrayDeque, ArrayList, IdentityHashMap, PriorityQueue, java.util.concurrent.CopyOnWriteArrayList, and the immutable collections (as returned by List.of, Set.of, and Map.of) will call checkInput() with a FilterInfo instance whose style="font-family: Courier New;">serialClass() method returns Object[].class. Deserializing instances of HashMap, HashSet, Hashtable, and Properties will call checkInput() with a FilterInfo instance whose serialClass() method returns Map.Entry[].class. In both cases, the FilterInfo.arrayLength() method will return the actual length of the array to be allocated. The exact circumstances under which the serialization filter is called, and with what information, is subject to change in future releases.
  • security-libs/java.security
  • keytool now prints warnings when reading or generating certificates/certificate requests/CRLs using weak algorithms:
  • With one exception, keytool will always print a warning if the certificate, certificate request, or CRL it is parsing, verifying, or generating is using a weak algorithm or key. When a certificate is from an existing TrustedCertificateEntry, either in the keystore directly operated on or in the cacerts keystore when the -trustcacerts option is specified for the -importcert command, keytool will not print a warning if it is signed with a weak signature algorithm. For example, suppose the file cert contains a CA certificate signed with a weak signature algorithm, keytool -printcert -file cert and keytool -importcert -file cert -alias ca -keystore ks will print out a warning, but after the last command imports it into the keystore, keytool -list -alias ca -keystore ks will not show a warning anymore.
  • Precisely, an algorithm or a key is weak if it matches the value of the jdk.certpath.disabledAlgorithms security property defined in the conf/security/java.security file.
  • security-libs/java.security
  • New defaults for DSA keys in jarsigner and keytool:
  • For DSA keys, the default signature algorithm for keytool and jarsigner has changed from SHA1withDSA to SHA256withDSA and the default key size for keytool has changed from 1024 bits to 2048 bits.
  • Users wishing to revert to the previous behavior can use the -sigalg option of keytool and jarsigner and specify SHA1withDSA and the -keysize option of keytool and specify 1024.
  • There are a few potential compatibility risks associated with this change:
  • If you have a script that uses the default key size of keytool to generate a DSA keypair but then subsequently specifies a specific signature algorithm, ex:
  • keytool -genkeypair -keyalg DSA -keystore keystore -alias mykey ...
  • keytool -certreq -sigalg SHA1withDSA -keystore keystore -alias mykey ...
  • it will fail with one of the following exceptions, because the new 2048-bit keysize default is too strong for SHA1withDSA:
  • keytool error: java.security.InvalidKeyException: The security strength of SHA-1 digest algorithm is not sufficient for this key size
  • keytool error: java.security.InvalidKeyException: DSA key must be at most 1024 bits
  • The workaround is to remove the -sigalg option and use the stronger SHA256withDSA default or, at your own risk, use the -keysize option of keytool to specify a smaller key size (1024).
  • If you use jarsigner to sign JARs with the new defaults, previous versions (than this release) of JDK 6 and 7 do not support the stronger defaults and will not be able to verify the JAR. jarsigner -verify on an earlier release of JDK 6 or 7 will output the following error:
  • jar is unsigned. (signatures missing or not parsable)
  • If you add -J-Djava.security.debug=jar to the jarsigner command line, the cause will be output:
  • jar: processEntry caught: java.security.NoSuchAlgorithmException: SHA256withDSA Signature not available
  • If compatibility with earlier releases is important, you can, at your own risk, use the -sigalg option of jarsigner and specify the weaker SHA1withDSA algorithm.
  • If you use a PKCS11 keystore, the SunPKCS11 provider does not support the SHA256withDSA algorithm. jarsigner and some keytool commands may fail with the following exception if PKCS11 is specified with the -storetype option, ex:
  • keytool error: java.security.InvalidKeyException: No installed provider supports this key: sun.security.pkcs11.P11Key$P11PrivateKey
  • A similar error may occur if you are using NSS with the SunPKCS11 provider. The workaround is to use the -sigalg option of keytool and specify SHA1withDSA.
  • security-libs/java.security
  • Add warnings to keytool when using JKS and JCEKS:
  • When keytool is operating on a JKS or JCEKS keystore, a warning may be shown that the keystore uses a proprietary format and migrating to PKCS12 is recommended. The keytool's -importkeystore command is also updated so that it can convert a keystore from one type to another if the source and destination point to the same file.
  • security-libs/java.security
  • keytool now prints out information of a certificate's public key:
  • Keytool now prints out the key algorithm and key size of a certificate's public key, in the form of "Subject Public Key Algorithm: <size>-bit RSA key", where <size> is the key size in bits (ex: 2048).
  • Bug fixes:
  • (JBS, component, subcomponent, description)
  • JDK-8179084 hotspot gc HotSpot VM fails to start when AggressiveHeap is set
  • 2 JDK-8089283 javafx web Padding property of the select tag is incorrect in WebView
  • 3 JDK-8132675 javafx web VBox.setVgrow and HBox.setHgrow corrupt following controls when window resized
  • 4 JDK-8138652 javafx web [macosx] New WebView Native Code uses private Apple APIs
  • 5 JDK-8165909 javafx web JavaScript to Java String conversion is not correct
  • 6 JDK-8170450 javafx web Crash while loading wordpress.com in HiDPI / Retina display
  • 7 JDK-8172495 javafx web Ignore __cmake_systeminformation from web module build directory
  • 8 JDK-8172836 javafx web WebView Debug build is broken
  • 9 JDK-8176729 javafx web com.sun.webkit.dom.NodeImpl#SelfDisposer is not called
  • 10 JDK-8178319 javafx web Build sqlite3 from source
  • 11 JDK-8178360 javafx web Build and integrate ICU from source
  • 12 JDK-8178440 javafx web Build libxml2 and libxslt from source
  • 13 JDK-8179673 javafx web JVM Crash in WebPage.setBackgroundColor() during webpage navigation (Non Public API)
  • 14 JDK-8180825 javafx web Javafx WebView fails to render pdf.js
  • 15 JDK-8183292 javafx web Update to 604.1 version of WebKit
  • 16 JDK-8184448 javafx web Crash while loading gif images with more frames
  • 17 JDK-8185132 javafx web window.requestAnimationFrame API is not working
  • 18 JDK-8172847 javafx window‑toolkit [macos] If you hit the escape key repeatedly to close the subwindow, the process crashes
  • 19 JDK-8029659 security‑libs java.security Keytool, print key algorithm of certificate or key entry
  • 20 JDK-8154015 security‑libs java.security Apply algorithm constraints to timestamped code
  • 21 JDK-8171319 security‑libs java.security keytool should print out warnings when reading or generating cert/cert req using weak algorithms
  • 22 JDK-8177569 security‑libs java.security keytool should not warn if signature algorithm used in cacerts is weak
  • 23 JDK-8157561 security‑libs javax.crypto Ship the unlimited policy files in JDK Updates
  • 24 JDK-8167485 tools visualvm Integrate new version of Java VisualVM based on VisualVM 1.3.9 into JDK

New in Java JRE 9 (Sep 22, 2017)

  • KEY CHANGES:
  • Java Platform Module System:
  • Introduces a new kind of Java programing component, the module, which is a named, self-describing collection of code and data. This module system:
  • Introduces a new optional phase, link time, which is in-between compile time and run time, during which a set of modules can be assembled and optimized into a custom runtime image; see the jlink tool in Java Platform, Standard Edition Tools Reference.
  • Adds options to the tools javac, jlink, and java where you can specify module paths, which locate definitions of modules.
  • Introduces the modular JAR file, which is a JAR file with a module-info.class file in its root directory.
  • Introduces the JMOD format, which is a packaging format similar to JAR except it can include native code and configuration files; see the jmod tool.
  • The JDK itself has been divided into a set of modules. This change:
  • Enables you to combine the JDK's modules into a variety of configurations, including:
  • Configurations corresponding to the JRE and the JDK.
  • Configurations roughly equivalent in content to each of the Compact Profiles defined in Java SE 8.
  • Custom configurations that contain only a specified set of modules and their required modules.
  • Restructures the JDK and JRE runtime images to accommodate modules and improve performance, security, and maintainability.
  • Defines a new URI scheme for naming modules, classes, and resources stored in a runtime image without revealing the internal structure or format of the image.
  • Removes the endorsed-standards override mechanism and the extension mechanism.
  • Removes rt.jar and tools.jar from the Java runtime image.
  • Makes most of the JDK's internal APIs inaccessible by default but leaves a few critical, widely used internal APIs accessible until supported replacements exist for all or most of their functionality.
  • JEP 223: New Version-String Scheme:
  • Provides a simplified version-string format that helps to clearly distinguish major, minor, security, and patch update releases.
  • Installer Enhancements for Microsoft Windows:
  • Enable or Disable Web Deployment with Installer's UI:
  • Provides the option to enable or disable web deployment in the Welcome page of the installer. To enable web deployment, in the Welcome page, select Custom Setup , click Install, and select the Enable Java content in the Browser check box.
  • WHAT'S NEW FOR TOOLS:
  • JEP 222: jshell: The Java Shell (Read-Eval-Print Loop):
  • Adds Read-Eval-Print Loop (REPL) functionality to the Java platform.
  • JEP 228: Add More Diagnostic Commands:
  • Defines additional diagnostic commands to improve the ability to diagnose issues with Hotspot and the JDK.
  • JEP 231: Remove Launch-Time JRE Version Selection:
  • Removes the ability to request a version of the JRE that is not the JRE being launched at launch time. Modern applications are typically deployed through Java Web Start (with a JNLP file), native OS packaging systems, or active installers. These technologies have their own methods to manage the JREs needed by finding or downloading and updating the required JRE as needed. This makes launch-time JRE version selection obsolete.
  • JEP 238: Multi-Release JAR Files:
  • Extends the JAR file format to enable multiple, Java release-specific versions of class files to coexist in a single archive. A multirelease JAR (MRJAR) contains additional, versioned directories for classes and resources specific to particular Java platform releases. Specify versioned directories with the jar tool's --release option.
  • JEP 240: Remove the JVM TI hprof Agent:
  • Removes the hprof agent from the JDK. The hprof agent was written as demonstration code for the JVM Tool Interface and not intended to be a production tool. The useful features of the hprof agent have been superseded by better alternatives.
  • JEP 241: Remove the jhat Tool:
  • Removes the jhat tool from the JDK. The jhat tool was an experimental and unsupported tool added in JDK 6. It is out of date; superior heap visualizers and analyzers have been available for many years.
  • JEP 245: Validate JVM Command-Line Flag Arguments:
  • Validates arguments to all numerical JVM command-line flags to avoid failures and instead displays an appropriate error message if they are found to be invalid. Range and optional constraint checks have been implemented for arguments that require a user-specified numerical value.
  • JEP 247: Compile for Older Platform Versions:
  • Enhances javac so that it can compile Java programs to run on selected earlier versions of the platform. When using the -source or -target options, the compiled program might accidentally use APIs that are not supported on the given target platform. The --release option will prevent accidental use of APIs.
  • JEP 282: jlink: The Java Linker:
  • Assembles and optimizes a set of modules and their dependencies into a custom runtime image as defined in JEP 220. The jlink tool defines a plug-in mechanism for transformation and optimization during the assembly process, and for the generation of alternative image formats. It can create a custom runtime optimized for a single program. JEP 261 defines link time as an optional phase between the phases of compile time and run time. Link time requires a linking tool that assembles and optimizes a set of modules and their transitive dependencies to create a runtime image or executable
  • WHAT'S NEW FOR SECURITY:
  • JEP 219: Datagram Transport Layer Security (DTLS):
  • Enables Java Secure Socket Extension (JSSE) API and the SunJSSE security provider to support DTLS Version 1.0 and DTLS Version 1.2 protocols.
  • JEP 244: TLS Application-Layer Protocol Negotiation Extension:
  • Enables the client and server in a Transport Layer Security (TLS) connection to negotiate the application protocol to be used. With Application-Layer Protocol Negotiation (ALPN), the client sends the list of supported application protocols as part of the TLS ClientHello message. The server chooses a protocol and returns the selected protocol as part of the TLS ServerHello message. The application protocol negotiation can be accomplished within the TLS handshake, without adding network round-trips.
  • JEP 249: OCSP Stapling for TLS:
  • Enables the server in a TLS connection to check for a revoked X.509 certificate revocation. The server does this during TLS handshaking by contacting an Online Certificate Status Protocol (OCSP) responder for the certificate in question. It then attaches or "staples" the revocation information to the certificate that it returns to the client so that the client can take appropriate action. Enables the client to request OCSP stapling from a TLS server. The client checks stapled responses from servers that support the feature.
  • JEP 246: Leverage CPU Instructions for GHASH and RSA:
  • Improves performance ranging from 34x to 150x for AES/GCM/NoPadding using GHASH HotSpot intrinsics. GHASH intrinsics are accelerated by the PCLMULQDQ instruction on Intel x64 CPU and the xmul/xmulhi instructions on SPARC. Improves performance up to 50% for BigInteger squareToLen and BigInteger mulAdd methods using RSA HotSpot intrinsics. RSA intrinsics apply to the java.math.BigInteger class on Intel x64. A new security property jdk.security.provider.preferred is introduced to configure providers that offer significant performance gains for specific algorithms.
  • JEP 273: DRBG-Based SecureRandom Implementations:
  • Provides the functionality of Deterministic Random Bit Generator (DRBG) mechanisms as specified in NIST SP 800-90Ar1 in the SecureRandom API.
  • The DRBG mechanisms use modern algorithms as strong as SHA-512 and AES-256. Each of these mechanisms can be configured with different security strengths and features to match user requirements.
  • JEP 288: Disable SHA-1 Certificates:
  • Improves the security configuration of the JDK by providing a more flexible mechanism to disable X.509 certificate chains with SHA-1-based signatures.
  • Disables SHA-1 in TLS Server certificate chains anchored by roots included by default in the JDK; local or enterprise certificate authorities (CAs) are not affected. The jdk.certpath.disabledAlgorithms security property is enhanced with several new constraints that allow greater control over the types of certificates that can be disabled.
  • JEP 229: Create PKCS12 Keystores by Default:
  • Modifies the default keystore type from JKS to PKCS12. PKCS#12 is an extensible, standard, and widely supported format for storing cryptographic keys. PKCS12 keystores improve confidentiality by storing private keys, trusted public key certificates, and secret keys. This feature also opens opportunities for interoperability with other systems such as Mozilla, Microsoft's Internet Explorer, and OpenSSL that support PKCS12. The SunJSSE provider supplies a complete implementation of the PKCS12 java.security.KeyStore format for reading and writing PKCS12 files. See Key Management in Java Platform, Standard Edition Security Developer's Guide. The keytool key and certificate management utility can create PKCS12 keystores.
  • JEP 287: SHA-3 Hash Algorithms:
  • Supports SHA-3 cryptographic hash functions as specified in NIST FIPS 202.
  • The following additional standard algorithms are supported by the java.security.MessageDigest API: SHA3-224, SHA3-256, SHA3-384, and SHA3-512.
  • The following providers support SHA-3 algorithm enhancements:
  • SUN provider: SHA3-224, SHA3-256, SHA3-384, and SHA3-512
  • OracleUcrypto provider: SHA-3 digests supported by Solaris 12.0
  • WHAT'S NEW FOR DEPLOYMENT:
  • Deprecate the Java Plug-in:
  • Deprecates the Java Plug-in and associated applet technologies in Oracle's JDK 9 builds. While still available in JDK 9, these technologies will be considered for removal from the Oracle JDK and JRE in a future release. Applets and JavaFX applications embedded in a web page require the Java Plug-in to run. Consider rewriting these types of applications as Java Web Start or self-contained applications.
  • Enhanced Java Control Panel:
  • Improves the grouping and presentation of options within the Java Control Panel. Information is easier to locate, a search field is available, and modal dialog boxes are no longer used. Note that the location of some options has changed from previous versions of the Java Control Panel
  • JEP 275: Modular Java Application Packaging:
  • Integrates features from Project Jigsaw into the Java Packager, including module awareness and custom runtime creation. Leverages the jlink tool to create smaller packages. Creates applications that use the JDK 9 runtime only. Cannot be used to package applications with an earlier release of the JRE.
  • JEP 289: Deprecate the Applet API:
  • Deprecates the Applet API, which is becoming less useful as web browser vendors remove support for Java browser plug-ins. While still available in JDK 9, the Applet class will be considered for removal in a future release. Consider rewriting applets as Java Web Start or self-contained applications.
  • WHAT'S NEW FOR THE JAVA LANGUAGE:
  • JEP 213: Milling Project Coin. Identifies a few small changes:
  • Allow @SafeVargs on private instance methods.
  • Allow effectively final variables to be used as resources in the try-with-resources statement.
  • Allow the diamond with anonymous classes if the argument type of the inferred type is denotable.
  • Complete the removal, begun in Java SE 8, of the underscore from the set of legal identifier names.
  • Add support for private interface methods.
  • WHAT'S NEW FOR JAVADOC:
  • JEP 221: Simplified Doclet API:
  • Replaces the old Doclet API with a new simplified API that leverages other standard, existing APIs. The standard doclet has been rewritten to use the new Doclet API.
  • JEP 224: HTML5 Javadoc:
  • Supports generating HTML5 output. To get fully compliant HTML5 output, ensure that any HTML content provided in documentation comments are compliant with HTML5.
  • JEP 225: Javadoc Search:
  • Provides a search box to the generated API documentation. Use this search box to find program elements, tagged words, and phrases within the documentation.
  • JEP 261: Module System:
  • Supports documentation comments in module declarations. Includes new command-line options to configure the set of modules to be documented and generates a new summary page for any modules being documented.
  • WHAT'S NEW FOR THE JVM:
  • JEP 165: Compiler Control:
  • Provides a way to control JVM compilation through compiler directive options. The level of control is runtime-manageable and method-specific. Compiler Control supersedes, and is backward compatible, with CompileCommand.
  • JEP 197: Segmented Code Cache:
  • Divides the code cache into distinct segments, each of which contains compiled code of a particular type, to improve performance and enable future extensions.
  • JEP 276: Dynamic Linking of Language-Defined Object Models:
  • Dynamically links high-level object operations at run time, such as read a property, write a property, and invoke a function, to the appropriate target method handles. It links these operations to target method handles based on the actual types of the values passed. These object operations are expressed as invokedynamic sites.
  • While java.lang.invoke provides a low-level API for dynamic linking of invokedynamic call sites, it doesn't provide a way to express higher level operations on objects nor methods that implement them.
  • With the package jdk.dynalink, you can implement programming languages whose expressions contain dynamic types (types that cannot be determined statically) and whose operations on these dynamic types are expressed as invokedynamic call sites (because the language's object model or type system doesn't closely match that of the JVM).
  • WHAT'S NEW FOR JVM TUNING:
  • Improve G1 Usability, Determinism, and Performance:
  • Enhances the Garbage-First (G1) garbage collector to automatically determine several important memory-reclamation settings. Previously these settings had to be set manually to obtain optimal results. In addition, fixes issues with the usability, determinism, and performance of the G1 garbage collector.
  • JEP 158: Unified JVM Logging:
  • Introduces a common logging system for all components of the JVM.
  • JEP 214: Remove GC Combinations Deprecated in JDK 8"
  • Removes garbage collector (GC) combinations that were deprecated in JDK 8.
  • This means that the following GC combinations no longer exist: DefNew + CMS ParNew + SerialOld, Incremental CMS.
  • The "foreground" mode for Concurrent Mark Sweep (CMS) has also been removed. The following command-line flags have been removed:
  • -Xincgc
  • -XX:+CMSIncrementalMode
  • -XX:+UseCMSCompactAtFullCollection
  • -XX:+CMSFullGCsBeforeCompaction
  • -XX:+UseCMSCollectionPassing
  • The command line flag -XX:+UseParNewGC no longer has an effect. ParNew can only be used with CMS and CMS requires ParNew. Thus, the -XX:+UseParNewGC flag has been deprecated and will likely be removed in a future release.
  • JEP 248: Make G1 the Default Garbage Collector:
  • Makes Garbage-First (G1) the default garbage collector (GC) on 32- and 64-bit server configurations. Using a low-pause collector such as G1 provides a better overall experience, for most users, than a throughput-oriented collector such as the Parallel GC, which was previously the default.
  • JEP 271: Unified GC Logging:
  • Reimplements Garbage Collection (GC) logging using the unified JVM logging framework introduced in JEP 158. GC logging is re-implemented in a manner consistent with the current GC logging format; however, some differences exist between the new and old formats.
  • JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector:
  • Deprecates the Concurrent Mark Sweep (CMS) garbage collector. A warning message is issued when it is requested on the command line, using the -XX:+UseConcMarkSweepGC option. The Garbage-First (G1) garbage collector is intended to be a replacement for most uses of CMS
  • WHAT'S NEW FOR CORE LIBRARIES:
  • JEP 102: Process API Updates:
  • Improves the API for controlling and managing operating system processes.
  • The ProcessHandle class provides the process's native process ID, arguments, command, start time, accumulated CPU time, user, parent process, and descendants. The class can also monitor processes' liveness and destroy processes. With the ProcessHandle.onExit method, the asynchronous mechanisms of the CompletableFuture class can perform an action when the process exits.
  • JEP 193: Variable Handles:
  • Defines a standard means to invoke the equivalents of java.util.concurrent.atomic and sun.misc.Unsafe operations upon object fields and array elements.
  • Defines a standard set of fence operations, which consist of VarHandle static methods that enable fine-grained control of memory ordering. This is an alternative to sun.misc.Unsafe, which provides a nonstandard set of fence operations.
  • Defines a standard reachability fence operation to ensure that a referenced object remains strongly reachable.
  • JEP 254: Compact Strings:
  • Adopts a more space-efficient internal representation for strings. Previously, the String class stored characters in a char array, using two bytes (16 bits) for each character. The new internal representation of the String class is a byte array plus an encoding-flag field.
  • This is purely an implementation change, with no changes to existing public interfaces.
  • JEP 264: Platform Logging API and Service:
  • Defines a minimal logging API that platform classes can use to log messages, together with a service interface for consumers of those messages. A library or application can provide an implementation of this service to route platform log messages to the logging framework of its choice. If no implementation is provided, then a default implementation based on the java.util.logging API is used.
  • JEP 266: More Concurrency Updates:
  • Adds further concurrency updates to those introduced in JDK 8 in JEP 155: Concurrency Updates, including an interoperable publish-subscribe framework and enhancements to the CompletableFuture API.
  • JEP 268: XML Catalogs:
  • Adds a standard XML Catalog API that supports the Organization for the Advancement of Structured Information Standards (OASIS) XML Catalogs version 1.1 standard. The API defines catalog and catalog-resolver abstractions that can be used as an intrinsic or external resolver with the JAXP processors that accept resolvers.
  • Existing libraries or applications that use the internal catalog API will need to migrate to the new API to take advantage of the new features.
  • JEP 269: Convenience Factory Methods for Collections:
  • Makes it easier to create instances of collections and maps with small numbers of elements. New static factory methods on the List, Set, and Map interfaces make it simpler to create immutable instances of those collections.
  • JEP 274: Enhanced Method Handles:
  • Enhances the MethodHandle, MethodHandles, and MethodHandles.Lookup classes of the java.lang.invoke package to ease common use cases and enable better compiler optimizations. Additions include:
  • In the MethodHandles class in the java.lang.invoke package, provide new MethodHandle combinators for loops and try/finally blocks.
  • Enhance the MethodHandle and MethodHandles classes with new MethodHandle combinators for argument handling.
  • Implement new lookups for interface methods and, optionally, super constructors in the MethodHandles.Lookup class.
  • JEP 277: Enhanced Deprecation:
  • Revamps the @Deprecated annotation to provide better information about the status and intended disposition of an API in the specification. Two new elements have been added:
  • Deprecated(forRemoval=true) indicates that the API will be removed in a future release of the Java SE platform.
  • Deprecated(since="version") contains the Java SE version string that indicates when the API element was deprecated, for those deprecated in Java SE 9 and beyond.
  • JEP 285: Spin-Wait Hints:
  • Defines an API that enables Java code to hint that a spin loop is executing. A spin loop repeatedly checks to see if a condition is true, such as when a lock can be acquired, after which some computation can be safely performed followed by the release of the lock. This API is purely a hint, and carries no semantic behavior requirements. See the method Thread.onSpinWait
  • JEP 290: Filter Incoming Serialization Data:
  • Allows incoming streams of object-serialization data to be filtered to improve both security and robustness. Object-serialization clients can validate their input more easily, and exported Remote Method Invocation (RMI) objects can validate invocation arguments more easily as well
  • Serialization clients implement a filter interface that is set on an ObjectInputStream. For RMI, the object is exported through a RemoteServerRef that sets the filter on the MarshalInputStream to validate the invocation arguments as they are unmarshalled
  • JEP 259: Stack-Walking API:
  • Provides a stack-walking API that allows easy filtering and lazy access to the information in stack traces
  • The API supports both short walks that stop at a frame that matches given criteria, and long walks that traverse the entire stack. Stopping at a frame that matches a given criteria avoids the cost of examining all the frames if the caller is interested only in the top frames on the stack. The API enables access to Class objects when the stack walker is configured to do so. See the class java.lang.Stackwalker
  • JEP 255: Merge Selected Xerces 2.11.0 Updates into JAXP:
  • Updates the JDK to support the 2.11.0 version of the Xerces parser. There is no change to the public JAXP API
  • The changes are in the following categories of Xerces 2.11.0: Datatypes, DOM L3 Serializer, XPointer, Catalog Resolver, and XML Schema Validation (including bug fixes, but not the XML Schema 1.1 development code)
  • WHAT'S NEW FOR NASHORN:
  • JEP 236: Parser API for Nashorn:
  • Enables applications, in particular IDEs and server-side frameworks, to parse and analyze ECMAScript code.
  • Parse ECMAScript code from a string, URL, or file with methods from the Parser class. These methods return an instance of CompilationUnitTree, which represents ECMAScript code as an abstract syntax tree.
  • The package jdk.nashorn.api.tree contains the Nashorn parser API.
  • JEP 292: Implement Selected ECMAScript 6 Features in Nashorn: Implements many new features introduced in the 6th edition of ECMA-262, also known as ECMAScript 6, or ES6 for short. Implemented features include the following:
  • Template strings
  • let, const, and block scope
  • Iterators and for..of loops
  • Map, Set, WeakMap, and WeakSet
  • Symbols
  • Binary and octal literals
  • WHAT'S NEW FOR CLIENT TECHNOLOGIES:
  • JEP 251: Multi-Resolution Images:
  • Enables a set of images with different resolutions to be encapsulated into a single multiresolution image. This could be useful for applications to adapt to display devices whose resolutions may vary from approximately 96dpi to 300dpi during run time
  • The interface java.awt.image.MultiResolutionImage encapsulates a set of images with different resolutions into a single multiresolution image, which enables applications to easily manipulate and display images with resolution variants
  • JEP 253: Prepare JavaFX UI Controls and CSS APIs for Modularization:
  • Provides public APIs for JavaFX UI controls and CSS functionality that were previously available only through internal packages but are now inaccessible due to modularization.
  • The new package javafx.scene.control.skin consists of a set of classes that provides a default implementation for the skin (or the look) of each UI control.
  • The new class CssParser is a CSS parser that returns a Stylesheet object, which gives you more control over the CSS styling of your application. It’s part of the CSS API (the javafx.css package). The CSS API includes new support classes, including a set of standard converters used by the parser; see the javafx.css.converter package.
  • JEP 256: BeanInfo Annotations:
  • Replaces the @beaninfo Javadoc tag with the annotation types JavaBean, BeanProperty, and SwingContainer.
  • These annotation types set the corresponding feature attributes during BeanInfo generation at runtime. Thus, you can more easily specify these attributes directly in Bean classes instead of creating a separate BeanInfo class for every Bean class. It also enables the removal of automatically generated classes, which makes it easier to modularize the client library.
  • JEP 262: TIFF Image I/O:
  • Adds Tag Image File Format (TIFF) reading and writing as standard to the package javax.imageio. The new package javax.imageio.plugins.tiff provides classes that simplify the optional manipulation of TIFF metadata.
  • JEP 263: HiDPI Graphics on Windows and Linux:
  • Automatically scales and sizes AWT and Swing components for High Dots Per Inch (HiDPI) displays on Windows and Linux. Prior to this release, on Windows and Linux, Java applications were sized and rendered based on pixels, even on HiDPI displays that can have pixel densities two to three times as high as traditional displays. This led to GUI components and windows that were too small to read or use.
  • JEP 272: Platform-Specific Desktop Features:
  • Adds additional methods to the class java.awt.Desktop that enable you to interact with the desktop, including the following:
  • Show custom About and Preferences windows.
  • Handle requests to open or print a list of files.
  • Handle requests to open a URL.
  • Open the native help viewer application.
  • Set the default menu bar.
  • Enable or disable the application to be suddenly terminated.
  • These new methods replace the functionality of the internal APIs contained in the OS X package com.apple.eawt, which are not accessible by default in JDK 9. Note that the package com.apple.eio is no longer accessible.
  • WHAT'S NEW FOR INTERNATIONALIZATION:
  • JEP 267: Unicode 8.0:
  • Supports Unicode 8.0. JDK 8 supported Unicode 6.2.
  • The Unicode 6.3, 7.0 and 8.0 standards combined introduced 10,555 characters, 29 scripts, and 42 blocks, all of which are supported in JDK 9.
  • JEP 252: CLDR Locale Data Enabled by Default:
  • Uses the Common Locale Data Repository's (CLDR) XML-based locale data, first added in JDK 8, as the default locale data in JDK 9. In previous releases, the default was JRE.
  • To enable behavior compatible with JDK 8, set the system property java.locale.providers to a value with COMPAT ahead of CLDR.
  • JEP 226: UTF-8 Properties Files:
  • Loads properties files in UTF-8 encoding. In previous releases, ISO-8859-1 encoding was used when loading property resource bundles. UTF-8 is a much more convenient way to represent non-Latin characters.
  • Most existing properties files should not be affected.

New in Java JRE 9 Build 181 Early Access (Aug 5, 2017)

  • Changeset: 4a443796f6f5
  • Bug ID: 8185133
  • Synopsis: Reference pending list root might not get marked

New in Java JRE 8 Update 144 (Jul 27, 2017)

  • IANA Data 2017b:
  • JDK 8u144 contains IANA time zone data version 2017b. 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 8u144 are specified in the following table:
  • JRE Family Version JRE Security Baseline (Full Version String)
  • 8 1.8.0_141-b15
  • 7 1.7.0_151-b15
  • 6 1.6.0_161-b13
  • JRE Expiration Date:
  • The JRE expires whenever a new release with security vulnerability fixes becomes available. Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Third Party Bulletin. This JRE (version 8u144) will expire with the release of the next critical patch update scheduled for October 17, 2017.
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u144) on November 17, 2017. 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 JRE Expiration Date.
  • Bug Fixes
  • security-libs/javax.net.ssl
  • java.util.zip.ZipFile.getEntry() now always returns the ZipEntry instance with a / ended entry name for directory entry
  • The java.util.zip.ZipEntry API doc specifies "A directory entry is defined to be one whose name ends with a /". However, in previous JDK releases, java.util.zip.ZipFile.getEntry(String entryName) may return a ZipEntry instance with an entry name that does not end with / for an existing zip directory entry when the passed in argument entryName does not end with a /, and when there is a matching zip directory entry with name entryName + / in the zip file.
  • With this release, the name of the ZipEntry instance returned from java.util.zip.ZipFile.getEntry() always ends with / for any zip directory entry.
  • To revert to the previous behavior, set the system property jdk.util.zip.ensureTrailingSlash to "false".
  • This change was made in order to fix a regression introduced in JDK 8u141 when verifying signed JARs that has caused some WebStart applications to fail to load.
  • This release also contains fixes for security vulnerabilities described in the Oracle Java SE Critical Patch Update Advisory. For a more complete list of the bug fixes included in this release, see the JDK 8u144 Bug Fixes page.

New in Java JRE 9 Build 179 Early Access (Jul 25, 2017)

  • hotspot/compiler
  • AVX-512 (AVX3) instructions set support
  • JDK 9 will support code generation for AVX-512 (AVX3) instructions set on x86 CPUs, but not by default. A maximum of AVX2 is supported by default in JDK 9. The flag -XX:UseAVX=3 can be used to enable AVX-512 code generation on CPUs that support it.

New in Java JRE 8 Update 141 (Jul 18, 2017)

  • IANA DATA 2017b:
  • JDK 8u141 contains IANA time zone data version 2017b.
  • CERTIFICATE CHANGES:
  • Let's Encrypt certificates added to root CAs. One new root certificate has been added.
  • NEW FEATURES:
  • security-libs/java.security. Improved algorithm constraints checking:
  • With the need to restrict weak algorithms usage in situations where they are most vulnerable, additional features have been added when configuring the jdk.certpath.disabledAlgorithms and jdk.jar.disabledAlgorithms security properties in the java.security file.
  • jdk.certpath.disabledAlgorithms: The certpath property has seen the most change. Previously it was limited to two Constraint types; either a full disabling of an algorithm by name or a full disabling of an algorithm by the key size when checking certificates, certificate chains, and certificate signatures. This creates configurations that are absolute and lack flexibility in their usage. Three new Constraints were added to give more flexibility in allowing and rejecting certificates.
  • "jdkCA" examines the certificate chain termination with regard to the cacerts file. In the case of "SHA1 jdkCA". SHA1's usage is checked through the certificate chain, but the chain must terminate at a marked trust anchor in the cacerts keystore to be rejected. This is useful for organizations that have their own private CA that trust using SHA1 with their trust anchor, but want to block certificate chains anchored by a public CA from using SHA1.
  • "denyAfter" checks if the given date is before the current date or the PKIXParameter date. In the case of "SHA1 denyAfter 2018-01-01", before 2018 a certificate with SHA1 can be used, but after that date, the certificate is rejected. This can be used for a policy across an organization that is phasing out an algorithm with a drop-dead date. For signed JAR files, the date is compared against the TSA timestamp. The date is specified in GMT.
  • "usage" examines the specified algorithm for a specified usage. This can be used when disabling an algorithm for all usages is not practical. There are three usages that can be specified:
  • TLSServer' restricts the algorithm in TLS server certificate chains when server authentication is performed as a client.
  • TLSClient' restricts the algorithm in TLS client certificate chains when client authentication is performed as a server.
  • SignedJAR' restricts the algorithms in certificates in signed JAR files. The usage type follows the keyword and more than one usage type can be specified with a whitespace delimiter.
  • For example, "SHA1 usage TLSServer TLSClient" would disallow SHA1 certificates for TLSServer and TLSClient operations, but SignedJars would be allowed
  • All of these constraints can be combined to constrain an algorithm when delimited by '&'. For example, to disable SHA1 certificate chains that terminate at marked trust anchors only for TLSServer operations, the constraint would be "SHA1 jdkCA & usage TLSServer".
  • jdk.jar.disabledAlgorithms: One additional constraint was added to this .jar property to restrict JAR manifest algorithms.
  • "denyAfter" checks algorithm constraints on manifest digest algorithms inside a signed JAR file. The date given in the constraint is compared against the TSA timestamp on the signed JAR file. If there is no timestamp or the timestamp is on or after the specified date, the signed JAR file is treated as unsigned. If the timestamp is before the specified date, the .jar will operate as a signed JAR file. The syntax for restricting SHA1 in JAR files signed after January 1st 2018 is: "SHA1 denyAfter 2018-01-01". The syntax is the same as that for the certpath property, however certificate checking will not be performed by this property.
  • CHANGES:
  • core-svc/java.lang.management. JMX Diagnostic improvements:
  • com.sun.management.HotSpotDiagnostic::dumpHeap API is modified to throw IllegalArgumentException if the supplied file name does not end with “.hprof” suffix. Existing applications which do not provide a file name ending with the “.hprof” extension will fail with IllegalArgumentException. In that case, applications can either choose to handle the exception or restore old behavior by setting system property 'jdk.management.heapdump.allowAnyFileSuffix' to true.
  • security-libs/javax.net.ssl. Custom HostnameVerifier enables SNI extension:
  • Earlier releases of JDK 8 Updates didn't always send the Server Name Indication (SNI) extension in the TLS ClientHello phase if a custom hostname verifier was used. This verifier is set via the setHostnameVerifier(HostnameVerifier v) method in HttpsURLConnection. The fix ensures the Server Name is now sent in the ClientHello body.
  • xml/jax-ws. Tighter secure checks on processing WSDL files by wsimport tool:
  • The wsimport tool has been changed to disallow DTDs in Web Service descriptions, specifically:
  • DOCTYPE declaration is disallowed in documents
  • External general entities are not included by default
  • External parameter entities are not included by default
  • External DTDs are completely ignored
  • To restore the previous behavior:
  • Set the System property com.sun.xml.internal.ws.disableXmlSecurity to true
  • Use the wsimport tool command line option –disableXmlSecurity
  • NOTE: JDK 7 and JDK 6 support for this option in wsimport will be provided via a Patch release post July CPU
  • BUG FIXES:
  • JFileChooser with Windows look and feel crashes on win 10
  • Race Condition in java.lang.reflect.WeakCache
  • java.nio.Bits.unaligned() doesn't return true on ppc
  • After updating to Java8u131, the bind to rmiregistry is rejected by registryFilter even though registryFilter is set
  • sun.management.LazyCompositeData.isTypeMatched() fail for composite types with items of ArrayType
  • SafePointNode::_replaced_nodes breaks with irreducible loops
  • NPE when JavaFX loads default stylesheet or font families if CCL is null
  • WebEngine.getDocument().getDocumentURI() no longer returns null for loading a String of HTML
  • Failed to load RSA private key from pkcs12
  • Improved algorithm constraints checking
  • Custom HostnameVerifier disables SNI extension

New in Java JRE 9 Build 178 Early Access (Jul 14, 2017)

  • Aarch64: C2 compilation often fails with "failed spill-split-recycle sanity check"
  • compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java fails with The VM does not support the minimum JVMCI API version required by Graal
  • Post loop vectorization produces incorrect results
  • Restore -XX:UseAVX=3 as product value

New in Java JRE 9 Build 177 Early Access (Jul 10, 2017)

  • Meta "keywords" tag malformed in overview-summary.html and related pages
  • Fix typos in module declarations
  • Fix typos in module declarations
  • java --help-extra in non-English locales lists --permit-illegal-access which no longer exists
  • libjawt.lib is missing from JDK 9 distribution for Windows
  • Fix font-family style attributes in module declarations

New in Java JRE 9 Build 176 Early Access (Jun 30, 2017)

  • Update build documentation for JDK 9
  • Load that bypasses arraycopy has wrong memory state
  • RuntimePermission("usePolicy") is not a Java SE permission
  • javadoc generates bad names and broken module graph links
  • javadoc generates bad names and broken module graph links

New in Java JRE 9 Build 175 Early Access (Jun 23, 2017)

  • Make the top-level docs index.html to a HTML-level redirect to the API overview page
  • Make java.compiler upgradeable
  • Add specs copyright file
  • Module system implementation refresh (6/2017)
  • Simplify the API-specification overview page
  • docs bundle needs legal notices for 3rd party libraries distributed for javadoc search
  • Update testing.md for more clarity regarding JTReg configuration
  • BadKindHelper.html and BoundsHelper.html contains broken link in the javadoc
  • Clean up module-info.java like move requires transitive adjacent to exports
  • AArch64: port bugfix for 7009641 to AArch64
  • Failing assert: id must be initialized
  • NonNMethod heap in segmented CodeCache is not scanned in some cases
  • nsk/jvmti/scenarios/events/EM04/em04t001: many errors for missed events
  • [TESTBUG] Need test for JVM TI IsModifiableModule
  • [AOT][JVMCI] Get host class of VM anonymous class
  • OOM ERRORS + SERVICE-THREAD TAKES A PROCESSOR TO 100%
  • Module system implementation refresh (6/2017)
  • Clean up module-info.java like move requires transitive adjacent to exports
  • aarch64: fix for crash caused by earlyret of compiled method
  • C1: possible overflow when strength reducing integer multiply by constant
  • Package summary is missing in jdk.xml.dom module
  • Clean up module-info.java like move requires transitive adjacent to exports
  • Update JAX-WS RI integration to latest version
  • add legal file for freebxml
  • Clean up module-info.java like move requires transitive adjacent to exports
  • Update JAX-WS RI integration to latest version
  • Deprecate sun.misc.Unsafe.defineClass
  • Keystore probing mechanism fails for large PKCS12 keystores
  • Fix specs for updateAndGet and related methods
  • Make the top-level docs index.html to a HTML-level redirect to the API overview page
  • (file spec) Incompatible File.lastModified() and setLastModified() for negative time
  • Missing permissions in deprivileged java.xml.bind and java.xml.ws modules
  • Broken link in javax/sql/rowset/spi/package-summary.html
  • Make java.compiler upgradeable
  • Broken link in javadoc for JSObject.getWindow
  • Add Copyright notices to pack 200 spec
  • OOM ERRORS + SERVICE-THREAD TAKES A PROCESSOR TO 100%
  • migrate collections technotes/guides into java/util/doc-files
  • Update the tables in java.desktop to be HTML-5 friendly
  • Cleanup of javadoc in javax.accessibility package
  • add spec for Deque.addAll
  • Module system implementation refresh (6/2017)
  • Clean up module-info.java like move requires transitive adjacent to exports
  • Cleanup of javadoc in java.datatransfer module
  • Update JAX-WS RI integration to latest version
  • java.desktop module documentation has links to technotes
  • Document that SecurityManager::checkPackageAccess may be called by the VM
  • Package summary is missing in jdk.security.auth module
  • Broken link in jdk.jdi module documentation
  • Module System spec updates
  • Fix broken links in com.sun.tools.attach.VirtualMachine
  • some java.util.jar docs contain links to technotes
  • Update ECC license file
  • Fix guide links in security APIs
  • Add tool and services information to module summary
  • Add missing legal file for jquery
  • Module system implementation refresh (6/2017)
  • Clean up module-info.java like move requires transitive adjacent to exports
  • Remove -XD-Xmodule
  • docs bundle needs legal notices for 3rd party libraries distributed for javadoc search
  • Clarify ModuleElement spec
  • Including missing test update for JDK-8163989
  • Clean up module-info.java like move requires transitive adjacent to exports

New in Java JRE 9 Build 174 Early Access (Jun 15, 2017)

  • Add tool and services information to module summary
  • OpenJDK RI binary should include the license file for freetype
  • The min/max macros make hotspot tests fail to build with GCC 6
  • Backport Rename internal Unsafe.compare methods from 10 to 9
  • Add tool and services information to module summary
  • Add tool and services information to module summary
  • Mark jdk.xml.bind and jdk.xml.ws modules deprecated and for removal
  • Add tool and services information to module summary
  • Backport Rename internal Unsafe.compare methods from 10 to 9
  • sun/security/krb5/auto/KdcPolicy.java fails with java.lang.Exception: Does not match
  • Error in Javadoc for JTabbedPane getAccessibleName()
  • Spelling mistake in javadoc javax.swing.JEditorPane.scrollToReference(String)
  • Mark java.se.ee aggregator module deprecated and for removal
  • Package versioning link does not exist in JAR file specification
  • Add tool and services information to module summary
  • Move back specs to closed
  • HTTP/2 client might deadlock when receiving data during the initial handshake
  • java/net/httpclient/ManyRequests.java failed due to timeout
  • Move JDWP specs to specs directory
  • OpenJDK RI binary should include the license file for freetype
  • [tests] Reorganize EchoHandlers
  • Broken javadoc link in java.util.BitSet
  • Move Javadoc: doclet, taglet specs to specs directory
  • Add tool and services information to module summary

New in Java JRE 9 Build 173 Early Access (Jun 8, 2017)

  • html5 issues in java.base javadoc
  • Invalid HTML 5 in core-libs docs
  • Amend HREF to technote/guides in CORBA API docs to unilinks for guides
  • C2: Stale control info after cast node elimination during loop optimization pass
  • ArrayCopy with same src and dst can cause incorrect execution or compiler crash
  • Move JNI spec to specs directory
  • assert(si->is_ldr_literal()) failed on arm64 test nsk/jdi/.../returnValue004
  • Update the jdeps tool to list exported packages instead of just internal APIs
  • Invalid HTML 5 in core-libs docs
  • class-level since tag issues in java.base & java.datatransfer module
  • (doc) Clarify the compatibility and interoperability issue when using provider default values
  • The bind to rmiregistry is rejected by registryFilter even though registryFilter is set
  • html5 issues in java.base javadoc
  • Rename <baseName>Provider to <packagename>.spi.<simpleName>Provider
  • WebSocket secure connection get stuck after onOpen
  • WebSocket.Builder.connectTimeout(long timeout, TimeUnit unit) implicitly affect websocket connection timeout
  • Update the jdeps tool to list exported packages instead of just internal APIs
  • Fix minor typo/link in the old standard doclet API documentation

New in Java JRE 9 Build 172 Early Access (Jun 1, 2017)

  • Adapt javadoc generation to different requirements for JDK and JavaSE
  • Null pointer dereference of CodeCache::find_blob() result
  • Null pointer dereference in OopMapSet::all_do of oopMap.cpp:394
  • JDK9 message drop 40 l10n resource file updates
  • Review JAXP Java SE 9 API javadocs
  • Clarify implementation note in Clock.java to match implementation changes made by JDK-8068730
  • FileOutputStream documentation does not indicate properly whether files get truncated or not
  • DatabaseMeta.getRowIdLifetime returns an enum but javadoc refers to int
  • Constructor.getAnnotatedParameterTypes returns wrong value
  • sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout
  • Create test to detect if TimeZone.setDefault affects File.setLastModifiedTime
  • JDK9 message drop 40 l10n resource file updates
  • Correctly handle exception in TCPChannel.createConnection
  • java.io.Serializable class-level readObject description error
  • java/net/httpclient/whitebox/Driver.java failed due to timeout
  • Confusing message: A JNI error has occurred, please check your installation and try again
  • Validation of FileIO in the tests for JavaSound should be stricter
  • JFileChooser with Windows look and feel crashes on win 10
  • [PIT] javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java fails
  • [macos] JComboBox doesn't display popup in mixed JavaFX Swing Application on 8u131 and Mac OS 10.12
  • NullPointerException from JComboBox and JList when Accessibility enabled
  • [Windows] java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
  • Result of RescaleOp for 4BYTE_ABGR images may be 25% black
  • Opensource unit/regression tests for ImageIO
  • java.awt.event.KeyEvent.originalSource doesn't have "since" tag in Serialized Form
  • tools/launcher/modules/patch/systemmodules/PatchSystemModules.java failed in upgradeHashedModule() and patchHashedModule() intermittently
  • Adapt javadoc generation to different requirements for JDK and JavaSE
  • JDK9 message drop 40 l10n resource file updates

New in Java JRE 9 Build 171 Early Access (May 26, 2017)

  • Pandoc should generate html5 from markdown
  • Enable HTML 5 checking at compile time
  • Use standard css file for new docs bundle index.html page
  • Add pandoc build fix for windows
  • Provide javadoc descriptions for jdk.hotspot.agent module
  • Use "requires transitive" relationship when determining modules for javadoc
  • move jdk.test.lib.wrappers.* to jdk.test.lib package
  • compiler/c2/PolynomialRoot.java fails on Xeon Phi linux host with UseAVX=3
  • [JVMCI] mx eclipseinit doesn't pick up generated sources
  • Provide javadoc descriptions for jdk.hotspot.agent module
  • Null pointer dereferences of ConstMethod::method()
  • Null pointer dereference in InitializeNode::complete_stores
  • Null pointer dereference in Matcher::ReduceInst()
  • Null pointer dereference in Matcher::xform()
  • Null pointer dereference in LoadNode::Identity()
  • move jdk.test.lib.wrappers.* to jdk.test.lib package
  • clean up ProblemList
  • Fix HTML5 issues in the java.xml module
  • Remove intermittent keyword from some no longer failing NIO tests
  • Mark ClipCloseLoss.java as failing intermittently
  • Update JDK 9 Required Cipher Algorithms
  • File.lastModified should accuracy as well as resolution
  • Trailing space in JDK_JAVA_OPTIONS causes an application fail to launch
  • Use standard css file for new docs bundle index.html page
  • extLink taglet needs escaped "&"
  • Remove intermittent key from java/lang/ClassLoader/Assert.java
  • Another build issue on AIX after 8034174
  • Remove httpclient internal APIs which supply ByteBuffers to read calls
  • Upgrade the docs bundle index page

New in Java JRE 9 Build 170 Early Access (May 18, 2017)

  • core-libs/java.lang.invoke
  • java.lang.invoke.LambdaMetafactory cannot be constructed
  • A behavioural change has been made to class java.lang.invoke.LambdaMetafactory so that it is no longer possible to construct an instance. This class only has static methods to create "function objects" (commonly utilized as bootstrap methods) and should not be instantiated. The risk of source and binary incompatibility is very low; analysis of existing code bases found no instantiations.

New in Java JRE 9 Build 169 Early Access (May 11, 2017)

  • Add a proper SetupProcessMarkdown
  • Incremental builds broken on Windows
  • Module system implementation refresh (5/2017)
  • Update generated Javadoc footer documentation link
  • SetupProcessMarkdown creates long file names
  • Generate link to specification license for JavaDoc API documentation
  • Clarify install.sh
  • Module system implementation refresh (5/2017)
  • nashorn+octane's box2d causes c2 to crash with "Bad graph detected in compute_lca_of_uses"
  • Fix typographic errors in copyright headers
  • Fix typographic errors in copyright headers
  • removing xerces-related dead code
  • Missing copyrights in some jaxp files
  • Add additional jaxws messages to be translated
  • CryptoPolicyParser's API comment contains < and > characters
  • Add a proper SetupProcessMarkdown
  • Update jdk.jdi to be HTML-5 friendly
  • Add test to verify that a module based JDBC driver via the service-provider loading mechanism
  • Confidential copyright header in openjdk
  • Module system implementation refresh (5/2017)
  • Replace/update/rename executeAndCatch in various tests to assertThrows
  • Add JDBC 4.2 to bullet list in package.html
  • Improve diagnostics in sun.management.Agent#startAgent()
  • java.util.jar.Packer.newPacker and newUnpacker fails when running with security manager
  • Uncommon formatting and typos in java.desktop module
  • Undecorated frame is not painted on OEL7(Gnome3).
  • JComboBox too small under Windows LAF
  • [TEST_BUG]Test javax/swing/plaf/nimbus/8041642/bug8041642.java fails for OEL 7
  • JAWT (AWT Native Interface) specification needs to be updated for JDK 9
  • [TEST-BUG] Consistent failure of java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java
  • OGL surfaces are not HiDPI compatible on Linux/Solaris
  • Unnecessary angle brackets in the Line2D::intersectsLine() javadoc.
  • Remove references to demo tests from TEST.groups
  • Update java.desktop to be HTML-5 friendly
  • Remove sample/chatserver/ChatTest.java and sample/mergesort/MergeSortTest.java
  • Apply the restriction of invoking MethodHandles.lookup to j.l.r.Method.invoke
  • Fix typographic errors in copyright headers
  • Move RMI spec to specs directory
  • OutputStreamWriter javadocs states that you can set the buffer size but there is no way to do that
  • Custom system class loader using Enum.valueOf in its initialization triggers java.lang.InternalError
  • Module system implementation refresh (5/2017)
  • JShell: fails to provide bytecode for dynamically created lambdas
  • Fix typographic errors in copyright headers
  • Fix typographic errors in copyright headers

New in Java JRE 9 Build 168 Early Access (May 4, 2017)

  • provide way to link to external documentation
  • Allow custom taglets
  • specify -javafx option for javadoc command
  • Need a mechanism to load Graal
  • Update graphviz bundle script with up to date build instructions
  • HotSpot VM fails to start when AggressiveHeap is set
  • Need a mechanism to load Graal
  • update use of align, valign attributes in java.base to use style attribute
  • Fix warnings in the httpclient javadoc
  • Replace use of , and tags in java.base
  • src/java.security.jgss/share/classes/org/ietf/jgss/package.html should be HTML5-friendly
  • Fix remaining minor HTML5 issues in java.base module
  • Need a mechanism to load Graal
  • (LdapLoginModule)fix the JNDI properties technote
  • Update default HttpClient protocol version and optional request version
  • Scanner.findAll() can return infinite stream if regex matches zero chars
  • Mark ImageModules.java as failing intermittently
  • Remove intermittent key from some tests which appear no longer to fail
  • Update java.management and java.management.rmi to be HTML-5 friendly
  • MethodHandles.Lookup::bind allows illegal protected access
  • Improve VarHandle documentation
  • Remove demo/jvmti tests
  • test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java fails due to JDK-8177845
  • Typo in HttpURLConnection documentation
  • MulticastSendReceiveTests.java failed with "Expected message not received"
  • Exclude deployment modules from FieldSetAccessibleTest.java and VerifyJimage.java
  • provide way to link to external documentation
  • Allow custom taglets
  • Doc link updates for i18n
  • update " 9bf7a7195e96
  • java/util/zip/TestExtraTime.java: add some instrumentation which might illuminate the failure of 2016-09-14
  • (jdeprscan) improper handling of primitives and primitive array types
  • Fix HTML 5 errors in java.compiler module
  • Fix HTML 5 errors in jdk.compiler module
  • Fix HTML 5 errors in jdk.javadoc module
  • Fix HTML 5 errors in jdk.jshell module
  • Broken link for All Packages in java.jnlp module
  • (jdeprscan) eliminate duplicate "can't find class" errors
  • remove tools/javac/lambda/speculative/T8177933.java
  • Fix HTML 5 errors in jdk.scripting.nashorn and jdk.dynalink module

New in Java JRE 9 Build 167 Early Access (Apr 28, 2017)

  • Modify makefiles to not build demos and samples bundles.
  • Update docs target and image for new combined docs
  • Add build support to generate PNG file from .dot file
  • Second part of JDK-8176785
  • Finish removal of -Xmodule:
  • OS name and arch in JMOD files should match the values as in the bundle names
  • Include tool modules in unified docs
  • All API docs should be built for HTML 5
  • Copy jdwp-protocol.html to proper location
  • Copy jvmti.html to proper location
  • Add JVM-MANAGEMENT-MIB.mib to jdk/src/java.management/share/specs/
  • Add serialization spec as markdown
  • Finish removal of -Xmodule:
  • Workaround for failure of CRC32C intrinsic on x86 machines without CLMUL support (JDK-8178720)
  • Validate special case invocations
  • Aliasing problem with raw memory accesses
  • Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector
  • Update License Header for all JAXP sources
  • Finish removal of -Xmodule:
  • Resizing XML parse trees
  • Resizing XML parse trees test update
  • Performance drop due to SAXParser SymbolTable reset
  • Performance drop due to SAXParser SymbolTable reset
  • fix collections framework links to point to java.util package doc
  • Modify makefiles to not build demos and samples bundles.
  • Problemlist sample tests
  • jlink --suggest-providers should list providers from observable modules
  • (ref) jdk.lang.ref.disableClearBeforeEnqueue property is ignored
  • Finish removal of -Xmodule:
  • Can't load classes from classpath if it is a UNC share
  • Info-privileged.plist claims launchers to be "OpenJDK 7 Command"
  • Improved window framing
  • Reuse cache entries
  • Windows peering issue
  • Reuse cache entries (part II)
  • Improve class processing
  • Better transfers of files
  • Better email transfer
  • NTLM authentication doesn't work with IIS if NTLM cache is disabled
  • Recertify certificate matching
  • OS name and arch in JMOD files should match the values as in the bundle names
  • [TEST_BUG] Test javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java fails for Ubuntu 15.10
  • [TEST_BUG] Test sun/awt/dnd/8024061/bug8024061.java fails on ubuntu
  • Remove link to 2D guide from Line2D javadoc
  • NPE in AccessBridge while editing JList model
  • java.awt.Desktop.setDefaultMenuBar?() should be specified to throw IllegalStateException
  • java.awt.font.LineBreakMeasurer code incorrect
  • Update links to guide in javax sound package javadoc
  • Regtest failure: java/awt/Color/LoadProfileWithSM.java
  • Update test/jdk/asm/AsmSanity.java with modules
  • Minor update to the PooledConnection javadoc
  • [TESTBUG] Test javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java fails for OEL 7 only
  • [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only
  • Optional: add notes explaining intended use
  • Unable to initialize HijrahCalendar: Hijrah-umalqura when running with a security manager
  • Include tool modules in unified docs
  • Add negative tests for bind services Jlink feature
  • Runtime.Version must be a value-based class
  • (spec) Regex in Runtime.Version and JEP 223 should match
  • (spec) Runtime.Version regex and $PRE/$OPT issues
  • (spec) Specify when an empty '+' is required in a version string
  • Add JVM-MANAGEMENT-MIB.mib to jdk/src/java.management/share/specs/
  • Add serialization spec as markdown
  • Move information from jdi-overview.html into jdk.jdi module-info.java
  • Move spliterator testing of BitSet into big memory tests BitSetStreamTest
  • langtools/test/tools/javadoc/CompletionError.java is not runnable
  • javadoc includes qualified opens in "Additional Opened Packages" section
  • javadoc jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java fails
  • Update annotation processing API for terminology changes in modules
  • update links to technotes in javadoc API
  • MergedTabShiftTabTest sometimes time outs
  • Finish removal of -Xmodule:
  • Javadoc UI style issue with index in description.
  • jdk/jshell/CompletionSuggestionTest.java routinely fails
  • standard doclet: -javafx option should be unhidden
  • Add jdk/jshell/MergedTabShiftTabExpressionTest.java to ProblemList due to JDK-8179002
  • jshell tool: missing references in /help /set mode
  • JDK 9 change to symlink handling causes misleading class.public.should.be.in.file diagnostic
  • jdk/jshell/MergedTabShiftTabExpressionTest.java fails intermittently
  • javac produces wrong module-info
  • Add method JavaFileManager.contains
  • jjs uses wrong javadoc base URL
  • nashorn ant build failure with @moduleGraph javadoc tag
  • Finish removal of -Xmodule:
  • Closed/nashorn/JDK_8034967.java starts failing (all platforms) since 9/154

New in Java JRE 9 Build 166 Early Access (Apr 21, 2017)

  • Process and ProcessHandle getPid method name inconsistency
  • Move closed jib configuration for arm platforms to open
  • Still unable to build JDK 9 on some *7 sparcs
  • Address removal lint warnings in the JDK build
  • AOT: SIGSEGV in AOTCodeHeap::next when using specific configuration
  • Missing commas in copyright notices
  • [JVMCI] when rethrowing exceptions at deopt the exception must be fetched after materialization
  • Process and ProcessHandle getPid method name inconsistency
  • Missing bounds checks for some String intrinsics
  • compiler/ciReplay/SABase.java does not compile
  • Process and ProcessHandle getPid method name inconsistency
  • Faster FilePermission::implies by avoiding the use of Path::relativize
  • Race conditions in timeout handling code in http/2 incubator client
  • Process and ProcessHandle getPid method name inconsistency
  • Use CounterMode intrinsic for AES/GCM
  • Missing bounds checks for some String intrinsics
  • Remove link from JavaDoc to Dev guide
  • Compilation error in plaf.metal.MetalBumps.Test6657026
  • TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes
  • 8175293 breaks Windows build on Vs2010
  • Deprecate JComponent.AccessibleJComponent.AccessibleFocusHandler
  • [TEST_BUG] JPopupMenu tests fails intermittently
  • [macosx] Sometimes NSWindow.isZoomed hangs
  • apple.laf.JRSUIConstants.getConstantName(int) checks for THUMB_START twice
  • Wrong references are used in the javadoc in the java.desktop module
  • @headful key can be removed from the tests for JavaSound
  • [macosx] PrintRequestAttributeSet breaks page size set using PageFormat
  • DataFlavor.imageFlavor is null when the java.desktop module is not resolved
  • [TESTBUG] The "Undo" menu item in the context menu is disable
  • [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java
  • javax.swing.text.html.parser.Parser parseScript ignores a character after commend end
  • Suppress lint removal warnings in jdk.security and jdk.policytool
  • Suppress lint removal warnings in AppletSecurity
  • Suppress removal warning for System.runFinalizersOnExit
  • Suppress lint removal warning in java.se.ee and jdk.unsupported
  • JLinkMultiReleaseJarTest.java fails intermittently at the final clean up
  • Remove intermittent key from java/security/SignedObject/Chain.java
  • Avoid Apple Peer-to-Peer interfaces in networking tests
  • Test Task for Platform Logging API and Service -- for moduralization
  • krb5 Basic.java test should be basic
  • Java_sun_nio_ch_EPoll_close0 definition, but no sun.nio.ch.EPoll.close0 declaration.
  • Add module javadoc to jdk.internal.jvmstat
  • Adds FieldSetAccessibleTest.java and VerifyJimage.java to ProblemList
  • java VM fails to start with a Japanese ShiftJIS locale
  • T8177933.java fails even after fix for JDK-8178283
  • jshell tool: crash with ugly message on attempt to add non-existant module path
  • support for @uses/@provides tags is broken
  • Fix incorrect bug id in test.
  • jshell tool: /help /save -- incorrect description of /save -start
  • Extra } is coming in the javadoc of Taglet.toString() API
  • doclet crashes when documenting a single class in a module.
  • MODULE_SOURCE_PATH: Implement missing methods
  • StandardJavaFileManager: Clarify/document the use of IllegalStateException
  • tools/javac/platform/PlatformProviderTest.java sensitive to warnings sent to stderr
  • javac, cleanup use of ModuleTestBase

New in Java JRE 8 Update 131 (Apr 18, 2017)

  • CHANGES:
  • MD5 added to jdk.jar.disabledAlgorithms Security property:
  • This JDK release introduces a new restriction on how MD5 signed JAR files are verified. If the signed JAR file uses MD5, signature verification operations will ignore the signature and treat the JAR as if it were unsigned. This can potentially occur in the following types of applications that use signed JAR files:
  • Applets or Web Start Applications
  • Standalone or Server Applications that are run with a SecurityManager enabled and are configured with a policy file that grants permissions based on the code signer(s) of the JAR file.
  • The list of disabled algorithms is controlled via the security property, jdk.jar.disabledAlgorithms, in the java.security file. This property contains a list of disabled algorithms and key sizes for cryptographically signed JAR files.
  • To check if a weak algorithm or key was used to sign a JAR file, one can use the jarsigner binary that ships with this JDK. Running "jarsigner -verify" on a JAR file signed with a weak algorithm or key will print more information about the disabled algorithm or key.
  • New system property to control caching for HTTP SPNEGO connection:
  • A new JDK implementation specific system property to control caching for HTTP SPNEGO (Negotiate/Kerberos) connections is introduced. Caching for HTTP SPNEGO connections remains enabled by default, so if the property is not explicitly specified, there will be no behavior change.
  • When connecting to an HTTP server that uses SPNEGO to negotiate authentication, and when connection and authentication with the server is successful, the authentication information will then be cached and reused for further connections to the same server. In addition, connecting to an HTTP server using SPNEGO usually involves keeping the underlying connection alive and reusing it for further requests to the same server. In some applications, it may be desirable to disable all caching for the HTTP SPNEGO (Negotiate/Kerberos) protocol in order to force requesting new authentication with each new request to the server.
  • With this change, we now provide a new system property that allows control of the caching policy for HTTP SPNEGO connections. If jdk.spnego.cache is defined and evaluates to false, then all caching will be disabled for HTTP SPNEGO connections. Setting this system property to false may, however, result in undesirable side effects:
  • Performance of HTTP SPNEGO connections may be severely impacted as the connection will need to be re-authenticated with each new request, requiring several communication exchanges with the server.
  • Credentials will need to be obtained again for each new request, which, depending on whether transparent authentication is available or not, and depending on the global Authenticator implementation, may result in a popup asking the user for credentials for every new request.
  • New system property to control caching for HTTP NTLM connection:
  • A new JDK implementation specific system property to control caching for HTTP NTLM connection is introduced. Caching for HTTP NTLM connection remains enabled by default, so if the property is not explicitly specified, there will be no behavior change.
  • On some platforms, the HTTP NTLM implementation in the JDK can support transparent authentication, where the system user credentials are used at system level. When transparent authentication is not available or unsuccessful, the JDK only supports getting credentials from a global authenticator. If connection to the server is successful, the authentication information will then be cached and reused for further connections to the same server. In addition, connecting to an HTTP NTLM server usually involves keeping the underlying connection alive and reusing it for further requests to the same server. In some applications, it may be desirable to disable all caching for the HTTP NTLM protocol in order to force requesting new authentication with each new requests to the server.
  • With this change, we now provide a new system property that allows control of the caching policy for HTTP NTLM connections. If jdk.ntlm.cache is defined and evaluates to false, then all caching will be disabled for HTTP NTLM connections. Setting this system property to false may, however, result in undesirable side effects:
  • Performance of HTTP NTLM connections may be severely impacted as the connection will need to be re-authenticated with each new request, requiring several communication exchanges with the server.
  • Credentials will need to be obtained again for each new request, which, depending on whether transparent authentication is available or not, and depending on the global Authenticator implementation, may result in a popup asking the user for credentials for every new request.
  • New version of VisualVM:
  • VisualVM 1.3.9 was released on October 4th, 2016 and has been integrated into 8u131.
  • BUG FIXES:
  • Correction of IllegalArgumentException from TLS handshake:
  • A recent issue from the JDK-8173783 fix can cause issue for some TLS servers. The problem originates from an IllegalArgumentException thrown by the TLS handshaker code: java.lang.IllegalArgumentException: System property jdk.tls.namedGroups(null) contains no supported elliptic curves. The issue can arise when the server doesn't have elliptic curve cryptography support to handle an elliptic curve name extension field (if present). Users are advised to upgrade to this release. By default, JDK 7 Updates and later JDK families ship with the SunEC security provider which provides elliptic curve cryptography support. Those releases should not be impacted unless security providers are modified.

New in Java JRE 9 Build 165 Early Access (Apr 15, 2017)

  • Add testing documentation
  • Module system implementation refresh (4/2017)
  • [AOT] EliminateRedundantInitializationPhase is not working
  • [JVMCI] missing checks in HotSpotMemoryAccessProviderImpl can cause VM assertions to fail
  • C1 crashes with -XX:UseAVX = 3: "not a mov [reg+offs], reg instruction"
  • Module system implementation refresh (4/2017)
  • Parallel GC fails fast when per-thread task log overflows
  • Metaspace corruption caused by incorrect memory size for MethodCounters
  • CTW/PathHandler uses == instead of String::equals for string comparison
  • Module system implementation refresh (4/2017)
  • Module system implementation refresh (4/2017)
  • Clean up legal files
  • BufferedReader readLine() javadoc does not match the implementation regarding EOF
  • line number sensitive tests for jdi should be unified
  • (tz) Support tzdata2017b
  • (ch) java/nio/channels/SocketChannel/VectorIO.java should use RandomFactory
  • @link tag arguments need correction for ElementType documentation
  • Additional tests for JEP 288: Disable SHA-1 Certificates
  • Deprecate Object.finalize
  • ResourceBundle.getBundle throws NoClassDefFoundError when fails to define a class
  • jdk/internal/util/jar/TestVersionedStream.java fails on Windows
  • Migrate the thread deprecation technote to javadoc doc-files
  • Minor typo in API documentation of java.util.logging.Logger
  • jshell tool: crash on ctrl-up or ctrl-down
  • Typo in Object.finalize deprecation javadoc
  • Make the java -help consistent with the man page
  • Missing @moduleGraph in javadoc
  • Default multicast interface on Mac
  • Module system implementation refresh (4/2017)
  • (ch) java/nio/channels/etc/AdaptorCloseAndInterrupt.java: add instrumentation
  • Wrong wording in Comparator.compare() method spec
  • Minor update to the Connection javadocs
  • [DOC] ThreadMXBean Fails to Detect ReentrantReadWriteLock Deadlock
  • Clean up legal files
  • Internal error running javadoc over jdk internal classes
  • Small updates to module summary page
  • Constructor Summary readability problems in jdk9 javadoc
  • The presence of a file with a Japanese ShiftJIS name can cause javac to fail
  • The fix for JDK-8141492 broke formatting of some javadoc documentation.
  • jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java failed due to some subtests failed
  • jdk/javadoc/doclet/testModules/TestModules.java failed due to some subtests failed
  • Javac does not enforce module name restrictions
  • Finetuning of merged tab and shift tab completion
  • jshell tool: crash on ctrl-up or ctrl-down
  • Stackoverflow during compilation, starting jdk-9+163
  • Module system implementation refresh (4/2017)
  • tools/javac/lambda/speculative/T8177933.java fails with assertion error
  • Automatic module warnings
  • Missing @moduleGraph in javadoc
  • Module system implementation refresh (4/2017)

New in Java JRE 9 Build 164 Early Access (Apr 7, 2017)

  • Add module-subgraph images to main platform documentation
  • OpenJDK 9 freetype needs msvcr100.dll
  • Add module-subgraph images to main platform documentation
  • C2: Invalid ImplicitNullChecks with non-protected heap base
  • [TESTBUG] JMX test on MinimalVM fails after fix for 8176533
  • [REDO][REDO] G1 Needs pre barrier on dereference of weak JNI handles
  • vmassert_status is not debug-only
  • java -version does not differentiate between which port of AArch64 is used
  • Add module-subgraph images to main platform documentation
  • Enable java/nio/channels/Selector/OutOfBand.java for macOS >= 10.10.5
  • Improve grouping of jdk/internal/math tests
  • Caller sensitive method System::getLogger should specify what happens if there is no caller on the stack.
  • Add module-subgraph images to main platform documentation
  • Typo in java.util.jar.Pack200.Unpacker.properties() method documentation
  • Typos in Jar Packer/Unpacker PROGRESS field documentation
  • keytool should not warn if signature algorithm used in cacerts is weak
  • add notes and links to j.u.Observer/Observable deprecation comments
  • REGRESSION: a java process is not recognized by jcmd/jinfo/jstack/jmap tool
  • fix @modules in jdk_svc tests
  • fix module dependency declaration in jdk_svc tests
  • Update zlib copyright note in idk/src/java.base/share/legal/zlib.md
  • clarify restrictions on Iterator.forEachRemaining
  • com/sun/jarsigner, jdk/internal/loader (and more) are missed in TEST.groups
  • System.LoggerFinder#getLogger or getLocalizedLogger does not throw NPE
  • javadoc AssertionError when specified with release 8
  • Denied access when named module accesses unreferences package from the unnamed module
  • Add module-subgraph images to main platform documentation
  • Add Generated annotation
  • jshell tool: usability of /help for commands and sub-commands
  • jshell tool: fix documentation of /help shortcuts
  • jshell tool: /help /help -- typo "comand"
  • jshell tool: documentation: multiple start-up files and predefines not documented
  • The old standard doclet should be deprecated for removal.
  • jtreg agentvms uses more virtual address space in langtool/test :tier1 runs
  • jshell tool: usability of completion
  • cache VisibleMemberMap
  • Langtools ant build has issues with Windows file separators

New in Java JRE 9 Build 163 Early Access (Mar 30, 2017)

  • Module system implementation refresh (3/2017)
  • Reported null pointer dereference defect groups
  • Possible invalid memory accesses due to ciMethodData::bci_to_data() returning NULL
  • Incorrect lock rank for G1 PtrQueue related locks
  • [TESTBUG] runtime/modules/IgnoreModulePropertiesTest.java fails with OpenJDK: java.lang.RuntimeException: 'java version ' missing from stdout/stderr
  • [aix] assert(_thr_current == 0L) failed: Thread::current already initialized
  • Do not use FLAG_SET_ERGO to update MaxRAM for emulated client
  • Deprecate FlatProfiler
  • Wrong assertion 'should be an array copy/clone' in arraycopynode.cpp
  • Throwable::getStackTrace performance regression
  • Poor code quality for ByteBuffers
  • Module system implementation refresh (3/2017)
  • hotspot change for 8176513 breaks jdk9 build on Ubuntu 16.04
  • libGetNamedModuleTest.c crash when printing NULL-pointer
  • Range check dependent CastII/ConvI2L is prematurely eliminated
  • AArch64: Incorrect C2 patterns cause system register corruption
  • Module system implementation refresh (3/2017)
  • Two missed in the change from ${java.home}/lib to ${java.home}/conf
  • Catalog circular reference check did not work in certain scenarios
  • Class.checkMemberAccess throws NPE when calling Class methods via JNI
  • Move FJExceptionTableLeak.java and ConfigChanges.java back to tier1
  • [TESTBUG] runtime/modules/IgnoreModulePropertiesTest.java fails with OpenJDK: java.lang.RuntimeException: 'java version ' missing from stdout/stderr
  • Deprecate FlatProfiler
  • Java GUI hangs on Windows when Display set to 125%
  • [findbugs] javax.swing.text.* - Storing a reference to an externally mutable object into the internal representation
  • IllegalArgumentException in java.awt.image.ReplicateScaleFilter
  • The new SwingContainer annotation can be removed from javax.accessibility.AccessibleContext
  • [macos] Popups in JCombobox and Choice have incorrect location in multiscreen systems
  • Bad scaling on Windows with large fonts with Java 9ea
  • JDK support for JavaFX modal print dialogs
  • [macosx] The print test crashed with Nimbus L&F
  • Progress state for window is not displayed in taskbar
  • [findbugs] some files under com.apple.laf with variable isn't final but should be
  • Enable antialiasing for Metal L&F icons on HiDPI display
  • dual-screen issue with java.awt.Choice
  • Some javax/security/ tests don't have correct module dependencies
  • Wrong @modules in java/io/FilePermission/ReadFileOnPath.java
  • Module system implementation refresh (3/2017)
  • Provide Taglet with context
  • (fc) Enable java/nio/channels/FileChannel/{Transfer4GBFile.java,TransferTo6GBFile.java} on Linux and Windows
  • Do not emit warnings when illegal access is allowed by --add-exports/--add-opens
  • Remove check for Windows XP and Server 2003 in java/nio/channels/DatagramChannel/NetworkConfiguration.java
  • java/nio/channels/Selector/SelectorLimit.java disabled for Windows release >= 6.0
  • jlink support for linking in service provider modules
  • Overstatement of universality of Era.getDisplayName() implementation
  • overridden api has a wrong since value in java.base module
  • javadoc -javafx creates bad link when Property is an array of objects
  • Module system implementation refresh (3/2017)
  • Provide Taglet with context
  • javadoc does not consider mandated modules
  • Fix default verbosity for IntelliJ Ant logger wrapper
  • Generic method reference returning wildcard parameterized type does not compile
  • javac is wrongly assuming that field JCMemberReference.overloadKind has been assigned to

New in Java JRE 9 Build 162 Early Access (Mar 23, 2017)

  • Remove StackFramePermission and use RuntimePermission for stack walking
  • JarDirTest.java fails after recent change
  • JVM should throw NCDFE if ACC_MODULE and CONSTANT_Module/Package are set
  • split_if creates empty phi and region nodes
  • AOT] failure to build jdk.vm.compier with withjobs=1 configure flag
  • JVM should throw CFE for duplicate Signature attributes
  • Update license files with consistent license/notice names
  • XML deprecation "since" values should use 1.x version form for 1.8 and earlier
  • Update license files with consistent license/notice names
  • Mark Java EE modules deprecated and for removal
  • Preferences docs contain reference to Sun's JRE
  • sun/security/krb5/auto/HttpNegotiateServer.java does not compile
  • Disable SHA1 TLS Server Certificates
  • testCommonPoolThreadContextClassLoader fails with "Should throw SecurityException"
  • Update license files with consistent license/notice names
  • Improve internal timing of java/nio/channels/Selector/SelectAndClose.java
  • Test sun/security/krb5/auto/Basic.java faling after adding module declaration into TEST.properties.
  • since value errors in types of java.base module
  • since value errors java.sql module
  • JarFileSystem::isMultiReleaseJar is incorrect
  • SecureRandom FIPS 1402, Security Requirements for Cryptographic Modules link 404
  • jdk/nio/zipfs/MultiReleaseJarTest.java test fails after JDK8176709
  • Failed to load RSA private key from pkcs12
  • clarify security checks in ObjectInputStream.enableResolveObject and ObjectOutputStream.enableReplaceObject
  • Remove StackFramePermission and use RuntimePermission for stack walking
  • since value errors in apis of java.base/java.logging module
  • jdk9 BCL builds fail after cleaning up temporary file ASSEMBLY_EXCEPTION
  • Runtime.Version.compareTo/compareToIgnoreOpt problem
  • fc) Increase timeouts of and instrument some tests using FileChannel#write
  • jar tool support to report automatic module names
  • process) ProcessHandle::onExit fails to wait for nonchild process
  • Remove stray @deprecated in Date#getDate
  • Mark Java EE modules deprecated and for removal
  • Incorrect integer comparison in version numbers
  • fc) Split java/nio/channels/FileChannel/Transfer.java into smaller tests
  • sun/net/www/http/HttpClient/B8025710.java should run in ovm mode
  • javadoc should exit when it encounters compilation errors.
  • javadoc ignores moduleinfo files on the command line
  • moduleinfo on patch path should not produce an error
  • No compile error when a package is not declared
  • Need to specify module of types created by Filer.createSourceFile/Filer.createClassFile?
  • Missing check against targettype during applicability inference
  • javadoc does not produce summary pages for aggregated modules
  • tools/javac/modules/MOptionTest.java test fails on Mac
  • jdeprscan) add comments to L10N message file
  • javadoc search results sorted incorrectly on packages
  • Long method signatures disturb Method Summary table
  • TreePosTest should disable annotation processing
  • tools/javac/tree/TreePosTest.java test fails with IllegalArgumentException
  • javadoc does not handle Locations correctly with patchmodule

New in Java JRE 9 Build 161 Early Access (Mar 17, 2017)

  • Clean up post-jlink file copying to the images
  • Simplify new doclet packages
  • Imported FX modules have have residual_imported.marker file
  • rpath macro needs to use an argument on macosx
  • Warnings from the build: Unknown module: jdk.rmic specified in --patch-module
  • Use pandoc for converting build readme to html
  • Use pandoc for converting build readme to html
  • [TESTBUG] aot junit tests added by 8169588 are not executed.
  • assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity
  • [JVMCI] StubRoutines::_multiplyToLen symbol needs to exported
  • Crash in ClassLoaderData/JNIHandleBlock::oops_do during concurrent marking
  • JNI exception pending in jdk_tools_jaotc_jnilibelf_JNILibELFAPI.c:97
  • new TestPrintMdo.java fails with -XX:TieredStopAtLevel=1
  • [REDO] G1 Needs pre barrier on dereference of weak JNI handles
  • Build of hotspot for arm-vfp-sflt fails
  • C1 value numbering handling of Unsafe.get*Volatile is incorrect
  • [JVMCI] Avoid long JNI handle chains
  • [BACKOUT][REDO] G1 Needs pre barrier on dereference of weak JNI handles
  • Use pandoc for converting build readme to html
  • Provide javadoc description for jdk.xml.dom module
  • Use pandoc for converting build readme to html
  • Use pandoc for converting build readme to html
  • SubmissionPublisher closeExceptionally() may override close()
  • javax/management/monitor/MultiMonitorTest.java fails in JDK8-B22
  • NetworkInterface.getInterfaceAddresses throws NPE when no addresses
  • Simplify new Taglet API
  • Mark several tests as intermittently failing
  • update jdk tests to remove @compile --add-modules workaround
  • sun/security/tools/jarsigner/TsacertOptionTest.java compilation error, all mach 5 tier 2 platforms broken.
  • Account for race condition in java/nio/channels/AsynchronousSocketChannel/Basic.java
  • (ch) Add print of timeout value to java/nio/channels/AsynchronousSocketChannel/Basic.java
  • Minor updates to package.html
  • Incorrect relational operator in java/nio/channels/FileChannel/InterruptDeadlock.java
  • Problemlist sun/security/ssl/X509KeyManager/PreferredKey.java due to JDK-8176354
  • Fix misc module dependencies in jdk_core tests
  • sun/security/mscapi/SignedObjectChain.java fails on Windows
  • Clean up post-jlink file copying to the images
  • (tz) Support tzdata2017a
  • (ref) Reference::enqueue method should clear referent before enqueuing
  • Increase sleep time in java/nio/channels/Selector/ChangingInterests.java write1()
  • (fs) java/nio/file/FileStore/Basic.java should conditionally check FileStores
  • Linebreak matcher is not equivalent to the pattern as stated in javadoc
  • Simplify new doclet packages
  • Flow.Subscription.request(0) should be treated as an error
  • Create test for SwingSet SliderDemo
  • Jemmy: FrameOperator: maximize() and demaximize() is not properly implemented
  • [HiDPI] screenshot artifacts using AWT Robot
  • [TESTBUG] Create test for SwingSet DialogDemo
  • [TESTBUG] Create test for SwingSet DialogDemo
  • Compilation error due to tag in JDK-8162959
  • Use package-info.java instead of package.html within awt packages
  • The copyright section in the test/java/awt/font/TextLayout/DiacriticsDrawingTest.java should be updated
  • java/awt/TextField/DisabledUndoTest/DisabledUndoTest.html context menu can't be invoked on textfield
  • Use package-info.java instead of package.html within swing packages
  • Window size is not updated after setting location to display with different DPI
  • [TEST_BUG] test FullScreenAfterSplash.java failed because image was not generated
  • [TEST_BUG] keyboard garbage after javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java
  • Provide a javadoc description for jdk.accessibility module
  • Javadoc change is required for java.awt.Robot(GraphicsDevice screen) constructor
  • Performance problems in dialogs with large tables when JAB activated
  • The awt robot use incorrect location in a multi-screen environment
  • Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems
  • JNI exception pending in awt_GraphicsEnv.c:2021
  • Replace package.html files with package-info.java in the java.desktop module
  • Window set location to a display with different DPI does not properly work
  • createScreenCapture not working as expected on multimonitor setup with different DPI scales
  • JComboBox doesn't look as native combobox in different states of component
  • Editing in TableView breaks the layout, when the document is I18n
  • Deadlock when resuming from sleep with different monitor setup
  • Usage constraints don't take effect when using PKIX
  • Warnings from the build: Unknown module: jdk.rmic specified in --patch-module
  • Use pandoc for converting build readme to html
  • Missing @Deprecated arguments for jdk.policytool
  • Add test to check JDK modules to have no qualifed exports to upgradeable modules
  • Make visitUnknown specification more explicit
  • Simplify new Taglet API
  • javadoc crashes with incorrect module sourcepath
  • jdeps error message should include a proper MR jar file name
  • Annotation processor observes interface private methods as default methods
  • javac does not issue unchecked warnings when checking method reference return types
  • javac performance should be improved
  • Method overload resolution on a covariant base type doesn't work in 9
  • type inference regression after JDK-8046685
  • jshell tool: automatic imports are excluded on /reload causing it to fail
  • Simplify new doclet packages
  • Use DirectiveVisitor to print module information
  • javac Pretty printer should include doc comment for modules
  • Use of DirectiveVisitor needs @DefinedBy annotation for RunCodingRules.java
  • Javac incorrectly allows receiver parameters in annotation methods
  • module summary page shows duplicated output
  • Annotation type pages generated by javadoc is missing module information
  • @since value errors in java.compiler module
  • JSObject property access is broken for numeric keys outside the int range

New in Java JRE 9 Build 160 Early Access (Mar 10, 2017)

  • New cygwin grep does not match r as newline
  • Developer-friendly run-test facility
  • sed from FindTests.gmk prints warnings
  • jar leaves temporary file when exception occur in creating jar
  • Memory churn in jimage code affects startup after resource encapsulation changes
  • Optimize handling of comment lines in Properties$LineReader.readLine
  • jexec fails to execute simple helloworld.jar
  • java/util/concurrent/ScheduledThreadPoolExecutor/GCRetention.java starts failing intermittently
  • Miscellaneous changes imported from jsr166 CVS 2017-03
  • com/sun/jndi/dns/Parser.java is not executed
  • 4 security tests are not run
  • jdk/internal/misc/JavaLangAccess/NewUnsafeString.java is not run
  • java/util/TimeZone/UTCAliasTest.java is not run
  • JCP] [Mac]Cannot launch JCP on Mac os with language set to "Chinese, Simplified" while region is not China
  • 78 sun/security/krb5/auto tests failing due to undeclared dependecies
  • keytool should print out warnings when reading or generating cert/cert req using weak algorithms
  • Provide javadoc descriptions for jdk.policytool and jdk.crypto.* modules
  • field JCVariableDecl.vartype can't be null after post attribution analysis
  • JShell: crash on tab-complete with NPE.
  • Revisit modeling of module directives
  • Drop String pkgName from javax.tools.JavaFileManager.getLocationForModule(Location location, JavaFileObject fo, String pkgName)
  • JShell tests: jdk/jshell/CompletionSuggestionTest.testImportStart(): failure
  • JShell tool: The /reset command hangs after setting a startup script
  • JShell tests: on full builds CompletionSuggestionTest.testImportStart() fails
  • ES6 for..of should work for Java Maps and Sets

New in Java JRE 9 Build 159 Early Access (Mar 3, 2017)

  • Race in GenerateLinkOptData.gmk
  • Configure script do not properly detect cross-compilation gcc
  • Jib sets bad JT_JAVA on linux aarch64
  • Disable ProfileTrap code and UseRTMLocking in emulated client Win32
  • Rename jdk.vm.ci to jdk.internal.vm.ci
  • REDO] MemberNameTable doesn't purge stale entries
  • Crash during deoptimization with "assert(result == __null || result->is_oop()) failed: must be oop"
  • assert(no_dead_loop) failed: dead loop detected
  • Not enough old space utilisation
  • Adjust the comment for flags UseAES, UseFMA, UseSHA in globals.hpp
  • Disable ProfileTrap code and UseRTMLocking in emulated client Win32
  • compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java fails with custom Tiered Level set externally
  • C2: Access to [].clone from interfaces fails
  • JVMCI] fix memory overhead of JVMCI
  • Fix comparison input types in GraalHotSpotVMConfigNode.inlineContiguousAllocationSupported()
  • REDO] [AOT] Missing GC scan of _metaspace_got array containing Klass*
  • Inlining through MH invokers/linkers in unreachable code is unsafe
  • JVMTI tagged object access needs G1 pre-barrier
  • Code heap corruption due to incorrect inclusion test
  • C1: Inlining through MH invokers/linkers in unreachable code is unsafe
  • Failures during class definition can lead to memory leaks in metaspace
  • Mis-merge left serviceability/sa/TestCpoolForInvokeDynamic.java ignored
  • SA does not work if executable is DSO
  • bigapps/Weblogic12medrec fails with assert(check_call_consistency(jvms, cg)) failed: inconsistent info
  • JVMTI spec: GetCurrentThread may return NULL in the early start phase
  • CompareAndExchangeObject inserts two pre-barriers
  • JVMCI] incorrect implementation of isCompilable
  • SA: BasicLauncherTest.java (printmdo) fails for Client VM and Server VM with emulated-client
  • some compiler/calls/ tests should have /native option
  • develop tests to check that CompilerToVM::isMature state is consistence w/ reprofile
  • improve tests for CompilerToVM::MaterializeVirtualObjectTest
  • JVMCI] jaotc is broken in Xcomp mode
  • SafePointNode::_replaced_nodes breaks with irreducible loops
  • G1 Needs pre barrier on dereference of weak JNI handles
  • Move new TestPrintMdo.java to hotspot/test directory
  • ARM64: vm/gc/concurrent/lp30yp10rp30mr0st300 Crash SIGBUS
  • TESTBUG] Missing DefineClass instances
  • BACKOUT] fix for JDK-8166188
  • TESTBUG] 8174164 fix missed the test
  • Rename jdk.vm.ci to jdk.internal.vm.ci
  • AOT] jaotc does not accept file name with .class
  • AOT] Fix suite.py after module renaming
  • JVM should throw NoClassDefFoundError if ACC_MODULE is set in access_flags
  • Header template correction for year
  • TestInstanceKlassSize.java and TestInstanceKlassSizeForInterface.java fail on Mac OS
  • Stack traversal during OSR migration asserts with invalid bci or invalid scope desc on x86
  • JDK9 message drop 30 l10n resource file updates - open
  • Problem list org/omg/CORBA/OrbPropertiesTest.java
  • Fix httpclient asynchronous usage
  • JDK9 message drop 30 l10n resource file updates - open
  • Manifest checking throws exception with no entry
  • jimage fails with StringIndexOutOfBoundsException when path to the inspected image is an empty string
  • Error in Collectors.averagingXXX Java Doc
  • Per-protocol cache setting not working for JAR URLConnection
  • SA: BasicLauncherTest.java (printmdo) fails for Client VM and Server VM with emulated-client
  • sun/management/jdp tests are not running properly
  • Quarantine failing test jdk/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java
  • Rename jdk.vm.ci to jdk.internal.vm.ci
  • Typos in net.properties
  • Pooled HttpConnection should be removed during close
  • jlink and `requires static`
  • Improve instrumentation of java/nio/file/WatchService/LotsOfEvents.java
  • Remove javax/xml/ws/clientjar/TestWsImport.java from ProblemList
  • ServiceLoader$LazyClassPathLookupIterator scans boot and platform modules for services
  • Improve error handing for Jdp tests under sun/management/jdp
  • SubjectDelegation2Test.java and SubjectDelegation3Test.java failing on solaris
  • JDK9 message drop 30 l10n resource file updates - open
  • Improve handling of module types in javax.lang.model.util.Types
  • Extend sample API to use modules.
  • Fix small doc issues
  • StandardJavaFileManager.setLocationForModule
  • Errors reported by Arguments.validate should (probably) be fatal
  • Javac fails to find module-info.java if module source path contains symlinks

New in Java JRE 9 Build 142 Early Access (Oct 28, 2016)

  • Add new JMOD section for header files and man pages
  • Fix license and copyright headers in jdk9 under test/lib
  • javac changes for enhanced deprecation
  • Update list of tools run by the jtreg timeouthandler
  • --disable-warnings-as-errors doesn't work for the hotspot build on Solaris
  • ReflectionFactory support for IIOP and custom serialization
  • Extend data sharing
  • Update command line options
  • Improve indy validation
  • Stack map validation
  • Improve internal array handling
  • Amend Annotation Actions
  • Improved classfile parsing
  • PPC64: Improve internal array handling
  • Make XSL generated namespace prefixes local to transformation process
  • Grant permission to read specific properties instead of all to the jdk.crypto.ucrypto module
  • Fix module dependencies for tests that use internal API (java/lang)
  • markup error in "since" element spec of @Deprecated
  • javax.script.ScriptContext setAttribute method should clarify behavior when GLOBAL_SCOPE is used and global scope object is null
  • Speed up URI creation during module bootstrap
  • Remove permission to read all system properties granted to the jdk.crypto.ec module
  • Need a way for the launcher to query the JRE location using Windows registry.
  • jlink should check security permission early when programmatic access is used
  • (reflect) subclass can?t access superclass?s protected fields and methods by reflection
  • Add new JMOD section for header files and man pages
  • SHA1 certpath constraint check fails with OCSP certificate
  • Direct indirect CRL checks
  • Handle contextual glyph substitutions
  • Reformat JDWP messages
  • Audio replay enhancement
  • LCMS Transform Sampling Enhancement
  • Better handling of interpolation plugins
  • Improve indy validation
  • [Parfait] Uninitialised variable in awt_Font.cpp
  • Fix Index Offsets
  • Improve pack200 layout
  • Better signature handling in pack200
  • Service Menu services
  • isnan() is not available on older MSVC compilers
  • Classloader Consistency Checking
  • Clean up color profiles
  • Improve handling of DNS error replies
  • Better HTTP service
  • Tighten jar checks
  • Service Menu services 2
  • jarsigner -verify shows jar unsigned if it was signed with a weak algorithm
  • Back out changes to the java.security file to not disable MD5
  • Test for RMI API to export an object with a serialization filter
  • Enhance thread contexts in JNDI
  • Copy-and-paste bug in javax.security.auth.kerberos.KerberosTicket.toString()
  • The spec for javax.script.ScriptEngineFactory.getProgram() should specify NPEs thrown
  • jshell tool: on return from Ctrl-Z, garbage on screen, dies with Ctrl-C
  • Add MD5 to signed JAR restrictions
  • jarsigner -verbose -verify should print the algorithms used to sign the jar
  • TsacertOptionTest.java fails on all platforms
  • update httpserver logging to use java.lang.System.Logger
  • sun/net/www/protocol/jar/B4957695.java fails intermittently with java.lang.RuntimeException: some jar_cache files left behind
  • Pending exceptions in java.base/windows/native
  • sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java fails intermittently
  • Fix use of reflection to gain access to private fields
  • add missing wildcards to Optional or() and flatMap()
  • java.time.Month.getDisplayName() return incorrect narrow names with JRE provider on locale de,de_DE,en_US.
  • HijrahDate aligned day of week incorrect
  • Pending exceptions in java.base/windows/native/libnio
  • Non ANSI C declaration of block local variable in NetworkInterface_winXP.c
  • Tighten permissions granted to jdk.crypto.pkcs11 module
  • Native implementation of sunmscapi should use operator new (nothrow) for allocations
  • PropertyResourceBundle constructor don't understand the System.setProperty change
  • [Testbug] java/io/Serializable/serialFilter test conditions wrong
  • ReflectionFactory support for IIOP and custom serialization
  • Disable CORBA com.sun.corba.serialization.ObjectStreamTest.echoObjects
  • jshell tool: Scanner#next() hangs tool
  • Enhance Lambda serialization
  • Improved page resolution
  • jshell tool: on return from Ctrl-Z, garbage on screen, dies with Ctrl-C
  • jib make run-test for langtools and intermittent failures on windows-x86
  • Javadoc does not handle packages correctly when used with module option.
  • Add missing bug id for JDK-8167383
  • jshell tool: provide way to display configuration settings
  • javac changes for enhanced deprecation
  • 3 javac tests fail when run on an exploded image
  • Workaround intermittent failures of IntersectionTargetTypeTest.java
  • Speculative attribution of lambda causes NPE in Flow
  • jshell tool: /edit should use EDITOR setting
  • jshell tool: external editor temp file should be *.java
  • The spec for javax.script.ScriptEngineFactory.getProgram() should specify NPEs thrown
  • jshell tool: on return from Ctrl-Z, garbage on screen, dies with Ctrl-C
  • Infinite recursion in Uint8ClampedArray.set
  • TypedArrays should implement ES6 iterator protocol
  • String.prototype.replace replaces empty match twice

New in Java JRE 8 Update 112 (Oct 18, 2016)

  • Changes:
  • security-libs/java.security
  • SunPKCS11 Provider no longer offering SecureRandom by default
  • SecureRandom.PKCS11 from the SunPKCS11 Provider is disabled by default on Solaris because the native PKCS11 implementation has poor performance and is not recommended. If your application requires SecureRandom.PKCS11, you can re-enable it by removing "SecureRandom" from the disabledMechanisms list in conf/security/sunpkcs11-solaris.cfg
  • Performance improvements have also been made in the java.security.SecureRandom class. Improvements in the JDK implementation have allowed for synchronization to be removed from the java.security.SecureRandom.nextBytes(byte[] bytes) method.

New in Java JRE 9 Build 129 Early Access (Jul 30, 2016)

  • bash >(...) construct still causes race conditions
  • jdk build "all" (docs) fails on all platforms, error from DefaultLoggerFinder.java
  • (jdeps) Replace a list of JDK 8 internal API for detecting if it's removed in JDK 9 or later
  • Missed the make/common/Modules.gmk file when integrating JDK-8154191
  • GPL header incorrect - address wrong - not swapped in licensee bundles
  • SIGSEGV with UseStringDeduplication and UseSharedSpaces/RequireSharedSpaces
  • Walking PackageEntry Export and ModuleEntry Reads Must Occur Only When Neccessary And Wait Until ClassLoader's Aliveness Determined
  • Add tests which check that no allocations allowed in any of humongous regions
  • Add tests which check that no allocations allowed in any of humongous regions
  • assert(c == Bytecodes::_putfield) failed: must be putfield
  • Arguments::atojulong() fails to detect overflows
  • bash >(...) construct still causes race conditions
  • Implement Hotspot Runtime tier 2
  • invalid suffix on literal warning is occurred with GCC 6
  • Print more helpful error message when getting OOM due to low Java Heap base when running with CompressedOops
  • jarsigner and keytool -providerClass needs be re-examined for modules
  • Loggers created by system classes are not initialized correctly when configured programmatically from application code.
  • jlink: Enable plugins to use the module pool for class lookup
  • ProblemList sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java on macOS
  • java/lang/ThreadGroup/Stop.java fails with "RuntimeException: Failure"
  • Correct URLClassLoader API documentation to explicitly say jar-scheme URL's are accepted
  • LDAP "follow" throws ClassCastException with Java 8
  • -J options can cause crash or "Warning: app args parsing error passing arguments as-is"
  • jdk/test/java/nio/channels/FileChannel/Transfers.java leaving files behind
  • GZIPInputStream's available() reports 1, but read() gives -1.
  • Mark RMI tests DownloadActivationGroup, UseCustomSocketFactory, and RestartService as itnermittent
  • Localization data for "GMT"
  • Garbage in ProblemList.txt
  • JarFile.Release enum needs reconsideration with respect to it's values
  • policytool fails if it needs to show an error dialog before the main window appears
  • TEST: Add a test to check the implementation of VersionProps.versionNumbers()
  • Test java/util/zip/InflaterInputStream/TestAvailable.java fails on open-only linux
  • MessageDigest.isEqual is not a "simple byte compare"
  • Update issue number for sun/security/pkcs11/ec/TestKeyFactory.java in ProblemList
  • NullPointerException from ntlm.Client.type3
  • HttpServer API: use of non-existant method in example in package Javadoc
  • Fix copyright header
  • Math.fma javadoc doesn't have @since 9
  • Missing word in API documentation
  • Module summary page should display directives for the module
  • (jdeps) Replace a list of JDK 8 internal API for detecting if it's removed in JDK 9 or later
  • Remove two javadoc tests from the problem list
  • Never treat anonymous classes as 'final'
  • JShell tests: jdk/jshell/KullaCompletenessStressTest.java should pass if jdk.shell sources are not provided
  • fix comment in DCReference
  • Nashorn Parser API needs to be updated for ES6

New in Java JRE 9 Build 128 Early Access (Jul 22, 2016)

  • bash >(...) construct still causes race conditions
  • jdk build "all" (docs) fails on all platforms, error from DefaultLoggerFinder.java
  • (jdeps) Replace a list of JDK 8 internal API for detecting if it's removed in JDK 9 or later
  • Missed the make/common/Modules.gmk file when integrating JDK-8154191
  • GPL header incorrect - address wrong - not swapped in licensee bundles
  • SIGSEGV with UseStringDeduplication and UseSharedSpaces/RequireSharedSpaces
  • Walking PackageEntry Export and ModuleEntry Reads Must Occur Only When Neccessary And Wait Until ClassLoader's Aliveness Determined
  • Add tests which check that no allocations allowed in any of humongous regions
  • Add tests which check that no allocations allowed in any of humongous regions
  • assert(c == Bytecodes::_putfield) failed: must be putfield
  • Arguments::atojulong() fails to detect overflows
  • bash >(...) construct still causes race conditions
  • Implement Hotspot Runtime tier 2
  • invalid suffix on literal warning is occurred with GCC 6
  • Print more helpful error message when getting OOM due to low Java Heap base when running with CompressedOops
  • jarsigner and keytool -providerClass needs be re-examined for modules
  • Loggers created by system classes are not initialized correctly when configured programmatically from application code.
  • jlink: Enable plugins to use the module pool for class lookup
  • ProblemList sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java on macOS
  • java/lang/ThreadGroup/Stop.java fails with "RuntimeException: Failure"
  • Correct URLClassLoader API documentation to explicitly say jar-scheme URL's are accepted
  • LDAP "follow" throws ClassCastException with Java 8
  • -J options can cause crash or "Warning: app args parsing error passing arguments as-is"
  • jdk/test/java/nio/channels/FileChannel/Transfers.java leaving files behind
  • GZIPInputStream's available() reports 1, but read() gives -1.
  • Mark RMI tests DownloadActivationGroup, UseCustomSocketFactory, and RestartService as itnermittent
  • Localization data for "GMT"
  • Garbage in ProblemList.txt
  • JarFile.Release enum needs reconsideration with respect to it's values
  • policytool fails if it needs to show an error dialog before the main window appears
  • TEST: Add a test to check the implementation of VersionProps.versionNumbers()
  • Test java/util/zip/InflaterInputStream/TestAvailable.java fails on open-only linux
  • MessageDigest.isEqual is not a "simple byte compare"
  • Update issue number for sun/security/pkcs11/ec/TestKeyFactory.java in ProblemList
  • NullPointerException from ntlm.Client.type3
  • HttpServer API: use of non-existant method in example in package Javadoc
  • Fix copyright header
  • Math.fma javadoc doesn't have @since 9
  • Missing word in API documentation
  • Module summary page should display directives for the module
  • (jdeps) Replace a list of JDK 8 internal API for detecting if it's removed in JDK 9 or later
  • Remove two javadoc tests from the problem list
  • Never treat anonymous classes as 'final'
  • JShell tests: jdk/jshell/KullaCompletenessStressTest.java should pass if jdk.shell sources are not provided
  • fix comment in DCReference
  • Nashorn Parser API needs to be updated for ES6

New in Java JRE 8 Update 102 (Jul 19, 2016)

  • Enhancements:
  • Internal package sun.invoke.anon has been removed
  • New property jdk.lang.processReaperUseDefaultStackSize
  • Implemented performance improvements for BigInteger.montgomeryMultiply
  • Changes:
  • MSCAPI KeyStore can handle same-named certificates
  • Modify requirements on Authority Key Identifier extension field during X509 certificate chain building
  • Providing more granular levels for GC verification
  • Removed PICL warning message
  • Improved exception handling for bad LDAP referral replies
  • Bug Fixes:
  • Fix to resolve "Unable to process PreMasterSecret, may be too big" issue

New in Java JRE 9 Build 121 Early Access (Jun 3, 2016)

  • Generation of classlists at build time should be configurable
  • Miscellaneous changes imported from jsr166 CVS 2016-05
  • InetAddress should not always re-order addresses returned from name service
  • Improve javadoc tag usage in java.math
  • test/java/lang/StackWalker/VerifyStackTrace.java needs to handle update releases sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java timeouts intermittently
  • Fix module dependencies for /com/* tests
  • Fix module dependencies for /sun/* tests
  • spurious > character in the javadoc comment for ModuleEntry.java
  • Need tests for IsoFields getFrom for unsupported non-Iso Temporal fields
  • Remove sun/rmi/transport/proxy/EagerHttpFallback.java from ProblemList.txt
  • Additional tests for Solaris SO_FLOW_SLA socket option in JDK 9
  • Remove JDK 9 specific methods from sun.misc.Unsafe
  • Additional minor fixes and cleanups in Networking native code
  • Layer.defineModulesXXX with a Configuration containing java.base throws undocumented exception ModuleReader instances don't always throw NPE for passed null args
  • add specification for serialized forms
  • (zipfs) ZipPath should throw ProviderMismatchException when invoking register()
  • Clean up StackWalker permission checks
  • Remove tools/jimage/JImageTest.java from ProblemList.txt
  • Module.getResourceAsStream throws unspecified SecurityException with module in custom Layer java/util/logging/XMLFormatterDate.java fails during year switch
  • Static build of libzip is missing JNI_OnLoad_zip entry point
  • javadoc for Boolean.valueOf(String) with null argument not clearly specified
  • Add algorithm constraint that specifies the restriction date
  • Reverting a push with wrong id
  • Static build of libzip is missing JNI_OnLoad_zip entry point
  • Fix module dependencies for /jdk/* tests
  • jdk/internal/jrtfs/Basic.java fails with exploded builds
  • Re-examine closed i18n tests to see it they can be moved to the jdk repository.
  • Add argument checks to BasicImageReader calls
  • Runtime support for javac to determine arguments to the runtime environment
  • Additional argument checks to BasicImageReader calls
  • Perform array bound checks while getting a length of bytecode instructions
  • Unneeded import in lib/testlibrary/jdk/testlibrary/SimpleSSLContext.java
  • javadoc for java.lang.annotation.ElementType needs minor correction
  • Test RMI with client and servers as modules
  • Remove test exclusion for java/util/ResourceBundle/RestrictedBundleTest.java
  • 7 ANNOT tests in JCK9 test suite fail with an AssertionError for exception_index
  • deprecate javah
  • Enhance javax.a.p.RoundEnvironment after repeating annotations
  • Java compiler error displays line from the wrong file
  • JShell: shutdown could cause remote JDWP errors to be visible to users
  • langtools launcher.sh-template script is broken
  • javac should support options specified in _JAVAC_OPTIONS
  • JShell tests: reenable ToolBasicTest
  • deprecate old entry points for javadoc tool
  • jshell tool: truncation for expressions is not consistent
  • Clean up (Basic)JavacTask.getTypeMirror
  • deprecate com.sun.javadoc API
  • JShell tests: EditorPadTest failing on headless
  • Remove javac -XDnoModules
  • JShell: wrap erroneous with one-liner comment-outed imports
  • Nashorn sample
  • /test.js should not use undocumen
  • ted System property
  • Callback parameter of any JS builtin implementation should accept any Callable
  • TypeError when
  • a java.util.Comparator object is invoked as a function

New in Java JRE 9 Build 120 Early Access (May 27, 2016)

  • jlink API minor cleanups
  • jdk.dynalink package is shown under "Other Packages" section
  • ANSI-C Quoting bug in hotspot.m4 during configure on SLES 10 and 11
  • Add White Box method that enumerates G1 old regions with less than specified liveness and collects statistics Whitebox API should allow compilation of
  • Remove the old Hotspot build system
  • Add minimal VM in JIB profile on linux-x86
  • Finalize and integrate GTest implementation
  • Enable SA on AArch64
  • Enable building of arm targets in default JPRT testset
  • Introduce bundle targets
  • Deprivilege java.scripting module
  • Add make target for running gtest tests
  • Determine modules depending on upgradeable modules directly and indirectly
  • Add support for running jtreg tests from IntelliJ project
  • Build fails with certain source configurations
  • JDK-8157348 broke gensrc of imported modules
  • Disable bootcycle build when cross compiling
  • JDK-8157348 broke gensrc of module infos with extra provides
  • Mac fastdebug bundles have wrong directory layout
  • Using AlwaysPreTouch does not always touch all pages
  • Separate G1 specific policy code from the CollectorPolicy class hierarchy
  • [TESTBUG] test/gc/g1/TestRegionLivenessPrint.java misses -XX:+UnlockDiagnosticVMOption flag
  • Move remset scan iteration claim to remset local data structure
  • Card Live Data does not correctly handle eager reclaim
  • Using deprecated flags converted to UL shows wrong hint
  • JVMTI trace to Unified Logging
  • JVMTI ObjectTagging to UL
  • Print -Xlog configuration in the hs_err_pid file
  • Clean up CompactHashtable
  • Zero JVM fails to initialize after JDK-8152440
  • Zero build fails with undeclared G1LastPLABAverageOccupancy
  • do_young_space_rescan - comment out of sync with code
  • JvmtiExport::add_default_read_edges hits a guarantee
  • CompactStrings broken on AArch64
  • AArch64: JEP 254: Implement byte_array_inflate
  • AArch64: TemplateTable::fast_xaccess loads in wrong mode
  • gc/g1/mixedgc/TestLogging.java - G1 Evacuation Pause missing from output
  • Add White Box method that enumerates G1 old regions with less than specified liveness and collects statistics runtime/SharedArchiveFile/SharedStrings Shared string table stats missing
  • test/runtime/memory/RunUnitTestsConcurrently.java fails on solaris with largepage options
  • Cleanup initialization of GCPolicyCounters
  • Deferred cleanups after split of G1CollectorPolicy code
  • Move default G1 pause time target setup to argument parsing
  • Cleanup initialization of G1Policy
  • Jigsaw crash when Klass in _fixup_module_field_list is unloaded
  • Add auxiliary method that generates class by class prototype to gc testlibrary
  • Add tests which check that when humongous classloader object becomes unreachable it and all classes that were loaded in it should be collected new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
  • Update for x86 tan and log10 in the math lib
  • Fix MX tool config script to make the tool work with TESTNG
  • [TESTBUG] compiler/whitebox/ForceNMethodSweepTest should not assume asserts are benign
  • Incorrect declaration of bitsInByte in regmask.cpp.
  • Whitebox API should allow compilation of
  • EnqueueMethodForCompilationTest.java still fails to compile method
  • do not install an empty SpeculationLog in an nmethod
  • aarch64: Add Arrays.fill stub code
  • C2 complains about unreasonably large method running Octane zlib in Nashorn
  • C2: @Stable support doesn't always work w/ incremental inlining
  • Replace C1-specific collection classes with universal collection classes
  • [TESTBUG] few regression tests failed after 8151880 changes
  • Move private interface check to linktime
  • Move similar CompiledIC platform specific code to shared code.
  • Several compiler tests fail when are executed with C1 only
  • aarch64: improve short array clearing using store pair
  • Unquarantine tests that failed with OutOfMemoryError
  • [jittester] move TypeUtil to utils package
  • C1 FastTLABRefill can allocate TLABs past the end of the heap
  • nmethod's exception cache not multi-thread safe
  • Enable UseLoopCounter ergonomically if on-stack-replacement is enabled
  • C2 creates incorrect cast after eliminating phi with unique input
  • Loop alignment may be added inside the loop body
  • Improve JitTester performance
  • Masked vector post loops
  • jdk.vm.ci should not depend on sun.misc ( jdk.unsupported module
  • AArch64: some integer rotate instructions are never emitted
  • Missing klass/method name in stack traces on error
  • AllocateInstancePrefetchLines>AllocatePrefetchLines can trigger out-of-heap prefetching
  • VM crashes with "-Xint -XX:+UseCompiler" option
  • Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported G1CardLiveData::free_large_bitmap() uses wrong calculation to determine the number of words
  • Zero: Better byte behaviour
  • Fix aix after "8146879: Add option for handling existing log files in UL"
  • os_linux.cpp parse_os_info gives non descriptive output on current SLES releases
  • [TESTBUG] remove obsolete runtime/SharedArchiveFile/BasicJarBuilder
  • G1: UseSHM in combination with a G1HeapRegionSize > os::large_page_size() falls back to use small pages AArch64: Better byte behavior
  • Save mirror in interpreter frame to enable cleanups of CLDClosure
  • Turn G1Policy into an interface
  • [aix] Implement compare_file_modified_times for "8146879: Add option ..."
  • MIN_STACK_SHADOW_PAGES should equal DEFAULT_STACK_SHADOW_PAGES on aarch64
  • PS: Restore preserved marks in parallel
  • Use the PreservedMarks* classes for the G1 preserved mark stack
  • [ppc] Fix Type-O in "8154580: Save mirror in interpreter frame..."
  • GC tests should be correctly marked with @module
  • [TESTBUG] GC tests should be changed to be able to execute with -Xlog:all=trace.
  • [TESTBUG] G1 stress test for humongous objects allocation
  • Some hotspot tests fail on compact2 due to an unnecessary test library dependency
  • JvmtiBreakpoint rename method print() to print_on()
  • AArch64: Relax alignment requirement for byte_map_base
  • JVM InstanceKlass Methods For Obtaining Package/Module Should Be Moved to Klass
  • Remove the old Hotspot build system
  • [TESTBUG] TestHumongousClassLoader.java needs UnlockDiagnosticVMOptions before WhiteBoxAPI
  • BitMap set operations copy their other BitMap argument
  • MonitorInUseLists should be on by default, deflate idle monitors taking too long
  • Bring back version control history to g1Policy.hpp and g1DefaultPolicy.*
  • Refactor mutator region restriction
  • Calculation in other_time_ms() is incorrect
  • UseSharedSpaces error message is incomplete
  • Move setting of young index in cset to G1CollectionSet
  • New capability can_generate_early_class_hook_events
  • Add module name/version to class histogram output
  • Internal VM test DirectiveParser_test is too verbose
  • JVMTI GetAllModules should make it clear that it also returns unnamed module
  • Fix range of flag MaxDirectMemorySize which is parsed at jlong
  • [TESTBUG] ctw tests fail to compile: module reads package sun.reflect from both jdk.unsupported and java.base New test TestHumongousClassLoader fails with "-XX:+ExplicitGCInvokesConcurrent" option
  • UL: Remove trailing comma from log decoration list
  • Add logging when MMU target is violated
  • Crash with "assert(RangeCheckElimination)" if RangeCheckElimination is disabled
  • Crash with "modified node is not on IGVN._worklist" when running with -XX:-SplitIfBlocks
  • C2: Type speculation produces mismatched unsafe accesses
  • C1: NPE is thrown instead of linkage error when invoking nonexistent method
  • Support non-continuous CodeBlobs in HotSpot
  • xml.transform fails intermittently on SKX
  • SHA256 AVX2 intrinsic (when no supports_sha() available)
  • 8153998 broke vectorization on aarch64
  • Aarch64: bad assert in spill generation code
  • Update for vectorizedMismatch with AVX512
  • [JVMCI] CompilerToVM::resolveMethod should correctly handle private methods in interfaces
  • VM crash due to "Base pointers must match"
  • Aarch64: vector nodes need to support misaligned offset
  • Improve array equals intrinsic on SPARC
  • aarch64: ClearArray does not use DC ZVA
  • Convert an assert in ClassLoaderData to a guarantee
  • Wrong indentation in ClassFileParser::post_process_parsed_strea
  • Internal Error: psParallelCompact.hpp assert(addr >= _region_start) failed: bad addr
  • Update class* and safepoint* logging subsystems
  • [TESTBUG] Various serviceability tests fail compilation
  • Augment Workgang to run task with a given number of threads
  • Improve Card Table Clear Task
  • Tune thread usage for mark bitmap clear
  • Lazy coarse map clear
  • Tune thread usage for live data clearing
  • Add support for experimental fields/events to event-based tracing
  • Fix indentation in G1RemSetScanState::clear_card_table()
  • Remove HeapRegionRemSet::_coarse_dirty flag
  • Maintain the set of survivor regions in an array between GCs
  • Quarantine serviceability/tmtools/jstat/GcTest02.java
  • Support non-continuous CodeBlobs in HotSpot broke Zero
  • Negative Other Time in gc logs due to 'Wait for Root Region Scan' not included
  • UseParallelGC fails with UseDynamicNumberOfGCThreads with specjbb2005
  • HotCardCache shouldn't be part of ConcurrentG1Refine
  • [Solaris] Investigate use of in-memory low-resolution timestamps for Java and internal time API's
  • Handle unsafe access error directly in signal handler instead of going through a stub
  • Kitchensink stress test crashes with out of memory error
  • quarantine failing tests from JDK-8155957
  • Problems with BitMap buffer management
  • Assertion failures when -XX:+UseParallelGC -XX:ParallelGCThreads=1
  • api/java_lang/Math/cos_cos6 and sin_sin6 fail
  • Don't explicitly manage G1 young regions in YoungList
  • Clean out old logging and dead code from SurvRateGroup
  • Move G1Eden/SurvivorRegions into their own source files
  • Minimal VM fails to built after 8154153: PS: Restore preserved marks in parallel
  • Some tests miss othervm for main/bootclasspath mode
  • Backout JDK-8153892
  • ClassLoader::initialize_module_loader_map should only be called when dumping CDS archive.
  • UL: Set filesize option with k/m/g
  • [TESTBUG] Simple test setup for JVMTI ClassFileLoadHook
  • ParNew/CMS: Clean up promoted object tracking
  • Remove ProcessTools.getVmInputArguments() from the hotspot test library, as it is not used by any of the hotspot test AllocatedObj msgs coming out during -version etc
  • ParallelCompact_test should skip test if UseParallelOldGC is off
  • Confusing message in "Current rem set statistics"
  • Reintegrate 8153892: Handle unsafe access error directly in signal handler instead of going through a stub Quarantine compiler/jvmci/compilerToVM/ReadUncompressedOopTest.java
  • Update Unsafe getters/setters to use double-register variants
  • Incorrect locals and operands in compiled frames
  • Remove STEP numbers from error reporting
  • Create GC worker threads dynamically
  • VM crashes with assert "Ensure we don't compile before compilebroker init"
  • BlockingCompilation test times out
  • break_tty_lock_for_safepoint causes "assert(false) failed: bad tag in log" and broken compile log
  • Disallow misconfiguration and improve the consistency of allocation prefetching
  • TestVectorUnalignedOffset.java not pushed with 8155612
  • update IGV with improvements from Graal
  • aarch64: debug VM fails to start after 8155617
  • JVMCI: MemoryAccessProvider.readUnsafeConstant javadoc should be updated for null JavaKind case
  • JVMCI: MethodHandleAccessProvider.resolveInvokeBasicTarget implementation doesn't match javadoc
  • C2: fix frame_complete_offset
  • use strings instead of Symbol* in JVMCI exception stubs
  • [JVMCI] expose JVM_ACC_IS_CLONEABLE_FAST
  • aarch64: fix register usage in block zeroing
  • [TESTBUG] VarHandles/Unsafe tests for weakCAS should allow spurious failures
  • Aarch64: enable loop superword's unrolling analysis
  • AArch64: redundant address computation instructions with vectorization
  • java.util.zip.CRC32C Interpreter/C1 intrinsics support on SPARC
  • Wire up the x86 _vectorizedMismatch stub routine in C1
  • AVX-512 equipped inflate, has_negatives & compress intrinsics
  • Move Objects.checkIndex BiFunction accepting methods to an internal package
  • LogCompilation: Dump additional info about deoptimization events
  • Update compiler/unsafe/UnsafeGetConstantField after JDK-8148518 is fixed
  • C2: MachProj dumps data on tty w/ -XX:+WizardMode
  • Hotspot visual studio project generation broken
  • Add prediction for cost_per_byte_ms to G1Analytics
  • Change name of StealRegionCompactionTask to something that emphasizes the compaction task. ClassLoader::initialize_module_loader_map crashes if the char_buf is not NULL terminated
  • Prepare hotspot for GTest
  • Finalize and integrate GTest implementation
  • Add tests which check that Humongous objects behave as expected after Young GC
  • Convert TraceRedefineClasses to Unified Logging
  • Remove SA related functions from tmtools
  • Make ttyLocker equivalent for Unified Logging framework
  • jhsdb jmap cannot set heapdump name
  • FindCrashesAction in HSDB does not work except Solaris platform
  • JDK-8150393 does not set _scan_in_progress properly
  • Sparse remset wastes half of entry memory
  • Bound the number of root region scan threads to the number of survivor regions
  • Improve memory usage for cards in SparsePRTEntry
  • Prevent certain commercial flags from being changed at runtime
  • SQE test: GC unified logging: check that dynamic log level doesn't break anything
  • [ppc] Fix build after "8151268: Wire up the x86 _vectorizedMismatch stub routine in C1"
  • Unsafe.{get|set}Opaque should be single copy atomic
  • Unsafe.weakCompareAndSetVolatile entry points and intrinsics
  • [JVMCI] expose StubRoutines trig functions
  • Make intrinsics flags diagnostic and update intrinsics tests to enable diagnostic options
  • AArch64: take advantage better of base + shifted offset addressing mode
  • Missing destructor and/or TLS clearing calls for terminating threads
  • [TESTBUG] runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java disable range testing of Allocate*PrefetchLines Enable listing of LogTagSets and add support for LogTagSet descriptions
  • Quarantine gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.jav
  • missing condition in ClassPathZipEntry::open_versioned_entry()
  • Enable SA on AArch64
  • CompilerControl: LogCompilation testing
  • gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java fails with java.lang.Exception
  • Compilation error compiling XpatchDupModule.java and XpatchDupJavaBase.java gc/logging/TestUnifiedLoggingSwitchStress.java hits assert
  • java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed with a fatal error
  • ModuleFinder.compose should accept varargs
  • Add jtreg wrapper for hotspot gtest tests
  • [aix] Add missing includes
  • VM crash in nsk/jvmti/RedefineClasses/StressRedefine: assert failed: Corrupted constant pool
  • Remove hotspot/test/testlibrary/whitebox
  • Simplify/reduce testing in ParallelCompact_test
  • DumpLoadedClassList should not include generated classes.
  • Can't set both CONCURRENCY and EXTRA_JTREG_OPTIONS when running tests Uri is getting incorrectly unwrapped
  • Typo: "APIi" instead of "API"
  • [since-tag]: javadoc for xml classes has invalid @since tag
  • ModuleFinder.compose should accept varargs
  • Can't set both CONCURRENCY and EXTRA_JTREG_OPTIONS when running tests jlink API minor cleanups
  • (bf) Hoist slice and duplicate methods up to java.nio.Buffer java/net/httpclient/BasicWebSocketAPITest.java failed with java.lang.AssertionError New tests from 8144566 fail with "No expected Server Name Indication" ClassCircularityError on error in security policy file
  • Trailing empty element in classpath ignored
  • Fix module dependencies in java/sql/* and javax/* tests MethodHandles.varHandleExactInvoker should perform exact checks
  • Add debug printlns to tests FieldSetAccessibleTest and VerifyJimage.java
  • Fix memory leak in splitPathList
  • -Xincgc should be removed from output
  • JDI use of sun.boot.class.path needs to be updated for Jigsaw
  • nsk/jdi/ObjectReference/waitingThreads/waitingthreads003 fails with JVMTI_ERROR_INVALID_CLASS new method j.l.Thread.onSpinWait() and the corresponding x86 hotspot instrinsic
  • New capability can_generate_early_class_hook_events java/util/concurrent/locks/Lock/TimedAcquireLeak.java timeouts.
  • Update class* and safepoint* logging subsystems java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java fails with RuntimeException
  • Incorrect locals and operands in compiled frames
  • Tests in com/sun/jdi fails intermittently with "jdb input stream closed prematurely"
  • Update Unsafe getters/setters to use double-register variants
  • some places in the invoke.c that use InvokeRequest* not protected with invokerLock
  • PlatformLoggerTest.java throws java.lang.RuntimeException: Logger test.logger.bar does not exist
  • [TESTBUG] VarHandles/Unsafe tests for weakCAS should allow spurious failures
  • Move Objects.checkIndex BiFunction accepting methods to an internal package
  • Remove SA related functions from tmtools
  • Add the ability to use main class as lookup (as jcmd) to jinfo, jmap, jstack
  • jhsdb jmap cannot set heapdump name
  • Unsafe.weakCompareAndSetVolatile entry points and intrinsics
  • Re-examine java.management dependency on java.util.logging.LoggingMXBean
  • Introduce bundle targets
  • Hook up Unsafe.weakCompareAndSetVolatile to VarHandles
  • Writer/StringWriter.write methods do not specify index out bounds
  • Problem list tools/pack200/TestNormal.java and java/io/pathNames/GeneralWin32.java
  • Assorted ZipFile improvements
  • introduce MethodHandle factory for array length
  • Deprivilege java.scripting module
  • java/lang/reflect/Layer/LayerAndLoadersTest.java test requires jdk.compiler
  • Cleanup of ProblemList.txt
  • Use stronger algorithms and keys for JSSE testing
  • HTTP/2 client may fail with NPE if additional logging enabled
  • Atomic add for VarHandle byte[]/ByteBuffer views is incorrect for endian conversion DragSourceListener.dragDropEnd() never been called on completion of dnd operation
  • [macosx swing] double key event actions when using Mac menubar
  • [macosx] According to the description, the case is failed
  • [TEST] create one more inheritance test for @BeanProperty
  • [macosx] All files filter can't be selected in JFileChooser
  • Broken link in java.beans.XMLEncoder
  • Swing applications not being displayed properly
  • JTabbedPane components have inconsistent accessibility tree
  • GeoTIFFTagSet#"ModelTiePointTag" name case does not match GeoTIFF specification
  • TIFFField#getAsLong throws ClassCastException when data is type TIFFTag.TIFF_DOUBLE or TIFFTag.FLOAT gtk3_interface.c compilation error on Ubuntu 12.1
  • AppletViewer should emit its deprecation warning to standard error
  • The spec for Toolkit.setDynamicLayout() and Toolkit.isDynamicLayoutActive() needs to be clarified TIFFField#createFromMetadataNode throws a NullPointerException when the node is set with "tagNumber" attribute JavaSound treats large file sizes as negative and cannot read or skip
  • TIFFField#getValueAsString result is unexpected for RATIONAL and SRATIONAL types (when modulo is 0) [TESTBUG] java/beans/XMLEncoder/Test4625418.java timed out intermittently
  • TrayIcon ActionListener called at wrong time
  • [Windows] robot.keyPress(KeyEvent.VK_ALT_GRAPH) throws java.lang.IllegalArgumentException in windows [macosx] The native dialog doesn't have 'close'(X) button on Mac
  • [TEST_BUG] java/awt/TrayIcon/ActionEventTest/ActionEventTest.java
  • SimpleCMYKColorSpace serialVersionUID is inappropriate
  • AppletViewer should print the deprecation warning that the Applet API is deprecated
  • Get rid of legacy Windows Flags for DX
  • Tests for [AWT/Swing] Conditional support for GTK 3 on Linux
  • When calls JSpinner.setEditor() the font in a JSpinner become is a bold.
  • Retire sun.misc.GThreadHelper
  • Examine the desktop module's use of sun.misc.SoftCache
  • Remove unused medialib code
  • SystemTray.remove() leaks GDI Objects in Windows
  • Generalize jshell's EditingHistory
  • Note that disabledAlgorithms override the same algorithms of legacyAlgorithms
  • Remove intermittent key from sun/security/rsa/SpecTest.java
  • Pack200 must support v53.0 class files
  • Fix java/lang/invoke/MethodHandleImpl's use of Unsafe.defineAnonymousClass()
  • Test Task: Develop new tests for JEP 273: DRBG-Based SecureRandom Implementations jdk/modules/scenarios/overlappingpackages/OverlappingPackagesTest.java failing
  • Update module-info reader/writer to 53.0
  • [TEST_BUG] test/javax/xml/bind/xjc/8145039/JaxbMarshallTest.java is skipped by jtreg XjcOptionalPropertyTest.java creates files in test.src
  • JEP 280, Switch to more optimal concatenation strategy
  • java/lang/invoke/VarHandles/ tests fail by timeout with -Xcomp with lambda form linkage javax/net/ssl/TLS/TestJSSE.java fails intermittently with BindException: Address already in use ExceptionInInitializerError if images build patched to use exploded version of jdk.internal.module.SystemModules Move jdk.Version to java.lang.Runtime.Version
  • SHA groups needed for jdk.security.provider.preferred
  • Deadlock detected in java/lang/ClassLoader/deadlock/GetResource.java
  • Multiple test timeouts after push for JDK-8141039
  • automatic discovery of LDAP servers with Kerberos authentication New default -sigalg for keytool
  • currency.properties supercede not working correctly
  • 3 Buffer overrun defect groups in jexec.c
  • API java.util.stream: explicitly specify guaranteed execution of the pipeline
  • Mark tools/launcher/FXLauncherTest.java as intermittently failing
  • Typos in Stream JavaDoc
  • javac crashes again on Windows 32-bit with ClosedChannelException javax/net/ssl/DTLS tests fail intermittently
  • Some of SecureRandom test might get timed out in linux
  • Provider.java contains very long lines because of lambda
  • Adjust link-time generated Species classes to match JDK-8148604 usage
  • \p{Cn} unassigned code points should be included in \p{C}
  • jmod jlink properties file need copyright header
  • No way to access the 64-bit integer multiplication of 64-bit CPUs efficiently
  • Add BigDecimal sqrt method
  • DefaultProviderList.java fails with no provider class apple.security.AppleProvider found Additional floorDiv/floorMod/multiplyExact methods for java.lang.Math
  • Mark ZoneId.java as intermittently failing
  • ModuleFinder.compose should accept varargs
  • make docs broken after JDK-5100935
  • File Descriptor Leak in src/java.base/unix/native/libnet/net_util_md.
  • Replace @since 1.9 with @since 9 on new math methods
  • 3KeyTDEA word left in DRBG after JDK-8156213
  • Typo in CtrDrbg::toString
  • Generate the 4-byte timestamp randomly
  • HTTP/2 client hangs in blocking mode if an invalid frame has been received
  • Cannot resolve multiple values from one response header
  • Jar file and Zip file not removed in spite of the OPEN_DELETE flag
  • Internal documentation improvements to ZipFile.java
  • Add jar tool support for Multi-Release Modular JARs
  • Static build of libzip is missing JNI_OnLoad_zip entry point
  • Add @Deprecated annotations to the Applet API classes
  • Mark several tests from jdk_net as intermittently failing
  • MethodHandles.arrayLength() lacks @since tag, implementation throws wrong exception Consider moving pack200 tests to tier 1
  • Replace usage of -Djdk.launcher.limitmods in tests with -limitmods
  • Can't set both CONCURRENCY and EXTRA_JTREG_OPTIONS when running tests ModuleReader find returns incorrect URI when modular JAR is a multi-release JAR java.net socket supportedOptions set depends on call order
  • 9-dev windows builds fail on zip_util.c
  • langtools dev build broken after classfile version bump
  • Expression lambda erroneously compatible with void-returning descriptor
  • javac accepts code that violates JLS chapter 16
  • document skip results in RunCodingRules.java
  • Update error message to indicate illegal character when encoding set to ascii Regression: stuck expressions do not behave correctly
  • jshell tool: value printing truncation
  • jshell tool: allow a parameter on the /vars /methods /classes commands
  • Avoid exceptional control flow in Configuration.getText
  • javac incorrectly complains of incompatible types
  • Update Minefield test
  • Add examples for jigsaw diagnostics
  • jshell tool: ambiguous format -- distinguished arguments should be options
  • Generalize jshell's EditingHistory
  • Intellij langtools project should use shared run configurations tools/jdeps/modules/GenModuleInfo.java and ModuleTest.java fails intermittently
  • jdeps implementation refresh
  • Add jdeps -addmods, -system, -inverse options
  • Move jdk.Version to java.lang.Runtime.Version
  • tools/jdeps/modules/GenModuleInfo.java and TransitiveDeps fails on windows
  • jdeps left JarFile open
  • jshell tool: Add /retain command to persist settings
  • jdeps should continue to report JDK internal APIs that are removed/renamed in JDK clean up/simplify/rename ModuleWrappers class
  • Make javax.lang.model.SourceVersion more informative
  • JShell SPI: Provide a pluggable execution control SPI
  • Compiler should handle java.nio.file.FileSystemNotFoundException gracefully and not abort Add VarHandle signature-polymorphic invocation byte code tests
  • Inference: weird propagation of thrown inference variables
  • jshell tool: allow undoing operations
  • jdk/jshell/ExecutionControlTest.java failed intermittently with NPE jshell tool: pasting code with tabs invokes tab completion JSON.stringify does not work on ScriptObjectMirror objects adopt method handle for array length getter in BeanLinker Remove javac warnings of Nashorn "ant clean test"
  • BeanLinker assumes fixed array type linkage Fuzzing bug: Can't find scope depth
  • Generalize jshell's EditingHistory
  • Octane svn repository no longer exists
  • jdk.dynalink.linker.support.Lookup should have more checks before
  • adding module read link
  • exclude jjs shebang handling test
  • from runs
  • Can't set both CONCURRENCY and EXTRA_JTREG_OPTIONS when running tests
  • jshell tool: pasting code with tabs
  • invokes tab completion

New in Java JRE 9 Build 116 Early Access (Apr 29, 2016)

  • update java.lang APIs with new deprecations
  • Implement setting jtreg @requires properties vm.flavor, vm.bits, vm.compMode
  • The new Hotspot Build System
  • Fix AIX and Linux/ppc64le after the integration of the new hotspot build
  • bash >(...) construct causes race conditions
  • Remove sun.misc.ManagedLocalsThread from corba
  • [TESTBUG] gc/arguments/TestMaxMinHeapFreeRatioFlags is too sensitive for stray allocations in verifyRatio
  • Concurrent mark initialization takes too long
  • Extract card live data out of G1ConcurrentMark
  • Creation of ModuleEntryTable Investigate Need For OrderAccess::storestore()
  • Refactor hotspot/test/gc/g1/humongousObjects/TestHumongousThreshold.java
  • jvm should treat the "Multi-Release" jar manifest attribute name as case insensitive
  • ParNew: Restore preserved marks in parallel
  • TestHumongousReferenceObject.java occasionally crashes with "unable to allocate heap of 1g" on win32
  • Implement setting jtreg @requires properties vm.flavor, vm.bits, vm.compMode
  • Test for PLAB behavior at evacuation failure.
  • Hotspot TEST.group has error in GC groups definition.
  • Convert PrintCompressedOopsMode to Unified Logging
  • VM_Version_init() print buffer is too small
  • SIGFPE in CMSCollector::preclean with big CMSScheduleRemarkSamplingRatio
  • Possible overflow in initialzation of _rescan_task_size and _marking_task_size
  • serviceability/tmtools/jstat/GcCauseTest02.java fails with OOME
  • [sparc only] compiler/interpreter/7116216/StackOverflow.java Program terminates with signal 11, Segmentation fault. in __1cLRegisterMap2t6MpnKJavaThread_b_v_ ()
  • The new Hotspot Build System
  • Streamline StackWalker code
  • Use trampolines for i2i and i2c entries in Methods that are stored in CDS archive
  • make Throwable.backtrace visible to Class.getDeclaredField again
  • Implement os::set_native_thread_name() on Solaris
  • DeadlockDetectionTest.java fails due to expected output missing
  • (CL)HSDB should be started with no argument
  • new test serviceability/tmtools/jstack/JstackThreadTest.java fails
  • PrintMiscellaneous in constantPool should use classresolve logging.
  • Make test for classinit logging more robust.
  • Move Thread::current() to thread.hpp
  • ResourceMark missing in reportFreeListStatistics
  • CMSCollector::shouldConcurrentCollect incorrectly logs against the debug stream
  • Make OutputAnalyzer.reportDiagnosticSummary public
  • Redundant memory copy in LogStreamNoResourceMark
  • Create a CHeap backed LogStream class
  • Convert TracePageSizes to use UL
  • Increase max tag combinations for UL expression (config)
  • UL log write method missing essential assert
  • Add option for handling existing log files in UL
  • Remove top.hpp
  • G1 Card table verification fails due to concurrent region cleanup
  • Fix AIX and Linux/ppc64le after the integration of the new hotspot build
  • G1CardLiveDataHelper incorrectly sets next_live_bytes on dead humongous regions
  • OOM Error running java/lang/invoke/MethodHandlesTest.java on windows-x86
  • hs_err file is missing gc threads
  • VM crash in nsk/jvmti/RedefineClasses/StressRedefine: assert failed: Corrupted constant pool
  • nsk/jvmti/RedefineClasses/StressRedefine fails in hs nightly
  • Better byte behavior
  • Zero interpreter broken with better byte behaviours
  • Missing SA Bytecode updates.
  • Better byte behavior should normalize JNI arguments
  • PolicyQualifierInfo/index_Ctor JCk test fails with IOE: Invalid encoding for PolicyQualifierInfo
  • Better byte behavior for reflection
  • Zero cleanup of CppInterpreter::result_type_of()
  • PPC64: Better byte behavior
  • Missing definition for JIMAGE_NOT_FOUND
  • Need a JImage API that given a JImageLocationRef returns class name
  • Command line processing should use mtCommand or mtArguments rather than mtInternal for NMT
  • Change G1YoungGenSizer to use UL log_warning instead of warning
  • Avoid spawning G1ParPreserveCMReferentsTask when there is no work to be done
  • assert(q > prev_q) failed: we should be moving forward through memory
  • Improve test: stress/gc/TestStressRSetCoarsening.java
  • [TESTBUG] Move tests in stress/gc to gc/stress
  • JVMTI trace event crashes
  • Improve PackageEntry and ModuleEntry print methods for future logging
  • [TESTBUG] Compilation of ExportAllUnnamed.java failed, missing @modules
  • Concurrent refinement threads may be activated and deactivated at random
  • Issue in XMLScanner: EXPECTED_SQUARE_BRACKET_TO_CLOSE_INTERNAL_SUBSET when skipping large DOCTYPE section with CRLF at wrong place
  • Test deploying a XML parser as a module
  • JRT filesystem loaded by JDK8 with URLClassLoader is not closable since JDK-8147460
  • HPACK implementation
  • Remove sun.misc.ManagedLocalsThread from java.management
  • Remove sun.misc.ManagedLocalsThread from jdk.httpserver
  • Remove sun.misc.ManagedLocalsThread from java.logging
  • update java.lang APIs with new deprecations
  • New jtreg test to verify PathSearchingVirutalMachine.bootClassPath() behaviour
  • The new Hotspot Build System
  • Streamline StackWalker code
  • remove com/sun/jdi/InterfaceMethodsTest.java, com/sun/jdi/InvokeTest.java from ProblemList
  • Fix AIX and Linux/ppc64le after the integration of the new hotspot build
  • com/sun/jdi/WatchFramePop.sh fails with exit code 1
  • fix to 8154403 results in failure of UserModuleTest.java on all platforms
  • NetworkInterfaceStreamTest.java fails intermittently at comparing network interfaces
  • java.httpclient/sun.net.httpclient.hpack.DecoderTest failing on Windows
  • j.l.i.MethodHandles.whileLoop(...) and .iteratedLoop(...) throw unexpected exceptions in the case of 'init' return type is void
  • defines.h confused about PROGNAME and JAVA_ARGS
  • java.awt.List events are not sent properly to handleEvent or ItemListener
  • [macosx] PrinterJob's native Print Dialog does not reflect specified Copies or Page Ranges
  • [macosx] Print dialog does not update attribute set with page range
  • Creation of a WritableRaster with a custom DataBuffer causes erroneous Exception
  • Some Monospaced logical fonts have a different width
  • [TEST] add test for TIFFDirectory
  • [pit] Tag @run requires "main" in java/awt/FontClass/CreateFont/CreateFontArrayTest.java
  • In Nimbus Disabled Menus and Menu Items don't look disabled
  • java.awt.JobAttributes.getFromPage() and getToPage() always returns "1".
  • Remove sun.misc.ManagedLocalsThread from java.desktop
  • Enter key does not work in a deserialized JFileChooser
  • rgb(...) CSS color values are not parsed properly
  • Some AWT functions may access an array outside of its bounds
  • Redundant check for number of components in PackedColorModel.equals() method
  • [macosx] Incorrect minimal heigh of JTabbedPane with more tabs
  • closed/javax/sound/sampled/FileWriter/WaveBigEndian.java failing
  • JavaSoundAudioClip stop() Method sequencer.addMetaEventListener(this); wrong?
  • [macosx] Test java/awt/Component/CompEventOnHiddenComponent/CompEventOnHiddenComponent.java fails
  • [macosx] TrayIcon.imageAutoSize property is ignored
  • JMenu.buildMenuElementArray() endless loop
  • behavior of returned from MenuSelectionManager.defaultManager() object is inconsistent with spec
  • Add sun.font.FontUtilities.isComplexCharCode or related method
  • In ImageIO.write() and ImageIO.read() null stream is not handled properly.
  • Changed behavior of java/awt/xembed/server/TestXEmbedServerJava.java test
  • Uninitialised memory in WinAccessBridge.cpp:1128
  • Format string argument mismatch in jaccesswalker.cpp:545
  • The new currency symbols 20B9 (INDIAN RUPEE), 20BA (TURKISH LIRA), 20BD (RUBLE SIGN) not displayed
  • Add Kannada support to the JDK
  • [TEST] add test for TIFFField
  • DefaultSynthStyle.{getStateInfo,getMatchCount) should use Integer.bitCount
  • Remove package access restriction of com.sun.java.accessibility.util.internal
  • Action Event triggered by list does not reflect the modifiers properly on win32
  • JFrame.setDefaultCloseOperation is prohibited in jtreg
  • Lower the number of providers created when using ServiceLoader
  • Remove sun.misc.ManagedLocalsThread from jdk.crypto.pkcs11
  • NPE in GSSNameElement nameType check
  • Better state table management
  • Better GCM validation
  • Make DSA more fair
  • Better device table adjustments
  • Better ligature substitution
  • Ensure thread consistency
  • Improve JMX connections
  • Improve MethodHandle consistency
  • sun/security/rsa/SpecTest.java timeout with Agent error: java.lang.Exception
  • NetworkInterfaceStreamTest.java fails intermittently after JDK-8146758
  • java/util/ServiceLoader/modules/BasicTest.java failing
  • Improve exception messages in URLPermission
  • (spec) Spec of read(byte[],int,int) and readFully(byte[],int,int) is confusing/incomplete
  • java/lang/Class/GetPackageTest.java needs update to work with newer testng
  • Simplify access to System properties from JDK code
  • java/util/TimeZone/OldIDMappingTest.sh fails after JDK-8154231
  • sun/security/ssl/SSLContextImpl/MD2InTrustAnchor.java failed intermittently
  • java.time.format.DateTimeFormatter can't parse localized zone-offset
  • Remove intermittent key from TimeZone/Bug6772689.java and move back to tier1
  • DateTimeFormatter pattern letter 'g'
  • JavaDoc warnings in VirtualMachineManager.java and Pool.java
  • Custom HostnameVerifier disables SNI extension
  • MHs.iteratedLoop(...) throws unexpected WMTE, disallows Iterator subclasses, generates inconsistent loop result type
  • MethodHandles.countedLoop does not accept empty bodies
  • MethodHandles.countedLoop errors in deriving loop arguments, result type, and local state
  • Class::getPackage with exploded modules when classes in modules defined to the boot loader
  • deprecate Runtime.traceInstructions() and traceMethodCalls()
  • Remove superfluous jdk.unsupported from tools/launcher/modules/limitmods/LimitModsTest.java
  • Remove sun.misc.ManagedLocalsThread
  • (linux|bsd|aix)_close.c: file descriptor table may become large or may not work at all
  • DateTimeFormatter won't parse dates with custom format "yyyyMMddHHmmssSSS"
  • Missing definition for JIMAGE_NOT_FOUND
  • Need a JImage API that given a JImageLocationRef returns class name
  • jimage should print usage when started with no args
  • Compiler crashed (intermittently)
  • Remove support for jimage recreate
  • jimage extract / list to organize classes by modules
  • BasicImageReader activating ImageBufferCache when not used
  • copyright issues in jdk9/dev/langtools files
  • javac should not warn about missing serialVersionUID for anonymous inner classes
  • update java.lang APIs with new deprecations
  • javac tests fail after JDK API is deprecated
  • fix handling of jdk.launcher.patch.* in tests
  • Project Coin: improvements to try-with-resources desugaring
  • JShell: Drop residual use of addReads from jshell
  • jshell tool: no longer a mechanism to see current feedback modes
  • Add "@index" tag to the sampleapi generator
  • sjavac uses unexpected exit code of -1
  • JShell: infrastructure for multi-Snippet class wrappers

New in Java JRE 9 Build 115 Early Access (Apr 26, 2016)

  • Configuration script unable to detect boot JDK's modules support
  • typos in /test/failure_handler
  • GatherProcessInfoTimeoutHandler shouldn't call getWin32Pid if the lib isn't load
  • Optimize GC JPRT test set
  • Remove client testing from JPRT
  • 1[TESTBUG] Split hotspot_all job into smaller jobs
  • Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache
  • Clean up module src dir logic
  • Enable enhanced failure handler for "make test"
  • Compare script broken for windows native library deps comparison
  • Generated javadoc scattered all over the place
  • jdk9-dev: All SE builds failed on 2016-04-14
  • Bad test for ENABLE_SJAVAC in build-performance.m4
  • Imported modules rebuilt on second run when nothing has changed
  • Clear out all non-Critical APIs from sun.reflect
  • Move the collection set out of the G1 collector policy
  • _addr0 should be more efficient
  • Move G1YoungGenSizer to a separate file
  • Convert TraceSafepointCleanupTime to Unified Logging
  • Convert VerboseVerification to Unified Logging
  • Introduce per-worker preserved mark stacks in ParallelGC
  • os::pretouch_memory should take void* instead of char*
  • Several tests fail due to test library not found
  • Remove debugging code from BarrierSet
  • G1 base elapsed time prediction is wrong because rs_length prediction is wrong
  • Fix os_windows siglabel
  • CMS: There is insufficient memory with CMSSamplingGrain=1
  • Remove the noisy NOISY debugging code from parCardTableModRefBS.cpp
  • nth_bit and friends are broken
  • Leaner ArrayAllocator and BitMaps
  • Inline the BitMap constructor
  • Move BitMap verfication inline functions out from bitMap.hpp
  • gc/g1/plab/TestPLABResize.java - previous PLAB size should be less than current
  • [Newtest] Multi-threading stress test for G1 Remembered Sets
  • Reduce Throwable.getStackTrace() calls to the JVM
  • - Use BufferNode index
  • SoftReferences declared dead too early
  • Net PLAB size is clipped to max PLAB size as a whole, not on a per thread basis
  • Don't keep copies of the survivor lists and counts in the G1CollectorPolicy
  • Use error stream instead of tty for logging before ShouldNotReachHere()
  • Remove logging from refillLinearAllocBlockIfNeeded()
  • Change warning() to log_warning(gc) in the GC code
  • Remove unused develop options(ClearInterpreterLocals and others)
  • Add a way to extend UL tags
  • The output from classresolve tag has been shortened and moved to debug level.
  • Rely on options range checking rather than explict checks
  • Add support for "gc service threads" to ConcurrentGCThread
  • jni test crashes JVM assert(_handle != __null) failed: resolving NULL handle
  • Move print_heap_before/after_gc to debug level
  • Print all regions on trace level to get same behavior as old PrintHeapAtGCExtended
  • SA: Unexpected ArithmeticException in CompactHashTable
  • Check for too small values for -Xmx
  • Add JSnap to jhsdb
  • Cleanup definition/usage of INLINE/NOINLINE macros and add xlC support
  • TraceClassLoadingPreorder has been converted to Unified Logging.
  • Refactor ArrayAllocator for easier reuse
  • Tests fail in SR_Handler because thread is not VMThread or JavaThread
  • Local variables have wrong names after JDK-8148736
  • jhsdb should show help message in SALauncher.
  • Java GCCause enum is out of sync with C++ GCCause enum
  • TestSelectDefaultGC.java incorrectly expects G1 on non-server class machines
  • Remove duplicate AlwaysTrueClosures
  • Add a notification mechanism for UL configuration changes.
  • Convert TraceClearedExceptions to Unified Loggin
  • DirtyCardQueue::apply_closure is unused
  • strerror() function is not thread-safe
  • Hotspot build does not respect --enable-openjdk-only
  • n check_addr0() function pointer is not updated correctly
  • Root region scanning should be cancelled and disabled when the ConcurrentMarkThread::run_service() exits
  • Clean up duplicate code for clearing the mark bitmaps
  • Improve logging in concurrent mark code
  • guarantee(GCPauseIntervalMillis >= 1) failed: Constraint for GCPauseIntervalMillis should guarantee that value is >= 1
  • Cleanup locking of the Reference pending list
  • Region liveness printing is broken
  • Minor tweaks to old Hotspot build to ease comparison with new
  • Move G1 number sequences out of the G1 collector policy
  • Safepoint logging has mismatch between command line level and printed level
  • Change G1 concurrent timer and tracer measuring time
  • Remove the unused SpaceManager::mangle_freed_chunks
  • Parallel compact GC class unloading measurement includes symbol and string table time
  • Add the thread to the GCPhase trace events
  • Move CollectionSetChooser rebuild code into CollectionSetChooser
  • Factor G1 heap sizing code out of the G1CollectorPolicy
  • Remove SpaceMangler::mangle_region logging
  • Rework and unify the GC phase logging
  • G1 StringTable cleaning incorrectly logs with the stringdedup tag
  • Remove _last_ditch_collection GC-cause and avoid expanding heap on Metaspace OOM
  • ReferencePendingListLocker incorrectly assumes that the lock is never taken recursively
  • Comment in globals.hpp for MetaspaceSize is incorrect.
  • TraceBytecodes breaks the interpreter expression stack
  • MinTLABSize should be less than TLAB max
  • Move G1 concurrent refinement adjustment code out of G1CollectorPolicy
  • G1AllocRegion::_count inconsistently used if more than one context is active
  • Integrate TraceTime with Unified Logging more seamlessly
  • Re-enable TestPLABResize.java after JDK-8150183 is fixed
  • assert(rp->num_q() == no_of_gc_workers) failed: sanity
  • Add -XX:-ShrinkHeapInSteps option (previously -XX:+UseAggressiveHeapShrink)
  • TLAB compute_size() should not allow any size larger than max_size
  • Adding old gen regions does not consider available free space
  • Convert G1_ALLOC_REGION_TRACING to unified logging
  • Broken hash in string table entry in closed/runtime/7158800/BadUtf8.java
  • Add descriptive error messages for removed non-product logging flags.
  • Event-based tracing to allow for tracing Klass definition
  • Event based tracing should cover safepoint begin and end
  • Add all option to JSnap
  • Enabling TASK_STATS_ONLY filters out just enabled messages anyway
  • Refactor hotspot/test/gc/g1/plab/lib/LogParser.java
  • SIGSEGV when a primitive type's class is used as the host class in a call to DefineAnonymousClass call
  • Refactor code in universe_post_init that sets up methods to upcall
  • SuspendibleThreadSet::yield scales poorly
  • Remove PrintOopAddress rather than converting to UL
  • ParNew: SurvivorAlignmentInBytes greater then YoungPLABSize cause assert(obj != NULL || plab->words_remaining() is_in_reserved(p)) failed: p is not in from
  • ParOldGC: Use correct TaskQueueSet for ParallelTaskTerminator in marking.
  • Change logging tag 'verboseverification' to 'verification'
  • Back out JDK-8142935 until JDK-8152723 fixed
  • [TESTBUG] Enhance test/testlibrary/ClassFileInstaller.java to support JAR files
  • Allow CMSBitMapYieldQuantum for BitMap::clear_range and clear_large_range
  • Quarantine serviceability/tmtools/jstack/JstackThreadTest.java until JDK-8153319 is fixed
  • [BACKOUT] Make intrinsics flags diagnostic
  • aarch64: add support for 8.1 LSE atomic operations
  • aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero.
  • aarch64: improve _unsafe_arraycopy stub routine
  • Some MethodCounter fields can be excluded when not including C2
  • TestMonomorphicObjectCall.java fails with compilation error
  • aarch64: hotspot crashes after the 8.1 LSE patch is merged
  • PPC64: Support AES intrinsics
  • MethodHandleAccessProvider.lookupMethodHandleIntrinsic throws NPE on null argument
  • JVMCI: MethodHandleAccessProvider.resolveInvokeBasicTarget throws NPE on null first argument
  • MethodHandleAccessProvider.resolveLinkToTarget throws NPE/IAE on null/wrong argument
  • MemoryAccessProvider javadoc should be modified
  • JVMCI compilations need to be disabled until the module system is initialized
  • C++11 user-defined literal syntax in jvmciCompilerToVM.cpp.
  • Jittester: array creation node handled inproperly in source code visitor for non-int numerical arrays
  • improve tests for HotSpotVMEventListener::notifyInstall
  • [JVMCI] evol_method dependencies failures should return dependencies_failed
  • Cleanup: Remove some unused flags/code in loop optimizations
  • Crash with assert(!is_unloaded()) failed: should not call follow on unloaded nmethod
  • Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache
  • Remove -XX:GenerateCompilerNullChecks
  • Multiversioning for range check elimination
  • Remove nds->is_valid() checks from assembler_x86.cpp
  • Several hotspot tests need to be updated after 8153737 (Unsupported Module)
  • Enable enhanced failure handler for "make test"
  • Clear out all non-Critical APIs from sun.reflect
  • Public entries not searched when prefer='system'
  • Relative rewriteSystem with xml:base at group level failed
  • finalize and integrate @Deprecated annotation specification change
  • java/util/Currency/CurrencyTest.java does not restore default TimeZone
  • Mark tools/pack200/BandIntegrity.java as intermittently failing
  • (ch) test java/nio/channels/AsyncCloseAndInterrupt.java failing.
  • - java/nio/channels/AsyncCloseAndInterrupt.java fails throwing exception: java.nio.channels.ClosedChannelException.
  • ar manifest attribute "Multi-Release" accepts any value
  • avax/net/ssl/Stapling/HttpsUrlConnClient.java fails intermittently with NullPointerException
  • Avoid early use of limited privilege escalation in InnerClassLambdaMetafactory
  • URLClassLoader::definePackage no longer inspect packages from ancestors
  • Reduce Throwable.getStackTrace() calls to the JVM
  • Add JSnap to jhsdb
  • jhsdb should show help message in SALauncher.
  • Avoid lambda usage in StringConcatFactory initializer
  • JMXServiceURL should not use getLocalHost or its usage should be enhanced
  • java/lang/management/ThreadMXBean/ThreadLists.java : inconsistent results
  • com/sun/jdi/RedefineClearBreakpoint.sh failed with timeout
  • com/sun/jdi/InterruptHangTest.java fails in nightlies
  • JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
  • JDP not working
  • ignore this com/sun/jdi/InterfaceMehtodsTest.java until bug is fix
  • Remove sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java from problemList
  • STW phases at Concurrent GC should count in PerfCounter
  • [BACKOUT] STW phases at Concurrent GC should count in PerfCounter
  • [BACKOUT] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
  • PPC64: Support AES intrinsics
  • Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache
  • Remove test mistakenly added during a merge
  • MethodHandles.countedLoop/3 initialises loop counter to 1 instead of 0
  • Truncating Duration
  • ImageBufferCache should release buffers when all classes are loaded
  • VarHandle.AccessMode enum names should conform to code style
  • VarHandle factory-specific exceptions
  • Improve exception reporting for Objects.checkIndex/checkFromToIndex/checkFromIndexSize
  • (fs) Reduce number of file system classes loaded during startup
  • Enhanced drop-args, identity and default constant, varargs adjustment
  • jdk.security.provider.preferred is ambiguously documented
  • (proxy) redundant read edges to superinterfaces of proxy interfaces
  • java/lang/ProcessHandle/TreeTest.java failed - ProcessReaper StackOverflowException
  • sun/security/provider/DSA/TestAlgParameterGenerator.java failed with interrupted! (timed out?)
  • Mark javax/net/ssl/DTLS/CipherSuite.java as intermittently failing
  • sun/security/pkcs11/Provider/Login.sh fails on Linux
  • Drop code to support Windows XP in DefaultDatagramSocketImplFactory
  • (fs) Drop code for Windows XP/2003 from file system provider
  • Enable enhanced failure handler for "make test"
  • Exceptions when omitting trailing arguments in cleanup
  • launcher SEGV when _JAVA_LAUNCHER_DEBUG is set
  • Test SmallPrimeExponentP.java times out intermittently
  • Support DHE sizes up to 8192-bits and DSA sizes up to 3072-bits
  • Windows 10 App Containers disallow access to ICMP calls
  • Clear out all non-Critical APIs from sun.reflect
  • Add fused multiply add to Java math library
  • Clean-up jrtfs implementation
  • Remove intermittent keyword from SupportedDSAParamGen.java
  • NullpointerException at LdapReferralException.getReferralContext
  • Drop code to support Windows XP in windows socket impl
  • Drop code to support Windows XP in windows async channel impl
  • Fix compilation issue in PlainSocketImpl
  • Fix compilation issue in WindowsAsynchronousSocketChannelImpl
  • ASM enable original deprecated methods.
  • rmic should not have a supported entry point
  • JShell tool (UX): Output structure
  • JShell tool (UX): default prompts
  • Repeated compilation with a long classpath significantly slower on JDK 9
  • tools/javac/unit/T6198196.java broken on Windows after JDK-8150641
  • Javadoc must support module options supported by javac.
  • Implement Multi-Release JAR aware JavacFileManager for javac
  • Clear out all non-Critical APIs from sun.reflect

New in Java JRE 8 Update 92 (Apr 20, 2016)

  • Notable bug fixes included in this release:
  • SHA224 removed from the default support list if SunMSCAPI enabled
  • SunJSSE allows SHA224 as an available signature and hash algorithm for TLS 1.2 connections. However, the current implementation of SunMSCAPI does not yet support SHA224. This can cause problems if SHA224 and SunMSCAPI private keys are used at the same time.
  • To mitigate the problem, we remove SHA224 from the default support list if SunMSCAPI is enabled.
  • See JDK-8064330.
  • New JVM Options added: ExitOnOutOfMemory and CrashOnOutOfMemory
  • Two new JVM flags have been added:
  • ExitOnOutOfMemory - When you enable this option, the JVM exits on the first occurrence of an out-of-memory error. It can be used if you prefer restarting an instance of the JVM rather than handling out of memory errors.
  • CrashOnOutOfMemoryError - If this option is enabled, when an out-of-memory error occurs, the JVM crashes and produces text and binary crash files (if core files are enabled).

New in Java JRE 8 Update 91 (Apr 20, 2016)

  • The following are some of the notable bug fixes included in this release:
  • DSA signature generation is now subject to a key strength check:
  • For signature generation, if the security strength of the digest algorithm is weaker than the security strength of the key used to sign the signature (e.g. using (2048, 256)-bit DSA keys with SHA1withDSA signature), the operation will fail with the error message:
  • "The security strength of SHA1 digest algorithm is not sufficient for this key size."
  • JDK-8138593 (not public)
  • Firefox 42 liveconnect problem:
  • Because it might cause the browser to hang, we don't process JavaScript-to-Java calls when the Java plugin is launched from plugin-container.exe (the default behavior for Firefox 42) and the applet status is not Ready(2). If the applet is not ready (the status is not 2), we don't execute the actual Java method and only return null.
  • If the plugin is launched from plugin-container.exe, do not use JavaScript-To-Java calls that may require more than 11 seconds(the default value of dom.ipc.plugins.hangUITimeoutSecs) to be completed or show a modal dialog during JavaScript-To-Java call. In this case, the main browser thread must be blocked, which might cause the browser to hang and the plugin to terminate.
  • Workaround (for Firefox 42):
  • User’s can set dom.ipc.plugins.enabled=false. The side effect of this workaround is that it changes the setting for all plugins.
  • JDK-8144079 (not public)
  • New attribute for JMX RMI JRMP servers specifies a list of class names to use when deserializing server credentials:
  • A new java attribute has been defined for the environment to allow a JMX RMI JRMP server to specify a list of class names. These names correspond to the closure of class names that are expected by the server when deserializing credentials. For instance, if the expected credentials were a List, then the closure would constitute all the concrete classes that should be expected in the serial form of a list of Strings.
  • By default, this attribute is used only by the default agent with the following:
  • "[Ljava.lang.String;",
  • "java.lang.String"
  • Only arrays of Strings and Strings will be accepted when deserializing the credentials.
  • The attribute name is:
  • "jmx.remote.rmi.server.credential.types"
  • The following is an example of a user starting a server with the specified credentials class names:
  • Map env = new HashMap(1);
  • env.put (
  • "jmx.remote.rmi.server.credential.types",
  • new String[]{
  • String[].class.getName(),
  • String.class.getName()
  • JMXConnectorServer server
  • = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer);
  • The new feature should be used by directly specifying:
  • "jmx.remote.rmi.server.credential.types"
  • JDK-8144430 (not public)
  • Disable MD5withRSA signature algorithm in the JSSE provider:
  • The MD5withRSA signature algorithm is now considered insecure and should no longer be used. Accordingly, MD5withRSA has been deactivated by default in the Oracle JSSE implementation by adding "MD5withRSA" to the "jdk.tls.disabledAlgorithms" security property. Now, both TLS handshake messages and X.509 certificates signed with MD5withRSA algorithm are no longer acceptable by default. This change extends the previous MD5-based certificate restriction ("jdk.certpath.disabledAlgorithms") to also include handshake messages in TLS version 1.2. If required, this algorithm can be reactivated by removing "MD5withRSA" from the "jdk.tls.disabledAlgorithms" security property.
  • JDK-8144773 (not public)
  • New certificates added to root CAs:
  • Eight new root certificates have been added :
  • QuoVadis Root CA 1 G3
  • alias: quovadisrootca1g3
  • DN: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM
  • QuoVadis Root CA 2 G3
  • alias: quovadisrootca2g3
  • DN: CN=QuoVadis Root CA 2 G3
  • QuoVadis Root CA 3 G3
  • alias: quovadisrootca3g3
  • DN: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM
  • DigiCert Assured ID Root G2
  • alias: digicertassuredidg2
  • DN: CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
  • DigiCert Assured ID Root G3
  • alias: digicertassuredidg3
  • DN: CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
  • DigiCert Global Root G2
  • alias: digicertglobalrootg2
  • DN: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
  • DigiCert Global Root G3
  • alias: digicertglobalrootg3
  • DN: CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
  • DigiCert Trusted Root G4
  • alias: digicerttrustedrootg4
  • DN: CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US

New in Java JRE 9 Build 114 Early Access (Apr 19, 2016)

  • Summary of changes:
  • Platform-Specific Desktop Features
  • Remove @beaninfo processing from the makefiles
  • Compare script broken after Module system
  • jwdp.so/dll missing from JRE image
  • make docs should generate JShell API docs
  • Unsupported Module
  • Move sun.misc.VMSupport to an internal package
  • Make compilercontrol test ignore xcomp
  • -XX:+Verbose prints messages even if no other flag is set
  • Remove unused code in AArch64 back end
  • [JVMCI] canInlineMethod should check is_not_compilable for correct CompLevel
  • Code missing from JDK-8150054 causing many test failures
  • OSR nmethods should be flushed to free space in CodeCache
  • [JVMCI] incorrect documentation about jvmci.compiler property
  • [JVMCI] JVMCIRuntime::treat_as_trivial: Don't limit trivial prefixes to boot class path
  • [JVMCI] printing compile queues always prints C2 regardless of UseJVMCICompiler
  • CTW crashes with failed assertion after 8150646 integration
  • Intrinsify StringCoding.hasNegatives() on SPARC
  • C2 loop unrolling fails due to unexpected graph shape
  • LockCompilationTest.java fails due method present in the compiler queue
  • Quarantine compiler/intrinsics/string/TestHasNegatives.java
  • VM crash with assert(!removed || is_in_use()) failed: unused osr nmethod should be invalidated
  • VM crash on assert: locked methods shouldn't be flushed
  • C1: LIRGenerator::move_to_phi can't deal with illegal phi
  • Remove "marked for reclamation" nmethod state
  • Integrate VarHandles
  • Crash with assert(!((nmethod*)_cb)->is_deopt_pc(_pc)) failed: invariant broken
  • Zero build fails after JDK-8146801
  • Update for x86 AES CBC Decryption
  • JVMCI test task: Unit tests for ConstantReflectionProvider
  • Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support
  • Zap freed Metaspace chunks in non-product binaries
  • C2: LoadNode properties aren't preserved when converting between signed/unsigned variants
  • C2: Folding of unsigned loads is broken w/ @Stable
  • C1: G1 barriers don't preserve FP registers
  • JSR 292: NoSuchMethodError and NoSuchFieldError in MHN_resolve_Mem
  • Make intrinsics flags diagnostic.
  • File Leak in CompileBroker::init_compiler_thread_log of compileBroker.cpp:1665.
  • Blended code generation
  • [TESTBUG] UnsafeGetConstantField.testUnsafeGetFieldUnaligned fails w/ -XX:-UseUnalignedAccesses in -Xcomp mode
  • TestStableU* tests aren't Jigsaw-ready
  • C2 crashes with SIGSEGV in LoadNode::make
  • TestHasNegatives.java fails after Jigsaw changes were integrated
  • generalize exception throwing routines in JVMCIRuntime
  • Quarantine compiler/gcbarriers/PreserveFPRegistersTest.java
  • Disable tests until JDK-8151460 gets to main
  • Update the PostVMInitHook mechanism to use an internal package in the base module
  • DEFER from Features API is taking precedence over defer preference in catalog file
  • Move sun.misc.VMSupport to an internal package
  • JImage decompress code needs to be revised to be more effective
  • Move sun.misc.GC to java.rmi ( sun.rmi.transport )
  • Remove unused redundant parameter in CLDRConverter
  • FtpURLConnection connection leak on FileNotFoundException
  • PropertiesTest.sh fails
  • jlink --include-locales th fails with ArrayIndexOutOfBoundsException
  • PrintServiceLookup.lookupPrintServices() returns different amount of services in comparison with lpstat -v
  • [TEST] MultiResolution image: need test to cover the case when @2x image is corrupted
  • [macosx] Test java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest failed
  • drawImage misses background's alpha channel
  • [TEST] add test covering getSource() method for multiresolution image
  • Generation of property files for gtk l&f can be skipped on win/osx
  • [TEST_BUG] fix test/java/awt/image/multiresolution/MultiResolutionRenderingHintsTest.java to run with Jake
  • JInternalFrame setMaximum before adding to desktop throws null pointer exception
  • HiDPI splash screen support on Linux
  • JDesktopPane - Wrong background color with Win7+WindowsLnf
  • REGTEST fails: SelectionAutoscrollTest.html
  • [TEST_BUG] fix awt/image/multiresolution/MultiResolutionTrayIconTest
  • [TEST] minor update of test/java/awt/image/multiresolution/BaseMultiResolutionImageTest.java
  • SunGraphics2D.copyArea() does not properly work for scaled graphics in D3D
  • [TEST_BUG] java/awt/print/PrinterJob/MultiMonPrintDlgTest.java doesn't work with jtreg
  • [TEST] HiDPI: create a test for multiresolution icons
  • [macosx] robot.keyPress do not generate key events (keyPressed and keyReleased) for function keys F13 to F19
  • 9-client windows builds fail on windows since make file change for 8145174
  • Validating issue in AWT
  • setAlwaysOnTop doesn't behave correctly in Linux/Solaris under certain scenarios
  • Text fields in JPopupMenu structure do not receive focus in hosted Applets
  • Text size is twice bigger under Windows L&F on Win 8.1 with HiDPI display
  • [hidpi] JFileChooser does not scale properly on Windows with HiDPI display and Windows L&F
  • [hidpi] JLabel font is twice bigger than JTextArea font on Windows 7,HiDPI, Windows L&F
  • [hidpi] DnD issues (cannot DnD from JFileChooser to JEditorPane or other text component) when scale > 1
  • Null return from PrintJob.getGraphics() running closed/java/awt/PrintJob/HighResTest/HighResTest.java
  • [TEST_BUG] bug6544309.java fails intermittently
  • Support of PCM_FLOAT for the AU file format
  • Suboptimal expression in javax.imageio.ImageTypeSpecifier.getBitsPerBand(int)
  • libfontmanager should free memory with delete[] if it was allocated with new[]
  • [TEST] add a test for JOptionPane dialog multiresolution icons
  • Java Access Bridge, getAccessibleStatesStringFromContext doesn't wrap the call to getAccessibleRole
  • TextField flicker & over scroll when selection scrolls beyond the bounds of TextField
  • [TEST_BUG] test/java/awt/Window/FindOwner/FindOwnerTest.java has @test tag
  • [macosx] An uncaught exception was raised entering Emoji into JTextArea
  • Need public API allowing full access to font collections in Font.createFont()
  • [hidpi] [macosx] -Dsun.java2d.uiScale should be taken into account for OS X
  • [TEST_BUG] javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails with GTK LnF
  • Handle properly coordinate overflow in Marlin Renderer
  • Platform-Specific Desktop Features
  • Need to round in test java/awt/print/PageFormat/PageFormatFromAttributes.java
  • Undefined Exception in SampleModel, method createCompatibleSampleModel
  • "ALL" radio button is not selected in printDialog when we call DefaultSelectionType.ALL in windows
  • HiDPI splash screen support on Windows
  • Win L&F: TitledBorder colors are not from desktop
  • Wrong display, when the document I18n properties is true.
  • The regression-swing case failed as the rollover icons is not correctly shown with the special options"-client -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel"
  • RTFEditorKit does not save alignment
  • Empty screen insets in Gnome 3, OEL 7 in multiscreen mode
  • VS2010 ThemeReader.cpp(758) : error C3861: 'round': identifier not found
  • Nightly: api/javax_swing/DefaultRowSorter/index_ModelStructChanged failure
  • [TEST_BUG] fix @library for test/java/awt/TrayIcon/MouseMovedTest/MouseMovedTest.java
  • [TEST_BUG] typo in java/awt/MouseInfo/PointerInfoCrashTest.java: no sun.awt.peer
  • [TEST_BUG] javax/swing/Action/8133039/bug8133039.java requires @modules
  • [TESTBUG] Compilation errors in client lib test files
  • [TEST] add regression test for JDK-8150154
  • Deprecate sun.java2d.SunGraphicsEnvironment.useAlternateFontforJALocales
  • RIFFReader does not support WAVE-Files greater than 2 GiB
  • Implementation/documantation of AudioInputStream.read()/skip() should be updated
  • api/javax_swing/text/AbstractWriter/index_indent failed
  • LabelUI is not updated for TitledBorder
  • Remove @beaninfo processing from the makefiles
  • drainRefQueueBounds() puts pressure on pool.size()
  • Drop use of old style -XaddExports from tests
  • Intrinsify StringCoding.hasNegatives() on SPARC
  • ByteBuffer API and implementation enhancements for VarHandles
  • Integrate VarHandles
  • Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support
  • Build crashes in jdk9-hs-comp on Linux with gnumake 3.81
  • Add an efficient getDateTimeMillis method to java.time
  • java/nio/Buffer/Basic.java and CopyDirectMemory.java are failing after JDK-8149469
  • module java.httpclient should not be in java.compact3
  • Enhance ChronoField Javadoc
  • Add a test to verify that the root logger correctly reports the caller's information
  • Wrong exception catch for FTPClient in JDK-8055032
  • tools/pack200/Pack200Props.java timed out
  • ProblemList update for sun/security/provider/NSASuiteB/TestDSAGenParameterSpec.java
  • Problem list sun/security/pkcs11/Provider/Login.sh for linux-all
  • DateFormatSymbols triggers this.clone() in the constructor
  • Improve exception messaging for RSAClientKeyExchange
  • AIX jdk build broken after 8145174
  • Improve scalability of CompletableFuture with large number of dependents
  • Typo in interface Deque javadocs
  • LockSupport/ParkLoops.java: AssertionError: lost unpark
  • Improve timeout factor handling in tck/JSR166TestCase
  • Optimize ConcurrentHashMap.Node
  • unpack200 fails to compare crc correctly.
  • (cal) Difference between comment and implementation of DAY_OF_WEEK_IN_MONTH
  • Problem list javax/sound/sampled/DirectAudio/bug6400879.java for Linux
  • java/nio/channels/SocketChannel/Connect.java fails intermittently
  • (fs) Internal sun/nio/fs exceptions should be stackless
  • Update the PostVMInitHook mechanism to use an internal package in the base module
  • Unsupported Module
  • Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
  • Mark java/nio/channels/Selector/SelectAndClose.java as intermittently failing
  • LdapCtx.processReturnCode() throwing Null Pointer Exception
  • test/lib/share/classes/jdk/test/lib/Utils.java introduced dependency to java.base/jdk.internal.misc
  • java/util/ResourceBundle/Bug6299235Test.sh depends on java.desktop
  • (proxy) Examine performance of dynamic proxy creation
  • Update VarHandle implementation to use @Stable arrays
  • VarHandle lookup access control tests
  • JShell: Internationalize
  • unexport javah from jdk.compiler module
  • jshell tool: use test passed locale to retrieve ResourceBundle
  • jdk/jshell/StartOptionTest.java fails on Windows after JDK-8147515
  • Drop use of old style -XaddExports from tests
  • Integrate VarHandles
  • javac error when running javadoc on some inner classes
  • Type inference regression in javac
  • make docs should generate JShell API docs
  • JShell: events are not generated for repeated source
  • JShell API: Snippet.id() doc -- specify: no meaning, dynamic
  • JShell API: Snippet.id() doc -- breaks make doc
  • JShell tool: should warn when failed to launch editor
  • Unsupported Module
  • [javadoc] Provide an ability to suppress document generation for specific elements.
  • Error "JavaFX runtime not found" in nashorn when load predefines scripts to import JavaFX packages
  • add tests for issues closed during Nashorn issue cleanup

New in Java JRE 9 Build 113 Early Access (Apr 8, 2016)

  • d360f7499380 - 8153217 - javafx modules are not included in the jre
  • 1e97e2ae06f9 - 8153257 - Jib profiles config broken after JDK-8031767
  • 7cd13f24127f - 8153261 - Clean up fix for JDK-8153217
  • 6cf3e6866c37 - 8153273 - Test lib compilations trigger find crash on Solaris
  • 55b6d550828d - 8153303 - Jib profiles config broken after JDK-8153257 after JDK-8031767
  • ccd848271666 - 8147431 - javax/xml/jaxp/isolatedjdk/catalog/PropertiesTest.sh copied JDK failed
  • 9e73bdac39ec - 8073872 - Schemagen fails with StackOverflowError if element references containing class
  • 93230508687d - 8152083 - Optimize TimeUnit conversions
  • 91a26000bfb5 - 8150432 - LocaleProviders.sh fails
  • faf6d930aef4 - 8152733 - Avoid creating Manifest when checking for Multi-Release attribute
  • ff721bdc4c68 - 8152873 - java/util/Locale/LocaleProviders.sh fails after JDK-8150432
  • 271faffbe204 - 8152077 - (cal) Calendar.roll does not always roll the hours during daylight savings
  • 841f1fe6d486 - 8152951 - Avoid calculating the reverse of StringConcatFactory$Recipe elements
  • fa4686fe4fac - 8153027 - Exclude tools/jimage/JImageTest.java
  • 380afcaf1507 - 8152704 - jlink command line output/help message improvement
  • 727255af5ed4 - 8152005 - sun/misc/SunMiscSignalTest.java failed intermittently
  • 81b03502e5e7 - 8141609 - Need test for jrtfs that runs on JDK 8 to target a JDK 9 image
  • 850b61c46092 - 8153035 - GenModuleInfoSource strips away the API comments
  • 679f9542362b - 8151763 - Use more informative format for problem list
  • 1993af50385d - 8153141 - Develop initial set of tests for SwingSet
  • 391525879ab0 - 8152190 - Move sun.misc.JarIndex and InvalidJarIndexException to an internal package
  • 28f06839e1b3 - 8153118 - Remove sun.misc.resources
  • d7a4b04e3fc9 - 8079136 - Accessing a nested sublist leads to StackOverflowError
  • b312c746bd94 - 8153125 - rmic from bootcycle build should launch with -m jdk.rmic/sun.rmi.rmic.Main
  • 1ad48e2856e4 - 8153211 - Convert build tool to use the new -XaddExports syntax in bootcycle build
  • 8ef42eaa6735 - 8153217 - javafx modules are not included in the jre
  • 60336731daeb - 8153147 - Mark java/net/BindException/Test.java as intermittently failing
  • 4e7a6ae570c2 - 8152817 - Locale data loading fails silently when running with a security manager
  • 4bd4c8c2a922 - 8134111 - Unmarshaller unmarshalls XML element which doesn't have the expected namespace
  • 25894e43243f - 8153262 - javax/xml/bind/marshal/8134111/UnmarshalTest.java fails
  • 99d87f328523 - 8153261 - Clean up fix for JDK-8153217
  • 361014daf496 - 8152641 - Plugin to generate BMH$Species classes ahead-of-time
  • 3c5f7bf20f6b - 8153317 - Two jimage tests have been failing since JDK-8152641 was fixed
  • 68f8be44b6a6 - 6483657 - MSCAPI provider does not create unique alias names
  • 305e9e96a7f6 - 8153211 - Convert build tool to use the new -XaddExports syntax in bootcycle build
  • f31075169c33 - 8150733 - NPE when compiling module-info.java with a class declaration in a non-module mode
  • 0ef6f9a479f8 - 6818181 - Update naming convention annotation processing samples for modules
  • 97ec97671022 - 8152897 - refactor ToolBox to allow reduced documented dependencies
  • 8b64ecd96dbe - 8152771 - NPE accessing comments on module declarations
  • 4e87682893e6 - 8152925 - JShell: enable corralling of any type declaration, including enum
  • 4fbf7a66d49b - 8152533 - ant octane target fails with "Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)"
  • a5d1990fd32d - 8153211 - Convert build tool to use the new -XaddExports syntax in bootcycle build

New in Java JRE 9 Build 110 Early Access (Mar 16, 2016)

  • Windows devkit missing 32bit msvcdis120.dll
  • Remove OS X-specific com.apple.concurrent package
  • Add new methods to the java Whitebox API
  • [TESTBUG] TestCompilerDirectivesCompatibility tests fails on non-tiered server VMs
  • Update module exports for Java Flight Recorder
  • HSDB toolbar icons are missing.
  • Set REQUIRED_OS_NAME and REQUIRED_OS_VERSION on AIX
  • Fix the version of required jdk in configure help text
  • CompilerControl: inline tests timeout with Xcomp
  • 4 Null pointer dereference defect groups in compileBroker.cpp.
  • JSR292: Many Callsite relinkages cause target method to always run in interpreter mode
  • Don't refer to stub entry points by index in external_word relocations
  • LinearScan::is_sorted significantly slows down fastdebug builds' performance
  • PPC64: Implement CompactString intrinsics
  • Add new methods to the java Whitebox API
  • Change JVMCI compilerToVM constant pool tests to support CP cache
  • Develop new tests for JVMCI compilerToVM class' CP related methods
  • C2 doesn't optimize redundant memory operations with G1
  • xml.tranform fails on x86-64
  • C1 should fold arraylength for constant/trusted arrays
  • Test case for 8149797
  • -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:-EnableJVMCI makes JVM crash
  • String.value contents should be trusted
  • GrowableArray should implement binary search
  • Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
  • C1 crashes in Canonicalizer::do_ArrayLength() after fix for JDK-8150102
  • [linux-sparc] Crash in libawt.so on Linux SPARC
  • CompileTask::print_impl() is broken after JDK-8146905
  • [TESTBUG] TestCompilerDirectivesCompatibility tests fails on non-tiered server VMs
  • SIGSEGV in CompileTask::print
  • serviceability/dcmd/compiler/CompilerQueueTest.java fails due to class not found
  • C1 compilation fails with "Constant field loads are folded during parsing"
  • arraycopy causes segfaults in SATB during garbage collection
  • [AArch64] JVMCI improvements
  • Folding mismatched accesses with @Stable is incorrect
  • Incorrect invocation mode when linkToInteface linker is eliminated
  • C2: large constant offsets aren't handled on SPARC
  • [JVMCI] runtime/CommandLine/TraceExceptionsTest.java fails with: java.lang.RuntimeException: '' missing
  • Reduce the execution time of the hotspot_compiler_3 group
  • Cleanup code around PrintOptoStatistics
  • Mismatched access detection is inaccurate
  • Mismatched access detection is inaccurate
  • AArch64: refactor array_equals/string_equals
  • aarch64: make use of CBZ and CBNZ when comparing narrow pointer with zero
  • aarch64: use load/store pair instructions in call_stub
  • aarch64: pipeline class for several instructions is not set correctly
  • System::arraycopy intrinsic doesn't mark mismatched loads
  • [JVMCI] add LoadLoad to the implicit memory barriers on AMD64
  • Remove Method::_method_data for C1
  • Use new API to get cache line sizes
  • TESTBUG] test/compiler/c1/CanonicalizeArrayLength does not work on product builds
  • [TESTBUG] UnsafeGetStableArrayElement::testL_* fail intermittently
  • [BACKOUT] Remove Method::_method_data for C1
  • Quarantine test/compiler/unsafe/UnsafeGetStableArrayElement.java
  • JVM crash after debugger hotswap with lambdas
  • Cleanup BufferNode API
  • Add tracing for thread related events at os level
  • Remove unused locks
  • Wrong cast in metadata_at_put
  • Update OS detection code to recognize Windows Server 2016
  • vm/gc/compact/Compact_InternedStrings_Strings failed due to a malloc() failure
  • Convert TraceClassPaths to Unified Logging
  • Move rs length sampling data to the sampling thread
  • Make Adaptive IHOP logging information the same as JFR loggin
  • Add logging for the preserve CM referents task
  • Add logging for ParScanThreadState merge phase
  • Initializing all ParScanThreadStates causes significant unaccounted "Other" times
  • ConcurrentG1Refine uses ints for many of its members that should be unsigned types
  • Delete experimental G1UseConcMarkReferenceProcessing
  • Log the main G1 phases at info level
  • VM_HeapDumper hits assert with bad dump_len
  • Convert unnecessarily malloc'd Monitors to value members Improve thread based logging introduced with 8149036
  • TraceProtectionDomainVerification has been converted to Unified Logging.
  • Fix typo in JDK-8150201
  • Minor updates to Event Based tracing
  • Reduce accessibility in TraceEvent
  • Event-based tracing to allow for tracing Klass creation
  • Unify the reporting strings for the GC debug level logging in G1
  • serviceability/dcmd/jvmti/LoadAgentDcmdTest.java - Could not find JDK_DIR/lib/x86_64/libinstrument.so
  • Evacuation failure allocation statistics added too late
  • Young and Old gen PLAB stats are similar in output with -XX:+PrintPLAB
  • runtime/logging/ItablesTest.java fails with: java.lang.RuntimeException: 'Resolving: klass: ' missing from stdout/stderr
  • Check for the validity of oop before printing it in verify_remembered_set
  • JNI GetVersion should return JNI_VERSION_9
  • Remove TraceJNIHandleAllocation rather than converting to UL
  • HSDB toolbar icons are missing.
  • serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java failing because expects HPROF JAVA PROFILE 1.0.1 file format
  • Invalid VM argument causes crash -XX:G1ConcRefinementServiceIntervalMillis=2147483648
  • XALAN: ERROR: 'No more DTM IDs are available' when transforming with lots of temporary result trees
  • jdk/test/sample fails with "effective library path is outside the test suite"
  • (dc) java/nio/channels/DatagramChannel/AdaptDatagramSocket.java failed intermittently due to SocketTimeoutException
  • Improve String.CASE_INSENSITIVE_ORDER and remove sun.misc.ASCIICaseInsensitiveComparator
  • Remove OS X-specific com.apple.concurrent package
  • String.value contents should be trusted
  • Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
  • java/lang/ref/FinalizeOverride.java can time out due to frequent safepointing
  • Remove TCKJapaneseChronology.java from the problem list
  • JVM crash after debugger hotswap with lambdas
  • Update OS detection code to recognize Windows Server 2016
  • libjvm crash due to stack overflow in executables with 32k tbss/tdata
  • Remove libjfr mapfile
  • com/sun/jdi/StepTest.java fails in 2016-03-01 JDK9-hs-rt nightly
  • JNI GetVersion should return JNI_VERSION_9
  • Test java/lang/instrument/NativeMethodPrefixAgent.java can't attempt to do CheckIntrinsics
  • com/sun/jdi/RedefineAddPrivateMethod.sh fails intermittently
  • Mark URLPermission/URLTest.java and ipv6tests/TcpTest.java as intermittently failing
  • Completion result in httpclient Exchange.java lost
  • Http client SelectorManager overwriting read and write events
  • We don't need jdk.internal.ref.Cleaner any more - part1
  • Wrong variable used in java.util.Collections javadoc code
  • Revert NativeBuffer.java to use jdk.internal.ref.Cleane
  • Typo in javax.naming.CompoundName
  • Mark SignatureOffsets.java as intermittently failing
  • Typo in java.lang.invoke.StringConcatFactory javadoc
  • ServerHandshaker should not throw SSLHandshakeException when CertificateStatus constructor is called with invalid arguments
  • TIFFDirectory(getAsMetaData) created with one TIFFField having a IFD pointer tag throws ClassCastException & other naming differences (JEP 262)
  • Debug option does not work in appletviewer
  • TIFFField constructor throws ArrayIndexOutOfBoundsException and IllegalArgumentException for scenarios explained in description
  • JVM Crash caused by Marlin renderer not handling NaN coordinates
  • [TEST_BUG] Test javax/swing/plaf/gtk/crash/RenderBadPictureCrash.java fails UnsupportedOperationException
  • Change foo to {@code foo} in TIFF plugin classes
  • setFocusTraversalPolicy() to ContainerOrderFocusTraversalPolicy results in an infinite loop
  • java.beans.EventHandler.create does not specify how it fails when an EventHandler cannot be created
  • SimpleBeanInfo.loadImage succeeds when running with a security manager
  • CSM call Class.forName in com.sun.java.accessibility.util.Translator
  • [macosx] JInternalFrame frame icon in wrong position on Mac L&F if icon is not ImageIcon
  • AudioInputStream.getFrameLength() returns wrong value for floating-point WAV
  • Missing copyright headers in XSurfaceData/ExtendedKeyCodes
  • [macosx] KeyEvents for function keys F17, F18, F19 return keyCode 0
  • SEGV in sun.java2d.marlin.Renderer._endRendering
  • Provide public access to sun.awt.shell.ShellFolder methods which are required for implementing javax.swing.JFileChooser
  • SynthTableHeaderUI refers to possibly null parameter in cell renderer
  • macosx] JDK fails to build with Xcode 7 on 10.11
  • [TEST] add test for JDK-8150176
  • JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify
  • [macosx] JScrollPane jitters up/down during trackpad scrolling on MacOS/Aqua
  • [D3D] clip is ignored during surface->sw blit
  • Revisited: PrinterJob.printDialog() does not support multi-mon, always displayed on primary
  • [TEST] HiDPI: create a test for multiresolution menu items icons
  • lookupDefaultPrintService returns null on Solaris 11
  • [Findbugs]jdk.internal.math.FormattedFloatingDecimal.getExponent() may expose internal rep
  • -release 7 -verbose causes Javac exception
  • Remove OS X-specific com.apple.concurrent package
  • jshell tool: Configurable output format
  • jshell tool: unify commands into /set
  • JShell: CompletenessAnalysis fails on class Case, E2 extends Enum, E3 extends Enum> {}
  • String concatenation fails with implicit toString() on package-private class
  • test/tools/javac/TestIndyStringConcat depends on runtime JDK details
  • jdk.jshell.TaskFactory should use jdk.Version to check for java.specification.version
  • JShell: Support for corralled classes
  • [javadoc] Modify Content to accept CharSequence
  • jtreg tests leave tty in bad state
  • $EXEC yields "unknown command" on Cygwin
  • relax test requirements to reduce dependency on directory contents
  • $EXEC output is truncated
  • [TEST_BUG] Test test/script/trusted/JDK-8087292.js intermittently fails.

New in Java JRE 9 Build 109 Early Access (Mar 14, 2016)

  • Build shell trace functionality lost in JDK-8076060
  • IB profiles for reference implementation builds
  • Move netscape.javascript package from jdk.plugin to new module
  • TestPrintGCDetailsVerbose is never run by jtreg
  • Add decorator hostname to UL
  • TestOptionsWithRanges test only ever uses the default collector
  • Remove check of counters in VirtualSpaceNode::inc_container_count
  • Convert TraceStartupTime to Unified Logging
  • DirtyCardQueueSet::apply_closure_to_completed_buffer_helper isn't helpful
  • Zero build requires disabled warnings
  • MSVC prior to VS 2013 doesn't know the 'va_copy' macro
  • Quarantine serviceability/tmtools/jstat/GcCapacityTest.java
  • Convert TraceBiasedLocking to Unified Logging
  • String.intern creates morre work than necessary for G1
  • Add diagnostic commands to attach JVMTI agent.
  • Print develop and nonproduct flags by -XX:+PrintFlags* options in debug build
  • Remove unused and dead code from G1CollectorPolicy
  • Restore missing -g flags to files with OPT_CFLAGS/per-file
  • Simplify concurrent refinement thread deactivation
  • AIX cleanup: Integrate changes of 7178026 and others
  • Reference processing logging prints the "from list" incorrectly
  • Add back information about the number of GC workers
  • Introduce per-worker preserved mark stacks in ParNew
  • [windows] Fix Leaks in perfMemory_windows.cpp
  • Quarantine TestPLABResize.java until JDK-8150183 is fixed
  • Quarantine LoadAgentDcmdTest.java due to JDK-8150318
  • Move sun.misc.Version to a truly internal package
  • [TESTBUG] Integrate trivial Hotspot test changes from Jake before Jigsaw M3
  • [TESTBUG] Integrate trivial Hotspot test changes from Jake before Jigsaw M3
  • Update JAX-WS RI integration to latest version (2.3.0-SNAPSHOT)
  • java/lang/ProcessHandle/InfoTest.java failed - startTime after process spawn completed
  • javax/management/mxbean/MXBeanLoadingTest1.java assumes URLClassLoader
  • Inconsistent API documentation for @param caller in System.LoggerFinder.getLogger
  • Missing @since Javadoc tag in Logger.log(Level, Supplier)
  • Capacity of StringBuilder should not get close to Integer.MAX_VALUE unless necessary
  • j.l.i.MethodHandles: example section in whileLoop(...) provides example for doWhileLoop
  • JarFile and MRJAR tests should use the JDK specific Version API
  • j.l.i.MethodHandles.loop(...) throws IndexOutOfBoundsException
  • split T8139885 into several tests by functionality
  • Remove java.nio.Bits copy wrapper methods
  • add variation of Stream.iterate() that's finite
  • BaseStream.onClose() should not allow registering new handlers after stream is consumed
  • Move sun.misc.Version to a truly internal package
  • Replace use of lambda/method ref in jdk.Version constructor
  • j.l.i.MethodHandles.whileLoop(...) fails with IOOBE in the case init is null, step and pred have parameters
  • socket impl supportedOptions() should return an immutable set
  • SharedSecrets.getJavaNetInetAddressAccess should ensure that InetAddress is initialised
  • Linux testcase failure java/util/WeakHashMap/GCDuringIteration.java
  • ScheduledExecutorTest:testFixedDelaySequence timeout with slow VMs
  • Make ThreadLocalRandom more robust against static initialization cycles
  • improve jtreg test timeout handling, especially -timeout:
  • Miscellaneous changes imported from jsr166 CVS 2016-03
  • closed/javax/crypto/CryptoPermission/CallerIdentification.sh fails after fix for JDK-8132734
  • Fix module dependences in java/lang tests
  • Mark UdpTest.java as intermittently failing
  • Mark UdpTest.java as intermittently failing
  • Mark TestDSAGenParameterSpec.java as intermittently failing
  • DateFormatSymbols triggers this.clone() in the constructor
  • Disable Diffie-Hellman keys less than 1024 bits
  • Class name change for CLDRLocaleDataMetaInfo_jdk_localedata needs updating in makefile
  • Attempt at silencing build log broke html32.bdtd
  • Mark SpecTest.java as intermittently failing
  • Remove intermittent key from TestLocalTime.java and move back to tier1
  • Mark java/rmi test LeaseCheckInterval.java as intermittently failing
  • CipherSpi implementation of PBEWithSHA1AndDESede returns key size in bytes
  • Default key sizes for the AlgorithmParameterGenerator and KeyPairGenerator implementations should be upgraded
  • Adding fragment to JAR URLs breaks ant
  • Move netscape.javascript package from jdk.plugin to new module
  • Revert changes for JDK-8087104
  • Sjavac should not wait for portfile to materialize if server process is terminated
  • Sjavac should prevent using source dir as dest dir
  • Migrate asserts introduced in Valhalla code generation to JDK9 dev
  • Migrate asserts introduced in Valhalla code generation to JDK9 dev
  • Fix bug id in test for JDK-8149842
  • javac should emit a clearer diagnostic when a inferred anonymous type's non-private methods don't override super's
  • Fix bug id in test for JDK-8151018
  • Sjavac fails to fork server on Windows
  • NPE building javafx docs with new doclet
  • Javadoc omits package listing for type
  • Incorrect erasure of exceptions in override-equivalent dual interface impl
  • Remove pluggable CodeStore API

New in Java JRE 9 Build 108 Early Access (Mar 4, 2016)

  • Incremental update from build-infra project
  • Integrate AIX fixes from build-infra
  • Remove softfloat lib support
  • HTTP API and HTTP/1.1 implementation
  • Remove softfloat lib support
  • [TESTBUG] compiler/loopopts/superword/SumRed* tests running on non-x86 platforms
  • Leftover from JDK-8141044: UseNewCode usage
  • [AArch64] implement JVMCI CodeInstaller
  • Uninitialised variable in macroAssembler_x86.cpp:7038
  • [JVMCI] add missing Checkstyle configuration file
  • [JVMCI] CodeInstaller::pd_patch_DataSectionReference should be able to throw exceptions
  • compiler/intrinsics/string/TestStringIntrinsics2.java times out
  • C2 doesn't eliminate identical checks
  • Vectorized Post Loops
  • range check CastII nodes should not be split through Phi
  • NPE when executing HotSpotConstantReflectionProvider::constantEquals with null first arg
  • NPEs when executing some HotSpotConstantReflectionProvider with null args
  • Compilation fails with "assert(in_hash) failed: node should be in igvn hash table"
  • Optimized build is broken
  • StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
  • Replacing MH::invokeBasic with a direct call breaks LF customization
  • Move trusted final field handling from C2 LoadNode::Value to shared code
  • [JVMCI] PrintNMethods is ignored for CompilerToVM.installCode when not called from the broker
  • Performance problem with System.identityHashCode in client compiler
  • [JVMCI] expose reserved stack machinery and Inline flag in HotSpotVMConfig
  • Fix documentation of InitiatingHeapOccupancyPercent
  • G1 ConcurrentG1RefineThread::stop delays JVM shutdown for >150ms
  • VM can hang on exit if root region scanning is initiated but not executed
  • Unaligned memory access in Bits.c
  • Remove the WorkAroundNPTLTimedWaitHang workaround
  • [Linux] Allow building on older systems without CPU_ALLOC support
  • Use log_error() instead of log_info() when verification reports a problem
  • Missing failure reporting in HeapRegion::verify
  • Remove unused code in methodComparator
  • Remove PICL warning message
  • Add number of regions to the G1HeapSummary event
  • Fix for 8145725 is broken
  • [Event Request] Want events for tenuring distribution
  • Create a trace event for G1 heap region type transitions
  • Investigate if ConvertSleepToYield still should be false by default on Sparc
  • Concurrent misspelled in the CMS logging
  • Remove .class files from the hotspot repo .hgignore file
  • Move G1YoungGenSizer to g1CollectorPolicy.cpp
  • enabling validate-annotations feature for xsd schema with annotation causes NPE
  • JCK: api/xsl/conf/copy/copy19 test failure
  • Incremental update from build-infra project
  • tools/pack200/Pack200Test.java failed with NullPointerException
  • augment/correct MethodHandle API documentation
  • Describe "minor unit" and/or "default fraction digits" in Currency class' javadoc clearly
  • augment pseudo-code descriptions in MethodHandles API
  • Add support for SO_REUSEPORT
  • Remove redundant "jdk_localedata" from the CLDR locale data meta info class name
  • sun/misc/SunMiscSignalTest.java failed intermittently
  • jdk 9 nightly build fails on Windows 32 bit
  • Use final restricted flag
  • Replacing MH::invokeBasic with a direct call breaks LF customization
  • Unsafe.getCharUnaligned() loads aren't folded in case of -XX:-UseUnalignedAccesses
  • - Unaligned memory access in Bits.c
  • Add tests for Unsafe.copySwapMemory
  • (fs) Enhance java/nio/file/Files/probeContentType/Basic.java debugging output
  • JDK 9 runtime changes to support multi-release jar files
  • HTTP API and HTTP/1.1 implementation
  • SSLContextImpl.statusResponseManager should be generated if required
  • Mark BashStreams.java as intermittently failing and put to ProblemList
  • 32 jshell tests failed on Windows 32 bit
  • Test java/util/logging/LogManagerAppContextDeadlock.java times out intermittently.
  • MethodHandles.tryFinally throws IndexOutOfBoundsException for non-conforming parameter lists
  • javac, remove unused options, step 2
  • Demote ToolReloadTest.java and mark as intermittently failing
  • cleanup handling of -encoding in JavacFileManager
  • remove the dependency on java.logging from java.compiler
  • replace remaining java.io.File with java.nio.file.Path
  • sourcepath / crashes javac
  • JShell API/tool: suggest imports for a class
  • Error messages from sjavac server does not always get relayed back to client
  • Information about written .h files is printed on the wrong logging level
  • The sjavac client should never create a port file
  • Disable the ComputeFQNsTest.testSuspendIndexing test
  • jdk.nashorn.api.scripting spec. adjustments, clarifications
  • correct package declaration in Nashorn test

New in Java JRE 9 Build 105 Early Access (Feb 15, 2016)

  • 1d5d6eee909e - 8129419 - heapDumper.cpp: assert(length_in_bytes > 0) failed: nothing to copy
  • 94508d813b04 - 8146364 - Remove @ServiceProvider mechanism from JVMCI
  • c52c42c98ca1 - 8066599 - Add methods to check VM mode to c.o.j.t.Platform
  • c2696ab4abae - 8148655 - LOG=cmdlines and other build-infra fixes
  • 3c427022abc9 - 8147443 - Use the Common Cleaner in Marlin OffHeapArray
  • 6b11a2e9fa4f - 8072379 - Implement jdk.Version
  • 3ca929279adb - 8148929 - Suboptimal code generated when setting sysroot include with Solaris Studio
  • be58b02c11f9 - 8129395 - Configure should verify that -fstack-protector is valid - take 2
  • 1e62ac452164 - 8146653 - Debug version missing in hs_err files and on internal version after Verona
  • cefb96b164dc - 8146485 - Add test for Unified Logging classresolve tag.
  • 756bb5cfc5cb - 8144527 - NewSizeThreadIncrease would make an overflow
  • f51772bf5382 - 8145093 - [TESTBUG] Remove test skip code for Solaris SPARC in runtime/SharedArchiveFile/SharedBaseAddress.java
  • e80bca696e3b - 8146409 - TestPromotionFailedEventWithParallelScavenge.java failed with assert(_time_stamps != __null) failed: Sanity
  • 44d8e9fd8244 - 8146399 - Refactor the BlockOffsetTable classes.
  • bd73f2212479 - 8145000 - TestOptionsWithRanges.java failure for XX:+UseNUMA -XX:+UseNUMAInterleaving -XX:NUMAInterleaveGranularity=65536
  • 50dd5b051754 - 8141564 - Convert TraceItables and PrintVtables to Unified Logging
  • 2e374df2f961 - 8145037 - Clean up FreeIdSet usage
  • 0904e24692e0 - 8135198 - Add -XX:VMOptionsFile support to JAVA_TOOL_OPTIONS and _JAVA_OPTIONS
  • cad5783d1be2 - 8146222 - assert(_initialized) failed: TLS not initialized yet!
  • 58d20e8f8e2a - 8146694 - Break out shared constants and static BOT functions.
  • bc7f166bdabc - 8144573 - TLABWasteIncrement=max_jint fires an assert on SPARC for non-G1 GC mode
  • 9abe7c97d9ba - 8146695 - FinalizeTest04 crashes VM with EXCEPTION_INT_DIVIDE_BY_ZERO
  • 4f4969a0bb13 - 8146620 - CodelistTest.java fails with "Test failed on: jdk.internal.misc.Unsafe.getUnsafe()Ljdk/internal/misc/Unsafe;"
  • 2abdc525b6b4 - 8145788 - JVM crashes with -XX:+EnableTracing
  • bc22b7ce478f - 8143847 - Remove REF_CLEANER reference category
  • 42a4b9a221cc - 8144953 - runtime/CommandLine/TraceExceptionsTest.java fails when exception is thrown in compiled code
  • fd5d53ecf040 - 8146410 - Interpreter functions are declared and defined in the wrong files
  • ccd373eddb9f - 8145038 - Simplify mut_process_buffer worker id management
  • eb84884dbeaa - 8146523 - VirtualMemoryTracker::remove_released_region double count unmapped CDS shared memory
  • c361afe846da - 8146855 - Update hotspot sources to recognize Solaris Studio 12u4 compiler
  • d87d1df270bf - 8145127 - VM warning: WaitForMultipleObjects timed out (0) ...
  • 66aa15bcceff - 8146889 - Update @requires expression for GC tests to run if GC is default
  • 7289bce381de - 8146800 - Reorganize logging alias code.
  • 899d83eb1f98 - 8077648 - ARM: BREAKPOINT is wrong for thumb
  • 4dc2fc9888d2 - 8147000 - VM crashes during initialization trying to print log message
  • 9a2baaa34464 - 8146690 - Make all classes in GC follow the naming convention.
  • a9b6cebbb713 - 8130063 - Refactoring tmtools jstat and jstack tests to jtreg
  • 09636a2eaeff - 8145940 - TempNewSymbol should have correct copy and assignment functions
  • 5a375300c073 - 8146401 - Clean up oop.hpp: add inline directives and fix header files
  • 565a897ae66a - 8143558 - evaluate if thr_sigsetmask can be removed from hotspot (solaris) codebase
  • 2a80b7fa7397 - 8147079 - Add serviceability/logging folder to hotspot_serviceability test group
  • c15c0bd51e1d - 8147075 - Rename old GC JTreg tests to the new naming scheme
  • 34569929f82b - 8146871 - Make the clean target silent in hotspot/test/Makefile
  • 3666a5638df2 - 8145442 - Add the facility to verify remembered sets for G1
  • 39c0209afee9 - 8072725 - Provide more granular levels for GC verification
  • 77ccddf2c10b - 8145184 - [aix] Implement os::platform_print_native_stack on AIX
  • d06ef31f563b - 8145698 - Memory leak in add_lib_info_fd of libproc_impl.c:174
  • 24059544e015 - 8147482 - Zero build fails after 8144953
  • e4a935122c2b - 8146994 - Move internal vm tests to a separate file
  • 7ff72b98b9eb - 8147464 - Use LogConfiguration::configure_stdout() instead of parse_log_arguments
  • 860e67ddbf52 - 8146990 - Convert CollectorPolicy to use log_warning instead of warning
  • a0fb4831cb69 - 8132720 - Add tests which checks that Humongous objects are not moved after Full GC
  • 3b71845ff335 - 8132717 - Add tests checking that instances of j.l.Classes of a large size are allocated as Humongous
  • c077bf397956 - 8146985 - Change output directory for hotspot's jtreg tests
  • 6bfa2b373a42 - 8129419 - heapDumper.cpp: assert(length_in_bytes > 0) failed: nothing to copy
  • b82a370a474e - 8147012 - Fix includes in internalVMTests.cpp
  • 5660ec824db3 - 8146751 - jdk/test/tools/launcher/TooSmallStackSize.java failed on Mac OS
  • 8fcd5cba7938 - 8147611 - G1 - Missing memory barrier in start_cset_region_for_worker
  • 3a7618a9f2d6 - 8147509 - [aix] Newlines missing in register info printout
  • 91be2fb6db87 - 8147848 - [TESTBUG] tmtools tests ported to JTREG need to be quarantined
  • d89ccb9d34da - 8146581 - Minor corrections to the patch submitted for earlier bug id - 8143925
  • e255a0645a67 - 8146678 - aarch64: assertion failure: call instruction in an infinite loop
  • f6615ec051d9 - 8146612 - C2: Precedence edges specification violated
  • 13b04370e8e9 - 8143353 - update for x86 sin and cos in the math lib
  • 555c4d3f2fa5 - 8146613 - PPC64: C2 does no longer respect int to long conversion for stub calls
  • 116a12504a2f - 8071374 - -XX:+PrintAssembly -XX:+PrintSignatureHandlers crash fastdebug VM with assert(limit == __null || limit code_end()) in RelocIterator::initialize
  • 48a466bcd095 - 8140659 - C1: invokedynamic call patching violates JVMS-6.5.invokedynamic
  • c90679b0ea25 - 8133612 - new clone logic added in 8042235 is missing from compiler intrinsics
  • 9e17d9e4b59f - 8139771 - Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
  • 330966bd2072 - 8146705 - Improve JVMCI support for blocking compilation
  • b8fbbc5bab85 - 8086053 - Address inconsistencies regarding ZeroTLAB
  • c8b709902e0e - 8145322 - Code generated from unsafe loops can be slightly improved
  • d9d0a63499ce - 8146629 - Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
  • 07efffd5d643 - 8136469 - OptimizeStringConcat fails on pre-sized StringBuilder shapes
  • fa208f0c40c3 - 8146886 - aarch64: fails to build following 8136525 and 8139864
  • 9bcf88a91dd7 - 8141615 - Add new public methods to sun.reflect.ConstantPool
  • f6a062170373 - 8146246 - JVMCICompiler::abort_on_pending_exception: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
  • 2748d975045f - 8146792 - Predicate moved after partial peel may lead to broken graph
  • 7c1c2a79f981 - 8146978 - PPC64: Fix build after integration of C++ interpreter removal
  • ea1dcbec9dcc - 8146891 - AArch64 needs patch for 8032463
  • ebed187c7acc - 8071864 - compiler/c2/6772683/InterruptedTest.java failed in nightly
  • 9833c8c49328 - 8145331 - SEGV in DirectivesStack::release(DirectiveSet*)
  • 2c4e0146b775 - 8146364 - Remove @ServiceProvider mechanism from JVMCI
  • ff58cdc70401 - 8145025 - compiler/compilercontrol/commandfile/CompileOnlyTest.java and compiler/compilercontrol/commands/CompileOnlyTest.java fail: java.lang.RuntimeException:
  • 155ecd958edf - 8140001 - _allocateInstance intrinsic does not throw InstantiationException for abstract classes and interfaces
  • a78d772cd5e0 - 6985422 - flush the output streams before OnError commands
  • 14ae4ed784f5 - 8146983 - C1: assert(appendix.not_null()) failed for invokehandle bytecode
  • e41e39851200 - 8146820 - JVMCI options should not use System.getProperty directly
  • a41d40f3e700 - 8147441 - Unchecked pending exceptions in the WhiteBox API's implementation
  • 69f986b232fe - 8147444 - compiler/jsr292/NonInlinedCall/RedefineTest.java fails with NullPointerException in ClassFileInstaller
  • bf74058d67ec - 8144212 - JDK 9 b93 breaks Apache Lucene due to compact strings
  • bfb7a8a004de - 6675699 - need comprehensive fix for unconstrained ConvI2L with narrowed type
  • 2a2916923394 - 8147433 - PrintNMethods no longer works with JVMCI
  • 46c1abd5c34d - 8146843 - aarch64: add scheduling support for FP and vector instructions
  • 037c9f7ff320 - 8146999 - hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
  • 022e1577a0f5 - 8146709 - AArch64: Incorrect use of ADRP for byte_map_base
  • ef84d8d6e32b - 8147564 - [JVMCI] remove unused method CodeCacheProvider.needsDataPatch
  • 4857410e41c6 - 8145336 - PPC64: fix string intrinsics after CompactStrings change
  • 45fcfb564741 - 8147599 - [JVMCI] simplify code installation interface
  • 8309cca68d5b - 8147475 - compiler/jvmci/code/SimpleDebugInfoTest.java fails in Assembler::locate_operand: ShouldNotReachHere()
  • 609a41177fbe - 8147805 - aarch64: C1 segmentation fault due to inline Unsafe.getAndSetObject
  • 0e28c0fb6fc0 - 8147386 - assert(size == calc_size) failed: incorrect size calculattion x86_32.ad
  • 929757d1dbbc - 8145800 - [Testbug] CompilerControl: inline message differs for not inlined methods
  • f8d9b3d47ea4 - 8141557 - TestResolvedJavaMethod.java times out after 1000 ms
  • d2e1f79ab970 - 8065334 - CodeHeap expansion fails although there is uncommitted memory
  • 3a91a2e94665 - 8146244 - compiler/jvmci/code/DataPatchTest.java crashes: SIGSEGV in (getConstClass)getConstClass
  • 7e1444a1d081 - 8147432 - JVMCI should report bailouts in PrintCompilation output
  • eb6ea8c5addf - 8146424 - runtime/ReservedStack/ReservedStackTest.java triggers: assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap
  • 73443d24e529 - 8147937 - Adapt SAP copyrights to new company name.
  • 29153fced415 - 8148101 - [JVMCI] Make CallingConvention.Type extensible
  • 49a4635322fb - 8148161 - quarantine compiler/loopopts/UseCountedLoopSafepoints.java
  • 5642ea0c1638 - 8148136 - compile control tests have incorrect @build directives
  • 3115fdbc4718 - 8147470 - update JVMCI mx extensions
  • 1576c0605a62 - 8147853 - "assert(t->meet(t0) == t) failed: Not monotonic" with sun/util/calendar/zi/TestZoneInfo310.java
  • e2642d8eb6f4 - 8147876 - ciTypeFlow::is_dominated_by() writes outside dominated array
  • b94830bd64ea - 8148202 - move lookup of Java class and hub from ResolvedJavaType to ConstantReflectionProvider
  • ec13f1d4a9d3 - 8148240 - aarch64: random infrequent null pointer exceptions in javac
  • 6aa83d55614a - 8144593 - Suppress not recognized property/feature warning messages from SAXParser
  • 737770475252 - 8146218 - Add LocalDate.datesUntil method producing Stream
  • efd8dc147138 - 8146773 - java/lang/ref/CleanerTest.java CleanerTest.testRefSubtypes() fails
  • 8148352 - CleanerTest fails: Cleanable should have been freed
  • 46d6f4802c9a - 8143016 - java/time/test/java/time/TestClock_System.java failed intermittently
  • e761ecc8f538 - 8146015 - JMXInterfaceBindingTest is failing intermittently for IPv6 addresses
  • 14716231231b - 8143317 - jdk/lambda/vm/InterfaceAccessFlagsTest.java fails with IncompatibleClassChangeError
  • e8520427f40e - 8147494 - com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java fails with "java.lang.IllegalArgumentException: VM option 'TraceExceptions' does not exist"
  • fd606f27c022 - 8147791 - Reenable tests that was temporarily quarantined in jdk9/hs
  • 0c4830b34185 - 8135250 - Replace custom check/range functionality with check index/range methods in java.util.Objects
  • ddd59a780769 - 8143353 - update for x86 sin and cos in the math lib
  • d78919a39b77 - 8141615 - Add new public methods to sun.reflect.ConstantPool
  • db0551f0e9fb - 8148710 - Remove FlatMapOpTest.java from ProblemList.txt
  • e260a6ff2110 - 6659240 - Exceptions thrown by MXBeans wrongly documented in j.l.m.ManagementFactory
  • 094f72523aa4 - 8147912 - test "parseWithZoneWithoutOffset" of java/time/tck/java/time/format/TCKDTFParsedInstant.java fail on de_DE locale
  • b6c60ffba251 - 8148787 - StringConcatFactory exactness check produces bad bytecode when a non-arg concat is requested
  • 8866ac83d39a - 8141452 - Convert between TimeUnit and ChronoUnit
  • 07dcdd5d9401 - 8148117 - Move sun.misc.Cleaner to jdk.internal.ref
  • 1624e0362f18 - 8145344 - Add SHA1 and SHA-224 to preferred provider list for solaris-sparc
  • 6bc96ddc4e81 - 8145116 - [TEST_BUG] Incorrect binary comparison in java/awt/event/KeyEvent/ExtendedModifiersTest/ExtendedModifiersTest.java
  • c6c641ad5d44 - 8144718 - Pisces / Marlin Strokers may generate invalid curves with huge coordinates and round joins
  • 6648f64ba30a - 6488522 - PNG writer should permit setting compression level and iDAT chunk maximum size
  • 90e729b46100 - 8146508 - 6488522 was committed with incorrect author attribution.
  • 666606b20107 - 8145608 - PNG writer should permit setting compression level and iDAT chunk maximum size
  • 4e21153399fb - 8144488 - Compilation fails on Jake for regtest javax/swing/JMenu/8067346/bug8067346.java
  • 9875b0022c68 - 8133039 - Provide public API to sun.swing.UIAction#isEnabled(Object)
  • 6eee6e12080b - 8145785 - [TEST_BUG] java/awt/Toolkit/GetSizeTest/GetScreenSizeTest.java: incorrect name
  • 687dbe642746 - 8041928 - MouseEvent.getModifiersEx gives wrong result
  • f3ae57f4bef1 - 8145808 - java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java hangs on Win. 8
  • 908481d0ee1d - 8143150 - DrawImagePipe can skip some unnecessary blits
  • f298f4a5d8a3 - 8135088 - Typo in AuFileReader
  • 36653b88bdd2 - 8143054 - [macosx] KeyEvent modifiers do not contain information about mouse buttons
  • 82e20d566ab5 - 6961123 - setWMClass fails to null-terminate WM_CLASS string
  • 7e14ec5734a2 - 8146168 - [TEST_BUG] instability of java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java
  • 7e9a5a26088c - 8145113 - OutOfMemoryError when reading a 17KB corrupted TIFF image
  • a0f4440da08a - 8144991 - AIOOB Exception in AutoImageWriterTest with TIFF writer
  • fde6e1e60d9f - 8145060 - Minimizing a JInternal frame not shifting focus to frame below it
  • 9f7a6fa4be52 - 8145584 - java/awt/font/TextLayout/TestGetPixelBounds.java fails on Linux
  • 70d3ec774d69 - 8146076 - Fail of sun/java2d/marlin/CeilAndFloorTests.java with Jigsaw
  • f4303cf0e9f9 - 8143316 - Crash Trend in 1.9.0-ea-b93 (sun.awt.DefaultMouseInfoPeer.fillPointWithCoords)
  • 5bb70b2df494 - 8138838 - docs cleanup for java.desktop
  • e6eaa6f68ac4 - 8145784 - [PIT] closed/java/awt/Robot/SpuriousMouseEvents/SpuriousMouseEvents.java fails
  • b83c88388896 - 4769772 - JInternalFrame.setIcon(true) before JDesktopPane.add(JIF) causes wrong state
  • 6ccec088c302 - 8023213 - [macosx] closed/java/awt/FontClass/NaNTransform.java fails on MacOS X 10.9
  • 9138bde743af - 8145776 - [TEST] add a test checking multipage tiff creation
  • 8c3e7f653add - 8145735 - Tests api/javax_swing/JTabbedPane/AccessibleJTabbedPane/* are failing
  • 6765bee0877b - 8041894 - [macosx] Test javax/swing/JSpinner/8008657/bug8008657.java failed on Mac
  • f6eee675df9a - 8016665 - [macosx] JComponent behaviour doesn't comply API documentation (setComponentOrientation method), Aqua LAF
  • 0be89ec21b1b - 7087869 - [TEST_BUG] [macosx] No mac os x support in test java/awt/Mouse/ExtraMouseClick/ExtraMouseClick
  • 30f9a47b806c - 8146317 - Memory leak in wcstombsdmp
  • 43e514b823cf - 8143562 - JPEG reader returns null for getRawImageType()
  • abd5c33ba3c7 - 8144744 - ImageWriter.replacePixels() specification is incorrect regarding null ImageWriteParam
  • 9eac69f80012 - 7035459 - [TEST_BUG] java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java failed
  • e2c24c6dce16 - 8015748 - [macosx] JProgressbar with Aqua LaF ignores JProgressbar#applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT) call.
  • 8625ef32d00c - 8080492 - [Parfait] Uninitialised variable in jdk/src/java/desktop/windows/native/libawt/
  • 7b510e98417c - 8131974 - AudioFileReader incorrectly handle EOFException
  • e3fb45999f71 - 8146144 - Incorrect behaviour of AudioSystem.getTargetFormats/getTargetEncodings/isConversionSupported
  • 923cd193701c - 6459818 - Audio A-law and law decoder skip() method not implemented
  • dbc4574a6eda - 8064800 - AudioSystem/WaveFileWriter can't write PCM_FLOAT, but writes it anyway
  • 73139eb33660 - 8147407 - Provide support of WaveExtensible sound format
  • ad0454711137 - 8147443 - Use the Common Cleaner in Marlin OffHeapArray
  • 5b6dcc6ed7d3 - 7104635 - HTMLEditorKit fails to write down some html files
  • 598f72b8fa83 - 8139213 - [macosx] Mac OS X Aqua Look and Feel: JOptionPane can truncate the first button
  • a4a44bcbecee - 8146276 - Right aligned ToolBar component does not appear
  • 7bf9151c0407 - 8146881 - [TEST] update some imageio plugins tests to affect TIFF format
  • c24e4eca4aaf - 8074165 - Deprecate support for AppletViewer
  • 67896132b90a - 8147966 - [TEST] add a test for multiresolution image properties
  • 505cc1a86ea7 - 8146249 - libjimage should use delete[] with new[]
  • 0419817f770b - 8148891 - Multiple failing javax/imageio/plugins after client integration
  • f90110e9109d - 8148869 - StringConcatFactory MH_INLINE_SIZED_EXACT strategy does not work with -XX:-CompactStrings
  • 7adef1c3afd5 - 8072379 - Implement jdk.Version
  • e928f770a0d6 - 8148916 - Mark bug6400879.java as intermittently failing
  • 63cca91a1f06 - 8148821 - (fs) Path.getParent() javadoc error
  • 787b79d03e18 - 8148983 - Fix extra comma in changes for JDK-8148916
  • 7181403325ad - 8149003 - Mark more jdk_core tests as intermittently failing
  • d1f14fc9591b - 8148955 - libjimage.so compiled with wrong flags
  • c3da0d44c900 - 8148936 - Adapt UUID.toString() to Compact Strings
  • 44d28eb7dae9 - 8149044 - jdk/internal/misc/JavaLangAccess/FormatUnsigned.java fails all platforms
  • 2ba1aed4abb2 - 8148928 - java/util/stream/test/**/SequentialOpTest.java timed out intermittently
  • fddcdea594f5 - 8148629 - Disable remaining warnings in awt/fontmanager
  • 0f7beb8e8f44 - 8148250 - Stream.limit() parallel tasks with ordered non-SUBSIZED source should short-circuit
  • 4a497e746019 - 8148115 - Stream.findFirst for unordered source optimization
  • 8719783940f1 - 8148838 - Stream.flatMap(...).spliterator() cannot properly split after tryAdvance()
  • 3e5970acb0a7 - 8146747 - java.time.Duration.toNanos() and toMillis() exception on negative durations
  • 60f2a0ea5fa6 - 8138578 - MethodHandles.Lookup.findSpecial() Javadoc fails to consider static methods
  • 5e24a8cdbcd7 - 8064466 - (fs spec) Files.readAttributes(Path, String, LinkOption...) not clear when called with zero attributes
  • 55518739e399 - 8098581 - SecureRandom.nextBytes() hurts performance with small size requests
  • d3411a81ad65 - 8147949 - NetBeans cannot open langtools repository because of the reserved word \"aux\"
  • 873c5cde4f08 - 8080357 - JShell: Only unqualified unresolved references should be corralled
  • 8081431 - JShell: Dropping import should update dependencies
  • c163c7d12450 - 8148926 - Call site profiling fails on braces-wrapped anonymous function
  • f35bd1bd0184 - 8149186 - Don't use indy for optimistic arithmetic
  • 4e9749cc32f1 - 8149334 - JSON.parse(JSON.stringify([])).push(10) creates an array containing two elements

New in Java JRE 9 Build 94 Early Access (Dec 2, 2015)

  • Make install target does not depend on images
  • Allow files with .png extension to be copied for javadoc
  • New APIs for jar signing
  • JEP 264 Platform Logger API and Service Implementation
  • Obsolete JNIDetachReleasesMonitors
  • [TESTBUG] Get rid of "@library /../../test/lib" in jtreg tests
  • Solaris: clean up another remnant of interruptible I/O
  • Remove _MARKING_STATS_ from the G1 code
  • JVM Crashing During startUp If Flight Recording is enabled
  • Convert TraceDefaultMethods to Unified Logging
  • hotspot/make/hotspot.script cannot handle command-line arguments with spaces
  • Add utility method for logging phases to G1CollectorPolicy
  • Add note_gc_start to G1CollectorPolicy
  • Remove _MARKING_VERBOSE_ from the G1 code
  • Remove SPARSE_PRT_VERBOSE from the G1 code
  • Remove CARD_REPEAT_HISTO from the G1 code
  • Recent Developments for AIX
  • Typos and refactoring in Compiler constraints functions
  • Split other time calculation into methods in G1CollectorPolicy
  • Zero fails to build
  • Zero JVM fails to initialize after JDK-8078554
  • a9fecf7a6e6d 8141056 Erroneous assignment in HeapRegionSet.cpp
  • Remove hrs_err_msg and hrs_ext_msg from heapRegionSet
  • Expand ResourceHashtable with C_HEAP allocation, removal and some unit tests
  • Test hotspot/compiler/oracle/MethodMatcher.java fails with NPE
  • Clean up remnants of fork1() from non-solaris platforms
  • eager reclaim card dirtying may dirty outside of allocated objects
  • Intermittent SEGV running ParallelGC
  • Remove unnecessary pragma warning(disable:4355) from GC code
  • G1: Clean up code in ptrQueue.[ch]pp and ptrQueue.inline.hpp
  • Convert TraceSafepoint to Unified Logging
  • Logging write function does not allow for long enough messages
  • Port fix of JDK-8075773 to AIX and possibly MacOSX
  • Remove the instrumentation added by JDK-6898948
  • Let jvmtiGen exit with a non-zero exit code upon failure
  • set_numeric_flag can call Flag::find_flag to determine the flag type
  • test/serviceability/dcmd/gc/HeapDumpTest fails to verify the dump
  • CMS wrong max_eden_size for check_gc_overhead_limit
  • [TESTBUG] requiredVersion in TEST.ROOT needs to updated to 4.1 b12
  • Remove G1RecordHRRS
  • Oops and G1RecordHRRSEvents
  • Remove unused function G1SATBCardTableLoggingModRefBS::write_ref_field_static
  • [TESTBUG] Add @ignore to runtime/CompressedOops/UseCompressedOops.java until JDK-8079353 has been resolved
  • Change how startsHumongous and continuesHumongous regions work in G1.
  • Hotspot Windows build should respect WARNINGS_AS_ERRORS
  • G1CollectedHeap::into_cset_dirty_card_queue_set should be moved to G1RemSet
  • [TESTBUG] closed/runtime/4784641/CheckedIsSameObjectTest fails when running 32-bit ARM binaries on 64-bit ARM hosts
  • ObjPtrQueue is poorly named
  • Various minor code improvements (runtime)
  • Remove develop flag G1TraceHeapRegionRememberedSet
  • Revert the removal of CMSTestInFreeList
  • JVM should throw ClassFormatError for non-void methods named
  • Remove mcs post-hook from hotspot solaris builds
  • PLAB statistics are flushed too late
  • Tests missing -XX:+UnlockDiagnosticVMOptions
  • nmethod::oops_do_marking_epilogue always runs verification code
  • Forcing an initial mark causes G1 to abort mixed collections
  • After G1 Full GC, the next GC is always a young-only GC
  • Start initial mark right after mixed GC if needed
  • Skip last young-only gc if nothing to do in the mixed gc phase
  • [TESTBUG] Exclude runtime/ErrorHandling/SecondaryErrorTest.java on OSX until JDK-8139300 has been resolved
  • Xerces Update: Xerces XPath
  • [TESTBUG] requiredVersion in TEST.ROOT needs to updated to 4.1 b12
  • Remove LFMultiThreadCachingTest.java from windows problem list
  • Remove requirement that AKID and SKID have to match when building certificate chain
  • java.time.Duration.parse() fails for negative duration with 0 seconds and nanos
  • jdk/internal/jimage/JImageReadTest.java crashing in msvcr120.dll
  • (process) ProcessBuilder support for a pipeline of processes
  • move jdk java/util/streams tests into java.base directories
  • OutputAnalyzer's shouldXXX() calls return this
  • Feed some text to STDIN in ProcessTools.executeProcess()
  • 5 tests fail with error "Can't find source for class: java.util.stream.OpTestCase"
  • java.time LocalDate and LocalTime ofInstant() factory methods
  • [TESTBUG] Get rid of "@library /../../test/lib" in jtreg tests
  • Debugger hangs in trace mode with TRACE_SENDS
  • Remote debugging session hangs for several minutes when calling findBootType
  • [TESTBUG] requiredVersion in TEST.ROOT needs to updated to 4.1 b12
  • Improve lazy initialization of java.lang.invoke
  • Cleanup sun.invoke.util.Wrapper zeroes to be both reliable and lazy
  • Arrays.equals accepting a Comparator
  • Utility methods to check indexes and ranges doesn't specify behavior when function produces null
  • Move sun/security/pkcs11/Secmod/LoadKeystore.java to problem list
  • AssertionError in MethodHandleImpl
  • LocalDate.isEra() should return IsoEra not Era
  • Add java.time.Clock.tickMillis(ZoneId zone) method
  • Unwanted System.out in jimage
  • [TEST_BUG]closed/java/awt/print/PrinterJob/PaintText.java failed (timeout error)
  • breaks OpenJDK build on windows.
  • Find and load default.sf2 as the default soundbank on Linux
  • Test javax/swing/system/6799345/TestShutdown.java fails on Solaris11 Sparcv9
  • [TEST_BUG] closed/javax/swing/plaf/metal/MetalUtils/bug6190373.java fails NPE since 7u25b03
  • [TEST_BUG] Test java/awt/applet/Applet/AppletFlipBuffer.java fails on Windows with AWTException
  • Scrollbar thumb disappears with Nimbus L&F
  • JNI warnings loading fonts on MacOSX
  • [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X
  • Bug in OSInfo.java
  • Non-ASCII characters in CUPS printer names are not properly displayed
  • Test closed/java/awt/font/JNICheck/JNICheck.sh fails on Solaris 11 since 7 FCS
  • [macosx]filedialog didn't pop up for awt test InvalidParametersNativeTest
  • 3c1ed8084a75 8137113 [TEST_BUG] Two java.beans tests need to be updated to work with JDK 9 modularized filesystem
  • TreeMap: optimization of method computeRedLevel()
  • sun.security.mscapi.KeyStore might load incomplete data
  • Fix java.lang.invoke bootstrap when specifying COMPILE_THRESHOLD
  • java/lang/invoke/CompileThresholdBootstrapTest.java failing on mach5
  • Two implementation methods of AbstractStringBuilder are mistakenly declared as "protected" in JDK9b93
  • New APIs for jar signing
  • PKCS basic tests
  • implement JEP 274: enhanced method handles
  • JEP 264 Platform Logger API and Service Implementation
  • http://hg.openjdk.java.net/jdk9/jdk9/langtools
  • Changeset Bug ID Synopsis
  • Uncompilable large expressions involving generics.
  • bcefe0a2b55c 8073616 Duplicate error message: cannot inherit from final (class) F
  • langtools/test/tools/javac/lambda/speculative/T8046685.java fails on some platforms
  • Allow files with .png extension to be copied for javadoc
  • [TESTBUG] requiredVersion in TEST.ROOT needs to updated to 4.1 b12
  • java compiler: type erasure doesn't work since 9-b28
  • javac throws NPE when printing diagnostics for Lambda expressions
  • type inference performance regression
  • @ignore langtools/test/jdk/jshell/ToolBasicTest.java
  • Create sampleapi regression test
  • Implement search feature in javadoc
  • ES6 symbols created with Symbol.for should deserialize to canonical instances
  • [TESTBUG] requiredVersion in TEST.ROOT needs to updated to 4.1 b12
  • Add option for debuggable scopes
  • Nashorn compilation time reported in nanoseconds
  • Random failures when script size exceeds token limits

New in Java JRE 9 Build 92 Early Access (Nov 18, 2015)

  • NoClassDefFoundError thrown by managementFactory.getPlatformMBeanServer
  • JEP165: Compiler Control: Implementation task
  • Build test libs -source/-target 9
  • Clean up building of demos
  • Rename SetupArchive to SetupJarArchive
  • Switch macosx devkit in JPRT
  • AIX: fix build after '8140661: Rename LDFLAGS_SUFFIX to LIBS'
  • Fix compare.sh -o (broken by JDK-8136813)
  • Deprecate configure source overriding
  • Propagate --disable-warnings-as-errors to hotspot
  • recent change for 8141543 breaks all builds
  • Support IdealGraphVisualizer in optimized build
  • Incremental build of jdk.vm.ci-gensrc creates repeated entries in services file
  • failed: no mismatched stores, except on raw memory: StoreB StoreI
  • JEP165: Compiler Control: Implementation task
  • JEP-JDK-8046155: Test task: cover existing
  • JEP-JDK-8046155: Test task: dcmd tests
  • Support IdealGraphVisualizer in optimized build
  • Fix product build after "8132168: Support IdealGraphVisualizer in optimized build"
  • Missing test files in CompilerControl tests
  • assert(is_native_ptr || alias_type->adr_type() == TypeOopPtr::BOTTOM || alias_type->field() != __null || alias_type->element() != __null) failed: field, array element or unknown
  • Zero fails to build from source
  • C1: Ambiguous operator delete
  • Update for x86 log in the math lib
  • remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
  • CompileCommand prints quoted ascii strings
  • SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
  • aarch64: jvm fails to initialise after 8078556
  • aarch64: jtreg test jdk/tools/pack200/UnpackerMemoryTest.java SEGVs
  • compiler/intrinsics/montgomerymultiply/MontgomeryMultiplyTest.java fails with timeout
  • compiler control tests fail with compiled: true, but should: false on required level: 1
  • compiler control test failed with RuntimeException: CompileCommand: nonexistent missing
  • JEP-JDK-8046155: Test task: directive parser
  • Excluding compile messages should only be printed with PrintCompilation
  • SEGV in DirectivesStack::getMatchingDirective
  • -XX:DisableIntrinsic matches intrinsics overly eagerly
  • Quarantine RandomValidCommandsTest
  • Quarantine ClearDirectivesFileStackTest
  • Atomic*FieldUpdaters final fields should be trusted
  • Internal Error runtime/stubRoutines.hpp:392 assert(_intrinsic_log != 0L) failed: must be defined
  • CompilerControl: Remove UTF-16 from the tests
  • Implement JEP 268: XML Catalog API
  • Develop tests for XML Catalog API
  • Update JAX-WS RI integration to latest version (2.3.0-SNAPSHOT)
  • very long classname in jimage causes SIGSEGV
  • [TESTBUG] enable sun/security/pkcs11 tests on Linux/ppc64
  • Add a new locale data name "COMPAT" for java.locale.providers system property to reduce ambiguity
  • Exclude java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java from execution
  • Define ConstructorParameters annotation type for MXBeans
  • Remove java-rmi.exe and java-rmi.cgi
  • java/lang/ProcessHandle/TreeTest.java test fails with ... Wrong number of children expected [3] but found [2]
  • Clean up building of demos
  • Rename SetupArchive to SetupJarArchive
  • java.awt.Component.createImage(int width,int height) should remove behavioral optionality
  • [TEST_BUG] Fix 2 platform-specific closed regtests for jigsaw
  • JWindow.getLocation and JWindow.getLocationOnScreen return different values on Unity
  • After calling frame.toBack() dialog goes to the back on Ubuntu 12.04
  • Swing window sometimes fails to repaint partially when it becomes exposed
  • BMPMetadata returns invalid PhysicalPixelSpacing
  • In some cases the usage of TreeLock can be replaced by other synchronization
  • [macosx] java always returns only one value for "text/uri-list" dataflavor even if several files were copied
  • Text overlapping on dot matrix printers.
  • [macosx] Java forces the use of discrete GPU
  • Change Boolean constructor use to the use of Boolean factorymethods. For the macosx-port-dev area
  • Typo in java/lang/Class/IsEnum.java test
  • AIX: fix build after '8140661: Rename LDFLAGS_SUFFIX to LIBS'
  • Lexicographic comparators for arrays
  • @Deprecated on packages should be clarified
  • Move java/lang/ProcessHandle/TreeTest.java until stability improves
  • java/nio/Buffer/Basic.java crashes vm on linux-x64 using latest devkit to build
  • Clean up building of JDK launchers
  • Add Connection.begin/endRequest
  • Avoid calculating string constants in InnerClassLambdaMetaFactory
  • MethodType field offset calculation could be lazy
  • Fix javadoc warnings in Connection due to 8136496
  • langtools/make/test/sym/CreateSymbolsTest.java contains incorrect paths
  • Rename SetupArchive to SetupJarArchive
  • Sjavac tests are leaking file managers
  • PackagePathMismatch.java does not use --state-dir option
  • Various sjavac tests result in error on Windows (JPRT)
  • Subtle semantics changes for union types in cast conversion
  • Move NameCodec to jdk.nashorn.internal space
  • NameCode should pass tests from BytecodeNameTest.java
  • Rename SetupArchive to SetupJarArchive
  • Improve caching in NashornCallSiteDescriptor
  • CompilerTest execution time dominated by Field.setAccessible
  • Cache Class.forName for permanently loaded classes

New in Java JRE 8 Update 65 (Oct 20, 2015)

  • Bug fixes:
  • JDK-8133321 core-libs (tz) Support tzdata2015f
  • JDK-8133665 deploy plugin REGRESSION: Hidden applet does not load in 8u60 and 8u65
  • JDK-8135116 globalization translation [de] Missing the link of license agreement

New in Java JRE 9 Build 83 Early Access (Oct 8, 2015)

  • Improve make utilities containing and not-containing
  • Drop support for the IIOP transport from the JMX RMIConnector
  • Move native jimage code to its own library (maybe libjimage)
  • [NEWTEST] documented GC ratio tuning and new size options should be covered by regression tests
  • Build test libs using properly integrated makefile
  • Use Unsafe.defineAnonymousClass for loading Nashorn script code
  • Check in blessed-modifier-order.sh
  • Enable deployment tests in build system
  • Build should recognise .cc file extension
  • replace some tags (obsolete in html5) in CORBA docs
  • AArch64: Fix several errors in C2 biased locking implementation
  • Final String field values should be trusted as stable
  • AARCH64: GHASH intrinsic is not optimal
  • Small fixes found during JVMCI work
  • Lucene test failures with 32 bit JDK 9b78, Server compiler
  • Enable UseFPUForSpilling support on SPARC
  • Incorrect JIT compilation of complex code with inlining and escape analysis
  • Reverse changes from 8075093
  • C2 support for Adler32 on SPARC
  • Preparatory refactorings for compiler control
  • linux thread id should be reported in decimal in the error reports now
  • compiler/arguments/CheckCICompilerCount.java still fails
  • Add tests for Humongous objects allocation threshold
  • assert(!is_null(v)) failed: narrow klass value can never be zero with -Xshared:auto
  • c1bd0eb306f1 8133646 Internal Error: x86/vm/macroAssembler_x86.cpp:886 DEBUG MESSAGE: StubRoutines::call_stub: threads must correspond
  • Remove usage of EvacuationInfo from G1CollectorPolicy
  • G1ParCopyClosure does not need a ReferenceProcessor
  • adlc fails to compile with SS12u4
  • Memory leak in Arguments::add_property function
  • CardTableExtension kind() should be BarrierSet::CardTableExtension
  • G1CollectedHeap::verify_dirty_young_list fails with assert
  • GC: implement ranges (optionally constraints) for those flags that have them missing
  • Modify PLAB sizing algorithm to waste less
  • Remove CollectorPolicy::Name
  • JVM is creating too many GC helper threads on T7/M7 linux/sparc platform
  • Oop iteration clean-up to remove oop_ms_follow_contents
  • Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125
  • Add G1 support for promotion event
  • Remove G1 specific checking of Young/OldPLABSize in G1CollectorPolicy constructor
  • Incorrect use of PLAB::min_size() in MaxPLABSizeBounds
  • Clean up write_ref_field_work
  • [BACKOUT] GC: implement ranges (optionally constraints) for those flags that have them missing
  • race between VM_Exit and _sync_FutileWakeups->inc()
  • [TESTBUG] runtime/SharedArchiveFile/SharedStrings.java failed with WhiteBox.class : no such file or directory
  • Inconsistency in maximum TLAB/PLAB size and humongous object size
  • Don't use G1RootProcessor when scanning remembered sets
  • VerifyRememberedSets is an expensive nop in product builds
  • Move native jimage code to its own library (maybe libjimage)
  • Enhance VM option parsing to allow options to be specified in a file
  • Fix or remove broken links in objectMonitor.cpp comments
  • Misc cleanups after generation array removal
  • [TESTBUG] gc/g1/TestHumongousShrinkHeap.java might fail on embedded
  • [NEWTEST] documented GC ratio tuning and new size options should be covered by regression tests
  • JAX-WS Plugability Layer: using java.util.ServiceLoader
  • KeystoreImpl.m using wrong type for cert format
  • KeyStore.load() throws an IOException with a wrong cause in case of wrong password
  • Enhance tests for PKCS11 keystores with NSS
  • Additional tests for CertPath API
  • C2 support for Adler32 on SPARC
  • Drop support for the IIOP transport from the JMX RMIConnector
  • Move native jimage code to its own library (maybe libjimage)
  • Include sun.arch.data.model as a property that can be queried by jtreg
  • Better exception messaging in Ucrypto code
  • Required algorithms for JDK 9
  • Core libraries should use blessed modifier order
  • add stream support to Scanner
  • jarsigner tests include both a warnings.sh and a warnings subdir
  • File Leak in jdk/src/java/base/unix/native/libnet/PlainDatagramSocketImpl.c
  • Stop changing user environment variables related to /usr/dt
  • MAWT: Java should be more careful manipulating NLSPATH, XFILESEARCHPATH env variables
  • AIX: libjimage should be linked with the C++ compiler
  • Port fdlibm pow to Java
  • Deadlock in JNDI LDAP implementation when closing the LDAP context
  • java/lang/ProcessHandle/OnExitTest.java fails intermittently
  • java/lang/ProcessHandle/TreeTest failed with java.lang.AssertionError: Start with zero children
  • Loading JKS keystore using non-null InputStream results in closed stream
  • [TESTBUG] com/sun/corba/cachedSocket/7056731.sh should not be run on JRE
  • Specification of AudioFileReader should be clarifed
  • [TEST_BUG] Few test cases are failing due to use of getPeer()
  • Broken Hyperlink in JDK 8 java.awt.Font javadocs
  • [TEST_BUG] Split java/awt/image/MultiResolutionImageTest.java in two to allow restricted access
  • [macosx] Font in BasicHTML document is bigger than it should be
  • Tests java/beans/XMLEncoder/Test4903007.java and java/beans/XMLEncoder/java_awt_GridBagLayout.java
  • [macosx] Various memory leaks in Aqua look and feel
  • [Jigsaw] Test java/awt/PrintJob/Text/stringwidth.sh fails during compilation
  • Moving test from javax/swing/plaf/basic/BasicHTML/4960629 to test/javax/swing/plaf/basic/BasicHTML/4960629
  • [TEST_BUG] The last column header does not contain "..."
  • EDT auto shutdown is broken in case of new event queue usage
  • Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Windows virtual hosts
  • [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7
  • The behaviour of the highlight will be lost after clicking the set button
  • [TEST_BUG] Test java/awt/image/RescaleOp/RescaleAlphaTest.java with Bad action for script
  • [TEST_BUG] Test java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java lefts keystrokes in a keyboard buffer on Windows
  • Custom MultiResolution image support on HiDPI displays
  • Recursive implementation of List.map leads to stack overflow
  • Severe compiler performance regression Java 7 to 8 for nested method invocations
  • jdk.nashorn.internal.codegen.CompilationPhase$N should be renamed to proper classes
  • javaarrayconversion.js test is flawed
  • Call site switching to megamorphic causes incorrect property read
  • Allow constructors with same prototoype map to share the allocator map
  • Use Unsafe.defineAnonymousClass for loading Nashorn script code
  • Syntactic error accidentally left in JDK-8135251 changeset
  • Megemorphic scope access does not throw ReferenceError when property is missing

New in Java JRE 9 Build 60 Early Access (Apr 22, 2015)

  • Summary of changes:
  • New Init.gmk needs improvements
  • Improve clean targets
  • Tidy warnings cleanup for org/omg
  • Incorrect property name documented in CORBA InputStream API
  • Reduce calls to the GC specific object visitors in oopDesc
  • Remove GenerationSpec array
  • Move SharedHeap::print_size_transition() into G1 code
  • g1: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
  • cms: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
  • parallelScavenge: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
  • parNew: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
  • shared: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
  • Move the thread claim parity from SharedHeap to Thread
  • Remove unused is_in_partial_collection()
  • Remove unused _collector_policy field in SharedHeap
  • Remove unused methods mod_card_iterate() and non_clean_card_iterate_serial()
  • VirtualSpaceNode container_count() and container_count_slow() have different return types
  • Remove DiscoveredListIterator::update_discovered()
  • Cleanup of CollectedHeap::kind()
  • G1: guarantee fails with UseDynamicNumberOfGCThreads
  • Update JAX-WS RI integration to latest version (2.2.11-b150402.1412)
  • getNextEntry throws ArrayIndexOutOfBoundsException when unzipping file
  • Cannot fully read BitSet.stream() if bit Integer.MAX_VALUE is set
  • The specified procedure could not be found in management.dll
  • Disable the PKCS11 NSS tests on Windows
  • CipherInputStream throws BadPaddingException if stream is not fully read
  • Rest of tidy warning in javax.security / java.security
  • jimage extract + recreate broken again
  • auth.login.LoginContext needs to be updated to work with modules
  • Simplify test JImageTest
  • Annotations on many Language Model elements are not returned
  • Several nashorn tests failing
  • Disable dual fields when not using optimistic types

New in Java JRE 8 Update 45 (Apr 15, 2015)

  • Improve jar file handling:
  • Starting with JDK 8u45 release, the jar tool no longer allows the leading slash "/" and ".." (dot-dot) path component in zip entry file name when creating new and/or extracting from zip and jar file. If needed, the new command line option "-P" should be used explicitly to preserve the dot-dot and/or absolute path component.
  • Synopsis: jnlp app with nested "resource" section fails with NPE on load in jre8u40:
  • A jnlp application, with nested tags within a or tag, can throw an NPE. The issue is now fixed. The tag should be used only if the is actually used.
  • Deadlock in awt/logging apparently introduced by 8019623
  • Socket impls should ignore unsupported proxy types rather than throwing
  • Support tzdata2015a
  • Parsing JNLP file should not cause download of extensions.
  • JavaWS fails with proxy autoconfig due to missing "dnsResolve"
  • 32-bit JRE silent install fails on WINDOWS 2008 SERVER 64-bit under System account
  • Failed Java web start via IPv6 (Java7u71 or later)
  • StringIndexOutOfBoundsException while reading krb5.conf
  • parameter_index for type annotation not updated after outer.this added
  • JDK 8 schemagen tool does not generate xsd files for enum types
  • XSL: Run-time internal error in 'substring()'
  • XSL: wrong answer from substring() function

New in Java JRE 8 Update 20 (Aug 20, 2014)

  • NEW FEATURES AND CHANGES:
  • New flags added to Java Management API:
  • The flags MinHeapFreeRatio and MaxHeapFreeRatio have been made manageable. This means they can be changed at runtime using the management API in Java. Support for these flags have also been added to the ParallelGC as part of the adaptive size policy.
  • Java Installer Changes:
  • A new Microsoft Windows Installer (MSI) Enterprise JRE Installer which enables user to install the JRE across the enterprise, is available. See Downloading the Installer section in JRE Installation for Microsoft Windows for more information. The MSI Enterprise JRE Installer is only available as part of Java SE Advanced or Java SE Suite. For information about these commercial products, see Java SE Advanced and Java SE Suite.
  • The following new configuration parameters are added to support commercial features, for use by Java SE Advanced or Java SE Suite licensees only.
  • USAGETRACKERCFG=
  • DEPLOYMENT_RULE_SET=
  • See Installing With a Configuration File for more information about these and other installer parameters.
  • The Java Uninstall Tool is integrated with the installer to provide an option to remove older versions of Java from the system. The change is applicable to 32 bit and 64 bit Windows platforms. See Uninstalling the JRE.
  • Java Control Panel Changes:
  • The Update tab in the Java Control Panel now enables the users to automatically update 64-bit JREs (in addition to 32-bit versions) that are installed on their system.
  • The Medium security level has been removed. Now only High and Very High levels are available.
  • Applets that do not conform with the latest security practices can still be authorized to run by including the sites that host them to the Exception Site List.
  • The exception site list provides users with the option of allowing the same applets that would have been allowed by selecting the Medium option but on a site-by-site basis therefore minimizing the risk of the using more permissive settings.
  • Java Compiler updated:
  • The javac compiler has been updated to implement definite assignment analysis for blank final field access using "this". See JDK 8 Compatibility Guide for more details.
  • Change in minimum required Java Version for Java Plugin and Java Webstart:
  • The minimum version of Java required for Java Plugin and Java Webstart is now Java 5. Applets that do not run in Java 5 or later must be ported to a later version of Java to continue to function. Applets written for earlier versions but able to run in at least Java 5 will continue to work.
  • Change in UsageTracker output formatting:
  • UsageTracker output formatting has been changed to use quoting, to avoid confusion in the log. This may require changes to the way such information is read. The feature can be configured to behave as in previous versions, although the new format is recommended.
  • Changes to Java Packaging Tools:
  • javafxpackager has been renamed to javapackager
  • The "-B" option has been added to the javapackager deploy command to enable you to pass arguments to the bundlers that are used to create self-contained applications. See javapackager (Windows)/(Unix) documentation for information
  • The helper parameter argument has been added to JavaFX Ant Task Reference. It enables you to specify an argument (in the element) for the bundler that is used to create self-contained applications.
  • BUG FIXES:
  • Area: security-libs/org.ietf.jgss:krb5
  • Synopsis: sun.security.krb5.KdcComm interprets kdc_timeout as msec instead of sec
  • An interop issue is found between Java and native Kerberos implementation on BSD (including Apple OS X) regarding the kdc_timeout setting in krb5.conf, which Java interprets as milliseconds and BSD as seconds (when no unit is specified). This release adds support for the "s" (seconds) unit. Therefore if the timeout is 5 seconds, Java accepts both "5000" and "5s". Customers concerned about the interop between Java and BSD should use the later format.
  • Area: other-libs/corba
  • Synopsis: org.omg.CORBA.ORBSingletonClass loading no longer uses context class loader
  • The system property org.omg.CORBA.ORBSingletonClass is used to configure the system-wide/singleton ORB. The handling of this system property has changed in 7u55 release to require that the system wide/singleton ORB be visible to the system class loader.
  • In this release the handling of this system property has been changed to match the behavior found in JDK versions prior to 7u55 release, i.e. the singleton ORB is once again located using the thread context class loader of the first thread to call the no-argument ORB.init method. The change was made to support applications which have been designed to depend on this behavior. Note that this change is applicable to 8u20, 7u65, 6u85 and 5.0u75 releases. For JDK 9, the new behavior where the system wide/singleton ORB needs to be visible to the system class loader, will continue.
  • Area: core-libs/java.util.collections
  • Synopsis: Collection.sort defers now defers to List.sort
  • Previously Collection.sort copied the elements of the list to sort into an array, sorted that array, then updated list, in place, with those elements in the array, and the default method List.sort deferred to Collection.sort. This was a non-optimal arrangement.
  • From 8u20 release onwards Collection.sort defers to List.sort. This means, for example, existing code that calls Collection.sort with an instance of ArrayList will now use the optimal sort implemented by ArrayList.
  • Area: core-libs/java.net
  • Synopsis: Digest authentication interop issue
  • With older versions of Apache Tomcat, certain protocol parameters are expected to be surrounded by double quotes(""). This was the behavior in JDK 7, but was corrected in JDK 8 to be compatible with RFC2617. This caused digest authentication interoperability issues.
  • Setting the networking property http.auth.digest.quoteParameters to true restores the JDK 7 behavior for compatibility with the older versions of Tomcat.
  • Area: tools/javac
  • Synopsis: javac crashes when mixing lambdas and inner classes
  • Previously the following sample code was making the compiler fail with a NPE:
  • class LambdaExpressionWithNonExistentIdCrashesJavacTest {
  • void foo() {
  • bar(()-> {
  • new NonExistentClass(){
  • public void any() {}
  • void bar(Runnable r) {}
  • where the NonExistentClass was an existing but inaccessible class. Starting with JDK 8u20, javac produces an error message indicating correctly that symbol "NonExistentClass" can't be found.
  • Area: tools/javac
  • Synopsis: ElementType.TYPE_USE is introduced in JDK 8 and should be considered a logical superset of ElementType.TYPE and ElementType.ANNOTATION_TYPE. However, the javac command does not currently recognize ElementType.TYPE_USE as a superset.
  • Area: tools/javac
  • Synopsis: javac generates incorrect exception table for multi-catch statements inside a lambda
  • Handling of try-catch with multiple catches inside a lambda has been corrected.
  • Area: core-libs/java.lang.reflect
  • Synopsis: Default methods affect the result of Class.getMethod and Class.getMethods
  • Class.getMethod and Class.getMethods were not updated with the 8 release to match the new inheritance definition (both may return non-inherited superinterface methods). Starting with JDK 8u20, the implementation has been changed to match defintion. See JDK 8 Compatibility Guide for more details.

New in Java JRE 8 Update 5 (Apr 16, 2014)

  • New Features and Changes:
  • Security Baselines:
  • The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 8u5 are specified in the following table
  • JRE 8: 1.8.0_5
  • JRE 7: 1.7.0_55
  • JRE 6: 1.6.0_75
  • JRE 5.0: 1.5.0_65
  • JRE Expiration Date:
  • The JRE expires whenever a new release with security vulnerability fixes becomes available. Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Third Party Bulletin. This JRE (version 8u5) will expire with the release of the next critical patch update scheduled for July 15, 2014.
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u5) on August 15, 2014. 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.
  • New Features and Changes:
  • The frequency of some security dialogs has been reduced on systems that run the same RIA multiple times.
  • Using "*" in Caller-Allowable-Codebase Attribute
  • If a stand-alone asterisk (*) is specified as the value for the Caller-Allowable-Codebase attribute, then calls from JavaScript code to RIA will show a security warning, and users have the choice to allow the call or block the call
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities. The following are some of the notable bug fixes in this release:
  • Area: deploy/plugin
  • Synopsis: java plugin compatibility with windows 8.1 / IE 11 enhanced protected mode
  • Starting in this release Java Plug-in is compatible with Windows Enhanced Protected Mode (EPM) on Windows 8.1 and IE 11. You should no longer see any warning related to EPM when trying to run an applet in Internet Explorer (IE). There is a special case for 64-bit Windows - EPM requires both 32-bit and 64-bit Plug-in installed. Please make sure you have both 32-bit and 64-bit JRE installed, otherwise there will be a warning from IE, but Java Plug-in will still run under EPM.

New in Java JRE 8.0.0 (Mar 19, 2014)

  • Java Programming Language:
  • Lambda Expressions, a new language feature, has been introduced in this release. They enable you to treat functionality as a method argument, or code as data. Lambda expressions let you express instances of single-method interfaces (referred to as functional interfaces) more compactly.
  • Method references provide easy-to-read lambda expressions for methods that already have a name.
  • Default methods enable new functionality to be added to the interfaces of libraries and ensure binary compatibility with code written for older versions of those interfaces.
  • Repeating Annotations provide the ability to apply the same annotation type more than once to the same declaration or type use.
  • Type Annotations provide the ability to apply an annotation anywhere a type is used, not just on a declaration. Used with a pluggable type system, this feature enables improved type checking of your code.
  • Improved type inference.
  • Method parameter reflection.
  • Collections:
  • Classes in the new java.util.stream package provide a Stream API to support functional-style operations on streams of elements. The Stream API is integrated into the Collections API, which enables bulk operations on collections, such as sequential or parallel map-reduce transformations.
  • Performance Improvement for HashMaps with Key Collisions
  • Compact Profiles contain predefined subsets of the Java SE platform and enable applications that do not require the entire Platform to be deployed and run on small devices.
  • Security:
  • Client-side TLS 1.2 enabled by default
  • New variant of AccessController.doPrivileged that enables code to assert a subset of its privileges, without preventing the full traversal of the stack to check for other permissions
  • Stronger algorithms for password-based encryption
  • SSL/TLS Server Name Indication (SNI) Extension support in JSSE Server
  • Support for AEAD algorithms: The SunJCE provider is enhanced to support AES/GCM/NoPadding cipher implementation as well as GCM algorithm parameters. And the SunJSSE provider is enhanced to support AEAD mode based cipher suites. See Oracle Providers Documentation, JEP 115.
  • KeyStore enhancements, including the new Domain KeyStore type java.security.DomainLoadStoreParameter, and the new command option -importpassword for the keytool utility
  • SHA-224 Message Digests:
  • Enhanced Support for NSA Suite B Cryptography
  • Better Support for High Entropy Random Number Generation
  • New java.security.cert.PKIXRevocationChecker class for configuring revocation checking of X.509 certificates
  • 64-bit PKCS11 for Windows
  • New rcache Types in Kerberos 5 Replay Caching
  • Support for Kerberos 5 Protocol Transition and Constrained Delegation
  • Kerberos 5 weak encryption types disabled by default
  • Unbound SASL for the GSS-API/Kerberos 5 mechanism
  • SASL service for multiple host names
  • JNI bridge to native JGSS on Mac OS X
  • Support for stronger strength ephemeral DH keys in the SunJSSE provider
  • Support for server-side cipher suites preference customization in JSSE
  • JavaFX:
  • The new Modena theme has been implemented in this release. For more information, see the blog at fxexperience.com.
  • The new SwingNode class enables developers to embed Swing content into JavaFX applications. See the SwingNode javadoc and Embedding Swing Content in JavaFX Applications.
  • The new UI Controls include the DatePicker and the TreeTableView controls.
  • The javafx.print package provides the public classes for the JavaFX Printing API. See the javadoc for more information.
  • The 3D Graphics features now include 3D shapes, camera, lights, subscene, material, picking, and antialiasing. The new Shape3D (Box, Cylinder, MeshView, and Sphere subclasses), SubScene, Material, PickResult, LightBase (AmbientLight and PointLight subclasses) , and SceneAntialiasing API classes have been added to the JavaFX 3D Graphics library. The Camera API class has also been updated in this release. See the corresponding class javadoc for javafx.scene.shape.Shape3D, javafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResult, javafx.scene.SceneAntialiasing, and the Getting Started with JavaFX 3D Graphics document.
  • The WebView class provides new features and improvements. Review Supported Features of HTML5 for more information about additional HTML5 features including Web Sockets, Web Workers, and Web Fonts.
  • Enhanced text support including bi-directional text and complex text scripts such as Thai and Hindi in controls, and multi-line, multi-style text in text nodes.
  • Support for Hi-DPI displays has been added in this release.
  • The CSS Styleable* classes became public API. See the javafx.css javadoc for more information.
  • The new ScheduledService class allows to automatically restart the service.
  • JavaFX is now available for ARM platforms. JDK for ARM includes the base, graphics and controls components of JavaFX.
  • Tools:
  • The jjs command is provided to invoke the Nashorn engine.
  • The java command launches JavaFX applications.
  • The java man page has been reworked.
  • The jdeps command-line tool is provided for analyzing class files.
  • Java Management Extensions (JMX) provide remote access to diagnostic commands.
  • The jarsigner tool has an option for requesting a signed time stamp from a Time Stamping Authority (TSA).
  • Javac tool:
  • The -parameters option of the javac command can be used to store formal parameter names and enable the Reflection API to retrieve formal parameter names.
  • The type rules for equality operators in the Java Language Specification (JLS) Section 15.21 are now correctly enforced by the javac command.
  • The javac tool now has support for checking the content of javadoc comments for issues that could lead to various problems, such as invalid HTML or accessibility issues, in the files that are generated when javadoc is run. The feature is enabled by the new -Xdoclint option. For more details, see the output from running "javac -X". This feature is also available in the javadoc tool, and is enabled there by default.
  • The javac tool now provides the ability to generate native headers, as needed. This removes the need to run the javah tool as a separate step in the build pipeline. The feature is enabled in javac by using the new -h option, which is used to specify a directory in which the header files should be written. Header files will be generated for any class which has either native methods, or constant fields annotated with a new annotation of type java.lang.annotation.Native.
  • Javadoc tool:
  • The javadoc tool supports the new DocTree API that enables you to traverse Javadoc comments as abstract syntax trees.
  • The javadoc tool supports the new Javadoc Access API that enables you to invoke the Javadoc tool directly from a Java application, without executing a new process. See the javadoc what's new page for more information.
  • The javadoc tool now has support for checking the content of javadoc comments for issues that could lead to various problems, such as invalid HTML or accessibility issues, in the files that are generated when javadoc is run. The feature is enabled by default, and can also be controlled by the new -Xdoclint option. For more details, see the output from running "javadoc -X". This feature is also available in the javac tool, although it is not enabled by default there.
  • Internationalization:
  • Unicode Enhancements, including support for Unicode 6.2.0
  • Adoption of Unicode CLDR Data and the java.locale.providers System Property
  • New Calendar and Locale APIs
  • Ability to Install a Custom Resource Bundle as an Extension
  • Deployment:
  • For sandbox applets and Java Web Start applications, URLPermission is now used to allow connections back to the server from which they were started. SocketPermission is no longer granted.
  • The Permissions attribute is required in the JAR file manifest of the main JAR file at all security levels.
  • Date-Time Package:
  • a new set of packages that provide a comprehensive date-time model.
  • Scripting
  • Nashorn Javascript Engine
  • Pack200:
  • Pack200 Support for Constant Pool Entries and New Bytecodes Introduced by JSR 292
  • JDK8 support for class files changes specified by JSR-292, JSR-308 and JSR-335
  • IO and NIO:
  • New SelectorProvider implementation for Solaris based on the Solaris event port mechanism. To use, run with the system property java.nio.channels.spi.Selector set to the value sun.nio.ch.EventPortSelectorProvider.
  • Decrease in the size of the /jre/lib/charsets.jar file
  • Performance improvement for the java.lang.String(byte[], *) constructor and the java.lang.String.getBytes() method.
  • java.lang and java.util Packages
  • Parallel Array Sorting
  • Standard Encoding and Decoding Base64
  • Unsigned Arithmetic Support
  • JDBC:
  • The JDBC-ODBC Bridge has been removed.
  • JDBC 4.2 introduces new features.
  • Java DB:
  • JDK 8 includes Java DB 10.10.
  • Networking
  • The class java.net.URLPermission has been added.
  • In the class java.net.HttpURLConnection, if a security manager is installed, calls that request to open a connection require permission.
  • Concurrency:
  • Classes and interfaces have been added to the java.util.concurrent package.
  • Methods have been added to the java.util.concurrent.ConcurrentHashMap class to support aggregate operations based on the newly added streams facility and lambda expressions.
  • Classes have been added to the java.util.concurrent.atomic package to support scalable updatable variables.
  • Methods have been added to the java.util.concurrent.ForkJoinPool class to support a common pool.
  • The java.util.concurrent.locks.StampedLock class has been added to provide a capability-based lock with three modes for controlling read/write access.
  • Java XML - JAXP
  • HotSpot:
  • Hardware intrinsics were added to use Advanced Encryption Standard (AES). The UseAES and UseAESIntrinsics flags are available to enable the hardware-based AES intrinsics for Intel hardware. The hardware must be 2010 or newer Westmere hardware. For example, to enable hardware AES, use the following flags:
  • XX:+UseAES -XX:+UseAESIntrinsics
  • To disable hardware AES use the following flags:
  • XX:-UseAES -XX:-UseAESIntrinsics
  • Removal of PermGen.
  • Default Methods in the Java Programming Language are supported by the byte code instructions for method invocation.
  • Java Mission Control 5.3:
  • JDK 8 includes Java Mission Control 5.3.

New in Java JRE 7 Update 51 (Jan 15, 2014)

  • JavaFX Release Notes:
  • JavaFX is now part of JDK. JDK 7u51 release includes JavaFX version 2.2.51.
  • New Features and Changes:
  • Jarsigner updated to encourage timestamping
  • Timestamping for a signed jar is now strongly recommended. The Jarsigner tool will print out an informational warning at signing or verifying when timestamp is missing.
  • Changes to Security Slider:
  • The following changes to Security Slider were included in this release(7u51)
  • Block Self-Signed and Unsigned applets on High Security Setting
  • Require Permissions Attribute for High Security Setting
  • Warn users of missing Permissions Attributes for Medium Security Setting
  • Change in Default Socket Permissions:
  • The default socket permissions assigned to all code including untrusted code have been changed in this release. Previously, all code was able to bind any socket type to any port number greater than or equal to 1024. It is still possible to bind sockets to the ephemeral port range on each system. The exact range of ephemeral ports varies from one operating system to another, but it is typically in the high range (such as from 49152 to 65535). The new restriction is that binding sockets outside of the ephemeral range now requires an explicit permission in the system security policy.
  • Most applications using client tcp sockets and a security manager will not see any problem, as these typically bind to ephemeral ports anyway. Applications using datagram sockets or server tcp sockets (and a security manager) may encounter security exceptions where none were seen before. If this occurs, users should review whether the port number being requested is expected, and if this is the case, a socket permission grant can be added to the local security policy, to resolve the issue.
  • Change in JAXP Xalan Extension Functions:
  • In JDK 7u51, a change has been made in JAXP Xalan Extension functions to always use the default DOM implementation when Security Manager is present. This change affects the NodeSet created by DOM Document.
  • Before this change, the DOM implementation is located through the DOM factory lookup process. With this change, when security is enabled, the lookup process is skipped and the default DOM implementation is used.
  • This change will only affect those applications that use a 3rd party DOM implementation. In general, the NodeSet structure is expected to be compatible with that of the JDK default implementation.
  • Bug fixes:
  • Thread contention in the method Beans.IsDesignTime()
  • (tz) Support tzdata2013h
  • Memory leak when GCNotifier uses create_from_platform_dependent_str()
  • Certificate based DRS rule does not work when main jar is in nested resource block or extension
  • Deadlock in caching code launching application with a large number of jars (~100).
  • Properly configured LiveConnect Applets must work even on JREs below the baseline by default
  • ESL not working for JNLP applications without an href
  • Applets don't get loaded and the Firefox crashes under Mac OS X
  • liveconnect dialog is showing the publisher unknown
  • Warning message appears in all the jar files not only the main jar file
  • REGRESSION:NPE exception throws when Java Web start apps fails with no logging
  • com.sun.corba.se.** should be on restricted package list
  • serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45
  • ORB.init fails with SecurityException if properties select the JDK default ORB
  • Need to strip leading zeros in TlsPremasterSecret of DHKeyAgreement
  • XML readers share the same entity expansion counter
  • Revise fix for XML readers share the same entity expansion counter

New in Java JRE 7 Update 45 (Oct 16, 2013)

  • Blacklist Entries:
  • This update release includes a blacklist entry for a standalone JavaFX installer.
  • JavaFX Release Notes:
  • JavaFX is now part of JDK. JDK 7u45 release includes JavaFX version 2.2.45.
  • JDK for Linux ARM:
  • A JDK for Linux ARM is also available in this release.
  • New Features and Changes:
  • Protections Against Unauthorized Redistribution of Java Applications:
  • Starting with 7u45, application developers can specify new JAR manifest file attributes:
  • Application-Name: This attribute provides a secure title for your RIA.
  • Caller-Allowable-Codebase: This attribute specifies the codebase/locations from which JavaScript is allowed to call Applet classes.
  • JavaScript to Java calls will be allowed without any security dialog prompt only if:
  • JAR is signed by a trusted CA, has the Caller-Allowable-Codebase manifest entry and JavaScript runs on the domain that matches it.
  • JAR is unsigned and JavaScript calls happens from the same domain as the JAR location.
  • The JavaScript to Java (LiveConnect) security dialog prompt is shown once per Applet classLoader instance.
  • Application-Library-Allowable-Codebase: If the JNLP file or HTML page is in a different location than the JAR file, the Application-Library-Allowable-Codebase attribute identifies the locations from which your RIA can be expected to be started.
  • If the attribute is not present or if the attribute and location do not match, then the location of the JNLP file or HTML page is displayed in the security prompt shown to the user.
  • Note that the RIA can still be started in any of the above cases.
  • Restore Security Prompts:
  • A new button is available in the Java Control Panel (JCP) to clear previously remembered trust decisions. A trust decision occurs when the user has selected the Do not show this again option in a security prompt. To show prompts that were previously hidden, click Restore Security Prompts. When asked to confirm the selection, click Restore All. The next time an application is started, the security prompt for that application is shown.
  • JAXP Changes:
  • Starting from JDK 7u45, the following new processing limits are added to the JAXP FEATURE_SECURE_PROCESSING feature.
  • totalEntitySizeLimit
  • maxGeneralEntitySizeLimit
  • maxParameterEntitySizeLimit
  • TimeZone.setDefault Change:
  • The java.util.TimeZone.setDefault(TimeZone) method has been changed to throw a SecurityException if the method is called by any code with which the security manager's checkPermission call denies PropertyPermission("user.timezone", "write"). The new system property jdk.util.TimeZone.allowSetDefault (a boolean) is provided so that the compatible behavior can be enabled. The property will be evaluated only once when the java.util.TimeZone class is loaded and initialized.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities.
  • Known Issues:
  • Area: Deployment/PlugIn
  • Synopsis: JavaScript-> Java (LiveConnect) call fails silently if JavaScript/HTML and unsigned JAR/class files comes from different codebase host.
  • If the portion of the codebase that specifies the protocol, host, and port, are not the same for the unsigned JAR file (or class files) as for the JavaScript or HTML, the code will fail without a mixed code dialog warning.
  • You can work around this using one of the following approaches:
  • Put the JAR files (or class files) and the HTML/JavaScript on the same host.
  • Sign the JAR files. (Self signed can cause the LiveConnect dialog to show already; or add a manifest file that specifies the Caller-Allowable-Codebase attribute.)
  • Use the Deployment Rule Set (DRS) to allow the app and HTML to run without a warning.
  • When specifying the codebase, using the Caller-Allowable-Codebase attribute or the Deployment Rule Set, make sure to list the domain where the JavaScript/HTML is hosted.
  • Area: Deployment/Plugin
  • Synopsis: Using the family CLSID to trigger loading of an applet does not work with certain JRE family versions.
  • If you use the family CLSID to trigger loading of an applet with a certain JRE family version, the family CLISD will be ignored and the latest JRE version installed on your system is used to load the applet instead. Family CLSID is specific to Internet Explorer. The workaround is to use the java_version applet parameter or the version attribute of the Java element in JNLP file instead.
  • Area: Deployment/Plugin
  • Synopsis: Certificate-based DRS rule does not work when main JAR is in nested resource block
  • The certificate-based Deployment Rule Set rule does not work properly for JNLP applications when the main JNLP file has no JAR files, or all JAR files are in nested resource blocks nested in or elements.
  • Area: Deployment/Plugin
  • Synopsis: Caller-Allowable-Codebase may be ignored when used with Trusted-Library.
  • If a trusted, signed jar is using the Caller-Allowable-Codebase manifest attribute along with Trusted-Library then the Caller-Allowable-Codebase manifest entry will be ignored and, as a result, a JavaScript -> Java call will show the native LiveConnect warning. The workaround is to remove the Trusted-Library manifest entry.
  • Area: Deployment/Plugin
  • Synopsis: Applet could fail to load by throwing NPE if pack compression is used with deployment caching disabled.
  • If a JAR file is using pack compression with manifest entries Permissions and Caller-Allowable-Codebase while deployment caching is disabled, then:
  • The Permissions manifest entry will be ignored. (This can be seen from the fact that yellow warning is there on security dialog even though the Permissions attribute is there.) This only happens if Caller-Allowable-Codebase attribute is present along with the Permissions attribute.
  • The Caller-Allowable-Codebase attribute will cause the applet to fail to load by throwing a java.lang.NullPointerException.
  • If you want to use pack compression with the Caller-Allowable-Codebase attribute, there are two possible workarounds:
  • Enable caching and all issues listed will disappear.
  • Do not use the pack property jnlp.packEnabled=true while deploying the applets using Caller-Allowable-Codebase and premissions property. Instead use the ContentType servlet for serving the pack files.
  • Area: Deployment/Plugin
  • Synopsis: Non-JNLP trusted applet fails to load using the file:\\ URL.
  • Local trusted applets that do not deploy using a JNLP file will fail to load by throwing a java.lang.NullPointerException. You can work around this issue by using one of the following methods:
  • Use a JNLP file to launch the applet.
  • Try loading the applet over HTTP or HTTPS.
  • Area: Deployment/Plugin
  • Synopsis: JNLP applet fails to load if using JNLP versioning.
  • Due to this bug, if you are using the jnlp.versionEnabled property for JAR versioning in your browser applet, your applet might not start. Also users might see a yellow warning about a missing Permissions attribute in the following two scenarios:
  • The jnlp.versionEnabled property is set to false inside the JNLP file and the version is defined against the main jar.
  • You use JNLPDownloadServlet for version download support.
  • The workaround is to either not use versioning via jnlp.versionEnabled, or to use the JNLPDownloadServlet servlet for version support instead.

New in Java JRE 7 Update 40 (Sep 11, 2013)

  • NEW FEATURES AND CHANGES:
  • Deployment Rule Set
  • Option to disable the "JRE out of date" warning
  • New Security Warnings for Unsigned and Self-Signed Applications
  • Local Applets return NULL for DocumentBase
  • JAXP Security Improvements
  • Default x.509 Certificates Have Longer Key Length
  • BUG FIXES:
  • Printing an image using AUTOSENSE fails to print
  • Edits to text components hang for clipboard access
  • NPE in sun.font.FontConfigManager.getFontConfigFont() when libfontconfig.so is not installed
  • Unix printing does not check the result of exec'd lpr/lp command
  • Use POSIX compliant include file headers in sun/awt/medialib/mlib_types.h
  • Potential memory leak in error handling code in X11SurfaceData.c
  • Dependency on non-POSIX header file causes portability problem
  • [OGL] Incorrect alpha used, during blit from SW to the texture.
  • Graphics2D.drawPolygon() fails with IllegalPathStateException
  • Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform.
  • JDK7 Printing : CJK and Latin Text in a string overlap.
  • PrintServiceLookup.lookupPrintServices() does not return consistent result
  • Memory leak when kerning is used on Windows
  • Text is not rendered correctly if destination buffer is custom
  • Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException
  • [macosx] NSView-based implementation of sun.awt.EmbeddedFrame
  • Need utils api/field which determines the dead key
  • [macosx] awt.FileDialog doesn't respond appropriately for mac when selecting folders
  • Frame size does not follow font size change with XToolkit
  • Regression : Cannot use IME on JComboBox Japanese(7026055) II
  • [macosx] Objective-C exception thrown when switching monitor configuration
  • [macosx] Make LWAWT be able to run on AppKit thread
  • [macosx] jawt_md.h shipped with jdk is outdated
  • The code example in javadoc of Component.java misses 'implements' keyword
  • Pressing the Enter key results in an alert tone beep when focus is TextField
  • [macosx] closed/java/awt/Button/DoubleActionEventTest/DoubleActionEventTest failed since jdk8b49
  • [macosx] Implement dead key detection for KeyEvent
  • Using modifiers for the dead key detection on Windows
  • [macosx] Painting during resizing of the frame should be more smooth
  • [macosx] Dead keys handling for input methods
  • Setting cursor on DragSourceContext does not work on OSX
  • Diacritic is not applyed to a base letter on Linux
  • [macosx] Button painting error under Java 7 on Mac
  • [macosx] Blurry rendering with Java 7 on Retina display
  • [macosx] JVM crash after disconnecting from projector
  • A crash in ToolkitErrorHandler() in XlibWrapper.c
  • [macosx] Drag and Drop: wrong animation when dropped outside any drop target.
  • [macosx] Evaluate if checking for the -XstartOnFirstThread is still needed in awt.m
  • Java 7 on mac os x only provides text clipboard formats
  • [macosx] Printer Dialog opens an additional title bar
  • JComboBox.showPopup(), hidePopup() fails in JRE 1.7 on OS X
  • Unify LWCToolkit.invokeAndWait() and sun.awt.datatransfer.ToolkitThreadBlockedHandler
  • [macosx] Deadlock in drag and drop
  • Failure in 2D Queue Flusher thread on Mac
  • [macosx] DisplayChangedListener is not implemented in LWWindowPeer/CGraphicsEnvironment
  • [macosx] SWT app freeze when going full screen using Java 7 on Mac
  • [macosx] AWT accidentally disables the NSApplicationDelegate of SWT, causing loss of OS X integration functionality
  • [x11] Modal dialogs for fullscreen window may show behind its owner
  • Regression: Focus issues with Oracle WebCenter Capture applet
  • [macosx] Application launched via custom URL Scheme does not receive URL
  • [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6
  • [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread
  • [macosx] Incorrect merge in the lwawt code.
  • [macosx] applets with Drag and Drop fail with IllegalArgumentException
  • JavaFX scene included in Swing JDialog not starting from Web Start
  • Setter not found. PropertyDescriptor(PropertyDescriptor,PropertyDescriptor)
  • PropertyDescriptor Performance Slow (continue)
  • java.beans.Introspector misses write methods
  • Introspector overide PropertyDescriptor for generic type field defined in super class
  • Java Bean Persistence with XMLEncoder
  • XMLEncoder in 1.7 can't encode objects initialized in no argument constructor
  • accessibility.properties syntax issue
  • OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances
  • RFE: JComboBox shouldn't sending ActionEvents for keyboard navigation
  • Text in multi-row/col JTabbedPane tabs can be truncated/clipped
  • JColor Chooser is not fully accessible
  • Null Arrow Button Throws Exception in BasicComboBoxUI
  • Vector could be created with appropriate size in DefaultComboBoxModel
  • NPE at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection
  • JTextField and JTextArea does not support supplementary characters
  • possible hardcoded mnemonic for JFileChooser metal and motif l&f
  • The file list in JFileChooser does not have an accessible name
  • When running with the Nimbus look and feel, the JFileChooser does not display mnemonics
  • DnD fails with JTextArea and JTextField
  • Regression : JDK 7 : NullPointerException when sorting JTable with empty cell
  • If you wrap a JTable in a JLayer you can't use the page up and page down cmds
  • Focus on image icons are not visible in javaws cache with high contrast mode
  • Wrong tooltip location in Multi-Monitor configurations
  • [macosx] No animation on certain Swing components in Aqua LaF
  • Unable to view focus in Non-Editable TextArea
  • [macosx] IconifyTest of RepaintManager could use some delay
  • JTextField doesn't get focus or loses focus forever
  • java.awt.Component.hide() does not repaint parent component
  • Editable TextArea/TextField are blocking GUI applications from exit
  • ComboBox does not display focus outline in GTK L&F
  • JCK Swing interactive test JScrollBarTest0013 fails with Nimbus and GTK L&Fs
  • [macosx] White-on-yellow "Got Milk?" tooltip in SwingSet2 is empty.
  • Hang javasoft.sqe.tests.api.javax.swing.Timer.Ctor2Tests
  • Invalid MouseEvent conversion with SwingUtilities.convertMouseEvent
  • [macosx] NPE in AquaComboBoxUI since jdk7u6b17, jdk8b47
  • JTable's AccessibleJTable throws IllegalComponentStateException instead of null
  • JColorChooser swatch cannot accessed from keyboard
  • [macosx] Full Screen option missing when Window.documentModified
  • FileChooser crashs when opening large folder
  • Possible mnemonic issue on JFileChooser Save button on nimbus L&F
  • fix failed for 7160951: [macosx] ActionListener called twice for JMenuItem using ScreenMenuBar
  • JTree scrolling problem when using large model in WindowsLookAndFeel.
  • NullPointerException in BasicTreeUI.Actions when getPathBounds returns null
  • NPE in WindowsTreeUI.ensureRowsAreVisible
  • [macosx] HiDPI support in Aqua L&F
  • JTable passes row index instead of length when inserts selection interval
  • [macosx] Closing subwindow loses main window menus.
  • [macosx] ActionListener called twice for JMenuItem using ScreenMenuBar
  • Null pointer exception when adding more than 9 accelators to a JMenuBar
  • File.isHidden() should return true for pagefile.sys and hiberfil.sys
  • File and other classes in java.io do not handle embedded nulls properly
  • WinNTFileSystem_md.c should correctly check value returned from realloc
  • java.io.File.createTempFile enters infinite loop when passed invalid data
  • getFinalAttributes should use FindClose
  • NegativeArraySizeException while initializing class IntegerCache
  • Terminator.setup should ignore IAE when registering signal handlers
  • Reinstate accidentally removed sleep() from ProcessBuilder/Basic.java
  • (props) sun.jnu.encoding should be set to UTF-8 [macosx]
  • (process) Strict validation of input should be security manager case only [win]
  • Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries
  • JSR 292 method handle creation should not go through JNI
  • JSR 292 method handle proxy violates contract for Object methods
  • JSR 292: JDK performance tweaks
  • sun.reflect.Reflection.getCallerClass returns the wrong stack frame
  • NetworkInterface#getDisplayName() method returns wrong encoding for Japanese OS
  • CookieStore.add() cannot handle null URI parameter, contrary to the API specification
  • NetworkInterface.getNetworkInterfaces() may return corrupted results on linux
  • Crash in net.dll
  • InetAddress.isReachable() should return false if sendto fails with EHOSTUNREACH
  • InetAddress.isReachable should support pinging 0.0.0.0
  • Update error message to distinguish native OOM and java OOM in net
  • Crash due to missing synchronization on gconf_client in DefaultProxySelector.c
  • NetworkInterface getFlags implementation should support full integer bit range for flags value
  • Proxy-Connection headers set incorrectly when a HttpClient is retrieved from the Keep Alive Cache
  • Make sure that a connection is still alive when retrieved from KeepAliveCache in certain cases
  • Java.net.httpcookie api does not support 2-digit year format
  • HttpURLConnection.filterHeaderField method returns null where empty string is expected
  • HttpClient available() check throws SocketException when connection has been closed
  • sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
  • Performance regression with ftp protocol when uploading in image mode
  • Heap corruption with NetworkInterface.getByInetAddress() and long i/f name
  • (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps
  • (dc) Include-mode filtering of IPv6 sources does not block datagrams on Linux
  • (fs) lookupPrincipalByName/lookupPrincipalByGroupName should treat ESRCH as not found.
  • (fs) Unix file system provider should be buildable on platforms that don't support O_NOFOLLOW
  • (se) AbstractSelectableChannel.register and configureBlocking not safe from asynchronous close
  • (fc) Add EACCES check to the return of fcntl native method
  • (dc) DatagramDispatcher.c should memset msghdr to make it portable to other platforms
  • (zipfs) FileSystems.newFileSystem(uri, env) fails for uri with escaped octets
  • (zipfs) SeekableByteChannel to entry in zip file always reports its position as 0
  • (se) EPollArrayWrapper.c no longer needs to define epoll data structures
  • (fs) Files.isReadable slow on Windows
  • (se) Selector based on the Solaris event port mechanism
  • (fs) Method name sun.nio.fs.UnixPath.getPathForExecptionMessage is misspelled
  • (bf) CharBuffer.put(String,int,int) modifies position even if BufferOverflowException thrown
  • (fs) Files.isWritable method returns false when the path is writable (win)
  • (fs) UnixNativeDispatcher.getextmntent should be moved into platform specific code
  • (se) SelectionKey.interestOps does not defer changing the interest set to the next select [macosx]
  • (zipfs) Problems moving files between zip file systems
  • (se) Selector spin when select, close and interestOps(0) invoked at same time (lnx)
  • (fs) Files.createDirectory fails if the resoved path is exactly 248 characters long
  • (fc) Thread.interrupt triggers hang in FileChannelImpl.pread (win)
  • Many eudc characters are incorrectly mapped in MS936 and GBK converter
  • New constructor in sun.tools.java.ClassPath builds a path using File.separator instead of File.pathS
  • ClassCastException in TCPTransport.executeAcceptLoop
  • [Fmt-De] DecimalFormat produces wrong format() results when close to a tie
  • Performance improvement for DateFormatSymbols.getZoneIndex(String)
  • Regression : SimpleDateFormat incorrectly parses dates formatted with Z and z pattern letters
  • Regression in JDK 7 in Bidi implementation
  • (tz) Support tzdata2013d
  • EnumMap clone doesn't clear the entrySet keeping a reference to the original Map
  • Javadoc for WeakHashMap contains misleading advice
  • (prefs) user prefs not saved [macosx]
  • (coll) Optimize empty ArrayList and HashMap
  • HashMap.isEmpty is non-final, potential issues for get/remove
  • Race in FutureTask if used with explicit set and get ( not Runnable )
  • PriorityBlockingQueue keeps hard reference to last removed element
  • To use underlying platform's zlib library for Java zlib support
  • (pack200) JNI_GetCreatedJavaVMs needs additional checking
  • Move implementation of De/Inflater.getBytesRead/Writtten() to java from native
  • JAR file entry hash table uses too much memory (zip_util.c)
  • add isLoggable() check to doLog()
  • Improve PlatformLogger.isLoggable performance by direct mapping from an integer to Level
  • NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger
  • Restore the translated version of logging_xx.properties
  • (alt-rt) HashMap.clone implementation should be re-examined
  • Initialization bottleneck in Maps due to use of j.u.Random
  • (tz) Incorrect TimeZone display name when DST not applicable / disabled
  • Wrong comment for PL in LocaleISOData, 1989 forward Poland is Republic of Poland
  • Use long comparison in Rule.getRules().
  • Deadlock in jndi ldap connection cleanup
  • Java JNDI connection library on ldap conn is not honoring configured timeout
  • It should be possible to stop and start JMX Agent at runtime.
  • properties.putAll API may fail with ConcurrentModifcationException on multi-thread scenario
  • Memory monitor demo hangs the system if MemoryUsage obj returns -1 .
  • JDP packets containing ideographic characters are broken
  • Update awk scripts that check output from jps/jcmd
  • Protocol for discovery of manageable Java processes on a network
  • Delete OS dependent check in JdkFinder.getExecutable()
  • Need to be able to launch 'About Java' from command line
  • Invalid URL to GetJava web page could be formed in deployJava.js in some cases
  • LSP: LocalSecurityPolicy is initialized too soon
  • Setting trace level 5 in console does not enable all tracing.
  • DRS: certificate element algorithm is supposed to default to SHA-256
  • https dialog: 'More information' is open below the main dialog on Linux
  • DRS: Make ruleset element version attribute mandatory
  • firefox freeze with java.com version detect applet
  • User responsibilities are not updated with all clsid's with jre 6u32 and higher
  • REGRESSION: Security boxes appear 2 times with uppercase jnlp codebase
  • Multi JREs: Unable to use the selected version to load an non-jnlp applet
  • Remote debugging for applets in a browser is no longer working
  • The behavior after System.exit() is different between JRE 1.7_21 and JRE 1.7_17
  • REGRESSION:Fail to detect Java after upgrade to 7u25 on IE (PnP fails to register plugin in IE)
  • Plug-in does not report version
  • getdocument base should behave the same as getcodebase for file applets
  • Local Security Policy: Any "run" rule must have at least one application qualifier
  • JCP shows link to security policy when one doesn't exist
  • LSP: rename LocalSecurityPolicy (LSP) to DeploymentRuleSet (DRS)
  • Java Plugin Runtime parameter for setting classpath does not work
  • BasicService.showDocument() API fails to launch the browser in Windows XP
  • -XX:MaxGCPauseMillis value set in control panel is ignored by javaws
  • Unable to execute javaws -uninstall
  • Swing Event Thread does not use JNLP class loader
  • Remove old KERNEL code
  • Assert in c1_LIR.hpp incorrect wrt to number of register operands
  • dots are missed in the datetime for Slovanian
  • Venezuela current Currency should be Bs.F.
  • Implement vectorization optimizations in hotspot-server
  • Ideal() function for CmpLTMask
  • C2 doesn't inline java method if corresponding intrinsic failed to inline.
  • JVM needs direct access to some annotations
  • Register allocator may insert spill code at wrong insertion index
  • Lookupswitch and Tableswitch default branches not recognized as safepoints
  • JSR 292 method handle invocation needs a fast path for compiled code
  • Intrinsify AtomicLongFieldUpdater.getAndIncrement()
  • C2: Keep track of the number of dead nodes
  • Increase superword's vector size up to 256 bits
  • Crashes in ucrypto related to C2
  • assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 meet(t0) == t) failed: Not monotonic
  • stack overflow in C2 compiler thread on Solaris x86
  • JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
  • Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
  • JSR 292: C1 has old broken code which needs to be removed
  • JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
  • assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  • assert(false) failed: bad AD file
  • assert(is_aligned_sets(size)) failed: mask is not aligned, adjacent sets
  • C2: remove number of inputs requirement from Node's new operator
  • JSR 292: vm/mlvm/indy/stress/java/loopsAndThreads crashed
  • missing ResourceMark for assert in Method::bci_from()
  • TraceTypeProfile as diagnostic option
  • incorrect vector alignment
  • failed C1 OSR compile doesn't get recompiled with C2
  • add CodeComments functionality to assember stubs
  • C2: can't use expand rules for vector instruction rules
  • add vector for shift's count
  • NPG: SIGSEGV in Dependencies::DepStream::check_klass_dependency on solaris-x64
  • JSR 292: signature types may appear to be unloaded
  • C2 should use jlong for 64bit values
  • Improve adlc usability
  • remove LinkWellKnownClasses
  • JMM issue: short loads are non-atomic
  • JSR 292: C1 fails to call virtual method (JRUBY-6920)
  • remove ciMethod::will_link
  • C2: more general vector rule subsetting
  • incorrect results of char vectors right shift operaiton
  • assert(in_bb(n)) failed: must be
  • assert(VM_Version::supports_ssse3()) failed:
  • HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop
  • LogCompilation tool is broken since c1 support
  • Missing compiled exception handle table entry for multidimensional array allocation
  • Improve AES intrinsics on x86
  • clear high word for integer pop count on SPARC
  • pass outputStream to more opto debug routines
  • JSR 292: virtual dispatch bug in 292 impl
  • Improve intrinsics code performance on x86 by using AVX2
  • no message about inline method if it specifed by CompileCommand
  • use fast-string instructions on x86 for zeroing
  • Use 256bit YMM registers in arraycopy stubs on x86
  • C2: -XX:+PrintIntrinsics is broken
  • C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
  • LibraryCallKit::inline_array_copyOf disabled unintentionally with 7172640
  • C1: SIGSEGV w/ -XX:+LogCompilation
  • TraceTypeProfile is a product flag while it should be a diagnostic flag
  • C2 crash due to out of bounds array access in Parse::do_multianewarray
  • Incremental inlining mistakes some call sites for dead ones and doesn't inline them
  • ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
  • Code cleanup to remove Parfait false positive
  • C2: adding successful message of inlining
  • Use expensive node logic for more math nodes
  • Debugging code in compiled method sometimes leaks memory
  • C2compiler crash in machnode::in_regmask(unsigned int)
  • Print additional information for 8004640 failure.
  • Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates
  • guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
  • Zero: back port of 8000780 to HS24 broke JSR 292
  • Clear AVX registers after return from JNI call
  • Unsafe.getAndAddLong(obj, off, delta) does not work properly with long deltas
  • JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
  • During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
  • Different execution plan when using JIT vs interpreter
  • Crash when using -XX:+RestoreMXCSROnJNICalls
  • oop_verify_old_oop appears to be dead
  • par compact - add a table to speed up bitmap searches
  • Hotspot crashes if process size limit is exceeded
  • G1: use ergonomic resizing of PLABs
  • G1: remove per-GC-thread expansion tables from the fine-grain remembered sets
  • G1: introduce stress testing parameter to cause frequent evacuation failures
  • Testing 8 bytes of card table entries at a time speeds up card-scanning
  • G1: various small fixes, code cleanup, and refactoring
  • GC log is limited to 2G for 32-bit
  • G1: remove dead code after recent concurrent mark changes
  • G1: Remove G1ParCopyHelper
  • Generalize the CMS free list code
  • G1: Remove HeapRegion::_top_at_conc_mark_count
  • G1: Another instance of high GC Worker Other time (50ms)
  • G1: Back to back young GCs with the second GC having a minimally sized eden
  • G1: collection set chooser-related cleanup
  • G1: expose some of the -XX flags that drive which old regions to collect during mixed GCs
  • G1: hang in SurrogateLockerThread::manipulatePLL
  • PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages
  • wbapi tests fail on cygwin
  • G1: type change size_t -> uint for region counts / indexes
  • stress: jdk7 u4 core dumps during megacart stress test run
  • G1: Handle leak when running nsk.sysdict tests
  • VerifyRememberedSets doesn't work with CompressedOops
  • G1: Log GC Cause for a GC
  • Can't build on linux without precompiled headers
  • G1: Some Full GCs incorrectly report GC cause as "No GC"
  • Add gigabyte unit to proper_unit_for_byte_size() and byte_size_in_proper_unit()
  • CMS: Assertion failed with -XX:+ObjectAlignmentInBytes=64
  • LOG_G incorrectly defined in globalDefinitions.hpp
  • G1: Clean up TraceGen0Time and TraceGen1Time data gathering
  • G1: _total_full_collections should not be incremented for concurrent cycles
  • G1: java/lang/management/MemoryMXBean/CollectionUsageThreshold.java failes with G1
  • G1: Duplicated code in G1UpdateRSOrPushRefOopClosure::do_oop_nv()
  • Jvm crashed during coherence exabus (tmb) testing
  • 'Full GC' events miss date stamp information occasionally
  • G1: JVM crashes on T5-8 system with 1.5 TB heap
  • G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
  • G1: Fine grain RSet freeing bottleneck
  • G1: Incorrect assert in HeapRegionLinkedList::add_as_head()
  • G1: Prediction model discrepancies
  • Unable to allocate bit maps or card tables for parallel gc for the requested heap
  • The JVM should differentiate between T and M series and adjust GC ergonomics
  • G1: Extend fix for 6948537 to G1's BOT
  • G1: Make some develpflags available in product builds
  • os::javaTimeNanos() shows hot on CPU_CLK_UNHALTED profiles
  • G1: Assertion and guarantee failures in block offset table
  • java -d64 -version core dumps in a box with lots of memory
  • BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit shifts
  • G1: PrintReferenceGC output comes out of order
  • G1: Liveness counting inconsistencies during marking verification
  • G1: ParallelGCThreads==0 broken
  • Heap verification output incorrect/incomplete
  • G1: Rename certain G1-specific flags
  • G1: Change the default values for certain G1 specific flags
  • G1: Verbose GC output is not getting flushed to log file using JDK 8
  • G1: Cleanup serial reference processing closures in concurrent marking
  • G1: WorkerDataArray::verify() too strict for double calculations
  • G1: Number of marking threads missing from PrintFlagsFinal output
  • GC Cause equals No GC for CMS background collection in the trace GC event
  • ParNew sends the heap summary too early
  • G1: Too many old regions added to last mixed GC
  • G1: concurrent phase durations do not state the time units ("secs")
  • WRONG G1CONFIDENCEPERCENT RESULTS IN GUARANTEE(VARIANCE() > -1.0) FAILED
  • The trace event vm/gc/heap/summary is missing for CMS
  • Promotion failed tracing event for all GCs
  • G1: Evacuation failed tracing event
  • CMS: Concurrent mode failure tracing event
  • Reference statistics events for the tracing framework
  • Tracing events for heap statistics
  • Implement evacuation info event
  • Improve stats gathering code for reference processor
  • G1: Apache Lucene hang during reference processing
  • CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection
  • G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809
  • Prepare tracing of promotion failed for integration of evacuation failed
  • GC ID has the wrong type
  • PSParallelCompact::marking_phase should use instance GCTracer
  • Refactor HeapInspection to make it more reusable
  • G1: Crashes with -UseTLAB and heap verification
  • G1: Concurrent mode failure tracing event
  • G1: Eden occupancy/capacity output wrong after a full GC
  • Add tenuring threshold to young garbage collection events
  • The vm/gc/heap/heap_summary_after_gc event for CMS contains old data
  • The object count event should only send events for instances occupying more than 0.5% of the heap
  • CollectedHeap::ensure_parsability is not always called during heap inspection
  • G1: TemplateInterpreter do_oop_store passes a compressed oop to g1_write_barrier_post
  • Missing time and date stamps for PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime
  • ProblemList.txt : Exclude sun/tools/jmap/Basic.sh for short term
  • G1: GraphKit accesses PtrQueue::_index as int but is size_t
  • Garbage collection event for CMS has wrong cause for System.gc()
  • Parallelize string table scanning during strong root processing
  • object_count_after_gc should have the same timestamp for all events
  • Refactor the sending of the object count after GC event
  • GC id variable in gcTrace.cpp should use typedef GCId
  • G1: Use ArrayAllocator for BitMaps
  • G1: assert(_card_counts[card_num] 2G
  • NMT ON: Assertion failure when running jdi ExpiredRequestDeletionTest
  • NMT ON: Assertion failure when NMT checks thread's native stack base address
  • NMT ON: Aggregate a few NMT related bugs
  • NMT ON: "check by caller" assertion failed on nsk ThreadMXBean test
  • MachO decoder implementation for MacOSX
  • NMT ON: Merge failure should cause NMT to shutdown
  • Print statistic collected by NMT with VM flag
  • Optimized build is broken due to inconsistent use of DEBUG_ONLY and NOT_PRODUCT macros in NMT
  • Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
  • NMT: NMT needs to deal overlapped virtual memory ranges
  • Make NMT a bit friendlier to work with
  • jdwp and hprof code do not handle multiple sun.boot.library.path elements correctly
  • NMT: assertion failed: assert(_amount >= amt) failed: Just check: memBaseline.hpp:180
  • NMT to report JNI memory leaks when -Xcheck:jni is on
  • NMT: incorrect assertion in VMMemPointerIterator::remove_released_region method (memSnapshot.cpp)
  • Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
  • Stackoverflowerror thrown when thread stack straddles 0x8000000 in 32 bit jvms
  • correctness fixes motivated by contended locking work (6607129)
  • VMThread::execute() calls Thread::check_for_valid_safepoint_state() on concurrent VM ops
  • NMT: #loaded classes needs to just show the # defined classes
  • PrintNMTStatistics doesn't work for normal JVM exit
  • os::Bsd::initialize_system_info() sets _physical_memory too large
  • os::die() on solaris should generate core file
  • Crashed in promote_malloc_records() with Kitchensink after 19 days
  • Print outs do not have matching arguments
  • Mac OS X: JVM crash on infinite recursion on Appkit Thread
  • NMT: add new NMT dcmd to control auto shutdown option
  • NMT: Memory leak when encountering out of memory error while initializing memory snapshot
  • Missing ResourceMarks in TraceMethodHandles
  • Want to link against kstat on solaris x86 as well as sparc
  • Adjust number of stack guard pages on systems with large memory page size
  • NMT: reserve/release sequence id's in incorrect order due to race
  • reserve_and_align() assumptions are invalid on windows
  • NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state
  • SA: jstack -m produce failures in output
  • GarbageCollectorMXBean notification contains ticks vs millis
  • libsaproc debug print should be printed as unsigned long to fit large numbers on 64bit platform
  • SA throws ClassCastException for partially loaded ConstantPool
  • Need a mechanism to test the diagnostic framework parser
  • Servicability agent should work on platforms other than x86, sparc
  • Intrinsification support for tracing framework
  • libsaproc debug print should format size_t correctly on 64bit platform
  • Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand
  • Wrong filter predicate of visible locals in SA JSJavaFrame
  • jinfo failed to get system properties after 6924259
  • SA cannot get correct system properties after 7126277
  • SA: jstack -m produce UnalignedAddressException in output (Linux)
  • Possible JVM deadlock in ThreadTimesClosure when using HotspotInternal non-public API.
  • SA on windows thread inspection is broken
  • Jstack seems to output unnecessary information in 7u9
  • Add support for defining trace types in closed code
  • SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67)
  • JEP 167 tracing gives negative time stamps for certain event fields
  • EnableTracing prints garbage for Compilation: [Java Method
  • Trace event ExecuteVMOperation may get dangling pointer
  • Event based tracing is missing truncated field in stack trace content type
  • null check signal semaphore in os::signal_notify windows
  • Need to be able to access Performance counter by name from JVM
  • SA can hang the VM
  • SA on OS X does not stop the attached process
  • Event tracing for code cache subsystems can give wrong timestamps
  • missing define OPENJDK for windows builds
  • Replace spin loops as back off when suspending
  • Make TracingTime available when INCLUDE_TRACE = 0
  • Assign the unique traceid directly to the Klass upon creation
  • Thread-local trace_buffer has wrong type and name
  • Decrease lock order rank for event tracing locks
  • Default JDP address does not match the one assigned by IANA
  • EnableTracing: output from multiple threads may be mixed together
  • CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database
  • Remove superfluous EnableInvokeDynamic warning from UnlockDiagnosticVMOptions check
  • Event based tracing needs a UNICODE string type
  • Event based tracing is missing thread exit
  • hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
  • Race in runtime/NMT/BaselineWithParameter.java
  • Need to add "Java" items to Windows Start Menu
  • Vendor in rpm packages is still Sun Microsystems
  • JRE uninstall does not recover jarfile reg entry on 64bit systems
  • [IPS] Change the license line width to 72 characters
  • NLS: Relocate untranslatable resources from translatable rc files
  • JCP - (TM) is not removed from Java(TM) Update
  • drop installer.dll in the jre bin dir, so it's up-to-date during uninstall after PnP
  • MacOS AU needs to support a scheduled update check
  • Typo, wrong Symlink path to JavaControlPanel.prefPane
  • jre installer for MacOS - first character "J" for Java is dropped in Japanese "welcome" message
  • NLS: Need to update the translation for the sdk installer
  • Mac Installer should invoke verify page after install completes
  • jfxrt.jar should be pack200 compressed
  • Incomplete Java VisualVM installation
  • Automate the generation of rtfd files at build time
  • Update information link in the Windows Control Panel entry for Java still points to java.sun.com
  • init installed by jdk v1.7.0_17 rpm on linux is broken; correction included
  • wrapper.jreboth target missed with push for 8016471
  • [corba] idlj generates read/write union helper methods that throw wrong exception in some cases
  • CORBA boolean type unions do not generate compilable code from idlj
  • Race condition in CORBA code causes re-use of ABORTed connections
  • Update JDK7 with Java DB 10.8.3.0
  • MacOSX build error : cast of type 'SEL' to 'uintptr_t' (aka 'unsigned long') is deprecated; use sel_getName instead
  • PSR:PERF Increase default string table size
  • Time-specific certpath validation applies to OCSP response validity period
  • Arrayindexoutofboundsexception for jce decrypting
  • keytool -genkeypair needn't call -selfcert
  • jarsigner needs not warn about cert expiration if the jar has a TSA timestamp
  • Krb5LoginModule no longer handles keyTabNames with "file:" prefix
  • Dependency on non-POSIX header file causes portability problem
  • NPE in sun.security.krb5.Credentials.acquireDefaultCreds()
  • ArrayIndexOutOfBoundsException from Signature.verify
  • [macosx] Need to read Kerberos config in files
  • FileKeyTab.java test fails on Windows
  • Krb5LoginModule shows NPE when both useTicketCache and storeKey are set to true
  • jarsigner fails when TSA response contains a status string
  • OCSP timeout set to wrong value if com.sun.security.ocsp.timeout not defined
  • Unknown CertificateChoices
  • Accept unknown PKCS #9 attributes
  • Valid OCSP responses are rejected for backdated enquiries
  • Non optimized initialization of NSS crypto library leads to scalability issues
  • Add Makefile configuration option to build with unlimited crypto in OpenJDK.
  • SSLSocket connect times out instead of throwing socket closed exception
  • CertificateRequest message is wrapping when using large numbers of Certs
  • SASL: auth-conf negotiated, but unencrypted data is accepted, reset to unencrypt
  • XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated
  • Krb5LoginModule config class does not return proper KDC list from DNS
  • ktab creates a file with zero kt_vno
  • jar tool fails to convert file separation characters for list and extract
  • javac fails to compile an apparently valid class/interface combination
  • Crash when compiling for(i : x) try(AutoCloseable x = ...) {}
  • javac NullPointerException for switch labels with cast to String expressions
  • Javac compiler error - synthetic method accessor generated with duplicate name
  • overload resolution: performance regression in JDK 7
  • docencoding not available to stylesheet
  • javah error "Not a valid class name" on class names with dollar signs
  • Disconnect button leads to wrong popup message
  • Online user guide of jconsole points incorrect link
  • java -jar -XX crashes java launcher
  • Include pthread.h on all POSIX platforms except Solaris to improve portability
  • [launcher] removes multiple back slashes
  • Integrate new version of Java VisualVM based on VisualVM 1.3.5 into 7u14
  • Redundant setting of external access properties in setFeatures
  • DocumentBuilder.parse(String uri) is not IPv6 enabled. It throws MalformedURLException
  • Issue in com.sun.org.apache.xml.internal.serializer.Encodings causes some JCK tests to fail intermittently
  • port fix for BCEL bug 39695 to our copy bundled as part of jaxp
  • More warnings compiling jaxp
  • Improve JAXP 1.5 error message
  • Property http://javax.xml.XMLConstants/property/accessExternalDTD is not recognized.
  • SPECJVM2008 has errors introduced in 7u40-b34

New in Java JRE 7 Update 25 (Jun 19, 2013)

  • ENHANCEMENTS AND CHANGES:
  • Certificate Revocation:
  • Before signed Java applets and Java Web Start applications are run, the signing certificate is checked to ensure that it has not been revoked. Advanced options in the Java Control Panel(JCP) can be set to manage the checking process. For more information on these options, see the Advanced section of the Java Control Panel documentation.
  • Under normal circumstances revocation checking will have a slight impact on startup performance for applets and web start applications. Enterprises with managed networks and without access to the Internet (resulting in no access to the revocation services provided by Certificate Authorities) will see a significant delay in startup times.
  • To avoid such delay, they may choose to disable on line revocation checking through the JCP. Note that disabling on line revocation checking should only be considered in managed environments as it decreases security protections.
  • New JAR Manifest File Attributes:
  • JDK 7u25 release introduces the permissions and codebase attributes in the JAR Manifest File. These attributes are used to verify that the application is requesting the correct permissions level and is accessed from the correct location.
  • Developers are advised to utilize at least the new permissions attribute, and if possible the codebase attribute as well. In future releases, applications that do not include these protections may be blocked or subjected to additional warning dialogs.
  • Best Practices for Applet & Web Start Deployment:
  • As a result of various security changes and improvements, the following best practices are recommended for Applet and Web Start deployment:
  • Sign all JAR files using a Public Key Code Signing Certificate.
  • In the application jar manifest file include the permissions keyword with the desired permissions level, and if possible the codebase attribute as well.
  • LiveConnect Blocked under Some Conditions:
  • LiveConnect calls from JavaScript to Java API are blocked when the Java Control Panel security slider is set to Very High level, or when the slider is at the default High level and the JRE has either expired or is below the security baseline.
  • New property for Secure Validation of XML:
  • To avoid potential security issues with XML signatures, a secure validation mode has been added whereby signatures that contain potentially hostile constructs are rejected and not processed.
  • For this purpose, the following new private property is added to the JDK: org.jcp.xml.dsig.secureValidation
  • The property can be set by an application by calling the setProperty method of the javax.xml.crypto.dsig.dom.DOMValidateContext class with the name of the property above and a Boolean value.
  • When set to true, this property instructs the implementation to process XML signatures more securely. This will set limits on various XML signature constructs to avoid conditions such as denial of service attacks.
  • When not set, or set to false, the property instructs the implementation to process XML signatures according to the XML Signature specification without any special limits.
  • If a SecurityManager is enabled, the property is set to true by default.
  • Java API Documentation Updater Tool:
  • To address CVE-2013-1571, users hosting publicly facing Java API Documentation generated with javadoc 5u45, 6u45, 7u21 or earlier are strongly encouraged to re-create the Java API documentation using javadoc from 7u25 or above.
  • Alternatively, for convenience of users and for those who have further modified the generated documentation, Oracle provides the Java API Documentation Updater, a repair-in-place tool.
  • Source code is available with the download if you have a non-standard environment. The Java API Documentation Updater Tool is a separate download and not included in any JDK/JRE bundles. Please also see important information related to the javadoc tool in the Known Issues section.
  • Help for Security Dialogs:
  • A More Information link is added to the various security dialogs that may pop up prior to launching an applet or Java Web Start as a means for the user to get more information about the dialog.
  • Changes to Runtime.exec:
  • On the Windows platform, the decoding of command strings specified to java.lang.ProcessBuilder and the exec methods defined by java.lang.Runtime, has been made stricter since JDK 7u21. This may cause problems for applications that are using one or more of these methods with commands that contain spaces in the program name, or are invoking these methods with commands that are not quoted correctly. For more information see JDK 7u21 Release Notes.
  • In JDK 7u25, the system property jdk.lang.Process.allowAmbigousCommands can be used to relax the checking process and may be used as a workaround for some applications that are impacted by the stricter validation. The workaround is only effective for applications that are run without a security manager. To use this workaround, either the command line should be updated to include -Djdk.lang.Process.allowAmbigousCommands=true or the java application should set the system property jdk.lang.Process.allowAmbigousCommands to true.
  • Quoting and escaping commands on Windows platform is complicated. The following examples may be useful to developers if they are impacted by the stricter validation.
  • BUG FIXES:
  • Area: deploy/plugin
  • Synopsis: In-consistent behavior with remote/local policy file with ALL permission.
  • Both signed and unsigned applets with local or remote policy files with ALL permissions were not behaving as expected.
  • The behavior was due to honoring JCP security levels.
  • Area: security-libs/java.security
  • Synopsis: Improve on checking order
  • The implementation of java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) and AccessController.doPrivileged(PrivilegedExceptionAction, AccessControlContext) have been modified to improve security.
  • Area: core-libs/java.util.logging
  • Synopsis: Remove the stack search for a resource bundle for Logger to use
  • The java.util.logging.Logger class no longer does stack walk search for a logger's resource bundle. The stack walk search was intended as a temporary measure to allow containers to transition to using the context class loader and was specified to be removed in a future release. It will use the thread context class loader (if not set, use the system class loader) to look up the resource bundle and, if not found, it will fall back to use the class loader of the caller class that creates the Logger instance (via the Logger.getLogger() and Logger.getAnonymousLogger() method with a given resource bundle name).

New in Java JRE 7 Update 21 (Apr 17, 2013)

  • Blacklisted Jars and Certificates:
  • Oracle now manages a certificate and jar blacklist repository. This data is updated on client computers daily on the first execution of a Java applet or web start application.
  • Changes to Java Control Panel's Security Settings:
  • In this release, low and custom settings are removed from the Java Control Panel(JCP)'s Security Slider. Depending on the security level set in the Java Control Panel and the user's version of the JRE, self-signed or unsigned applications might not be allowed to run. The default setting of High permits all but local applets to run on a secure JRE. If the user is running an insecure JRE, only applications that are signed with a certificate issued by a recognized certificate authority are allowed to run.
  • Changes to Security Dialogs:
  • As of JDK 7u21, JavaScript code that calls code within a privileged applet is treated as mixed code and warning dialogs are raised if the signed JAR files are not tagged with the Trusted-Library attribute.
  • The JDK 7u21 release enables users to make more informed decisions before running Rich Internet Applications (RIAs) by prompting users for permissions before an RIA is run. These permission dialogs include information on the certificate used to sign the application, the location of the application, and the level of access that the application requests. For more information, see User Acceptance of RIAs.
  • Changes to RMI:
  • From this release, the RMI property java.rmi.server.useCodebaseOnly is set to true by default. In previous releases the default value was false. This change of default value may cause RMI-based applications to break unexpectedly. The typical symptom is a stack trace that contains a java.rmi.UnmarshalException containing a nested java.lang.ClassNotFoundException.
  • Server JRE:
  • A new Server JRE package, with tools commonly required for server deployments but without the Java plug-in, auto-update or installer found in the regular JRE package, is available starting from this release. The Server JRE is specifically targeted for deploying Java in server environments and is available for 64-bit Solaris, Windows and Linux platforms. Some of the tools included in the initial release of the Server JRE package, may not be available in future versions of the Server JRE. Please check future release notes for tools availability if you use this package.
  • Changes to Runtime.exec:
  • On Windows platform, the decoding of command strings specified to Runtime.exec(String), Runtime.exec(String,String[]) and Runtime.exec(String,String[],File) methods, has been improved to follow the specification more closely. This may cause problems for applications that are using one or more of these methods with commands that contain spaces in the program name, or are invoking these methods with commands that are not quoted correctly.

New in Java JRE 7 Update 17 (Mar 5, 2013)

  • This Security Alert addresses security issues CVE-2013-1493 (US-CERT VU#688246) and another vulnerability affecting Java running in web browsers. These vulnerabilities are not applicable to Java running on servers, standalone Java desktop applications or embedded Java applications. They also do not affect Oracle server-based software.
  • These vulnerabilities may be remotely exploitable without authentication, i.e., they may be exploited over a network without the need for a username and password. For an exploit to be successful, an unsuspecting user running an affected release in a browser must visit a malicious web page that leverages these vulnerabilities. Successful exploits can impact the availability, integrity, and confidentiality of the user's system.

New in Java JRE 7 Update 15 (Feb 20, 2013)

  • Auto-update and update through Java Control Panel of JRE 6 will replace JRE 6 with JRE 7
  • Since JRE 6 has reached its End of Public Updates Oracle is taking steps to protect consumer desktops. We will not leave a version of Java installed for which we no longer provide security updates .
  • In order to do so, when updating from JRE 6, the update mechanism will not only install the latest version of JRE 7 but will also remove the highest version of JRE 6 on the system. This change will happen when the system is updated via the auto-update mechanism or by checking for updates directly from the Java Control Panel.
  • Users who need to keep a version of JRE 6 in their systems can do so by manually installing the latest version of JRE 7 rather than relying on auto-update or updates through the Java Control Panel.
  • If JRE 6 has already been removed from a system, but the user would like to restore it, earlier versions of Java can be accessed from the Java Archive.
  • Note that Oracle strongly recommends leaving only up-to-date versions of the JRE on desktops. Retaining an older version of the JRE in your systems should only be done by expert users or enterprise administrators with a need for those earlier versions and an understanding of the associated risks.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities.

New in Java JRE 7 Update 11 (Jan 14, 2013)

  • Bug Fixes:
  • This release contains fixes for security vulnerabilities. For more information, see Oracle Security Alert for CVE-2013-0422.
  • In addition, the following change has been made:
  • Area: deploy
  • Synopsis: Default Security Level Setting Changed to High
  • The default security level for Java applets and web start applications has been increased from "Medium" to "High". This affects the conditions under which unsigned (sandboxed) Java web applications can run. Previously, as long as you had the latest secure Java release installed applets and web start applications would continue to run as always. With the "High" setting the user is always warned before any unsigned application is run to prevent silent exploitation.

New in Java JRE 7 Update 9 (Oct 17, 2012)

  • Bug Fixes:
  • Porting fix for TimeZone from JDK 8 back to JDK 7
  • UnsatisfiedLinkError on PKCS11.C_GetOperationState while using NSS from jre7u6 +
  • XML Signature DOM implementation should not use instanceof to determine type of Node

New in Java JRE 7 Update 7 (Aug 31, 2012)

  • This release contains fixes for security vulnerabilities

New in Java JRE 7 Update 5 (Jun 13, 2012)

  • This release contains fixes for security vulnerabilities.
  • Notable Bug Fixes in JDK 7u5
  • This list includes some of the notable bug fixes in JDK 7u5.
  • Area: hotspot/runtime_arguments
  • Synopsis: Improve VM configuration file loading.
  • JDK 7u5 contains changes to the default implicit loading of the .hotspot_compiler and .hotspotrc file. For existing deployments which rely on .hotspot_compiler (e.g. to exclude a method from hotspot compilation), an unsupported behavioral option has been provided to simulate the old loading behavior.
  • Command line options to support old behavior:
  • XX:Flags=.hotspotrc
  • will revert to old behavior for .hotspotrc.
  • XX:CompileCommandFile=.hotspot_compiler
  • for the .hotspot_compiler file.

New in Java JRE 6 Update 33 (Jun 13, 2012)

  • Bug Fixes:
  • This release contains fixes for security vulnerabilities. For more information, see Oracle Java SE Critical Patch Update Advisory.
  • Notable Bug Fixes in JDK 6u33
  • This list includes some of the notable bug fixes in JDK 6u33.
  • Area: hotspot/runtime_arguments
  • Synopsis: Improve VM configuration file loading.
  • JDK 6u33 contains changes to the default implicit loading of the .hotspot_compiler and .hotspotrc file. For existing deployments which rely on .hotspot_compiler (e.g. to exclude a method from hotspot compilation), an unsupported behavioral option has been provided to simulate the old loading behavior.
  • Command line options to support old behavior:
  • XX:Flags=.hotspotrc
  • will revert to old behavior for .hotspotrc.
  • XX:CompileCommandFile=.hotspot_compiler
  • for the .hotspot_compiler file.

New in Java JRE 7 Update 4 (Apr 27, 2012)

  • New JVM (Java HotSpot Virtual Machine, version 23):
  • HotSpot 23 features JRockit JVM feature convergence. Some of the value-add features of the JRockit JVM are re-implemented in the HotSpot JVM. These features include:
  • Text dumps with buffered data: buffered JVM state information available in text crash dumps and core/mdmp
  • Diagnostics command framework (jcmd) and diagnostic commands
  • Enhanced JMX Agent
  • New Supported Garbage Collector: Garbage First (G1):
  • Starting in Java SE 7u4 the Garbage First Collector is fully supported. The G1 collector is targeted for applications that fully utilize the large amount of memory available in today's multiprocessor servers, while still keeping garbage collection latencies under control. Applications that require a large heap, have a big active data set, have bursty or non-uniform workloads or suffer from long Garbage Collection induced latencies should benefit from switching to G1.
  • JAXP upgraded to 1.4.6:
  • The new JAXP 1.4.6 version includes fixes for critical issues in the areas of conformance, performance, and regressions.
  • Java DB upgraded to 10.8.2.2
  • SPARC T4 specific crypto optimizations in the security area:
  • SPARC T4 contains on-chip(native) cryptographic implementations. These implementations can be accessed by Java applications utilizing either SunPKCS11-Solaris provider(available since Java SE 5.0 release) or OracleUcrypto Provider(new in 7u4 release).
  • The new OracleUcrypto Service Provider accesses the underlying native(T4) crypto library without going through the PKCS11 layer and is configured by default to be the most preferred provider for Solaris OS.
  • New flag to unlock Commercial Features:
  • The Java SE 7 Update 4 release introduces a new flag, -XX:+UnlockCommercialFeatures. This flag enables Oracle Java SE users to control when licensed features are allowed to run. All commercial features started or controlled via the command line or dynamically during execution will be gated by this flag. By default, commercial features are not allowed to execute, and any usage requires an active unlocking either on the command line or dynamically during runtime, to help remove any accidental usage.
  • Bug Fixes:
  • Area: java/classes_awt 4
  • Synopsis: [macosx] Document Usage of -XstartOnFirstThread and -Xdock.
  • The command line arguments -XstartOnFirstThread, -Xdock:icon, and -Xdock:name are now documented as officially supported options on the Mac OS platform.

New in Java JRE 6 Update 32 (Apr 27, 2012)

  • 3DNow Prefetch Instruction Support
  • Adjust allocation prefetching for T4
  • assert(VM_Version::supports_sse2()) failed: must support
  • Remove hotspot assertion due to Solaris 8 kstat "unimplemented".
  • ARM: SEGV on panda with linaro 3.1.1 running specjvm2008
  • make the string table size configurable
  • Parallel CMS fails to properly mark reference objects
  • GarbageCollectorMXBean#getLastGcInfo leaks native memory
  • C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
  • Memory leak in inferencing verifier (libverify.so)
  • Introspector.getBeanInfo() should release some resources in timely manner
  • File.setWritable() / File.canWrite() not behaving as expected
  • CookieManager does not store cookies if url is read before setting cookie manager
  • (so) Socket adapter need to implement sendUrgentData
  • (so) Socket adpator is not synchronized on channel state
  • (so) Suppress creation of SocketImpl in SocketAdaptor's constructor
  • Cannot decode PublicKey (Provider SunPKCS11, curve prime256v1)
  • Gervill for 6uXX (2): make Gervill the default synthesizer
  • Problem with timezone in a SimpleDateFormat
  • Properties.loadFromXML fails with ClassCastException
  • compiler generates bad code when translating conditional expressions
  • IncompatibleClassChangeError with unreferenced local class with subclass
  • 32-bit JRE silent install fails on WINDOWS 2008 SERVER 64-bit under System account
  • installation fails by SMS under System Account
  • Separate demos from the bundles on Windows, Solaris and Linux
  • DT fails to register with Chrome
  • uninstall of JRE 7 with JRE 6 on the machine left 10.0.0 deployment registry key behind
  • IE9 prompts to disable Java plugin because of slow start up
  • Redirection of registry keys not happening correctly with old plugin
  • old-plugin liveconnect missing SecureCookiePermission
  • Java Plugin does not evaluate automatic proxy files correctly on Linux: always picks first proxy
  • 20ms latency always observed for LiveConnect round-trip in IE
  • revisit IE LiveConnect performance fix to address applet hang issue found by Citigroup
  • Java Web Start 10.1.* is considerably slower than Web Start 1.4.2, using getresource() repeatedly
  • Compilation of StarOffice wordml XSLT filter via XSLTC throws exception
  • JDK6u18 XSLT regression: xsl:copy-of failing to copy generated attributes
  • Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0
  • (was 7011759 Bug Cloned - 6u16: Recovering buffer manager read stream underflow from protocols are
  • Regular unexplained npe's from corba libs after system has been running for days
  • GSSAPI/SPNEGO does not work with server using MIT Kerberos library
  • Incorrect SSLEngine debug output
  • Npe occurs in abstractprocessor.readfromnextstructure
  • SAAJ does not set correct namespace prefix and namespace URI for attributes in some circumstances.

New in Java JRE 6 Update 31 (Apr 27, 2012)

  • Java SE 6u31 contains Olson time zone data version 2011l.
  • This release contains fixes for security vulnerabilities.
  • Other Bug Fixes:
  • Area: java_plugin: plugin2
  • Synopsis: Move npjp2.dll to a new directory to prevent Firefox from auto-detecting it.

New in Java JRE 7 Update 2 (Dec 13, 2011)

  • This update release contains functionality enhancements for Java applications:
  • New JVM (Java HotSpot Virtual Machine, version 22) that improves reliability and performance
  • Support for Oracle Solaris 11
  • Support for Firefox 5 and later
  • JavaFX is included with Java SE
  • For Java SE 7u2, the following system configurations have been certified:
  • Oracle Solaris 11
  • Firefox 5, 6, 7, and 8
  • Enhanced Security Through Old Release Warnings:
  • If users have a version of Java on their systems that is below the security baseline, a warning message is displayed before an application or an applet can be run.
  • In Java SE 7u2, demos and samples have been removed from the JDK installers and placed into separate bundles:
  • On Windows, demos and samples are available as .zip files.
  • This release introduces the following improvements for web-deployed applications:
  • Non-blocking installation of JRE and JavaFX using Deployment Toolkit: The web page continues to accept user input while Deployment Toolkit downloads and installs the required components.
  • Reduced footprint of signed JAR files: This release provides a new signing method that enables you to sign a JAR file as one large object instead of signing every JAR entry individually. This saves up to 10% of the total JAR size. Note: Users must run JRE 7 Update 2 or later to be able to use these JARs
  • Caching certificate details in the JNLP file for signed applications: For an application that uses security, a security dialog will present the cached certificates immediately for user approval while downloading the application in the background. An older JRE will ignore this functionality; it will present the certificate information after the application is downloaded.
  • Caching enabled by default: Caching of network content for application code running in Web Start mode is now enabled by default. This allows application improved performance and consistency with applet execution mode. To ensure the latest copy of content is used, the application can use URLConnection.setUseCaches(false) or request header Cache-Control values no-cache/no-store.
  • Embedded JNLP support for Web Start: The Deployment Toolkit can use a copy of a JNLP file embedded into a web page to launch an application. This helps to reduce number of network connections needed for the first start of a Web Start application from the browser
  • Ability to pass secure JVM arguments to the Web Start application from inside the web page using Deployment Toolkit: This helps to avoid JVM relaunch due to JVM configuration mismatch and also helps to pass dynamic parameters from the web page
  • Improvements for handling content with gzip encoding: The deployment cache will keep application content in compressed form and return it to the application as-is with gzip content-encoding in the HTTP header. This makes behavior more consistent across different execution modes (first launch versus subsequent launch, cache enabled versus cache disabled).
  • Improved support for JNLP applications: JavaFX applications are more cleanly uninstalled; see 7085171 and 7053087. Recognition of JNLP install hints is improved
  • Startup improvements: Startup has been improved for specific scenarios
  • New setting, Insecure JRE versions, in Java Control Panel: If users have a version of Java on their system that is below the security baseline, a warning message is displayed before an application or an applet can be run using that version.

New in Java JRE 7 Update 1 (Oct 19, 2011)

  • Olson Data 2011g:
  • Java SE 7u1 contains Olson time zone data version 2011g
  • This update release includes the following new entries to the Blacklist:
  • Cisco AnyConnect Mobility Client
  • Microsoft UAG Client
  • RMI Registry Issue:
  • A bug in the rmiregistry command included in this release may cause unintended exceptions to be thrown when an RMI server attempts to bind an exported object which includes codebase annotations using the "file:" URL scheme. The RMI servers most likely to be effected are those which are invoked only by RMI clients executing on the same host as the server.
  • RMI annotates codebase information as part of the serialized state of a remote object reference to assist RMI clients in loading the required classes and interfaces associated with the object at runtime. Exported objects which are looked up in the RMI registry and invoked by RMI clients running on hosts other than the server are usually annotated with codebase URL schemes, such as "http:" or "ftp:" and these should continue to work correctly.
  • As a workaround, RMI servers can set the java.rmi.server.codebase property to use codebase URLs other than the "file:" scheme for the objects they export.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities

New in Java JRE 7.0 (Jul 29, 2011)

  • Swing Enhancements:
  • JLayer Class:
  • The JLayer class is a flexible and powerful decorator for Swing components. It enables you to draw on components and respond to component events without modifying the underlying component directly. For more information, read How to Decorate Components with JLayer in the Java Tutorial.
  • Nimbus Look & Feel:
  • The Nimbus Look & Feel (L&F) has moved from com.sun.java.swing to a standard API namespace, javax.swing; see the javax.swing.plaf.nimbus package for more information. Although it is not the default L&F, you can easily use it. Consult the Nimbus Look and Feel section in the Java Tutorial for more information and examples of three simple methods for using Nimbus in your applications.
  • Heavyweight and Lightweight Components:
  • Historically, mixing heavyweight (AWT) and lightweight (Swing) components in the same container has been problematic. However, mixing heavyweight and lightweight components is easy to accomplish in Java SE 7. The Mixing Heavyweight and Lightweight Components article shows you how.
  • Shaped and Translucent Windows:
  • The Java SE 7 release supports windows with transparency and non-rectangular shapes. See How to Create Translucent and Shaped Windows, part of the Java Tutorial.
  • Hue-Saturation-Luminance (HSL) Color Selection in JColorChooser Class:
  • An HSV tab has been added to the JColorChooser class, which allows users to select colors using the Hue-Saturation-Luminance (HSL) color model.
  • Enhancements in Java I/O:
  • The java.nio.file package and its related package, java.nio.file.attribute, provide comprehensive support for file I/O and for accessing the file system. A zip file system provider is also available in JDK 7. The following resources provide more information:
  • File I/O (featuring NIO 2.0) in the Java Tutorials; NIO stands for non-blocking I/O
  • Developing a Custom File System Provider
  • Zip File System Provider
  • The directory /sample/nio/chatserver/ contains samples that demonstrate the new APIs contained in the java.nio.file package
  • The directory /demo/nio/zipfs/ contains samples that demonstrate the NIO.2 NFS (Network File System) file system
  • Networking Enhancements:
  • The URLClassLoader.close method has been added. This method effectively eliminates the problem of how to support updated implementations of the classes and resources loaded from a particular codebase, and in particular from JAR files.
  • The Sockets Direct Protocol (SDP) provides access to high performance network connections
  • Security Enhancements:
  • Elliptic Curve Cryptography (ECC):
  • A new native provider has been added to the Java SE 7 release that provides several ECC-based algorithms (ECDSA/ECDH).
  • CertPath Algorithm Disabling:
  • Weak cryptographic algorithms can now be disabled. For example, the MD2 digest algorithm is no longer considered secure. The Java SE 7 release provides a mechanism for denying the use of specific algorithms in certification path processing and TLS handshaking.
  • JSSE (SSL/TLS):
  • TLS 1.1:
  • The SunJSSE provider now supports TLS 1.1 as described in RFC 4346. The most important update is protection against cipher block chaining (CBC) attacks.
  • TLS 1.2:
  • The SunJSSE provider now supports TLS 1.2 as described in RFC 5246. Among other things, it specifies different internal hashing algorithms, adds new cipher suites, and contains improved flexibility, particularly for negotiation of cryptographic algorithms.
  • Weak cipher suites deprecated:
  • Per RFC 4346, RFC 5246, and RFC 5469, some cipher suites have been made obsolete and should not be used. These obsolete suites are all disabled by default in SunJSSE. For details, consult the cipher suite lists in the documentation about the SunJSSE provider.
  • Connection-sensitive trust management:
  • Both trust managers and key managers now have the ability to examine parameters of the TLS connection, specifically the SSLSession under construction, during the handshake. For example, a trust manager might restrict the types of certificates used based on the list of valid signature algorithms.
  • Endpoint verification
  • An endpoint identification algorithm can be specified to verify that a remote computer's host address matches its supplied certificate. Although this type of verification was previously performed for the HTTPS protocol (see HttpsURLConnection and HostnameVerifier), such verification can now be optionally performed at the TLS level.
  • TLS renegotiation:
  • Java SE supports RFC 5746, which fixes a renegotiation issue in the TLS protocol.
  • SSLv2Hello disabled by default:
  • In Java SE 7, SSLv2Hello is removed from the default enabled protocol list.
  • Algorithm disabling:
  • Weak cryptographic algorithms can now be disabled, as previously described.
  • Server Name Indication (SNI) for JSSE client:
  • The Java SE 7 release supports the Server Name Indication (SNI) extension in the JSSE client. SNI is described in RFC 4366. This enables TLS clients to connect to virtual servers.
  • Tighter checking of EncryptedPreMasterSecret version numbers:
  • Java SE 7 tightens version number checking during TLS 1.1 and TLS 1.2 handshaking
  • Concurrency Utilities Enhancements:
  • The fork/join framework, which is based on the ForkJoinPool class, is an implementation of the Executor interface. It is designed to efficiently run a large number of tasks using a pool of worker threads. A work-stealing technique is used to keep all the worker threads busy, to take full advantage of multiple processors. See Fork/Join in The Java Tutorials. The directory /sample/forkjoin/ contains samples that demonstrate the fork/join framework.
  • The ThreadLocalRandom class eliminates contention among threads using pseudo-random numbers;
  • The Phaser class is a new synchronization barrier, similar to CyclicBarrier.
  • Client JRE Capabilities:
  • The window of a dragged applet can be decorated with a default or custom title; see Requesting and Customizing Applet Decoration in Draggable Applets.
  • The following enhancements have been made to the syntax of JNLP files:
  • The os attribute in the information and resources elements can now contain specific versions of Windows, such as Windows Vista or Windows 7.
  • Applications can use the install attribute in the shortcut element to specify their their desire to be installed. Installed applications are not removed when the Java Web Start cache is cleared, but can be explicitly removed using the Java Control Panel.
  • Java Web Start applications can be deployed without specifying the codebase attribute; see Deploying Without Codebase
  • A JNLP file can be embedded into an HTML page; see Embedding JNLP File in Applet Tag.
  • You can check the status variable of the applet while it is loading to determine if the applet is ready to handle requests from JavaScript code;
  • You now have control of the window decoration style and title of an applet launched from a shortcut or dragged out of the browser;
  • Java 2D Enhancements:
  • XRender-Based Rendering Pipeline:
  • A new XRender-based Java 2D rendering pipeline is supported for modern X11-based desktops, offering improved graphics performance. The pipeline is disabled by default, but may be enabled by setting the command line property -Dsun.java2d.xrender=true. Older X11 configurations may not be able to support XRender. The verbose form, -Dsun.java2d.xrender=True, can be used to enable a message to stdout indicating whether the pipeline was actually enabled.
  • This flag is listed in the System Properties for Java 2D Technology page.
  • Support for OpenType/CFF Fonts:
  • The JDK now enumerates and displays installed OpenType/CFF fonts through methods such as GraphicsEnvironment.getAvailableFontFamilyNames; these fonts are also recognized by the Font.createFont method. See Selecting a Font in The Java Tutorials.
  • TextLayout Support for Tibetan Script:
  • The TextLayout class supports Tibetan script.
  • Java Programming Language:
  • Binary Literals - In Java SE 7, the integral types (byte, short, int, and long) can also be expressed using the binary number system. To specify a binary literal, add the prefix 0b or 0B to the number.
  • Underscores in Numeric Literals - Any number of underscore characters (_) can appear anywhere between digits in a numerical literal. This feature enables you, for example, to separate groups of digits in numeric literals, which can improve the readability of your code.
  • Strings in switch Statements - You can use the String class in the expression of a switch statement.
  • Type Inference for Generic Instance Creation - You can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters () as long as the compiler can infer the type arguments from the context. This pair of angle brackets is informally called the diamond.
  • Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods - The Java SE 7 complier generates a warning at the declaration site of a varargs method or constructor with a non-reifiable varargs formal parameter. Java SE 7 introduces the compiler option -Xlint:varargs and the annotations @SafeVarargs and @SuppressWarnings({"unchecked", "varargs"}) to supress these warnings.
  • The try-with-resources Statement - The try-with-resources statement is a try statement that declares one or more resources. A resource is an object that must be closed after the program is finished with it. The try-with-resources statement ensures that each resource is closed at the end of the statement. Any object that implements the new java.lang.AutoCloseable interface or the java.io.Closeable interface can be used as a resource. The classes java.io.InputStream, OutputStream, Reader, Writer, java.sql.Connection, Statement, and ResultSet have been retrofitted to implement the AutoCloseable interface and can all be used as resources in a try-with-resources statement.
  • Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking - A single catch block can handle more than one type of exception. In addition, the compiler performs more precise analysis of rethrown exceptions than earlier releases of Java SE. This enables you to specify more specific exception types in the throws clause of a method declaration.
  • Java Virtual Machine Technology:
  • The JDK provides one or more implementations of the Java virtual machine (VM):
  • On platforms typically used for client applications, the JDK comes with a VM implementation called the Java HotSpot Client VM (client VM). The client VM is tuned for reducing start-up time and memory footprint. It can be invoked by using the -client command-line option when launching an application.
  • On all platforms, the JDK comes with an implementation of the Java virtual machine called the Java HotSpot Server VM (server VM). The server VM is designed for maximum program execution speed. It can be invoked by using the -server command-line option when launching an application.
  • Some features of Java HotSpot technology, common to both VM implementations, are the following:
  • Adaptive compiler - Applications are launched using a standard interpreter, but the code is then analyzed as it runs to detect performance bottlenecks, or "hot spots". The Java HotSpot VMs compile those performance-critical portions of the code for a boost in performance, while avoiding unnecessary compilation of seldom-used code (most of the program). The Java HotSpot VMs also use the adaptive compiler to decide, on the fly, how best to optimize compiled code with techniques such as in-lining. The runtime analysis performed by the compiler allows it to eliminate guesswork in determining which optimizations will yield the largest performance benefit.
  • Rapid memory allocation and garbage collection - Java HotSpot technology provides for rapid memory allocation for objects, and it offers a choice of fast, efficient, state-of-the-art garbage collectors.
  • Thread synchronization - The Java programming language allows for use of multiple, concurrent paths of program execution (called "threads"). Java HotSpot technology provides a thread-handling capability that is designed to scale readily for use in large, shared-memory multiprocessor servers.
  • Tools:
  • Standard HotSpot VM Options - The command-line options supported by the Java HotSpot VMs are described on the reference pages for the Java application launcher.
  • Non-standard Java HotSpot VM Options - Non-standard options recognized by the current implementations of the VMs, but not necessarily by future or non-Sun implementations, are described on this web page.
  • Enhancements:
  • Java Virtual Machine Support for Non-Java Languages: Java SE 7 introduces a new JVM instruction that simplifies the implementation of dynamically typed programming languages on the JVM.
  • Garbage-First Collector is a server-style garbage collector that replaces the Concurrent Mark-Sweep Collector (CMS).
  • Java HotSpot Virtual Machine Performance Enhancements
  • JDBC:
  • The Java Database Connectivity (JDBC) API provides universal data access from the Java programming language. Using the JDBC API, you can access virtually any data source, from relational databases to spreadsheets and flat files. JDBC technology also provides a common base on which tools and alternate interfaces can be built.
  • The JDBC API is comprised of two packages:
  • java.sql
  • javax.sql
  • You automatically get both packages when you download the Java Platform Standard Edition (Java SE) 7.
  • To use the JDBC API with a particular database management system, you need a JDBC technology-based driver to mediate between JDBC technology and the database. Depending on various factors, a driver might be written purely in the Java programming language or in a mixture of the Java programming language and Java Native Interface (JNI) native methods. To obtain a JDBC driver for a particular database management system, see JDBC Data Access API.
  • JDBC 4.1 introduces the following features:
  • The ability to use a try-with-resources statement to automatically close resources of type Connection, ResultSet, and Statement
  • RowSet 1.1: The introduction of the RowSetFactory interface and the RowSetProvider class, which enable you to create all types of row sets supported by your JDBC driver.

New in Java JRE 6 Update 26 (Jun 8, 2011)

  • Java SE 6u26 contains Olson time zone data version 2011g.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities.
  • Regression: cannot run filemaker application due to java.lang.ClassCircularityError

New in Java JRE 6 Update 25 (Apr 22, 2011)

  • This update release contains important enhancements for Java applications:
  • Improved performance and stability
  • Java HotSpot VM 20
  • Support for Internet Explorer 9, Firefox 4 and Chrome 10
  • Improved BigDecimal
  • Olson Data 2011b:
  • Java SE 6u25 contains Olson time zone data version 2011b.
  • For Java SE 6u25, support has been added for the following system configurations:
  • Oracle Linux 6
  • Oracle Solaris 11 Express 2010.11
  • Windows 7 with SP1
  • Windows 2008 R2 with SP1
  • Internet Explorer 9
  • Firefox 4
  • Chrome 10
  • VirtualBox 4
  • Java Hotspot VM 20:
  • Java SE 6u25 includes version 20 of the Java HotSpot Virtual Machine which contains improvements to performance, reliability and diagnostic information.
  • A new feature in this version of HotSpot is "tiered" compilation in the Server VM that enables it to start quickly as does the Client VM, while achieving superior peak performance. This feature is enabled by specifying -server and -XX:+TieredCompilation command options.
  • The Garbage First (G1) garbage collector continues to advance with Java SE 6u25, although it remains an experimental option.
  • HotSpot diagnostic information has been expanded in several ways:
  • Tracking of cumulative Java heap bytes allocated on a per-thread basis
  • On OutOfMemoryError, indication of the faulting thread in the heap dump
  • Improved handling of unexpected exceptions in application native code
  • Better indication of native heap exhaustion
  • More details in hs_err files
  • Performance Improvement to BigDecimal:
  • Improvements have been made to class BigDecimal enhancing its performance by thirty percent. BigDecimal is enabled by specifying -XX:+AggressiveOpts command option.
  • Performance Improvement to java.util.logging.LogRecord:
  • The performance of the class java.util.logging.LogRecord has been enhanced. This enhancement improves the efficiency of including source class and method names in java.util.logging log records.
  • Bug Fixes:
  • Java SE 6u25 does not add any fixes for security vulnerabilities beyond those in Java SE 6u24. Users who have Java SE 6u24 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.

New in Java JRE 6 Update 23 (Dec 8, 2010)

  • Java SE 6u23 contains enhancements for your Java applications:
  • Improved performance and stability
  • Enhanced support for right-to-left languages
  • Java Hotspot VM 19.0:
  • Java SE 6u23 includes version 19.0 of the Java HotSpot Virtual Machine with improvements to overall performance and reliability.
  • Java VisualVM 1.3.1:
  • Java VisualVM based on VisualVM 1.3.1 is included in Java SE 6u23. This release introduces the following features and enhancements:
  • Added Java version and vendor information to the application Overview view
  • Built on NetBeans Platform and profiler 6.9.1
  • Menu Item Corrections for Right-to-Left Languages:
  • Several bugs in the non-default alignment and text orientation for the menu items in Swing have been fixed, as this is particularly important for right-to-left languages such as Arabic.
  • Another issue corrected is the position of the icon and the text. For the non-default positions the text used to overlap the icon in a menu item, this is no longer the case.
  • All platform Look and Feel configurations will now handle menu items in right-to-left language situations. These fixes have been tested through their inclusion in the JDK 7 development release, but this is the first time they have been available via JDK 6.
  • Additional Languages Support in Linux Systems:
  • Added support for SuSE Linux Enterprise Server 10 and 11 on Chinese (Simplified), Chinese (Traditional), Japanese, and Korean locales.
  • Bug Fixes:
  • Java SE 6u23 does not contain any additional fixes for security vulnerabilities to its previous release, Java SE 6u22. Users who have Java SE 6u22 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.

New in Java JRE 7.0.0.66 Preview (Oct 12, 2010)

  • JDK 7 introduces several key features to improve performance, usability, and security of the Java platform.
  • Modularization:
  • A large-scale effort to refactor, or break up, the Java SE platform into smaller, separate, interdependent modules. Individual modules can then be downloaded as required by the Java virtual machine and/or Java applications. This effectively shrinks the size of the runtime on the user's machine.
  • One benefit of modularization is that the platform is a smaller download, potentially improving start-up performance. Having a smaller memory footprint also enables significant performance improvements, especially for desktop applications. A smaller platform also means it can now fit on devices with less memory.
  • Improves compatibility between Java and various dynamic languages, such as Ruby and Python, by providing better-than-native implementations of these languages on top of the Java Runtime Environment (JRE).
  • Multi-Language Support:
  • Refer to JSR 292a>, also called “InvokeDynamic”. This JSR defines the elements critical for Ruby, Python, and other dynamic languages to be addressed for JDK 7.
  • JDK 7 will also include several features to enhance developer productivity. One of Sun's goals is to make JDK 7, and other versions of the JDK, as developer-friendly as possible.
  • Developer Productivity:
  • Project Coin: Small language changes
  • Concurrency and Collections Updates
  • JSR 308: Type Annotations to improve static program checking
  • JSR 203: New I/O to define a true filesystem API
  • Performance:
  • Compressed 64-bit object pointers
  • G1 Garbage Collector
  • The new Garbage First (G1) Garbage Collector is a low pause, server-style garbage collector that will eventually replace the Concurrent Mark-Sweep (CMS) garbage collector. G1's primary advantage over CMS are incremental compaction, better predictability, and ease of use.

New in Java JRE 6 Update 22 (Oct 12, 2010)

  • The full internal version number for this update release is 1.6.0_22-b04 (where "b" means "build"). The external version number is 6u22.
  • OlsonData 2010l:
  • Java SE 6u22 contains Olson time zone data version 2010l.
  • Root Certificates:
  • Added new Entrust Root CA-G2 and updated Entrust.net CA (2048) root certificates. (Refer to 6959911.)
  • CVE-2010-3560
  • The fix for CVE-2010-3560 could cause certain Java applets running in the new Java Plug-in to stop working if they are embedded in web pages which contain JavaScript that calls into Java in order to perform actions which require network security permissions. These applets may fail with a network security exception under some circumstances if the name service which resolved the original web page URL host name does not return a matching name as the result of a reverse address lookup. This is most likely to occur for the new Java Plug-in running on Solaris and Linux when configured to use NIS for host to network address resolution with maps containing host names which are in short form (rather than as a fully qualified domain name).
  • If an applet is suspected of failing due to this change you can verify that by setting the logging level of the Java Console to 5 and looking for logging strings beginning with "socket access restriction" which will describe the specific cause of the mismatch and will help in identifying the correct workaround to use as described below
  • Add a new host name forward map entry (in /etc/hosts, NIS, or DNS) in a special form which is recognized by Java for the purpose of validating IPv4 and IPv6 name service mappings.
  • The IPv4 general name form followed by an /etc/hosts file fragment example for IP address 10.11.12.13 is:
  • host.auth.ddd.ccc.bbb.aaa.in-addr.arpa
  • # /etc/hosts example
  • 10.11.12.13 foo.bar.com.auth.13.12.11.10.in-addr.arpa
  • There is an equivalent form for IPv6 addresses which uses the IP6.ARPA domain root format defined in RFC 3596.
  • For DNS, these would be A (IPv4) or AAAA (IPv6) entries.
  • Pre-pend a fully qualified host name before other mappings to the same address.
  • For example, in /etc/hosts format:
  • #10.11.12.13 foo loghost
  • 10.11.12.13 foo.bar.com foo loghost
  • As an alternative to updating name service records, it may be possible to safely modify the applet to perform the network action using only it's own permissions independent of the web page which contains it by using the doPrivileged() method of the java.security.AccessController class.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities.

New in Java JRE 6 Update 21 (Jul 8, 2010)

  • The full internal version number for this update release is 1.6.0_21-b06 (where "b" means "build"). The external version number is 6u21.
  • OlsonData 2010i:
  • Java SE 6u21 contains Olson time zone data version 2010i.
  • Additional Supported System Configurations:
  • For Java SE 6u21, support has been added for the following system configurations:
  • Oracle Enterprise Linux 5.5
  • Oracle Enterprise Linux 5.4
  • Oracle Enterprise Linux 4.8
  • Red Hat Enterprise Linux 5.5
  • Red Hat Enterprise Linux 5.4
  • Oracle VM 2.2.0.0.0
  • Google Chrome 4.0
  • Support for Customized Loading Progress Indicators:
  • With Java SE 6u21, you can now enhance the loading experience of an application by providing a customized loading progress indicator (sometimes referred to as a progress bar) to better inform the end user of how much of the application has been downloaded during startup.
  • Java Hotspot VM 17.0:
  • Java SE 6u21 includes version 17.0 of the Java HotSpot Virtual Machine with improvements to overall quality and features such as compressed object pointers, escape analysis-based optimization, code cache management, the Concurrent Mark-Sweep garbage collector and its successor, the Garbage First (G1) garbage collector.
  • Java VisualVM :
  • Java VisualVM based on VisualVM 1.2.2 is included in Java SE 6u21. This release introduces the following features and enhancements:
  • HeapWalker performance improvements
  • VisualVM-Sampler performance improvements
  • BTrace4VisualVM plugin introduces BTrace 1.1
  • Profiling engine bugfixes
  • Built on NetBeans Platform 6.8
  • Security Exception Upon Drag-and-Drop:
  • Drag-and-drop would, under certain circumstances, result in a null value being passed instead of the expected data.
  • Java SE 6u21 provides a fix that lets drag-and-drop operations succeed for signed applications or applications with the accessClipboard permission granted.
  • Bug Fixes:
  • Java SE 6 Update 21 does not contain any additional fixes for security vulnerabilities to its previous release, Java SE 6 Update 20. Users who have Java SE 6 Update 20 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.