What's new in Java SE Development Kit (JDK) 11.0.23

Apr 19, 2024
  • JDK 11.0.23 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".
  • Other Notes:
  • client-libs/java.awt
  • ➜ AWT SystemTray API Is Not Supported on Most Linux Desktops (JDK-8322750):
  • The java.awt.SystemTray API is used for notifications in a desktop taskbar and may include an icon representing an application. On Linux, the Gnome desktop's own icon support in the taskbar has not worked properly for several years due to a platform bug. This, in turn, has affected the JDK's API, which relies upon that.
  • Therefore, in accordance with the existing Java SE specification, java.awt.SystemTray.isSupported() will return false where ever the JDK determines the platform bug is likely to be present.
  • The impact of this is likely to be limited since applications always must check for that support anyway. Additionally, some distros have not supported the SystemTray for several years unless the end-user chooses to install non-bundled desktop extensions.
  • security-libs/java.security
  • ➜ Added Certainly R1 and E1 Root Certificates (JDK-8321408):
  • The following root certificates have been added to the cacerts truststore:
  • + Certainly
  • + certainlyrootr1
  • DN: CN=Certainly Root R1, O=Certainly, C=US
  • + Certainly
  • + certainlyroote1
  • DN: CN=Certainly Root E1, O=Certainly, C=US
  • security-libs/javax.xml.crypto
  • ➜ Enable XML Signature Secure Validation Mode by Default (JDK-8259801):
  • The XML Signature secure validation mode has been enabled by default (previously it was not enabled by default unless running with a security manager). When enabled, validation of XML signatures are subject to stricter checking of algorithms and other constraints as specified by the jdk.xml.dsig.secureValidationPolicy security property.
  • If necessary, and at their own risk, applications can disable the mode by setting the org.jcp.xml.dsig.secureValidation property to Boolean.FALSE with the DOMValidateContext.setProperty() API.

New in Java SE Development Kit (JDK) 22.0.1 (Apr 17, 2024)

  • JDK 22.0.1 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.
  • Other Notes:
  • security-libs/java.security
  • ➜ Added Certainly R1 and E1 Root Certificates (JDK-8321408):
  • The following root certificates have been added to the cacerts truststore:
  • Certainly:
  • certainlyrootr1
  • DN: CN=Certainly Root R1, O=Certainly, C=US
  • Certainly
  • certainlyroote1
  • DN: CN=Certainly Root E1, O=Certainly, C=US
  • Bug Fixes:
  • Regression in round-tripping UTF-16 strings after JDK-8311906
  • Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination
  • safepoint scalarization doesn't keep track of the depth of the JVM state
  • C2: allocate PhaseIdealLoop::_loop_or_ctrl from C->comp_arena()
  • Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop
  • Issue store-store barrier after re-materializing objects during deoptimization
  • prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output
  • Compilation of snippet results in VerifyError at runtime with --release 9 (and above)
  • Incorrect stepping in switch
  • ThisEscapeAnalyzer crashes for erroneous code
  • System.exit(0) kills the launched 3rd party application

New in Java SE Development Kit (JDK) 22 (Mar 19, 2024)

  • Major New Functionality:
  • Language:
  • Unnamed Variables & Patterns
  • Enhance the Java programming language with unnamed variables and unnamed patterns, which can be used when variable declarations or nested patterns are required but never used. Both are denoted by the underscore character, _.
  • Language Previews:
  • Statements before super(...) (Preview):
  • In constructors in the Java programming language, allow statements that do not reference the instance being created to appear before an explicit constructor invocation. This is a preview language feature.
  • Stream Gatherers (Preview):
  • Enhance the Stream API to support custom intermediate operations. This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations. This is a preview API.
  • String Templates (Second Preview):
  • Enhance the Java programming language with string templates. String templates complement Java's existing string literals and text blocks by coupling literal text with embedded expressions and template processors to produce specialized results. This is a preview language feature and API.
  • Implicitly Declared Classes and Instance Main Methods (Second Preview):
  • Evolve the Java programming language so that students can write their first programs without needing to understand language features designed for large programs. Far from using a separate dialect of the language, students can write streamlined declarations for single-class programs and then seamlessly expand their programs to use more advanced features as their skills grow. This is a preview language feature.
  • Libraries:
  • Foreign Function & Memory API:
  • Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI.
  • Library Previews and Incubator:
  • Class-File API (Preview):
  • Provide a standard API for parsing, generating, and transforming Java class files. This is a preview API.
  • Structured Concurrency (Second Preview):
  • Simplify concurrent programming by introducing an API for structured concurrency. Structured concurrency treats groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is a preview API.
  • Scoped Values (Second Preview):
  • Introduce scoped values, which enable managed sharing of immutable data both with child frames in the same thread, and with child threads. Scoped values are easier to reason about than thread-local variables and have lower space and time costs, especially when used in combination with Virtual Threads and Structured Concurrency. This is a preview API.
  • Vector API (Seventh Incubator):
  • Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.
  • Performance:
  • Region Pinning for G1:
  • Reduce latency by implementing region pinning in G1, so that garbage collection need not be disabled during Java Native Interface (JNI) critical regions.
  • See below for additional information
  • Tooling:
  • Launch Multi-File Source-Code Programs:
  • Enhance the java application launcher to be able to run a program supplied as multiple files of Java source code. This will make the transition from small programs to larger ones more gradual, enabling developers to choose whether and when to go to the trouble of configuring a build tool.
  • New Features:
  • This section describes some of the enhancements in Java SE 22 and JDK 22. In some cases, the descriptions provide links to additional detailed information about an issue or a change. The APIs described here are provided with the Oracle JDK. It includes a complete implementation of the Java SE 22 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 22 and JDK 22 is the Java SE 22 ( JSR 397) Platform Specification, which documents the changes to the specification made between Java SE 21 and Java SE 22. This document includes descriptions of those new features and enhancements that are also changes to the specification. The descriptions also identify potential compatibility issues that you might encounter when migrating to JDK 22.
  • core-libs/java.lang:
  • ➜ Support Unicode 15.1 (JDK-8296246)
  • This release upgrades the Unicode version to 15.1, which includes updated versions of the Unicode Character Database and Unicode Standard Annexes #9, #15, and #29:
  • The java.lang.Character class supports the Unicode Character Database, which adds 627 characters, for a total of 149,813 characters. The addition includes one new UnicodeBlock, which consists of urgently needed CJK ideographs, synchronized with planned additions to the Chinese national standard, GB 18030.
  • The java.text.Bidi and java.text.Normalizer classes support Unicode Standard Annexes, #9 and #15, respectively.
  • The java.util.regex package supports Extended Grapheme Clusters based on the Unicode Standard Annex #29.
  • For more details about Unicode 15.1, refer to the Unicode Consortium’s release note.
  • core-libs/java.lang.foreign:
  • ➜ Foreign Function & Memory API (JEP 454)
  • The Foreign Function & Memory API allows Java programs to interoperate with code and data outside of the Java runtime.
  • Access to foreign memory is realized via the MemorySegment class. A memory segment is backed by a contiguous region of memory, located either off-heap or on-heap. Safe and deterministic deallocation of off-heap memory segments is provided via the Arena class. Structured access to memory segments is realized via the MemoryLayout class. A memory layout can be used to compute the size and offsets of struct fields, and to obtain var handles that read and write the data in memory segments.
  • Access to foreign functions is realized via the Linker class. The native linker can be used to obtain method handles that provide a fast way for Java code to invoke native code. Native code is invoked using the calling convention for the OS and processor where the Java runtime is executing, so Java code is not polluted with platform-specific details. Native code can also call back into Java code.
  • Native code is generally unsafe; if used incorrectly, it might crash the JVM or result in memory corruption. Some of the methods in the Foreign Function & Memory API are considered unsafe because they provide access to native code. These unsafe methods are restricted, which means their use is permitted but causes warnings at run time. Developers can compile their code with -Xlint:restricted to learn if it will produce warnings at run time due to use of unsafe methods.
  • If the risks associated with native code are understood, then unsafe methods can be used without warnings at run time by passing --enable-native-access=... on the java command line. For example, java --enable-native-access=com.example.myapp,ALL-UNNAMED ... enables warning-free use of unsafe methods by code in the com.example.myapp module and code on the class path (denoted by ALL-UNNAMED). Additionally, in an executable JAR, the manifest attribute Enable-Native-Access: ALL-UNNAMED enables warning-free use of unsafe methods by code on the class path; no other module can be specified. When the --enable-native-access option or JAR manifest attribute is present, any use of unsafe methods by code outside the list of specified modules causes an IllegalCallerException to be thrown, rather than a warning to be issued.
  • core-libs/java.net:
  • ➜ TCP_KEEPxxxx Extended Socket Options Are Now Supported on the Windows Platform (JDK-8308593)
  • The java.net.ExtendedSocketOptions TCP_KEEPIDLE and TCP_KEEPINTERVAL are supported on Windows platforms starting from Windows 10 version 1709 and onwards. TCP_KEEPCOUNT is supported starting from Windows 10 version 1703 and onwards.
  • core-libs/java.nio.charsets:
  • ➜ New Constants for 32-bit UTF Charsets (JDK-8310047)
  • The following three new constants in java.nio.charset.StandardCharsets class have been introduced:
  • UTF_32
  • UTF_32BE
  • UTF_32LE
  • These are 32-bit based UTF charsets that are in parallel with the existing 8-bit and 16-bit equivalents.
  • core-libs/java.text:
  • ➜ Locale-Dependent List Patterns (JDK-8041488)
  • A new class, ListFormat, which processes the locale-dependent list patterns has been introduced, based on Unicode Consortium's LDML specification. For example, a list of three Strings: "Foo", "Bar", "Baz" is typically formatted as "Foo, Bar, and Baz" in US English, while in French it is "Foo, Bar et Baz." The following code snippet does such formatting:
  • ListFormat.getInstance().format(List.of("Foo", "Bar", "Baz"))
  • Besides the default concatenation type STANDARD (= and), the class provides two additional types, OR for "or" concatenation, and UNIT for concatenation suitable for units for the locale.
  • core-libs/java.util:
  • ➜ Add equiDoubles() Method to java.util.random.RandomGenerator. (JDK-8302987)
  • A new method, equiDoubles(), has been added to java.util.random.RandomGenerator.
  • equiDoubles() guarantees a uniform distribution, provided the underlying nextLong(long) method returns uniformly distributed values, that is as dense as possible. It returns a DoubleStream rather than individual doubles because of slightly expensive initial computations. They are better absorbed as setup costs for the stream rather than being repeated for each new computed value.
  • The aim is to overcome some numerical limitations in the families of doubles() and nextDouble() methods. In these, an affine transform is applied to a uniformly distributed pseudo-random value in the half-open interval [0.0, 1.0) to obtain a pseudo-random value in the half-open interval [origin, bound). However, due to the nature of floating-point arithmetic, the affine transform ends up in a slightly distorted distribution, which is not necessarily uniform.
  • hotspot/gc:
  • ➜ G1: Fast Collection of Evacuation Failed Regions (JDK-8140326)
  • G1 now reclaims regions that failed evacuation in the next garbage collection.
  • When there is not enough space to move Java objects from the collection set, young generation regions for example, to some destination area, or that region has been pinned and contains non-movable Java objects (see [JEP 423]), G1 considers that region to have failed evacuation.
  • Previously, such regions were moved into the old generation as completely full regions, and left lingering for re-examination until the next complete heap analysis, marking, found them to be reclaimable in the next space reclamation phase. Very often, such regions are sparsely populated because only a very few objects were not relocatable or very few objects were actually pinned.
  • With this change, G1 considers evacuation failed regions as reclaimable beginning with any subsequent garbage collection. If the pause time permits, G1 will evacuate them in addition to the existing collection set.
  • This can substantially reduce the time to reclaim these mostly empty regions, decreasing heap pressure and the need for garbage collection activity in the presence of evacuation failed regions.
  • hotspot/gc:
  • ➜ Parallel: Precise Parallel Scanning of Large Object Arrays for Young Collection Roots (JDK-8310031)
  • During young collection, ParallelGC partitions the old generation in 64kB stripes when scanning it for references into the young generation. These stripes are assigned to worker threads that do the scanning in parallel as work units.
  • Before this change Parallel GC always scanned these stripes completely even if only a small part had been known to contain interesting references. Additionally every worker thread processed the objects that start in that stripe by itself including any part of objects that extend into other stripes. This behavior limited parallelism when processing large objects: a single large object potentially containing thousands of references had been scanned by a single thread only and in full, and would also cause bad scaling due to memory sharing and cache misses in the subsequent long work stealing phase.
  • With this change, Parallel GC workers limit work to their stripe, and only process interesting parts of large object arrays. This reduces work done by a single thread for a stripe, improves parallelism and reduces the amount of work stealing. Parallel GC pauses is now on par with G1 in presence of large object arrays, reducing pause times by 4-5 times in some cases.
  • hotspot/gc:
  • ➜ Region Pinning for G1 (JEP 423)
  • This JEP reduces latency by implementing region pinning in G1, so that garbage collection need not be disabled during Java Native Interface (JNI) critical regions.
  • Java threads that use native code do not stall garbage collections any more. Garbage collections will execute regardless of native code keeping references to Java objects. The garbage collection will keep objects that may be accessed by native code in place, collecting garbage only in surrounding heap areas but will be otherwise unaffected.
  • hotspot/gc:
  • ➜ Parallel: Better GC Throughput with Large Object Arrays (JDK-8321013)
  • During a young collection, Parallel GC searches for dirty cards in the card table to locate old-to-young pointers. After finding dirty cards, Parallel GC uses the internal bookkeeping data structures to locate object starts for heap-parsing to be able to walk the heap within these dirty cards object-by-object.
  • This change modifies the internal bookkeeping data structure to the one used by Serial and G1. As a result, the object start lookup time is improved and one can observe about a 20% reduction of Young-GC pause in some benchmarks using large object arrays.
  • hotspot/gc:
  • ➜ Serial: Better GC Throughput with Scarce Dirty Cards (JDK-8319373)
  • During a young collection, Serial GC searches for dirty cards in the card table to locate old-to-young pointers. After finding dirty cards, Serial GC uses the block offset table to locate object starts for heap-parsing to be able to walk the heap within these dirty cards object-by-object.
  • This change improves the object start lookup and search for dirty cards resulting in a large (~40%) reduction in Young-GC pause in some benchmarks using large object arrays.
  • hotspot/gc:
  • ➜ G1: Balance Code Root Scan Phase during Garbage Collection (JDK-8315503)
  • The Code Root Scan Phase during garbage collection finds references to Java objects in compiled code. To speed up this process, G1 maintains a remembered set for compiled code that contains references into the Java heap. That is, every region contains a set of compiled code that contains references into it.
  • Assuming that such references are few, previous code used a single thread per region to iterate over a particular region's references, which poses a scalability bottleneck if the distribution of these references is very unbalanced.
  • G1 now distributes this code root scan work across multiple threads within regions, removing this bottleneck.
  • security-libs/java.security:
  • ➜ New Security Category for -XshowSettings Launcher Option (JDK-8281658)
  • The -XshowSettings launcher has a new security category. Settings from security properties, security providers and TLS related settings are displayed with this option. A security sub-category can be passed as an argument to the security category option. See the output from java -X:
  • -XshowSettings:security
  • show all security settings and continue
  • -XshowSettings:security:*sub-category*
  • show settings for the specified security sub-category and continue. Possible *sub-category* arguments for this option include:
  • all: show all security settings and continue
  • properties: show security properties and continue
  • providers: show static security provider settings and continue
  • tls: show TLS related security settings and continue
  • Third party security provider details will be reported if they are included in the application class path or module path and such providers are configured in the java.security file.
  • security-libs/javax.security:
  • ➜ HSS/LMS: keytool and jarsigner Changes (JDK-8302233)
  • The jarsigner and keytool tools have been updated to support the Hierarchical Signature System/Leighton-Micali Signature (HSS/LMS) signature algorithm. jarsigner supports signing JAR files with HSS/LMS and verifying JAR files signed with HSS/LMS while keytool supports generating HSS/LMS key pairs.
  • The JDK includes a security provider that supports HSS/LMS signature verification only. In order to use the key pair generation and signing features of keytool and jarsigner, a third-party provider that supports HSS/LMS key pair and signature generation and a keystore implementation that can store HSS/LMS keys is required.
  • Even though there’s no specific Java SE API to initialize an HSS/LMS key pair generator, keytool can function with a third-party KeyPairGenerator implementation that supports initialization via an integer keysize or a NamedParameterSpec object. In such cases, users are able to provide the parameters using the existing -keysize or -groupname options of keytool.
  • As part of this change, the JAR specification was modified to repurpose the existing “.DSA” extension for JAR files signed with HSS/LMS and other forthcoming signature algorithms.
  • security-libs/javax.xml.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 SignatureMethod algorithms have been added: SignatureMethod.SHA3_224_RSA_MGF1, SignatureMethod.SHA3_256_RSA_MGF1, SignatureMethod.SHA3_384_RSA_MGF1, and SignatureMethod.SHA3_512_RSA_MGF1.
  • tools/javadoc(tool):
  • ➜ The inheritDoc Tag and Method Comments Algorithm Have Been Changed (JDK-8285368)
  • An optional parameter has been added to the inheritDoc tag so that an author can specify the supertype from which to search for inherited documentation. Additionally, the algorithm to search for inherited documentation has been modified to better align with the method inheriting and overriding rules in Java Language Specification.
  • For more details, see the following sections of the Documentation Comment Specification for the Standard Doclet:
  • Method Documentation
  • {@inheritDoc}
  • xml/jaxp:
  • ➜ Add a Built-in Catalog to JDK XML Module (JDK-8306055)
  • A JDK built-in catalog is introduced to host DTDs defined by the Java Platform. The JDK creates a CatalogResolver based on the built-in catalog when needed to function as the default external resource resolver. When no user-defined resolvers are registered, a JDK XML processor will fall back to the default CatalogResolver and will attempt to resolve an external reference before making a connection to fetch it. The fall-back also takes place if a user-defined resolver exists but allows the process to continue when unable to resolve the resource.
  • If the default CatalogResolver is unable to locate a resource, it will signal the XML processors to continue processing, or skip the resource, or throw a CatalogException. The action it takes is configured with the jdk.xml.jdkcatalog.resolve property. The new property can be set on factory APIs, as a Java system property, or in the JAXP Configuration File. The new property affects all XML processors uniformly.
  • For further information, see the JDK built-in Catalog section of the java.xml module summary.
  • xml/jaxp:
  • ➜ Add a JDK Property for Specifying DTD Support (JDK-8306632)
  • A new property jdk.xml.dtd.support is introduced that determines how XML processors handle DTDs. The new property can be set on factory APIs, as a Java system property, or in the JAXP Configuration File. The new property affects all XML processors uniformly.
  • The new property complements the two existing DTD properties: disallow-doctype-decl (fully qualified name: http://apache.org/xml/features/disallow-doctype-decl), which is applicable only to the DOM and SAX processors, and supportDTD (javax.xml.stream.supportDTD), which is applicable only to the StAX processor. When one of these existing properties is set on the respective processor factory, its value will take precedence over any value specified for the jdk.xml.dtd.support property.
  • For further information, see the Configuration section of the java.xml module summary.
  • hotspot/jfr:
  • ➜ JFR Event for @Deprecated Methods (JDK-8211238)
  • A new JFR event, jdk.DeprecatedInvocation, has been added to JDK 22 to help users detect their use of deprecated methods located in the JDK.
  • To record these events in JFR, a user must specify a recording on the command line, like -XX:StartFlightRecording. Starting a recording during runtime, for example, using jcmd or the JFR Java API, will not have these events reported unless -XX:StartFlightRecording is specified on the command line.
  • The current design will only report direct method invocations where the caller resides outside the JDK. Intra-JDK invocations will not be reported. Additionally, invoking methods declared deprecated but located outside of the JDK, for example in a third-party library, will not be reported, at least not during this first implementation. This might change in the future.
  • There exists a small restriction in the reporting of invocations from the Interpreter. In the situation where two caller methods are members of the same class, and they invoke the same deprecated method
  • In this situation, only <InterpreterRestriction.invoke1, System.getSecurityManager> will be reported because the Interpreter implementation will consider System.getSecurityManager() to be resolved and linked after the first call. When invoke2() is called, no slow path will be taken for the resolution of the System.getSecurityManager() method because it is already resolved as part of the cpCache. This restriction does not exist in C1 or C2, only in the Interpreter.
  • When analyzing the reported events, checking all methods in the reported class is recommended. This slight restriction can be resolved using an iterative process; if one call site is fixed, the other will be reported in the next run.
  • Removed Features and Options:
  • This section describes the APIs, features, and options that were removed in Java SE 22 and JDK 22. The APIs described here are those that are provided with the Oracle JDK. It includes a complete implementation of the Java SE 22 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 22 and JDK 22 is the Java SE 22 ( JSR 397) Platform Specification, which documents changes to the specification made between Java SE 21 and Java SE 22. This document includes the identification of removed APIs and features not described here. The descriptions below might also identify potential compatibility issues that you could encounter when migrating to JDK 22. See CSRs Approved for JDK 22 for the list of CSRs closed in JDK 22.
  • core-libs:
  • ➜ sun.misc.Unsafe.shouldBeInitialized and ensureClassInitialized Are Removed (JDK-8316160)
  • The shouldBeInitialized(Class) and ensureClassInitialized(Class) methods have been removed from sun.misc.Unsafe. These methods have been deprecated for removal since JDK 15. java.lang.invoke.MethodHandles.Lookup.ensureInitialized(Class) was added in Java 15 as a standard API to ensure that an accessible class is initialized.
  • core-libs/java.lang:
  • ➜ Thread.countStackFrames Has Been Removed (JDK-8309196)
  • The method java.lang.Thread.countStackFrames() has been removed in this release. This method dates from JDK 1.0 as an API for counting the stack frames of a suspended thread. The method was deprecated in JDK 1.2 (1998), deprecated for removal in Java 9, and re-specified/degraded in Java 14 to throw UnsupportedOperationException unconditionally.
  • java.lang.StackWalker was added in Java 9 as a modern API for walking the current thread's stack.
  • core-libs/java.lang:reflect:
  • ➜ The Old Core Reflection Implementation Has Been Removed (JDK-8305104)
  • The new core reflection implementation has been the default since JDK 18 and the old implementation is now removed. The -Djdk.reflect.useDirectMethodHandle=false introduced by JEP 416 to enable the old core reflection implementation becomes a no-op.
  • core-svc/tools:
  • ➜ Jdeps -profile and -P Option Have Been Removed (JDK-8310460)
  • Compact profiles became obsolete in Java SE 9 when modules were introduced. The jdeps -profile and -P options were deprecated for removal in JDK 21 and now removed in JDK 22. Customers can use jdeps to find the set of modules required by their applications instead.
  • Deprecated Features and Options:
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 22 and JDK 22 include:
  • The Deprecated API page identifies all deprecated APIs including those deprecated in Java SE 22.
  • The Java SE 22 ( JSR 397) specification documents changes to the specification made between Java SE 21 and Java SE 22 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 22. See CSRs Approved for JDK 22 for the list of CSRs closed in JDK 22.
  • core-libs:
  • ➜ sun.misc.Unsafe park, unpark, getLoadAverage, and xxxFence Methods Are Deprecated for Removal (JDK-8315938)
  • The park, unpark, getLoadAverage, loadFence, storeFence, and fullFence methods defined by sun.misc.Unsafe have been deprecated for removal.
  • Code using these methods should move to java.util.concurrent.LockSupport.park/unpark (Java 5), java.lang.management.OperatingSystemMXBean.getSystemLoadAverage (Java 6), and java.lang.invoke.VarHandle.xxxFence (Java 9).
  • hotspot/runtime:
  • ➜ -Xnoagent Option Is Deprecated for Removal (JDK-8312072)
  • The -Xnoagent option of the java command has been deprecated for removal. This option has been ignored for many releases and doesn't provide any functionality. It will now generate a deprecation warning when used while launching java.
  • Any existing code which uses this option should be updated to remove reference to this option.
  • security-libs/java.security:
  • ➜ Deprecation of the jdk.crypto.ec Module (JDK-8308398)
  • The jdk.crypto.ec module is being deprecated with the intent to remove it. An empty module exists as a transition for developers to fix applications or jlink commands with hard-coded dependencies before removal. The SunEC JCE Provider, which provides Elliptic Curve Cryptography, is now in the java.base module. There should be no difference in cryptographic functionality with this deprecation.
  • tools/launcher:
  • ➜ -Xdebug and -debug Options Are Deprecated for Removal (JDK-8227229)
  • The -Xdebug and -debug options of the java command have been deprecated for removal. These options have been ignored for several releases and don't provide any functionality. Using either of these options while launching java will now log a deprecation warning.
  • Existing applications which use either of these options should be updated to remove references to these options.
  • Notable Issues Resolved:
  • The following notes describe previous known issues or limitations that have been corrected in this release.
  • core-libs/java.lang.invoke:
  • ➜ MethodHandles.Lookup::findStaticVarHandle Does Not Eagerly Initialize the Field's Declaring Class (JDK-8291065)
  • In the previous releases, MethodHandles.Lookup::findStaticVarHandle eagerly initializes the declaring class of the static field when the VarHandle is created. As specified in the specification, the declaring class should be initialized when the VarHandle is operated on if it has not already been initialized. This issue is fixed in this release. The declaring class is no longer eagerly initialized when MethodHandles.Lookup::findStaticVarHandle is called. Existing code that relies on the previous behavior may observe a change of the order of the classes being initialized.
  • core-libs/java.lang.invoke:
  • ➜ Reimplement MethodHandleProxies::asInterfaceInstance (JDK-6983726)
  • In previous releases MethodHandleProxies::asInterfaceInstance returns a Proxy instance. MethodHandleProxies::asInterfaceInstance has been reimplemented to return instances of a hidden class that can be unloaded when all instances returned for the same interface becomes unreachable. Once unloaded, subsequent call to MethodHandleProxies::asInterfaceInstance will spin and define a new hidden class that may incur performance overhead.
  • core-libs/java.time:
  • ➜ Gregorian Era Names with java.time.format APIs (JDK-8306116)
  • Names for Gregorian eras returned from java.time.format APIs are now correctly retrieved from the CLDR locale data. Prior to this change, these APIs incorrectly used names from the legacy COMPAT locale data. For example, the Gregorian era names "BCE"/"CE" are now returned for the ROOT locale, instead of "BC"/"AD" that are in the COMPAT locale data. For possible compatibility issues and workarounds, refer to JDK-8320431 for more details.
  • hotspot/gc:
  • ➜ G1: More Deterministic Heap Resize at Remark (JDK-8314573)
  • During the Remark pause G1 adjusts the Java heap size to keep a minimum and maximum amount of free regions as set via the -XX:MinHeapFreeRatio and -XX:MaxHeapFreeRatio options.
  • Before this change, G1 considered Eden regions as occupied (full) for this calculation. This makes heap sizing very dependent on current Eden occupancy, although after the next garbage collection these regions will be empty. With this change, Eden regions are considered as empty (free) for matters of Java heap sizing. This new policy also aligns Java heap sizing to full GC heap sizing.
  • The effect is that G1 now expands the Java heap less aggressively and more deterministically, with corresponding memory savings but potentially executing more garbage collections.
  • tools/javac:
  • ➜ ExecutableElement.getReceiverType and ExecutableType.getReceiverType() Changed to Return Annotated Receiver Types for Methods Loaded from Bytecode (JDK-8319196)
  • The implementation of ExecutableElement.getReceiverType and ExecutableType.getReceiverType now returns a receiver type for methods loaded from bytecode if the type has associated type annotations. Previously, it returned NOTYPE for all methods loaded from bytecode, which prevented associated type annotations from being retrieved.
  • tools/javac:
  • ➜ TypeMirror Changed to Provide Annotations for Types Loaded from Bytecode (JDK-8225377)
  • The implementation of TypeMirror now provides access to annotations for types loaded from bytecode. Previously type annotations were not associated with types loaded from bytecode.
  • Annotation processors can access type annotations for elements using AnnotationMirror#getAnnotationMirrors, and the annotations will be included in the output of AnnotationMirror#toString.
  • Any programs that relied on annotations being omitted for elements loaded from the classpath should be updated to handle type annotations.
  • tools/javac:
  • ➜ The javac Compiler Should Not Accept Private Method References with a Type Variable Receiver (JDK-8318160)
  • Prior to JDK 22, the javac compiler was accepting private method references with a type variable receiver.

New in Java SE Development Kit (JDK) 11.0.22 (Jan 18, 2024)

  • New Features:
  • security-libs/javax.xml.crypto
  • ➜ New System Property to Toggle XML Signature Secure Validation Mode (JDK-8301260):
  • A new system property named org.jcp.xml.dsig.secureValidation has been added. It can be used to enable or disable the XML Signature secure validation mode. The system property should be set to "true" to enable, or "false" to disable. Any other value for the system property is treated as "false". If the system property is set, it supersedes the XMLCryptoContext property value.
  • Secure validation mode is enabled by default if you are running the code with a SecurityManager, otherwise it is disabled by default
  • Known Issues:
  • hotspot/compiler
  • ➜ Potential Performance Regression Due to Limited Range Check Elimination (JDK-8314468 (not public)):
  • When the C1 compiler is the only compiler available to the VM, it applies loop predication to remove array access range checks from loop bodies. Due to a defect, this optimization was disabled, potentially leading to a performance regression.
  • This only affects the client VM or VM's running with the non-default command line flags -XX:+NeverActAsServerClassMachine or -XX:TieredStopAtLevel=[1,2,3].
  • Other Notes:
  • hotspot/runtime
  • ➜ Add Process-Memory Information to hs-err and VM.info (JDK-8251255):
  • On Linux, process memory information has been added to both JVM crash reports (hs_err files) and the VM.info diagnostic jcmd. This information contains the process' virtual size, its resident set size, and how much memory was swapped out. If the JVM uses glibc, the size of glibc outstanding allocations and retained memory are printed, as well as the glibc tunables.
  • security-libs/java.security
  • ➜ Increase Default Value of the System Property jdk.jar.maxSignatureFileSize (JDK-8312489):
  • The system property, jdk.jar.maxSignatureFileSize, allows applications to control the maximum size of signature files in a signed JAR. Its default value has been increased from 8000000 bytes (8 MB) to 16000000 bytes (16 MB).
  • security-libs/java.security
  • ➜ Added Four Root Certificates from DigiCert, Inc. (JDK-8318759)
  • The following root certificates have been added to the cacerts truststore:
  • + DigiCert, Inc.:
  • + digicertcseccrootg5
  • DN: CN=CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
  • + DigiCert, Inc.
  • + digicertcsrsarootg5
  • DN: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
  • + DigiCert, Inc.
  • + digicerttlseccrootg5
  • DN: DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
  • + DigiCert, Inc.
  • + digicerttlsrsarootg5
  • DN: DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
  • security-libs/java.security
  • ➜ Added Three Root Certificates from eMudhra Technologies Limited (JDK-8319187):
  • The following root certificates have been added to the cacerts truststore:
  • + eMudhra Technologies Limited
  • + emsignrootcag1
  • DN: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
  • + eMudhra Technologies Limited
  • + emsigneccrootcag3
  • DN: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
  • + eMudhra Technologies Limited
  • + emsignrootcag2
  • DN: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
  • security-libs/java.security
  • ➜ Added Telia Root CA v2 Certificate (JDK-8317373):
  • The following root certificate has been added to the cacerts truststore:
  • + Telia Root CA v2
  • + teliarootcav2
  • DN: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
  • security-libs/java.security
  • ➜ Added ISRG Root X2 CA Certificate from Let's Encrypt (JDK-8317374):
  • The following root certificate has been added to the cacerts truststore:
  • + Let's Encrypt
  • + letsencryptisrgx2
  • DN: CN=ISRG Root X2, O=Internet Security Research Group, C=US
  • security-libs/javax.net.ssl
  • ➜ Call X509KeyManager.chooseClientAlias Once for All Key Types (JDK-8262186):
  • The (D)TLS implementation in JDK now calls X509KeyManager.chooseClientAlias() only once during handshaking for client authentication, even if there are multiple algorithms requested .
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.
  • ➜ Issues fixed in 11.0.22:
  • java/awt/Frame/FrameLocationTest/FrameLocationTest.java fails
  • Deadlock in Sound System
  • TAB key cannot change input focus after the radio button in the Color Selection dialog
  • Check boxes and radio buttons have rendering issues on Windows in High DPI env
  • Signed jars triggering Logger finder recursion and StackOverflowError
  • The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
  • com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
  • The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
  • Dynalink leaks memory when generating type converters
  • C1 compilation crashes in LinearScan::resolve_exception_edge
  • C2 crash due to unexpected exception control flow
  • AArch64: Vector registers are clobbered by some macroassemblers
  • Better diagnostic header for CodeBlobs
  • Better diagnostic header for VtableStub
  • Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
  • Simplify usage of Compile::print_method() when debugging with gdb and enable its use with rr
  • [BACKOUT] 8308682: Enhance AES performance
  • [REDO] Enhance AES performance
  • Crash in HSpaceCounters::update_used()
  • Print count in "Too many recored phases?" assert
  • Clarify TLABWasteTargetPercent flag
  • Committed > max memory usage when getting MemoryUsage
  • Clean up G1MonitoringSupport
  • Move G1 serviceability functionality to G1MonitoringSupport
  • Put archive regions into a first-class HeapRegionSet
  • Mallinfo deprecated in glibc 2.33
  • RSA signature verification fails on signed data that does not encode params correctly
  • Allocate BadPaddingException only if it will be thrown
  • Verify 4th party information in src/jdk.internal.le/share/legal/jline.md

New in Java SE Development Kit (JDK) 22 Build 22 OpenJDK EA (Nov 2, 2023)

  • ProblemList java/lang/management/MemoryMXBean/CollectionUsageThreshold.java in Xcomp
  • G1: Memory leak in G1CodeRootSet after JDK-8315503

New in Java SE Development Kit (JDK) 21.0.1 (Oct 18, 2023)

  • security-libs/java.security ➜ Added Certigna Root CA Certificate (JDK-8314960):
  • The following root certificate has been added to the cacerts truststore:
  • Certigna (Dhimyotis)
  • certignarootca
  • DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
  • security-libs/java.security ➜ Increase Default Value of the System Property jdk.jar.maxSignatureFileSize (JDK-8312489):
  • The system property, jdk.jar.maxSignatureFileSize, allows applications to control the maximum size of signature files in a signed JAR. Its default value has been increased from 8000000 bytes (8 MB) to 16000000 bytes (16 MB).
  • Bug Fixes:
  • Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
  • [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
  • MidiSystem.getSoundbank() throws unexpected SecurityException
  • java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations"
  • Socket.setOption(TCP_QUICKACK) uses wrong level
  • Invalid CEN header (invalid zip64 extra data field size)
  • MatchResult produces StringIndexOutOfBoundsException for groups outside match
  • com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
  • The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
  • C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers
  • C2: Sinking node may cause required cast to be dropped
  • C1: Incorrect LoadIndexed value numbering
  • SegmentedCodeCache fails when using large pages
  • SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
  • C1 compilation crashes in LinearScan::resolve_exception_edge
  • C1 should not inline through interface calls with non-subtype receiver
  • C2 crash due to unexpected exception control flow
  • Remove unused MemAllocator::obj_memory_range
  • JVM should trim the native heap
  • Linux: Provide the option to override the timer slack
  • THPs cause huge RSS due to thread start timing issue
  • [linux] SIGSEGV if kernel was built without hugepage support
  • Print instruction blocks in byte units
  • WSL Linux build crashes after JDK-8310233
  • Rename DisableTHPStackMitigation flag to THPStackMitigation
  • SymbolTable::do_add_if_needed hangs when called in InstanceKlass::add_initialization_error path with requesting length exceeds max_symbol_length
  • SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter
  • SA fails to properly attach to JVM after having just detached from a different JVM
  • Add missing classpath exception copyright header
  • DSA does not reset SecureRandom when initSign is called again
  • Allocate BadPaddingException only if it will be thrown
  • ECKeySizeParameterSpec causes too many exceptions on third party providers
  • sun/security/pkcs11/KeyStore/CertChainRemoval.java fails after 8301154
  • Case enumConstant, pattern compilation fails
  • Multiple patterns without unnamed variables
  • Strange error message when switching over long
  • Incorrect warnings about implicit annotation processing
  • javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class
  • MethodTooLargeException thrown while creating a jlink image
  • [macOS] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters

New in Java SE Development Kit (JDK) 21 (Sep 22, 2023)

  • Major New Functionality:
  • 1. Language Feature:
  • ➜ Record Patterns
  • Enhance the Java programming language with record patterns to deconstruct record values. Record patterns and type patterns can be nested to enable a powerful, declarative, and composable form of data navigation and processing.
  • See JEP 440
  • ➜ Pattern Matching for switch
  • Enhance the Java programming language with pattern matching for switch expressions and statements. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.
  • See JEP 441
  • 1.1 Language Features Previews:
  • ➜ String Templates (Preview)
  • Enhance the Java programming language with string templates. String templates complement Java's existing string literals and text blocks by coupling literal text with embedded expressions and template processors to produce specialized results. This is a preview language feature and API.
  • See JEP 430
  • See below for additional information
  • ➜ Unnamed Patterns and Variables (Preview)
  • Enhance the Java language with unnamed patterns, which match a record component without stating the component's name or type, and unnamed variables, which can be initialized but not used. Both are denoted by an underscore character, _. This is a preview language feature.
  • See JEP 443
  • ➜ Unnamed Classes and Instance Main Methods (Preview)
  • Evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs. Far from using a separate dialect of Java, students can write streamlined declarations for single-class programs and then seamlessly expand their programs to use more advanced features as their skills grow. This is a preview language feature.
  • See JEP 445
  • See below for additional information
  • 2. Libraries Improvements:
  • ➜ Virtual Threads
  • Introduce virtual threads to the Java Platform. Virtual threads are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications.
  • See JEP 444
  • ➜ Sequenced Collections
  • Introduce new interfaces to represent collections with a defined encounter order. Each such collection has a well-defined first element, second element, and so forth, up to the last element. It also provides uniform APIs for accessing its first and last elements, and for processing its elements in reverse order.
  • "Life can only be understood backwards; but it must be lived forwards."
  • — Kierkegaard
  • ➜ Key Encapsulation Mechanism API
  • Introduce an API for key encapsulation mechanisms (KEMs), an encryption technique for securing symmetric keys using public key cryptography.
  • See JEP 452
  • 2.1 Library Improvements Previews and Incubator:
  • ➜ Foreign Function & Memory API (Third Preview)
  • Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI. This is a preview API.
  • See JEP 442
  • ➜ Structured Concurrency (Preview)
  • Simplify concurrent programming by introducing an API for structured concurrency. Structured concurrency treats groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is a preview API.
  • See JEP 453
  • ➜ Scoped Values (Preview)
  • Introduce scoped values, values that may be safely and efficiently shared to methods without using method parameters. They are preferred to thread-local variables, especially when using large numbers of virtual threads. This is a preview API.
  • In effect, a scoped value is an implicit method parameter. It is "as if" every method in a sequence of calls has an additional, invisible, parameter. None of the methods declare this parameter and only the methods that have access to the scoped value object can access its value (the data). Scoped values make it possible to pass data securely from a caller to a faraway callee through a sequence of intermediate methods that do not declare a parameter for the data and have no access to the data.
  • See JEP 446
  • ➜ Vector API (Sixth Incubator)
  • Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.
  • See JEP 448
  • 3. Performance Improvements:
  • ➜ Generational ZGC
  • Improve application performance by extending the Z Garbage Collector (ZGC) to maintain separate generations for young and old objects. This will allow ZGC to collect young objects — which tend to die young — more frequently.
  • See JEP 439
  • See below for additional information
  • 4. Stewardship:
  • ➜ Prepare to Disallow the Dynamic Loading of Agents
  • Issue warnings when agents are loaded dynamically into a running JVM. These warnings aim to prepare users for a future release which disallows the dynamic loading of agents by default in order to improve integrity by default. Serviceability tools that load agents at startup will not cause warnings to be issued in any release.
  • See JEP 451
  • See below for additional information
  • New Features
  • This section describes some of the enhancements in Java SE 21 and JDK 21. In some cases, the descriptions provide links to additional detailed information about an issue or a change. The APIs described here are provided with the Oracle JDK. It includes a complete implementation of the Java SE 21 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 21 and JDK 21 is the Java SE 21 ( JSR 396) Platform Specification, which documents the changes to the specification made between Java SE 20 and Java SE 21. This document includes descriptions of those new features and enhancements that are also changes to the specification. The descriptions also identify potential compatibility issues that you might encounter when migrating to JDK 21.
  • core-libs/java.lang
  • ➜ Runtime.exec and ProcessBuilder Logging of Command Arguments (JDK-8303392)
  • Processes started by Runtime.exec and ProcessBuilder can be enabled to log the command, arguments, directory, stack trace, and process id. The exposure of this information should be reviewed before implementation. Logging of the information is enabled when the logging level of the System#getLogger(String) named java.lang.ProcessBuilder is System.Logger.Level.DEBUG or Logger.Level.TRACE. When enabled for Level.DEBUG, only the process id, directory, command, and stack trace are logged. When enabled for Level.TRACE, the command arguments are included with the process id, directory, command, and stack trace.
  • core-libs/java.lang
  • ➜ System.exit() and Runtime.exit() Logging (JDK-8301627)
  • Calls to java.lang.System.exit() and Runtime.exit() are logged to the logger named java.lang.Runtime with a logging level of System.Logger.DEBUG. When the configuration of the logger allows, the caller can be identified from the stack trace included in the log.
  • core-libs/java.lang
  • ➜ Math.clamp() and StrictMath.clamp() Methods (JDK-8301226)
  • The methods Math.clamp() and StrictMath.clamp() are added to conveniently clamp the numeric value between the specified minimum and maximum values. Four overloads are provided in both Math and StrictMath classes for int, long, float, and double types. A clamp(long value, int min, int max) overload can also be used to safely narrow a long value to int.
  • core-libs/java.lang
  • ➜ New String indexOf(int,int,int) and indexOf(String,int,int) Methods to Support a Range of Indices (JDK-8302590)
  • Two new methods indexOf(int ch, int beginIndex, int endIndex) and indexOf(String str, int beginIndex, int endIndex) are added to java.lang.String to support forward searches of character ch, and of String str, respectively, and limited to the specified range of indices.
  • Besides full control on the search range, they are safer to use than indexOf(int ch, int fromIndex) and indexOf(String str, int fromIndex), respectively, because they throw an exception on illegal search ranges.
  • Method indexOf(int ch, int beginIndex, int endIndex) is covered by JDK-8302590, and method indexOf(String str, int beginIndex, int endIndex) is covered by JDK-8303648.
  • core-libs/java.lang
  • ➜ Unicode Emoji Properties (JDK-8303018)
  • The following six new methods are added to java.lang.Character for obtaining Emoji character properties, which are defined in the Unicode Emoji Technical Standard (UTS #51) :
  • isEmoji(int codePoint)
  • isEmojiPresentation(int codePoint)
  • isEmojiModifier(int codePoint)
  • isEmojiModifierBase(int codePoint)
  • isEmojiComponent(int codePoint)
  • isExtendedPictographic(int codePoint)
  • core-libs/java.lang
  • ➜ New splitWithDelimiters() Methods Added to String and java.util.regex.Pattern (JDK-8305486)
  • Unlike the split() methods, these new splitWithDelimiters() methods in java.lang.String and java.util.regex.Pattern return an alternation of strings and matching delimiters, rather than just the strings.
  • core-libs/java.net
  • ➜ The java.net.http.HttpClient Is Now AutoCloseable (JDK-8267140)
  • The following methods have been added to the API:
  • void close(): closes the client gracefully, waiting for submitted requests to complete.
  • void shutdown(): initiates a graceful shutdown, then returns immediately without waiting for the client to terminate.
  • void shutdownNow(): initiates an immediate shutdown, trying to interrupt active operations, and returns immediately without waiting for the client to terminate.
  • boolean awaitTermination(Duration duration): waits for the client to terminate, within the given duration; returns true if the client is terminated, false otherwise.
  • boolean isTerminated(): returns true if the client is terminated.
  • The instances returned by HttpClient.newHttpClient(), and the instances built from HttpClient.newBuilder(), provide a best effort implementation for these methods. They allow the reclamation of resources allocated by the HttpClient early, without waiting for its garbage collection.
  • Note that an HttpClient instance typically manages its own pools of connections, which it may then reuse when necessary. Connection pools are typically not shared between HttpClient instances. Creating a new client for each operation, though possible, will usually prevent reusing such connections.
  • core-libs/java.nio.charsets
  • ➜ Support for GB18030-2022 (JDK-8301119)
  • China National Standard body (CESI) has recently published GB18030-2022 which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The Charset implementation for this new standard has now replaced the prior 2000 standard. However, this new standard has some incompatible changes from the prior implementation. For those who need to use the old mappings, a new system property jdk.charset.GB18030 is introduced. By setting its value to 2000, the previous JDK releases' mappings for the GB18030 Charset are used which are based on the 2000 standard.
  • core-libs/java.util
  • ➜ New StringBuilder and StringBuffer repeat Methods (JDK-8302323)
  • The methods public StringBuilder repeat(int codePoint, int count) and public StringBuilder repeat(CharSequence cs, int count) have been added to java.lang.StringBuilder and java.lang.StringBuffer to simplify the appending of multiple copies of characters or strings. For example, sb.repeat('-', 80) will insert 80 hyphens into the value of the java.lang.StringBuilder sb object.
  • core-libs/java.util.regex
  • ➜ Emoji Related Binary Properties in RegEx (JDK-8305107)
  • Emoji-related properties introduced in (JDK-8303018) can now be used as binary properties in the java.util.regex.Pattern class. One can match characters that have Emoji-related properties with the new p{IsXXX} constructs. For example,
  • Pattern.compile("\p{IsEmoji}").matcher("🉐").matches()
  • returns true.
  • core-libs/java.util:collections
  • ➜ Sequenced Collections (JEP 431)
  • The Sequenced Collection API introduces several new interfaces into the collections framework, providing enhancements to many existing collections classes. The new API facilitates access to elements at each end of a sequenced collection, and provides the ability to view and iterate such collections in reverse order. See JEP 431 for additional information.
  • The introduction of new collections interfaces, along with default methods, introduces some compatibility risk, including the possibility of both source and binary incompatibilities. The introduction of default methods in an interface hierarchy may cause conflicts with methods declared on existing classes or interfaces that extend collections interfaces - this could result in either source or binary incompatibilities. The introduction of new interfaces also introduces new types into the system, which can change the results of type inference, leading in turn to source incompatibilities.
  • For a discussion of potential incompatibilities and possible ways to mitigate them, please see the document JDK 21: Sequenced Collections Incompatibilities.
  • core-svc/tools
  • ➜ Warning Printed When an Agent Is Loaded into a Running VM (JEP 451)
  • The Java Virtual Machine (JVM) now prints a warning to standard error when a JVM Tool Interface (JVM TI) agent or Java Agent is dynamically loaded into a running JVM. The warning is intended to prepare for a future release that disallows, by default, dynamic loading of agent code into a running JVM.
  • Agents are programs that run in the JVM process and make use of powerful JVM TI or java.lang.instrument APIs. These APIs are designed to support tooling such as profilers and debuggers. Agents are started via a command line option, for example -agentlib or -javaagent, or they can be started into a running VM using the JDK specific com.sun.tools.attach API or the jcmd command. Agents loaded into a running VM will now print a warning. There is no warning for agents that are loaded at startup via command line options.
  • The HotSpot VM option EnableDynamicAgentLoading controls dynamic loading of agents. This option has existed since JDK 9. The default, since JDK 9, is to allow dynamic loading of agents. Running with -XX:+EnableDynamicAgentLoading on the command line serves as an explicit "opt-in" that allows agent code to be loaded into a running VM and thus suppresses the warning. Running with -XX:-EnableDynamicAgentLoading disallows agent code from being loaded into a running VM and can be used to test possible future behavior.
  • In addition, the system property jdk.instrument.traceUsage can be used to trace uses of the java.lang.instrument API. Running with -Djdk.instrument.traceUsage or -Djdk.instrument.traceUsage=true causes usages of the API to print a trace message and stack trace. This can be used to identify agents that are dynamically loaded instead of being started on the command line with -javaagent.
  • More information on this change can be found in JEP 451.
  • hotspot/gc
  • ➜ Generational ZGC (JEP 439)
  • Applications running with Generational ZGC should enjoy:
  • Lower risks of allocations stalls,
  • Lower required heap memory overhead, and
  • Lower garbage collection CPU overhead.
  • Enable Generational ZGC with command line options -XX:+UseZGC -XX:+ZGenerational
  • For further details, see JEP 439.
  • hotspot/gc
  • ➜ Last Resort G1 Full GC Moves Humongous Objects (JDK-8191565)
  • A full garbage collection (GC) in the Garbage First (G1) collector now moves humongous objects to avoid Out-Of-Memory situations due to a lack of contiguous space in the Java heap when the application allocates humongous objects.
  • Previously, G1 failed to allocate those humongous objects, reporting an Out-Of-Memory exception in this situation.
  • This functionality is a last resort measure, causing a second full GC in the same pause after the previous full GC fails to clear out enough contiguous memory for the allocation.
  • hotspot/jfr
  • ➜ New JFR View Command (JDK-8306703)
  • A new view command has been added to the JFR tool and jcmd. The command can aggregate and display event data in a tabular form without the need to dump a recording file or open JDK Mission Control. There are 70 predefined views, such as hot-methods, gc-pauses, pinned-threads, allocation-by-site, gc, memory-leaks-by-class, and more. A list of available views can be found through using jcmd <pid> JFR.view or jfr view.
  • security-libs/java.security
  • ➜ Enhanced OCSP, Certificate, and CRL Fetch Timeouts (JDK-8179502)
  • This feature delivers an enhanced syntax for properties related to certificate, CRL, and OCSP connect and read timeouts. The new syntax allows the timeout values to be specified either in seconds or milliseconds. This feature also delivers three new System properties related to connect and read timeouts.
  • New properties: The existing com.sun.security.ocsp.timeout property will now be paired with the new com.sun.security.ocsp.readtimeout property. The former property will be used to set timeouts for the transport-layer connection while the latter will be used to manage timeouts for reading the data. The new com.sun.security.cert.timeout and com.sun.security.cert.readtimeout properties will be used to control connect and read timeouts, respectively, when following an X.509 certificate's AuthorityInfoAccess extension. For the certificate fetching properties, the com.sun.security.enableAIAcaIssuers property must be set to true in order for fetching to occur and these property timeouts to be enabled.
  • Enhanced timeout syntax: The new syntax applies to the aforementioned properties, and also to the com.sun.security.crl.timeout and com.sun.security.crl.readtimeout properties as well. The allowed syntax is as follows:
  • A decimal integer will be interpreted in seconds and ensures backward compatibility.
  • A decimal integer ending in "s" (case-insensitive, no space) appended to it. This will also be interpreted in seconds.
  • A decimal integer value with "ms" (case-insensitive, no space) appended to it. This will be interpreted as milliseconds. For example, a value of "2500ms" will be a 2.5 second timeout.
  • Negative, non-numeric, or non-decimal (for example, hexadecimal values prepended by "0x") values will be interpreted as illegal and will default to the 15 second timeout.
  • Whether the value is interpreted in seconds or milliseconds, a value of zero will disable the timeout.
  • security-libs/java.security
  • ➜ Support for HSS/LMS Signature Verification (JDK-8298127)
  • A new standard signature algorithm named "HSS/LMS" has been introduced. The HSS/LMS algorithm is defined in RFC 8554: Leighton-Micali Hash-Based Signatures and NIST Special Publication 800-208. New KeyFactory and Signature implementations are available for the algorithm. The KeyFactory only operates on public keys and the Signature only covers the verification part.
  • security-libs/javax.crypto
  • ➜ SunJCE Provider Now Supports SHA-512/224 and SHA-512/256 As Digests for the PBES2 Algorithms (JDK-8288050)
  • The SunJCE provider is enhanced with additional PBES2 Cipher and Mac algorithms, such as those using SHA-512/224 and SHA-512/256 message digests. To be more specific, callers can now use the SunJCE provider for PBEWithHmacSHA512/224AndAES_128, PBEWithHmacSHA512/256AndAES_128, PBEWithHmacSHA512/224AndAES_256, and PBEWithHmacSHA512/256AndAES_256 Ciphers and PBEWithHmacSHA512/224, and PBEWithHmacSHA512/256 Mac.
  • security-libs/javax.crypto:pkcs11
  • ➜ Support for Password-Based Cryptography in SunPKCS11 (JDK-8301553)
  • The SunPKCS11 security provider now supports Password-Based Cryptography algorithms for Cipher, Mac, and SecretKeyFactory service types. You will find the list of algorithms in JDK-8308719. As a result of this enhancement, SunPKCS11 can now be used for privacy and integrity in PKCS #12 key stores.
  • security-libs/javax.xml.crypto
  • ➜ New System Property to Toggle XML Signature Secure Validation Mode (JDK-8301260)
  • A new system property named org.jcp.xml.dsig.secureValidation has been added. It can be used to enable or disable the XML Signature secure validation mode. The system property should be set to "true" to enable, or "false" to disable. Any other value for the system property is treated as "false". If the system property is set, it supersedes the XMLCryptoContext property value.
  • By default, the secure validation mode is enabled. Disabling the secure validation mode should be done at your own risk.
  • security-libs/javax.xml.crypto
  • ➜ Update XML Security for Java to 3.0.2 (JDK-8305972)
  • The XML Signature implementation has been updated to Santuario 3.0.2. The main, new feature is support for EdDSA. One 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".
  • specification/language
  • ➜ String Templates (Preview) (JEP 430)
  • String templates allow text and expressions to be composed without using the + operator. The result is often a string, but can also be an object of another type. Each string template has a template processor that validates the text and expressions before composing them, achieving greater safety than basic 'string interpolation' features in other languages.
  • specification/language
  • ➜ Unnamed Classes and Instance Main Methods (Preview) (JEP 445)
  • Unnamed classes and instance main methods enable students to write streamlined declarations for single-class programs and then seamlessly expand their programs later to use more advanced features as their skills grow. Unnamed classes allow the user to provide class content without the full ceremony of the class declaration. The instance main method feature allows the user to drop the formality of public static void main(String[] args) and simply declare void main().
  • tools/javac
  • ➜ New javac Warning When Calling Overridable Methods in Constructors (JDK-8015831)
  • The new lint option, this-escape, has been added to javac to warn about calls to overridable methods in the constructor body which might result in access to a partially constructed object from subclasses.
  • The new warning can be suppressed using SuppressWarnings("this-escape").
  • tools/javac
  • ➜ Generate "output file clash" Warning when an Output File is Overwritten During Compilation (JDK-8287885)
  • Prior to JDK 21, the javac compiler was overwriting some output files during compilation. This can occur, for example, on case-insensitive file systems.
  • Starting from JDK 21 a new compiler option: -Xlint:output-file-clash has been added to the javac compiler. This new option should provide a way for users experiencing this problem to convert what is currently a runtime error into a compile-time warning (or error with -Werror). This new compiler option enables output file clash detection. The term "output file" covers class files, source files, and native header files.
  • tools/javadoc(tool)
  • ➜ Support Searching for Section Headings in Generated Documentation (JDK-8286470)
  • API documentation generated by JavaDoc now supports searching for headings of sections within the documentation.
  • tools/jshell
  • ➜ JDK Tool Access in JShell (JDK-8306560)
  • The JShell tool for interactive exploration of Java code has been enhanced with a new predefined script, TOOLING. The TOOLING script provides direct access to the JDK's command line tools, such as javac, javadoc, and javap, from within JShell.
  • Similar to the existing predefined DEFAULT and PRINTING scripts, the TOOLING script can be loaded when JShell starts by running: jshell TOOLING. Alternatively, it can be loaded within a JShell session by using: /open TOOLING. With the TOOLING script loaded, JDK tools can be run by passing a name and arguments to the method run(String name, String... args). The method tools() prints the names of available tools.
  • The TOOLING script defines convenience methods for the most commonly used tools, such as javac(String... args). Here is an example of running the javap tool that disassembles and prints an overview of a class or interface:
  • jshell> interface Empty {}
  • jshell> javap(Empty.class)
  • tools/launcher
  • ➜ -XshowSettings:locale Output Now Includes Tzdata Version (JDK-8305950)
  • The -XshowSettings launcher option has been enhanced to print the tzdata version configured with the JDK. The tzdata version is displayed as part of the locale showSettings option.
  • Example output using -X:showSettings:locale:
  • .....
  • Locale settings:
  • default locale = English
  • default display locale = English
  • default format locale = English
  • tzdata version = 2023c
  • .....
  • xml/jaxp
  • ➜ Changes to JAXP Configuration Files (JDK-8303530)
  • The following changes have been made with regard to the JAXP configuration files:
  • Added the jaxp.properties file to the JDK at $JAVA_HOME/conf/jaxp.properties as the default JAXP configuration file. Property settings in the file reflect the current, built-in defaults for the JDK.
  • Added a new System Property, java.xml.config.file, for specifying the location of a custom configuration file. If it is set and the named file exists, the property settings contained in the file override those in the default JAXP configuration file. For more details, see the Configuration section of the module specification.
  • Deprecated the stax.properties file that was defined in the StAX API and used by the StAX factories. It had been made redundant after StAX's integration into JAXP since the function has been fully covered by the JAXP configuration file. It is recommended that applications migrate to the JAXP configuration file as the stax.properties file is deprecated and may no longer be supported in the future.
  • Removed Features and Options:
  • This section describes the APIs, features, and options that were removed in Java SE 21 and JDK 21. The APIs described here are those that are provided with the Oracle JDK. It includes a complete implementation of the Java SE 21 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 21 and JDK 21 is the Java SE 21 ( JSR 396) Platform Specification, which documents changes to the specification made between Java SE 20 and Java SE 21. This document includes the identification of removed APIs and features not described here. The descriptions below might also identify potential compatibility issues that you could encounter when migrating to JDK 21. See CSRs Approved for JDK 21 for the list of CSRs closed in JDK 21.
  • core-libs/java.io
  • ➜ java.io.File's Canonical Path Cache Is Removed (JDK-8300977)
  • java.io.File has historically cached canonical paths, and part paths, to help the performance of the File::getCanonicalFile and File::getCanonicalPath when running with a SecurityManager set. The cache had correctness issues in environments with symbolic links and has been disabled by default since JDK 12. The cache has been removed in this release, along with the system properties sun.io.useCanonCaches and sun.io.useCanonPrefixCache. Setting these properties no longer has any effect.
  • core-libs/java.lang
  • ➜ ThreadGroup.allowThreadSuspension Is Removed (JDK-8297295)
  • The method java.lang.ThreadGroup.allowThreadSuspension(boolean) has been removed in this release. The method was used for low memory handling in JDK 1.1 but was never fully specified. It was deprecated and changed to "do nothing" in JDK 1.2 (1998).
  • core-libs/java.lang
  • ➜ Removal of the java.compiler System Property (JDK-8041676)
  • The system property java.compiler has been removed from the list of standard system properties.
  • Running with this system property set on the command line will now print a warning to say that the system property is obsolete; it has no other effect. In previous releases, running with -Djava.compiler or -Djava.compiler=NONE on the command line selected interpreter only execution mode. If needed, the -Xint option can be used to run in interpreter only mode.
  • core-libs/java.lang
  • ➜ The java.lang.Compiler Class Has Been Removed (JDK-8205129)
  • The java.lang.Compiler class has been removed. This under-specified API dates from JDK 1.0 and the "Classic VM" used in early JDK releases. Its implementation in the HotSpot VM does nothing but print a warning that it is not supported. The class has been deprecated and marked for removal since Java SE 9.
  • core-libs/java.util.jar
  • ➜ Remove the JAR Index Feature (JDK-8302819)
  • The "JAR Index" feature has been dropped from the JAR file specification. JAR Index was a legacy optimization in early JDK releases to allow downloading of JAR files to be postponed when loading applets or other classes over the network. The feature has been disabled since JDK 18, meaning the META-INF/INDEX.LIST entry in a JAR file is ignored at run-time.
  • The system property jdk.net.URLClassPath.enableJarIndex, introduced in JDK 18 to re-enable the feature, has been removed. Setting this property no longer has any effect.
  • As part of the change, the jar tool will now output a warning if the -i or --generate-index options are used.
  • core-svc/javax.management
  • ➜ javax.management.remote.rmi.RMIIIOPServerImpl Is Removed (JDK-8307244)
  • The class javax.management.remote.rmi.RMIIIOPServerImpl has been removed. The IIOP transport was removed from the JMX Remote API in JDK 9. This class has been deprecated and its constructor changed to throw UnsupportedOperationException since Java SE 9.
  • hotspot/gc
  • ➜ Removal of G1 Hot Card Cache (JDK-8225409)
  • The G1 Hot Card Cache has been removed. Performance testing has shown that after improvements to the concurrent refinement control, it does not contribute to performance.
  • Removal reduces the memory footprint of the G1 garbage collector by around 0.2% of the Java heap size.
  • The associated configuration options G1ConcRSLogCacheSize and G1ConcRSHotCardLimit have been obsoleted. A warning will be issued at startup about these options if they are used.
  • hotspot/runtime
  • ➜ Obsolete Legacy HotSpot Parallel Class Loading Workaround Option -XX:+EnableWaitForParallelLoad Is Removed (JDK-8298469)
  • Some older, user-defined class loaders would workaround a deadlock issue by releasing the class loader lock during the loading process. To prevent these loaders from encountering a java.lang.LinkageError: attempted duplicate class definition while loading the same class by parallel threads, the HotSpot Virtual Machine introduced a workaround in JDK 6 that serialized the load attempts, causing the subsequent attempts to wait for the first to complete.
  • The need for class loaders to work this way was removed in JDK 7 when parallel-capable class loaders were introduced, but the workaround remained in the VM. The workaround was deprecated in JDK 20 and the option -XX:+EnableWaitForParallelLoad was introduced for users who relied on this legacy behavior. The default for this option was off.
  • In JDK 21, the option -XX:+EnableWaitForParallelLoad, and the code to support it, has been removed.
  • See CSR JDK-8304056 for more details.
  • hotspot/runtime
  • ➜ The MetaspaceReclaimPolicy Flag has Been Obsoleted (JDK-8302385)
  • The option MetaspaceReclaimPolicy existed to fine-tune the memory reclamation behavior of metaspace after class unloading. In practice, this had limited effect and was rarely used.
  • The option has therefore been obsoleted. It now produces an obsolete warning and is ignored.
  • security-libs/java.security
  • ➜ Removed SECOM Trust System's RootCA1 Root Certificate (JDK-8295894)
  • The following root certificate from SECOM Trust System has been removed from the cacerts keystore:
  • + alias name "secomscrootca1 [jdk]"
  • Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
  • security-libs/jdk.security
  • ➜ Removal of ContentSigner APIs and jarsigner -altsigner and -altsignerpath Options (JDK-8303410)
  • The jarsigner options -altsigner and -altsignerpath have been removed, along with the underlying ContentSigner API in the com.sun.jarsigner package. The mechanism was deprecated in JDK 9 and marked for removal in JDK 15.
  • Deprecated Features and Options:
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 21 and JDK 21 include:
  • The Deprecated API page identifies all deprecated APIs including those deprecated in Java SE 21.
  • The Java SE 21 ( JSR 396) specification documents changes to the specification made between Java SE 20 and Java SE 21 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 21. See CSRs Approved for JDK 21 for the list of CSRs closed in JDK 21.
  • client-libs/java.awt
  • ➜ Deprecate GTK2 for Removal (JDK-8280031)
  • Implementation support for AWT/Swing using GTK2 on Linux is now deprecated for removal.
  • With the announcement of the GTK4 release in December 2020, the GTK 2 toolkit is reaching its end of life. GTK2 support is therefore expected to be removed some time after no JDK supported platform needs it.
  • GTK3 is the current default and Swing applications which opt-in to using GTK2 on Linux by setting the System Property -Djdk.gtk.version=2 will now see the following warning printed:
  • WARNING: the GTK 2 library is deprecated and its support will be removed in a future release.
  • core-libs/java.nio
  • ➜ com.sun.nio.file.SensitivityWatchEventModifier Is Deprecated (JDK-8303175)
  • com.sun.nio.file.SensitivityWatchEventModifier has been deprecated and is marked for removal in a future release. The constants in this enum were used with the polling based WatchService implementation on macOS to set the interval when polling files for changes. The polling based WatchService has been changed to ignore these modifiers when registering files to be watched.
  • core-libs/java.util:i18n
  • ➜ Emit Warning for Removal of COMPAT Provider (JDK-8304982)
  • Users now see a warning message if they specify either COMPAT or JRE locale data with the java.locale.providers system property and call some locale-sensitive operations. COMPAT was provided for migration to the CLDR locale data at the time of JDK 9, where it became the default locale data (JEP 252). JDK 21 retains the legacy locale data of JDK 8 for compatibility, but some of the newer functionalities are not applied. The legacy locale data will be removed in a future release. Users are encouraged to migrate to the CLDR locale data.
  • core-svc/javax.management
  • ➜ Deprecate JMX Subject Delegation and the JMXConnector.getMBeanServerConnection(Subject) Method for Removal (JDK-8298966)
  • The JMX Subject Delegation feature is deprecated and marked for removal in a future release. This feature is enabled by the method javax.management.remote.JMXConnector.getMBeanServerConnection(javax.security.auth.Subject) which is deprecated for removal.
  • If a client application needs to perform operations as, or on behalf of, multiple identities, it will need to make multiple calls to JMXConnectorFactory.connect() and to the getMBeanServerConnection() method on the returned JMXConnector.
  • Notable Issues Resolved:
  • The following notes describe previous known issues or limitations that have been corrected in this release.
  • core-libs/java.lang
  • ➜ Fixed Indefinite jspawnhelper Hangs (JDK-8307990)
  • Since JDK 13, executing commands in a sub-process uses the so-called POSIX_SPAWN launching mechanism (that is, -Djdk.lang.Process.launchMechanism=POSIX_SPAWN) by default on Linux. In cases where the parent JVM process terminates abnormally before the handshake between the JVM and the newly created jspawnhelper process has completed, jspawnhelper can hang indefinitely in JDK 13 to JDK 20. This issue is fixed in JDK 21. The issue was especially harmful if the parent process had open sockets, because in that case, the forked jspawnhelper process will inherit them and keep all the corresponding ports open, effectively preventing other processes from binding to them.
  • This misbehavior has been observed with applications which frequently fork child processes in environments with tight memory constraints. In such cases, the OS can kill the JVM in the middle of the forking process leading to the described issue. Restarting the JVM process after such a crash will be impossible if the new process tries to bind to the same ports as the initial application because they will be blocked by the hanging jspawnhelper child process.
  • The root cause of this issue is jspawnhelper's omission to close its writing end of the pipe, which is used for the handshake with the parent JVM. It was fixed by closing the writing end of the communication pipe before attempting to read data from the parent process. This way, jspawnhelper will reliably read an EOF event from the communication pipe and terminate once the parent process dies prematurely.
  • A second variant of this issue could happen because the handshaking code in the JDK didn't handle interrupts to write(2) correctly. This could lead to incomplete messages being sent to the jspawnhelper child process. The result is a deadlock between the parent thread and the child process which manifests itself in a jspawnhelper process being blocked while reading from a pipe and the following stack trace in the corresponding parent Java process:
  • java.lang.Thread.State: RUNNABLE
  • at java.lang.ProcessImpl.forkAndExec([email protected]/Native Method)
  • at java.lang.ProcessImpl.<init>([email protected]/ProcessImpl.java:314)
  • at java.lang.ProcessImpl.start([email protected]/ProcessImpl.java:244)
  • at java.lang.ProcessBuilder.start([email protected]/ProcessBuilder.java:1110)
  • at java.lang.ProcessBuilder.start([email protected]/ProcessBuilder.java:1073)
  • core-libs/java.time
  • ➜ Error Computing the Amount of Milli- and Microseconds between java.time.Instants (JDK-8307466)
  • The computation of the time between java.time.Instants using ChronoUnit.MILLIS.between(t1, t2), ChronoUnit.MICROS.between(t1, t2), t1.until(t2, MILLIS), or t1.until(t2, MICROS) has been corrected. The implementation computing the number of units between Instants, as of JDK 18, did not propagate carry and borrow between seconds and nanoseconds when computing milliseconds and microseconds.
  • install/install
  • ➜ Installation of JDK RPM Corrupts Alternatives (JDK-8308244 (not public))
  • The JDK RPM installer will remove incorrectly constructed entries of "java" and "javac" groups registered by older Oracle JDK RPM installers from the alternatives before registering new "java" and "javac" entries.
  • An incorrectly constructed entry of the "java" group contains commands that are supposed to belong to the "javac" group.
  • An incorrectly constructed entry of the "javac" group contains commands that are supposed to belong to the "java" group.
  • All incorrectly constructed entries belonging to Oracle JDK RPM packages will be removed from the alternatives to avoid corruption of the alternatives internal data.
  • The removal has a potential side effect for users who have installed multiple JDK versions that are not updated to the latest release. Commands from a removed "java" or "javac" group are now unavailable for system Java switch, which potentially changes the current system Java without a warning. For example, if there is an out-of-date JDK RPM from an 11+ release, say 11.0.17, with an incorrectly constructed single "java" group installed and 8u381 RPM with this patch is installed, it will remove an entry from the "java" group belonging to the 11.0.17 RPM and thus will switch the current system Java from 11.0.17 to 8u381. The side effect will only happen when you install a lower JDK family with the fix, such as 8u381, and there is an out-of-date JDK from a higher family, such as 11.0.17, installed on the system. In that case, 8u381 will replace the older 11.0.17 as the latest. The remedy for the user is to install the latest JDK 11.
  • security-libs/java.security
  • ➜ Enhance Contents (Trusted Certificate Entries) of macOS KeychainStore (JDK-8303465)
  • The macOS KeychainStore implementation now exposes certificates with proper trust in the user domain, admin domain, or both. Before, only the user domain was considered. Furthermore, if there exists a "deny" entry for a particular purpose in a certificate's trust settings in either domain, the certificate will not be part of the macOS KeychainStore.
  • security-libs/javax.crypto
  • ➜ Allow Key/Nonce Reuse for DECRYPT_MODE ChaCha20 and ChaCha20-Poly1305 Cipher Objects (JDK-8305091)
  • The SunJCE implementation for Cipher objects using the ChaCha20 and ChaCha20-Poly1305 algorithms will now allow key/nonce reuse when in DECRYPT_MODE. This change aligns these algorithms with the current SunJCE AES-GCM decrypt mode behavior as it pertains to key/nonce reuse. All ENCRYPT_MODE key/nonce reuse prohibitions remain unchanged from their current behavior.
  • tools/javac
  • ➜ Disallow Extra Semicolons Between "import" Statements (JDK-8027682)
  • The Java Language Specification does not allow extra semicolons to appear between import statements, yet the compiler was allowing them; JDK-8027682 fixed this.
  • As a result, a program like this, which previously would have compiled successfully:
  • import java.util.Map;;;;
  • import java.util.Set;
  • class Test { }
  • will now generate an error:
  • Test.java:1: error: extraneous semicolon
  • import java.util.Map;;;;
  • For backward compatibility, when compiling source versions prior to 21, a warning is generated instead of an error.
  • Known Issues:
  • The following notes describe known issues or limitations in this release.
  • core-libs/java.util.jar
  • ➜ Validations on ZIP64 Extra Fields (JDK-8313765)
  • A JDK enhancement has improved validation of the ZIP64 Extra Fields contained within zip files and jar files. Files which do not satisfy these new validation checks may result in ZipException : Invalid CEN header (invalid zip64 extra data field size).
  • The following third party tools have released patches to better adhere to the ZIP File Format Specification:
  • Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11
  • Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14
  • BND issue with writing invalid Extra Headers fixed in BND 5.3
  • The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch.
  • If these improved validation checks cause issues for deployed zip or jar files, check how the file was created and whether patches are available from the generating software to resolve the issue. The new validation checks can be disabled by adding -Djdk.util.zip.disableZip64ExtraFieldValidation=true to the runtime launcher arguments.
  • Further modification of validations on ZIP64 Extra Fields contained within zip and jar files will be made in the upcoming JDK release. See JDK-8313765.
  • core-libs/java.util.regex
  • ➜ java.util.regex.MatchResult Might Throw StringIndexOutOfBoundsException on Regex Patterns Containing Lookaheads and Lookbehinds (JDK-8132995)
  • JDK-8132995 introduced an unintended regression when using instances returned by java.util.regex.Matcher.toMatchResult().
  • This happens on java.util.regex.Patterns containing lookaheads and lookbehinds that, in turn, contain groups. If these are located outside the match, it results in throwing StringIndexOutOfBoundsException when accessing these groups. See JDK-8312976 for an example.
  • hotspot/compiler
  • ➜ JVM May Crash or Malfunction When Using ZGC and Non-Default ObjectAlignmentInBytes (JDK-8312749)
  • Running the JVM with -XX:+UseZGC and non-default value of -XX:ObjectAlignmentInBytes may lead to JVM crashes or incorrect execution. The issue is caused by an incorrect JIT compiler optimization of the java.lang.Object.clone() method for this configuration. If using ZGC with a non-default value of ObjectAlignmentInBytes is desired, JIT compilation of java.lang.Object.clone() can be disabled using the command-line options -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_clone.
  • hotspot/gc
  • ➜ JVM May Hang When Using Generational ZGC if a VM Handshake Stalls on Memory (JDK-8311981)
  • The JVM can hang under an uncommon condition that involves the JVM running out of heap memory, the GC just starting a relocation phase to reclaim memory, and a JVM thread-local Handshake asking to relocate an object.

New in Java SE Development Kit (JDK) 21 Build 33 OpenJDK EA (Jul 28, 2023)

  • Concurrency regression in the PBKDF2 key impl of SunJCE provider
  • Pkcs11 native libraries make JNI calls into java code while holding GC lock
  • Assert(JvmtiEnvBase::environments_might_exist()) failed: to enter event controller, JVM TI environments must exist
  • ProblemList java/util/concurrent/tck/JSR166TestCase.java on select platforms

New in Java SE Development Kit (JDK) 20.0.2 (Jul 19, 2023)

  • JDK 20.0.2 contains IANA time zone data 2023c which contains the following changes:
  • Egypt now uses DST again, from April through October.
  • This year Morocco springs forward April 23, not April 30.
  • Palestine delays the start of DST this year.
  • Much of Greenland still uses DST from 2024 on.
  • America/Yellowknife now links to America/Edmonton.
  • tzselect can now use current time to help infer timezone.
  • The code now defaults to C99 or later.
  • Fix use of C23 attributes.
  • Lebanon delays the start of DST this year.
  • This release's code and data are identical to 2023a.
  • New Features:
  • core-libs/java.nio.charsets
  • ➜ Support for GB18030-2022 (JDK-8307229):
  • The China National Standard body (CESI) has recently published GB18030-2022, which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The Charset implementation for this new standard has now replaced the prior 2000 standard. However, this new standard has some incompatible changes from the prior implementation. For those who need to use the old mappings, a new system property, jdk.charset.GB18030, is introduced. By setting its value to 2000, the previous JDK releases' mappings for the GB18030 Charset are used, which are based on the 2000 standard.
  • Known Issues:
  • install
  • ➜ Problem Upgrading JDK on Windows if System User Is Using Shared Files (JDK-8310932 (not public)):
  • Installing into the same, shared jdk-(family) directory is the default behavior for the JDK starting with the July 2023 CPU. It could lead to FilesInUse issues if JDK files are locked by the "System User". We recommend shutting down any apps using the JDK as the "System User" before upgrading.
  • Other Notes:
  • install/install
  • ➜ Missing /usr/java/default Symlink on Linux Restored (JDK-8306690):
  • A regression where the /usr/java/default symlink is not created by RPM installers on Linux platforms has been fixed. Installers will create the /usr/java/default symlink if it doesn't exist, targeting the /usr/java/latest symlink.
  • install/install
  • ➜ Installation of JDK RPM Corrupts Alternatives (JDK-8308244):
  • The JDK RPM installer will remove incorrectly constructed entries of "java" and "javac" groups registered by older Oracle JDK RPM installers from the alternatives before registering new "java" and "javac" entries.
  • An incorrectly constructed entry of the "java" group contains commands that are supposed to belong to the "javac" group.
  • An incorrectly constructed entry of the "javac" group contains commands that are supposed to belong to the "java" group.
  • All incorrectly constructed entries belonging to Oracle JDK RPM packages will be removed from the alternatives to avoid corruption of the alternatives internal data.
  • The removal has a potential side effect for users who have installed multiple JDK versions that are not updated to the latest release. Commands from a removed "java" or "javac" group are now unavailable for system Java switch, which potentially changes the current system Java without a warning. For example, if there is an out-of-date JDK RPM from an 11+ release, say 11.0.17, with an incorrectly constructed single "java" group installed and 8u381 RPM with this patch is installed, it will remove an entry from the "java" group belonging to the 11.0.17 RPM and thus will switch the current system Java from 11.0.17 to 8u381. The side effect will only happen when you install a lower JDK family with the fix, such as 8u381, and there is an out-of-date JDK from a higher family, such as 11.0.17, installed on the system. In that case, 8u381 will replace the older 11.0.17 as the latest. The remedy for the user is to install the latest JDK 11.
  • security-libs/java.security
  • ➜ Added TWCA Root CA Certificate (JDK-8305975):
  • The following root certificate has been added to the cacerts truststore:
  • + TWCA
  • + twcaglobalrootca
  • DN: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
  • security-libs/java.security
  • ➜ Added 4 GTS Root CA Certificates (JDK-8307134)
  • The following root certificates have been added to the cacerts truststore:
  • + Google Trust Services LLC
  • + gtsrootcar1
  • DN: CN=GTS Root R1, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootcar2
  • DN: CN=GTS Root R2, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootecccar3
  • DN: CN=GTS Root R3, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootecccar4
  • DN: CN=GTS Root R4, O=Google Trust Services LLC, C=US
  • security-libs/java.security
  • ➜ Added Microsoft Corporation's 2 TLS Root CA Certificates (JDK-8304760):
  • The following root certificates have been added to the cacerts truststore:
  • + Microsoft Corporation
  • + microsoftecc2017
  • DN: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
  • + Microsoft Corporation
  • + microsoftrsa2017
  • DN: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US
  • hotspot/runtime
  • ➜ ASLR Support for CDS Archive (JDK-8294323 (not public))
  • Starting with the July 2023 CPU, on operating systems where ASLR (Address Space Layout Randomization) is enabled, the CDS archive will be placed at a random address picked by the operating system.
  • This change may have a minor performance impact: (a) Start-up time may increase because the JVM needs to patch pointers inside the CDS archive. (b) Memory usage may increase because the memory used by the CDS archive is no longer shareable across processes. We expect the impact to be small because such increases should be only a small fraction of the overall application usage.
  • In the unlikely event that you must disable ASLR for CDS, you can use the JVM flags -XX:+UnlockDiagnosticVMOptions -XX:ArchiveRelocationMode=0. The usage of such flags is not recommended.
  • security-libs/java.security
  • ➜ New System Property to Control the Maximum Size of Signature Files (JDK-8300596 (not public)):
  • A new system property, jdk.jar.maxSignatureFileSize, has been added to allow applications to control the maximum size of signature files in a signed JAR. The value of the system property is the desired size in bytes. The default value is 8000000 bytes.
  • core-libs/java.util.jar
  • ➜ Improved ZIP64 Extra Field Validation (JDK-8302483 (not public)):
  • java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property jdk.util.zip.disableZip64ExtraFieldValidation to true.
  • Bug Fixes:
  • JDK-8298887 client-libs On the latest macOS+XCode the Robot API may report wrong colors
  • JDK-8301998 client-libs/2d Update HarfBuzz to 7.0.1
  • JDK-8305352 client-libs/java.awt updateIconImages may lead to deadlock after JDK-8276849
  • JDK-8227257 client-libs/javax.swing javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
  • JDK-8301119 core-libs/java.nio.charsets Support for GB18030-2022
  • JDK-8307466 core-libs/java.time java.time.Instant calculation bug in until and between methods
  • JDK-8303440 core-libs/java.util:i18n The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
  • JDK-8303937 core-svc/tools Corrupted heap dumps due to missing retries for os::write()
  • JDK-8299179 hotspot/compiler ArrayFill with store on backedge needs to reduce length by 1
  • JDK-8302976 hotspot/compiler C2 Intrinsification of Float.floatToFloat16 and Float.float16ToFloat Yields Different Result than the Interpreter
  • JDK-8302595 hotspot/compiler use-after-free related to GraphKit::clone_map
  • JDK-8299959 hotspot/compiler C2: CmpU::Value must filter overflow computation against local sub computation
  • JDK-8303564 hotspot/compiler C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
  • JDK-8303508 hotspot/compiler Vector.lane() gets wrong value on x86
  • JDK-8299570 hotspot/compiler [JVMCI] Insufficient error handling when CodeBuffer is exhausted
  • JDK-8300079 hotspot/compiler SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
  • JDK-8299259 hotspot/compiler C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
  • JDK-8296389 hotspot/compiler C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
  • JDK-8296318 hotspot/compiler use-def assert: special case undetected loops nested in infinite loops
  • JDK-8296412 hotspot/compiler Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
  • JDK-8297730 hotspot/compiler C2: Arraycopy intrinsic throws incorrect exception
  • JDK-8301491 hotspot/compiler C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
  • JDK-8201516 hotspot/compiler DebugNonSafepoints generates incorrect information
  • JDK-8289748 hotspot/compiler C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
  • JDK-8303511 hotspot/compiler C2: assert(get_ctrl(n) == cle_out) during unrolling
  • JDK-8307346 hotspot/gc Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code
  • JDK-8302191 hotspot/runtime Performance degradation for float/double modulo on Linux
  • JDK-8305994 hotspot/runtime Guarantee eventual async monitor deflation
  • JDK-8306825 hotspot/runtime Monitor deflation might be accidentally disabled by zero intervals
  • JDK-8304671 tools/javac javac regression: Compilation with --release 8 fails on underscore in enum identifiers
  • JDK-8304878 tools/javadoc(tool) ConcurrentModificationException in javadoc tool
  • JDK-8297587 tools/jshell Upgrade JLine to 3.22.0
  • JDK-8301269 xml/jaxp Update Commons BCEL to Version 6.7.0

New in Java SE Development Kit (JDK) 11.0.20 (Jul 18, 2023)

  • IANA TZ Data 2023c:
  • JDK 11.0.20 contains IANA time zone data 2023c which contains the following changes:
  • Egypt now uses DST again, from April through October.
  • This year Morocco springs forward April 23, not April 30.
  • Palestine delays the start of DST this year.
  • Much of Greenland still uses DST from 2024 on.
  • America/Yellowknife now links to America/Edmonton.
  • tzselect can now use current time to help infer timezone.
  • The code now defaults to C99 or later.
  • Fix use of C23 attributes.
  • Lebanon delays the start of DST this year.
  • This release's code and data are identical to 2023a.
  • New Features:
  • core-libs/java.lang
  • ➜ Allow Additional Characters for GB18030-2022 Support (JDK-8301401):
  • The China National Standard body (CESI) has recently published GB18030-2022, which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The purpose of this enhancement is to incorporate 5 code points (U+9FEB - U+9FEF) from Unicode 11.0 into Java SE 11 to allow implementations to comply with their Implementation Level 1 requirements.
  • core-libs/java.nio.charsets
  • ➜ Support for GB18030-2022 (JDK-8307229):
  • The China National Standard body (CESI) has recently published GB18030-2022, which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The Charset implementation for this new standard has now replaced the prior 2000 standard. However, this new standard has some incompatible changes from the prior implementation. For those who need to use the old mappings, a new system property, jdk.charset.GB18030, is introduced. By setting its value to 2000, the previous JDK releases' mappings for the GB18030 Charset are used, which are based on the 2000 standard.
  • security-libs/java.security
  • ➜ Windows KeyStore Updated to Include Access to the Local Machine Location (JDK-6782021):
  • The Windows KeyStore support in the SunMSCAPI provider has been expanded to include access to the local machine location. The new keystore types are:
  • "Windows-MY-LOCALMACHINE"
  • "Windows-ROOT-LOCALMACHINE"
  • The following keystore types were also added, allowing developers to make it clear they map to the current user:
  • "Windows-MY-CURRENTUSER" (same as "Windows-MY")
  • "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT")
  • security-libs/java.security
  • ➜ New JFR Event: jdk.InitialSecurityProperty (JDK-8292177):
  • A new Java Flight Recorder (JFR) event has been added to record details of initial security properties when loaded via the java.security.Security class.
  • The new event name is jdk.InitialSecurityProperty and contains the following fields:
  • key Security Property Key
  • value Corresponding Security Property Value
  • This new JFR event is enabled by default. The java.security.debug=properties system property will also now print initial security properties to the standard error stream. With this new event and the already available jdk.SecurityPropertyModification event (when enabled since it is not enabled by default), a JFR recording can now monitor the initial settings of all security properties and any subsequent changes.
  • security-libs/java.security
  • ➜ New JFR Event: jdk.SecurityProviderService (JDK-8254711):
  • A new Java Flight Recorder (JFR) event has been added to record details of java.security.Provider.getService(String type, String algorithm) calls.
  • The new event name is jdk.SecurityProviderService and contains the following fields:
  • type Type of Service
  • algorithm Algorithm Name
  • provider Security Provider
  • This event is disabled by default and can be enabled via the JFR configuration files or via standard JFR options.
  • security-libs/javax.crypto
  • ➜ JDK Now Accepts RSA Keys in PKCS#1 Format (JDK-8023980):
  • RSA private and public keys in PKCS#1 format can now be accepted by JDK providers, such as the RSA KeyFactory.impl from the SunRsaSign provider. The RSA private or public key object should have the PKCS#1 format and an encoding matching the ASN.1 syntax for a PKCS#1 RSA private key and public key.
  • Known Issues:
  • install
  • ➜ Problem Upgrading JDK on Windows if System User Is Using Shared Files (JDK-8310932 (not public)):
  • Installing into the same, shared jdk-(family) directory is the default behavior for the JDK starting with the July 2023 CPU. It could lead to FilesInUse issues if JDK files are locked by the "System User". We recommend shutting down any apps using the JDK as the "System User" before upgrading.
  • Other Notes
  • core-libs/java.nio
  • ➜ System Property to Turn off JDK-8251329 Restrictions (JDK-8302992):
  • A new system property, jdk.nio.zipfs.allowDotZipEntry, has been introduced. This system property can be used to remove the newly added restrictions in the Zip FS provider, which currently rejects ZIP files that contain entries with "." or ".." in name elements by default. Refer to the CSR for more detail.
  • install/install
  • ➜ Missing /usr/java/default Symlink on Linux Restored (JDK-8306690):
  • A regression where the /usr/java/default symlink is not created by RPM installers on Linux platforms has been fixed. Installers will create the /usr/java/default symlink if it doesn't exist, targeting the /usr/java/latest symlink.
  • install/install
  • ➜ Installation of JDK RPM Corrupts Alternatives (JDK-8308244):
  • The JDK RPM installer will remove incorrectly constructed entries of "java" and "javac" groups registered by older Oracle JDK RPM installers from the alternatives before registering new "java" and "javac" entries.
  • An incorrectly constructed entry of the "java" group contains commands that are supposed to belong to the "javac" group.
  • An incorrectly constructed entry of the "javac" group contains commands that are supposed to belong to the "java" group.
  • All incorrectly constructed entries belonging to Oracle JDK RPM packages will be removed from the alternatives to avoid corruption of the alternatives internal data.
  • The removal has a potential side effect for users who have installed multiple JDK versions that are not updated to the latest release. Commands from a removed "java" or "javac" group are now unavailable for system Java switch, which potentially changes the current system Java without a warning. For example, if there is an out-of-date JDK RPM from an 11+ release, say 11.0.17, with an incorrectly constructed single "java" group installed and 8u381 RPM with this patch is installed, it will remove an entry from the "java" group belonging to the 11.0.17 RPM and thus will switch the current system Java from 11.0.17 to 8u381. The side effect will only happen when you install a lower JDK family with the fix, such as 8u381, and there is an out-of-date JDK from a higher family, such as 11.0.17, installed on the system. In that case, 8u381 will replace the older 11.0.17 as the latest. The remedy for the user is to install the latest JDK 11.
  • security-libs/java.security
  • ➜ Added TWCA Root CA Certificate (JDK-8305975):
  • The following root certificate has been added to the cacerts truststore:
  • + TWCA
  • + twcaglobalrootca
  • DN: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
  • security-libs/java.security
  • ➜ Added 4 GTS Root CA Certificates (JDK-8307134)
  • The following root certificates have been added to the cacerts truststore:
  • + Google Trust Services LLC
  • + gtsrootcar1
  • DN: CN=GTS Root R1, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootcar2
  • DN: CN=GTS Root R2, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootecccar3
  • DN: CN=GTS Root R3, O=Google Trust Services LLC, C=US
  • + Google Trust Services LLC
  • + gtsrootecccar4
  • DN: CN=GTS Root R4, O=Google Trust Services LLC, C=US
  • security-libs/java.security
  • ➜ Added Microsoft Corporation's 2 TLS Root CA Certificates (JDK-8304760)
  • The following root certificates have been added to the cacerts truststore:
  • + Microsoft Corporation
  • + microsoftecc2017
  • DN: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
  • + Microsoft Corporation
  • + microsoftrsa2017
  • DN: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US
  • core-libs/java.lang
  • ➜ System Property for Java SE Specification Maintenance Version (JDK-8302365):
  • This JDK implements Maintenance Release 2 of the Java SE 11 specification (JSR 384). This is indicated by the new system property java.specification.maintenance.version having the value of "2".
  • hotspot/compiler
  • ➜ GregorianCalender.computeTime() JVM Crash (JDK-8308884):
  • A virtual machine crash was observed in JDK 11.0.19 and 17.0.7 when executing the GregorianCalender.computeTime() method (JDK-8307683). It was found that although the root cause of the crash is an old issue, a recent fix for a rare issue in the C2 compiler (JDK-8297951) made the crash much more likely. To mitigate this, the fix has been reverted in JDK 11.0.20 and 17.0.8 and will be reapplied once JDK-8307683 is resolved.
  • hotspot/runtime
  • ➜ ASLR Support for CDS Archive (JDK-8294323 (not public)):
  • Starting with the July 2023 CPU, on operating systems where ASLR (Address Space Layout Randomization) is enabled, the CDS archive will be placed at a random address picked by the operating system.
  • This change may have a minor performance impact: (a) Start-up time may increase because the JVM needs to patch pointers inside the CDS archive. (b) Memory usage may increase because the memory used by the CDS archive is no longer shareable across processes. We expect the impact to be small because such increases should be only a small fraction of the overall application usage.
  • In the unlikely event that you must disable ASLR for CDS, you can use the JVM flags -XX:+UnlockDiagnosticVMOptions -XX:ArchiveRelocationMode=0. The usage of such flags is not recommended.
  • security-libs/java.security
  • ➜ Throw Error If Default java.security File Fails to Load (JDK-8155246):
  • A behavioral change has been made when the default conf/security/java.security security configuration file fails to load. In such a scenario, the JDK will now throw an InternalError.
  • Such a scenario should never occur. The default security file should always be present. Prior to this change, a static security configuration was loaded.
  • security-libs/java.security
  • ➜ New System Property to Control the Maximum Size of Signature Files (JDK-8300596 (not public)):
  • A new system property, jdk.jar.maxSignatureFileSize, has been added to allow applications to control the maximum size of signature files in a signed JAR. The value of the system property is the desired size in bytes. The default value is 8000000 bytes.
  • core-libs/java.util.jar
  • ➜ Improved ZIP64 Extra Field Validation (JDK-8302483 (not public)):
  • java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property jdk.util.zip.disableZip64ExtraFieldValidation to true.
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.
  • ➜ Issues fixed in 11.0.20:
  • JDK-8297241 client-libs/2d Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
  • JDK-8022403 client-libs/2d sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
  • JDK-8301998 client-libs/2d Update HarfBuzz to 7.0.1
  • JDK-8302151 client-libs/javax.imageio BMPImageReader throws an exception reading BMP images
  • JDK-8227257 client-libs/javax.swing javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
  • JDK-8284756 core-libs [11u] Remove unused isUseContainerSupport in CgroupV1Subsystem
  • JDK-8283059 core-libs Uninitialized warning in check_code.c with GCC 11.2
  • JDK-8275735 core-libs [linux] Remove deprecated Metrics api (kernel memory limit)
  • JDK-8285497 core-libs/java.lang Add system property for Java SE specification maintenance version
  • JDK-8291638 core-libs/java.net Keep-Alive timeout of 0 should close connection immediately
  • JDK-8291637 core-libs/java.net HttpClient default keep alive timeout not followed if server sends invalid value
  • JDK-8211382 core-libs/java.nio.charsets ISO2022JP and GB18030 NIO converter issues
  • JDK-8301119 core-libs/java.nio.charsets Support for GB18030-2022
  • JDK-8209167 core-libs/java.util:i18n Use CLDR's time zone mappings for Windows
  • JDK-8305400 core-libs/java.util:i18n ISO 4217 Amendment 175 Update
  • JDK-8275721 core-libs/java.util:i18n Name of UTC timezone in a locale changes depending on previous code
  • JDK-8293540 core-svc [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
  • JDK-8219583 performance/hotspot Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot)
  • JDK-8252051 hotspot/compiler Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly
  • JDK-8303564 hotspot/compiler C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
  • JDK-8299570 hotspot/compiler [JVMCI] Insufficient error handling when CodeBuffer is exhausted
  • JDK-8300079 hotspot/compiler SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
  • JDK-8299259 hotspot/compiler C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
  • JDK-8297730 hotspot/compiler C2: Arraycopy intrinsic throws incorrect exception
  • JDK-8301491 hotspot/compiler C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
  • JDK-8201516 hotspot/compiler DebugNonSafepoints generates incorrect information
  • JDK-8269746 hotspot/compiler C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input?
  • JDK-8289748 hotspot/compiler C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
  • JDK-8303511 hotspot/compiler C2: assert(get_ctrl(n) == cle_out) during unrolling
  • JDK-8257621 hotspot/jfr JFR StringPool misses cached items across consecutive recordings
  • JDK-8243936 hotspot/runtime NonWriteable system properties are actually writeable
  • JDK-8295974 hotspot/runtime jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
  • JDK-8287007 hotspot/runtime [cgroups] Consistently use stringStream throughout parsing code
  • JDK-8292297 security-libs/java.security Fix up loading of override java.security properties file
  • JDK-8255348 security-libs/java.security NPE in PKIXCertPathValidator event logging code
  • JDK-8293858 security-libs/java.security Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
  • JDK-8294906 security-libs/javax.crypto:pkcs11 Memory leak in PKCS11 NSS TLS server
  • JDK-8217375 security-libs/jdk.security jarsigner breaks old signature with long lines in manifest
  • JDK-8274205 security-libs/org.ietf.jgss:krb5 Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
  • JDK-8221871 tools/javadoc(tool) javadoc should not set role=region on <section> elements
  • JDK-8219142 tools/jlink Remove unused JIMAGE_ResourcePath
  • JDK-8297587 tools/jshell Upgrade JLine to 3.22.0
  • JDK-8301269 xml/jaxp Update Commons BCEL to Version 6.7.0

New in Java SE Development Kit (JDK) 17.0.7 (Apr 19, 2023)

  • JDK 17.0.7 contains IANA time zone data 2022g which contains the following changes:
  • 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.
  • New Features:
  • security-libs/java.security:
  • New JFR Event: jdk.InitialSecurityProperty (JDK-8292177)
  • A new Java Flight Recorder (JFR) event has been added to record details of initial security properties when loaded via the java.security.Security class.
  • 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.
  • 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
  • core-libs/java.io:
  • ➜ File::listRoots Changed to Return All Available Drives on Windows (JDK-8208077)
  • The behavior of the method java.io.File.listRoots() on Microsoft Windows has changed in this release so that the returned array includes a File object for all available disk drives. This differs from the behavior in JDK 10 to JDK 20, where this method filtered out disk drives that were not accessible or did not have media present. This change avoids performance issues observed in these releases and also ensures that the method is consistent with the root directories in the iteration returned by FileSystem.getDefault().getRootDirectories().
  • security-libs/java.security:
  • ➜ Throw Error If Default java.security File Fails to Load (JDK-8155246)
  • A behavioral change has been made in the case where the default conf/security/java.security security configuration file fails to load. In such a scenario, the JDK will now throw an InternalError.
  • Such a scenario should never occur. The default security file should always be present. Prior to this change, a static security configuration was loaded.
  • 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:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update:
  • ICC_Profile.setData(int, byte[]) invalidates the profile
  • JNI exception pending in awt_GraphicsEnv.c:1432
  • java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
  • Overzealous check in sizecalc.h prevents large memory allocation
  • The left line of the TitledBorder is not painted on 150 scale factor
  • Tier1 validate-source fails after 8279614
  • Update Libpng to 1.6.38
  • JEditorPane ignores font-size styles in external linked css-file
  • Rendering Issues with Borders on Windows High-DPI systems
  • 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
  • EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
  • [Metrics] Reported memory limit may exceed physical machine memory
  • AArch64: Enable AES/GCM Intrinsics
  • Base64 Decoding optimization for x86 using AVX-512
  • Base64 Encoding optimization enhancements for x86 using AVX-512
  • RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276
  • Update code segment alignment to 64 bytes
  • [JVMCI] add API for retrieving ConstantValue attributes
  • [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField
  • [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool
  • [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod
  • AArch64: Incorrect replicate2L_zero rule
  • Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
  • Undefined Behavior in C2 regalloc with null references
  • Optimize Vector.rearrange over byte vectors for AVX512BW targets.
  • Folding of loads is broken in C2 after JDK-8242115
  • C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1
  • missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
  • ZGC: C2 late barrier analysis uses invalid dominator information
  • C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly
  • C2: remove unreachable block after NeverBranch-to-Goto conversion
  • C2 compilation fails with assert "non-reduction loop contains reduction nodes"
  • [IR Framework] Cleanup IR matching code in preparation for JDK-8280378
  • CheckCastPP with raw oop input floats below a safepoint
  • C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address
  • C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph
  • [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception
  • SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
  • C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
  • C2: Create skeleton predicates for all If nodes in loop predication
  • C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top
  • C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
  • C2 SATB barriers are not safepoint-safe
  • [REDO v2] C2 crash when allocating array of size too large
  • Use correct register in aarch64_enc_fast_unlock()
  • C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
  • Reference discovery is confused about atomicity and degree of parallelism
  • JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
  • Linux os::cpu_microcode_revision() stalls cold startup
  • Add ResourceHashtable support for deleting selected entries
  • misc crash dump improvements
  • NoClassDefFoundError omits original ExceptionInInitializerError
  • Incorrect container resource limit detection if manual cgroup fs mounts present
  • Improve container information
  • Avoid JVM crash when containers share the same /tmp dir
  • resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out
  • Remove platform dependency in corelibs-atr and langtools-atr task definition files
  • /usr/java/latest points to wrong JDK
  • /usr/java/latest is missing after one of JDK rpms is uninstalled
  • Cannot use '-Djava.system.class.loader' with class loader in signed JAR
  • Fix up loading of override java.security properties file
  • jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
  • Upgrade jQuery to 3.6.1

New in Java SE Development Kit (JDK) 20.0.1 (Apr 18, 2023)

  • 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.
  • 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
  • core-libs/java.io
  • ➜ File::listRoots Changed to Return All Available Drives on Windows (JDK-8208077)
  • The behavior of the method java.io.File.listRoots() on Microsoft Windows has changed in this release so that the returned array includes a File object for all available disk drives. This differs from the behavior in JDK 10 to JDK 20, where this method filtered out disk drives that were not accessible or did not have media present. This change avoids performance issues observed in the previous releases and also ensures that the method is consistent with the root directories in the iteration returned by FileSystem.getDefault().getRootDirectories().
  • Bug Fixes:
  • Crash in DumpTimeClassInfo::add_verification_constraint
  • crash in SymbolTable::do_lookup
  • cmp_baseline task failures with CDS files
  • Enable Symbol refcounting underflow checks in PRODUCT
  • tools/javac Incorrect desugaring of null-allowed nested patterns

New in Java SE Development Kit (JDK) 20 (Mar 21, 2023)

  • Major New Functionality:
  • Language Feature Previews:
  • JEP 432 Record Patterns (Second Preview):
  • Enhance the Java programming language with record patterns to deconstruct record values. Record patterns and type patterns can be nested to enable a powerful, declarative, and composable form of data navigation and processing. This is a preview language feature.
  • JEP 433 Pattern Matching for switch (Fourth Preview):
  • Enhance the Java programming language with pattern matching for switch expressions and statements. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely. This is a preview language feature.
  • Libraries Preview:
  • JEP 434 Foreign Function & Memory API (Second Preview):
  • Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI. This is a preview API.
  • JEP 438 Vector API (Fifth Incubator):
  • Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.
  • Concurrency Model Preview and Incubators:
  • JEP 429 Scoped Values (Incubator):
  • Introduce scoped values, which enable the sharing of immutable data within and across threads. They are preferred to thread-local variables, especially when using large numbers of virtual threads. This is an incubating API.
  • JEP 436 Virtual Threads (Second Preview):
  • Introduce virtual threads to the Java Platform. Virtual threads are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. This is a preview API.
  • JEP 437 Structured Concurrency (Second Incubator):
  • Simplify multithreaded programming by introducing an API for structured concurrency. Structured concurrency treats multiple tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is an incubating API.
  • New Features:
  • This section describes some of the enhancements in Java SE 20 and JDK 20. In some cases, the descriptions provide links to additional detailed information about an issue or a change. The APIs described here are provided with the Oracle JDK. It includes a complete implementation of the Java SE 20 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 20 and JDK 20 is the Java SE 20 (JSR 395) Platform Specification, which documents the changes to the specification made between Java SE 17 and Java SE 20. This document includes descriptions of those new features and enhancements that are also changes to the specification. The descriptions also identify potential compatibility issues that you might encounter when migrating to JDK 20.
  • core-libs/java.lang:
  • ➜ Support Unicode 15.0 (JDK-8284842):
  • This release upgrades the Unicode version to 15.0, which includes updated versions of the Unicode Character Database, Unicode Standard Annexes #9, #15, and #29: The java.lang.Character class supports Unicode Character Database, which adds 4,489 characters, for a total of 149,186 characters. These additions include 2 new scripts, for a total of 161 scripts, as well as 20 new emoji characters, and 4,193 CJK (Chinese, Japanese, and Korean) ideographs. The java.text.Bidi and java.text.Normalizer classes support Unicode Standard Annexes, #9 and #15, respectively. The java.util.regex package supports Extended Grapheme Clusters based on the Unicode Standard Annex #29. For more detail about Unicode 15.0, refer to the Unicode Consortium’s release note.
  • hotspot/gc:
  • ➜ Add GarbageCollectorMXBean for Remark and Cleanup Pause Time in G1 (JDK-8297247):
  • A new GarbageCollectorMXBean named "G1 Concurrent GC" has been added to the G1 garbage collector.
  • This GarbageCollectorMXBean reports the occurrence and durations of the Remark and Cleanup garbage collection pauses.
  • Similar to the "CGC" field from jstat -gcutil, a complete concurrent mark cycle will increase the bean's collection counter by 2, one for the Remark and one for the Cleanup pauses. These pauses now also update the "G1 Old Gen" MemoryManagerMXBean memory pool.
  • security-libs/java.security:
  • ➜ New JFR Event: jdk.InitialSecurityProperty (JDK-8292177):
  • A new Java Flight Recorder (JFR) event has been added to record details of initial security properties when loaded via the java.security.Security class.
  • This new JFR event is enabled by default. The java.security.debug=properties system property will also now print initial security properties to the standard error stream. With this new event and the already available 'jdk.SecurityPropertyModification' event (when enabled since it is not enabled by default), a JFR recording can now monitor the initial settings of all security properties and any subsequent changes.
  • security-libs/java.security:
  • ➜ New JFR Event: jdk.SecurityProviderService (JDK-8254711):
  • A new Java Flight Recorder (JFR) event has been added to record details of java.security.Provider.getService(String type, String algorithm) calls.
  • This event is disabled by default and can be enabled via the JFR configuration files or via standard JFR options.
  • security-libs/javax.crypto:
  • ➜ Provide Poly1305 Intrinsic on x86_64 platforms with AVX512 instructions (JDK-8288047):
  • This feature delivers optimized intrinsics using AVX512 instructions on x86_64 platforms for the Poly1305 Message Authentication Code algorithm of the SunJCE provider. This optimization is enabled by default on supporting x86_64 platforms, but may be disabled by providing the -XX:+UnlockDiagnosticVMOptions -XX:-UsePoly1305Intrinsics command-line options.
  • security-libs/javax.crypto:
  • ➜ Provide ChaCha20 Intrinsics on x86_64 and aarch64 Platforms (JDK-8247645):
  • This feature delivers optimized intrinsic implementations for the ChaCha20 cipher supplied by the SunJCE provider. These optimized routines are designed for x86_64 chipsets that support the AVX, AVX2 and/or AVX512 instruction sets, and aarch64 chips supporting the Advanced SIMD instruction set. These intrinsics are enabled by default on supporting platforms, but may be disabled by providing the -XX:-UseChaCha20Intrinsics command-line option to Java. Flags that control intrinsics require the option -XX:+UnlockDiagnosticVMOptions.
  • tools/javac:
  • ➜ Javac Warns about Type Casts in Compound Assignments with Possible Lossy Conversions (JDK-8244681):
  • New lint option lossy-conversions has been added to javac to warn about type casts in compound assignments with possible lossy conversions. If the type of the right-hand operand of a compound assignment is not assignment compatible with the type of the variable, a cast is implied and possible lossy conversion may occur.
  • The new warnings can be suppressed using @SuppressWarnings("lossy-conversions").
  • security-libs/javax.net.ssl:
  • ➜ (D)TLS Key Exchange Named Groups (JDK-8281236):
  • New Java SE APIs, javax.net.ssl.SSLParameters.getNamedGroups() and javax.net.ssl.SSLParameters.setNamedGroups(), have been added to allow applications to customize the named groups of key exchange algorithms used in individual TLS or DTLS connections.
  • The underlying provider may define the default named groups for each TLS or DTLS connection. Applications may also use the existing jdk.tls.namedGroups system property to customize the provider-specific default named groups. If not null, the named groups passed to the setNamedGroups() method will override the default named groups for the specified TLS or DTLS connections.
  • Note that a provider may not have been updated to support the new APIs and in that case may ignore the named groups that are set. The JDK SunJSSE provider supports this method. It is recommended that third party providers add support for these methods when they add support for JDK 19 or later releases.
  • tools:
  • ➜ New 'jmod --compress' Command Line Option (JDK-8293499):
  • A new --compress command line option has been added to the jmod tool to specify the compression level while creating the JMOD archive. The accepted values are zip-[0-9], where zip-0 provides no compression, and zip-9 provides the best compression. Default is zip-6.
  • security-libs/javax.net.ssl:
  • ➜ DTLS Resumption Uses HelloVerifyRequest Messages (JDK-8287411):
  • With this fix, the SunJSSE DTLS implementation will exchange cookies for all handshakes, both new and resumed, by default unless the System property jdk.tls.enableDtlsResumeCookie is false. The property only affects the cookie exchange for resumption.
  • Removed Features and Options:
  • This section describes the APIs, features, and options that were removed in Java SE 20 and JDK 20. The APIs described here are those that are provided with the Oracle JDK. It includes a complete implementation of the Java SE 20 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 20 and JDK 20 is the Java SE 20 ( JSR 395) Platform Specification, which documents changes to the specification made between Java SE 17 and Java SE 20. This document includes the identification of removed APIs and features not described here. The descriptions below might also identify potential compatibility issues that you could encounter when migrating to JDK 20. See CSRs Approved for JDK 20 for the list of CSRs closed in JDK 20.
  • core-libs/java.lang:
  • ➜ Thread.suspend/resume Changed to Throw UnsupportedOperationException (JDK-8249627):
  • The ability to suspend or resume a thread with the Thread.suspend() and Thread.resume() methods has been removed in this release. The methods have been changed to throw UnsupportedOperationException. These methods were inherently deadlock prone and have been deprecated since JDK 1.2 (1998). The corresponding methods in ThreadGroup, to suspend or resume a group of threads, were changed to throw UnsupportedOperationException in Java 19.
  • core-libs/java.lang:
  • ➜ Thread.Stop Changed to Throw UnsupportedOperationException (JDK-8289610):
  • The ability to "stop" a thread with the Thread.stop() method has been removed in this release. The method has been changed to throw UnsupportedOperationException. Stopping a thread by causing it to throw java.lang.ThreadDeath was inherently unsafe. The stop method has been deprecated since JDK 1.2 (1998). The corresponding method in ThreadGroup, to "stop" a group of threads, was changed to throw UnsupportedOperationException in Java 19.
  • As part of this change, java.lang.ThreadDeath has been deprecated for removal.
  • tools/javac:
  • ➜ Remove Support for javac -source/-target/--release 7 (JDK-8173605):
  • Consistent with the policy outlined in JEP 182: Policy for Retiring javac -source and -target Options, support for the 7/1.7 argument value for javac's -source, -target, and --release flags has been removed.
  • hotspot/gc:
  • ➜ Improved Control of G1 Concurrent Refinement Threads (JDK-8137022):
  • The control of G1 concurrent refinement threads has been completely replaced. The new controller typically allocates fewer threads. It tends to have fewer spikes in refinement thread activity. It also tends to delay refinement, allowing more filtering by the write barrier when there are multiple writes to the same or nearby locations, improving the efficiency of the barrier.
  • There are a number of command line options used to provide parameter values for the old controller. These aren't relevant to the new controller, and no longer serve any useful purpose. They have all been made obsolete; specifying any of them on the command line will do nothing but print a warning message about the option being obsolete. These arguments are:
  • -XX:-G1UseAdaptiveConcRefinement
  • -XX:G1ConcRefinementGreenZone=buffer-count
  • -XX:G1ConcRefinementYellowZone=buffer-count
  • -XX:G1ConcRefinementRedZone=buffer-count
  • -XX:G1ConcRefinementThresholdStep=buffer-count
  • -XX:G1ConcRefinementServiceIntervalMillis=msec
  • These options will be removed entirely in some future release. Use of any of these options after that time will terminate startup of the virtual machine.
  • Deprecated Features and Options:
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 20 and JDK 20 include:
  • The Deprecated API page identifies all deprecated APIs including those deprecated in Java SE 20.
  • The Java SE 20 ( JSR 395) specification documents changes to the specification made between Java SE 17 and Java SE 20 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 20. See CSRs Approved for JDK 20 for the list of CSRs closed in JDK 20.
  • core-libs/java.net:
  • ➜ java.net.URL Constructors Are Deprecated (JDK-8294241):
  • The java.net.URL constructors are deprecated in this release.
  • Developers are encouraged to use java.net.URI to parse or construct a URL. In cases where an instance of java.net.URL is needed to open a connection, java.net.URI can be used to construct or parse the URL string, possibly calling URI::parseServerAuthority() to validate that the authority component can be parsed as a server-based authority, and then calling URI::toURL() to create the URL instance.
  • A new method, URL::of(URI, URLStreamHandler) is provided for the advanced usages where there is a need to construct a URL with a given custom stream handler.
  • See the java.net.URL API documentation for more details.
  • core-svc/javax.management:
  • ➜ Deprecate JMX Management Applets for Removal (JDK-8297794):
  • The Java Management Extension (JMX) Management Applet (m-let) feature is deprecated for removal in a future release as it is irrelevant to modern applications - the deprecated public classes in javax.management.loading are: MLet, MLetContent, PrivateMLet, MLetMBean.
  • This will have no impact on the JMX agent used for local and remote monitoring, the built-in instrumentation of the Java virtual machine, or tooling that uses JMX.
  • Known Issues:
  • The following notes describe known issues or limitations in this release.
  • xml/jaxp:
  • ➜ JDK XSLT Transformer Limitations (JDK-8290347):
  • Applications using the JDK XSLT transformer to convert stylesheets to Java objects can encounter the following exception:
  • com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal XSLTC error: a method in the translet exceeds the Java Virtual Machine limitation on the length of a method of 64 kilobytes. This is usually caused by templates in a stylesheet that are very large. Try restructuring your stylesheet to use smaller templates.
  • Applications will encounter the above exception if the size of the XSL template is too large. It is recommended to split the XSL template into smaller templates. Alternatively, applications can override the JDK XSLT Transformer by providing third-party implementation JAR files in the class path.
  • hotspot/compiler:
  • ➜ java.lang.Float.floatToFloat16 and java.lang.Float.float16ToFloat May Return Different NaN Results when Optimized by the JIT Compiler (JDK-8302976):
  • JDK 20 introduces two new methods which can be used to convert to and from the IEEE 754 binary16 format: java.lang.Float.floatToFloat16 and java.lang.Float.float16ToFloat.
  • The new methods may return different NaN results when optimized by the JIT compiler. To disable the JIT compiler optimization of these methods, the following command line options can be used: -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_floatToFloat16,_float16ToFloat .
  • Other Notes:
  • The following notes describe additional changes and information about this release. In some cases, the following descriptions provide links to additional detailed information about an issue or a change.
  • core-libs/java.math:
  • ➜ Restore Behavior of java.math.BigDecimal.movePointLeft() and movePointRight() on a Zero Argument (JDK-8289260):
  • When these methods are invoked with a zero argument on a target with a negative scale, they return a result which is numerically the same as the target, but with a different unscaled value and scale.
  • In earlier releases, they returned a result with the same unscaled value and scale, which was against the specification.
  • The behavior is unchanged when the target has a non-negative scale or when the argument is not zero.
  • core-libs/java.net:
  • ➜ HTTP Response Input Streams Will Throw an IOException on Interrupt (JDK-8294047):
  • HTTP Response Input Streams are InputStream instances returned by the ResponseSubscribers::ofInputStream method. In this release, the default implementation of their read method was changed to throw an IOException if the thread performing this operation is interrupted, instead of ignoring the interruption.
  • If the thread invoking the read operation is interrupted while blocking on read:
  • The request will be cancelled and the InputStream will be closed
  • The thread interrupt status will be set to true
  • An IOException will be thrown
  • core-libs/java.net:
  • ➜ URL Constructors Called with Malformed Input May Throw MalformedURLException for Cases where It Was Not Thrown Previously (JDK-8293590):
  • The parsing of input provided to the java.net.URL constructors has changed in this release to be more strict. If the URL constructors are called with malformed input, then MalformedURLException may be thrown for cases where it wasn’t thrown previously.
  • In previous releases, some of the parsing and validation performed by the JDK built-in URLStreamHander implementations was delayed until URL::openConnection or URLConnection::connect was called. Some of these parsing and validation actions are now performed early, within URL constructors. An exception caused by a malformed URL that would have been delayed until the connection was opened or connected might now cause a MalformedURLException to be thrown at URL construction time.
  • This change only affects URL instances that delegate to JDK built-in stream handler implementations. Applications relying on custom, third party URLStreamHandler implementations should remain unaffected.
  • A new JDK specific system property -Djdk.net.url.delayParsing or -Djdk.net.url.delayParsing=true can be specified on the command line to revert to the previous behavior. By default, the property is not set, and the new behavior is in place.
  • This new property is provided for backward compatibility and may be removed in a future release.
  • core-libs/java.net:
  • ➜ HttpClient Default Keep Alive Time is 30 Seconds (JDK-8297030):
  • In this release, the default idle connection timeout value for the HTTP/1.1 and HTTP/2 connections created by the java.net.http.HttpClient has been reduced from 1200 seconds to 30 seconds.
  • core-libs/java.net:
  • ➜ Idle Connection Timeouts for HTTP/2 (JDK-8288717):
  • Idle Connection Timeouts for HTTP/2 are added in this release.
  • The jdk.httpclient.keepalivetimeout property can now be used to configure a system-wide value, in seconds, used to close idle connections for both HTTP/1.1 and HTTP/2 when using the HttpClient. In addition, developer's can also use the jdk.httpclient.keepalivetimeout.h2 to specify a timeout value exclusively for use with the HTTP/2 protocol, regardless of whether or not the jdk.httpclient.keepalivetimeout` is specified at runtime.
  • See the java.net.http module and Networking Properties in the JDK 20 API documentation for a list of current networking properties.
  • core-libs/java.nio:
  • ➜ FileChannel Positional Write Is Unspecified in APPEND Mode (JDK-6924219):
  • The specification of java.nio.channels.FileChannel is updated to clarify that the effect of attempting to write at a specific position using the FileChannel::write(ByteBuffer,long) method is system-dependent when the channel is open in append mode. That is, a java.nio.file.StandardOpenOption.APPEND is passed to FileChannel::open when the channel is opened. In particular, on some operating systems, bytes will be written at the given position, while on other operating systems the given position will be ignored and the bytes will be appended to the file.
  • core-libs/java.nio:
  • ➜ Do Not Normalize File Paths to Unicode Normalization Format D on macOS (JDK-8289689):
  • On macOS, file names are no longer normalized to Apple's variant of Unicode Normalization Format D. File names were normalized on HFS+ prior to macOS 10.13, but on APFS on macOS 10.13 and newer, this normalization is no longer effected. The previous behavior may be enabled by setting the system property jdk.nio.path.useNormalizationFormD to "true".
  • core-libs/java.text:
  • ➜ Grapheme Support in BreakIterator (JDK-8291660):
  • Character boundary analysis in java.text.BreakIterator now conforms to Extended Grapheme Clusters breaks defined in Unicode Consortium's Standard Annex #29. This change will introduce intentional behavioral changes because the old implementation simply breaks at the code point boundaries for the vast majority of characters. For example, this is a String that contains the US flag and a grapheme for a 4-member-family.
  • "🇺🇸👨‍👩‍👧‍👦"
  • This String will be broken into two graphemes with the new implementation:
  • "🇺🇸", "👨‍👩‍👧‍👦"
  • whereas the old implementation simply breaks at the code point boundaries:
  • "🇺", "🇸", "👨", "(zwj)", "👩", "(zwj)", "👧", "(zwj)"‍, "👦"
  • where (zwj) denotes ZERO WIDTH JOINER (U 200D).
  • core-libs/java.time:
  • ➜ Update Timezone Data to 2022c (JDK-8292579):
  • This version includes changes from 2022b that merged multiple regions that have the same timestamp data post-1970 into a single time zone database. All time zone IDs remain the same but the merged time zones will point to a shared zone database.
  • 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.
  • For more details, refer to the announcement of 2022b
  • core-libs/java.util:collections:
  • ➜ IdentityHashMap's Remove and Replace Methods Use Object Identity (JDK-8178355):
  • The remove(key, value) and replace(key, oldValue, newValue) implementations of IdentityHashMap have been corrected. In previous releases, the value arguments were compared with values in the map using equals. However, IdentityHashMap specifies that all such comparisons should be made using object identity (==). These methods' implementations now conform to the specification.
  • core-libs/java.util:i18n:
  • ➜ Support for CLDR Version 42 (JDK-8284840):
  • Locale data based on Unicode Consortium's CLDR has been upgraded to version 42. For the detailed locale data changes, please refer to the Unicode Consortium's CLDR release notes. Some of the notable changes in the upstream that may affect formatting are:
  • " at " is no longer used for standard date/time format
  • NBSP prefixed to a, instead of a normal space
  • Fix first day of week info for China (CN)
  • Japanese: Support numbers up to 9999京
  • core-libs/javax.naming:
  • ➜ Update Default Value and Extend the Scope of com.sun.jndi.ldap.object.trustSerialData System Property (JDK-8290367):
  • In this release, the JDK implementation of the LDAP provider no longer supports deserialization of Java objects by default:
  • The default value of the com.sun.jndi.ldap.object.trustSerialData system property has been updated to false.
  • The scope of the com.sun.jndi.ldap.object.trustSerialData system property has been extended to cover the reconstruction of RMI remote objects from the javaRemoteLocation LDAP attribute.
  • The transparent deserialization of Java objects from an LDAP context will now require an explicit opt-in. Applications that rely on reconstruction of Java objects or RMI stubs from the LDAP attributes would need to set the com.sun.jndi.ldap.object.trustSerialData system property to true.
  • core-libs/javax.naming:
  • ➜ Introduce LDAP and RMI Protocol Specific Object Factory Filters to JNDI Implementation (JDK-8290368):
  • In this release, new system and security properties are introduced to allow more granular control over the set of JNDI object factories allowed to reconstruct Java objects from JNDI/LDAP and JNDI/RMI contexts:
  • The new jdk.jndi.ldap.object.factoriesFilter property specifies which object factory classes are allowed to instantiate Java objects from object references returned by JNDI/LDAP contexts. Its default value only allows object factories defined in the java.naming module.
  • The new jdk.jndi.rmi.object.factoriesFilter property specifies which object factory classes are allowed to instantiate Java objects from object references returned by JNDI/RMI contexts. Its default value only allows object factories defined in the jdk.rmi module.
  • These new factory filter properties complement the jdk.jndi.object.factoriesFilter global factories filter property by determining if a specific object factory is permitted to instantiate objects for the LDAP or RMI protocols used in JNDI.
  • An application depending on custom object factories to recreate Java objects from JNDI/LDAP or JNDI/RMI contexts will need to supply a security or system property with an updated value to allow such third-party object factories to reconstruct LDAP or RMI objects. If usage of a factory is denied, the lookup operation may result in a plain instance of javax.naming.Reference instance returned, which may lead to a ClassCastException being thrown in the application.
  • For more information, see the java.naming and jdk.naming.rmi module-info documentation.
  • core-svc/debugger:
  • ➜ com.sun.jdi.ObjectReference::setValue Specification Should Prohibit Any Final Field Modification (JDK-8280798):
  • The specification of the Java Debug Interface (JDI) method ObjectReference.setValue has changed in this release to require the given field be non-final. The method was previously specified to require static fields be non-final but was silent on final instance fields. The JDK’s implementation of JDI has never allowed final instance fields to be changed with this method so this change has no impact on debuggers or tools using the JDK’s JDI implementation. Maintainers of JDI implementations should take note of this change so they can align their implementation with the updated specification.
  • core-svc/javax.management:
  • ➜ JMX Connections Use an ObjectInputFilter by Default (JDK-8283093):
  • The default JMX agent now sets an ObjectInputFilter on the RMI connection to restrict the types that the server will deserialize. This should not affect normal usage of the MBeans in the JDK. Applications which register their own MBeans in the Platform MBeanServer may need to extend the filter to support any additional types that their MBeans accept as parameters. The default filter already covers any type that OpenMBeans and MXBeans might use.
  • The filter pattern is set in JDK/conf/management/management.properties using the property com.sun.management.jmxremote.serial.filter.pattern. If there are additional Java types that need to be passed, the default can be overridden by running with -Dcom.sun.management.jmxremote.serial.filter.pattern=.
  • Serialization Filtering and the filter pattern format are described in detail in the Core Libraries guide.
  • hotspot/gc:
  • ➜ G1: Disable Preventive GCs by Default (JDK-8293861):
  • In JDK 17, G1 added "preventive" garbage collections (GCs). These are speculative garbage collections, with the goal of avoiding costly evacuation failures due to allocation bursts when the heap is almost full.
  • However, these speculative collections have the consequence of additional garbage collection work, as object aging is based on number of GCs with additional GCs causing premature promotion into the old generation, which leads to more data in the old generation, and more garbage collection work to remove these objects. This has been compounded by the current prediction to trigger preventive garbage collections being very conservative; which means these garbage collections are often triggered unnecessarily.
  • In the majority of cases this feature is a net loss, and as evacuation failures are now handled more quickly, there is no longer any reason for this feature and it has been disabled by default, it may be re-enabled by -XX:+UnlockDiagnosticVMOptions -XX:+G1UsePreventiveGC.
  • hotspot/jvmti:
  • ➜ appendToClassPathForInstrumentation Must Be Used in a Thread-Safe Manner (JDK-8296472):
  • When running an application with a Java agent (e.g. -javaagent:myagent.jar) and a custom system class loader (e.g. -Djava.system.class.loader=MyClassLoader), and the Java agent invokes the Instrumentation.appendToSystemClassLoaderSearch API to append to the class loader search, then the custom system class loader appendToClassPathForInstrumentation method will be invoked to add the JAR file to the custom system class loader's search path.
  • The JVM no longer synchronizes on the custom class loader while calling appendToClassPathForInstrumentation. The appendToClassPathForInstrumentation method in the custom class loader must add to the class search path in a thread-safe manner.
  • hotspot/jvmti:
  • ➜ GetLocalXXX/SetLocalXXX Specification Should Require Suspending Target Thread (JDK-8288387):
  • The JVM TI specification of the GetLocalXXX/SetLocalXXX functions has been changed to require the target thread to be either suspended or the current thread. The error code JVMTI_ERROR_THREAD_NOT_SUSPENDED will be returned if this requirement is not satisfied. The JVM TI agents which use the GetLocalXXX/SetLocalXXX API's need to be updated to suspend the target thread if it is not the current thread. The full list of impacted JVM TI functions is:
  • GetLocalObject, GetLocalInt, GetLocalLong, GetLocalFloat, GetLocalDouble, GetLocalInstance,
  • SetLocalObject, SetLocalInt, SetLocalLong, SetLocalFloat, SetLocalDouble
  • hotspot/runtime:
  • ➜ Deprecate and Disable Legacy Parallel Class Loading Workaround for Non-Parallel-Capable Class Loaders (JDK-8295673):
  • Some user-defined, older class loaders would workaround a deadlock issue by releasing the class loader lock during the loading process. To prevent these loaders from encountering a “java.lang.LinkageError: attempted duplicate class definition” while loading the same class by parallel threads, the HotSpot Virtual Machine introduced a workaround in JDK 6 that serialized the load attempts, causing the subsequent attempts to wait for the first to complete.
  • The need for class loaders to work this way was removed in JDK 7 when parallel-capable class loaders were introduced, but the workaround remained in the VM. That workaround is finally being removed and as a first step has been deprecated and disabled by default. If you start seeing "java.lang.LinkageError: attempted duplicate class definition", then you may have an affected legacy class loader. The flag -XX:+EnableWaitForParallelLoad can be used to temporarily restore the old behavior in this release of the JDK, but the legacy class loader will need to be updated for future releases.
  • See the CSR request (JDK-8295848) for more background and details.
  • 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.
  • If the JDK has a JavaScript script engine, it can be enabled by setting the system property: -Djavafx.allowjs=true
  • security-libs/java.security:
  • ➜ Added Constructors (String, Throwable) and (Throwable) to InvalidParameterException (JDK-8296226):
  • Constructors InvalidParameterException(String, Throwable) and InvalidParameterException(Throwable) have been added to the java.security.InvalidParameterException class to support easy construction of InvalidParameterException objects with a cause.
  • security-libs/java.security:
  • ➜ Throw Error If Default java.security File Fails to Load (JDK-8155246):
  • A behavioral change has been made in the case where the default conf/security/java.security security configuration file fails to load. In such a scenario, the JDK will now throw an InternalError.
  • Such a scenario should never occur. The default security file should always be present. Prior to this change, a static and outdated security configuration was loaded.
  • security-libs/javax.net.ssl:
  • ➜ Disabled TLS_ECDH_* Cipher Suites (JDK-8279164):
  • The TLS_ECDH_* cipher suites have been disabled by default, by adding "ECDH" to the jdk.tls.disabledAlgorithms security property in the java.security configuration file. The TLS_ECDH_* cipher suites do not preserve forward-secrecy and are rarely used in practice. Note that some TLS_ECDH_* cipher suites were already disabled because they use algorithms that are disabled, such as 3DES and RC4. This action disables the rest. Any attempts to use cipher suites starting with "TLS_ECDH_" will fail with an SSLHandshakeException. Users can, at their own risk, re-enable these cipher suites by removing "ECDH" from the jdk.tls.disabledAlgorithms security property.
  • security-libs/javax.net.ssl:
  • ➜ Disabled DTLS 1.0 (JDK-8256660):
  • DTLS 1.0 has been disabled by default, by adding "DTLSv1.0" to the jdk.tls.disabledAlgorithms security property in the java.security configuration file. DTLS 1.0 has weakened over time and lacks support for stronger cipher suites. Any attempts to use DTLSv1.0 will fail with an SSLHandshakeException. Users can, at their own risk, re-enable the version by removing "DTLSv1.0" from the jdk.tls.disabledAlgorithms security property.
  • security-libs/javax.security:
  • ➜ Remove Thread Text from Subject.current (JDK-8297276):
  • The specification of Subject.current has been changed in this release to drop the expectation that the Subject is inherited when creating a thread. At this time, the Subject is stored in the AccessControlContext and is inherited when creating platform threads. Virtual threads do not capture the caller context at thread creation time and the AccessControlContext is not inherited. Inheritance will be re-examined in a future release in advance of removing support for the SecurityManager and the inherited AccessControlContext.
  • security-libs/javax.security:
  • ➜ New Implementation Note for LoginModule on Removing Null from a Principals or Credentials Set (JDK-8282730):
  • The Set implementation that holds principals and credentials in a JAAS Subject prohibits null elements and any attempt to add, query, or remove a null element will result in a NullPointerException. This is especially important when trying to remove principals or credentials from the subject at the logout phase but they are null because of a previous failed login. Various JDK LoginModule implementations have been fixed to avoid the exception. An Implementation Note has also been added to the logout() method of the LoginModule interface. Developers should verify, and if necessary update, any custom LoginModule implementations to be compliant with this implementation advice.
  • tools/javac:
  • ➜ An Exhaustive Switch over an Enum Class Should Throw MatchException Rather Than IncompatibleClassChangeError If No Switch Label Applies at Runtime (JDK-8297118):
  • In this release, when preview features are enabled with --enable-preview, a switch expression over an enum type will throw a MatchException rather than an IncompatibleClassChangeError should the selector expression yield an unexpected enum constant value. This can only happen if the enum class has been changed by adding a new enum constant after compilation of the switch.
  • This change is required to unify the treatment of erroneous exhaustive switches introduced by enhancing switch with pattern labels.
  • tools/javadoc(tool):
  • ➜ Improved Preview API Page (JDK-8287597):
  • The Preview API page in the documentation generated by JavaDoc now provides detailed information about the JEPs the preview features belong to.
  • tools/javadoc(tool):
  • ➜ Auto-Generated IDs in JavaDoc Headings (JDK-8289332):
  • JavaDoc now generates id attributes for all HTML headings in documentation comments that may be used as link anchors.
  • tools/javadoc(tool):
  • ➜ Generalize 'see' and 'link' Tags for User-Defined Anchors (JDK-8200337):
  • The {@link}, {@linkplain}, and @see tags have been enhanced to allow linking to arbitrary anchors in the JavaDoc-generated documentation for an element. To distinguish these references from member references, a double hash mark (`##`) is used to separate the element name from the URI fragment.
  • hotspot/runtime:
  • ➜ The JNI Specification Omits an Update to the JNI Version (JDK-8290482):
  • This bug updated the JNI Specification in relation to the DestroyJavaVM function. As part of that work, the JNI Specification version number was incremented. That change to the JNI Specification version should also have been reflected in the GetVersion function but was not. The GetVersion function has been updated to read JNI_VERSION_20. This new version has also been documented in jni.h as:
  • #define JNI_VERSION_20 0x00140000
  • javafx/build:
  • ➜ JavaFX 20 Requires JDK 17 or Later (JDK-8290530):
  • JavaFX 20 is compiled with --release 17 and thus requires JDK 17 or later in order to run. If you attempt to run with an older JDK, the Java launcher will exit with an error message indicating that the javafx.base module cannot be read.

New in Java SE Development Kit (JDK) 17.0.6 (Jan 18, 2023)

  • JDK 17.0.6 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/javax.net.ssl:
  • ➜ DTLS Resumption Uses HelloVerifyRequest Messages (JDK-8287411 (not public))
  • With this fix the SunJSSE DTLS implementation will by default exchange cookies for all handshakes (new and resumed) unless the System property jdk.tls.enableDtlsResumeCookie is false. The property only affects the cookie exchange for resumption.
  • 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.
  • If the JDK has a JavaScript script engine, it can be enabled by setting the system property: -Djavafx.allowjs=true
  • globalization:
  • ➜ Translated resource bundles for German (JDK-8263773)
  • With 11.0.14, we are shipping the original JDK 11 translated resource bundles for German.
  • install/install:
  • ➜ RPM JDK Installer Changes (JDK-8292834)
  • 7Installation directory name of Oracle JDK in RPM package has changed from /usr/java/jdk-${VERSION} to /usr/lib/jvm/jdk-${FEATURE}-oracle-${ARCH}. Thus the 17.0.6, and 17.0.7 releases for x64 will both be installed in /usr/lib/jvm/jdk-17-oracle-x64 directory. RPM package will create /usr/java/jdk-${FEATURE} link pointing to the installation directory for backward compatibility.
  • Communication with the alternatives framework of JDK RPM package has changed. JDK RPM packages of prior versions registered a single java group of commands with the alternatives framework. The JDK 17 RPM package registers java and javac groups with the alternatives framework. java group is for commands used to run applications: java, keytool, and rmiregistry. javac group is used for all other commands. The set of commands registered by the package has not changed.
  • Two new Oracle Linux (OL)-specific JDK RPM packages have been added: jdk-17-headless and jdk-17-headful. These packages are available in OL7, OL8, and OL9 repositories. They are not available for OTN downloads. jdk-17-headless is a Headless Java Runtime for running non-GUI applications. jdk-17-headful is a Headful Java Runtime & Development Tools for developing and running applications of all types.
  • The combination of the OL-specific jdk-17-headless and jdk-17-headful packages provides the same JDK image and the same capabilities as jdk-17 OTN package. OL-specific JDK RPM packages specify required capabilities, and the "Release" property of these packages has a %{dist} suffix.
  • install/install:
  • ➜ Disable Side-by-Side Installations of Multiple JDK Updates in Windows JDK Installers (JDK-8292820)
  • Windows JDK installers must install the Oracle JDK in %Program Files%Javajdk-%FEATURE% instead of %Program Files%Javajdk-%VNUM%. I.e. all updates of the same release must share one installation directory.
  • Thus the 17.0.6 and 17.0.7 releases will both install into %Program Files%Javajdk-17 by default, and they both cannot be installed at the same time.
  • If the JDK17.0.7 installer is launched when JDK17.0.6 is already installed, it will auto-upgrade them to JDK17.0.7. There may be a Files In Use dialog shown if the older version was running and locking JDK files.
  • If the JDK17.0.6 installer is launched when JDK17.0.7 is already installed, it will show an error that a newer version of this JDK family is already installed.
  • install/install:
  • ➜ All JDK Update Releases Are Installed Into the Same Directory on macOS (JDK-8292827)
  • The Oracle JDK installation directory name will be changed from /Library/Java/JavaVirtualMachines/jdk-${VERSION}.jdk to /Library/Java/JavaVirtualMachines/jdk-${FEATURE}.jdk. Thus the 17.0.6 and 17.0.7 releases will both install into the /Library/Java/JavaVirtualMachines/jdk-17.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 17.0.N update releases shipped prior JEP C208 will not be uninstalled during installation of JDK 17 update release with JEP C208. However, JDK 17 GA release will be removed and its location /Library/Java/JavaVirtualMachines/jdk-17.jdk will be reused.
  • 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.
  • security-libs/javax.security:
  • ➜ New Implementation Note for LoginModule on Removing Null from a Principals or Credentials set (JDK-8282730)
  • The Set implementation that holds principals and credentials in a JAAS Subject prohibits null elements and any attempt to add, query, or remove a null element will result in a NullPointerException. This is especially important when trying to remove principals or credentials from the subject at the logout phase but they are null because of a previous failed login. Various JDK LoginModule implementations have been fixed to avoid the exception. An Implementation Note has also been added to the logout() method of the LoginModule interface. Developers should verify and if necessary update any custom LoginModule implementations to be compliant with this implementation advice.
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.
  • JDK-8295429 client-libs Update harfbuzz md file
  • JDK-8293672 client-libs Update freetype md file
  • JDK-8289697 client-libs/2d buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
  • JDK-8240756 client-libs/2d [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
  • JDK-8284033 client-libs/java.awt Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
  • JDK-8273655 core-libs/java.net content-types.properties files are missing some common types
  • JDK-8272352 core-libs/java.util:i18n Java launcher can not parse Chinese character when system locale is set to UTF-8
  • JDK-8294307 core-libs/java.util:i18n ISO 4217 Amendment 173 Update
  • JDK-8293657 core-svc/javax.management sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
  • JDK-8293319 hotspot/compiler [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
  • JDK-8280511 hotspot/compiler AArch64: Combine shift and negate to a single instruction
  • JDK-8276108 hotspot/compiler Wrong instruction generation in aarch64 backend
  • JDK-8251216 hotspot/compiler Implement MD5 intrinsics on AArch64
  • JDK-8186670 hotspot/compiler Implement _onSpinWait() intrinsic for AArch64
  • JDK-8290781 hotspot/compiler Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
  • JDK-8282347 hotspot/compiler AARCH64: Untaken branch in has_negatives stub
  • JDK-8282049 hotspot/compiler AArch64: Use ZR for integer zero immediate volatile stores
  • JDK-8291775 hotspot/compiler C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
  • JDK-8290711 hotspot/compiler assert(false) failed: infinite loop in PhaseIterGVN::optimize
  • JDK-8287349 hotspot/compiler AArch64: Merge LDR instructions to improve C1 OSR performance
  • JDK-8277411 hotspot/compiler C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check
  • JDK-8277358 hotspot/compiler Accelerate CRC32-C
  • JDK-8291599 hotspot/compiler Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
  • JDK-8290705 hotspot/compiler StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
  • JDK-8290529 hotspot/compiler C2: assert(BoolTest(btest).is_canonical()) failure
  • JDK-8288445 hotspot/compiler AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
  • JDK-8280872 hotspot/compiler Reorder code cache segments to improve code density
  • JDK-8272094 hotspot/compiler compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline"
  • JDK-8293816 hotspot/compiler CI: ciBytecodeStream::get_klass() is not consistent
  • JDK-8293044 hotspot/compiler C1: Missing access check on non-accessible class
  • JDK-8292158 hotspot/compiler AES-CTR cipher state corruption with AVX-512
  • JDK-8270947 hotspot/compiler AArch64: C1: use zero_words to initialize all objects
  • JDK-8287425 hotspot/compiler Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
  • JDK-8290451 hotspot/compiler Incorrect result when switching to C2 OSR compilation from C1
  • JDK-8268779 hotspot/gc ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space"
  • JDK-8278389 hotspot/gc SuspendibleThreadSet::_suspend_all should be volatile/atomic
  • JDK-8288754 hotspot/gc GCC 12 fails to build zReferenceProcessor.cpp
  • JDK-8279398 hotspot/jfr jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
  • JDK-8268297 hotspot/jfr jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
  • JDK-8291459 hotspot/runtime JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
  • JDK-8292083 hotspot/runtime Detected container memory limit may exceed physical machine memory
  • JDK-8293156 hotspot/svc Dcmd VM.classloaders fails to print the full hierarchy
  • JDK-8257722 security-libs/java.security Improve "keytool -printcert -jarfile" output
  • JDK-8273553 security-libs/javax.net.ssl sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
  • JDK-8276764 core-svc/tools Enable deterministic file content ordering for Jar and Jmod
  • JDK-8276766 tools/jar Enable jar and jmod to produce deterministic timestamped content
  • JDK-8293578 tools/javac Duplicate ldc generated by javac
  • JDK-8266082 tools/javac AssertionError in Annotate.fromAnnotations with -Xdoclint
  • JDK-8272776 tools/javac NullPointerException not reported
  • JDK-8286444 tools/javac javac errors after JDK-8251329 are not helpful enough to find root cause
  • JDK-8286855 tools/javac javac error on invalid jar should only print filename
  • JDK-8287076 xml/org.w3c.dom Document.normalizeDocument() produces different results

New in Java SE Development Kit (JDK) 19.0.2 (Jan 17, 2023)

  • DK 19.0.2 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/javax.net.ssl
  • ➜ DTLS Resumption Uses HelloVerifyRequest Messages (JDK-8287411 (not public))
  • With this fix the SunJSSE DTLS implementation will by default exchange cookies for all handshakes (new and resumed) unless the System property jdk.tls.enableDtlsResumeCookie is false. The property only affects the cookie exchange for resumption.
  • 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.
  • If the JDK has a JavaScript script engine, it can be enabled by setting the system property: -Djavafx.allowjs=true
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 19.0.0.0 (Sep 22, 2022)

  • Major New Functionality:
  • Concurrency Model Update Previews:
  • JEP 425 Virtual Threads (Preview):
  • Introduce virtual threads to the Java Platform. Virtual threads are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. This is a preview API.
  • JEP 428 Structured Concurrency (Incubator):
  • Simplify multithreaded programming by introducing an API for structured concurrency. Structured concurrency treats multiple tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is an incubating API.
  • Language Feature Previews:
  • JEP 405 Record Patterns (Preview):
  • Enhance the Java programming language with record patterns to deconstruct record values. Record patterns and type patterns can be nested to enable a powerful, declarative, and composable form of data navigation and processing. This is a preview language feature.
  • JEP 427 Pattern Matching for switch (Third Preview):
  • Enhance the Java programming language with pattern matching for switch expressions and statements. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely. This is a preview language feature.
  • Libraries Preview/Incubator:
  • JEP 424 Foreign Function & Memory API (Preview):
  • Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI. This is a preview API.
  • JEP 426 Vector API (Fourth Incubator):
  • Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.
  • New Features:
  • This section describes some of the enhancements in Java SE 19 and JDK 19. In some cases, the descriptions provide links to additional detailed information about an issue or a change. The APIs described here are provided with the Oracle JDK. It includes a complete implementation of the Java SE 19 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 19 and JDK 19 is the Java SE 19 ( JSR 394) Platform Specification, which documents the changes to the specification made between Java SE 17 and Java SE 19. This document includes descriptions of those new features and enhancements that are also changes to the specification. The descriptions also identify potential compatibility issues that you might encounter when migrating to JDK 19.
  • core-libs/java.lang ➜ Support Unicode 14.0 (JDK-8268081):
  • This release upgrades Unicode support to 14.0, which includes the following:
  • The java.lang.Character class supports Unicode Character Database of 14.0 level, which adds 838 characters, for a total of 144,697 characters. These additions include 5 new scripts, for a total of 159 scripts, as well as 37 new emoji characters. The java.text.Bidi and java.text.Normalizer classes support 14.0 level of Unicode Standard Annexes, #9 and #15, respectively. The java.util.regex package supports Extended Grapheme Clusters based on 14.0 level of Unicode Standard Annex #29 For more detail about Unicode 14.0, refer to the Unicode Consortium's release note.
  • core-libs/java.lang ➜ New system properties for System.out and System.err (JDK-8283620):
  • Two new system properties, stdout.encoding and stderr.encoding, have been added. The value of these system properties is the encoding used by the standard output and standard error streams (System.out and System.err).
  • The default values of these system properties depend on the platform. The values take on the value of the native.encoding property when the platform does not provide streams for the console. The properties can be overridden on the launcher's command line option (with -D) to set them to UTF-8 where required.
  • core-libs/java.net➜ HTTPS Channel Binding Support for Java GSS/Kerberos (JDK-8279842):
  • 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 or connection.
  • The feature is controlled through a new system property jdk.https.negotiate.cbt which is described fully in Networking Properties.
  • core-libs/java.time ➜ Additional Date-Time Formats (JDK-8176706):
  • Additional date/time formats are now introduced in java.time.format.DateTimeFormatter/DateTimeFormatterBuilder classes. In prior releases, only 4 predefined styles, i.e., FormatStyle.FULL/LONG/MEDIUM/SHORT are available. Now the users can specify their own flexible style with this new DateTimeFormatter.ofLocalizedPattern(String requestedTemplate) method. For example,
  • DateTimeFormatter.ofLocalizedPattern("yMMM")
  • produces a formatter, which can format a date in a localized manner, such as "Feb 2022" in the US locale, while "2022年2月" in the Japanese locale. Supporting method DateTimeFormatterBuilder.appendLocalized(String requestedTemplate)is also provided.
  • core-libs/java.util:collections ➜ New Methods to Create Preallocated HashMaps and HashSets (JDK-8186958):
  • New static factory methods have been introduced to allow creation of HashMap and related instances that are preallocated to accommodate an expected number of mappings or elements. After using the HashMap.newHashMap method, the requested number of mappings can be added to the newly created HashMap without it being resized. There are similar new static factory methods for LinkedHashMap, WeakHashMap, HashSet, and LinkedHashSet. The complete set of new methods is:
  • HashMap.newHashMap
  • LinkedHashMap.newLinkedHashMap
  • WeakHashMap.newWeakHashMap
  • HashSet.newHashSet
  • LinkedHashSet.newLinkedHashSet
  • The int-argument constructors for these classes set the "capacity" (internal table size) which is not the same as the number of elements that can be accommodated. The capacity is related to the number of elements by a simple but error-prone calculation. For this reason, programs should use these new static factory methods in preference to the int-argument constructors.
  • hotspot/compiler ➜ Support for PAC-RET Protection on Linux/AArch64 (JDK-8277204):
  • Support for PAC-RET protection on the Linux/AArch64 platform has been introduced.
  • When enabled, OpenJDK will use hardware features from the ARMv8.3 Pointer Authentication Code (PAC) extension to protect against Return Orientated Programming (ROP) attacks. For more information on the PAC extension see "Providing protection for complex software" or the "Pointer authentication in AArch64 state" section in the Arm ARM.
  • To take advantage of this feature, first OpenJDK must be built with the configuration flag --enable-branch-protection using GCC 9.1.0+ or LLVM 10+ . Then, the runtime flag -XX:UseBranchProtection=standard will enable PAC-RET protection if the system supports it and the java binary was compiled with branch-protection enabled; otherwise the flag is silently ignored. Alternatively, -XX:UseBranchProtection=pac-ret will also enable PAC-RET protection, but in this case if the system does not support it or the java binary was not compiled with branch-protection enabled, then a warning will be printed.
  • hotspot/runtime ➜ Automatic Generation of the CDS Archive (JDK-8261455):
  • The JVM option -XX:+AutoCreateSharedArchive can be used to automatically create or update a CDS archive for an application. For example:
  • java -XX:+AutoCreateSharedArchive -XX:SharedArchiveFile=app.jsa -cp app.jar App
  • The specified archive will be written if it does not exist, or if it was generated by a different version of the JDK
  • security-libs/java.security ➜ Windows KeyStore Updated to Include Access to the Local Machine Location (JDK-6782021):
  • The Windows KeyStore support in the SunMSCAPI provider has been expanded to include access to the local machine location. The new keystore types are:
  • "Windows-MY-LOCALMACHINE"
  • "Windows-ROOT-LOCALMACHINE"
  • The following keystore types were also added, allowing developers to make it clear they map to the current user:
  • "Windows-MY-CURRENTUSER" (same as "Windows-MY")
  • "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT")
  • security-libs/java.security ➜ Break Up SEQUENCE in X509Certificate::getSubjectAlternativeNames and X509Certificate::getIssuerAlternativeNames in otherName (JDK-8277976):
  • The JDK implementation of X509Certificate::getSubjectAlternativeNames and X509Certificate::getIssuerAlternativeNames has been enhanced to additionally return the type-id and value fields of an otherName. The value field is returned as a String if it is encoded as a character string or otherwise as a byte array, which is helpful as it avoids having to parse the ASN.1 DER encoded form of the name.
  • security-libs/javax.net.ssl ➜ (D)TLS Signature Schemes (JDK-8280494):
  • New Java SE APIs, javax.net.ssl.getSignatureSchemes() and javax.net.ssl.setSignatureSchemes(), have been added to allow applications to customize the signature schemes used in individual TLS or DTLS connections.
  • Note that the underlying provider may define the default signature schemes for each TLS or DTLS connection. Applications may also use the existing "jdk.tls.client.SignatureSchemes" and/or "jdk.tls.server.SignatureSchemes" system properties to customize the provider-specific default signature schemes. If not null, the signature schemes passed to the setSignatureSchemes() method will override the default signature schemes for the specified TLS or DTLS connections.
  • Note that a provider may not have been updated to support the new APIs and in that case may ignore the signature schemes that are set. The JDK SunJSSE provider supports this method. It is recommended that 3rd party providers add support for these methods when they add support for JDK 19 or later releases.
  • security-libs/jdk.security ➜ Add a -providerPath Option to jarsigner (JDK-8281175):
  • A new option -providerPath has been added to jarsigner. One can use this option to specify the class path of an alternate keystore implementation. It can be used together with the -providerClass option.
  • security-libs/org.ietf.jgss:krb5 ➜ New Options for ktab to Provide Non-default Salt (JDK-8279064):
  • Two new options are added to the ktab command when adding new keytab entries. When ktab -a username password -s altsalt is called, altsalt is used instead of the default salt. When ktab -a username password -f is called, the tool will contact the KDC to fetch the actual salt used.
  • xml/jaxp ➜ New XML Processing Limits (JDK-8270504 (not public)):
  • Three processing limits have been added to the XML libraries. These are:
  • jdk.xml.xpathExprGrpLimit
  • Description: Limits the number of groups an XPath expression can contain.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 10.
  • jdk.xml.xpathExprOpLimit
  • Description: Limits the number of operators an XPath expression can contain.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 100.
  • jdk.xml.xpathTotalOpLimit
  • Description: Limits the total number of XPath operators in an XSL Stylesheet.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 10000.
  • Supported processors
  • jdk.xml.xpathExprGrpLimit and jdk.xml.xpathExprOpLimit are supported by the XPath processor.
  • All three limits are supported by the XSLT processor.
  • Setting properties
  • For the XSLT processor, the properties can be changed through the TransformerFactory. For example,
  • TransformerFactory factory = TransformerFactory.newInstance();
  • factory.setAttribute("jdk.xml.xpathTotalOpLimit", "1000");
  • For the XPath processor, the properties can be changed through the XPathFactory. For example,
  • XPathFactory xf = XPathFactory.newInstance();
  • xf.setProperty("jdk.xml.xpathExprGrpLimit", "20");
  • For both the XPath and XSLT processors, the properties can be set through the system property and jaxp.properties configuration file located in the conf directory of the Java installation. For example,
  • System.setProperty("jdk.xml.xpathExprGrpLimit", "20");
  • or in the jaxp.properties file,
  • jdk.xml.xpathExprGrpLimit=20
  • There are two known issues:
  • An XPath expression that contains a short form of the parent axis ".." can return incorrect results. See JDK-8284920 for details.
  • An invalid XPath expression that ends with a relational operator such as ‘<’ ‘>’ and ‘=’ will cause the processor to erroneously throw StringIndexOutOfBoundsException instead of XPathExpressionException. See JDK-8284548 for details.
  • Removed Features and Options:
  • This section describes the APIs, features, and options that were removed in Java SE 19 and JDK 19. The APIs described here are those that are provided with the Oracle JDK. It includes a complete implementation of the Java SE 19 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 19 and JDK 19 is the Java SE 19 ( JSR 394) Platform Specification, which documents changes to the specification made between Java SE 17 and Java SE 19. This document includes the identification of removed APIs and features not described here. The descriptions below might also identify potential compatibility issues that you could encounter when migrating to JDK 19. See CSRs Approved for JDK 19 for the list of CSRs closed in JDK 19.
  • hotspot/gc ➜ Removal of Diagnostic Flag GCParallelVerificationEnabled (JDK-8286304):
  • The diagnostic flag GCParallelVerificationEnabled has been removed.
  • There are no known advantages of disabling parallel heap verification, so this flag has never been used except with its default value. This default value enabled multi-threaded verification for a very long time with no issues. Single-threaded heap verification would even be much slower than verification already is.
  • security-libs/javax.net.ssl ➜ Remove Finalizer Implementation in SSLSocketImpl (JDK-8212136):
  • The finalizer implementation in SSLSocket has been removed, with the underlying native resource releases now done by the Socket implementation. With this update, the TLS close_notify messages will no longer be emitted if SSLSocket is not explicitly closed.
  • Not closing Sockets properly is an error condition that should be avoided. Applications should always close sockets and not rely on garbage collection.
  • security-libs/javax.security ➜ Remove the Alternate ThreadLocal Implementation of the Subject::current and Subject::callAs APIs (JDK-8282676 (not public)):
  • The jdk.security.auth.subject.useTL system property and the alternate ThreadLocal implementation of the Subject::current and Subject::callAs APIs have been removed. The default implementation of these APIs is still supported.
  • Deprecated Features and Options:
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 19 and JDK 19 include:
  • The Deprecated API page identifies all deprecated APIs including those deprecated in Java SE 19.
  • The Java SE 19 ( JSR 394) specification documents changes to the specification made between Java SE 17 and Java SE 19 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 19. See CSRs Approved for JDK 19 for the list of CSRs closed in JDK 19.
  • core-libs/java.lang ➜ java.lang.ThreadGroup Is Degraded (JDK-8284161):
  • Legacy java.lang.ThreadGroup has been degraded in this release. It is no longer possible to explicitly destroy a thread group. In its place, ThreadGroup is changed to no longer keep a strong reference to subgroups. A thread group is thus eligible to be GC'ed when there are no live threads in the group and nothing else is keeping the thread group alive.
  • The behavior of several methods, deprecated for removal in prior releases, are changed as follows:
  • The destroy method does nothing.
  • The isDestroyed method returns false.
  • The setDaemon and isDaemon methods set/get a daemon status that is not used for anything.
  • The suspend, resume, and stop methods throw UnsupportedOperationException.
  • core-libs/java.util:i18n ➜ Deprecation of Locale Class Constructors (JDK-8282819):
  • New Locale.of() factory methods replace deprecated Locale constructors. The factory methods are efficient and reuse existing Locale instances. Locales are also provided by Locale.forLanguageTag() and Locale.Builder.
  • security-libs/java.security➜ PSSParameterSpec(int) Constructor and DEFAULT Static Constant Are Deprecated (JDK-8254935):
  • It is recommended to construct PSSParameterSpec explicitly with all desired values instead of using the DEFAULT static constant or the single argument constructor which takes the salt length. Both use the default values in the initial version of the PKCS#1 standard and some of these values are no longer recommended due to advances in cryptanalysis.
  • security-libs/javax.crypto➜ OAEPParameterSpec.DEFAULT Static Constant Is Deprecated (JDK-8284553):
  • It is recommended to construct OAEPParameterSpec explicitly with desired values instead of using the DEFAULT static constant. The DEFAULT static constant uses the default values in the initial version of the PKCS#1 standard and some of these values are no longer recommended due to advances in cryptanalysis.
  • Other Notes:
  • The following notes describe additional changes and information about this release. In some cases, the following descriptions provide links to additional detailed information about an issue or a change.
  • client-libs/2d ➜ Metal Is Now the Default Java 2D Rendering Pipeline on macOS (JDK-8284378):
  • Previously JDK desktop applications using Swing and Java2D (tm) would render using OpenGL on macOS. As of this release of JDK, they now are rendered using Apple's new Metal accelerated graphics API. This has been available since JDK 17 (JEP 382), but was not automatically enabled. Now it is enabled by default. Applications will not need to take any action, as they will automatically benefit from faster graphics with lower power consumption, and the use of a more modern stable graphics API which will be able to work better on current and future Apple Mac systems. Any user who would prefer to continue to use OpenGL whilst it is still supported can disable rendering with Metal by starting their application with either "java -Dsun.java2d.metal=false" or "java -Dsun.java2d.opengl=true" and it will run with OpenGL as it used to in JDK 17.
  • core-libs/java.io ➜ New System Property to Disable Windows Alternate Data Stream Support in java.io.File (JDK-8285445):
  • The Windows implementation of java.io.File allows access to NTFS Alternate Data Streams (ADS) by default. Such streams have a structure like “filename:streamname”. A system property jdk.io.File.enableADS has been added to control this behavior. To disable ADS support in java.io.File, the system property jdk.io.File.enableADS should be set to false (case ignored). Stricter path checking however prevents the use of special devices such as NUL:
  • core-libs/java.lang ➜ User's Home Directory Is Set to $HOME if Invalid (JDK-8280357):
  • On Linux and macOS, the system property user.home is set to the home directory provided by the operating system. If the directory name provided is empty or only a single character, the value of the environment variable HOME is used instead.
  • The directory name and the value of $HOME are usually the same and valid. The fallback to $HOME is unusual and unlikely to occur except in environments such as systemd on Linux or when running in a container such as Docker.
  • core-libs/java.lang ➜ Thread Context ClassLoader Changed to be a Special Inheritable Thread-local (JDK-8284161):
  • The thread context ClassLoader is specified in this release to be a special inheritable thread-local. This change should be transparent to existing code with the exception of code that uses the 5-arg Thread constructor (added in Java 9) to create a Thread that does not inherit the initial values of inheritable thread-locals from the constructing thread. With this release, invoking the 5-arg Thread constructor with the parameter inheritInheritableThreadLocals set to false will create a Thread that does not inherit the initial value of the context ClassLoader from the constructing thread. The Thread.setContextClassLoader method may be used to change the context ClassLoader of the new thread if needed.
  • For further details, see the JEP 425, section Thread-local variables.
  • core-libs/java.lang ➜ Source and Binary Incompatible Changes to java.lang.Thread (JDK-8284161):
  • The are a few source and binary incompatible changes that may impact code that extends java.lang.Thread.
  • Thread defines several new methods in this release. If code in an existing source file extends Thread and a method in the subclass conflicts with any of the new Thread methods then the file will not compile without change.
  • Thread.Builder is added as a nested interface. If code in an existing source file extends Thread, imports a class named Builder, and code in the subclass references "Builder" as a simple name, then the file will not compile without change.
  • Thread.isVirtual(), Thread.threadId() and Thread.join(Duration) are added as final methods. If there is existing compiled code that extends Thread and the subclass declares a method with the same name, parameters, and return type as any of these methods then IncompatibleClassChangeError will be thrown at run-time if the subclass is loaded.
  • For further details, see the JEP 425, section java.lang.Thread.
  • 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.lang ➜ Double.toString(double) and Float.toString(float) May Return Slightly Different Results (JDK-4511638):
  • The specification of these methods is now tighter than in earlier releases and the new implementation fully adheres to it.
  • As a consequence, some returned strings are now shorter than when using earlier releases, and for inputs at the extremes of the subnormal ranges near zero, might look differently. However, the number of cases where there's a difference in output is quite small compared to the sheer number of possible double and float inputs.
  • One example is Double.toString(2e23), which now returns "2.0E23", whereas in earlier releases it returns "1.9999999999999998E23". Another example, in the double subnormal range, is Double.toString(1e-323) which now returns "9.9E-324", as mandated by the new specification.
  • core-libs/java.lang:reflect ➜ Make Annotation toString Output for Enum Constants Usable for Source Input (JDK-8281462):
  • The exact toString format for annotations is not specified; however, the toString output is intended to be usable for source input. The toString output of enum constants was changed to two ways so that it would be usable as source input:
  • The name of the constant is used (rather than the output is its toString method)
  • For the name of the enum class, its canonical name rather than its binary name is used.
  • core-libs/java.net ➜ MD5 and SHA-1 Are Disabled by Default for HTTP Digest Authentication (JDK-8281561):
  • The MD5 and SHA-1 message digest algorithms have been disabled by default for HTTP Digest authentication. MD5 and SHA-1 are considered insecure and are deprecated generally. Accordingly, they have both been disabled by default for some usages of HTTP Digest authentication with java.net.HttpURLConnection. They can re-enabled on an opt-in basis by setting a new system property. More information about them can be found in Networking Properites.
  • core-libs/java.net ➜ Improved HTTP Proxy Detection on Windows (JDK-8262442):
  • When multiple Windows proxy configuration options are available, proxy selector now attempts all options in sequence until a proxy is selected or all options have been tried. Previously, only the first option was tried. For example, if automatic proxy detection was enabled, manual proxy setup was never used.
  • core-libs/java.net ➜ java.net.InetAddress Updated to Reject Ambiguous IPv4 Address Literals (JDK-8277608 (not public)):
  • The java.net.InetAddress class has been updated to strictly accept IPv4 address literals in decimal quad notation. The InetAddress class methods are updated to throw a java.net.UnknownHostException for invalid IPv4 address literals. To disable this check, the new jdk.net.allowAmbiguousIPAddressLiterals system property can be set to "true".
  • 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 Properites.
  • core-libs/java.nio ➜ FileChannel.transferFrom May Transfer Fewer Bytes than Expected (JDK-8286763):
  • The performance of FileChannel.transferFrom() has been improved significantly on Linux kernel version 4.5 and later for the case where the method is used to transfer bytes from one FileChannel to another. This change adds to the preexisting set of scenarios in which the number of bytes actually transferred might be less than the number requested to be transferred. That is to say, the value returned by transferFrom() can be less than the value of the count parameter: a “short transfer.” This is permitted by the specification, but might impact broken code that ignores the returned count and assumes it is always equal to count.
  • core-libs/java.nio ➜ The mark and set Methods of InputStream and FilterInputStream Are No Longer Synchronized (JDK-8284930):
  • The synchronized keyword is removed from the mark and reset methods of java.io.InputStream and java.io.FIlterInputStream. This keyword serves no purpose as the other methods in these classes do not synchronize.
  • core-libs/java.nio➜ Files.copy Copies POSIX Attributes to Target on Foreign File System (JDK-8267820):
  • The method java.nio.file.Files.copy(Path,Path) has been changed to copy POSIX file attributes from the source file to the destination file when the two files are associated with different file system providers, for example copying a file from the default file system to a zip file system. Both the source and target file systems must support the POSIX file attribute view. The POSIX attributes copied are constrained to the file access permissions; owner and group owner of the file are not copied.
  • core-libs/java.nio➜ FileChannel.lock/tryLock Changed to Treat Size 0 to Mean the Locked Region Goes to End of File (JDK-5041655):
  • The method java.nio.channels.FileChannel.lock(long position, long size, boolean shared) has been changed such that a size value of zero means to lock all bytes from the specified starting position to the end of the file, regardless of whether the file is subsequently extended or truncated.
  • core-libs/java.time➜ java.time.DateTimeFormatter: Wrong Definition of Symbol F (JDK-8282081):
  • The definition and its implementation of the pattern symbol F in java.time.format.DateTimeFormatter/Builder has been modified. It was tied with ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH field, which did not agree with java.text.SimpleDateFormat and Unicode Consortium's LDML. With this release, it represents ChronoField.ALIGNED_WEEK_OF_MONTH field. For example, the number 2 means "the 2nd Wednesday in July."
  • core-libs/java.time➜ Support for IsoFields in JapaneseDate/MinguoDate/ThaiBuddhistDate (JDK-8279185):
  • Three chronologies in java.time.chrono package, namely JapaneseChronology, MinguoChronology, and ThaiBuddhistChronology now support ISO-based fields, such as IsoFields.QUARTER_OF_YEAR. These chronologies implement the new method, isIsoBased() which has been added in the java.time.chrono.Chronology interface. The boolean returned from this method indicates if the implementing chronology is ISO chronology based, which means it has the same year/month structure as IsoChronology.
  • Here is an example:
  • JapaneseDate.now().getLong(IsoFields.QUARTER_OF_YEAR)
  • will return the correct quarter-of-year value, which used to be throwing an UnsupportedTemporalTypeException with prior JDK releases.
  • core-libs/java.util.concurrent➜ ForkJoinPool and ThreadPoolExecutor Do Not Use Thread::start to Start Worker Threads (JDK-8284161):
  • java.util.concurrent.ForkJoinPool and java.util.concurrent.ThreadPoolExecutor have changed in this release to not start worker threads with the Thread.start method. This may impact code that constructs a ForkJoinPool or ThreadPoolExecutor with a thread factory that creates worker Threads that override the no-arg start method. The overridden start method will not be invoked when worker threads are started. The change in behavior does not impact code that overrides the ForkJoinWorkerThread.onStart() method. The onStart() method will continue to be invoked by fork join worker threads when they start. A future release will re-examine the issue of thread factories creating threads that override the start method.
  • core-libs/java.util.jar➜ InflaterInputStream.read Throws EOFException (JDK-8292327):
  • A change to java.util.zip.InflaterInputStream in this release means it is possible that reading uncompressed bytes with this API can fail with an unexpected java.io.EOFException.
  • The issue arises when reading uncompressed bytes with a byte array that isn't large enough to fit all bytes that have been uncompressed. In that case, the additional uncompressed bytes are buffered by the implementation to be consumed by the next call to the read method. If the compressed stream is at end of stream then a subsequent read of the uncompressed data will fail incorrectly with EOFException.
  • This issue will be fixed in a future update. It may be possible to workaround the issue in some cases by calling read with a larger bye array.
  • core-libs/java.util.regex➜ Regex b Character Class Now Matches ASCII Characters only by Default (JDK-8264160):
  • The b metacharacter now matches ASCII word characters by default in the same way that the w metacharacter does. For b to match Unicode characters, the UNICODE_CHARACTER_CLASS must be set in the same way that it would need to be set for w to match Unicode characters.
  • core-libs/java.util:i18n➜ Support for CLDR Version 41 (JDK-8265315):
  • Locale data based on Unicode Consortium's CLDR has been upgraded to version 41. For the detailed locale data changes, please refer to the Unicode Consortium's CLDR release notes.
  • core-libs/javax.naming➜ Parsing of URL Strings in Built-in JNDI Providers Is More Strict (JDK-8278972 (not public)):
  • The parsing of URLs in the LDAP, DNS, and RMI built-in JNDI providers has been made more strict. The strength of the parsing can be controlled by system properties:
  • -Dcom.sun.jndi.ldapURLParsing="legacy" | "compat" | "strict" (to control "ldap:" URLs)
  • -Dcom.sun.jndi.dnsURLParsing="legacy" | "compat" | "strict" (to control "dns:" URLs)
  • -Dcom.sun.jndi.rmiURLParsing="legacy" | "compat" | "strict" (to control "rmi:" URLs)
  • The default value is "compat" for all of the three providers.
  • The "legacy" mode turns the new validation off.
  • The "compat" mode limits incompatibilities.
  • The "strict" mode is stricter and may cause regression by rejecting URLs that an application might consider as valid.
  • In "compat" and "strict" mode, more validation is performed. As an example, in the URL authority component, the new parsing only accepts brackets around IPv6 literal addresses. Developers are encouraged to use java.net.URI constructors or its factory method to build URLs rather than handcrafting URL strings.
  • If an illegal URL string is found, a java.lang.IllegalArgumentException or a javax.naming.NamingException (or a subclass of it) is raised.
  • core-svc/tools➜ jstatd No Longer Requires a SecurityManager (JDK-8272317):
  • jstatd no longer requires a Security Manager and policy file. Running with -Djava.security.policy= to set a policy has no effect.
  • Internally to jstatd, an ObjectInputFilter is used to allow only essential classes to be deserialized over the RMI connection.
  • hotspot/jvmti➜ JVM TI Changes to Support Virtual Threads (JDK-8284161):
  • The JVM Tool Interface (JVM TI) has been updated in this release to support virtual threads. Maintainers of agents that use JVM TI are strongly recommended to read JEP 425 and the JVM TI 19.0 specification. The following is a summary of the JVM TI support for virtual threads:
  • Most JVM TI functions that are called with a jthread, such as a JNI reference to a Thread object, can be called with a reference to a virtual thread. The functions that are not supported on virtual threads are PopFrame, ForceEarlyReturn, StopThread, AgentStartFunction, and GetThreadCpuTime. The SetLocal* functions support setting local variables in the top-most frame of virtual threads that are suspended at a breakpoint or single step event but are allowed to fail with JVMTI_ERROR_OPAQUE_FRAME in other scenarios.
  • All JVM TI events, with the exception of those posted during early VM startup or during heap iteration, can have event callbacks invoked in the context of a virtual thread.
  • The GetAllThreads and GetAllStackTraces functions are specified to return all platform threads rather than all threads.
  • New functions SuspendAllVirtualThreads and ResumeAllVirtualThreads are added to support bulk suspend and resume of virtual threads. New events VirtualThreadStart and VirtualThreadEnd are added to support tracking of virtual threads. A new capability, can_support_virtual_threads is used to enable the use of the new functions and events.
  • Existing JVM TI agents will mostly work as before, but may encounter errors if they invoke functions that are not supported on virtual threads. These will arise when an agent that is unaware of virtual threads is used with an application that uses virtual threads. The change to GetAllThreads to return an array containing only the platform threads may be an issue for some agents. Existing agents that enable the ThreadStart and ThreadEnd events for all threads may encounter performance issues until they are upgraded to have finer control of these events.
  • hotspot/runtime➜ JNI GetVersion Returns JNI_VERSION_19 (JDK-8286176):
  • The Java Native Interface function GetVersion has been changed in this release to return JNI_VERSION_19 (value 0x00130000).
  • hotspot/runtime➜ CPU Shares Ignored When Computing Active Processor Count (JDK-8281181):
  • Previous JDK releases used an incorrect interpretation of the Linux cgroups parameter "cpu.shares". This might cause the JVM to use fewer CPUs than available, leading to an under utilization of CPU resources when the JVM is used inside a container.
  • Starting from this JDK release, by default, the JVM no longer considers "cpu.shares" when deciding the number of threads to be used by the various thread pools. The -XX:+UseContainerCpuShares command-line option can be used to revert to the previous behavior. This option is deprecated and may be removed in a future JDK release.
  • install/install➜ RPM JDK Installer Changes (JDK-8275446):
  • Installation directory name of Oracle JDK in RPM package has changed from /usr/java/jdk-${VERSION} to /usr/lib/jvm/jdk-${FEATURE}-oracle-${ARCH}. Thus the 19.0.1 and 19.0.2 releases for x64 will both be installed in /usr/lib/jvm/jdk-19-oracle-x64 directory. RPM package will create /usr/java/jdk-${FEATURE} link pointing to the installation directory for backward compatibility.
  • Communication with the alternatives framework of JDK RPM package has changed. JDK RPM packages of prior versions registered a single java group of commands with the alternatives framework. The JDK 19 RPM package registers java and javac groups with the alternatives framework. java group is for commands used to run applications: java, keytool, and rmiregistry. javac group is used for all other commands. The set of commands registered by the package has not changed.
  • install/install➜ All JDK Update Releases Are Installed into the Same Directory on macOS (JDK-8281010):
  • The Oracle JDK installation directory name will be changed from /Library/Java/JavaVirtualMachines/jdk-${VERSION}.jdk to /Library/Java/JavaVirtualMachines/jdk-${FEATURE}.jdk. Thus the 19.0.1 and 19.0.2 releases will both install into the /Library/Java/JavaVirtualMachines/jdk-19.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.
  • install/install➜ JDK-8278370: [win] Disable Side-by-Side Installations of Multiple JDK Updates in Windows JDK Installers (JDK-8278370):
  • Windows JDK installers must install the Oracle JDK in %Program Files%Javajdk-%FEATURE% instead of %Program Files%Javajdk-%VNUM%. I.e. all updates of the same release must share one installation directory.
  • Thus the 19.0.1 and 19.0.2 releases will both install into %Program Files%Javajdk-19 by default, and they both cannot be installed at the same time.
  • If the JDK19.0.2 installer is launched when JDK19.0.1 is already installed, it will auto-upgrade them to JDK19.0.2. There may be a Files In Use dialog shown if the older version was running and locking JDK files.
  • If the JDK19.0.1 installer is launched when JDK19.0.2 is already installed, it will show an error that a newer version of this JDK family is already installed.
  • security-libs/java.security➜ Only Expose Certificates With Proper Trust Settings as Trusted Certificate Entries in macOS KeychainStore (JDK-8278449 (not public)):
  • On macOS, only certificates with proper trust settings in the user keychain will be exposed as trusted certificate entries in the KeychainStore type of keystore. Also, calling the KeyStore::setCertificateEntry method or the keytool -importcert command on a KeychainStore keystore now fails with a KeyStoreException. Instead, call the macOS "security add-trusted-cert" command to add a trusted certificate into the user keychain.
  • security-libs/java.security➜ RC2 and ARCFOUR Algorithms Added to jdk.security.legacyAlgorithms Security Property (JDK-8286090):
  • The RC2 and ARCFOUR (RC4) algorithms have been added to the jdk.security.legacyAlgorithms security property in the java.security configuration file. The keytool tool issues warnings when a weak RC2 or ARCFOUR algorithm is used for its commands associated with secret key entries in the keystore.
  • security-libs/java.security➜ Use Larger Default Key Sizes if not Explicitly Specified (JDK-8267319):
  • JDK providers use provider-specific default values if the caller does not specify a key size when using a KeyPairGenerator or KeyGenerator object to generate a key pair or secret key. With this enhancement, the default key sizes for various crypto algorithms have been increased as follows:
  • RSA, RSASSA-PSS, DH: from 2048 to 3072
  • EC: from 256 to 384
  • AES: from 128 to 256 (if permitted by crypto policy), falls back to 128 otherwise.
  • In addition, the jarsigner tool will now use SHA-384 instead of SHA-256 as the default digest algorithm. The default signature algorithm for the jarsigner tool has also been adjusted accordingly. SHA-384 is used instead of SHA-256 except for longer key sizes whose security strength matches SHA-512. Note that for DSA keys, jarsigner will continue using SHA256withDSA as the default signature algorithm. This ensures maximum interoperability with older JDK releases. For more details, please refer to the keytool and jarsigner documentation.
  • security-libs/java.security➜ getParameters of ECDSA Signature Objects Always Return Null (JDK-8286908):
  • In order to be compliant to RFC 5758 Section 3.2, the Signature::getParameters method on an ECDSA signature object from the SunEC security provider will always return null, even if an earlier setParameter method has been called on this object.
  • security-libs/java.security
  • ➜ DES, DESede, and MD5 Algorithms Added to jdk.security.legacyAlgorithms Security Property (JDK-8255552):
  • The DES, DESede and MD5 algorithms have been added to the jdk.security.legacyAlgorithms security property in the java.security configuration file. The keytool tool issues warnings when a weak DES or DESede algorithm is used for its commands associated with secret key entries in the keystore.
  • security-libs/javax.net.ssl
  • ➜ Fully Support Endpoint Identification Algorithm in RFC 6125 (JDK-7192189):
  • The JDK SunJSSE provider implementation has been enhanced to be fully compliant with RFC 6125. Prior to this release, the implementation was compliant except for one case, which has now been addressed: the implementation will not attempt to match wildcard domains in TLS certificates where the wildcard character comprises a label other than the left-most label.
  • If necessary, applications can workaround this restriction by implementing their own HostnameVerifier or TrustManager.
  • security-libs/javax.net.ssl
  • ➜ TLS Cipher Suites using 3DES Removed from the Default Enabled List (JDK-8163327):
  • The following TLS cipher suites that use the obsolete 3DES algorithm have been removed from the default list of enabled cipher suites:
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • Note that cipher suites using 3DES are already disabled by default in the jdk.tls.disabledAlgorithms security property. You may use these suites at your own risk by removing 3DES_EDE_CBC from the jdk.tls.disabledAlgorithms security property and re-enabling the suites via the setEnabledCipherSuites() method of the SSLSocket, SSLServerSocket, or SSLEngine classes. Alternatively, if an application is using the HttpsURLConnection class, the https.cipherSuites system property can be used to re-enable the suites.
  • tools/javac
  • ➜ Indy String Concat Changes Order of Operations (JDK-8273914):
  • String concatenation has been changed to evaluate each argument and eagerly convert it to a string, in left-to-right order. This fixes a bug in the invokedynamic-based string concatentation strategies introduced in JEP 280.
  • For example, the following now prints "foofoobar", not "foobarfoobar":
  • StringBuilder builder = new StringBuilder("foo");
  • System.err.println("" + builder + builder.append("bar"));
  • tools/javac
  • ➜ Lambda Deserialization Fails for Object Method References on Interfaces (JDK-8282080):
  • Deserialization of serialized method references to Object methods, which was using an interface as the type on which the method is invoked, can now be deserialized again. Note the classfiles need to be recompiled to allow the deserialization.
  • tools/javadoc(tool)
  • ➜ JavaDoc Search Enhancements (JDK-8248863):
  • API documentation generated by JavaDoc now provides a standalone search page and the search syntax has been enhanced to allow for multiple search terms.
  • tools/jpackage
  • ➜ Allow Per-User and System Wide Configuration of a jpackaged App (JDK-8250950):
  • jpackaged applications support both system-wide and per-user configuration.
  • jpackage application launcher will look up the corresponding .cfg file not only in the application installation directory (the system-wide installation location) but also in user-specific locations.

New in Java SE Development Kit (JDK) 20 Build 15 OpenJDK EA (Sep 16, 2022)

  • 8293514: ProblemList gc/metaspace/TestMetaspacePerfCounters.java#Epsi…
  • 8283010: serviceability/sa/ClhsdbThread.java failed with "'Base of St…
  • 8293182: Improve testing of CDS archive heap
  • 8293512: ProblemList serviceability/tmtools/jstat/GcNewTest.java in -…
  • 8293474: RISC-V: Unify the way of moving function pointer
  • 8293489: Accept CAs with BasicConstraints without pathLenConstraint
  • 8293497: Build failure due to MaxVectorSize was not declared when C2 …
  • 8292758: put support for UNSIGNED5 format into its own header file
  • 8289613: Drop use of Thread.stop in jshell
  • 8293432: Use diamond operator in java.management
  • 8293304: Replace some usages of INTPTR_FORMAT with PTR_FORMAT
  • 8293492: ShenandoahControlThread missing from hs-err log and thread dump
  • 8293348: A false cyclic inheritance error reported
  • 8293051: Further refactor javac after removal of -source/-target/--re…
  • 8293548: ProblemList sun/management/jmxremote/bootstrap/RmiBootstrapT…
  • 8293230: x86_64: Move AES and GHASH stub definitions into separate so…
  • 8291753: Add JFR event for GC CPU Time
  • 8293524: RISC-V: Use macro-assembler functions as appropriate
  • 6447816: Provider filtering (getProviders) is not working with OR'd c…
  • 8234315: GTK LAF does not gray out disabled JMenu
  • 8292671: Hotspot Style Guide should allow covariant returns
  • 8293477: IGV: Upgrade to Netbeans Platform 15
  • 8292675: Add identity transformation for removing redundant AndV/OrV …
  • 8288933: Improve the implementation of Double/Float.isInfinite
  • 8291660: Grapheme support in BreakIterator
  • 8293287: add ReplayReduce flag
  • 8292695: SIGQUIT and jcmd attaching mechanism does not work with sign…
  • 8288473: Remove unused frame::set_pc_preserve_deopt methods
  • 8293044: C1: Missing access check on non-accessible class
  • 8292240: CarrierThread.blocking not reset when spare not activated
  • 8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check M…
  • 8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque a…
  • 8293544: G1: Add comment in G1BarrierSetC1::pre_barrier
  • 6529151: NullPointerException in swing.plaf.synth.SynthLookAndFeel$Ha…
  • 8293343: sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java…
  • 8293282: LoadLibraryUnloadTest.java fails with "Too few cleared WeakR…
  • 8287908: Use non-cloning reflection methods where acceptable
  • 8292738: JInternalFrame backgroundShadowBorder & foregroundShadowBord…
  • 8283627: Outdated comment in MachineDescriptionTwosComplement.isLP64
  • 8293339: vm/jvmti/StopThread/stop001/stop00103 crashes with SIGSEGV i…
  • 8293329: x86: Improve handling of constants in AES/GHASH stubs
  • 8292225: Rename ArchiveBuilder APIs related to source and buffered ad…
  • 8293669: SA: Remove unnecssary "InstanceStackChunkKlass: InstanceStac…
  • 8293566: RISC-V: Clean up push and pop registers
  • 8292587: AArch64: Support SVE fabd instruction
  • 8275275: AArch64: Fix performance regression after auto-vectorization…
  • 4834298: JFileChooser.getSelectedFiles() failed with multi-selection …
  • 8170305: URLConnection doesn't handle HTTP/1.1 1xx (informational) me…
  • 8292302: Windows GetLastError value overwritten by ThreadLocalStorage…
  • 8292591: Experimentally add back barrier-less Java thread transitions

New in Java SE Development Kit (JDK) 11.0.16.1 LTS (Aug 19, 2022)

  • hotspot/compiler:
  • C2 Compilation Errors Unpredictably Crashes JVM
  • Fixes a regression in the C2 JIT compiler which caused the Java Runtime to crash unpredictably.

New in Java SE Development Kit (JDK) 17.0.4 (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 which can mitigate certain kinds of socially engineered, man in the middle (MITM) attacks. 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 in the Networking Properties page.
  • Other Notes:
  • 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.
  • Hotspot/runtime:
  • CPU Shares Ignored When Computing Active Processor Count:
  • Previous JDK releases used an incorrect interpretation of the Linux cgroups parameter "cpu.shares". This might cause the JVM to use fewer CPUs than available, leading to an under utilization of CPU resources when the JVM is used inside a container.
  • Starting from this JDK release, by default, the JVM no longer considers "cpu.shares" when deciding the number of threads to be used by the various thread pools. The -XX:+UseContainerCpuShares command-line option can be used to revert to the previous behavior. This option is deprecated and may be removed in a future JDK release.

New in Java SE Development Kit (JDK) 18.0.2 (Jul 20, 2022)

  • Removed Features and Options:
  • Security-libs/javax.security:
  • Remove the Alternate ThreadLocal Implementation of the Subject::current and Subject::callAs APIs
  • The “jdk.security.auth.subject.useTL” system property and the alternate ThreadLocal implementation of the Subject::current and Subject::callAs APIs have been removed. The default implementation of these APIs is still supported.
  • See JDK-8282676 (not public)
  • Other Notes:
  • Hotspot/runtime:
  • CPU Shares Ignored When Computing Active Processor Count:
  • Previous JDK releases used an incorrect interpretation of the Linux cgroups parameter "cpu.shares". This might cause the JVM to use fewer CPUs than available, leading to an under utilization of CPU resources when the JVM is used inside a container.
  • Starting from this JDK release, by default, the JVM no longer considers "cpu.shares" when deciding the number of threads to be used by the various thread pools. The -XX:+UseContainerCpuShares command-line option can be used to revert to the previous behavior. This option is deprecated and may be removed in a future JDK release.
  • See JDK-8281181
  • Tools/javac:
  • Lambda Deserialization Fails for Object Method References on Interfaces:
  • Deserialization of serialized method references to Object methods, which was using an interface as the type on which the method is invoked, can now be deserialized again. Note the classfiles need to be recompiled to allow the deserialization.
  • See JDK-8282080
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 11.0.16 LTS (Jul 20, 2022)

  • The compiler fails with an AssertionError: typeSig ERROR.

New in Java SE Development Kit (JDK) 18.0.1.1 (May 3, 2022)

  • Enable Windows Alternate Data Streams by default:
  • The Windows implementation of java.io.File has been changed so that strict validity checks are not performed by default on file paths. This includes allowing colons (‘:’) in the path other than only immediately after a single drive letter. It also allows paths that represent NTFS Alternate Data Streams (ADS), such as “filename:streamname”. This restores the default behavior of java.io.File to what it was prior to the April 2022 CPU in which strict validity checks were not performed by default on file paths on Windows. To re-enable strict path checking in java.io.File, the system property jdk.io.File.enableADS should be set to false (case ignored). This might be preferable, for example, if Windows special device paths such as NUL: are not used.
  • Bug Fixes:
  • JDK-8284920: Incorrect Token type causes XPath expression to return incorrect results
  • JDK-8278186: Invalid XPath expression causes StringIndexOutOfBoundsException

New in Java SE Development Kit (JDK) 18.0.1 (Apr 20, 2022)

  • New Features:
  • SunPKCS11 Provider Supports ChaCha20-Poly1305 Cipher and ChaCha20 KeyGenerator if Supported by PKCS11 Library
  • ChaCha20 and Poly1305 TLS Cipher Suites
  • xml/jaxp:
  • New XML Processing Limits:
  • jdk.xml.xpathExprGrpLimit
  • jdk.xml.xpathExprOpLimit
  • jdk.xml.xpathTotalOpLimit
  • Supported processors:
  • jdk.xml.xpathExprGrpLimit and jdk.xml.xpathExprOpLimit are supported by the XPath processor.
  • All three limits are supported by the XSLT processor.
  • Setting properties:
  • An XPath expression that contains a short form of the parent axis ".." can return incorrect results. See JDK-8284920 for details.
  • An invalid XPath expression that ends with a relational operator such as ‘<’ ‘>’ and ‘=’ will cause the processor to erroneously throw StringIndexOutOfBoundsException instead of XPathExpressionException. See JDK-8284548 for details.
  • Other Notes:
  • Only Expose Certificates With Proper Trust Settings as Trusted Certificate Entries in macOS KeychainStore
  • Parsing of URL Strings in Built-In JNDI Providers Is More Strict
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 17.0.3 (Apr 19, 2022)

  • New Features:
  • xml/jaxp
  • New XML Processing Limits
  • Three processing limits have been added to the XML libraries. These are:
  • jdk.xml.xpathExprGrpLimit
  • Description: Limits the number of groups an XPath expression can contain.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 10.
  • jdk.xml.xpathExprOpLimit
  • Description: Limits the number of operators an XPath expression can contain.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 100.
  • jdk.xml.xpathTotalOpLimit
  • Description: Limits the total number of XPath operators in an XSL Stylesheet.
  • Type: integer
  • Value: A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. Default 10000.
  • Supported processors
  • jdk.xml.xpathExprGrpLimit and jdk.xml.xpathExprOpLimit are supported by the XPath processor.
  • ll three limits are supported by the XSLT processor.
  • Setting properties
  • For the XSLT processor, the properties can be changed through the TransformerFactory. For example,
  • TransformerFactory factory = TransformerFactory.newInstance();
  • factory.setAttribute("jdk.xml.xpathTotalOpLimit", "1000");
  • For both the XPath and XSLT processors, the properties can be set through the system property and jaxp.properties configuration file located in the conf directory of the Java installation. For example,
  • System.setProperty("jdk.xml.xpathExprGrpLimit", "20");
  • or in the jaxp.properties file,
  • jdk.xml.xpathExprGrpLimit=20
  • JDK-8270504 (not public)
  • Other Notes:
  • security-libs/java.security
  • ➜ Only Expose Certificates With Proper Trust Settings as Trusted Certificate Entries in macOS KeychainStore
  • On macOS, only certificates with proper trust settings in the user keychain will be exposed as trusted certificate entries in the KeychainStore type of keystore. Also, calling the KeyStore::setCertificateEntry method or the keytool -importcert command on a KeychainStore keystore now fails with a KeyStoreException. Instead, call the macOS "security add-trusted-cert" command to add a trusted certificate into the user keychain.
  • JDK-8278449 (not public)
  • core-libs/javax.naming
  • ➜ Parsing of URL Strings in Built-In JNDI Providers Is More Strict
  • The parsing of URLs in the LDAP, DNS, and RMI built-in JNDI providers as been made more strict. The strength of the parsing can be controlled by system properties:
  • -Dcom.sun.jndi.ldapURLParsing="legacy" | "compat" | "strict" (to control "ldap:" URLs)
  • -Dcom.sun.jndi.dnsURLParsing="legacy" | "compat" | "strict" (to control "dns:" URLs)
  • -Dcom.sun.jndi.rmiURLParsing="legacy" | "compat" | "strict" (to control "rmi:" URLs)
  • The default value is "compat" for all of them.
  • The "legacy" mode turns the new validation off.
  • The "compat" mode limits incompatibilities.
  • The "strict" mode is stricter and may cause regression by rejecting URLs that an application might consider as valid.
  • If an illegal URL string is found, a javax.naming.NamingException (or a subclass of it) is raised.
  • JDK-8278972 (not public)
  • 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 17.0.3 Bug Fixes page.

New in Java SE Development Kit (JDK) 18 (Mar 23, 2022)

  • New Features and Enhancements:
  • core-libs/java.net:
  • ➜ JEP 408: Simple Web Server
  • jwebserver, a command-line tool to start a minimal static web server, has been introduced. The tool and the accompanying API are located in the com.sun.net.httpserver package of the jdk.httpserver module and are designed to be used for prototyping, ad-hoc coding, and testing, particularly in educational contexts.
  • tools/javadoc(tool):
  • ➜ JEP 413: Code Snippets in Java API Documentation
  • An @snippet tag for JavaDoc's Standard Doclet has been added, to simplify the inclusion of example source code in API documentation.
  • JEPs for Libraries:
  • core-libs/java.nio.charsets
  • ➜ JEP 400: UTF-8 by Default
  • Starting with JDK 18, UTF-8 is the default charset for the Java SE APIs. APIs that depend on the default charset now behave consistently across all JDK implementations and independently of the user’s operating system, locale, and configuration. Specifically, java.nio.charset.Charset#defaultCharset() now returns UTF-8 charset by default. The file.encoding system property is now a part of the implementation specification, which may accept UTF-8 or COMPAT. The latter is a new property value that instructs the runtime to behave as previous releases. This change is significant to users who call APIs that depend on the default charset. Users can determine whether they'd be affected or not, by specifying -Dfile.encoding=UTF-8 as the command line option with the existing Java runtime environment.
  • core-libs/java.net:
  • ➜ JEP 418: Internet-Address Resolution SPI
  • Introduce a service-provider interface (SPI) for host name and address resolution, so that java.net.InetAddress can make use of resolvers other than the platform's built-in resolver. This new SPI allows replacing the operating system's native resolver, which is typically configured to use a combination of a local hosts file and the Domain Name System (DNS).
  • core-libs/java.lang:reflect:
  • ➜ JEP 416: Reimplement Core Reflection With Method Handles
  • JEP 416 reimplements core reflection with method handles. Code that depends upon highly implementation-specific and undocumented aspects of the existing implementation might be impacted. Issues that might arise include:
  • Code that inspects the internal generated reflection classes (such as, subclasses of MagicAccessorImpl) no longer works and must be updated.
  • Code that attempts to break the encapsulation and change the value of the private final modifiers field of Method, Field and Constructor class to be different from the underlying member might cause a runtime error. Such code must be updated.
  • To mitigate this compatibility risk, you can enable the old implementation as a workaround by using -Djdk.reflect.useDirectMethodHandle=false. We will remove the old core reflection implementation in a future release. The -Djdk.reflect.useDirectMethodHandle=false workaround will stop working at that point.
  • JEPs for Previews and Incubator:
  • specification/language
  • ➜ JEP 420: Pattern Matching for switch (Second Preview)
  • Enhance the Java programming language with pattern matching for switch expressions and statements, along with extensions to the language of patterns. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.
  • core-libs:
  • ➜ JEP 419: Foreign Function & Memory API (Second Incubator)
  • Introduce an API by which Java programs can interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory (i.e., memory not managed by the JVM), the API enables Java programs to call native libraries and process native data without the brittleness and danger of JNI.
  • core-libs:
  • ➜ JEP 417: Vector API (Third Incubator)
  • Introduce an API to express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.
  • hotspot/gc:
  • ➜ ZGC Supports String Deduplication
  • The Z Garbage Collector now supports string deduplication (JEP 192 ).
  • hotspot/gc:
  • ➜ SerialGC Supports String Deduplication
  • The Serial Garbage Collector now supports string deduplication (JEP 192).
  • hotspot/gc:
  • ➜ ParallelGC Supports String Deduplication
  • The Parallel Garbage Collector now supports string deduplication (JEP 192).
  • tools/javac:
  • ➜ Passing Originating Elements From Filer to JavaFileManager
  • The javax.tools.JavaFileManager has been extended with two new methods, getJavaFileForOutputForOriginatingFiles and getFileForOutputForOriginatingFiles, that are used to create new files with specified originating files. The Filer uses these methods when creating new files (with Filer.createSourceFile, Filer.createClassFile, Filer.createResource) in order to pass along the files containing the originating elements.
  • core-libs/java.nio.charsets:
  • ➜ Charset.forName() Taking fallback Default Value
  • A new method Charset.forName() that takes fallback charset object has been introduced in java.nio.charset package. The new method returns fallback if charsetName is illegal or the charset object is not available for the name. If fallback is passed as null the caller can check if the named charset was available without having to catch the exceptions thrown by the Charset.forName(name) method.
  • core-libs/java.util:
  • ➜ New System Property to Control the Default Date Comment Written Out by java.util.Properties::store Methods
  • A new system property, java.properties.date, has been introduced to allow applications to control the default date comment written out by the java.util.Properties::store methods. This system property is expected to be set while launching java. Any non-empty value of this system property results in that value being used as a comment instead of the default date comment. In the absence of this system property or when the value is empty, the Properties::store methods continue to write the default date comment. An additional change has also been made in the implementation of the Properties::store methods to write out the key/value property pairs in a deterministic order. The implementation of these methods now uses the natural sort order of the property keys while writing them out. However, the implementation of these methods continues to use the iteration order when any sub-class of java.util.Properties overrides the entrySet() method to return a different Set than that returned by super.entrySet().
  • The combination of the deterministic ordering of the properties that get written out with the new system property is particularly useful in environments where applications require the contents of the stored properties to be reproducible. In such cases, applications are expected to provide a fixed value of their choice to this system property.
  • core-libs/javax.annotation.processing:
  • ➜ printError, printWarning, and printNote methods on Messager
  • For annotation processors, the Messager interface now has methods printError, printWarning, and printNote to directly report errors, warnings, and notes, respectively.
  • core-libs/javax.lang.model:
  • ➜ Method to Get Outermost Type Element
  • In the javax.lang.model API, the Elements utility interface has a new method, getOutermostTypeElement, which returns the outermost class or interface syntactically enclosing an element.
  • core-libs/javax.lang.model:
  • Method to Get Outermost Type Element
  • In the javax.lang.model API, the Elements utility interface has a new method, getOutermostTypeElement, which returns the outermost class or interface syntactically enclosing an element.
  • core-libs/javax.lang.model:
  • Map from an Element to its JavaFileObject
  • The method Elements.getFileObjectOf(Element) maps from an Element to the file object used to create the element.
  • core-libs/javax.lang.model:
  • Mapping between SourceVersion and Runtime.Version
  • The SourceVersion enum class has methods to map between SourceVersion values and Runtime.Version values. In turn, Runtime.Version can be used to map from a string representation of a version to a Runtime.Version object.
  • hotspot/compiler:
  • Improve Compilation Replay
  • Compilation Replay has been improved to make it more stable and catch up with new JVM features. Enhancements include:
  • Best-effort support for hidden classes, allowing more cases involving invokedynamic, MethodHandles, and lambdas to replay successfully
  • DumpReplay support for C1
  • Incremental inlining support
  • Numerous bug fixes to improve stability
  • Compilation Replay is a JVM feature of debug builds that is mainly used to reproduce crashes in the C1 or C2 JIT compilers.
  • hotspot/gc:
  • Configurable Card Table Card Size
  • JDK-8272773 introduces the VM option -XX:GCCardSizeInBytes used to set a size of the area that a card table entry covers (the "card size") that is different from the previous fixed value of 512 bytes. Permissible values are now 128, 256, and 512 bytes for all platforms, and 1024 bytes for 64 bit platforms only. The default value remains 512 bytes.
  • The card size impacts the amount of work to be done when searching for references into an area that is to be evacuated (for example, young generation) during garbage collection. Smaller card sizes give more precise information about the location of these references, often leading to less work during garbage collection. At the same time, however, smaller card sizes can lead to more memory usage in storing this information. The increase in memory usage might result in slower performance of maintenance work during the garbage collection.
  • hotspot/gc:
  • Allow G1 Heap Regions up to 512MB
  • The JDK-8275056 enhancement extends the maximum allowed heap region size from 32MB to 512MB for the G1 garbage collector. Default ergonomic heap region size selection is still limited to 32MB regions maximum. Heap region sizes beyond that must be selected manually by using the -XX:G1HeapRegionSize command line option.
  • This can be used to mitigate both inner and outer fragmentation issues with large objects on large heaps.
  • On very large heaps, using a larger heap region size may also decrease internal region management overhead and increase performance due to larger local allocation buffers.
  • hotspot/jfr:
  • JDK Flight Recorder Event for Finalization
  • A new JDK Flight Recorder Event, jdk.FinalizerStatistics, identifies classes at runtime that use finalizers. The event is enabled by default in the JDK (in the default.jfc and profile.jfc JFR configuration files). When enabled, JFR will emit a jdk.FinalizerStatistics event for each instantiated class with a non-empty finalize() method. The event includes: the class that overrides finalize(), that class's CodeSource, the number of times the class's finalizer has run, and the number of objects still on the heap (not yet finalized). For information about using JFR, see the User Guide.
  • If finalization has been disabled with the --finalization=disabled option, no jdk.FinalizerStatistics events are emitted.
  • security-libs:
  • SunPKCS11 Provider Now Supports Some PKCS#11 v3.0 APIs
  • PKCS#11 v3.0 adds several new APIs that support new function entry points, as well as message-based encryption for AEAD ciphers, etc. For JDK 18, the SunPKCS11 provider has been updated to support some of the new PKCS#11 v3.0 APIs. To be more specific, if the "functionList" attribute in the provider configuration file is not set, the SunPKCS11 provider will first try to locate the new PKCS#11 v3.0 C_GetInterface() method before falling back to the C_GetFunctionList() method to load the function pointers of the native PKCS#11 library. If the loaded PKCS#11 library is v3.0, then the SunPKCS11 provider will cancel crypto operations by trying the new PKCS#11 v3.0 C_SessionCancel() method instead of finishing off remaining operations and discarding the results. Support for other new PKCS#11 v3.0 APIs will be added in later releases.
  • security-libs/java.security:
  • Alternate Subject.getSubject and doAs APIs Created That Do Not Depend on Security Manager APIs
  • New methods javax.security.auth.Subject::current and javax.security.auth.Subject::callAs have been created as replacements for existing methods javax.security.auth.Subject::getSubject and javax.security.auth.Subject::doAs. The javax.security.auth.Subject::getSubject and javax.security.auth.Subject::doAs methods are deprecated for removal because they depend on Security Manager APIs deprecated in JEP 411.
  • security-libs/java.security:
  • KeyStore Has a getAttributes Method
  • A KeyStore::getAttributes method has been added that returns the attributes of an entry without having to retrieve the entry first. This is especially useful for a private key entry that has attributes that are not protected but previously could only be retrieved with a password.
  • security-libs/java.security:
  • Support for RSASSA-PSS in OCSP Response
  • An OCSP response signed with the RSASSA-PSS algorithm is now supported.
  • security-libs/java.security:
  • New Option -version Added to keytool and jarsigner Commands
  • A new -version option has been added to the keytool and jarsigner commands. This option is used to print the program version of keytool and jarsigner.
  • security-libs/java.security:
  • Migrate cacerts From JKS to Password-Less PKCS12
  • The cacerts keystore file is now a password-less PKCS #12 file. All certificates inside are not encrypted and there is no MacData for password integrity. Since the PKCS12 and JKS keystore types are interoperable, existing code that uses a JKS KeyStore to load the cacerts file with any password (including null) continue to behave as expected and can view or extract the certificates contained within the keystore.
  • security-libs/java.security:
  • Allow Store Password to Be Null When Saving a PKCS12 KeyStore
  • Calling keyStore.store(outputStream, null) on a PKCS12 KeyStore creates a password-less PKCS12 file. The certificates inside the file are not encrypted and the file contains no MacData. This file can then be loaded with any password (including null) when calling keyStore.load(inputStream, password).
  • security-libs/javax.crypto:pkcs11:
  • SunPKCS11 Provider Supports AES Cipher With KW and KWP Modes if Supported by PKCS11 Library
  • The SunPKCS11 provider has been enhanced to support the following crypto services and algorithms when the underlying PKCS11 library supports the corresponding PKCS#11 mechanisms:
  • AES/KW/NoPadding Cipher <=> CKM_AES_KEY_WRAP mechanism
  • AES/KW/PKCS5Padding Cipher <=> CKM_AES_KEY_WRAP_PAD mechanism
  • AES/KWP/NoPadding Cipher <=> CKM_AES_KEY_WRAP_KWP mechanism
  • tools/javac:
  • Expand checks of javac's serial lint warning
  • The serial lint warning implemented in javac traditionally checked that a Serializable class declared a serialVersionUID field. The structural checking done by the serial lint warning has been expanded to warn for cases where declarations would cause the runtime serialization mechanism to silently ignore a mis-declared entity, rendering it ineffectual. Also, the checks include several compile-time patterns that could lead to runtime failures. The specific checks include:
  • For Serializable classes and interfaces, fields and methods with names matching the special fields and methods used by the serialization mechanism are declared properly.
  • Additional analagous checks are done for Externalizable types as some serialization-related methods are ineffectual there.
  • A serializable class is checked that it has access to a no-arg constructor in the first non-serializable class up its superclass chain.
  • For enum classes, since the serialization spec states the five serialization-related methods and two fields are all ignored, the presence of any of those in an enum class will generate a warning.
  • For record classes, warnings are generated for the ineffectual declarations of serialization-related methods that serialization would ignore.
  • For interfaces, if a public readObject, readObjectNoData, or writeObject method is defined, a warning is issued since a class implementing the interface will be unable to declare private versions of those methods and the methods must be private to be effective. If an interface defines default writeReplace or readResolve methods, a warning will be issued since serialization only looks up the superclass chain for those methods and not for default methods from interfaces. Since a serialPersistentFields field must be private to be effective, the presence of such a (non-private) field an in interface generates a warning.
  • For serializable classes without serialPersistentFields, the type of each non-transient instance field is examined and a warning issued if the type of the field cannot be serialized. Primitive types, types declared to be serializable, and arrays can be serialized. While by the JLS all arrays are considered serializable, a warning is issued if the innermost component type is not serializable.
  • The new warnings can be suppressed using @SuppressWarnings("serial").
  • tools/javadoc(tool):
  • Options to Include Script Files in Generated Documentation
  • The Standard Doclet supports an --add-script option used to include a reference to an external script file in the file for each page of generated documentation.
  • tools/javadoc(tool):
  • @SuppressWarnings for DocLint Messages
  • You can now use @SuppressWarnings annotations to suppress messages from DocLint about issues in documentation comments, when it is not possible or practical to fix the issues that were found. For more details, see Suppressing Messages in the DocLint section of the javadoc Tool Guide.
  • Removed Features and Options:
  • This section describes the APIs, features, and options that were removed in Java SE 18 and JDK 18. The APIs described here are those that are provided with the Oracle JDK. It includes a complete implementation of the Java SE 18 Platform and additional Java APIs to support developing, debugging, and monitoring Java applications. Another source of information about important enhancements and new features in Java SE 18 and JDK 18 is the Java SE 18 ( JSR 393) Platform Specification, which documents changes to the specification made between Java SE 17 and Java SE 18. This document includes the identification of removed APIs and features not described here. The descriptions below might also identify potential compatibility issues that you could encounter when migrating to JDK 18.
  • security-libs/java.security:
  • Removal of IdenTrust Root Certificate
  • The following root certificate from IdenTrust has been removed from the cacerts keystore:
  • + alias name "identrustdstx3 [jdk]"
  • Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
  • security-libs/java.security:
  • Removal of Google's GlobalSign Root Certificate
  • The following root certificate from Google has been removed from the cacerts keystore:
  • + alias name "globalsignr2ca [jdk]"
  • Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
  • client-libs/2d:
  • Removal of Empty finalize() Methods in java.desktop Module
  • The java.desktop module had a few implementations of finalize() that did nothing. These methods were deprecated in Java 9 and terminally deprecated in Java 16. These methods have been removed in this release. See https://bugs.openjdk.java.net/browse/JDK-8273103 for details.
  • core-libs/java.net:
  • Removal of Support for Pre JDK 1.4 DatagramSocketImpl Implementations
  • Support for pre JDK 1.4 DatagramSocketImpl implementations (DatagramSocketImpl implementations that don't support connected datagram sockets, peeking, or joining multicast groups on specific network interface) has been dropped in this release. Old implementations have not have been buildable since JDK 1.4 but implementations compiled with JDK 1.3 or older continued to be usable up to this release.
  • Trying to call connect or disconnect on a DatagramSocket or MulticastSocket that uses an old implementation will now throw SocketException or UncheckedIOException. Trying to call joinGroup or leaveGroup will result in an AbstractMethodError.
  • core-libs/java.net:
  • Removal of impl.prefix JDK System Property Usage From InetAddress
  • The system property impl.prefix has been removed. This undocumented system property dates from early JDK releases where it was possible to add an implementation of the JDK internal and non-public java.net.InetAddressImpl interface to the java.net package, and have it be used by the java.net.InetAddress API.
  • The InetAddressResolver SPI introduced by JEP 418 provides a standard way to implement a name and address resolver.
  • core-libs/java.net:
  • Removal of Legacy PlainSocketImpl and PlainDatagramSocketImpl Implementations
  • Legacy implementations of java.net.SocketImpl and java.net.DatagramSocketImpl have been removed from the JDK. The legacy implementation of SocketImpl has not been used by default since JDK 13, while the legacy implementation of DatagramSocketImpl has not been used by default since JDK 15. Support for system properties jdk.net.usePlainSocketImpl and jdk.net.usePlainDatagramSocketImpl used to select these implementations has also been removed. Setting these properties now has no effect.
  • security-libs/org.ietf.jgss:krb5:
  • Removal of default_checksum and safe_checksum_type From krb5.conf
  • The "default_checksum" and "safe_checksum_type" settings in the krb5.conf configuration file are no longer supported. The checksum type in a KRB_TGS_REQ message is derived from the type of the encryption key used to generate it. The "safe_checksum_type" setting was never used in Java.
  • Deprecated Features and Options:
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 18 and JDK 18 include:
  • The Deprecated API page identifies all deprecated APIs including those deprecated in Java SE 18.
  • The Java SE 18 ( JSR 393) specification documents changes to the specification made between Java SE 17 and Java SE 18 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 18. See CSRs Approved for JDK 18 for the list of CSRs closed in JDK 18.
  • JEPs for Deprecation and Removals:
  • core-libs/java.lang:
  • ➜ JEP 421: Deprecated Finalization for Removal
  • The finalization mechanism has been deprecated for removal in a future release. The finalize methods in standard Java APIs, such as Object.finalize() and Enum.finalize(), have also been deprecated for removal in a future release, along with methods related to finalization, such as Runtime.runFinalization() and System.runFinalization().
  • Finalization remains enabled by default, but it can be disabled for testing purposes by using the command-line option --finalization=disabled introduced in this release. Maintainers of libraries and applications that rely upon finalization should migrate to other resource management techniques in their code, such as try-with-resources and cleaners.
  • NOTE: The following Release Notes, not related to JEPs, describe deprecated or removed APIs, features, and options in this release:
  • security-libs/javax.security:
  • ➜ Deprecated Subject::doAs for Removal
  • Two javax.security.auth.Subject::doAs methods have been deprecated for removal. This is a part of the ongoing effort to remove Security Manager related APIs.
  • See JDK-8267108
  • core-libs:
  • ➜ Deprecated sun.misc.Unsafe Methods That Return Offsets
  • Developers that use the unsupported sun.misc.Unsafe API should be aware that the methods that return base and field offsets have been deprecated in this release. The methods objectFieldOffset, staticFieldOffset, and staticFieldBase methods are an impediment to future changes. A future release will eventually degrade or remove these methods along with the heap accessor methods.
  • The java.lang.invoke.VarHandle API (added in Java 9) provides a strongly typed reference to a variable that is safe and a replacement to many cases that use field offsets and the heap accessor methods. It is strongly recommended to migrate to the VarHandle API where possible. Multi-Release JARs can be used by libraries and frameworks that continue to support JDK 8 or older.
  • See JDK-8277863
  • core-libs/java.lang:
  • ➜ Terminally Deprecated Thread.stop
  • Thread.stop is terminally deprecated in this release so that it can be degraded in a future release and eventually removed. The method is inherently unsafe and has been deprecated since Java 1.2 (1998).
  • See JDK-8277861
  • hotspot/gc:
  • ➜ Obsoleted Product Options -XX:G1RSetRegionEntries and -XX:G1RSetSparseRegionEntries
  • The options -XX:G1RSetRegionEntries and -XX:G1RSetSparseRegionEntries have been obsoleted with the changes from JDK-8017163.
  • JDK-8017163 implements a completely new remembered set implementation in which these two options no longer apply. In this release, neither -XX:G1RSetRegionEntries nor -XX:G1RSetSparseRegionEntries have a function, and their use will trigger an obsoletion warning.
  • Other Notes:
  • The following notes describe additional changes and information about this release. In some cases, the following descriptions provide links to additional detailed information about an issue or a change.
  • install/install:
  • ➜ Extended Delay Before JDK Executable Installer Starts From Network Drive
  • On Windows 11 and Windows Server 2022, there can be some slowness with the extraction of temporary installation files when launched from a mapped network drive. The installer will still work, but there can be a temporary delay.
  • JDK-8274002 (not public)
  • security-libs/java.security:
  • ➜ Change the java.security.manager System Property Default Value to disallow
  • The default value of the java.security.manager system property has been changed to disallow. Unless the system property is set to allow on the command line, any invocation of System.setSecurityManager(SecurityManager) with a non-null argument will throw an UnsupportedOperationException.
  • security-libs/java.security:
  • ➜ Disabled SHA-1 Signed JARs
  • 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.
  • To reduce the compatibility risk for applications 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 might be removed in a future JDK release.
  • 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.
  • tools/javac:
  • ➜ Enclosing Instance Fields Omitted from Inner Classes That Don't Use Them
  • Prior to JDK 18, when javac compiles an inner class it always generates a private synthetic field with a name starting with this$ to hold a reference to the enclosing instance, even if the inner class does not reference its enclosing instance and the field is unused.
  • Starting in JDK 18, unused this$ fields are omitted; the field is only generated for inner classes that reference their enclosing instance.
  • tools/javac:
  • Corrected References to Overloaded Methods in Javadoc Documentation
  • For a reference to a specific overload of an overloaded method, the javadoc tool might have linked to the wrong overload in the generated documentation. This fix resolves that issue, and the specified overload will now be used for the links in the generated documentation.
  • core-libs/java.io:
  • Default charset for PrintWriter That Wraps PrintStream
  • The java.io.PrintStream, PrintWriter, and OutputStreamWriter constructors that take a java.io.OutputStream and no charset now inherit the charset when the output stream is a PrintStream. This is important for usages such as:
  • new PrintWriter(System.out):
  • where it would be problematic if PrintStream didn't use the same charset as that used by System.out. This change was needed because JEP 400 makes it is possible, especially on Windows, that the encoding of System.out is not UTF-8. This would cause problems if PrintStream were wrapped with a PrintWriter that used UTF-8.
  • As part of this change, java.io.PrintStream now defines a charset() method to return the print stream's charset.
  • core-libs/java.io:serialization:
  • ObjectInputStream.GetField.get(name, object) Throws ClassNotFoundException
  • The java.io.ObjectInputStream.GetField.get(String name, Object val) method now throws ClassNotFoundException when the class of the object is not found. Previously, null was returned, which prevented the caller from correctly handling the case where the class was not found. The signature of GetField.get(name, val) has been updated to throw ClassNotFoundExceptionand a ClassNotFoundException exception is thrown when the class is not found.
  • The source compatibility risk is low. The addition of a throws ClassNotFoundException should not cause a source compatibility or a compilation warning. The GetField object and its methods are called within the context of the readObject method and include throws ClassNotFoundException.
  • To revert to the old behavior, a system property, jdk.serialGetFieldCnfeReturnsNull, has been added to the implementation. Setting the value to true reverts to the old behavior (returning null); leaving it unset or to any other value results in the throwing of ClassNotFoundException.
  • core-libs/java.io:serialization:
  • Deserialization Filter and Filter Factory Property Error Reporting Were Under Specified
  • Invalid values of the command line and the security properties of jdk.serialFilter and jdk.serialFilterFactory are reported by throwing java.lang.IllegalStateException on the first use. The property values are checked when constructing java.io.ObjectInputStream or when calling the methods of java.io.ObjectInputFilter.Config including getSerialFilter() and getSerialFilterFactory(). The IllegalStateException indicates that the serial filter or serial filter factory is invalid and cannot be used; deserialization is disabled. Previously, the exception thrown was ExceptionInInitializerError.
  • core-libs/java.net:
  • HttpURLConnection's getHeaderFields and URLConnection.getRequestProperties Methods Return Field Values in the Order They Were Added
  • URLConnection has been fixed to return multiple header values for a given field-name in the order in which they were added.
  • Previously, if a URLConnection contained multiple header values for a given header field-name, when retrieved by using the HttpURLConnection::getHeaderFields and the URLConnection::getRequestProperties methods, they would be returned in the reverse order to which they were added.
  • This has been fixed to conform to RFC2616, which explicitly states that the order matters and thus, should be maintained.
  • core-libs/java.net:
  • Prohibit Null for Header Keys and Values in com.sun.net.httpserver.Headers
  • In JDK 18, the handling of header names and values in jdk.httpserver/com.sun.net.httpserver.Headers has been reconciled. This includes the eager and consistent prohibition of null for names and values. The class represents header names and values as a key-value mapping of Map<String, List <String>>. Previously, it was possible to create a headers instance with a null key or value, which would cause undocumented exceptions when passed to the HttpServer. It was also possible to query the instance for a null key and false would be returned. With this change, all methods of the class now throw a NullPointerException if the key or value arguments are null. For more information, see https://bugs.openjdk.java.net/browse/JDK-8269296.
  • core-libs/java.nio:
  • ReadableByteChannel::read No Longer Throws ReadOnlyBufferException
  • ReadableByteChannel::read no longer incorrectly throws ReadOnlyBufferException.
  • The read(ByteBuffer) method of the ReadableByteChannel returned by java.nio.channels.Channel.newChannel(InputStream) was incorrectly throwing ReadOnlyBufferException when its ByteBuffer parameter specified a read-only buffer. ReadableByteChannel::read is, however, specified in this case to throw an IllegalArgumentException. The implementation has been changed for this case to throw an IllegalArgumentException instead of a ReadOnlyBufferException, as dictated by the specification.
  • core-libs/java.nio:
  • Zip File System Provider Throws ZipException When Entry Name Element Contains "." or ".."
  • The ZIP file system provider has been changed to reject existing ZIP files that contain entries with "." or ".." in name elements. ZIP files with these entries cannot be used as a file system. Invoking the java.nio.file.FileSystems.newFileSystem(...) methods throw ZipException if the ZIP file contains these entries.
  • core-libs/java.time:
  • Update Timezone Data to 2021c
  • The IANA Time Zone Database, on which the JDK's Date/Time libraries are based, has made a tweak to some of the time zone rules in 2021c.
  • Note that in 2021b, which is cumulatively included in this change, some of the time zone rules prior to the year 1970 have been modified according to changes introduced with 2021b. For more details, refer to the announcement of 2021b.
  • core-libs/java.util.jar:
  • Disabled JAR Index Support
  • JAR Index has been disabled in this release. JAR Index was an optimization to postpone downloading of JAR files when loading applets or other classes over the network. JAR Index has many long standing issues and does not interact well with newer features (such as, Multi-Release JARs and modular JARs). If a JAR file contains an INDEX.LIST file, then its contents are ignored by the application class loader and by any URLClassLoader created by user code.
  • The system property, jdk.net.URLClassPath.enableJarIndex, can be used re-enable the feature if required. If set to an empty string or the value "true", then JAR Index will be re-enabled. This system property is temporary. A future release will remove the JAR Index feature and the system property.
  • The change does not impact the jar -i option. The jar tool continues to create an index when this option is used.
  • core-libs/java.util.jar:
  • Closes Out Compressor When IOException Encountered While Using Default JDK Compressor in GZIPOutputStream.finish() , ZipOutputStream.closeEntry() and DeflaterOutputStream.close()
  • DeflaterOutputStream.close() and GZIPOutputStream.finish() has been changed to close out the associated default JDK compressor before propagating a Throwable up the stack. ZIPOutputStream.closeEntry() has been changed to close out the associated default JDK compressor before propagating an IOException, not of type ZipException, up the stack.
  • hotspot/gc:
  • ZGC: Fixed Long Process Non-Strong References Times
  • A bug has been fixed that could cause long "Concurrent Process Non-Strong References" times with ZGC. The bug blocked the GC from making significant progress, and caused both latency and throughput issues for the Java application.
  • The long times could be seen in the GC logs when running with -Xlog:gc*:
  • [17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms
  • security-libs/java.security:
  • X509Certificate.get{Subject,Issuer}AlternativeNames and getExtendedKeyUsage Do Not Throw CertificateParsingException if Extension Is Unparseable
  • The JDK implementation (as supplied by the SUN provider) of X509Certificate::getSubjectAlternativeNames, X509Certificate::getIssuerAlternativeNames and X509Certificate::getExtendedKeyUsage now throws CertificateParsingException instead of returning null when the extension is non-critical and unparseable (badly encoded or contains invalid values). This change in behavior is compliant with the specification of these methods.
  • security-libs/javax.crypto:
  • Fix Issues With the KW and KWP Modes of SunJCE Provider
  • Support for AES/KW/NoPadding, AES/KW/PKCS5Padding and AES/KWP/NoPadding ciphers is added to SunJCE provider since jdk 17. The cipher block size for these transformations should be 8 instead of 16. In addition, for KWP mode, only the default IV, i.e. 0xA65959A6, is allowed to ensure maximum interoperability with other implementations. Other IV values will be rejected with exception during Cipher.init(...) calls.
  • security-libs/javax.net.ssl:
  • Call X509KeyManager.chooseClientAlias Once for All Key Types
  • The (D)TLS implementation in JDK now calls X509KeyManager.chooseClientAlias() only once during handshaking for client authentication, even if there are multiple algorithms requested .
  • security-libs/org.ietf.jgss:krb5:
  • Removed Weak etypes From Default krb5 etype List
  • Weak encryption types based on DES, 3DES, and RC4 have been removed from the default encryption types list in Kerberos. These weak encryption types can be enabled (at your own risk) by adding them to the "permitted_enctypes" property (or alternatively, the "default_tkt_enctypes" or "default_tgt_enctypes" properties) and setting "allow_weak_crypto" to "true" in the krb5.conf configuration file.
  • tools/javac:
  • Index Noteworthy Terms for jdk.compiler and jdk.javadoc Modules
  • Various terms have been added to the index files in the JDK API documentation, so that these terms can be found in both the static A-Z index and in the interactive search index.
  • The terms are:
  • Language Model, Annotation Processing, Compiler API, and Compiler Tree API.
  • tools/javadoc(tool):
  • Improved Navigation on Small Devices
  • The pages generated by the Standard Doclet provide improved navigation controls when the pages are viewed on small devices.
  • tools/javadoc(tool):
  • DocLint Reports Missing Descriptions
  • DocLint detects and reports documentation comments that do not have a description about the associate declaration before any block tags that may be present. DocLint is a feature of the javac and javadoc tools that detects and reports issues in documentation comments.
  • tools/javadoc(tool):
  • Updated Documentation for DocLint
  • The documentation in the Tool Guides ("man pages") for the javac and javadoc tools has been reorganized and updated. The primary documentation is now in the Tool Guide for javadoc, with information about the tool-specific command-line options being given in the Options section of the appropriate Tool Guide.
  • JDK-8275146 (not public)
  • tools/javadoc(tool):
  • Indicate Invalid Input in Generated Output
  • When the Standard Doclet encounters content in a documentation comment that it cannot process, it may create an element in the generated output to indicate clearly to the reader that the output at that position is not as the author intended. (This replaces the earlier behavior to show either nothing or the invalid content.) The element will contain a short summary message and may contain additional details. This is in addition to the existing behavior to report diagnostics and to return a suitable exit code.
  • tools/javadoc(tool):
  • Merge "Exceptions" and "Errors" into "Exception Classes"
  • The "Exceptions" and "Errors" tabs in documentation generated by JavaDoc have been merged into a single "Exception Classes" tab, which includes all exception classes, as defined in JLS 11.1.1.

New in Java SE Development Kit (JDK) 18 Build 35 OpenJDK EA (Feb 11, 2022)

  • Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.

New in Java SE Development Kit (JDK) 17.0.2 (Jan 18, 2022)

  • Jordan now starts DST on February's last Thursday.
  • Samoa no longer observes DST.
  • Merge more location-based Zones whose timestamps agree since 1970.
  • Move some backward-compatibility links to 'backward'.
  • Rename Pacific/Enderbury to Pacific/Kanton.
  • Correct many pre-1993 transitions in Malawi, Portugal, etc.
  • zic now creates each output file or link atomically.
  • zic -L no longer omits the POSIX TZ string in its output.
  • zic fixes for truncation and leap second table expiration.
  • zic now follows POSIX for TZ strings using all-year DST.
  • Fix some localtime crashes and bugs in obscure cases.
  • zdump -v now outputs more-useful boundary cases.
  • tzfile.5 better matches a draft successor to RFC 8536.
  • A new file SECURITY.
  • Revert most 2021b changes to 'backward'.
  • Fix 'zic -b fat' bug in pre-1970 32-bit data.
  • Fix two Link line typos.
  • Distribute SECURITY file.
  • Keeping the JDK up to Date:
  • Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.
  • Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 17.0.2) be used after the next critical patch update scheduled for April 19, 2022.
  • Removed Features and Options:
  • security-libs/java.security
  • Removed Google's GlobalSign Root Certificate
  • The following root certificate from Google has been removed from the cacerts keystore:
  • alias name "globalsignr2ca [jdk]"
  • Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2

New in Java SE Development Kit (JDK) 18 Build 21 OpenJDK EA (Oct 29, 2021)

  • Changes:
  • 8273585: String.charAt performance degrades due to JDK-8268698
  • 8202926: Test java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdat…
  • 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend
  • 8275886: G1: remove obsolete comment in HeapRegion::setup_heap_region…
  • 8213120: java/awt/TextArea/AutoScrollOnSelectAndAppend/AutoScrollOnSe…
  • 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
  • 8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotate…
  • 8275851: Deproblemlist open/test/jdk/javax/swing/JComponent/6683775/b…
  • 8275800: Redefinition leaks MethodData::_extra_data_lock
  • 8275975: Remove dead code in ciInstanceKlass
  • 8270490: Charset.forName() taking fallback default value
  • 4718400: Many quantities are held as signed that should be unsigned
  • 8276046: codestrings.validate_vm gtest fails on ppc64, s390
  • 8276063: ProblemList gtest dll_address_to_function_and_library_name on macosx-generic
  • 8274879: Replace uses of StringBuffer with StringBuilder within java base classes

New in Java SE Development Kit (JDK) 17.0.1 (Oct 19, 2021)

  • Removed Features and Options:
  • security-libs/java.security:
  • Removed IdenTrust Root Certificate:
  • The following root certificate from IdenTrust has been removed from the cacerts keystore: + alias name "identrustdstx3 [jdk]"
  • Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
  • Other Notes:
  • core-libs/java.lang:
  • Release Doesn't Correctly Recognize Windows 11:
  • This release doesn't correctly identify Windows 11. The property os.name is set to Windows 10 on Windows 11. In HotSpot error logs, the OS is identified as Windows 10; however, the HotSpot error log does show the Build number. Windows 11 has Build 22000.194 or above.
  • core-libs/javax.naming:
  • System Property to Control Reconstruction of Reference Address Objects by JDK's Built-in JNDI LDAP Implementation:
  • The scope of the com.sun.jndi.ldap.object.trustSerialData system property has been extended to control the deserialization of java objects from the javaReferenceAddress LDAP attribute. This system property now controls the deserialization of java objects from the javaSerializedData and javaReferenceAddress LDAP attributes.
  • To prevent deserialization of java objects from these attributes, the system property can be set to false. By default, the deserialization of java objects from javaSerializedData and javaReferenceAddress attributes is allowed.
  • hotspot/runtime:
  • Release Doesn't Correctly Recognize Windows Server 2022:
  • This release doesn't correctly identify Windows Server 2022. The property os.name is set to Windows Server 2019 on Windows Server 2022. In HotSpot error logs the OS is identified as Windows Server 2019; however, the HotSpot error log does show the Build number. Windows Server 2022 has Build 20348, or above.
  • 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 17.0.1 Bug Fixes page.

New in Java SE Development Kit (JDK) 18 Build 16 OpenJDK EA (Sep 24, 2021)

  • Disable SHA-1 Signed JARs (JDK-8269039):
  • security-libs/java.security
  • 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.
  • In order to reduce the compatibility risk for applications 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.
  • Users can, at their own risk, remove these restrictions by modifying the java.security configuration file (or overriding it 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.

New in Java SE Development Kit (JDK) 11.0.12 LTS (Jul 23, 2021)

  • New Features:
  • security-libs/org.ietf.jgss:krb5:
  • Support cross-realm MSSFU:
  • The support for the Kerberos MSSFU extensions [1] is now extended to cross-realm environments.
  • By leveraging the Kerberos cross-realm referrals enhancement introduced in the context of JDK-8215032, the 'S4U2Self' and 'S4U2Proxy' extensions may be used to impersonate user and service principals located on different realms.
  • security-libs/java.security:
  • Customizing PKCS12 keystore Generation:
  • New system and security properties have been added to enable users to customize the generation of PKCS #12 keystores. This includes algorithms and parameters for key protection, certificate protection, and MacData. The detailed explanation and possible values for these properties can be found in the "PKCS12 KeyStore properties" section of the java.security file.
  • Also, support for the following SHA-2 based HmacPBE algorithms has been added to the SunJCE provider: HmacPBESHA224, HmacPBESHA256, HmacPBESHA384, HmacPBESHA512, HmacPBESHA512/224, HmacPBESHA512/256
  • Removed Features and Options:
  • security-libs/java.security:
  • Removed Root Certificates with 1024-bit Keys:
  • The following root certificates with weak 1024-bit RSA public keys have been removed from the cacerts keystore:
  • alias name "thawtepremiumserverca [jdk]"
  • alias name "verisignclass2g2ca [jdk]"
  • + alias name "verisignclass3ca [jdk]"
  • alias name "verisignclass3g2ca [jdk]"
  • alias name "verisigntsaca [jdk]"
  • security-libs/java.security:
  • Removed Telia Company's Sonera Class2 CA certificate:
  • The following root certificate has been removed from the cacerts truststore:
  • Telia Company
  • Other Notes:
  • install/install:
  • Updated List of Capabilities Provided by JDK RPMs
  • The following capabilities have been removed from the list of what OracleJDK/OracleJRE RPMs provide: xml-commons-api, jaxp_parser_impl, and java-fonts. This clean-up of the list resolves existing and potential conflicts with modular RPMs.
  • There are other RPMs providing these capabilities, so there should be no impact on packages that depend on them. Package managers can use other RPMs to satisfy the dependencies provided by the OracleJDK/OracleJRE RPMs before this change.
  • security-libs/java.security:
  • Upgraded the Default PKCS12 Encryption Algorithms:
  • The default encryption algorithms used in a PKCS #12 keystore have been updated. The new algorithms are based on AES-256 and SHA-256 and are stronger than the old algorithms that were based on RC2, DESede, and SHA-1. See the security properties starting with keystore.pkcs12 in the java.security file for detailed information.
  • For compatibility, a new system property named keystore.pkcs12.legacy is defined that will revert the algorithms to use the older, weaker algorithms. There is no value defined for this property.
  • security-libs/javax.net.ssl:
  • Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values
  • Certain TLS ALPN values couldn't be properly read or written by the SunJSSE provider. This is due to the choice of Strings as the API interface and the undocumented internal use of the UTF-8 character set which converts characters larger than U+00007F (7-bit ASCII) into multi-byte arrays that may not be expected by a peer.
  • SunJSSE now encodes/decodes String characters as 8-bit ISO_8859_1/LATIN-1 characters. This means applications that used characters above U+000007F that were previously encoded using UTF-8 may need to either be modified to perform the UTF-8 conversion, or set the Java security property jdk.tls.alpnCharset to "UTF-8" revert the behavior.
  • core-libs/java.net:
  • URL FTP Protocol Handler: IPv4 Address Validation in Passive Mode:
  • Client-side FTP support in the Java platform is available through the FTP URL stream protocol handler, henceforth referred to as the FTP Client.
  • The following system property has been added for validation of server addresses in FTP passive mode.
  • jdk.net.ftp.trustPasvAddress.
  • In this release, the FTP Client has been enhanced to reject an address sent by a server, in response to a PASV command from the FTP Client, when that address differs from the address which the FTP Client initially connected.
  • To revert to the prior behavior, the jdk.net.ftp.trustPasvAddress system property can be set to true. The affect of setting this property is that the FTP Client accepts and uses the address value returned in reply to a PASV command
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 16.0.2 (Jul 20, 2021)

  • Keeping the JDK up to Date:
  • Oracle recommends that the JDK is updated with each Critical Patch Update (CPU). In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.
  • Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 16.0.2) be used after the next critical patch update scheduled for October 19, 2021.
  • Removed Features and Options
  • Security-libs/java.security
  • Removed Telia Company's Sonera Class2 CA certificate
  • The following root certificate has been removed from the cacerts truststore:
  • Telia Company
  • Soneraclass2ca
  • DN: CN=Sonera Class2 CA, O=Sonera, C=FI
  • Other Notes:
  • LUpdated List of Capabilities Provided by JDK RPMs
  • The following capabilities have been removed from the list of what OracleJDK/OracleJRE RPMs provide: xml-commons-api, jaxp_parser_impl, and java-fonts. This clean-up of the list resolves existing and potential conflicts with modular rpms.
  • There are other RPMs providing these capabilities, so there should be no impact on packages that depend on them. Package managers can use other RPMs to satisfy the dependencies provided by the OracleJDK/OracleJRE RPMs before this change.
  • Bug Fixes:
  • Duplicate global variable 'jvm' in libjavajpeg and libawt
  • Watch registry changes for remote printers update instead of polling
  • Native crash in Win32PrintServiceLookup.getAllPrinterNames()
  • DragAndDrop hangs on Windows
  • DST starts from incorrect time in 2038
  • TimeZone getOffset API does not return a DST offset between years 2038-2137
  • StartTlsResponse.close() hangs due to synchronization issues
  • IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload
  • C2: Out-of-Bounds Array Load from Clone Source
  • Assert root method not found in witnessed_reabstraction_in_supers is too strong
  • PhaseStringOpts::int_stringSize doesn't handle min_jint correctly
  • SIGSEGV at MethodIteratorHost
  • OldObjectSample events too expensive
  • Gtest/GTestWrapper.java vmErrorTest.unimplemented1_vm_assert failed
  • Consolidate POSIX code for runtime exit support: os::shutdown, os::abort and os::die
  • Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION
  • SIGSEGV in get_current_contended_monitor
  • Disable SHA-1 Signed JARs
  • [BACKOUT] JDK-8196415 Disable SHA-1 Signed JARs
  • Remove Telia Company CA certificate expiring in April 2021
  • JCE doesn't provide any class to handle RSA private key in PKCS#1
  • NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93)
  • TestRedirectLinks fails

New in Java SE Development Kit (JDK) 8 Build 291 (Apr 21, 2021)

  • JDK 8u291 contains IANA time zone data 2020e, 2020f, 2021a:
  • Volgograd switches to Moscow time on 2020-12-27 at 02:00.
  • South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
  • Other Notes:
  • New System and Security Properties to Control Reconstruction of Remote Objects by JDK's Built-in JNDI RMI and LDAP Implementations
  • Added 2 HARICA Root CA Certificates
  • Default java Version Is Not Updated for Double Click jar Execution
  • Disable TLS 1.0 and 1.1
  • Disable TLS 1.0 and 1.1 for Java Plugin Applets and Java Web Start Applications
  • Less Ambiguous Processing of ProcessBuilder Quotes on Windows
  • Bug Fixes:
  • Japanese characters not entered by mouse click on Windows 10
  • Windows IME related patch
  • JAWS does not always announce the value of JSliders in JColorChooser
  • libwindowsaccessbridge issues on 64bit Windows
  • UI of Swing components is not redrawn after their internal state changed
  • Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
  • NPE on ClassValue.ClassValueMap.cacheArray
  • Deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection
  • AArch64: guarantee(val < (1U << nbits)) failed: Field too big for insn
  • Improve diagnostic messages for class verification and redefinition failures
  • Use SkippedException instead of RuntimeException for docker not able to pull the repository
  • Typo in Javapath.cpp
  • Incomplete JDK-8259215 fix
  • Default Java version is not updated for double click jar execution
  • Policy initialization issues when the denyAfter constraint is enabled
  • Update SunPKCS11 provider with PKCS11 v3.0 header files
  • SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3
  • sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884
  • TLS connection always receives close_notify exception
  • Disable TLS 1.0 and 1.1
  • SSLSocket that is never bound or connected leaks socket resources
  • sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks
  • Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI()
  • reutilization of org.w3c.dom.ls.LSSerializer,produces unexpected result in 8u271
  • Behavior change in XML since JDK 8u271
  • XML declaration is not followed by a newline

New in Java SE Development Kit (JDK) 16.0.1 (Apr 20, 2021)

  • Volgograd switches to Moscow time on 2020-12-27 at 02:00.
  • South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
  • Core-libs/javax.naming:
  • New System and Security Properties to Control Reconstruction of Remote Objects by JDK's Built-in JNDI RMI and LDAP Implementations:
  • Jdk.jndi.object.factoriesFilter: This system and security property allows a serial filter to be specified that controls the set of object factory classes permitted to instantiate objects from object references returned by naming/directory systems. The factory class named by the reference instance is matched against this filter during remote reference reconstruction. The filter property supports pattern-based filter syntax with the format specified by JEP 290. This property applies both to the JNDI/RMI and the JNDI/LDAP built-in provider implementations. The default value allows any object factory class specified in the reference to recreate the referenced object.
  • Com.sun.jndi.ldap.object.trustSerialData: This system property allows control of the deserialization of java objects from the javaSerializedData LDAP attribute. To prevent deserialization of java objects from the attribute, the system property can be set to false value. By default, deserialization of java objects from the javaSerializedData attribute is allowed.
  • Security-libs/java.security:
  • Added 2 HARICA Root CA Certificates - The following root certificates have been added to the cacerts truststore:
  • HARICA:
  • Haricarootca2015 - DN: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
  • Haricaeccrootca2015 - DN: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
  • Core-libs/java.lang:
  • Less Ambiguous Processing of ProcessBuilder Quotes on Windows:
  • In the java.lang.ProcessBuilder implementation on Windows, the system property jdk.lang.process.allowAmbiguousCommands=false ensures, for each argument, that double-quotes are properly encoded in the command string passed to Windows CreateProcess. An argument with a final trailing double-quote preceded by a backslash is encoded as a literal double-quote; previously, the argument including the double-quote would be joined with the next argument. An empty argument is encoded as a pair of double-quotes ("") resulting in a zero length string passed for the argument to the process; previously, it was silently ignored. An argument containing double-quotes, other than first and last, is encoded to preserve the double-quotes when passed to the process; previously, the embedded double-quotes would be dropped and not passed to the process. There is no change to existing behavior when the jdk.lang.process.allowAmbiguousCommands property is set to true: jdk.lang.process.allowAmbiguousCommands=true.
  • Bug Fixes:
  • Upgrade to LittleCMS 2.12
  • Upgrade to FreeType 2.10.4
  • Windows IME was disabled after DnD operation
  • Deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection
  • UTF8ZipCoder not thread-safe since JDK-8243469
  • AccessDeniedException caused by delayed file deletion on Windows
  • Dynalink leaks memory when generating type converters
  • Jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java failed with "AssertionError: Should have GCd a method handle by now"
  • C2: assert failed ("Bad derived pointer") with -XX:+VerifyRegisterAllocator
  • C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset())
  • AllocateUninitializedArray C2 intrinsic fails with void.class input
  • Fix incorrect result of Math.abs() with char type
  • Incorrect predication condition generated by ADLC
  • C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect
  • Some fields in HaltNode is not cloned
  • Code IfNode::fold_compares_helper more defensively
  • Epsilon: improve performance under contention during virtual space expansion
  • Epsilon: clean up unused includes
  • InstanceKlass::has_as_permitted_subclass() fails if subclass was redefined
  • Zero error reporting is broken after JDK-8255711
  • Crash caused by lambda proxy class loaded in Shutdown hook
  • UseCompressedClassPointers depends on UseCompressedOops in vmError.cpp
  • Using -Xcheck:jni can lead to a double-free after JDK-8193234
  • PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined
  • CDS: java/lang/ModuleLayer.EMPTY_LAYER should be singleton
  • Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS
  • Regression introduced with JDK-8250984 - memory might be null in some machines
  • Try catch Method failing to work when dividing an integer by 0
  • Javax.net.ssl TLS connection always receives close_notify exception
  • XML declaration is not followed by a newline

New in Java SE Development Kit (JDK) 16 (Mar 18, 2021)

  • New Features and Enhancements:
  • JEP 396: Strongly Encapsulate JDK Internals by Default
  • JEP 390: Warnings for Value-based Classes
  • Add InvocationHandler::invokeDefault Method for Proxy's Default Method Support
  • JEP 380: Unix domain sockets
  • Day Period Support Added to java.time Formats
  • Add Stream.toList() Method
  • JEP 338: Vector API (Incubator)
  • Improved CompileCommand Flag
  • JEP 376: ZGC Concurrent Stack Processing
  • Concurrently Uncommit Memory in G1
  • JEP 387: Elastic Metaspace
  • Signed JAR Support for RSASSA-PSS and EdDSA
  • SUN, SunRsaSign, and SunEC Providers Supports SHA-3 Based Signature Algorithms
  • jarsigner Preserves POSIX File Permission and symlink Attributes
  • Added -trustcacerts and -keystore Options to keytool -printcert and -printcrl Commands
  • SunPKCS11 Provider Supports SHA-3 Related Algorithms
  • Improve Certificate Chain Handling
  • Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values
  • TLS Support for the EdDSA Signature Algorithm
  • JEP 397: Sealed Classes (Second Preview)
  • JEP 395: Records
  • JEP 394: Pattern Matching for instanceof
  • JEP 392: Packaging Tool
  • Removed Features and Options:
  • Removal of java.awt.PeerFixer
  • Removal of Experimental Features AOT and Graal JIT
  • Deprecated Tracing Flags Are Obsolete and Must Be Replaced With Unified Logging Equivalents
  • Removed Root Certificates with 1024-bit Keys
  • Removal of Legacy Elliptic Curves
  • Deprecated Features and Options:
  • Terminally Deprecated ThreadGroup stop, destroy, isDestroyed, setDaemon and isDaemon
  • Parts of the Signal-Chaining API Are Deprecated
  • Deprecated the java.security.cert APIs That Represent DNs as Principal or String Objects
  • Other Notes:
  • Line Terminator Definition Changed in java.io.LineNumberReader
  • Enhanced Support of Proxy Class
  • Module::getPackages Returns the Set of Package Names in This Module
  • Support Supplementary Characters in String Case Insensitive Operations
  • Proxy Classes Are Not Open for Reflective Access
  • The Default HttpClient Implementation Returns Cancelable Futures
  • HttpPrincipal::getName Returned Incorrect Name
  • HttpClient.newHttpClient and HttpClient.Builder.build Might Throw UncheckedIOException
  • (fs) NullPointerException Not Thrown When First Argument to Path.of or Paths.get Is null
  • Incomplete Support for Unix Domain Sockets in Windows 2019 Server
  • US/Pacific-New Zone Name Removed as Part of tzdata2020b
  • Argument Index of Zero or Unrepresentable by int Throws IllegalFormatException.
  • GZIPOutputStream Sets the GZIP OS Header Field to the Correct Default Value
  • Refine ZipOutputStream.putNextEntry() to Recalculate ZipEntry's Compressed Size
  • java.util.logging.LogRecord Updated to Support Long Thread IDs
  • TreeMap.computeIfAbsent Mishandles Existing Entries Whose Values Are null
  • Support for CLDR Version 38
  • Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections
  • LDAP Channel Binding Support for Java GSS/Kerberos
  • Make JVMTI Table Concurrent
  • IncompatibleClassChangeError Exceptions Are Thrown For Failing 'final' Checks When Defining a Class
  • Object Monitors No Longer Keep Strong References to Their Associated Object
  • Added 3 SSL Corporation Root CA Certificates
  • Added Entrust Root Certification Authority - G4 certificate
  • Upgraded the Default PKCS12 Encryption and MAC Algorithms
  • Disable TLS 1.0 and 1.1
  • C-Style Array Declarations Are Not Allowed in Record Components
  • Annotation Interfaces May Not Be Declared As Local Interfaces
  • DocLint Support Moved to jdk.javadoc Module
  • Eliminating Duplication in Simple Documentation Comments
  • Viewing API Documentation on Small Devices
  • API Documentation Links to Platform Documentation
  • Improvements for JavaDoc Search

New in Java SE Development Kit (JDK) 17 Build 8 OpenJDK EA (Feb 5, 2021)

  • Added 2 HARICA Root CA Certificates (JDK-8256421):
  • security-libs/java.security:
  • The following root certificates have been added to the cacerts truststore:
  • HARICA:
  • haricarootca2015. DN: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
  • haricaeccrootca2015. DN: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
  • Enable XML Signature secure validation mode by default (JDK-8259801):
  • security-libs/javax.xml.crypto:
  • The XML Signature secure validation mode has been enabled by default (previously it was not enabled by default unless running with a security manager). When enabled, validation of XML signatures are subject to stricter checking of algorithms and other constraints as specified by the jdk.xml.dsig.secureValidationPolicy security property.
  • If necessary, and at their own risk, applications can disable the mode by setting the org.jcp.xml.dsig.secureValidation property to Boolean.FALSE with the DOMValidateContext.setProperty() API.
  • Configurable extensions with system properties (JDK-8217633):
  • security-libs/javax.net.ssl:
  • Two new system properties have been added. The system property, "jdk.tls.client.disableExtensions", is used to disable TLS extensions used in the client. The system property, "jdk.tls.server.disableExtensions", is used to disable TLS extensions used in the server. If an extension is disabled, it will be neither produced nor processed in the handshake messages.
  • The property string is a list of comma separated standard TLS extension names, as registered in the IANA documentation (for example, server_name, status_request and signature_algorithms_cert). Note that the extension names are case sensitive. Unknown, unsupported, misspelled and duplicated TLS extension name tokens will be ignored.
  • Please note that the impact of blocking TLS extensions is complicated. For example, a TLS connection may not be able to be established if a mandatory extension is disabled. Please do not disable mandatory extensions, and do not use this feature unless you clearly understand the impact.

New in Java SE Development Kit (JDK) 8 Build 281 (Jan 22, 2021)

  • New Features:
  • security-libs/java.security:
  • groupname Option Added to keytool Key Pair Generation
  • A new -groupname option has been added to keytool -genkeypair so that a user can specify a named group when generating a key pair. For example, keytool -genkeypair -keyalg EC -groupname secp384r1 will generate an EC key pair by using the secp384r1 curve. Because there might be multiple curves with the same size, using the -groupname option is preferred over the -keysize option.
  • security-libs/javax.xml.crypto:
  • Apache Santuario Library Updated to Version 2.1.4
  • The Apache Santuario library has been upgraded to version 2.1.4. As a result, a new system property com.sun.org.apache.xml.internal.security.parser.pool-size has been introduced.
  • This new system property sets the pool size of the internal DocumentBuilder cache used when processing XML Signatures. The function is equivalent to the org.apache.xml.security.parser.pool-size system property used in Apache Santuario and has the same default value of 20.
  • security-libs/javax.net.ssl:
  • Support for certificate_authorities Extension
  • The "certificate_authorities" extension is an optional extension introduced in TLS 1.3. It is used to indicate the certificate authorities (CAs) that an endpoint supports and should be used by the receiving endpoint to guide certificate selection.
  • With this JDK release, the "certificate_authorities" extension is supported for TLS 1.3 in both the client and the server sides. This extension is always present for client certificate selection, while it is optional for server certificate selection.
  • Applications can enable this extension for server certificate selection by setting the jdk.tls.client.enableCAExtension system property to true. The default value of the property is false.
  • Note that if the client trusts more CAs than the size limit of the extension (less than 2^16 bytes), the extension is not enabled. Also, some server implementations do not allow handshake messages to exceed 2^14 bytes. Consequently, there may be interoperability issues when jdk.tls.client.enableCAExtension is set to true and the client trusts more CAs than the server implementation limit.
  • Other Notes:
  • core-libs/java.time:
  • JDK time-zone data upgraded to tzdata2020d
  • The JDK update incorporates tzdata2020d. The main change is
  • Palestine ends DST earlier than predicted, on 2020-10-24.
  • core-libs/java.time:
  • JDK time-zone data upgraded to tzdata2020c
  • The JDK update incorporates tzdata2020c. The main change is
  • Fiji starts DST later than usual, on 2020-12-20.
  • core-libs/java.time:
  • US/Pacific-New Zone Name Removed as Part of tzdata2020b
  • Following the JDK's update to tzdata2020b, the long-obsolete files named pacificnew and systemv have been removed. As a result, the "US/Pacific-New" Zone name declared in the pacificnew data file is no longer available for use.
  • core-libs/java.util:
  • Changed Properties.loadFromXML to Comply with Specification
  • The implementation of the java.util.Properties.loadFromXML method has been changed to comply with its specification. Specifically, the underlying XML parser implementation now rejects non-compliant XML documents by throwing an InvalidPropertiesFormatException as specified by the loadFromXML method.
  • The effect of the change is as follows:
  • Documents created by Properties.storeToXML: No change. Properties.loadFromXML will have no problem reading such files.
  • Documents not created by Properties.storeToXML: Any documents containing DTDs not in the format as specified in Properties.loadFromXML will be rejected. This means the DTD shall be exactly as follows (as generated by the Properties.storeToXML method): <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd";>
  • Bug Fixes:
  • Use WeakReference for lastFontStrike for created Fonts
  • Upgrade to LittleCMS 2.11
  • java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
  • JVM crashed at imjpapi.dll in native code
  • java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
  • Memory leaks in the implementations of FileChooserUI
  • XERCES version is displayed incorrect
  • (zipfs) ZipFileSystem creates corrupted zip if entry output stream gets closed more than once
  • Negative value may be returned by getFreeSwapSpaceSize() in the docker
  • Empty client certificate issue during TLS handshake
  • JDK 8 Install Guide - 8u RPM Installer Failed to Install on SUSE When Updating Alternatives
  • InstallGuide: Update documentation of JDK RPM installation steps
  • Wrong translation for the month of May in ar_JO, ar_LB and ar_SY
  • C2: Precedence edges specification violated
  • Fix AArch64 after changes made by 8151661
  • assert(proj != __null) at compile.cpp:3251
  • Add paddings for TaskQueueSuper to reduce false-sharing cache contention
  • Major performance regression in GetMethodDeclaringClass and other JVMTI Method functions
  • remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
  • Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent
  • [Containers] Improve systemd slice memory limit support
  • Container Support doesn't work for some Join Controllers combinations
  • Windows 32bit build build errors/warnings in hotspot
  • AArch64 build failures after JDK-8221408 (Windows 32bit build build errors/warnings in hotspot)
  • [linux] Runtime.availableProcessors execution time increased by factor of 100
  • issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
  • Wrong position of GUI elements using multiple HiDPI displays in JavaFX 8
  • gstreamer fails to build with gcc 10
  • FX: Update copyright year in docs, readme files to 2021
  • JavaFX WebView does not calculate border-radius properly
  • Canvas in webview displayed with wrong scale on Windows
  • macOS: iconify property doesn't change after minimize when resizable is false
  • Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26

New in Java SE Development Kit (JDK) 15.0.2 (Jan 19, 2021)

  • IANA Data 2020d:
  • JDK 15.0.2 contains IANA time zone data version 2020d. 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 15.0.2 are specified in the following table:
  • 7 - 1.7.0_45
  • 6 - 1.6.0_65
  • 5.0 - 1.5.0_55
  • 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 7u45) will expire with the release of the next critical patch update, scheduled for January 14, 2014.
  • For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 7u45) on February 14, 2014. After either condition is met (new release becoming available or expiration date reached), Java will provide additional warnings and reminders to users to update to the newer version. For more information, see JRE Expiration Date.
  • 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.
  • Developers can refer to JAR File Manifest Attributes for more information.
  • 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.
  • See Restore Security Prompts under the Security section of the Java Control Panel.
  • JAXP Changes:
  • Starting from JDK 7u45, the following new processing limits are added to the JAXP FEATURE_SECURE_PROCESSING feature.
  • totalEntitySizeLimit
  • maxGeneralEntitySizeLimit
  • maxParameterEntitySizeLimit
  • For more information, see the new Processing Limits lesson in the JAXP Tutorial.
  • 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. For more information, see Oracle Critical Patch Update Advisory.

New in Java SE Development Kit (JDK) 16 Build 26 OpenJDK EA (Nov 27, 2020)

  • Disable TLS 1.0 and 1.1 (JDK-8202343)
  • security-libs/javax.net.ssl
  • TLS 1.0 and 1.1 are versions of the TLS protocol that are no longer considered secure and have been superseded by more secure and modern versions (TLS 1.2 and 1.3).
  • These versions have now been disabled by default. If you encounter issues, you can, at your own risk, re-enable the versions by removing "TLSv1" and/or "TLSv1.1" from the jdk.tls.disabledAlgorithms security property in the java.security configuration file.
  • Support for CLDR version 38 (JDK-8251317)
  • core-libs/java.util:i18n
  • Locale data based on Unicode Consortium's CLDR has been upgraded to their version 38. For the detailed locale data changes, please refer to the Unicode Consortium's CLDR release notes

New in Java SE Development Kit (JDK) 15.0.1 (Oct 22, 2020)

  • IANA Data 2020a:
  • JDK 15.0.1 contains IANA time zone data version 2020a.
  • New Features:
  • Improve Certificate Chain Handling
  • Other notes:
  • Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections
  • Added 3 SSL Corporation Root CA Certificates
  • Added Entrust Root Certification Authority - G4 certificate
  • Enhanced Support of Proxy Class
  • Bug Fixes:
  • Wrong translation for the month of May in ar_JO, ar_LB and ar_SY
  • C2: compiler/intrinsics/object/TestClone fails with -XX:+VerifyGraphEdges
  • AOT's Linker.java seems to eagerly fail-fast on Windows.
  • libgraal can deadlock in -Xcomp mode
  • jvmciCompilerToVM.cpp declares jio_printf with "void" return type, should be "int"
  • Include microcode revision in features_string on x86
  • Make sure {type,obj}ArrayOopDesc accessors check the bounds
  • Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets

New in Java SE Development Kit (JDK) 11.0.9 (Oct 21, 2020)

  • New Features:
  • Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default
  • Support for Kerberos Cross-Realm Referrals (RFC 6806)
  • Improve Certificate Chain Handling
  • Tools Warn If Weak Algorithms Are Used Before Restricting Them
  • Support for canonicalize in krb5.conf
  • Other notes:
  • Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections
  • Added 3 SSL Corporation Root CA Certificates
  • Added Entrust Root Certification Authority - G4 certificate
  • Localized Time Zone Name Inconsistency Between English and Other Locales
  • Enhanced Support of Proxy Class
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 15 Build 36 OpenJDK EA (Aug 14, 2020)

  • Assuming literal keyword search.

New in Java SE Development Kit (JDK) 15 Build 35 OpenJDK EA (Aug 7, 2020)

  • Assuming literal keyword search.

New in Java SE Development Kit (JDK) 11.0.8 (Jul 14, 2020)

  • IANA Data 2020a:
  • JDK 11.0.8 contains IANA time zone data version 2020a. For more information, refer to Timezone Data Versions in the JRE Software.
  • New Features:
  • security-libs/javax.net.ssl:
  • New System Properties to Configure the TLS Signature Schemes:
  • Two new System Properties are added to customize the TLS signature schemes in JDK. jdk.tls.client.SignatureSchemes is added for TLS client side, and jdk.tls.server.SignatureSchemes for server side.
  • Each System Property contains a comma-separated list of supported signature scheme names, which specifying the signature schemes that could be used for the TLS connections.
  • The names are described in the "Signature Schemes" section of the Java Security Standard Algorithm Names Specification.
  • security-libs/javax.xml.crypto:
  • Apache Santuario Library Updated to Version 2.1.4:
  • The Apache Santuario library has been upgraded to version 2.1.4. As a result, a new system property com.sun.org.apache.xml.internal.security.parser.pool-size has been introduced.
  • This new system property sets the pool size of the internal DocumentBuilder cache used when processing XML Signatures. The function is equivalent to the org.apache.xml.security.parser.pool-size system property used in Apache Santuario and has the same default value of 20.
  • Removed Features and Options:
  • security-libs/java.security:
  • Removal of Comodo Root CA Certificate:
  • The following expired Comodo root CA certificate was removed from the cacerts keystore: alias name "addtrustclass1ca [jdk]"
  • Distinguished Name: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
  • security-libs/java.security:
  • Removal of DocuSign Root CA Certificate:
  • The following expired DocuSign root CA certificate was removed from the cacerts keystore: alias name "keynectisrootca [jdk]"
  • Distinguished Name: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
  • Other notes:
  • security-libs/javax.net.ssl:
  • Default SSLEngine Should Create in Server Role
  • In JDK 11 and later, javax.net.ssl.SSLEngine by default used client mode when handshaking. As a result, the set of default enabled protocols may differ to what is expected. SSLEngine would usually be used in server mode. From this JDK release onwards, SSLEngine will default to server mode. The javax.net.ssl.SSLEngine.setUseClientMode​(boolean mode) method may be used to configure the mode.
  • core-svc/java.lang.management:
  • OperatingSystemMXBean Methods Inside a Container Return Container Specific Data
  • When executing in a container, or other virtualized operating environment, the following OperatingSystemMXBean methods in this release return container specific information, if available. Otherwise, they return host specific data: getFreePhysicalMemorySize(), getTotalPhysicalMemorySize(), getFreeSwapSpaceSize(), getTotalSwapSpaceSize(), getSystemCpuLoad()
  • security-libs:
  • Default SSL Session Cache Size Updated to 20480
  • The default SSL session cache size has been updated to 20480 in this JDK release
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 14.0.2 (Jul 14, 2020)

  • IANA Data 2020a:
  • JDK 14.0.2 contains IANA time zone data version 2020a. For more information, refer to Timezone Data Versions in the JRE Software.
  • Removed Features and Options:
  • security-libs/java.security:
  • Removal of Comodo Root CA Certificate:
  • The following expired Comodo root CA certificate was removed from the cacerts keystore: alias name "addtrustclass1ca [jdk]"
  • Distinguished Name: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
  • security-libs/java.security:
  • Removal of DocuSign Root CA Certificate:
  • The following expired DocuSign root CA certificate was removed from the cacerts keystore: alias name "keynectisrootca [jdk]"
  • Distinguished Name: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
  • Other notes:
  • core-libs/java.util:collections:
  • Better Listing of Arrays:
  • The preferred way to copy a collection is to use a "copy constructor." For example, to copy a collection into a new ArrayList, one would write new ArrayList<>(collection). In certain circumstances, an additional, temporary copy of the collection's contents might be made in order to improve robustness. If the collection being copied is exceptionally large, then the application should be (aware of/monitor) the significant resources required involved in making the copy.
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 11.0.7 (Apr 15, 2020)

  • New Features:
  • security-libs/javax.crypto:
  • Support for MS Cryptography Next Generation (CNG):
  • The SunMSCAPI provider now supports reading private keys in Cryptography Next Generation (CNG) format. This means that RSA and EC keys in CNG format are loadable from Windows keystores, such as "Windows-MY". Signature algorithms related to EC (SHA1withECDSA, SHA256withECDSA, etc.) are also supported.
  • Bug Fixes:
  • This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

New in Java SE Development Kit (JDK) 11.0.6 (Jan 14, 2020)

  • New Features:
  • security-libs/javax.security:
  • Allow SASL Mechanisms to Be Restricted
  • A security property named jdk.sasl.disabledMechanisms has been added that can be used to disable SASL mechanisms. Any disabled mechanism will be ignored if it is specified in the mechanisms argument of Sasl.createSaslClient or the mechanism argument of Sasl.createSaslServer. The default value for this security property is empty, which means that no mechanisms are disabled out-of-the-box
  • security-libs/javax.crypto:pkcs11:
  • SunPKCS11 Provider Upgraded with Support for PKCS#11 v2.40
  • The SunPKCS11 provider has been updated with support for PKCS#11 v2.40. This version adds support for more algorithms such as the AES/GCM/NoPadding cipher, DSA signatures using SHA-2 family of message digests, and RSASSA-PSS signatures when the corresponding PKCS11 mechanisms are supported by the underlying PKCS11 library.
  • Other notes:
  • security-libs/java.security:
  • New Checks on Trust Anchor Certificates
  • New checks have been added to ensure that trust anchors are CA certificates and contain proper extensions. Trust anchors are used to validate certificate chains used in TLS and signed code. Trust anchor certificates must include a Basic Constraints extension with the cA field set to true. Also, if they include a Key Usage extension, the keyCertSign bit must be set.
  • A new system property named jdk.security.allowNonCaAnchor has been introduced to restore the previous behavior, if necessary. If the property is set to the empty String or "true" (case-insensitive), trust anchor certificates can be used if they do not have proper CA extensions.
  • The default value of this property, if not set, is "false".
  • Note that the property does not apply to X.509 v1 certificates (since they don't support extensions).
  • This property is currently used by the JDK implementation. It is not guaranteed to be supported by other Java SE implementations.
  • security-libs/java.security:
  • Exact Match Required for Trusted TLS Server Certificate
  • A TLS server certificate must be an exact match of a trusted certificate on the client in order for it to be trusted when establishing a TLS connection.
  • security-libs/java.security:
  • Added LuxTrust Global Root 2 Certificate
  • The following root certificate has been added to the cacerts truststore:
  • + LuxTrust
  • + luxtrustglobalroot2ca
  • DN: CN=LuxTrust Global Root 2, O=LuxTrust S.A., C=LU
  • security-libs/java.security:
  • Added 4 Amazon Root CA Certificates
  • The following root certificates have been added to the cacerts truststore:
  • Amazon
  • amazonrootca1
  • DN: CN=Amazon Root CA 1, O=Amazon, C=US
  • amazonrootca2
  • DN: CN=Amazon Root CA 2, O=Amazon, C=US
  • amazonrootca3
  • DN: CN=Amazon Root CA 3, O=Amazon, C=US
  • amazonrootca4
  • DN: CN=Amazon Root CA 4, O=Amazon, C=US
  • hotspot/compiler:
  • Turn off AOT by Default and Change Related Flags to Experimental
  • Following AOT support related flags have been made experimental: UseAOT, PrintAOT and AOTLibrary. Also default value of UseAOT has been changed from enabled to disabled.
  • Bug fixes:
  • The following are some of the notable bug fixes included in this release:
  • security-libs/javax.crypto:pkcs11
  • Memory Growth Issue in SunPKCS11 Fixed:
  • A memory growth issue in the SunPKCS11 cryptographic provider that affects the NSS back-end has been fixed.
  • A system property, sun.security.pkcs11.disableKeyExtraction has been introduced to disable the fix. A "true" value disables the fix, while a "false" value (default) keeps it enabled.
  • When enabled, PKCS#11 attributes of the NSS native keys are copied to Java byte buffers after key creation. Once used, NSS keys are destroyed and native heap space is freed up. If NSS keys are required again, they are recreated with the previously saved attributes.
  • Further information and implementation details can be found in the CSR: JDK-8213430
  • core-libs/java.io:serialization:
  • Better Serial Filter Handling
  • The jdk.serialFilter system property can only be set on the command line. If the filter has not been set on the command line, it can be set can be set with java.io.ObjectInputFilter.Config.setSerialFilter. Setting the jdk.serialFilter with java.lang.System.setProperty has no effect.

New in Java SE Development Kit (JDK) 11.0.5 (Oct 15, 2019)

  • New Features:
  • security-libs/java.security
  • New Java Flight Recorder (JFR) Security Events
  • Four new JFR events have been added to the security library area. These events are disabled by default and can be enabled via the JFR configuration files or via standard JFR options.
  • jdk.SecurityPropertyModification
  • Records Security.setProperty(String key, String value) method calls
  • jdk.TLSHandshake
  • Records TLS handshake activity. The event fields include:
  • Peer hostname
  • Peer port
  • TLS protocol version negotiated
  • TLS cipher suite negotiated
  • Certificate id of peer client
  • jdk.X509Validation
  • Records details of X.509 certificates negotiated in successful X.509 validation (chain of trust)
  • jdk.X509Certificate
  • Records details of X.509 Certificates. The event fields include:
  • Certificate algorithm
  • Certificate serial number
  • Certificate subject
  • Certificate issuer
  • Key type
  • Key length
  • Certificate id
  • Validity of certificate
  • docs
  • Using the JDK or JRE on macOS Catalina (10.15)
  • Changes introduced in macOS 10.15 (Catalina) have caused JCK test failures which will prevent Java from being supported on macOS 10.15. If you still want to install and test then please see http://www.oracle.com/technetwork/java/javase/using-jdk-jre-macos-catalina-5781620.html.
  • JDK-8230057 (not public)
  • security-libs/javax.net.ssl
  • Remove Obsolete NIST EC Curves from the Default TLS Algorithms
  • This change removes older non-NIST Suite B EC curves from the default Named Groups used during TLS negotiation. The curves removed are sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, and secp256k1.
  • To re-enable these curves, use the jdk.tls.namedGroups system property. The property contains a comma-separated list within quotation marks of enabled named groups in preference order. For example:
  • java -Djdk.tls.namedGroups="secp256r1, secp384r1, secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192" ...
  • JDK-8228825 (not public)
  • security-libs/javax.crypto
  • Use SunJCE Mac in SecretKeyFactory PBKDF2 Implementation
  • The SunJCE implementation of the PBKDF2 SecretKeyFactory will now exclusively use the SunJCE Mac service for the underlying pseudorandom function (PRF). This fixes an issue where 3rd party JCE providers in rare cases could cause the SunJCE PBKDF2 SecretKeyFactory's underlying pseudorandom function (PRF) to fail on Mac.init().
  • See JDK-8218723
  • install
  • Java Access Bridge Installation Workaround
  • There is a risk of breaking Java Access Bridge functionality when installing Java on a Windows system that has both a previously installed version of Java and an instance of JAWS running. After rebooting, the system can be left without the WindowsAccessBridge-64.dll in either the system directory (C:WindowsSystem32) for 64bit Java products or the system directory used by WOW64 (C:WindowsSysWoW64) for 32bit Java products.
  • To prevent breaking Java Access Bridge functionality, use one of the following workarounds:
  • Stop JAWS before running the Java installer.
  • Uninstall the existing JRE(s) before installing the new version of Java.
  • Uninstall the existing JRE(s) after the new version of Java is installed and the machine is rebooted.
  • The goal of the workarounds is to avoid the scenario of uninstalling existing JRE(s) from Java installer when JAWS is running.
  • JDK-8223293 (not public)
  • security-libs/javax.xml.crypto
  • Updated XML Signature Implementation to Apache Santuario 2.1.3
  • The XML Signature implementation in the java.xml.crypto module has been updated to version 2.1.3 of Apache Santuario. New features include:
  • Added support for embedding elliptic curve public keys in the KeyValue element
  • See JDK-8219013
  • core-libs/java.util
  • Changed Properties.loadFromXML to Comply with Specification
  • The implementation of the java.util.Properties loadFromXML method has been changed to comply with its specification. Specifically, the underlying XML parser implementation now rejects non-compliant XML documents by throwing an InvalidPropertiesFormatException as specified by the loadFromXML method.
  • The effect of the change is as follows:
  • Documents created by Properties.storeToXML: No change. Properties.loadFromXML will have no problem reading such files.
  • Documents not created by Properties.storeToXML: Any documents containing DTDs not in the format as specified in Properties.loadFromXML will be rejected. This means the DTD shall be exactly as follows (as generated by the Properties.storeToXML method):
  • DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
  • See JDK-8213325
  • core-libs/java.lang
  • Runtime.exec and ProcessBuilder Argument Restrictions
  • Runtime.exec and ProcessBuilder have been updated in this release to tighten the constraints on the quoting of arguments to processes created by these APIs. The changes may impact applications on Microsoft Windows that are deployed with a security manager. The changes have no impact on applications that are run without a security manager.
  • In applications where there is no security manager, there is no change in the default behavior and the new restrictions are opt-in. To enable the restrictions, set the system property jdk.lang.Process.allowAmbiguousCommands to false.
  • In applications where there is a security manager, the new restrictions are opt-out. To revert to the previous behavior set the system property jdk.lang.Process.allowAmbiguousCommands to true.
  • Applications using Runtime.exec or ProcessBuilder with a security manager to invoke .bat or .cmd and command names that do not end in ".exe" may be more restrictive in the characters accepted for arguments if they contain double-quote, "&", "|", "<", ">", or "^". The arguments passed to applications may be quoted differently than in previous versions.
  • For .exe programs, embedded double quotes are allowed and are encoded so they are passed to Windows as literal quotes. In the case where the entire argument has been passed with quotes or must be quoted to encode special characters including space and tab, the encoding ensures they are passed to the application correctly. The restrictions are enforced if there is a security manager and the jdk.lang.Process.allowAmbiguousCommands property is "false" or there is no security manager and property is not "false".
  • JDK-8221858 (not public)
  • client-libs/2d
  • Windows 2019 Core Server Is Not Supported
  • Windows Core Server 2019 does not ship a dll required by JDK in order to run. Specifically, if a Java application, including a headless one, requires awt.dll, the Java runtime will exit with an exception. There is no workaround. Until this is resolved, this Windows Server configuration is not supported.

New in Java SE Development Kit (JDK) 13 Build 31 OpenJDK EA (Jul 26, 2019)

  • Assuming literal keyword search.

New in Java SE Development Kit (JDK) 13 Build 28 OpenJDK EA (Jul 8, 2019)

  • Create jtreg test for JDK-8222252
  • Safepoint counter can't be used for safepoint detection
  • Added tag jdk-13+27 for changeset b7f68ddec66f
  • Hide the onjcmd option from the help output
  • GTK is not being returned as the System L&F on Gnome
  • Add tests to support X25519 and X448 in TLS
  • No compilation error when switch expression has no result expressions
  • Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960
  • Setting the mgfHash in CK_RSA_PKCS_PSS_PARAMS has no effect
  • Test java/util/Locale/LocaleProvidersRun.java should enable assertions
  • JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly
  • Jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails on jvmti->InterruptThread (JVMTI_ERROR_THREAD_NOT_ALIVE)
  • [JVMCI] Handle unpacking properly in Deoptimiziation::get_cached_box()
  • Make process_users_of_allocation handle gc barriers
  • Accessibility issues in specs/jvmti.html
  • Compile error in libfollowref003.cpp with XCode 10.2 on macosx
  • Node budget asserts on x86_32/64
  • Adjust permission for delayed starting of debugging
  • No compilation error reported when yield is used in incorrect context
  • G1 asserts nmethod should not be unloaded during parallel code cache unloading
  • ZGC: Crash due to bad oops being spilled to stack in load barriers
  • JFR RootResolver resets CLD claims with no restore
  • Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory
  • Reference to http://java.sun.com/products/JavaManagement/download.html
  • Exclude compiler/intrinsics/sha/sanity tests from AOT runs
  • Accessibility errors in jdwp-protocol.html
  • Excessive ServiceThread wakeups for OopStorage cleanup
  • Kerberos login to Windows 2000 failed with "Inappropriate type of checksum in message"jdk-13+28

New in Java SE Development Kit (JDK) 13 Build 27 OpenJDK EA (Jun 28, 2019)

  • Added tag jdk-13+26 for changeset 0692b67f5462
  • 8225766: Curve in certificate should not affect signature scheme when using TLSv1.3
  • 226404: bootcycle build uses wrong CDS archive
  • 8223794: applications/kitchensink/Kitchensink.java crash bad oop with Graal
  • 8225684: [AOT] vmTestbase/vm/oom/production/AlwaysOOMProduction tests fail with AOTed java.base
  • 8226412: Fix command-line help text for javac -target
  • 8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout
  • 8223736: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails due to wrong number of MonitorContendedEntered events
  • 8226538: find-files.gmk gets corrupted if tab completion is used before running make first
  • 8226203: MappedByteBuffer.force method may have no effect on implementation specific map modes
  • 8226394: [TESTBUG] vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java fails with java.lang.NoClassDefFoundError
  • 8225257: sun/security/tools/keytool/PSS.java timed out
  • 8226269: Race in SetupProcessMarkdown
  • 8226592: Fix HTML in table for jdk.zipfs module-info
  • 8226593: Fix HTML in com/sun/jdi/doc-files/signature.html
  • 8225146: Accessibility issues in javax/swing/plaf/nimbus/doc-files/properties.html
  • 8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed
  • 8226595: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java still fails due to wrong number of MonitorContendedEntered events
  • 8180005: Provide specific links in KeyManagerFactory and TrustManagerFactory to the Standard Algorithm Names Specification
  • 8224502: [TESTBUG] JDK docker test TestSystemMetrics.java fails with access issues and OOM
  • 8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137
  • 8226628: The copyright footer should be enclosed in <footer>
  • 8225369: [AOT] vm/classfmt/cpl/cplres001/cplres00101m004/cplres00101m004.html fails
  • 8226699: [BACKOUT] JDK-8221734 Deoptimize with handshakes
  • 8226730: Missing `@` in code tags
  • 8226462: [TESTBUG] runtime/appcds/sharedStrings/SysDictCrash.java failed with Cannot dump shared archive
  • 8226709: MethodTypeDesc::resolveConstantDesc needs access check per the specification
  • 8226607: Inconsistent info between pcsclite.md and MUSCLE headers
  • 8226515: AArch64: float point register corruption in ZBarrierSetAssembler::load_atjdk-13+27

New in Java SE Development Kit (JDK) 13 Build 26 OpenJDK EA (Jun 21, 2019)

  • Add sun/security/pkcs11/tls/tls12/FipsModeTLS12.java to ProblemList for linux
  • Compiler/compilercontrol/DontInlineCommandTest.java test fails with "Inline message differs" error
  • Added tag jdk-13+25 for changeset 22b3b7983ada
  • 32-bit build failures after JDK-8080462 (Update SunPKCS11 provider with PKCS11 v2.40 support)
  • AsyncSSLSocketClose.java has timing issue
  • Comparison builds are failing due to cacerts file
  • Shenandoah: Adjust SA to reflect recent forwarding pointer changes
  • [Graal] compiler/jvmci/SecurityRestrictionsTest.java fails with AccessControlException
  • Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process
  • Assert(thread->is_Java_thread()) failed: just checking
  • Jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801
  • Use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state
  • JFR crashed in JfrPeriodicEventSet::requestProtectionDomainCacheTableStatistics()
  • Use SHA-256 for javap classfile checksum
  • Problem list compiler/types/correctness tests
  • Reference to JNI spec on java.sun.com
  • Merge entries in hotspot problem lists
  • ProblemList java/lang/reflect/PublicMethods/PublicMethodsTest.java
  • ProblemList java/lang/constant/MethodTypeDescTest.java
  • Empty method parameter type should generate ClassFormatError
  • G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_precedingjdk-13+26

New in Java SE Development Kit (JDK) 13 Build 25 OpenJDK EA (Jun 16, 2019)

  • Assuming literal keyword search.

New in Java SE Development Kit (JDK) 13 Build 24 OpenJDK EA (Jun 7, 2019)

  • SOCKS v4 doesn't work with IPv6
  • Disable JAOTC invokedynamic support until 8223533 is fixed
  • Problemlist javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
  • Parsing repetition count in regex does not detect numeric overflow
  • Cleanups in sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java
  • Failure handling in ExecuteWithLog fails in run-test-prebuilt
  • Put compiler/graalunit/JttThreadsTest.java on ProblemList-graal.txt
  • Added tag jdk-13+23 for changeset b034d2dee5fc
  • Remove Xusage.txt file
  • Reimplement the Legacy Socket API
  • [TESTBUG] gc/shenandoah/oom/TestThreadFailure.java takes too long
  • Assert(jfr_is_event_enabled(id)) failed: invariant
  • Implement fast class initialization checks on x86-64
  • Java.net.ServerSocket::toString not invoking checkConnect
  • Jrtfs URI to Path and Path to URI conversions are wrong
  • Java ergonomics limits heap to 128GB with disabled compressed oops
  • Add String constants for Canonical XML 1.1 URIs
  • C2: Unify class initialization checks between new, getstatic, and putstatic
  • Java.net.DefaultInterface invokes NetworkInterface::getInetAddresses without doPriv
  • Fix issues in files generated by pandoc
  • Add missing file
  • Aarch64: rflags is not correct after safepoint poll
  • Improve performance of forall loops by better inlining of "iterator()" methods
  • Fix references to broken link in java.compiler module
  • Checks in check_slot_type_no_lvt() should be always executed
  • Add clarifying overrides of Element.asType to more specific subinterfaces
  • Shenandoah: Allows root verifier to verify some roots outside safepoints with proper locks
  • Fix headings in java.management
  • Separate ShenandoahRootScanner method for object_iterate
  • Tools/jimage/JImageExtractTest.java timed out
  • LoadBarrierNode::common_barrier must check address
  • (str) optimize StringBuilder.append(CharSequence, int, int) for String arguments
  • IGV build definition uses non-secure transport
  • URLStreamHandler.openConnection(URL,Proxy) - spec and implementation mismatch
  • Java/net/DatagramSocket/ReuseAddressTest.java failed with java.net.BindException: Address already in use: Cannot bind
  • Dead code due to VMOperationQueue::add() always returning true
  • Fix minor HTML issues in jdk.zipfs
  • Mlvm/anonloader/stress/randomBytecodes/Test.java fails due to "ERROR: There were 1 hangups during parsing."
  • Fix minor HTML issues in java.naming
  • Java/math/BigInteger/SymmetricRangeTests.java fails with ParseException
  • ProcessTools.ProcessBuilder should print timing info for subprocesses
  • runtime/appcds tests crash in "HotSpotJVMCI::compute_offset" when running in Graal as JIT mode
  • Configure recommends JDK 8
  • DateTimeFormatter Fails to throw an Exception on Invalid CLOCK_HOUR_OF_AMPM and HOUR_OF_AMPM
  • Unnecessary cast in LambdaToMethod
  • Javadoc Reporter generates warning for Kind.NOTE
  • Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with -XX:NativeMemoryTracking=detail
  • Update man-page files
  • Performance regression in Regex
  • JShell: Better error message on attempting to add default method
  • JShell: crash on the instantiation of raw anonymous class
  • 32-bit build failures after JDK-8222252
  • Make Shenandoah tests work with 32-bit VMs
  • Shenandoah x86_32 support
  • Tools/jar/multiRelease/Basic.java times out
  • Improve ergonomics for Sparse PRT entry sizing
  • Memory wastage in size of per-region type buffers in GC
  • Bad node estimate assertion failure
  • [REDO] C2 does not optimize redundant memory operations with G1
  • Shenandoah metrics logs refactoring
  • Remove dead JNIHandleBlock freelist code
  • Provide os::processor_id() implementation for Mac OS
  • JShell API: Fix position of @jls tag
  • JShell: corralling not restored on drop
  • Build fails if directory contains 'unix'
  • Remove leftovers in shenandoahBarrierSetC1.cpp
  • [AOT] jck test api/javax_script/ScriptEngine/PutGet.html fails when test classes are AOTed
  • Add missing include after JDK-8223320
  • AllocateOldGenAt fires assertion failure
  • Redundant <p> in Instrumentation.java
  • Re-Problem list jdk/jshell/ExceptionsTest.java fails on windows
  • ProblemList gc/stress/TestReclaimStringsLeaksMemory.java
  • [Graal] compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java fails with -XX:CompileThresholdScaling=0.1
  • Add Visual Studio Code workspace generation support (for native code)
  • [Solaris] os::signal() should call sigaction() with SA_SIGINFO
  • Java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java fails in Windows 10
  • Javadoc does not handle package annotations correctly on package-info.java
  • Method signatures not formatted correctly in browser
  • Typos in javadoc of OIS.readObjectOverride and OOS.writeObjectOverride
  • [TESTBUG] several jfr tests do not clean up files created in /tmp
  • [TESTBUG] vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java fails with java.lang.NoClassDefFoundError
  • Javadoc search specification
  • Jtreg/gc/logging/TestMetaSpaceLog.java failed with Agent timed out
  • DocCommentParser should allow for <main> and </main>
  • Deprecate rmic for removal
  • Update JVMCI
  • Java/lang/reflect/PublicMethods/PublicMethodsTest.java times out
  • Bad headings in java.sql.rowset SyncProvider.java
  • HTML issues in jdk.jdi module
  • Broken links in java.base
  • Bad HTML in jdk.jfr module-info.java
  • ProblemList compiler/codegen/TestCharVect2.java and compiler/c2/cr6340864/TestLongVect.java
  • Backout: JDK-8224814: Remove dead JNIHandleBlock freelist code
  • Optimize regex tree for greedy quantifiers of type {N,}
  • Root Certificates should be stored in text format and assembled at build time
  • Test java/util/ArrayDeque/WhiteBox.java isn't part of the jdk_collections test group
  • Provide VM.events command
  • On child process spawn, child may write to random file descriptor instead of the fail pipe
  • Shenandoah: trim down default number of GC threads
  • (regex) Minor Pattern cleanup
  • Properties.load fails to throw IAE on malformed unicode in certain circumstances
  • ZGC: Strengthen ZHeap::is_oop()
  • ZGC: Strengthen ZHeap::is_in()
  • Gc/z/TestHighUsage.java fails with unexpected allocation stall
  • [testbug] compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest may exceed VM limit
  • Socket.getOption(SocketOption) not returning the expected type for the StandardSocketOptions.SO_LINGER
  • Matcher can cause oop field/array element to be reloaded
  • Java.net.JarURLConnection::getJarEntry() throws NullPointerException
  • Shenandoah: CM::update_thread_roots() needs to handle derived pointers
  • Shenandoah: use COMPILER2_OR_JVMCI macro consistently
  • Enhancing j.l.Runtime/System::gc specification with an explicit 'no guarantee' statement
  • Replace use of style blockListLast
  • Error message when module main class cannot be loaded is missing exception details
  • Convert file to HTML5
  • ProblemList java/lang/invoke/VarHandles tests
  • stringStream internal buffer should always be zero terminated
  • Add @jls links to java.lang.Enum
  • Os::die() does not honor CreateCoredumpOnCrash option
  • Runtime/ErrorHandling/TimeoutInErrorHandlingTest.java fails intermittently
  • In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
  • Serviceability/dcmd/vm/EventsTest.java failedjdk-13+24

New in Java SE Development Kit (JDK) 13 Build 23 OpenJDK EA (May 31, 2019)

  • scalability bloker in javax.crypto.JceSecurity
  • test/jdk/java/security/SecureClassLoader/DefineClass.java hardcodes 127.0.0.1
  • Added tag jdk-13+22 for changeset 181986c54764
  • Compile C code for at least C99 Standard compliance
  • Deprecate the -Xfuture option
  • Note that type parameters are not visited by ElementScanners
  • ZGC: Introduce "High Usage" rule
  • C2 compilation fails during ArrayCopyNode optimizations with assert(i < _max) failed: oob: i=1, _max=1
  • C2 compilation failed with assert(!q->is_MergeMem())
  • Deoptimize with handshakes
  • Shenandoah: Elide barriers on uncommon traps
  • Problem list java/security/SecureClassLoader/DefineClass.java until JDK-8224635 is fixed
  • Indify-dependent microbenchmarks are broken
  • Speed up Properties.load
  • Revert 8224256 and add back java/security/SecureClassLoader/DefineClass.java test
  • [TESTBUG] HelloDynamicCustom.java test failed on the Windows platform in tiers 6 and 7 testing
  • [TESTBUG] Docker tests produce excessive output
  • Support for Unicode 12.1
  • ProblemList runtime/appcds/SharedArchiveConsistency.java
  • Shenandoah: Post-LRB cleanup
  • Javadoc issues in Charset and StandardCharsets
  • Dtrace .d files clash with make dependency .d files
  • Build compare script fails intermittently on test image native libraries
  • ProblemList compiler/graalunit/HotspotJdk9Test.java
  • [TESTBUG] problem list failing JDK docker API tests
  • Harden annotation processing framework to irregular behavior from processors
  • Fix code constructs that do not compile with the Eclipse Java Compiler
  • bufferedStream does not honor size limit
  • 32-bit build failures after JDK-8213084
  • [TESTBUG] compiler/arraycopy/TestArrayCopyWithBadOffset.java failed
  • Use {@systemProperty} in specification of system properties in java.nio packages
  • compiling in the context of an automatic module disallows --add-modules ALL-MODULE-PATH
  • Shenandoah: Make ShenandoahParallelCodeCacheIterator noncopyable
  • Shenandoah: Eliminate RWLock that protects recorded nmethod data array
  • JLONG_FORMAT_W incompatible with type jlong
  • Replace wildcard address with loopback or local host in tests - part 11
  • ConcurrentSkipListMap.java does not compile with the Eclipse Java Compiler
  • Fix inconsistencies in @jls tags in java.util.concurrent
  • java/util/concurrent/BlockingQueue/DrainToFails.java testBounded fails intermittently
  • java/util/concurrent/ConcurrentHashMap/ToArray.java timed out intermittently
  • Miscellaneous changes imported from jsr166 CVS 2019-06
  • Test ComodoCA.java fails
  • Performance regression of XML.validation in 13-b19
  • Remove the com.sun.CORBA.ORBIorTypeCheckRegistryFilter security property
  • Incorrect SASL DIGEST-MD5 behavior
  • JVMTI Spec: can_redefine_any_class capability spec is inconsistent
  • Problem list test security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java
  • [TESTBUG] hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java is timing out again after fix for JDK-8163805
  • add memprotect calls to event log
  • Replace wildcard address with loopback or local host in tests - part 9
  • Backout: JDK-8224626: Shenandoah: Elide barriers on uncommon traps
  • Replace wildcard address with loopback or local host in tests - part 12
  • Shenandoah: Shenandoah Verifier should select proper roots according to current GC cycle
  • bring googlemock v1.8.1
  • Replace some enums with static const members in hotspot/compiler
  • (lib)hsdis-.so search incorrect after JDK-8213084
  • [TESTBUG] runtime/NMT/MallocStressTest.java timed out
  • applications/microbenchmarks are encountering crashes in tier5
  • Problemlist compiler/c2/Test8004741.java until JDK-8214904 is fixed
  • JrtFIleSystemProvider getPath(URI) omits /modules element from file path
  • AArch64: java/javac error with AllocatePrefetchDistance
  • [TESTBUG] runtime/appcds/jvmti/ClassFileLoadHookTest.java failed: must be shared
  • Fix replicateB encoding
  • Javadoc of String strip methods uses link where linkplain would be better
  • apple.security.KeychainStore.getSalt() calling generateSeed()
  • Javadoc should expose covariant return type overrides
  • ProblemList sun/security/tools/keytool/KeyToolTest.java and WeakAlgTest.java on Solaris
  • some runtime/SelectionResolution tests are timing out
  • C code is not compiled correctly due to undefined "i386"
  • Revert: 8216553: JrtFileSystemProvider getPath(URI) omits /modules element from file path
  • serviceability/dcmd/compiler/CodelistTest.java failure
  • Unsupported ciphersuites may be offered by a TLS client
  • SA: jhsdb common help needs to be more detailed
  • Display thread once in Internal exceptions event log lines
  • Add missing BitMap comments for JDK-8222986
  • Shenandoah: Eliminate forwarding pointer word
  • javadoc does not accept valid HTML5 entity names
  • JFR: Lazy install os interface components for improved startup
  • Shenandoah compilation fails with assert(is_CountedLoopEnd()) failed: invalid node class
  • Update man pages to show deprecation of -Xverify:none
  • java.net socket types new-style socket option methods - spec and impl mismatch
  • ShenandoahRootScanner::roots_do assert is too strong
  • Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock
  • JDK-8222318 breaks tools/doclint/html/EntitiesTest.java
  • Problemlist test/jdk/sun/security/pkcs11/tls/tls12/FipsModeTLS12.java
  • Problemlist javax/net/ssl/SSLSocket/Tls13PacketSize.java
  • jtreg: Decouple Unsafe from RTM tests
  • [xmldsig] Add KeyValue::EC_TYPE
  • Shenandoah: ParallelCleaning code unloading should take lock to protect shared code roots array
  • AnnotatedType implementations of hashCode() lead to StackOverflowError
  • googlemock update breaks the build of arm32 and ppc
  • Xerces 2.12.0: License filejdk-13+23

New in Java SE Development Kit (JDK) 13 Build 22 OpenJDK EA (May 24, 2019)

  • Added tag jdk-13+21 for changeset f2f11d7f7f4e
  • Incorrect string interning
  • Code_size2 still too small in some compressed oops configurations
  • Java.lang.AssertionError switch expression in ternary operator - ?
  • Upgrading JDK 13 with the latest available jQuery 3.4.1
  • Make SymbolTable and StringTable AllStatic
  • Redo the fix for ErrorFile option does not handle pre-existing error files of the same name
  • ThreadInVMForHandshake() should call handle_special_runtime_exit_condition()
  • Add VirtualizationInformation JFR event
  • Cannot parse switch expressions after type cast
  • VmTestbase/runtime/pcl/* get SEGV in MetadataOnStackClosure::do_metadata(Metadata*)+0x0
  • Java/nio/channels/SocketChannel/AdaptorStreams.java testConcurrentTimedReadWrite3(): failure
  • Test/jdk/java/net/ipv6tests/{Tcp,Udp}Test.java assume IPv4 is available
  • Add private alignDown method to MappedByteBuffer
  • Shenandoah: Remove clear_claimed_marks() from start of concurrent_traversal()
  • J.l.c.MethodTypeDesc spec should contain precise assertions for one parameter's methods
  • VmTestbase/nsk/jdi/ClassLoaderReference/definedClasses tests failed with Unexpected Exception: null
  • TestFloatJNIArgs and TestTrichotomyExpressions time out with Graal as JIT
  • Remove two DocuSign root certificates that are expiring
  • Os::snprintf should be used in virtualizationSupport.cpp
  • AsyncGetCallTrace test should not run on PPC64 or IA64
  • [Graal] gc/z/TestUncommit.java fails with Graal
  • Upgrade gtest to 1.8.1
  • Update Graal
  • ARM32 SIGILL issue on single core CPU (not supported PLDW instruction)
  • Stack frame scanning acquires DerivedPointerTableGC_lock mutex
  • SA: debugd options should follow jhsdb style
  • Fix zlib related building docu and comments
  • ARM32: -XX:MaxVectorSize=16 makes SIGILL
  • (zipfs) Refactoring and cleanups to prepare for JDK-8213031
  • Volatile long field corruption on x86_32
  • ZGC: Unexpected behaviour due to ZMetronome::wait_for_tick() oversleeping
  • Fix remaining InCSetState mentions
  • Shenandoah: Refactor ShenandoahRootProcessor and family
  • Loop initial declarations introduced by JDK-8184770
  • Performance regression in deserialization (4-6% in SPECjbb)
  • Implement Dynamic CDS Archive
  • Shenandoah: Only need to update thread roots during final update refs
  • J.l.c.MethodTypeDesc::insertParameterTypes? doesn't control type of parameters
  • Consider updating jdk.jshell module description
  • Hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java failed with timed out
  • Build failures after JDK-8207812 (Implement Dynamic CDS Archive)
  • [TESTBUG]test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU
  • G1 unnecessarily scans remembered set cards for regions that already have been evacuated
  • Localized names for Japanese era Reiwa in COMPAT provider
  • Support module specific stylesheets
  • Use _FORTIFY_SOURCE in gcc fastdebug builds
  • Replace wildcard address with loopback or local host in tests - part 8 Currency decimal marker incorrect for Peru
  • Shenandoah: Refactor ShenandoahRootScanner to support scanning CSet codecache roots
  • Shenandoah: CTW test failures with traversal GC
  • InternTest.java timed out
  • Improve CodeHeap Free Space Management
  • Address iteration with invalid ZIP header entries
  • Inet6AddressImpl.loopbackAddress() should choose loopback address that is available
  • Java.lang.Number has a default constructor
  • Test/jdk/java/nio/channels/DatagramChannel/BasicMulticastTests.java assumes IPv4 is always available
  • Don't run test/jdk/java/net/NetworkInterface/IPv4Only.java in IPv6 only environment
  • Update links for tool guides
  • [TESTBUG] TestCPUSets should check that cpuset does not exceed available cores
  • Fix inconsistencies in @jls and @jvms tags
  • Create a taglet to better handle @jls and @jvms tags
  • Clarify Instrumentation interface should not be implemented outside java.instrument module
  • Remove threads linked list (use ThreadsList's array in SA)
  • Implement JFR Events for Shenandoah
  • Use handshakes for CountStackFrames.
  • "Detail" in headings should be "Details"
  • [PPC64, s390] Support AsyncGetCallTrace
  • Rework and enhance Print[Opto]Assembly output
  • Safepoint cleanup logging logs times for things it doesn't do
  • [TESTBUG] runtime/ErrorHandlerTest/ErrorHandler fails intermittently for case 13 on Windows
  • Shenandoah: Do not rescan code roots in final mark pause if it is not degenerated GC
  • Deadlock in JFR string pool
  • J.l.c.MethodTypeDesc.dropParameterTypes? throws the undocumented exception: IllegalArgumentException
  • [Graal] Update java-allocation-instrumenter.jar handling in graalunit README.md
  • J.l.c.MethodHandleDesc::of throws undocumented exception IllegalArgumentException
  • Cannot parse JapaneseDate string on some specified locales
  • DOM and SAX parsers ignore namespace
  • Refactor PtrQueue completed buffer processing
  • Refactor code for reallocating storage
  • Xusage text, man help, etc doesn't mention -Xlog option.
  • OutputStream should not be copyable
  • StringStream should not use Resouce Area
  • Fix windows build after JDK-8221507
  • ResourceMark not declared in shenandoahRootProcessor.inline.hpp with --disable-precompiled-headers
  • Move G1RemSetScanClosure into g1RemSet.cpp file
  • Update ProblemList-graal.txt
  • Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy
  • Improve startup behavior of SecurityProperties
  • Need to update thread roots in final mark for piggyback ref update cycle
  • Simplify JVM flag macro expansions
  • Remove need to specify type when using FLAG_SET macros
  • Replace wildcard address with loopback or local host in tests - part 10
  • Shenandoah: Eliminate shenandoah verifier's side-effects
  • Specification of j.l.c.MethodTypeDesc::of should document better the exceptions thrown
  • Sun/management/jmxremote/bootstrap tests hang in revokeall.exe on Windows
  • Put HeapMonitorStatArrayCorrectnessTest in the problem list
  • Test/jdk/java/net/InetAddress/CheckJNI.java assumes 127.0.0.1 is available
  • AArch64: String.indexOf generates incorrect result
  • AArch64: String.compareTo() can read memory after string
  • [TESTBUG] JFR TestShenandoahHeapRegion* tests fail on build w/o Shenandoah
  • GCC 8.3 reports errors in java.base
  • Minimal and zero build fails after JDK-8213084
  • Shenandoah should apply barriers on deoptimizationjdk-13+22

New in Java SE Development Kit (JDK) 13 Build 21 OpenJDK EA (May 17, 2019)

  • Build failure after JDK-8223567 (Rename ShenandoahBrooksPointer to ShenandoahForwarding)
  • Upgrade CLDR to Version 35.1
  • Add test library support for determining platform IP support
  • Build failures after JDK-8223534 (add back fixed test_markOop.cpp)
  • Compiler/graalunit/HotspotTest.java hotspot.test.CheckGraalIntrinsics AssertionError: found plugins for intrinsics
  • [Graal] compiler/c2/Test8062950.java failed with time out.
  • Sun/security/tools/keytool/PSS.java times out on Solaris-SPARC
  • Added tag jdk-13+20 for changeset 6ccc7cd7931e
  • 8223441: HeapMonitorStatArrayCorrectnessTest fails due to sampling determinism
  • [TESTBUG] Disable JTReg Shenandoah tests when Graal is enabled
  • Crash when completing "java.io.File.path"
  • 8042215: javax/management/remote/mandatory/connection/ReconnectTest.java NoSuchObjectException no such object in table
  • Move compressed oops functions to CompressedOops class
  • Move VerifyOption out of Universe
  • Move IsGCActiveMark implementation out of header
  • Move Universe usage out of oopRecorder.hpp
  • Move Universe usage out of memAllocator.hpp
  • Move oopFactory function definitions out of oopFactory.hpp
  • Cleanup includes of universe.hpp
  • Replace wildcard address with loopback or local host in tests - part 4
  • Preflow visitor is not visiting lambda expressions
  • Jdk-13+20 bundle name contains null instead of ea
  • Enable the Stack Execution Disable flag for JDK binaries on AIX
  • Reduce String concatenation shapes by folding initialLengthCoder into last mixer
  • Xerces 2.12.0: Validation
  • AArch64 build broken by fix for 8223136
  • Merge Cleanup ancient argument processing code
  • Configurable read timeout for CRLs
  • Minimal build fails after JDK-8185525
  • Build fails with --with-jvm-features=-jfr and --disable-precompiled-headers
  • [JVMCI] jvmciCompiler.cpp needs to include "oops/objArrayOop.inline.hpp""
  • Runtime/exceptionMsgs/ArrayIndexOutOfBoundsException/ArrayIndexOutOfBoundsExceptionTest.java timeout but test passed
  • Testlibrary_tests/ctw/ClassesListTest.java fails with Agent timeout frequently
  • Restrict Sasl mechanisms
  • Cleanups in cacerts tests
  • Code_size2 needs adjustments
  • Minimal VM build failure after 8223136 (Move compressed oops functions to CompressedOops class)
  • Arm32 build failure after 8223136 (Move compressed oops functions to CompressedOops class)
  • Move print() functions to cpp files
  • Replace wildcard address with loopback or local host in tests - part 3
  • HotSpot compile warnings from GCC 9
  • Rename IPSupport.skipIfCurrentConfigurationIsInvalid() to IPSupport.throwSkippedExceptionIfNonOperational()
  • [Graal] assert(type() == T_INT) failed: type check
  • [TESTBUG] TestCgroupMetrics.java fails after fix for JDK-8219562
  • jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine
  • JFR tool produces incorrect output when both --categories and --events are specified
  • TLSv1.3 may generate TLSInnerPlainText longer than 2^14+1 bytes
  • Clean up @jls references in com.sun.source
  • Add a AsyncGetCallTrace test
  • ASAN build broken
  • Small VM.metaspace improvements
  • Linksource broken with modules
  • Replace wildcard address with loopback or local host in tests - part 5
  • MappedByteBuffer.force method to specify range
  • Create a jlink plugin for stripping debug info symbols from native libraries
  • Fix build breakage after 8223136
  • [Graal] compiler/jsr292/NonInlinedCall/InvokeTest.java failed time out
  • Support CNG RSA keys
  • URLClassLoader.findClass() can throw IndexOutOfBoundsException
  • Build failure after 8223040 (Add a AsyncGetCallTrace test)
  • Add more thread-related system settings info to hs_error file on AIX
  • Used bundled zlib on AIX by default
  • Shenandoah should allow arbitrarily low initial heap size
  • Shenandoah: overflows in calculations involving heap capacity
  • Implementation: JEP 351: ZGC: Uncommit Unused Memory
  • 82jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc <entries20> failed 6af4413c vs 0 ...)
  • Investigate syncing JVMTI spec version with JDK version
  • Migrate RuleBasedCollatorTest to JDK Repo
  • Disable VerifySharedSpaces by default
  • Incorrect static call stub interactions with class unloading
  • Add gc IDs in the log of gc verification
  • Replace wildcard address with loopback or local host in tests - part 6
  • OopDesc::is_valid() is broken
  • Improve filter for enqueued deferred cards
  • Rename G1RemSet::*oops_into_collection_set_do methods
  • ErrorFile option does not handle pre-existing error files of the same name
  • Bad EnclosingMethod attribute on classes declared in lambdas
  • Remove unused THREAD argument from SymbolTable functions
  • Shenandoah fails to build on Solaris x86_64
  • Problemlist compiler/ciReplay/TestServerVM.java
  • Update SocketReadWrite benchmark
  • HotSpot compile warnings from VS2017
  • Provide extended VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64
  • Disable bad node budget verification until the fix
  • Hs_err and replay file may contain garbage when overwriting existing file
  • Shenandoah: Support verifying subset of roots
  • Fix HostsFileNameService for IPv6 literal addresses
  • JDWP support for IPv6
  • Sun/net/www/http/HttpClient/MultiThreadTest.java should be more resilient to unexpected traffic
  • Update sun/net/ftp/FtpURL.java and sun/net/ftp/FtpURLConnectionLeak.java to work with IPv6 addresses
  • Replace wildcard address with loopback or local host in tests - part 7
  • Remove two Comodo root CA certificates that are expiring
  • Don't try creating IPv4 sockets in NetworkInterface.c if IPv4 is not supported
  • Shenandoah: Refactor and fix ObjArrayChunkedTask verificationjdk-13+21

New in Java SE Development Kit (JDK) 13 Build 20 OpenJDK EA (May 10, 2019)

  • Improve AbstractProcessor to issue warnings for repeated information
  • Data race on JvmtiEnvBase::_tag_map in double-checked locking
  • Added tag jdk-13+19 for changeset a43d6467317d
  • runtime/Shutdown/ShutdownTest.java due to "OutOfMemoryError: Java heap too small"
  • StackOverflowError in custom security manager that relies on ClassSpecializer
  • Remove CollectorPolicy and its subclasses
  • Add parameter to skip clearing CHeapBitMaps when resizing
  • Minor cleanups in ResolvedMethodTable
  • Replace wildcard address with loopback or local host in tests - part 1
  • ConcurrentSkipListMap.clone() shares size variable between original and clone
  • CopyOnWriteArrayList.set should always have volatile write semantics
  • ThreadPoolExecutor: Thread.isAlive() is not equivalent to not being startable
  • fix headings in java.util.concurrent
  • Miscellaneous changes imported from jsr166 CVS 2019-05
  • Shenandoah: Pre-evacuate all roots
  • Use Unsynchronized StringBuilder in sun.net.www.ParseUtil
  • Drop support for pre JDK 1.4 SocketImpl implementations
  • Rename acquire_tag_map() to tag_map_acquire() in jvmtiEnvBase
  • Shenandoah: SRP::process_all_roots_slow processes JvmtiExport weak oops twice
  • (fs) No support for changing modification time of symlink
  • Add new FileSystems.newFileSystem methods
  • DataOutputStream/WriteUTF.java fails due to "OutOfMemoryError: Java heap space"
  • Cleanup: NodeSortRecord
  • Custom URLStreamHandler for jrt or file protocol can override default handler
  • Many pkcs11 tests failed in Provider initialization, after compiler on Windows changed
  • Rename predicate 'do_unroll_only()' to 'is_unroll_only()'.
  • Small clean-up in loop-tree support.
  • Rename mandatory policy-do routines.
  • Clean-up in 'ok_to_convert()'.
  • Change (count) suffix _ct into _cnt.
  • Clean-up WS and CB.
  • Restructure/clean-up for 'loopexit_or_null()'.
  • assert failed: Live node limit exceeded.
  • runtime/8176717/TestInheritFD.java failed with java.nio.file.NoSuchFileException: /tmp/communication7071713601211876892.txt
  • [AIX] Remove old xlC 10 workaround for load acquire
  • [AOT] jaotc crashes with assert(!(((ThreadShadow*)__the_thread__)->has_pending_exception())) failed: Should not allocate with exception pending
  • Clarify operational semantics of java.util.Objects.equals()
  • TestBiasedLockRevocationEvents fails while matching revoke events to VMOperation events
  • test failing due to self-assign-overloaded
  • Improve FileSystems.newFileSystem example with map factory methods
  • Eliminate SATBMarkQueueSet::filter_thread_buffers
  • Pattern.compile() can throw confusing NegativeArraySizeException
  • JDK-8221359 breaks TestG1ParallelPhases.java
  • Fix incorrect usage of GCTraceTime in g1FullCollector and g1CollectedHeap
  • PPC64: Improve comments in the JVM signal handler to match ISA text
  • New fix of the deadlock in sun.security.ssl.SSLSocketImpl
  • vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter002/TestDescription.java failed with "event IS NOT a breakpoint"
  • j.l.c.ClassDesc::nested(String, String...) doesn't throw NPE if any arg is null
  • Redundant nmethod dependencies for effectively final methods
  • C2: MemNode::can_see_stored_value() ignores casts which carry control dependency
  • ~15% performance degradation due to less optimized inline decision
  • Update Graal
  • markOopDesc::print_on() is a bit confused
  • Refactor assert( G1CollectedHeap::used() == recalculate_used() ) with better message
  • tier1 build failure after 8222893
  • Optimize String.replace(CharSequence, CharSequence) for common cases
  • VerifyBeforeExit is not honored when System.exit is called
  • [TESTBUG] Put graalJarsCP before existing classpath in GraalUnitTestLauncher
  • Update Apache Santuario (XML Signature) to version 2.1.3
  • Update JVMCI
  • infinite loop in HotSpotJVMCIMetaAccessContext.fromClass after OutOfMemoryError
  • [Graal] assert(!m->can_be_statically_bound(InstanceKlass::cast(ctxk))) failed: redundant
  • ZGC: Remove ZGranuleMap::size()
  • pathological case of JIT recompilation and code cache bloat
  • Shenandoah optimizations fail with assert(!phase->exceeding_node_budget())
  • Shenandoah: assert(is_Proj()) failed when running cometd benchmarks
  • Compare baseline builds on linux are failing
  • Shenandoah disabled barriers blocks omit LRB
  • Disable Shenandoah C2 barriers verification for x86_32
  • Unprotected UseCompressedOops block in gc/shenandoah/shenandoahBarrierSetC1_x86.cpp
  • java.net.ServerSocket protected constructor should throw NPE if impl null
  • Add back exception checking in tests
  • Inconsistencies of generated timezone files between Windows and Linux
  • Replace wildcard address with loopback or local host in tests - part 2
  • Add copyright footer to specs and man pages
  • Shenandoah breaks alignment with some HumongousThreshold values
  • Stabilize gc/shenandoah/TestStringDedupStress test
  • Enhance auto vectorization for x86
  • Improve version string for Oracle CI builds
  • Backout JDK-8219974 Restore static callsite resolution for the current class
  • gtest/GTestWrapper.java failed due to "assert(ret == 0) failed: sem_post failed; error='Invalid argument' (errno=EINVAL)"
  • (ch) Change channel close implementation to not wait for I/O threads
  • Fix usage of ARRAYCOPY_DISJOINT decorator
  • Unsynchronized iteration of ClassLoaderDataGraph
  • Exclude javax/management/monitor/DerivedGaugeMonitorTest.java until JDK-8042211 is fixed.
  • Shenandoah needs to acquire lock before CLDG::clear_claimed_marks
  • compiler/intrinsics/mathexact/LongMulOverflowTest.java java timeout
  • gc+promotion log lines are missing the GC id
  • [Graal] vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java crash
  • add condy support to javac's pool API
  • Shenandoah build fails with --with-jvm-features=-compiler1
  • Add JFR event for DictionarySizes
  • add back fixed test_markOop.cpp
  • Rename ShenandoahBrooksPointer to ShenandoahForwarding
  • ProblemList java/lang/ref/ReachabilityFenceTest.java when running in Graal as JIT modejdk-13+20

New in Java SE Development Kit (JDK) 13 Build 19 OpenJDK EA (May 3, 2019)

  • Typo in test/hotspot/jtreg/TEST.groups is causing test harness failures
  • Added tag jdk-13+18 for changeset bebb82ef3434
  • Fix ExceptionCheckingJniEnv system
  • runtime/appcds/sharedStrings/SharedStringsStress.java assert GC active during NoGCVerifier
  • Introduce CollectedHeap::unused()
  • ZGC: Increase max heap size to 16TB
  • ZGC: Generalize ZPageCache::flush()
  • Improve Javadoc search feature and add test coverage
  • (ch) Replace uses of stateLock and blockingLock with j.u.c. locks
  • Rework naked_short_nanosleep on Windows to improve time-to-safepoint
  • Hang seen when using com.sun.jndi.ldap.search.replyQueueSize
  • Consolidate MutexLockerEx and MutexLocker
  • Fix shenandoah broken with JDK-8222811
  • [TESTBUG] docker/TestJFREvents.java fails due to "RuntimeException: JAVA_MAIN_CLASS_ is not defined"
  • Update ProblemList for vmTestbase/nsk/jdb/eval/eval001/eval001.java
  • Don't set IPV6_V6ONLY when IPv4 is not available
  • Xerces 2.12.0: DOM Implementation
  • Remove unnecessary caching of Parker object in java.lang.Thread
  • (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present
  • Obsolete NeedsDeoptSuspend
  • ZGC: Fix misaligned statistics printout
  • [BACKOUT] Typo in test/hotspot/jtreg/TEST.groups is causing test harness failures
  • java/net/Socket/LingerTest.java and java/net/Socket/ShutdownBoth.java timeout intermittently
  • add possibility to build with Visual Studio 2019
  • Upgrade IANA Language Subtag Registry to Version 2019-04-03
  • j.l.c.ClassDesc spec should contain precise assertions for one parameter's methods
  • update hotspot tier1_gc tests depending on GC to use @requires vm.gc.X
  • SunMSCAPI keys are not cleaned up
  • C2 compilation failed with assert(!q->is_MergeMem())
  • Cleanups for zipfs tests
  • expand minI_rReg and maxI_rReg patterns into separate instructions
  • LineNumberReader throws "Mark invalid" exception if CRLF straddles buffer.
  • Key.getAlgorithm link to standard algorithm names needs to be updated
  • Use MonitorLocker rather than MutexLocker when wait/notify used
  • Increase -inlinehint-threshold for Clang to avoid G1 pause time regression
  • JVMCIRuntime::adjust_comp_level should be replaced
  • Improve the HTML for the inheritance tree for a type
  • sun.jdwp.listenerAddress agent property uses wrong encoding
  • [javac] fails and exits with no error if a bad annotation processor provided
  • mark new VM option AllowRedefinitionToAddOrDeleteMethods as deprecated
  • Reduce String concat combinator tree shapes by folding constants into prependers
  • C2 crash in IfNode::up_one_dom(Node*, bool)
  • [i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717
  • vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter001/TestDescription.java failed with "eventSet1.size() != 3 :: 2"
  • Add Jib support for VERSION_EXTRA*
  • Add GlobalSign's R6 Root certificate
  • Remove T-Systems root CA certificate
  • Sampling interval not always correct
  • com/sun/jdi/ExceptionEvents.java failed
  • [TESTBUG] new test vmTestbase/nsk/share/ExceptionCheckingJniEnv/exceptionjni001/ fails on Windows
  • DecoderLocker is unused
  • make MutexLocker smarter about non-JavaThreads
  • Shenandoah: Missing roots in SRP::process_all_roots_slow
  • Test gc/arguments/TestShrinkHeapInSteps.java breaks with change for JDK-8074355
  • Add microbenchmark for array copying/clearing/resizing
  • Unsafe write after primitive array creation may result in array length change
  • add support for generating method handles from a variable symbol
  • Update JVMCI to support JVMCI based Compiler compiled into shared library
  • Document the jdk.net.URLClassPath.showIgnoredClassPathEntries system property
  • [TESTBUG] TestJFRNetworkEvents should not rely on hostname command
  • Validator does not find missing match for keyref errorjdk-13+19

New in Java SE Development Kit (JDK) 13 Build 18 OpenJDK EA (Apr 30, 2019)

  • Added tag jdk-13+17 for changeset 93b702d2a0cb
  • Provide virtualization related info in the hs_error file on AIX
  • JFR TestClassLoadEvent.java failed due to EXCEPTION_ACCESS_VIOLATION
  • Rework ResolvedMethodTable verification
  • Add OutputAnalyzer(Path) constructor
  • runtime/MemberName/MemberNameLeak.java times out
  • [Containers] Improve systemd slice memory limit support
  • Wrapper Key may get deleted when closing sessions in SunPKCS11 crypto provider
  • HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
  • Add @since tag to JapaneseEra.REIWA
  • Update doc/building.md with current Oracle build platforms and compilers
  • AAarch64: Add CPU implementer code for Ampere
  • [Graal] mx_subprocess files miss testing VM flags
  • sun/security/pkcs11/tls/tls12/TestTLS12.java test failed
  • RI does not follow the JVMTI RedefineClasses spec that is too strict in the definition
  • Shenandoah get_barrier_strength should accept all shapes of (Weak)CAS reference barriers
  • jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException
  • javax/net/ssl/compatibility/Compatibility.java should be more flexible
  • Remove support for `--no-module-directories`
  • Replace 19,20 case alternatives with JVM_CONSTANT_Module/Package names
  • Eliminate inherently singleton lists
  • Improve String::equals warmup characteristics
  • Use of no longer existing jquery directory in script.js
  • Deploy ExceptionJniWrapper for a few tests
  • Consolidate indy and condy JVM information within a BootstrapInfo data structure
  • Update Graal
  • Refactor printing processor to use streams
  • JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero
  • aarch64: add necessary masking for immediate shift counts
  • Print Shenandoah cset map addresses in hs_err
  • Shenandoah: SEGV on accessing cset bitmap for NULL ptr
  • -XX:BytecodeVerificationRemote and -XX:BytecodeVerificationLocal should be diagnostic options
  • (zipfs) Performance regression when writing ZipFileSystem entries in parallel
  • more baseline cleanups from Async Monitor Deflation project
  • Create and use new html.Entity class
  • sun/security/pkcs11/tls/tls12/TestTLS12.java fails with Unsupported signature algorithm: rsa_pss_rsae_sha256jdk-13+18

New in Java SE Development Kit (JDK) 13 Build 17 OpenJDK EA (Apr 19, 2019)

  • minimal inference context optimization is forcing resolution with incomplete constraints
  • vmTestbase/nsk/jvmti/SingleStep/singlestep001/TestDescription.java fails
  • Clean up interfaceSupport.inline.hpp duplicated code
  • Added tag jdk-13+16 for changeset 9d0ae9508d53
  • JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv
  • Zero build broken after JDK-8222231
  • cleanup ticks related coding in os_perf_aix.cpp [aix]
  • avadoc generates references to missing file overview-frame.html
  • Add GC.selected() jtreg-ext function
  • ResolvedMethodTable too small for StackWalking applications
  • javac should reject class files with bad EnclosingMethod attributes
  • Cleanups for building Windows resources
  • Provide a way to inject missing parameter names
  • fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
  • Collect code coverage for a subset of code
  • Thread-SMR functions should be updated to remove work around
  • rmic should reject class files with preview features enabled
  • Add Hygon Dhyana processor support
  • refactoring: enhancements to java.lang.Class::methodToString and java.lang.Class::getTypeName
  • Refactor sun/security/tools shell tests to plain java tests
  • Shenandoah: Adjust Shenandoah work gang types
  • IRT_ENTRY/IRT_LEAF etc are the same as JRT
  • Shenandoah: Remove ShenandoahAlwaysTrueClosure, use AlwaysTrueClosure instead
  • [TESTBUG] move hotspot container tests to hotspot/containers
  • Shenandoah: Remove unused _par_state_string in ShenandoahRootProcessor
  • compiler/graalunit/JttThreadsTest.java failed with org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds
  • sun/security/tools/keytool/Serial64.java: assertTrue: expected true, was false
  • Out-of-bounds access to CPU _family_id_xxx array
  • tools/javac/classreader/8171132/BadConstantValue.java failed with "did not see expected error"
  • jquery directory should be renamed
  • Support implementation-defined Map Modes
  • java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile hangs when "nc" does not accept "-U"
  • x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers
  • Shenandoah: Remove unused _par_state_string in ShenandoahRootEvacuator
  • Shenandoah: Move commonly used closures to separate files
  • [TESTBUG] create more tests for JFR in container environment
  • TESTBUG] Docker support is always set to true in jtreg-ext/requires/VMProps.java
  • Provide mechanism to query preview feature status for annotation processors
  • Add tests for ElementKind predicates
  • AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted
  • [s390] optimize register usage in C2 instruction forms for clearing arrays
  • java -Xss0 triggers StackOverflowError
  • Refactor the abstract classes of package and module index writer
  • [TESTBUG] Review Runtime tests recently migrated from JDK subdirs
  • Add configure options for Mac Bundle creation
  • Fix javadoc headers in Nashorn sources
  • Small cleanup for JDK launcher's make file
  • Xerces 2.12.0: Parsing Configuration
  • Specialize generation of simple String concatenation expressions
  • SSLSocket stream close() does not close the associated socket
  • compiler/loopopts/TestOverunrolling.java times out
  • : compiler/arguments/TestScavengeRootsInCode.java times out
  • Cleanup doclet instantiation
  • make_walkable asserts on multiple calls
  • java_lang_Thread _thread_status_offset, remove pre 1.5 code paths
  • Load barrier slow path node should be MachTypeNode
  • Remove sneaky token 'Name' in jdk-version.m4
  • jcmd can fail converting UTF8 output to strings
  • ZGC: Make nmethod entry barriers and nmethod::is_unloading use ZNMethodDataOops
  • Overhaul logic for reading/writing constant pool entries
  • Channels.newWriter() does not close if underlying channel throws an IOException
  • 37 hours ago erikj 8222444: Add a suggestion for non-US locale in the test docjdk-13+17

New in Java SE Development Kit (JDK) 13 Build 16 OpenJDK EA (Apr 12, 2019)

  • Reduce make Init.gmk logging overhead
  • Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5"
  • TLSv1.3 fail with ClassException when EC keys are stored in PKCS11
  • Added tag jdk-13+15 for changeset f855ec13aa25
  • Remove uses of ClassLoaderWeakHandle typedef in protection domain table
  • Add information about swap space to print_memory_info() on MacOS
  • Speed up incremental rerun of "make hotspot"
  • Load-reference barriers for Shenandoah
  • [TESTBUG] more configurable parameters for docker testing
  • Shenandoah: ArrayCopy post-barrier improvements
  • Bootcycle build broken
  • Simplify Optional implementation
  • Simplify Map/List/Set.of() implementation
  • Implement size() / isEmpty() in immutable collections
  • Update the default enabled cipher suites preference
  • Fix old method replacement in ResolvedMethodTable
  • Print methods in exception messages in java-like Syntax.
  • ProblemList hotspot tests failing in SAP testing.
  • Simplify JLI_Open on Windows in native code (libjli)
  • Runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java fails: Shared archive not found
  • Readability check in Symbol::is_valid not performed for some addresses
  • [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends
  • Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3
  • Inject os/cpu-specific constants into Unsafe from JVM
  • Compiled CI stubs are unsafely modified
  • A typo in the Java API doc for File.getUsableSpace()
  • Fix headings in jdk.javadoc
  • Use fiber-friendly java.util.concurrent.locks in JSSE
  • Javadoc should not set role=region on <section> elements
  • Add MethodHandle tests on accessing final fields
  • Caller sensitive methods not handling caller = null when invoked by JNI code with no java frames on stack
  • Test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c build fails after 8221530
  • Build of test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c still failing on Windows
  • Serviceability/sa/TestPrintMdo.java fails on 32-bit platforms
  • X86_32 fails with "wrong size of mach node" on AVX-512 machine
  • [TESTBUG] Docker tests use old/deprecated image on AArch64
  • Better customization for Windows RC properties FileDescription and ProductName
  • AARCH64: problems with CAS instructions encoding
  • ExeCallerAccessTest.c fails to build: control reaches end of non-void function
  • Make reconfigure breaks when configured with relative paths
  • [TESTBUG] sun/security/lib/cacerts/VerifyCACerts.java fails due to cert within 90-day expiry window
  • Shenandoah: Crash when running with ShenandoahParallelSafepointThreads=1
  • Shenandoah: Missing CompareAndSwapP/N case in get_barrier_strength()
  • Java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException
  • Jcmd process name matching broken
  • CodeCache::UnloadingScope needs to preserve and restore previous IsUnloadingBehavior
  • Add temporary exceptions for root certs that are due to expire soon
  • Shenandoah should verify roots after pre-evacuation
  • GraalUnitTestLauncher should be executed as '@run driver'
  • Clean up evacuation of optional collection set
  • Add "use_" prefix to G1Policy::adaptive_young_list_length
  • Survivor MemoryMXBean used() size granularity is region based
  • [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output
  • SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event
  • Add steal tick related information to hs_error file [linux]
  • BuiltinClassLoader should create the CodeSource for jrt URLs lazily
  • Permissions.readObject doesn't enforce proper Class to PermissionCollection mappings
  • Add comments for docker tests in the test doc
  • Add necessary predicate for ubfx patterns
  • Get(null) on single-entry unmodifiable Map returns null instead of throwing NPE
  • SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE should be selected at runtime, not build time
  • Shenandoah should report "committed" as capacity
  • Shenandoah should not uncommit below minimum heap size
  • Shenandoah: Fix Traversal GC weak roots handling in final-traversal pause
  • ProblemList compiler/jsr292/InvokerSignatureMismatch.java
  • StringBuffer(CharSequence) constructor truncates when -XX:-CompactStrings specified
  • Data race in compile broker (set_last_compile)
  • TLS with BC and RSASSA-PSS breaks ECDHServerKeyExchange
  • Avoid recalculating String.hash when zero
  • ZGC: ZForwarding::verify() failing when checking for duplicates
  • ZGC: Clean up ZOop
  • Shenandoah: Pre-evacuate string-dedup roots in Traversal GC
  • Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC
  • Windows incremental build is broken with JDK-8217728
  • Optimize Math.floorModjdk-13+16

New in Java SE Development Kit (JDK) 13 Build 15 OpenJDK EA (Apr 5, 2019)

  • New Japanese Era Name (JDK-8205432)
  • core-libs/java.time
  • The placeholder name, "NewEra", for the Japanese era that started from May 1st, 2019 has been replaced with the Japanese Government declared name "Reiwa". Applications that rely on the placeholder name to obtain the new era singleton (JapaneseEra.valueOf("NewEra")) will no longer work.
  • Use server cipher suites preference by default (JDK-8168261)
  • security-libs/javax.net.ssl
  • For TLS connections, by default, the cipher suite selection is updated to use the server cipher suites preference. Applications can configure the behavior with the SSLParameters.setUseCipherSuitesOrder?() method.
  • The Swing Motif Look and Feel is deprecated and unsupported on macOS (JDK-8177960)
  • client-libs
  • The Swing Motif Look and Feel is unsupported on macOS from JDK 13.
  • In the source code it is deprecated with the intent to remove it in some future release. It is recommended to use javax.swing.plaf.metal.MetalLookAndFeel instead.

New in Java SE Development Kit (JDK) 13 Build 14 OpenJDK EA (Mar 29, 2019)

  • 8220389: Update Graal
  • 8218446: SuspendAtExit hangs
  • 8220249: fix headings in java.compiler
  • Added tag jdk-13+13 for changeset 83cace4142c8
  • 8221180: Deprecate AllowJNIEnvProxy
  • 8221208: Backout JDK-8218446
  • 8172695: (scanner) java/util/Scanner/ScanTest.java fails
  • 8220658: Improve the readability of container information in the error log
  • 8220784: hsdis cannot be built with MinGW64
  • 8220753: Re-introduce the test case for TLS 1.2 algorithms in SunPKCS11 crypto provider
  • 8221096: Description of -XX:+PrintFlagsRanges is incorrect
  • 8221172: SunEC specific test is not limited to SunEC
  • 8221259: New tests for java.net.Socket to exercise long standing behavior
  • 8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs
  • 8211941: Enable checking/ignoring of non-conforming Class-Path entries
  • 8170494: JNI exception pending in PlainDatagramSocketImpl.c
  • 8218401: WRONG_PHASE: vmTestbase/nsk/jvmti test crash
  • 8221270: Duplicated synchronized keywords in SSLSocketImpl
  • 8221273: put sun/security/pkcs11/tls/tls12/TestTLS12.java on ProblemList.txt
  • 8221278: Shenandoah should not enqueue string dedup candidates during root scan
  • 8220714: C2 Compilation failure when accessing off-heap memory using Unsafe
  • 8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive"
  • 8200286: (testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old!
  • 8221252: (sc) SocketChannel and its socket adaptor need to handle connection reset
  • 8221212: ZGC: Command-line flags should be marked experimental
  • 8221219: ZGC: Remove ZStallOnOutOfMemory option
  • 8217564: idempotent protection missing in crc32c.h
  • 8221179: Zero builds fail when linking with gold and bundling libffi.so
  • 8078860: (spec) InputStream.read(byte[] b, int off, int len) claims to not affect element b[off]
  • 8220224: With CLDR provider, NumberFormat.format could not handle locale with number extension correctly.
  • 8218889: Improperly use of the Optional API
  • 8218399: runtime/RedefineObject/TestRedefineObject.java timeout
  • 8220240: Refactor shared dirty card queue
  • 8221363: Build failure after JDK-8220240 (Refactor shared dirty card queue)
  • 8220095: Assertion failure when symlink (with different name) is used for lib/modules file
  • 8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
  • 8221207: Redo JDK-8218446 - SuspendAtExit hangs
  • 8221164: jstatLineCounts tests need to be more resilient for NaN outputs
  • 8220295: sun/tools/jps/TestJps.java still timing out
  • 8219100: Improve do_collection_pause_at_safepoint
  • 8217362: Emergency dump does not work when disk=false is set
  • 8221260: Initialize more class members on construction, remove some unused ones
  • 8220445: Support for side by side MSVC Toolset versions
  • 8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64
  • 8221343: x86_32 crashes on startup with "_hwm out of range"
  • 8221357: Update test documentation by deleting "cd test && make"
  • 8221434: Fix typo in lib-x11 autoconf error message about missing headers
  • 8146986: JDI: Signature lookups for unprepared classes can take a long time
  • 8221264: Refactor and update SourceVersion.latestSupported
  • 8217827: [Graal] Some vmTestbase/nsk/jvmti/ResourceExhausted tests failing
  • 8221262: Cleanups in UnixFileSystem/WinNTFileSystem implementation classes
  • 8220682: Heap dumping and inspection fails with JDK-8214712
  • 8214712: Archive Attributes$Name.KNOWN_NAMES
  • 8221083: [ppc64] Wrong oop compare in C1-generated code
  • 8203026: java.rmi.NoSuchObjectException: no such object in table
  • 8220774: Add HandshakeALot diag option
  • 8218128: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003 and 004 use wrong path to test classes
  • 8220570: Additonal trace when native thread creation fails
  • 8217690: Update public suffix version
  • 8221472: Fix HandshakeSuspendExitTest
  • 8220794: PPC64: Fix signal handler for SIGSEGV on branch to illegal address
  • 8221175: Fix bad function case for controlled JVM crash on PPC64 big-endian
  • 8221473: Configuration::reads can use Set.copyOf
  • 8221406: Windows 32bit build error in NetworkInterface_winXP.c
  • 8221407: Windows 32bit build error in libsunmscapi/security.cpp
  • 8221414: Bump required boot jdk version to 12
  • 8219446: Specify behaviour of timeout accepting methods of Socket and ServerSocket if timeout is negative
  • 8221483: TestOopCmp.java fails due to "Multiple garbage collectors selected"
  • 8221350: more monitor logging updates from Async Monitor Deflation project
  • 8204552: NMT: Separate thread stack tracking from virtual memory tracking
  • 8221342: [TESTBUG] Generate Dockerfile for docker testing
  • 8221513: Add vmTestbase/nsk/jdb/eval/eval001/eval001.java to ProblemList.txt
  • 8216558: Lookup.unreflectSetter(Field) fails to throw IllegalAccessException for final fields
  • 8220633: Optimize CacheFSInfo
  • 8217347: [TESTBUG] runtime/appcds/jvmti/InstrumentationTest.java timed out
  • 8220687: Add StandardJavaFileManager.getJavaFileObjectsFromPaths overload
  • 8221479: Fix JFR profiling on s390
  • 8221396: Clean up serviceability/sa/TestUniverse.java
  • 8221392: Reduce ConcurrentGCThreads spinning during start up
  • 8221537: ZGC: Fix incorrect comment in zNMethod table entry layout
  • 8220198: Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs
  • 8221400: java/lang/String/StringRepeat.java test requests too much heap
  • 8221401: java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms
  • 8221524: java/util/Base64/TestEncodingDecodingLength.java test should be disabled on 32-bit platforms
  • 8219612: compiler.codecache.stress.Helper.TestCaseImpl can't be defined in different runtime package as its nest host
  • 8059357: ClassVerifier redundantly checks constant pool entries multiple times
  • 8219196: DataOutputStream.writeUTF may throw unexpected exceptions
  • 8221527: [TESTBUG] DockerBasicTest.java contains hard-coded reference to JDK 10
  • 8221456: nmethod::make_unloaded() clears _method member too early
  • 8220528: [AIX] Fix basic Xinerama and Xrender functionality
  • 8221531: Incorrect copyright header in src/java.base/windows/native/libnio/ch/FileChannelImpl.c
  • 8220575: Replace hardcoded 127.0.0.1 in URLs with new URI builderjdk-13+14

New in Java SE Development Kit (JDK) 13 Build 13 OpenJDK EA (Mar 22, 2019)

  • 8219197: ThreadGroup.enumerate() may return wrong value
  • 8219882: [AOT] Develop regression test for 8218859
  • 8220301: Remove jbyte use in CardTable
  • 8220345: Use appropriate type for G1RemSetScanState::IsDirtyRegionState
  • 8220352: Crash with assert(external_guard || result != __null) failed: Invalid JNI handle
  • Added tag jdk-13+12 for changeset 1d7aec80147a
  • 8220634: SymLinkArchiveTest should handle not being able to create symlinks
  • 8193277: SimpleFileObject inconsistency between getName and getShortName
  • 8220598: Malformed copyright year range in a few files in java.base
  • 8220566: AArch64: Set default vm features for Ampere eMAG CPUs
  • 8220660: [s390]: debug build broken after JDK-8220301
  • 8220374: C2: LoopStripMining doesn't strip as expected
  • 8220411: Remove ScavengeRootsInCode=0 code
  • 8220342: Remove scavenge_root_nmethods_do from VM_HeapWalkOperation::collect_simple_roots
  • 8220343: Move scavenge_root_nmethods from shared code
  • 8219585: [TESTBUG] sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java passes trivially when it shouldn't
  • 8219579: Remove redundant signature parsing from the verifier
  • 8220502: Inefficient pre-sizing of PhiResolverState arrays in c1_LIRGenerator
  • 8220252: Fix Headings in java.naming
  • 8218166: com/sun/jdi/SimulResumerTest.java failure
  • 8220628: Move the HeapMonitor library to C++
  • 8220614: (bf) Buffer absolute slice methods should use Objects.checkFromIndexSize()
  • 8220378: Unused Names constants
  • 8220281: IBM-858 alias name is missing on IBM00858 charset
  • 8220644: Align required/found pairs in diagnostics
  • 8220366: Optimize Symbol handling in ClassVerifier and SignatureStream
  • 8220676: [TESTBUG] ProblemList TestCPUSets until the test issue is resolved
  • 8220379: Fix doclint handling of headings
  • Merge
  • 8219691: method summary table head should be enclosed in <thead>
  • 8219628: [TESTBUG] javadoc/doclet/InheritDocForUserTags fails with -othervm
  • 8220249: fix headings in java.compiler
  • 8220689: problem list RandomCommandsTest in graal runs
  • 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed
  • 8219139: move hotspot tests from test/jdk/vm
  • 8220611: compiler/classUnloading/methodUnloading/TestOverloadCompileQueues.java timeout
  • 8220678: unquarantine nsk/jdi/ThreadReference/setEnabled/setenabled003
  • 8220712: [TESTBUG] gc/shenandoah/compiler/TestMaybeNullUnsafeAccess should run with Shenandoah enabled
  • 8179549: Typo in network properties documentation
  • 8213912: Semantic typo in HttpExchange.java
  • 8220093: Change to GCC 8.2 for building on Linux at Oracle
  • 8220704: ZGC: gc tests complain Java heap too small
  • 8220512: Deoptimize redefinition functions that have dirty ICs
  • 8219876: (bf) Improve IndexOutOfBoundsException messages in $Type$Buffer classes
  • 8220745: Fix problemlist entry to refer to 8220613
  • 8220555: JFR tool shows potentially misleading message when it cannot access a file
  • 8220738: (sc) Move ServerSocketChannelImpl remaining native method to Net
  • 8220493: Prepare Socket/ServerSocket for alternative platform SocketImpl
  • 6307456: UnixFileSystem_md.c use of chmod() and access() should handle EINTR signal appropriately (unix)
  • 8220684: Process.waitFor(long, TimeUnit) can return false for a process that exited within the timeout
  • 8220719: Allow other named NetPermissions to be used
  • 8220569: ZGC: Rename and rework ZUnmapBadViews to ZVerifyViews
  • 8220741: ZGC: Move CPU agnostic files from linux_x86 to linux
  • 8220586: ZGC: Move relocation logic from ZPage to ZRelocate
  • 8220587: ZGC: Break out forwarding information from ZPage
  • 8220588: ZGC: Convert ZRelocationSet to hold ZForwardings instead of ZPages
  • 8220589: ZGC: Remove superfluous ZPageTableEntry
  • 8220590: ZGC: Remove ZPages from ZPageTable when freed
  • 8220591: ZGC: Don't delay reclaimation of ZVirtualMemory
  • 8220592: ZGC: Move destruction of detached ZPages into ZPageAllocator
  • 8220593: ZGC: Remove superfluous ZPage::is_detached()
  • 8220594: ZGC: Remove superfluous ZPage::is_active()
  • 8220595: ZGC: Introduce ZAttachedArray
  • 8220596: ZGC: Convert ZNMethodData to use ZAttachedArray
  • 8220597: ZGC: Convert ZForwarding to use ZAttachedArray
  • 8220599: ZGC: Introduce ZSafeDelete
  • 8220600: ZGC: Delete ZPages using ZSafeDelete
  • 8220601: ZGC: Delete ZNMethodTableEntry arrays using ZSafeDelete
  • 8220579: [Containers] SubSystem.java out of sync with osContainer_linux.cpp
  • 8220606: Move ScavengableNMethods unlinking to unregister_nmethod
  • 8220609: Cleanups in ScavengableNMethods
  • 8220780: ShenandoahBS::AccessBarrier::oop_store_in_heap ignores AS_NO_KEEPALIVE
  • 8220737: Jib based 32 bit windows builds fail
  • 8220693: jdk/javadoc/doclet/MetaTag/MetaTag.java with unexpected date
  • 8218723: Use SunJCE Mac in SecretKeyFactory PBKDF2 implementation
  • 8220410: sun/security/tools/jarsigner/warnings/NoTimestampTest.java failed with missing expected output
  • 8220812: gc/shenandoah/options/TestLoopMiningArguments.java fails if default GC is serial/parallel/cms
  • 8170705: sun/net/www/protocol/http/StackTraceTest.java fails intermittently with Invalid Http response
  • 8220781: linux-s390 : os::get_summary_cpu_info gives bad output
  • 8220355: Improve assertion texts and exception messages in eventHandlerVMInit
  • 8220663: Incorrect handling of IPv6 addresses in Socket(Proxy.HTTP)
  • 8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build
  • 8220690: ATTRIBUTE_ALIGNED requires GNU extensions enabled
  • 8219562: Line of code in osContainer_linux.cpp L102 appears unreachable
  • 8212528: Wrong cgroup subsystem being used for some CPU Container Metrics
  • 8217766: Container Support doesn't work for some Join Controllers combinations
  • Merge
  • 8218975: Bug in macOSX kernel's pthread support
  • 8220744: Move RedefineTests to from runtime to serviceability
  • 8147502: Digest is incorrectly truncated for ECDSA signatures when the bit length of n is less than the field size
  • 8219958: Automatically load taglets from a jar file
  • 8153508: ContentHandler API contains link to private contentPathProp
  • 8211100: hotspot C1 issue with comparing long numbers on x86 32-bit
  • 8221098: Run java/net/URL/HandlerLoop.java in othervm modejdk-13+13

New in Java SE Development Kit (JDK) 12 OpenJDK (Mar 20, 2019)

  • New Features
  • Support for Unicode 11 (JDK-8209923)
  • core-libs/java.lang
  • The JDK 12 release includes support for Unicode 11.0.0. Following the release of JDK 11, which supported Unicode 10.0.0, Unicode 11.0.0 introduced the following new features that are now included in JDK 12:
  • 684 new characters
  • 11 new blocks
  • 7 new scripts.
  • 684 new characters that include important additions for the following:
  • 66 emoji characters
  • Copyleft symbol
  • Half stars for rating systems
  • Additional astrological symbols
  • Xiangqi Chinese chess symbols
  • 7 new scripts :
  • Hanifi Rohingya
  • Old Sogdian
  • Sogdian
  • Dogra
  • Gunjala Gondi
  • Makasar
  • Medefaidrin
  • 11 new blocks that include 7 blocks for the new scripts listed above and 4 blocks for the following existing scripts:
  • Georgian Extended
  • Mayan Numerals
  • Indic Siyaq Numbers
  • Chess Symbols
  • POSIX_SPAWN Option on Linux (JDK-8212828)
  • core-libs/java.lang
  • As an additional way to launch processes on Linux, the jdk.lang.Process.launchMechanism property can be set to POSIX_SPAWN. This option has been available for a long time on other *nix platforms. The default launch mechanism (VFORK) on Linux is unchanged, so this additional option does not affect existing installations.
  • POSIX_SPAWN mitigates rare pathological cases when spawning child processes, but it has not yet been excessively tested. Prudence is advised when using POSIX_SPAWN in productive installations.
  • JEP 334: JVM Constants API (JDK-8203252)
  • core-libs/java.lang.invoke
  • The new package java.lang.invoke.constant introduces an API to model nominal descriptions of class file and run-time artifacts, in particular constants that are loadable from the constant pool. It does so by defining a family of value-based symbolic reference (JVMS 5.1) types, capable of describing each kind of loadable constant. A symbolic reference describes a loadable constant in purely nominal form, separate from class loading or accessibility context. Some classes can act as their own symbolic references (e.g., String); for linkable constants a family of symbolic reference types has been added (ClassDesc, MethodTypeDesc, MethodHandleDesc, and DynamicConstantDesc) that contain the nominal information to describe these constants.
  • Support for Compact Number Formatting (JDK-8177552)
  • core-libs/java.text
  • NumberFormat adds support for formatting a number in its compact form. Compact number formatting refers to the representation of a number in a short or human readable form. For example, in the en_US locale, 1000 can be formatted as "1K" and 1000000 can be formatted as "1M", depending upon the style specified by NumberFormat.Style. The compact number formats are defined by LDML's specification for Compact Number Formats. To obtain an instance, use one of the factory methods given by NumberFormat for compact number formatting. For example:
  • NumberFormat fmt = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
  • String result = fmt.format(1000);
  • The example above results in "1K".
  • Square Character Support for Japanese New Era (JDK-8211398)
  • core-libs/java.util:i18n
  • The code point, U+32FF, is reserved by the Unicode Consortium to represent the Japanese square character for the new era that begins from May, 2019. Relevant methods in the Character class return the same properties as the existing Japanese era characters (e.g., U+337E for "Meizi"). For details about the code point, see http://blog.unicode.org/2018/09/new-japanese-era.html.
  • Allocation of Old Generation of Java Heap on Alternate Memory Devices (JDK-8202286)
  • hotspot/gc
  • This experimental feature in G1 and Parallel GC allows them to allocate the old generation of the Java heap on an alternative memory device such as NV-DIMM memory.
  • Operating systems today expose NV-DIMM memory devices through the file system. Examples are NTFS DAX mode and ext4 DAX mode. Memory-mapped files in these file systems bypass the file cache and provide a direct mapping of virtual memory to the physical memory on the device. The specification of a path to an NV-DIMM file system by using the flag -XX:AllocateOldGenAt=<path> enables this feature. There is no additional flag to enable this feature.
  • When enabled, young generation objects are placed in DRAM only while old generation objects are always allocated in NV-DIMM. At any given point, the collector guarantees that the total memory committed in DRAM and NV-DIMM memory is always less than the size of the heap as specified by -Xmx.
  • The current implementation pre-allocates the full Java heap size in the NV-DIMM file system to avoid problems with dynamic generation sizing. Users need to make sure there is enough free space on the NV-DIMM file system.
  • When enabled, the VM also limits the maximum size of the young generation based on available DRAM, although it is recommended that users set the maximum size of the young generation explicitly.
  • For example, if the VM is run with -Xmx756g on a system with 32GB DRAM and 1024GB NV-DIMM memory, the collector will limit the young generation size based on following calculation:
  • No -XX:MaxNewSize or -Xmn is specified: the maximum young generation size is set to 80% of available memory (25.6GB).
  • -XX:MaxNewSize or -Xmn is specified: the maximum young generation size is capped at 80% of available memory (25.6GB) regardless of the amount specified.
  • Users can use -XX:MaxRAM to let the VM know how much DRAM is available for use. If specified, maximum young gen size is set to 80% of the value in MaxRAM.
  • Users can specify the percentage of DRAM to use (instead of the default 80%) for young generation with -XX:MaxRAMPercentage.
  • Enabling logging with the logging option gc+ergo=info will print the maximum young generation size at startup.
  • ZGC: Concurrent Class Unloading (JDK-8214897)
  • hotspot/gc
  • The Z Garbage Collector now supports class unloading. By unloading unused classes, data structures related to these classes can be freed, lowering the overall footprint of the application. Class unloading in ZGC happens concurrently, without stopping the execution of Java application threads, and has zero impact on GC pause times. This feature is enabled by default, but can be disabled by using the command line option -XX:-ClassUnloading.
  • Command-Line Flag -XX:+ExtensiveErrorReports (JDK-8211845)
  • hotspot/runtime
  • The command-line flag -XX:+ExtensiveErrorReports has been added to allow more extensive reporting of information related to a crash as reported in the hs_err<pid>.log file. Disabled by default in product builds, the flag can be turned on in environments where maximal information is desired - even if the resulting logs may be quite large and/or contain information that might be considered sensitive.
  • disallow and allow Options for java.security.manager System Property (JDK-8191053)
  • security-libs/java.security
  • New "disallow" and "allow" token options have been added to the java.security.manager system property. In the JDK implementation, if the Java Virtual Machine starts with the system property java.security.manager set to "disallow", then the System.setSecurityManager method cannot be used to set a security manager and will throw an UnsupportedOperationException. The "disallow" option can improve run-time performance for applications that never set a security manager. For further details on the behavior of these options, see the class description of java.lang.SecurityManager.
  • -groupname Option Added to keytool Key Pair Generation (JDK-8213400)
  • security-libs/java.security
  • A new -groupname option has been added to keytool -genkeypair so that a user can specify a named group when generating a key pair. For example, keytool -genkeypair -keyalg EC -groupname secp384r1 will generate an EC key pair by using the secp384r1 curve. Because there might be multiple curves with the same size, using the -groupname option is preferred over the -keysize option.
  • Customizing PKCS12 keystore Generation (JDK-8076190)
  • security-libs/java.security
  • New system and security properties have been added to enable users to customize the generation of PKCS #12 keystores. This includes algorithms and parameters for key protection, certificate protection, and MacData. The detailed explanation and possible values for these properties can be found in the "PKCS12 KeyStore properties" section of the java.security file.
  • New Java Flight Recorder (JFR) Security Events (JDK-8148188)
  • security-libs/java.security
  • Four new JFR events have been added to the security library area. These events are disabled by default and can be enabled via the JFR configuration files or via standard JFR options.
  • jdk.SecurityPropertyModification
  • Records Security.setProperty(String key, String value) method calls
  • jdk.TLSHandshake
  • Records TLS handshake activity. The event fields include:
  • Peer hostname
  • Peer port
  • TLS protocol version negotiated
  • TLS cipher suite negotiated
  • Certificate id of peer client
  • jdk.X509Validation
  • Records details of X.509 certificates negotiated in successful X.509 validation (chain of trust)
  • jdk.X509Certificate
  • Records details of X.509 Certificates. The event fields include:
  • Certificate algorithm
  • Certificate serial number
  • Certificate subject
  • Certificate issuer
  • Key type
  • Key length
  • Certificate id
  • Validity of certificate
  • ChaCha20 and Poly1305 TLS Cipher Suites (JDK-8140466)
  • security-libs/javax.net.ssl
  • New TLS cipher suites using the ChaCha20-Poly1305 algorithm have been added to JSSE. These cipher suites are enabled by default. The TLS_CHACHA20_POLY1305_SHA256 cipher suite is available for TLS 1.3. The following cipher suites are available for TLS 1.2:
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • Refer to the "Java Secure Socket Extension (JSSE) Reference Guide" for details on these new TLS cipher suites.
  • Support for dns_canonicalize_hostname in krb5.conf (JDK-8210821)
  • security-libs/org.ietf.jgss:krb5
  • The dns_canonicalize_hostname flag in the krb5.conf configuration file is now supported by the JDK Kerberos implementation. When set to "true", a short hostname in a service principal name will be canonicalized to a fully qualified domain name if available. Otherwise, no canonicalization is performed. The default value is "true". This is also the behavior before JDK 12.
  • jdeps --print-module-deps Reports Transitive Dependences (JDK-8213909)
  • tools
  • jdeps --print-module-deps, --list-deps, and --list-reduce-deps options have been enhanced as follows.
  • By default, they perform transitive module dependence analysis on libraries on the class path and module path, both directly and indirectly, as required by the given input JAR files or classes. Previously, they only reported the modules required by the given input JAR files or classes. The --no-recursive option can be used to request non-transitive dependence analysis.
  • By default, they flag any missing dependency, i.e. not found from class path and module path, as an error. The --ignore-missing-deps option can be used to suppress missing dependence errors. Note that a custom image is created with the list of modules output by jdeps when using the --ignore-missing-deps option for a non-modular application. Such an application, running on the custom image, might fail at runtime when missing dependence errors are suppressed.
  • JEP 325: Switch Expressions (Preview) (JDK-8192963)
  • tools/javac
  • The Java language enhances the switch statement so that it can be used as either a statement or an expression. Using switch as an expression often results in code that is more concise and readable. Both the statement and expression form can use either traditional case ... : labels (with fall through) or simplified case ... -> labels (no fall through). Also, both forms can switch on multiple constants in one case. These enhancements to switch are a preview language feature.
  • Removed Features and Options
  • Removal of com.sun.awt.SecurityWarning Class (JDK-8210692)
  • client-libs/java.awt
  • The com.sun.awt.SecurityWarning class was deprecated as forRemoval=true in JDK 11 (JDK-8205588). This class was unused in the JDK and has been removed in this release.
  • Removal of finalize Methods from FileInputStream and FileOutputStream (JDK-8192939)
  • core-libs/java.io
  • The finalize methods of FileInputStream and FileOutputStream were deprecated for removal in JDK 9. They have been removed in this release. Thejava.lang.ref.Cleaner has been implemented since JDK 9 as the primary mechanism to close file descriptors that are no longer reachable from FileInputStream and FileOutputStream. The recommended approach to close files is to explicitly call close or to use try-with-resources.
  • Removal of finalize Method in java.util.ZipFile/Inflator/Deflator (JDK-8212129)
  • core-libs/java.util.jar
  • The finalize method in java.util.ZipFile, java.util.Inflator, and java.util.Deflator was deprecated for removal in JDK 9 and its implementation was updated to be a no-op. The finalize method in java.util.ZipFile, java.util.Inflator, and java.util.Deflator has been removed in this release. Subclasses that override finalize in order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overriding finalize method.
  • The removal of the finalize methods will expose Object.finalize to subclasses of ZipFile, Deflater, and Inflater. Compilation errors might occur on the override of finalize due to the change in declared exceptions. Object.finalize is now declared to throw java.lang.Throwable. Previously, only java.io.IOException was declared.
  • Removal of GTE CyberTrust Global Root (JDK-8195793)
  • security-libs/java.security
  • The GTE CyberTrust Global Root certificate is expired and has been removed from the cacerts keystore:
  • alias name "gtecybertrustglobalca [jdk]"
  • Distinguished Name: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
  • Removal of javac Support for 6/1.6 source, target, and release Values (JDK-8028563)
  • tools/javac
  • Consistent with the policy outlined in JEP 182: Policy for Retiring javac -source and -target Options, support for the 6/1.6 argument value for javac's -source, -target, and --release flags has been removed.
  • Deprecated Features and Options
  • Additional sources of information about the APIs, features, and options deprecated in Java SE 12 and JDK 12 include:
  • The deprecated API page (API specification) identifies all deprecated APIs including those deprecated in Java SE 12.
  • The Java SE 12 ( JSR 386) specification documents changes to the specification made between Java SE 11 and Java SE 12 that include the identification of deprecated APIs and features not described here.
  • JEP 277: Enhanced Deprecation provides a detailed description of the deprecation policy. You should be aware of the updated policy described in this document.
  • You should be aware of the contents in those documents as well as the items described in this release notes page.
  • The descriptions of deprecated APIs might include references to the deprecation warnings of forRemoval=true and forRemoval=false. The forRemoval=true text indicates that a deprecated API might be removed from the next major release. The forRemoval=false text indicates that a deprecated API is not expected to be removed from the next major release but might be removed in some later release.
  • The descriptions below also identify potential compatibility issues that you might encounter when migrating to JDK 12. See CSRs Approved for JDK 12 for the list of CSRs closed in JDK 12.
  • Obsoleted -XX:+/-MonitorInUseLists (JDK-8211384)
  • hotspot/runtime
  • The VM Option -XX:-MonitorInUseLists is obsolete in JDK 12 and ignored. Use of this flag will result in a warning being issued. This option may be removed completely in a future release.
  • Deprecated Default Keytool -keyalg Value (JDK-8212003)
  • security-libs/java.security
  • The default -keyalg value for the -genkeypair and -genseckey commands of keytool have been deprecated. If a user has not explicitly specified a value for the -keyalg option a warning will be shown. An additional informational text will also be printed showing the algorithm(s) used by the newly generated entry. In a subsequent JDK release, the default key algorithm values will no longer be supported and the -keyalg option will be required.
  • Known Issues
  • GTK+ 3.20 and Later Unsupported by Swing (JDK-8218469)
  • client-libs/javax.swing
  • Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property -Djdk.gtk.version=2.2 to request GTK2+ based rendering instead.
  • can_pop_frame and can_force_early_return Capabilities are Disabled if JVMCI Compiler is Used (JDK-8218025)
  • hotspot/jvmti
  • The JVMTI can_pop_frame and can_force_early_return capabilities are disabled if a JVMCI compiler (like Graal) is used. As a result the corresponding functionality (PopFrame and ForceEarlyReturnXXX functions) is not available to JVMTI agents. This issue is tracked by JDK-8218885.
  • Other Notes
  • Initial Value of user.timezone System Property Changed (JDK-8185496)
  • core-libs/java.lang
  • The initial value of the user.timezone system property is undefined unless set using a command line argument, for example, -Duser.timezone="America/New_York". The first time the default timezone is needed, if user.timezone is undefined or empty the timezone provided by the operating system is used. Previously, the initial value was the empty string. In JDK 12, System.getProperty("user.timezone") may return null.
  • Changed URLPermission Behavior with Query or Fragments in URL String (JDK-8213616)
  • core-libs/java.net
  • The behavior of java.net.URLPermission has changed slightly. It was previously specified to ignore query and fragment components in the supplied URL string. However, this behavior was not implemented and any query or fragment were included in the internal permission URL string. The change here is to implement the behavior as specified. Internal usages of URLPermission in the JDK do not include queries or fragments. So, this will not change. In the unlikely event that user code was creating URLPermission objects explicitly, then the behavior change may be seen and that permission checks which failed erroneously previously, will now pass as expected.
  • Support New Japanese Era in java.time.chrono.JapaneseEra (JDK-8212941)
  • core-libs/java.time
  • The JapaneseEra class and its of(int), valueOf(String), and values() methods are clarified to accommodate future Japanese era additions, such as how the singleton instances are defined, what the associated integer era values are, etc.
  • Changed Properties.loadFromXML to Comply with Specification (JDK-8213325)
  • core-libs/java.util
  • The implementation of the java.util.Properties loadFromXML method has been changed to comply with its specification. Specifically, the underlying XML parser implementation now rejects non-compliant XML documents by throwing an InvalidPropertiesFormatException as specified by the loadFromXML method.
  • The effect of the change is as follows:
  • Documents created by Properties.storeToXML: No change. Properties.loadFromXML will have no problem reading such files.
  • Documents not created by Properties.storeToXML: Any documents containing DTDs not in the format as specified in Properties.loadFromXML will be rejected. This means the DTD shall be exactly as follows (as generated by the Properties.storeToXML method):
  • <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
  • LDAPS Communication Failure (JDK-8211107)
  • core-libs/javax.naming
  • Application code using LDAPS with a socket connect timeout that is <= 0 ( the default value ), may encounter an exception when establishing the connection.
  • The top most frames from Exception stack traces of applications encountering such issues might resemble the following:
  • javax.naming.ServiceUnavailableException: <server:port>; socket closed
  • at com.sun.jndi.ldap.Connection.readReply(Unknown Source)
  • at com.sun.jndi.ldap.LdapClient.ldapBind(Unknown Source)
  • ...
  • G1 May Uncommit Memory During Marking Cycle (JDK-6490394)
  • hotspot/gc
  • By default, G1 may now give back Java heap memory to the operating system during any concurrent mark cycle. G1 will respect default Java heap sizing policies at that time.
  • This change improves memory usage of the Java process if the application does not need all memory.
  • This behavior may be disabled in accordance with default heap sizing policies by setting minimum Java heap size to maximum Java heap size via the -Xms option.
  • Added Additional TeliaSonera Root Certificate (JDK-8210432)
  • security-libs/java.security
  • The following root certificate have been added to the OpenJDK cacerts truststore:
  • TeliaSonera
  • teliasonerarootcav1
  • DN: CN=TeliaSonera Root CA v1, O=TeliaSonera
  • Removal of AOL and Swisscom Root Certificates (JDK-8203230)
  • security-libs/java.security
  • The following root certificates have been removed from the cacerts truststore:
  • AOL
  • aolrootca1
  • DN: CN=America Online Root Certification Authority 1, O=America Online Inc., C=US
  • aolrootca2
  • DN: CN=America Online Root Certification Authority 2, O=America Online Inc., C=US
  • Swisscom
  • swisscomrootca2
  • DN: CN=Swisscom Root CA 2, OU=Digital Certificate Services, O=Swisscom, C=ch
  • Change to X25519 and X448 Encoded Private Key Format (JDK-8213363)
  • security-libs/javax.crypto
  • The encoded format of X25519 and X448 private keys has been corrected to use the standard format described in RFC 8410. This change affects any private key produced from the "X25519", "X448", or "XDH" services in the SunEC provider. The correct format is not compatible with the format used in previous JDK versions. It is recommended that existing incompatible keys in storage be replaced with newly-generated private keys.
  • Removed TLS v1 and v1.1 from SSLContext Required Algorithms (JDK-8214140)
  • security-libs/javax.net.ssl
  • The requirement that all SE implementations must support TLSv1 and TLSv1.1 has been removed from the javax.net.ssl.SSLContext API and the Java Security Standard Algorithm Names specification.
  • Disabled All DES TLS Cipher Suites (JDK-8208350)
  • security-libs/javax.net.ssl
  • DES-based TLS cipher suites are considered obsolete and should no longer be used. DES-based cipher suites have been deactivated by default in the SunJSSE implementation by adding the "DES" identifier to the jdk.tls.disabledAlgorithms security property. These cipher suites can be reactivated by removing "DES" from the jdk.tls.disabledAlgorithms security property in the java.security file or by dynamically calling the Security.setProperty() method. In both cases re-enabling DES must be followed by adding DES-based cipher suites to the enabled cipher suite list using the SSLSocket.setEnabledCipherSuites() or SSLEngine.setEnabledCipherSuites() methods.
  • Note that prior to this change, DES40_CBC (but not all DES) suites were disabled via the jdk.tls.disabledAlgorithms security property.
  • Disabled TLS anon and NULL Cipher Suites (JDK-8211883)
  • security-libs/javax.net.ssl
  • The TLS anon (anonymous) and NULL cipher suites have been added to the jdk.tls.disabledAlgorithms security property and are now disabled by default.
  • Distrust TLS Server Certificates Anchored by Symantec Root CAs (JDK-8207258)
  • security-libs/javax.net.ssl
  • The JDK will stop trusting TLS Server certificates issued by Symantec, in line with similar plans recently announced by Google, Mozilla, Apple, and Microsoft. The list of affected certificates includes certificates branded as GeoTrust, Thawte, and VeriSign, which were managed by Symantec.
  • TLS Server certificates issued on or before April 16, 2019 will continue to be trusted until they expire. Certificates issued after that date will be rejected. See the DigiCert support page for information on how to replace your Symantec certificates with a DigiCert certificate (DigiCert took over validation and issuance for all Symantec Website Security SSL/TLS certificates on December 1, 2017).
  • An exception to this policy is that TLS Server certificates issued through two subordinate Certificate Authorities managed by Apple, and identified below, will continue to be trusted as long as they are issued on or before December 31, 2019.
  • The restrictions are enforced in the JDK implementation (the SunJSSE Provider) of the Java Secure Socket Extension (JSSE) API. A TLS session will not be negotiated if the server's certificate chain is anchored by any of the Certificate Authorities in the table below.
  • An application will receive an Exception with a message indicating the trust anchor is not trusted, ex:
  • "TLS Server certificate issued after 2019-04-16 and anchored by a distrusted legacy Symantec root CA: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US"
  • If necessary, and at your own risk, you can work around the restrictions by removing "SYMANTEC_TLS" from the jdk.security.caDistrustPolicies security property in the java.security configuration file.

New in Java SE Development Kit (JDK) 13 Build 12 OpenJDK EA (Mar 15, 2019)

  • 8218464: vmTestbase/nsk/jdi/VirtualMachine/allThreads/allthreads001/TestDescription.java failed
  • 8219713: Reduce work in DefaultMethods::generate_default_methods
  • Added tag jdk-13+11 for changeset 21ea4076a275
  • 8163511: Allocation of compile task fails with assert: "Leaking compilation tasks?"
  • 8219651: compiler/ciReplay/TestServerVM.java is failing on windows
  • 8220228: Improve Shenandoah pacing histogram message
  • 8220050: Deprecate -XX:-ThreadLocalHandshakes
  • 8215221: Serial GC misreports young GC time
  • 8201252: unquarantine nsk/jdi/ThreadReference/resume/resume001
  • 8220159: Optimize various RegMask operations by introducing watermarks
  • 8217561: X86: Add floating-point Math.min/max intrinsics
  • 8217216: Launcher does not defend itself against LD_LIBRARY_PATH_64 (Solaris)
  • 8218618: Program fails when using JDK addressed by UNC path and using Security Manager
  • 8213448: [TESTBUG] enhance jfr/jvm/TestDumpOnCrash
  • 8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time
  • 8219448: split-if update_uses accesses stale idom data
  • 8219997: [TESTBUG] Create test for JFR events in Docker container: CPU, Memory and Process Info
  • 8220165: Encryption using GCM results in RuntimeException- input length out of bound
  • 8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue
  • 8219584: Try to dump error file by thread which causes safepoint timeout
  • 8220290: gc/arguments/TestSurvivorRatioFlag.java fails after JDK-8215221 with CMS
  • 8220173: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark
  • 8220085: runtime/CompressedOops/UseCompressedOops.java times out on Windows intermittently
  • 8220353: [TESTBUG] TestRegisterRestoring uses SafepointALot without UnlockDiagnosticVMOptions
  • 8219642: ciReplay loads wrong data when MethodData size changes
  • 8220313: [TESTBUG] Update base image for Docker testing to OL 7.6
  • Merge
  • 8220377: Unused field SourceFileObject.flatname
  • 8220323: Fix copyright header text
  • 8220334: Fix copyright header text
  • 8219860: Cleanup ClassFileParser::parse_linenumber_table
  • 8220368: Update String.indexOf to test all the C2 intrinsics
  • 8219685: Startup failure: assert(!Universe::is_module_initialized()) failed: Incorrect java.lang.Module pre module system initialization
  • 8220350: Refactor ShenandoahHeap::initialize
  • 8220153: Shenandoah does not work with TransparentHugePages properly
  • 8220162: Shenandoah should not commit HugeTLBFS memory
  • 8217417: Decorator name typo: C2_TIGHLY_COUPLED_ALLOC
  • 8219632: Remove reference to com.sun.javadoc API in RemoveOldDoclet test
  • 8217254: CompactNumberFormat:: CompactNumberFormat?() constructor does not comply with spec.
  • 8220087: Remove remnants of HTML4 support
  • 8218201: Failures when vmIntrinsics::_getClass is not inlined
  • 8074817: Resolve disabled warnings for libverify
  • 8220414: Correct copyright headers in Norm2AllModes.java and Normalizer2.java
  • 8220409: jdk/modules/scenarios/overlappingpackages/OverlappingPackagesTest.java - testOverlapWithBaseModule tests the wrong thing
  • 8220420: Cleanup c1_LinearScan
  • 8220331: Remove extra spaces in copyright header
  • 8220444: Shenandoah should use parallel version of WeakProcessor in root processor for weak roots
  • 8220346: Refactor java.lang.Throwable to use Objects.requireNonNull
  • 8220202: Simplify/standardize method naming for HtmlTree
  • 8219705: Wrong media-type for a given serialization method
  • 8213008: Cipher with UNWRAP_MODE should support the generation of an AES key type
  • Merge
  • 8220407: compiler/intrinsics/math/TestFpMinMaxIntrinsics.java timedout
  • 8219721: jcmd from earlier release will hang attaching to VM with JDK-8215622 applied
  • 8214922: Add vectorization support for fmin/fmax
  • 8220341: Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack
  • 8184315: Typo in java.net.JarURLConnection.getCertificates() method documentation
  • 8220441: [PPC64] Clobber memory effect missing for memory barriers in atomics
  • 8013728: nsk/jdi/BScenarios/hotswap/tc10x001 Unrecognized Windows Sockets error: 0: recv failed
  • 8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue
  • 8220363: hotspot-ide project fails
  • 8220344: Build failures when using --with-jvm-features=-g1gc,-jfr
  • 8220501: Improve c1_ValueStack locks handling
  • 8220262: fix headings in java.logging
  • 8220383: Incremental build is broken and inefficient
  • 8220515: Revert removal of for_each_lock_value removal
  • 8217576: C1 atomic access handlers use incorrect decorators
  • 8220257: fix headings in java.instrument
  • 8220474: Incorrect GPL header in src/java.instrument/share/classes/java/lang/instrument/package-info.java
  • 8220237: ProcessBuilder API documentation typo
  • 8220005: java/util/Arrays/TimSortStackSize2.java times out
  • 8220529: JDK-8220383 broke test image build
  • 8218074: Update Graal
  • 8212206: Refactor AdaptiveSizePolicy to separate out code related to GC overhead
  • 8220083: Use InetAddress.getLoopbackAddress() in place of 127.0.0.1 for some tests
  • 8220244: vmTestbase/nsk/jvmti/scenarios/sampling/SP06/sp06t003 hasn't been un-problemlisted
  • 8220256: fix headings in java.security.sasl
  • 8220258: fix headings in java.smartcardio
  • 8170639: [Linux] jsig is limited to a maximum of 64 signals
  • 8220504: Move definition of JAVA_VERSION_INFO_RESOURCE to Launcher-java.base.gmk
  • 8219816: Add IsArray/RemoveExtent type traits utilities
  • 8219817: Remove unused CollectedHeap::block_size()
  • 8219633: ZGC: Rename ZPageSizeMin to ZGranuleSize
  • 8219634: ZGC: Rename ZAddressRangeMap to ZGranuleMap
  • 8220480: Typo in java.net.http.HttpResponse.BodySubscriber documentation
  • 8220227: Host Locale Provider getDisplayCountry returns error message under non-English Win10
  • 8220475: Malformed copyright header in LinuxSocketOptions.java, MacOSXSocketOptions.java and MacOSXSocketOptions.c
  • 8160247: Mark deprecated javax.security.cert APIs with forRemoval=true
  • 6504660: HPI panic callback is dead code
  • 8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize
  • 8220496: Race in java_lang_String::length() when deduplicating
  • 8220546: Shenandoah Reports timing details for weak root processing
  • 8220585: Incorrect code in MulticastSocket sample code
  • Merge
  • 8220253: Fix Headings in java.sql.rowset
  • 8219597: (bf) Heap buffer state changes could provoke unexpected exceptionsjdk-13+12

New in Java SE Development Kit (JDK) 13 Build 11 OpenJDK EA (Mar 8, 2019)

  • Added tag jdk-13+10 for changeset 8e069f7b4fab
  • 8219723: javax/net/ssl/compatibility/Compatibility.java failed on some SNI cases
  • 8216259: AArch64: Vectorize Adler32 intrinsics
  • 8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs
  • 8219714: [testbug] com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java must pass classpath to subprocess
  • 8219857: Shenandoah GC may initialize thread's gclab twice
  • 8219789: [TESTBUG] TestOptionsWithRanges.java produces hs_err_pidXXXXX.log file for VMThreadStackSize=9007199254740991
  • 8212932: [TESTBUG] Clean up TestVirtualSpaceNode test
  • 8219565: [deadcode] remove share/utilities/intHisto.*
  • 8219798: [deadcode] remove src/hotspot/share/prims/evmCompat.cpp
  • 8219658: Deadlock in sun.security.ssl.SSLSocketImpl
  • 5071718: (bf) Add ByteBuffer.slice(int offset, int length)
  • 8207367: 10 vmTestbase/nsk/jdi tests timed out when running with jtreg
  • 8219922: Simplify and optimize IndexSetIterator::next using count_trailing_zeros
  • 8218266: G1 crash in AccessInternal::PostRuntimeDispatch
  • 8219890: Calendar.getDisplayName() returns empty string for new Japanese Era on some locales
  • 8219492: Restore static callsite resolution for the current class
  • 8219951: Build failure on Mac and Windows after JDK-8219922
  • 8209413: AArch64: NPE in clhsdb jstack command
  • 8219746: Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le
  • 8219915: [TESTBUG] Fix test langtools/tools/javac/processing/model/completionfailure/SymbolsDontCumulate.java in Standalone mode
  • 8218988: Improve metaspace verifications
  • 8219969: Backout JDK-8219492
  • 8215430: Remove the internal package com.sun.net.ssl
  • 8219582: PPC: Crash after C1 checkcast patched and GC
  • 8219990: Backout JDK-8219658
  • 8219919: RuntimeStub name lost with PrintFrameConverterAssembly
  • 8219803: Nodeca Pako license text needs to be inserted in JSZip license text
  • 8218228: The constructor StringBuffer(CharSequence) violates spec for negatively sized argument
  • 8219994: CheckSecurityProvider.java fails with unexpected sun.security.ssl.SunJSSE
  • 8214854: JDWP: Unforseen output truncation in logging
  • 8219976: GarbageCollectionNotificationInfo always says "No GC" when running Shenandoah
  • 8219619: Remove UseFakeTimers and related code
  • 8217868: Crash for overlap between source path and patch module path
  • 8218880: G1 crashes when issuing a periodic GC while the GCLocker is held
  • 8219369: Add named constants for iterating ExtRootScan phases
  • 8219748: Add and use getter for the timing object in G1
  • 8219856: Spell out G1CollectorPolicy::is_hetero_heap
  • 4903717: nsk/jdi/ThreadReference/isSuspended/issuspended002 failing
  • 8219888: aarch64: add CPU detection code for HiSilicon TSV110
  • 8219513: compiler/codegen/aes/TestCipherBlockChainingEncrypt.java timeout on Solaris-sparc
  • 8219801: Pages do not have <h1>
  • 8219988: Change to Visual Studio 2017 15.9.6 for building on Windows at Oracle
  • 8219986: Change to Xcode 10.1 for building on Macosx at Oracle
  • 8219974: REDO JDK-8219492: Restore static callsite resolution for the current class
  • 8219971: Introduce SetupExecute in build system
  • 8219906: Update test documentation with default test jobs settings
  • 8220155: JDK-8219971 broke hotspot build
  • 8217878: ENVELOPING XML signature no longer works in JDK 11
  • 8219920: dependency help output in configure-step : support zypper tool
  • 8220161: Shenandoah does not need to initialize PLABs for safepoint workers
  • 8220164: Fix build instructions for AIX
  • 8219946: Set class on body elements
  • 8220030: JdbStopThreadidTest.java failed due to "Unexpected IO error while writing command 'quit' to jdb stdin stream"
  • 8218167: nsk/jvmti/scenarios/sampling/SP02/sp02t003 fails
  • 8216580: Fix generation of VNNI vector code by allowing adjacent LoadS nodes to be isomorphic
  • 8219613: Use NonJavaThread PtrQueues
  • 8220211: Small update to Fix generation of VNNI vector code by allowing adjacent LoadS nodes to be isomorphic (JDK-8216580)
  • 8219519: Remove linux_sparc.ad and linux_aarch64.ad
  • 8220151: SafepointTracing::end_of_last_safepoint_ms should return ms since epoch.
  • 8219214: Infinite Loop in CodeSection::dump()
  • 8219650: [Testbug] Fix potential crashes in new test hotspot gtest "test_print_hex_dump"jdk-13+11

New in Java SE Development Kit (JDK) 13 Build 10 OpenJDK EA (Mar 1, 2019)

  • Deprecate the -XX:FailOverToOldVerifier option
  • Added tag jdk-13+9 for changeset c081f3ea6b93
  • Add metadata to generated API documentation files
  • Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed
  • X509TrustManagerImpl causes ClassLoader leaks with unparseable extensions
  • Support package-specific stylesheets
  • ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler
  • Missing reg_mask_init() breaks x86_32 build
  • Misleading log message "issuspended002a debuggee launched"
  • SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore
  • Shenandoah misreports "committed" size in MemoryMXBean
  • Exceptions::_throw always logs exceptions, penalizing performance
  • "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses
  • NullPointerException in java.util.logging.Handler#isLoggable
  • CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO
  • Update explicit uses of latest source/target in langtools tests to a property
  • Pages do not have <h1>
  • Unused parameter in HtmlDocletWriter::printHtmlDocument
  • java.lang.IllegalArgumentException: directories not supported
  • Avoid some GCC 8.X strncpy() errors in HotSpot
  • jdk/javadoc tests fail with missing headings: h1
  • Do not store original classfiles inside the CDS archive
  • Remove support for the "old" doclet API in com/sun/javadoc
  • Enable inlining of newly introduced PlatformMonitor methods
  • Use wait/notify in ZNMethodTable
  • Remove redundant ZNMethodTable::_iter_lock
  • Add NMethodClosure
  • ZGC: Move nmethod oop properties from ZNMethodTableEntry to ZNMethodData
  • ZGC: Extract allocation functionality into a new ZNMethodAllocator class
  • ZGC: Move ZNMethodData to its own file
  • ZGC: Extract iteration functionality into a new ZNMethodTableIteration class
  • ZGC: Extract functions out from ZNMethodTable into new ZNMethod class
  • Safepoint logs correction and misc
  • jdk/javadoc/tool/removeOldDoclet/RemoveOldDoclet test fails in mach5
  • JFR: recordings on 32-bit systems unreadable
  • Redundant lookup_common in SymbolTable::add
  • Minimal VM build failure after JDK-8219414
  • bump jtreg requiredVersion to b14
  • (bf) CharBuffer.put(String) is slow because of String.charAt() call for each char
  • (bf) Out of direct buffer memory message should include the limits
  • use 'test.root' property instead of traversing test-src path
  • method adjustments can be done just once for all classes involved into redefinition
  • ProblemList serviceability/sa/TestJmapCoreMetaspace.java
  • improve handling exception in requires.VMProps
  • Remove superfluous sigfillset code
  • Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot)
  • j.l.c.ClassDesc::arrayType(int rank) throws IllegalArgumentException if rank = 0
  • [mlvm] [TESTBUG] vm.mlvm.mixed.stress.java.findDeadlock.INDIFY_Test Deadlocked threads are not always detected
  • replace open by os::open in hotspot coding
  • SA should ignore archived java heap objects that are not in use
  • Add @FunctionalInterface annotation to PrivilegedAction and PrivilegedExceptionAction
  • [TESTBUG] Problem list JFR TestPeriod test
  • Update jdeprscan to avoid the need for start-of-release changes
  • Finished message validation failure should be decrypt_error alert
  • Disable harfbuzz warnings with gcc 8
  • jdb should support breakpoint thread filters
  • Returning NULL in a function which returns bools
  • Handle 'B' character introduced in CLDR 33 JDK update for Burmese (my) locale
  • Free GC native structures in nmethod::flush
  • ZGC: Free ZNMethodDataOops under a lock
  • Rename --strip-debug jlink plugin
  • Deleting method for RedefineClasses breaks ResolvedMethodName
  • LogCompilation: java.lang.Error: Unexpected method mismatch during late inlining
  • Ensure ReflectionFactory.langReflectAccess is initialized correctly
  • Better Null paramenter checking in ToolProvider
  • aarch64: missing LoadStore barrier in TemplateTable::fast_storefield
  • com/sun/jdi/OptionTest.java fails intermittently with bind failed: Address already in use
  • Update MUSCLE PCSC-Lite header files
  • cleanup hotspot ostream.cpp
  • Help-info for pns(...) on Linux/mips lost
  • GCC 8 compilation error in libjli
  • Problem list java/net/MulticastSocket/SetGetNetworkInterfaceTest.java
  • aarch64: SIGILL triggered when specifying unsupported hardware features
  • Cross-link javax.lang.model.{type, element} packages to utility interfaces
  • PKCS11 regression regarding checkKeySize
  • Minor Throwable.printStackTrace() typosjdk-13+10

New in Java SE Development Kit (JDK) 13 Build 9 OpenJDK EA (Feb 22, 2019)

  • Remove method_type field associated with the appendix field of an indy or method handle call
  • Rename DirtyCardQueue et al to follow usual G1 naming conventions
  • Test fails in Internet environment
  • Added tag jdk-13+8 for changeset a535ba736cab
  • Obsolete nonproduct flag ProfilerCheckIntervals
  • Deprecate -XX:CompilationPolicyChoice
  • C2: Disallow definition split on MachCopySpill nodes
  • compiler/graalunit/HotspotTest.java failed with InvalidInstalledCodeException
  • Fix failed for JDK-8218936
  • Improve javac command line parsing and error reporting
  • Cleanup: irrelevant code in OutputPropertiesFactory
  • Remove code related to gtest death tests from assert macro
  • Remove copy constructor for MemRegion
  • Errors in alert ssl message does not reflect the actual certificate status
  • [error-prone] JdkObsolete in jdk.management.agent
  • Make mlvmJvmtiUtils strncpy uses GCC 8.x friendly
  • Make jfr strncpy uses GCC 8.x friendly
  • C2: StaticFinalFieldPrinter doesn't handle T_ARRAY values in T_OBJECT fields
  • [TESTBUG] compiler/cha/StrengthReduceInterfaceCall.java misses recompilation event
  • Keep track of memory accesses originated from Unsafe
  • C2: Unsafe to access PhaseIdealLoop outside of constructors
  • C2: Cast nodes hinder memory alias analysis
  • vm/mlvm/anonloader/stress/byteMutation crashed on windows
  • generate-unsafe-access-tests.sh does not correctly invoke build.tools.spp.Spp
  • [TESTBUG] runtime/containers/docker/TestCPUAwareness.java typo of printing parameters (period should be shares)
  • Assertion error in test: StringCompressInflateTest
  • Some comments and error messages refer to VMDisconnectException
  • Incovenient errors reported when annotation processor generates source file and errors in the same round
  • [TESTBUG] runtime/CompressedOops/UseCompressedOops.java failed on Windows when getting disjoint instead of zero based coops
  • Faster safepoints
  • JVM crash in custom classloader stress test, JDK 12 & 13
  • AArch64: Register corruption in slow subtype check
  • java/util/concurrent/CountDownLatch/Basic.java failed w/ Xcomp
  • InnocuousForkJoinWorkerThread.setContextClassLoader needlessly throws
  • needless signals in ForkJoinPool
  • Miscellaneous changes imported from jsr166 CVS 2019-02
  • jdb should support a dbgtrace command that acts the same as the dbgtrace command line option
  • Implement MacroAssembler::warn method on AArch64
  • Event descriptions are truncated in logs
  • stringTable::intern creates redundant String when looking up existing one
  • [testbug] Add @key headful to com/sun/java/swing/plaf/windows/AltFocusIssueTest.java
  • JTREG: Clean up, make sure to close resources
  • JTREG: Clean up, remove unused variable warnings
  • Add intrinsic for GHASH algorithm
  • Unit of concurrent active time logging is wrong
  • vm/mlvm/mixed/stress/java/findDeadlock should be problem-listed only on mac
  • HeapWord should not be a fake class
  • C1's CEE optimization produces safepoint poll with invalid debug information
  • name_and_sig_as_C_string usages in frame_s390 miss ResourceMark
  • Use concrete class the as return type of VMObjectFactory.newObject
  • Resolves ZPageAllocator::_physical incorrectly
  • SA: CollectedHeap provides broken implementation for used() and capacity()
  • SA: Incorrect and raw loads of OopHandles
  • SA: Add support for large bitmaps
  • SA: Implement discontiguous bitmap for ZGC
  • SA: Refactor live regions iteration in preparation for JDK-8218922
  • SA: Enable best-effort implementation of live regions iteration for ZGC
  • SA: Enable HeapHprofBinWriter for ZGC
  • SA: Enable more ZGC testing
  • AOT code root scanning shows in the wrong position in the logs
  • Scan HCC should be on the same level as Update RS etc. in the log
  • Move comment about using weak code blobs closure for code root scanning to correct place
  • java/util/Base64/TestEncodingDecodingLength.java failing on 8GB test machine
  • Typo in RMIFailureHandler interface doc page
  • Quarantine runtime/NMT/CheckForProperDetailStackTrace.java test
  • jdb threads command should print threadID in decimal, not hex
  • Allow overriding of license files in legal dir
  • make images does not update jdk/lib/src.zip with latest changes
  • Check pandoc capabilities in configure
  • Redo: Add ppc64le and s390x profiles to jib-profiles.js
  • (bf spec) CharBuffer.chars() should make it clearer that the sequence starts from the buffer position
  • extend gcov support to llvm/clang
  • Add native library support for microbenchmarks
  • Missing FIXPATH in microbenchmark test runner
  • aix: support xlclang++ in the compiler detection
  • Make ConstantPool::tag_at and release_tag_at_put inlineable
  • Make output of region strings more regular in error messages
  • jshell tool: input behavior unstable after 12-ea+24 on Windows
  • Make unused r12 register (without compressed oops) available to regalloc in C2
  • ZGC: Unify TLAB retire/remap handling
  • ZGC: Improve ZRootsIteratorClosure abstraction
  • ZGC: Do not assume that r12 is a special register in C2
  • [TESTBUG] Logging tests put log files in source tree
  • Merge print_termination_stats code with current logging
  • Change ThreadSafepointState's allocation type from mtInternal to mtThread
  • test_logMessageTest missing static storage
  • Move synchronization primitives from mtInternal to mtSynchronizer
  • Shenandoah: Resolve oops in SATB filter
  • Remove unused JIMAGE_ResourcePath
  • Delegated task created by SSLEngine throws BufferUnderflowException
  • Deprecate -Xverify:none option
  • (bf) Add absolute bulk put and get methods
  • SIGBUS in Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo after JDK-6913047
  • integrate gcov w/ run-test
  • Add dump to file support for jmap ?histo
  • cleanup hotspot ProblemListjdk-13+9

New in Java SE Development Kit (JDK) 12 Build 33 OpenJDK RC (Feb 22, 2019)

  • Added tag jdk-12+32 for changeset 4ce47bc1fb92
  • Illegal instruction exception on JDK 12 due to incorrect CPU feature bitsjdk-12+33

New in Java SE Development Kit (JDK) 13 Build 8 OpenJDK EA (Feb 15, 2019)

  • test/jdk/java/lang/invoke/VarHandles should be generated rather than manually edited
  • Added tag jdk-13+7 for changeset 021917019cda
  • Incorrect exception message generation
  • HandleMark cleanup
  • Improved platform checking in makefiles
  • Enhance keystore load debug output
  • NMT stack traces in output should show mt component for virtual memory allocations
  • Remove dead code in relocInfo
  • [AOT] Segmentation fault when running java with AOTed Graal in -Xcomp mode on windows

New in Java SE Development Kit (JDK) 12 Build 32 OpenJDK RC (Feb 15, 2019)

  • Added tag jdk-12+31 for changeset b5f7bb57de2f
  • JDK 12 L10n resource file update msg drop 20
  • Unable to connect to https://google.com using java.net.HttpClient
  • Allow 204 responses with Content-Length:0jdk-12+32

New in Java SE Development Kit (JDK) 11.0.2 (Jan 20, 2019)

  • Issues Fixed:
  • TLS anon and NULL Cipher Suites are Disabled (JDK-8211883)
  • security-libs/javax.net.ssl
  • The TLS anon (anonymous) and NULL cipher suites have been added to the jdk.tls.disabledAlgorithms security property and are now disabled by default.

New in Java SE Development Kit (JDK) 13 Build 4 OpenJDK EA (Jan 20, 2019)

  • Added tag jdk-13+3 for changeset 642346a11059
  • 216482: Shenandoah: typo in ShenandoahBarrierSetC2::clone_barrier_at_expansion() causes failed compilations
  • 207964: [TESTBUG] Change stressTime to default to 30 for nsk tests
  • 214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server '' does not match the hostname in the server's certificate"
  • 8216428: Remove IgnoreLibthreadGPFault
  • 8215155: Remove get_insert() from concurrent hashtable and gtests
  • 8216278: Fix devkit and basic Jib support on WSL
  • 8216489: Issues with ModulePackages attribute generation on incremental build
  • 8216404: Elements.getPackageOf should handle modules
  • 8216362: Better error message handling when there is an invalid Manifest

New in Java SE Development Kit (JDK) 12 Build 25 OpenJDK EA (Dec 27, 2018)

  • Added tag jdk-12+24 for changeset 7d4397b43fa3
  • Backout accidental change to String::length
  • x86_32 build failures after JDK-8214751 (X86: Support for VNNI Instructions)
  • 32-bit build failures after JDK-8181143 (Introduce diagnostic flag to abort VM on too long VM operations)
  • AArch64: vector shift failed with MaxVectorSize=8
  • Back out changes for node- and link- local ipv6 multicast address
  • jck lang/INTF/intf049/intf04901 fails in Graal as JIT mode with -Xcomp and AOTed Graal
  • NullPointerException in sun.security.ssl.OutputRecord.changeWriteCiphers
  • SSLSocketImpl erroneously wraps SocketException
  • Allow null oops in Dictionary and JNIHandle verification

New in Java SE Development Kit (JDK) 12 Build 23 OpenJDK EA (Dec 7, 2018)

  • Migrate EventsOnOff to using the same allocateAndCheck method
  • jar tool does not allow setting the module version without also setting the main class
  • Minimize JNI upcalls in system-properties initialization
  • Remove vestiges of gopher: protocol proxy support
  • Cleanup process_completed_threshold and related state
  • (fs) More than one instance of built-in FileSystem observed in heap
  • java/util/concurrent/tck/JSR166TestCase.java - testMissedSignal_8187947(SubmissionPublisherTest): timed out waiting for CountDownLatch for 40 sec
  • Broken links in java.util.concurrent.atomic
  • Miscellaneous changes imported from jsr166 CVS 2018-11
  • tests failed because can't find jdk.testlibrary.* in test directory or libraries

New in Java SE Development Kit (JDK) 12 Build 22 OpenJDK EA (Dec 3, 2018)

  • Remove wrapper methods from {Base,Html}Configuration
  • [JVMCI] avoid Class.getDeclared* methods when converting JVMCI objects to reflection objects
  • Added tag jdk-12+21 for changeset f8fb0c86f2b3
  • [TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive
  • doclint should warn against {@index} inside <a> tag
  • jdeps usage of --dot-output doesn't provide valid output for modular jar
  • jdeps --print-module-deps should report missing dependences
  • GetIpAddrTable function failed on Pure Ipv6 environment
  • ZGC crashes with vmTestbase/nsk/jdi/ReferenceType/instances/instances004/TestDescription.java
  • pliden 8212748: ZGC: Add reentrant locking functionality

New in Java SE Development Kit (JDK) 12 Build 21 OpenJDK EA (Nov 28, 2018)

  • Changes:
  • Minor issues during MetaspaceShared::initialize_runtime_shared_and_meta_spaces
  • Invalid HTML in java.net.http.HttpClient
  • Redundant HTML in java.se/module-info.java
  • Added tag jdk-12+20 for changeset 40098289d580
  • Repeated word in error message
  • javax/net/ssl/TLSCommon/TLSTest.java throws java.net.SocketTimeoutException: Read timed out
  • GC/C2 abstraction for escape analysis
  • JFR calls virtual is_Java_thread from ~Thread()
  • URLPermission with query or fragment behaves incorrectly
  • [windows] Update OS detection code to recognize Windows Server 2019

New in Java SE Development Kit (JDK) 12 Build 20 OpenJDK EA (Nov 16, 2018)

  • Add a no precompiled header Linux build to builds-tier1 and jdk-submit
  • Added tag jdk-12+19 for changeset dc1f9dec2018
  • VM_GetOrSetLocal doesn't check local slot type against requested type
  • Reduce the number of generated make targets
  • Improve freetype detection on linux/ppc64/ppc64le/s390x
  • Remove static initialization of monitor/mutex instances
  • jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance"
  • Rename SafepointMechanism::poll(...)
  • Missing x86_64.ad patterns for 8-bit logical operators with destination in memory
  • globalCounter bootstrap issue

New in Java SE Development Kit (JDK) 12 Build 19 OpenJDK EA (Nov 16, 2018)

  • Update test certificates in QuoVadisCA.java test
  • Obsolete the IgnoreUnverifiableClassesDuringDump vm option
  • Added tag jdk-12+18 for changeset e38473506688
  • Convert TestVirtualSpaceNode_test to GTest
  • (process) Provide a way for Runtime.exec to use posix_spawn on linux
  • Revisit com/sun/jdi/RedefineCrossEvent.java
  • [TESTBUG] nsk/jdb/kill/kill002 wait for message and prompt
  • [JVMCI] do not propagate resolution error in HotSpotResolvedJavaFieldImpl.getType
  • Remove test-compile-commands from jib-profiles.js
  • Crash in CompileBroker::make_thread due to OOM

New in Java SE Development Kit (JDK) 12 Build 18 OpenJDK EA (Nov 2, 2018)

  • Restore JTREG_VERBOSE value for mach5 testing
  • private methods are allocated vtable slots
  • Cannot access ftp: site for fdlibm.tar
  • Invalid RuntimeVisibleTypeAnnotations for annotation on anonymous class type parameter
  • Added tag jdk-12+17 for changeset eefa65e142af
  • Refactor java/util/prefs/PrefsSpi.sh to plain java test
  • Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test
  • JShell: Redeclared variable should be reset
  • HttpClient does not retrieve files with large sizes over HTTP/1.1
  • Remove spaces before/after () for vmTestbase/jvmti/[s-u]

New in Java SE Development Kit (JDK) 12 Build 16 OpenJDK EA (Oct 19, 2018)

  • Changes:
  • Deprecate the check if a JVMTI collector is present assertion
  • Broken links in java.time API
  • AnnotatedType implementations don't override toString(), equals(), hashCode()
  • Broken link in javadoc for private java.util.regex.Pattern#normalize()
  • Remove the NSK_CPP_STUB macros from vmTestbase for jvmti/scenarios/[A-E]
  • Use of TREAT_EXIT_CODE_1_AS_0 hide problems with jtreg Java
  • Bad/broken links in docs/api/java.xml.crypto/javax/xml/crypto/dsig/Reference.html
  • Provide a mechanism to make system's security manager immutable
  • Enable different look and feel tests in SwingSet3 demo tests
  • AssertionError in MethodHandles$Lookup.defineClass

New in Java SE Development Kit (JDK) 12 Build 13 OpenJDK EA (Sep 28, 2018)

  • Build error in src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c after JDK-8029661jdk-12+12
  • ZGC: Introduce ZRootsIteratorClosure
  • ZGC: Remove insertion of filler objects
  • Stack is executable when building with Clang on Linux
  • Modularize allocations in C2
  • Remove compute_optional_offset
  • Remove statically linked libjli on Windows
  • ClassLoaderStatsClosure does raw oop comparison
  • Added tag jdk-12+12 for changeset 15094d12a632
  • Remove PACKAGE_PATH
  • TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth
  • Some service thread cleanups can be starved
  • Native C++ tests are not using CXXFLAGS
  • "assert((av & 0x00000001) == 0) failed: unsupported V8" on Solaris 11.4
  • All oop stores in the x64 interpreter are treated as volatile when using G1
  • Allow retiring TLABs and collecting statistics in parallel
  • ZGC: Parallel retire/resize/remap of TLABs
  • Stop filtering out -xc99=%none for liblcms
  • Stop replacing -MD with -MT in libwindowsaccessbridge
  • Stop filtering out -xregs=no%appl for libsunec
  • Allow --with-boot-jdk-jvmargs to work during configure
  • Refactor CompactHashtable
  • Deprecate jdk-variant
  • JLI and launchers normalization and cleanup
  • Build failures after "8210829: Modularize allocations in C2"
  • Missing checkcast when casting to type parameter bounded by intersection type
  • C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node"
  • No extensions debug log for ClientHello
  • Java/net/MulticastSocket/UnreferencedMulticastSockets.java fails with "incorrect data received"
  • Java/net/DatagramSocket/ReportSocketClosed.java fails intermittently with BindException
  • Incorrect 'multiple elements' notes with Elements#getTypeElement and --release
  • Cannot find annotation method 'value()' in type 'Profile+Annotation'
  • [aix] enhance list of environment variables reported in error log file on AIX
  • G1 next bitmap verification at the end of concurrent mark sometimes fails
  • Com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds
  • [TEST] rewrite com/sun/jdi shell tests to java version - step4
  • .jcheck/conf files contain 'project=jdk10'
  • Improved handling of compiler warnings in the build
  • Remove jdk/testlibrary/Asserts
  • Source Launcher should fail if --source is used without a source file
  • Extra newlines on Windows when running nsk jdb tests
  • Nsk/jdb/unwatch/unwatch002/unwatch002.java fails with "Prompt is not received during 300200 milliseconds"
  • Add test to exercise server-side client hello processing
  • ARM: Object equals abstraction for BarrierSetAssembler
  • Modularize allocations in assembler
  • ARM: Explicit barriers for interpreter
  • ARM: Explicit barriers for C1/assembler
  • Libjsig is being compiled without optimization
  • Remaining explicit barriers for C2
  • [Testbug] Fix for 8144279 didn't define a test case!
  • Remove tests affected by JDK-8208690 from the ProblemList
  • Have a common set of enabled warnings for all native libraries
  • java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Mac OSX
  • Stop exporting all symbols on macosx
  • Load jib jars dynamically from JibArtifactManager
  • Update avx512 implementation
  • Migrate Locale matching tests to JDK Repo.
  • Move sun/net/www/protocol/http/GetErrorStream.java to OpenJDK
  • Obsolete SyncKnobs
  • Javadoc -link makes broken links if module name matches package name
  • {@index} may cause duplicate labels
  • Optimize integer divisible by power-of-2 check
  • Create Collector which merges results of two other collectors
  • Increased stop time in cleanup phase because of single-threaded walk of thread stacks in NMethodSweeper::mark_active_nmethods()
  • [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls
  • ProblemList two networking tests until jtreg b14 is promoted
  • Tests fail with assert(VM_Version::supports_sse4_1()) on ThreadRipper CPU
  • ProblemList runtime/XCheckJniJsig/XCheckJSig.java on MacOS X
  • Remove the multi-line old C style for string literals
  • Improve interaction between source launcher and classpath
  • Stop including enhanced for-loop tip for enum values() method
  • TestNewLanguageFeatures.java fails after JDK-8173730
  • Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values
  • AArch64: Optimize div/rem by constant in C1
  • Problem list compiler/whitebox/ForceNMethodSweepTest.java
  • Add JFR events for parallel phases of G1
  • Fix problematic elif-tests after recent gcc warning changes Werror=undefjdk-12+13

New in Java SE Development Kit (JDK) 11 (Sep 28, 2018)

  • Oracle JDK Migration Guide has been updated for JDK 11 with a description of the major differences between the JDK 10 and JDK 11 releases as well as guidance on how you can migrate from JDK 8 to later JDK releases.
  • JDK HTTP Client can be used to request HTTP resources over the network. It supports HTTP/1.1 and HTTP/2, both synchronous and asynchronous programming models, handles request and response bodies as reactive-streams, and follows the familiar builder pattern.
  • An implementation of Transport Layer Security (TLS) 1.3 has been included in this release. See Java Secure Socket Extension (JSSE) Reference Guide.
  • Local-variable syntax for lambda parameters enables you to declare formal parameters of implicitly typed lambda expressions with the var identifier. See Local-Variable Type Inference.
  • You can run a program supplied as a single file of Java source code, including usage from within a script by means of "shebang" files and related techniques. See the java command.
  • The Unicode 10.0.0 standard is supported, which includes 16,018 characters and 10 scripts that were introduced since Unicode 8.0.
  • The deployment stack, required for Applets and Web Start Applications has been removed. This includes the Java Control Panel used for configuring the deployment technologies, the shared system JRE (but not the server JRE), and the JRE Auto Update mechanism.
  • The complete release notes are available here:
  • https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html

New in Java SE Development Kit (JDK) 12 Build 11 OpenJDK EA (Sep 14, 2018)

  • Added Additional TeliaSonera Root Certificate (JDK-8210432) security-libs/java.security
  • The following root certificate have been added to the OpenJDK cacerts truststore:
  • TeliaSonera
  • teliasonerarootcav1
  • DN: CN=TeliaSonera Root CA v1, O=TeliaSonera

New in Java SE Development Kit (JDK) 12 Build 10 OpenJDK EA (Sep 7, 2018)

  • Make marking bitmap code available to other GCsjdk-12+9
  • Obsolete error reporter
  • ProblemList vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/TestDescription.java
  • Added tag jdk-12+9 for changeset 31b159f30fb2
  • localized currency symbol of VES
  • nsk/jdi/EventSet/resume/resume008: ERROR: suspendCounts don't match for : Common-Cleaner com/sun/jdi/ProcessAttachTest.java fails intermittently: Remote thread failed for unknown reason
  • Allow custom-hook.m4 to include files from CUSTOM_CONFIG_DIR
  • Remove deprecated configure arguments
  • ZGC: Remove STW weak processor mode
  • ZGC: Enable load barriers for IN_NATIVE runtime barriers
  • adjust some WSAGetLastError usages in windows network coding
  • ZGC: Remove mode for treating weaks as strong
  • SIGBUS in CodeHeapState::print_names()
  • JCK test .vm.classfmt.ins.code__002.code__00201m1.code__00201m1 hangs with -noverify
  • [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback
  • VM Object Allocation Collector can infinite recurse
  • Create a test for SwingSet3 ToolTipDemo
  • [TEST] rewrite com/sun/jdi shell tests to java version - step2
  • Clean up inconsistent use of opendir/closedir versus opendir64/closedir64
  • Rename SubTasksDone::is_task_claimed
  • building Minimal VM fails with error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
  • Some GCThreadLocalData not initialized
  • better jdb test diagnostics when getting "Prompt is not received during ... milliseconds" failures
  • java/nio/channels/Selector/RegisterDuringSelect.java fails with "key not removed from key set"
  • sun/security/ssl/SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use (Bind failed)"
  • build fails on AIX in hotspot cpp tests (for example getstacktr001.cpp)
  • Rename sparcWorks to solstudio in HotSpot
  • [JVMCI] iterateFrames uses wrong GrowableArray API for appending
  • Javadoc search: there are issues with generics in parameters
  • Lock ClassLoaderDataGraph
  • [TESTBUG] runtime/Metaspace/FragmentMetaspace.java fails: heap needs to be increased
  • Use locking for cleaning ProtectionDomainTable
  • com/sun/jdi/GetLocalVariables4Test.sh failed
  • Add support for multiple project folders to idea.sh
  • [Graal] vmTestbase/nsk/jvmti/scenarios/sampling tests fail with "Too small stack of resumed thread"
  • JvmtiTrace::safe_get_current_thread_name is unsafe in debug builds
  • Update --module-source-path to allow explicit source paths for specific modules
  • [testbug] IncompatibleOptions.java fails if VM configured without ZGC
  • NMTUtil::_memory_type_names should be in sync with MemoryType
  • Automate vtable/itable stub size calculation
  • AARCH64: Enable Minimal and Client VM builds
  • Primitive heap access for interpreter BarrierSetAssembler/arm32
  • [aix] NMT does not show "Safepoint" memory type
  • 8210246 broke NMT jtreg tests
  • Better output for GenerationTests.java
  • Crash in HSpaceCounters::update_used()
  • Committed > max memory usage when getting MemoryUsage
  • (fs) Typos in PosixFileAttributeView javadoc
  • Minimal and Zero non-PCH builds fail after JDK-8207343 (Automate vtable/itable stub size calculation)
  • Zero builds fail after JDK-8207343 (Automate vtable/itable stub size calculation)
  • PPC64: Fix uninitialized variable in C1 LIR assembler code
  • (bf) Remove unused package private method java.nio.Buffer.truncate()
  • Classes in jdk.unsupported not accessible from jconsole plugin
  • Typo in MethodHandles.Lookup: must be either be
  • guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
  • Remove macros for C compilation from vmTestBase but non jvmti
  • Hsperf counter ParNew::CMS should be ParNew:CMS
  • runtime/RedefineTests/ModifyAnonymous.java fails with NullPointerException when running in CDS mode
  • move OSInfo to top level testlibrary
  • (zipfs) Files.walkFileTree walk indefinitelly while processing JAR file with "/" as a directory inside.
  • Refactor jdk/internal/reflect/Reflection/GetCallerClassTest.sh to plain java test
  • Low contrast in docs/api/constant-values.html
  • Add Zero support for x86_64-linux-gnux32 target
  • (so) ServerSocketChannel::supportedOptions includes IP_TOS
  • Accessorize JFR getEventWriter() intrinsics
  • aarch64 build documentation misleading
  • [epsilon] range function for EpsilonTLABElasticity causes compiler warning
  • (zipfs) jdk/nio/zipfs/ZFSTests.java rootdir.zip: The process cannot access the file because it is being used by another process
  • SetHeapSamplingInterval handles 1 explicitly
  • [TEST] rewrite com/sun/jdi shell tests to java version - step3
  • -XX:+VerifyOops finds numerous problems when running JPRTjdk-12+10

New in Java SE Development Kit (JDK) 12 Build 9 OpenJDK EA (Aug 31, 2018)

  • Fixed issues:
  • 8209758: 2 classes with same name G1PrintCollectionSetClosure cause crash when logging is enabledjdk-12+8
  • 8206467: Refactor G1ParallelCleaningTask into shared
  • 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
  • 8209771: jdk.test.lib.Utils::runAndCheckException error
  • 8186186: GSSContext.isEstablished() can return true on error state
  • 8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup)
  • 8209829: SpnegoUnknownMech.java does not contain the SpnegoUnknownMech class
  • 8209420: Track membars for volatile accesses so they can be properly optimized
  • 8209684: Intrinsics that assume some input non null should use GraphKit::must_be_not_null()
  • 8209801: Rename C1_WRITE_ACCESS and C1_READ_ACCESS decorators to ACCESS_READ and ACCESS_WRITE
  • 8208601: Introduce native oop barriers in C2 for OopHandle
  • 8208172: SIGSEGV when owner of invokedynamic bootstrap method throws an exception - Symbol::increment_refcount()+0x0
  • 8209667: Explicit barriers for C1/LIR
  • 8209839: [Backout] Backout JDK-8206467 Refactor G1ParallelCleaningTask into shared
  • 8209686: cleanup arguments to PhaseIdealLoop() constructor
  • 8209783: AArch64: Combine Multiply and Neg operations in C2
  • 8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed
  • 8202342: [Graal] fromTonga/nsk/jvmti/unit/FollowReferences/followref003/TestDescription.java fails with "Location mismatch" errors
  • 8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC
  • 8208498: Put archive regions into a first-class HeapRegionSet
  • 8209698: Remove "Pinned" from HeapRegionTraceType
  • 8209700: Remove HeapRegionSetBase::RegionSetKind for a more flexible approach
  • 8209061: Move G1 serviceability functionality to G1MonitoringSupport
  • 8209062: Clean up G1MonitoringSupport
  • 8167314: Enable the check to detect duplicate provides in in GenModuleInfoSource
  • Added tag jdk-12+8 for changeset 492b366f8e57
  • 8209651: better TLS poll for x64 C2
  • 8209615: ParseError in XMLEventReader on a valid input
  • 8209831: ZGC: Clean up ZRelocationSetSelectorGroup::semi_sort()
  • 8209129: Further improvements to cipher buffer management
  • 8209883: ZGC: Compile without C1 broken
  • 8209854: ProblemList MemberNameLeak
  • 8207211: [TESTBUG] Remove excessive output from CDS/AppCDS tests
  • 8209851: Algorithm name is compared via reference identity
  • 8209171: Simplify Java implementation of Integer/Long.numberOfTrailingZeros()
  • 8209873: Typo in javax.xml.validation.Validator.validate documentation
  • 8209850: Allow NamedThreads to use GlobalCounter critical sections
  • 8034084: nsk.nsk/jvmti/ThreadStart/threadstart003 Wrong number of thread end events
  • 8209150: [TESTBUG] Add logging to verify JDK-8197901 to a different test
  • 8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place"
  • 8208665: Amend cross-compilation docs with qemu-debootstrap recipe
  • 8206457: Code paths from oop_iterate() must use barrier-free access
  • 8209837: Avoid initializing ExpiringCache during bootstrap
  • 8208091: SA: jhsdb jstack --mixed throws UnmappedAddressException on i686
  • 8208480: Test failure: assert(is_bound() || is_unused()) after JDK-8206075 in C1
  • 8209622: applications/kitchensink/Kitchensink.java failed with Kitchensink failed with exit code = 138
  • 8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item
  • 8209825: guarantee(false) failed: wrong number of expression stack elements during deopt
  • 8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode.
  • 8209841: [REDO] Refactor G1ParallelCleaningTask into shared
  • 8209915: Fix license headers
  • 8209173: javac fails with completion exception while reporting an error
  • 8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed
  • 6474858: CardChannel.transmit(CommandAPDU) throws unexpected ArrayIndexOutOfBoundsException
  • 8209911: More blob types in hs_err printout
  • 8209821: Make JVMTI GetClassLoaderClasses not walk CLDG
  • 8204308: SA: serviceability/sa/TestInstanceKlassSize*.java fails when running in CDS mode
  • 8209987: Minor cleanup in Level.java
  • 8209995: java.base does not need to export sun.security.ssl to java.security.jgss
  • 8209965: The "supported_groups" extension in ServerHellos
  • 8209789: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2
  • 8209920: runtime/logging/RedefineClasses.java fail with OOME with ZGC
  • 8209852: Counters in StringCleaningTask should be type of size_t
  • 8209494: Create a test for SwingSet InternalFrameDemo
  • 8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout
  • 8186548: move jdk.testlibrary.JcmdBase closer to tests
  • 8210022: remove jdk.testlibrary.ProcessThread
  • 8209894: ZGC: Cap number of GC workers based on heap size
  • 8202578: Revisit location for class unload events
  • 8209939: [testbug][ppc] Test SafepointPollingPages fails after 8208499 with UseSIGTRAP on.
  • 8201224: Make string buffer size dynamic in mlvmJvmtiUtils.c
  • 8072498: Multi-thread JNI weak reference processing
  • 8209534: [TESTBUG]runtime/appcds/cacheObject/ArchivedModuleCompareTest.java fails with EnableJVMCI.
  • 8209976: Improve iteration over non-JavaThreads
  • 8019927: [TESTBUG] nsk/jvmti/GetThreadInfo/thrinfo001 intermittently fails with 'invalid thread group' when running with JFR
  • 8210108: sun/tools/jstatd test build failures after JDK-8210022
  • 8209611: use C++ compiler for hotspot tests
  • 8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java
  • 8210008: custom extension for make/SourceRevision.gmk
  • 8209958: Clean up duplicate basic array type statics in Universe
  • 8209743: [TESTBUG] java/lang/management/MemoryMXBean/LowMemoryTest2.sh fails with OutOfMemoryError running in CDS mode
  • 8210043: Invalid assert(HeapBaseMinAddress > 0) in ReservedHeapSpace::initialize_compressed_heap
  • 8210040: TestOptionsWithRanges.java is very slow
  • 8210035: Fix copyrights for files created for the HeapMonitor work
  • 8210045: Allow using a subset of worker threads even when UseDynamicNumberOfGCThreads is not set
  • 8208746: ISO 4217 Amendment #168 update
  • 8209994: windows: Java_java_net_NetworkInterface_getAll misses releasing interface-list
  • 8206986: Compiler support for Switch Expressions (Preview)
  • 8176553: LdapContext follows referrals infinitely ignoring set limit
  • 8209064: Make intellij support more robust after changes for 2018.2
  • 8209691: Allow MemBar on single memory slice
  • 8209844: MemberNameLeak.java fails when ResolvedMethod entry is not removed
  • 8209996: [PPC64] Fix JFR profiling
  • 8201317: X25519/X448 code improvements
  • 8180193: Make marking bitmap code available to other GCsjdk-12+9

New in Java SE Development Kit (JDK) 12 Build 8 OpenJDK EA (Aug 24, 2018)

  • Fixed issues:
  • 8209047: "Illegal pattern character 'B'" IllegalArgumentException with Burmese localesjdk-12+7
  • 8208715: Conversion of milliseconds to nanoseconds in UNIXProcess contains bug
  • 8208269: Javadoc does not support module-info in a multi-release jar
  • 8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout
  • 8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work.
  • 8209549: remove VMPropsExt from TEST.ROOT
  • 8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java
  • 8209607: Remove stale comment for JNI mutexes
  • 8209545: Simplify HeapShared::archive_module_graph_objects
  • 8208275: C2 crash in Node::add_req(Node*)
  • 8209587: Update test/hotspot/jtreg/ProblemList-graal.txt
  • 8207334: VM times out in VM_HandshakeAllThreads::doit() with RunThese30M
  • 8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent!
  • Added tag jdk-12+7 for changeset ef57958c7c51
  • 8209586: AARCH64: SymbolTable changes throw assert on aarch64
  • 8206992: Update Graal
  • 8209304: Deprecate serialVersionUID fields in interfaces
  • 8208675: Remove legacy sun.security.key.serial.interop property
  • 8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived
  • 8203614: Java API SSLEngine example code needs correction
  • 8154343: Make SATB related code available to other GCs
  • 8209456: [error-prone] ShortCircuitBoolean in java.logging
  • 8209573: [TESTBUG] gc/epsilon/TestMemoryMXBeans should retry on failure
  • 8209301: JVM rename is_anonymous
  • 8209633: Avoid creating WeakEntry wrappers when looking up cached MethodType
  • 8209588: SIGSEGV in MethodArityHistogram() with -XX:+CountCompiledCalls
  • 8209576: java.nio.file.Files.writeString writes garbled UTF-16 instead of UTF-8
  • 8209740: typo in test/lib/jtreg/SkippedException.java
  • 8208350: Disable all DES cipher suites
  • 8209760: merge error: restore ea in make/conf/jib-profiles.js
  • 8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled
  • 8203792: Remove "compatibility" features from Head.java
  • 8209668: Explicit barriers for C1/assembler
  • 8209738: Remove ClassLoaderDataGraph::*oops_do functions
  • 8209792: Remove ClassLoaderDataGraph::keep_alive_cld_do
  • 8206423: Use locking for cleaning ResolvedMethodTable
  • 8209624: [JVMCI] Invalidate nmethods instead of directly unloading them when the InstalledCode is dropped
  • 8209689: Compiler.isGraalEnabled should not check jvmci.Compiler property
  • 8209758: 2 classes with same name G1PrintCollectionSetClosure cause crash when logging is enabledjdk-12+8

New in Java SE Development Kit (JDK) 11 Build 28 Early Access (Aug 24, 2018)

  • HttpClient response without content-length does not return bodyjdk-11+27
  • Added tag jdk-11+27 for changeset 9d7d74c6f2cb
  • Disable avx512 by default
  • [s390x] Interpreter doesn't call result handler after native calls
  • CompilerThread releasing code buffer in destructor is unsafe
  • AArch64: Float registers incorrectly restored in JNI call
  • SSLEngine negotiation fail exception behavior changed from fail-fast to fail-lazy
  • API docs should be updated to refer to javase11jdk-11+28

New in Java SE Development Kit (JDK) 11 Build 27 Early Access (Aug 23, 2018)

  • Fixed issues:
  • 8208663: JDK 11 L10n resource file update msg drop 20jdk-11+26
  • 8208676: Missing NULL check and resource leak in NetworkPerformanceInterface::NetworkPerformance::network_utilization
  • 8209011: [TESTBUG] AArch64: sun/security/pkcs11/Secmod/TestNssDbSqlite.java fails in aarch64 platforms
  • 8209149: [TESTBUG] runtime/RedefineTests/RedefineRunningMethods.java needs a longer timeout
  • 8189667: Desktop#moveToTrash expects incorrect "" FilePermission
  • 8208391: Differentiate response and connect timeouts in HTTP Client API
  • Added tag jdk-11+26 for changeset 945ba9278a27
  • 8208125: Cannot input text into JOptionPane Text Input Dialog
  • 8194949: [Graal] gc/TestNUMAPageSize.java fail with OOM in -Xcomp
  • 8205687: TimeoutHandler generates huge core files
  • 8206965: java/util/TimeZone/Bug8149452.java failed on de_DE and ja_JP locale.
  • 8209452: VerifyCACerts.java failed with "At least one cacert test failed"
  • 8208640: [a11y] [macos] Unable to navigate between Radiobuttons in Radio group using keyboard.
  • 8209506: Add Google Trust Services GlobalSign root certificates
  • 8207009: TLS 1.3 half-close and synchronization issues
  • 8209451: Please change jdk 11 milestone to FCS
  • 8206176: Remove the temporary tls13VN field
  • 8207746: C2: Lucene crashes on AVX512 instruction
  • 8164639: Configure PKCS11 tests to use user-supplied NSS libraries
  • 8209537: Two security tests failed after JDK-8164639 due to dependency was missed
  • 8207966: HttpClient response without content-length does not return bodyjdk-11+27

New in Java SE Development Kit (JDK) 11 Build 26 Early Access (Aug 17, 2018)

  • Fixed issues
  • Colors with alpha are painted incorrectly on Linuxjdk-11+25
  • NMT is not enabled on Windows 2016/10
  • Added tag jdk-11+25 for changeset 331888ea4a78
  • [Testbug] compiler/linkage/LinkageErrors.java fails if run twice
  • C1 compilation hangs in ComputeLinearScanOrdercompute_dominator
  • New Test to verify concurrent behavior of TLS.
  • ProblemList tests that fail due to 'Error attaching to process Can't create thread_db agent!' in jdk-11+25 testing
  • [TESTBUG] hotspot/test/compiler/whitebox/IsMethodCompilableTest.java test fails with -XXCompileThreshold=1
  • Tighten up jdk.includeInExceptions security property
  • [TESTBUG] Add a regression test for JDK-8026328
  • Update java.se module summary to reflect removal of java.se.ee module
  • JDK 11 L10n resource file update msg drop 20jdk-11+26

New in Java SE Development Kit (JDK) 12 Build 5 OpenJDK EA (Aug 6, 2018)

  • Fixed issues:
  • 8198882: Add 10 JNDI tests to com/sun/jndi/dns/AttributeTests/jdk-12+4
  • 8208189: ProblemList compiler/graalunit/JttThreadsTest.java
  • 8190886: package-info handling in RoundEnvironment.getElementsAnnotatedWith
  • 8207765: HeapMonitorTest.java intermittent failure
  • 8208205: ProblemList tests that fail due to 'Error attaching to process: Can't create thread_db agent!'
  • 8204970: Remaing object comparisons need to use oopDesc::equals()
  • 8208201: Update SourceVersion.RELEASE_11 docs to mention var for lambda param
  • 8208226: ProblemList com/sun/jdi/BasicJDWPConnectionTest.java
  • 8208200: Add missing periods to sentences in RoundEnvironment specs
  • 8208227: tools/jdeps/DotFileTest.java fails on Win-X64
  • 8208183: update HSDIS plugin license to UPL
  • 8205992: jhsdb cannot attach to Java processes running in Docker containers
  • 8208305: ProblemList compiler/jvmci/compilerToVM/GetFlagValueTest.java
  • 8199155: Accessibility issues in jdk.jdi
  • 8208251: serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorGCCMSTest.java fails intermittently on Linux-X64
  • 8207364: nsk/jvmti/ResourceExhausted/resexhausted003 fails to start
  • 8208297: Allow printing of taskqueue stats if compiled in in product builds
  • 8021322: [Fmt-Ch] Implementation of ChoiceFormat math methods should delegate to java.lang.Math methods
  • 8171157: Convert ObjectMonitor_test to GTest
  • 8208363: test/jdk/java/lang/Package/PackageFromManifest.java missing module dependencies declaration
  • 8203791: Remove "compatibility" features from Table.java
  • 8208521: ProblemList more tests that fail due to 'Error attaching to process: Can't create thread_db agent!'
  • 8208084: Windows build failure - "'snprintf': identifier not found"
  • 8207779: Method::is_valid_method() compares 'this' with NULL
  • 8208499: NMT: Missing memory tag for Safepoint polling page
  • 8208399: Metadata methods print_(value_)on_maybe_null() compare 'this' to NULL
  • 8208524: IntelliJ support broken since 2018.2jdk-12+5

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 11 Build 21 Early Access (Jul 6, 2018)

  • LoadNode::find_previous_arraycopy fails with "broken allocation" assertjdk-11+20
  • failed to get JDK properties for JVM w/o JVMCI
  • [Graal] org.graalvm.compiler.debug.test.VersionsTest fails with InvalidPathException on windows
  • [Graal] org.graalvm.compiler.debug.test.CSVUtilTest fails on Windows due to improper line separator used
  • Ellipsis in "Classical" label in SwingSet2 demo with Windows L&F at Hidpi
  • KeyFactory#getKeySpec and translateKey thorws NullPointerException with Invalid key
  • compiler/graalunit/HotspotTest.java fails in CheckGraalIntrinsics
  • Missing remembered set entry in j.l.ref.references after JDK-8203028
  • SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop
  • Added tag jdk-11+20 for changeset 9816d7cc655e
  • assert(opcode == Op_RangeCheck) failed: no other if variant here
  • SIGSEGV on write to NativeCallStack::EMPTY_STACK
  • modules/AnnotationProcessing.java failed testGenerateSingleModule
  • javax/net/ssl/compatibility/Compatibility.java failed to access port log filejdk-11+21

New in Java SE Development Kit (JDK) 11 Build 20 Early Access (Jul 3, 2018)

  • Obsolete Support for Commercial Features (JDK-8202331):
  • hotspot/runtime:
  • The -XX:+UnlockCommercialFeatures and -XX:+LogCommercialFeatures command line arguments have been obsoleted, and will generate a warning message if used. The command line arguments used to control the use of and logging for commercial/licensed features in the VM. Since there are no such features anymore the command line arguments are no longer useful.
  • Similarly, the VM.unlock_commercial_features and VM.check_commercial_features jcmd commands will also generate a warning message but have no additional effect.
  • JFR start failure after AppCDS archive created with JFR StartFlightRecording (JDK-8203664):
  • hotspot/runtime:
  • JFR will be disabled with a warning message if it is enabled during CDS dumping. The user will see the following warning message: Java HotSpot(TM) 64-Bit Server VM warning: JFR will be disabled during CDS dumping
  • if JFR is enabled during CDS dumping such as in the following command line: $java -Xshare:dump -XX:StartFlightRecording=dumponexit=true
  • Add RSASSA-PSS Signature support to SunMSCAPI (JDK-8205445):
  • security-libs/javax.crypto:
  • The RSASSA-PSS signature algorithm support is added to the SunMSCAPI provider.
  • Change to policy for the default set of modules resolved when compiling or running code on the class path (JDK-8197532):
  • core-libs/java.lang.module:
  • The default set of root modules when compiling code or running code on the class path has changed in JDK 11 to be all observable system modules that export an API. The only observable change is that the java.se module is no longer resolved by default.

New in Java SE Development Kit (JDK) 11 Build 18 Early Access (Jun 15, 2018)

  • Add GoDaddy root certificates (JDK-8196141):
  • security-libs/java.security:
  • The following root certificates have been added to the OpenJDK cacerts truststore:
  • godaddyrootg2ca DN: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
  • godaddyclass2ca DN: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
  • starfieldclass2ca DN: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority
  • starfieldrootg2ca DN: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2

New in Java SE Development Kit (JDK) 11 Build 17 Early Access (Jun 7, 2018)

  • security-libs/org.ietf.jgss:
  • Deprecate stream-based GSSContext methods:
  • The stream-based methods in GSSContext have been deprecated in this release since GSS-API works on opaque tokens and has not defined a wire protocol. This includes the overloaded forms of the initSecContext, acceptSecContext, wrap, unwrap, getMIC, and verifyMIC methods that have an InputStream argument. These methods have already been removed in RFC 8353.
  • security-libs/java.security:
  • Remove several Symantec Root CAs:
  • equifaxsecureca
  • equifaxsecureglobalebusinessca1
  • equifaxsecureebusinessca1
  • verisignclass2g2ca
  • verisignclass1g3ca
  • verisignclass2g3ca
  • verisignclass1g2ca
  • verisignclass1ca
  • client-libs/2d:
  • The Lucida fonts have been removed from Oracle JDK:
  • Oracle JDK no longer ships with any fonts and will rely entirely on fonts installed on the operating system.
  • This means the fonts in the Bigelow & Holmes Lucida family: Lucida Sans, Lucida Bright, and Lucida Typewriter will no longer be available to applications.
  • If applications rely on these fonts, they may need to be updated.
  • If system adminstrators running Java server applications relied on these fonts rather than installing system font packages, then applications may fail to run until system font packages are installed.
  • hotspot/jvmti:
  • NotifyFramePop request is not cleared if JVMTI_EVENT_FRAME_POP is disabled:
  • A NotifyFramePop request was only cleared if the JVMTI_EVENT_FRAME_POP is enabled. Now it is always cleared when the corresponding frame is popped, regardless of whether the JVMTI_EVENT_FRAME_POP is enabled or not.

New in Java SE Development Kit (JDK) 11 Build 16 Early Access (Jun 2, 2018)

  • Kerberos sequence number issues:
  • Previously, when mutual auth was not requested by the Kerberos 5 initiator, there was no mechanism to negotiate the acceptor's initial sequence number. With this release, if the system property "sun.security.krb5.acceptor.sequence.number.nonmutual" is set to "initiator", the SunJGSS provider will use the initiator's initial sequence number as the acceptor's initial sequence number. If set to "zero" or "0", 0 is used. The default value is "initiator". All other values are illegal and will throw an Error when the system property is read.

New in Java SE Development Kit (JDK) 11 Build 15 Early Access (May 28, 2018)

  • [TESTBUG] Open source VM testbase MLVM tests
  • Incorrect tmp register passed to MacroAssembler::load_mirror()
  • Low latency hashtable for read-mostly scenarios
  • PPC64 and s390 fail to build after JDK-8199712 (Flight Recorder)
  • PPC64: Improve TM detection for enabling RTM on Linux / POWER9
  • Create a MacroAssembler::access_load/store_at wrapper for S390 and PPC
  • JFR: Inconsistent signature of jfr_add_string_constant
  • Add missing try_resolve_jobject_in_native calls
  • IdealLoopTree::split_outer_loop leaves phi-nodes with only one input
  • [TESTBUG] restore current version check in runtime/appcds/MultiReleaseJars.java
  • Generate pages to list all classes and all packages in javadoc output
  • [TESTBUG] Open source vm testbase GC tests

New in Java SE Development Kit (JDK) 11 Build 14 Early Access (May 18, 2018)

  • langtools ant build fails
  • OpenJDK fails to start in Windows 7 and 8.1 after upgrading compiler to VC 2017
  • Add .git to .hgignore
  • Minimal VM should build cleanly on 64-bit platforms
  • jtreg :hotspot_misc group shouldn't include vmTestbase tests
  • Unhandled oop in JavaThread::collect_counters
  • JDK-8202683 broke macosx build
  • Non-empty directory in module path is not handled properly at CDS/AppCDS dump time
  • Remove trailing LF from perf log
  • move FilterUSRTest.java to openJDK
  • obsolete the "InlineNotify" flag option
  • Backout JDK-8202683
  • broken error message for subclass of interface with private method
  • ARM64 - Build failure after JDK-8193260
  • AARCH64: wrong encoding for SIMD instructions zip, trn, uzp
  • Split test/jdk/:tier1 to enable better parallel execution
  • Update FXLauncherTest as part of removing JavaFX from JDK
  • Reflection API is causing caller classes to leak
  • [JAXP] Performance enhancements and cleanups in com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator
  • SA: clhsdb 'where -a' throws Assertion Failure with illegal code 236 when CDS is used
  • Print array length in ArrayIndexOutOfBoundsException.
  • Remove hyphens from "out-of-bounds".
  • Implement CollectedHeap::get_safepoint_workers() for G1
  • G1 support for java.lang.ref.Reference precleaning
  • String::strip, String::stripLeading, String::stripTrailing
  • Update idom to get correct dom depth calculation
  • Illegal countedLoops transformation
  • Add support for undoing last TLAB allocation
  • Add C1 lea patching support for x86
  • Add support for x86 testptr/testq with register and address
  • AArch64: Port AOT to AArch64
  • Add a check of opening stream for not-existing UNC url
  • Use obj+offset in interpreter array access
  • [SA] HotSpotTypeDataBase.readVMLongConstants truncates values to int
  • failure_handler: list open files for macOS
  • (so) Closing a socket channel registered with Selector and with SO_LINGER set to 0 does not reset connection
  • Create a MacroAssembler::access_load/store_at wrapper for AArch64
  • PrintMetaspaceDcmd fails: Non-Class: missing from stdout/stderr
  • [TESTBUG] open source vm testbase heapdump tests
  • Flight Recorder
  • NPE thrown by Transformer when XMLStreamReader reports no xml attribute type
  • runtime/LoadClass/test-classes/Hello.java has wrong legal notice
  • javadoc handles non-ASCII characters incorrectly.
  • Non-PCH build failed after JDK-8199712 (Flight Recorder)
  • Add ability to validate links in JavadocTester
  • Metaspace::_capacity_until_GC should be size_t
  • Introduce ATTRIBUTE_ALIGNED macro
  • gc/arguments/TestAggressiveHeap.java fails intermittently
  • AArch64/PPC64 build failures after JDK-8199712 (Flight Recorder)
  • 32-bit build failures after JDK-8199712 (Flight Recorder)
  • Minimal VM fails to build after JDK-8199712 (Flight Recorder)
  • Signed integer overflow in ImageStrings::hash_code (libjimage.so)
  • AIX: symbol visibility flags not support on xlc 12.1
  • (coll) Examine overriding inherited methods in ArrayList and ArrayList.SubList
  • vm_version Abstract_VM_Version::internal_vm_info_string() returns same string for different incremental builds
  • jvm.cfg generation incorrect
  • jar --describe-module prints service provider class names in lower case
  • ImageLib is broken in 32 bit Windows
  • Updates on windows failures in the problem list
  • Jemmy JInternalFrameOperator: Add wait for close(), activate(), resize() and move() operations
  • java/awt/font/GlyphVector/TestLayoutFlags.java fails with OpenJDK
  • Dashed BasicStroke randomly painted incorrectly, may freeze application
  • Jemmy JInternalFrameOperator: Dependency with orders of Minimize, Maximize and Close buttons
  • java/awt/font/GlyphVector/TestLayoutFlags.java is missing null check
  • Create test for SwingSet2 main window
  • java/awt/Dialog/SiblingChildOrder/SiblingChildOrderTest.java fails
  • Hide unused exports in libzip
  • Let custom makefile override jmod intput dir locations
  • Problem List some tests that leave windows open on the desktop
  • com/apple/laf/ScreenMenu/ScreenMenuMemoryLeakTest.java fails
  • MonospacedGlyphWidthTest.java may fail on Solaris
  • Move Java2D demo to the open repository
  • Cleanup discrepancies in ProblemList for java_awt jtreg tests
  • ava/awt/GraphicsDevice/DisplayModes/CompareToXrandrTest.java fails
  • SystemDictionaryShared::initialize() should be renamed to be more meaningful
  • C1 does backedge profiling incorrectly
  • [TESTBUG] Open source VM testbase system dictionary tests

New in Java SE Development Kit (JDK) 11 Build 13 Early Access (May 11, 2018)

  • LogStream should autoflush on destruction
  • Remove java/lang/String/nativeEncoding/StringPlatformChars.java from ProblemList
  • Fix test/hotspot/jtreg/gtest/GTestWrapper.java on Alpine/Musl
  • Properly implement non-contiguous generations for Reference discovery
  • Use _ref_processor_* member variables directly in G1CollectedHeap
  • Move card table clear before enqueuing pending references
  • Improve variable naming in ReferenceProcesso
  • [REDO] NMT: Enhance thread stack tracking
  • Fix unloading_occurred to mean unloading_occurred
  • de-problem list tools/javac/jvm/VerboseOutTest
  • Metaspace: on chunk retirement, use correct lower limit on chunksize when adding blocks to free blocks list
  • [AOT][JVMCI] Incorrect usage of INCLUDE_JVMCI and INCLUDE_AOT
  • (ref) Reference object should not support cloning
  • Defect in XMLEventReader.getElementText() may cause data to be skipped, duplicated or otherwise result in a ClassCastException
  • problem list actions for tools/javac/jvm/VerboseOutTest
  • Bump bootjdk requirement for JDK 11 to JDK 10
  • OopStorage parallel iteration scales poorly
  • Remove the Compact Profile builds
  • Improve Metaspace Statistics
  • (reflect) Class#getCanonicalName and Class#getSimpleName is a part of performance issue
  • Conditional compilation of GCs
  • DateTimeFormatterBuilder.parseOffsetBased unnecessarily calls toString()
  • GC log file handle leaked to child processes
  • Correctly specify size of hostname buffer in Unix Inet*AddressImpl_getLocalHostName implementations
  • LogCompilation throws "couldn't find bytecode"
  • Dynamic Constant support for Sparc
  • Fix potential crash in BufImg_SetupICM
  • [macos] Support dark title bars on macOS
  • Add @throws NPE javadoc to UIManager.setLookAndFeel(String) method description
  • [AIX] Don't link libfontmanager against libawt_headless
  • Typo in MakeWindowAlwaysOnTop test
  • Missing copyright header in AWT source code
  • Fix for 8181910: Support dark title bars on macOS broke the MacOS build
  • PNGImageReader ignores tRNS chunk while reading non-indexed RGB/Gray images
  • PNGImageWriter incorrectly sets bKGD chunk
  • Deprecated methods in the peers can be removed
  • java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails
  • Add javax/sound/midi/Sequencer/Recording.java to the problemList
  • Remove the appletviewer launcher
  • Parts of 8193435 added in merge change set.
  • Touch keyboard is not shown, if text component gets focus from other text component
  • Swing: Invalid position of candidate pop-up of InputMethod in Hi-DPI on Windows
  • Add tests related to JDK-8196572 to the ProblemList
  • Test FileSystemViewListenerLeak.java is unstable
  • DefaultListModel and DefaultComboBoxModel should support addAll (Collection c)
  • New failure of closed/java/awt/font/Outline/OutlineInvarianceTest.java
  • Tests ColConvCCMTest.java and MTColConvTest.java fail
  • Added not existing bug id in jdk/ProblemList.txt
  • Fix compilation warnings in Solaris debug builds for DevStudio 12.6
  • [C1] casts should not be eliminated for interface types
  • jshell tool: /open from URI
  • [TESTBUG] Open source VM testbase JDI tests
  • Mark intermittently failing jshell tests
  • Build failed in metaspace.cpp with VS2017
  • Minimal VM build is broken after JDK-8199067, JDK-8202638
  • [aix] print program break as part of memory info into hs-err file
  • Small C1 cleanups for BarrierSetC1
  • AArch64: Missing enter/leave around barrier leads to infinite loop
  • Turkish locale reports NPE No enum constant com.sun.source.doctree.DocTree.Kind.S?NCE
  • C1 compilation crashes with "assert(is_double_stack() && !is_virtual()) failed: type check"
  • javac --release 11 not supported
  • java/rmi/Naming/LookupIPv6.java failed with Connection refused
  • Introduce ordering semantics for Atomic::add and other RMW atomics
  • Remove explicit CMS checks in CardTableBarrierSet
  • Remove usage of CMSEdenChunksRecordAlways in defNewGeneration.cpp
  • Remove unused EvacuateFollowersClosure
  • Use concrete Generation classes in SerialHeap and CMSHeap
  • Replace OOP_SINCE_SAVE_MARKS with templates
  • Replace PAR_OOP_ITERATE with templates
  • Print more information about class loaders in LinkageErrors.
  • test java/lang/invoke/MethodHandlesTest timed out running testAsCollector1
  • Cleanup and consolidate Metaspace coding
  • Remove unnecessary intermediary APIs from AppCDS implementation
  • Deprecate AllowNonVirtualCalls option
  • Missing test case for 8200167 - final Object methods
  • Expired flag removal for JDK 11
  • jdk/jshell/ToolBasicTest.java failed in testOpenFileOverHttp() and testOpenLocalFileUrl()
  • failure_handler: gather more environment information on macOS
  • Unicode 10
  • Object propertyIsEnumerable buggy behavior on short integer-string key
  • Remove experimental ClassForNamePlugin
  • Use Collections.emptyEnumeration where possible
  • Merge Reference Enqueuing phase with phase 3 of Reference processing
  • Use reservation Object when creating SpeciesData
  • String::trim JavaDoc should clarify meaning of space
  • Efficient and constant-time modular arithmetic
  • Elliptic Curves for Security in Crypto
  • Fix typo in DiscoveredListIterator::complete_enqeue
  • Add javadoc support for preview features
  • Move oopDesc::is_archive_object to MetaspaceShared::is_archive_object
  • Add deduplicate_string function to CollectedHeap
  • Move the Parallel GC specific task creation functions out of Threads
  • Move marksweep_init into GC code
  • Remove class-for-name test
  • javac is not inducing a notional interface if Object appears in an intersection type
  • BigInteger/BigDecimal not immune to overflow, contrary to spec
  • JVM_Clone to throw CloneNotSupportException for Reference object
  • Update JarSigning.keystore
  • java/lang/management/ThreadMXBean/ThreadCounts.java fails
  • Metaspace: simplify SpaceManager lists
  • Enforce group for attach listener file
  • Merge tiered compilation policies
  • ARM32 - Minimal Dynamic Constant support
  • JFR tests fails: Could not find leak with class
  • Remove EnqueueTask related code from ReferenceProcessor after JDK-8202017

New in Java SE Development Kit (JDK) 11 Build 12 Early Access (May 3, 2018)

  • [TESTBUG] Some (App)CDS tests require modification due to the removal of the Java EE and CORBA modules
  • For boxing conversion javac uses Long.valueOf which does not guarantee caching according to its javadoc
  • SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
  • (fc) FileChannel.map and RandomAccessFile.setLength should not preallocate space
  • Generalize jniFastGetField jobject/jweak resolve
  • [TESTBUG] remove/modify runtime tests which use java ee or corba modules
  • Avoid loading FileInput-/OutputStream$AltFinalizer
  • Add Unreferenced{FOS,FIS,RAF}ClosesFd to problem list
  • [REDO] Split globals.hpp to factor out the Flag class
  • CLDR Timezone name fallback implementation
  • assert(current != first_mem) failed: corrupted memory graph in superword code
  • Modularize C1 GC barriers
  • [aix] disable warnings-as-errors by default
  • Compilation fails with assert(n->is_expensive()) failed: expensive nodes with non-null control here only
  • Provide accessors for JNIHandles storage objects
  • Remove explicit CMS checks in CardTableBarrierSetAssembler
  • G1 should trim task queues more aggressively during evacuation pauses
  • AIX build broken after JDK-8201543
  • Rename hotspot runtime jtreg constantPool ConstantPool directories
  • Zero: S390 31bit atomic_copy64 inline assembler is wrong
  • [AOT] Graal does not support the CMS collector
  • Filter docs modules
  • Reduce unnecessary Package.complete() calls in javadoc
  • Month value is inconsistent between CLDR and Java in some locales
  • Move iteration order randomization of unmodifiable Set and Map to iterators
  • set INCLUDE_SA to false on s390x by default
  • [TESTBUG] Broken hard-coded dependency in serviceability/sa/ClhsdbJhisto.java
  • Add GCConfig::hs_err_name() to avoid GC-specific code in error reporting
  • Add macro for common loop in GCConfig
  • Console echo is disabled when exiting jshell
  • Avoid creating Permission constants early
  • InetAddress.getByName/getAllByName should clarify empty String behavior
  • [TESTBUG] Update DefaultUseWithClient test to handle client-less builds
  • Custom extensions for jvmti doc
  • (Solaris) SIGBUS in # V [libjvm.so+0xcee494] jni_GetIntField+0x224
  • FileChannel and FileOutpuStream variants of AtomicAppend should fail silently on macOS >= 10.13
  • Make the UseAppCDS option obsolete.
  • Delete test files missed from commit for 8193213&8182731.
  • [C1] LIRGenerator::do_CheckCast needs to exclude is_invokespecial_receiver_check() when using PatchAlot
  • [TESTBUG] Open source common VM testbase code
  • Validate more special case invocations
  • Remove unused _gc_timer field in GCMemoryManager
  • Forcing eager initialization of CHM$ReservationNode avoids deoptimization
  • ARM32 is broken after JDK-8201543 (Modularize C1 GC barriers)
  • Unused field in TimeZone
  • Remove IO and NIO AtomicAppend tests from problem list
  • Update javax.lang.model.util visitors for 11
  • [TESTBUG] Some appcds regression test cases fail with "Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM"
  • [s390] C2: Wrong unsigned comparison with 0
  • Small HTTP Client refresh
  • Elastic TLABs for G1
  • TLAB logging is not correct for G1
  • Diagnostic with incorrect line info generated when compiling lambda expression
  • Revisit the setting of _transitive_interfaces in InstanceKlass
  • ctw2 tasks are timing out in hs-tier3
  • Modularize interpreter GC barriers: leftovers for ARM32
  • Remove explicit CMS checks in CardTableBarrierSetAssembler: ARM32 leftovers
  • Taglet.init should be called with the "primary" doclet
  • Typo in X-Buffer javadoc
  • Random seedUniquifier uses incorrect LCG
  • Optimize Arrays.deepHashCode
  • redo nested ThreadsListHandle to drop Threads_lock
  • Build failure with glibc >= 2.24: error: 'int readdir_r(DIR*, dirent*, dirent**)' is deprecated
  • [TESTBUG] Open source vm testbase monitoring tests
  • AArch64: Debug build VM crashes with PrintC1Statistics option
  • JShell tests: move intermittently failing tests to tier2

New in Java SE Development Kit (JDK) 11 Build 11 Early Access (Apr 30, 2018)

  • HotSpotGraalMBean should be moved to Graal management module
  • (se) Allow SelectableChannel.register to be invoked while selection operation is in progress
  • Switch mark bitmaps during Remark
  • Reclaim regions emptied by marking in Remark pause
  • Suppress rs_length and predicted_cards sampling during mixed gcs
  • Make G1 code use _g1h members
  • Fix debug=gc+phases time tracking in Remark and Cleanup
  • Do not rebalance reference processing queues if not doing parallel reference processing
  • Improve concurrent mark keep alive closure performance
  • java.lang.ref.Reference processing total time logging broken
  • Parallelize Remset Tracking Update Before Rebuild phase
  • Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism)
  • Hotspot crashes on linux-sparc after 8189941
  • Add launcher support for preview features
  • [Graal] fix regressions from JDK-8187490
  • OopHandle should use Access API
  • Inet4AddressImpl_getLocalHostName reverse lookup on Solaris only
  • Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable
  • Bump default value of G1RefProcDrainInterval
  • Mark TimSortStackSize2.java as intermittently failing
  • Remove is_alive closure from Klass::is_loader_alive()
  • use the new error diagnostic approach at javac.Main
  • add Pattern.isEmpty
  • Disallow reading oops in ClassLoaderData if unloading
  • Root cause analysis for JDK-8200366
  • Change G1 Full GC heap and thread sizing ergonomics
  • Introduce ReferenceDiscoverer interface
  • Make initial clearing of CHeapBitMap optional
  • Add support for adjusting heap addresses in a TLAB
  • Make ModRefBarrierSetAssembler abstract on all platforms
  • AIX build broken after JDK-8195099
  • [AIX] Extend the set of supported charsets in java.base
  • Merge TwoStacksPlainSocketImpl into DualStackPlainSocketImpl [win]
  • java.util.zip: Add ByteBuffer methods to Inflater/Deflater
  • Split slow ctw_1 tests
  • [Graal] implement Object.notify/notifyAll intrinsics
  • Disable warnings when building libawt with VS2017
  • unused variable threadObj in jvmci_counters_include
  • java/nio/channels/AsynchronousSocketChannel/Basic.java failed due to RuntimeException: WritePendingException expected
  • Number of make jobs wrong for bootcycle-images target
  • Remove dubious call_jio_print in ostream.cpp
  • missing JNIEXPORT / JNICALL at some places in function declarations/implementations
  • [s390]: Build failure w/o precompiled headers
  • AArch64: Update relocs for CompiledDirectStaticCall
  • configure fails compiler check due to bad -m32 flag
  • [AOT] vm crash when run test compiler/aot/fingerprint/SelfChangedCDS.java
  • Lazy allocation of compiler threads
  • Non-PCH build for arm32 fails
  • Improve handling of Attributes.Name
  • Introduce CollectedHeap::is_oop()
  • MetaspaceAllocationTest gtest shall lock during space creation
  • Make -Xshare:auto the default for server VM
  • Rename DualStackPlainSocketImpl to PlainSocketImpl [win]
  • Nashorn: defineProperty setters/getters on prototype object ignored with numeric property names
  • jshell tool: Add support for preview features
  • Split globals.hpp to factor out the Flag class
  • AbstractScriptEngine.getScriptContext creation of SimpleScriptContext is inefficient
  • Fix warning with VS2017 in jdk.pack
  • [BACKOUT] Split globals.hpp to factor out the Flag class
  • G1: Don't invoke WeakProcessor if mark stack has overflowed
  • quarantine test com/sun/jdi/JdbExprTest.sh on all platforms
  • Cleanup code after JDK-8200450, JDK-8200366
  • Add javax/net/ssl/DTLS/CipherSuite.java to ProblemList
  • Metaspace: If humongous chunk is added to SpaceManager, previous current chunk may not get retired correctly.
  • Integer dot product no longer autovectorised
  • AArch64: assertion failure in slowdebug builds
  • Truncated error message with Incompatible : null
  • Update Graal
  • IfNode::fold_compares() may lead to incorrect execution
  • remove the use of string keys at InapplicableMethodException
  • C2 should leverage profiling for lookupswitch/tableswitch
  • GarbageCollectionNotificationInfo has same information for before and after
  • VisibleMemberMap.java possible performance improvements
  • Put FileChannel and FileOutpuStream variants of AtomicAppend on problem list
  • Reduce ctw_2 duration by parallelizing CtwRunner invocations
  • sun/security/tools/keytool/standard.sh fails intermittently at deleting x.jks
  • [Testbug] java/security/AccessController/DoPrivAccompliceTest.java doesn't handle unrelated warnings
  • sun/security/krb5/auto/Renewal.java fails intermittently
  • Reduce time blocking the ClassSpecializer cache creating SpeciesData
  • jlink uses little-endian for big-endian cross-compilation targets
  • Unique symbols for .class
  • test/hotspot/jtreg/runtime/whitebox/WBStackSize.java fails
  • Update test/hotspot/jtreg/ProblemList-graal.txt
  • Remove some unneeded BoolObjectClosure* is_alive parameters
  • Several GC tests fails with: java.lang.NumberFormatException: Unparseable number: "-"
  • Remove unused code in java.base/windows/native/libnet
  • java/nio/channels/Selector/SelectAndCancel.java fails intermittently

New in Java SE Development Kit (JDK) 11 Build 10 Early Access (Apr 19, 2018)

  • Improve error reporting for compiling against package not visible due to modules
  • Add javac support for preview features
  • Avoid early initialization of java.nio.Bits
  • Make it possible to disable JVM features
  • NoSuchMethodException JarFile.open when jar file is used in classpath
  • (fs) FileStore.supportsFileAttributeView does not detect user_xattr enabled on ext4
  • Macosx builds fail in GenerateLinkOptData.gmk
  • Merge jdk.internal.misc.JavaSecurityAccess and jdk.internal.misc.JavaSecurityProtectionDomainAccess shared secrets
  • java/rmi/Naming/DefaultRegistryPort.java fails intermittently
  • MallocArrayAllocator::free should not take a length parameter
  • Make Access load proxys smarter
  • Move load/store and encode/decode out of oopDesc
  • Remove cyclic dependency between oop.inline.hpp and collectedHeap.inline.hpp
  • Move NoSafepointVerifier out from gcLocker.hpp
  • test/lib/jdk/test/lib/apps/LingeredApp shouldn't inherit cout/cerr
  • Zero fails to build after 8200105
  • Missing platform definitions for ia64
  • G1 log for active workers is wrong
  • Null pointer dereference in Unique_Node_List::push of node.hpp:1510
  • Move global lock SpaceManager::_expand_lock to MutexLocker.cpp
  • Move parsing of VerifyGCType to G1
  • ClassLoaderDataGraph::unload_list_contains() is wrong
  • Refactor eager reclaim for concurrent remembered set rebuilding
  • Make rules for choosing collection set candidates more explicit
  • Calculate liveness in regions during marking
  • Rebuild remembered sets during the concurrent cycle
  • FromCardCache default card index can cause crashes
  • nsk/jdb/options/connect/connect003 fails with "Launched jdb could not attach to debuggee during 300000 milliseconds"
  • CodeHeap State Analytics
  • Remove unused _boot_modules_array and _platform_modules_array from classLoader.*.
  • [Graal] runtime/CommandLine/PrintTouchedMethods.java crashes with assertion "reference count underflow for symbol"
  • Add support for vpclmulqdq for crc32
  • Build failures after JDK-8200106 (Move NoSafepointVerifier out from gcLocker.hpp)
  • gc/g1/TestVerifyGCType.java still unstable
  • [Graal] Test times out with Graal due to low compile threshold
  • [Graal] Compilations should not be enqueued before Graal is initialized
  • Non-PCH build for aarch64 fails
  • AIX build fails after adjustments of src/hotspot/share/trace/traceEventClasses.xsl
  • Cleanup allocation.hpp includes
  • ppc, s390 (non-pch) build errors
  • Scratch buffer creation fails with "assert(!current_thread_in_native()) failed: must not be in native" on SPARC
  • Build failures after JDK-8198691 (CodeHeap State Analytics)
  • Remove DONT_USE_REGISTER_DEFINES on Sparc
  • Zero fails to build on linux-ia64 due to ia64-specific cruft
  • [Graal] 3rd testcase of compiler/types/TestMeetIncompatibleInterfaceArrays.java takes more than 10 mins
  • Shorten names of CollectedHeap::Name members
  • Break out GC selection logic from GCArguments to GCConfig
  • Make WhiteBox more GC agnostic
  • Move PushAndMarkVerifyClosure::do_oop_work to concurrentMarkSweepGeneration.cpp
  • Remove concurrent cleanup and secondary free list handling
  • Only enqueue deferred cards with references into regions that have a tracked remembered set during GC
  • Better split work in rebuild remembered sets phase
  • Remove G1 gc time stamp logic
  • Instrumentation.retransformClasses() throws NullPointerException when handling a zero-length array
  • [TESTBUG] Update jittester for jdk11
  • Exclude 3 long-running tests from tier1
  • Can't build on SPARC Hotspot with code which use math functions
  • Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull
  • Non-PCH build for x86_32 fails
  • Clean up state flags in G1CollectorState
  • Bring g1ConcurrentMark files up to current coding conventions
  • MeetIncompatibleInterfaceArrays fails with "MeetIncompatibleInterfaceArrays0ASM.run() must be compiled at tier 0 !"
  • Windows build fails due to implicit jboolean to bool conversion
  • G1Mux2Closure should disable implicit oop verification
  • clean up test/hotspot/jtreg/ProblemList.txt (compiler related)
  • AArch64::CPUFeature out of sync with VM_Version::Feature_Flag
  • SIGSEGV in CodeHeapState::print_names()
  • Obsolete CheckEndorsedAndExtDirs and remove checks for lib/endorsed and lib/ext
  • [Graal] runtime/appcds/GraalWithLimitedMetaspace.java crashes in visit_all_interfaces
  • Show register content in hs-err file on assert
  • MeetIncompatibleInterfaceArrays test fails with -Xcomp
  • Performance drop with Java JDK 1.8.0_162-b32
  • Refactor oops in JNI to use the Access API
  • Non-PCH x86_32 build failure: err_msg is not defined
  • Don't use naked == for comparing oops
  • In g1, rename ConcurrentMarkThread to G1ConcurrentMarkThread
  • Avoid calculating primordial thread stack bounds on VM startup
  • SetMemory0 and CopyMemory0 in unsafe.cpp need to resolve their operands
  • [TESTBUG] Open source VM runtime signal tests
  • Building HotSpot on Windows should define NOMINMAX
  • Cleanup Remark and Cleanup pause code
  • Remove G1CMTask::_concurrent
  • Remove G1ConcurrentMark::_concurrent_marking_in_progress
  • Restore history for g1ConcurrentMarkThread.*
  • Adjust object pinning interface on CollectedHeap
  • Add missing include dependency in bitMap.hpp
  • Build failures after JDK-8191101 (Show register content in hs-err file on assert)
  • Update gc,liveness output with remset state after rebuild remset concurrently changes
  • AArch64: CPUFeature and Flag enums are not passed through JVMCI
  • aarch32 - Broken build after JDK-8198949
  • aarch32 - Broken build after JDK-8199809
  • Globally suppress Visual Studio warning C4351
  • Regression with JVM anonymous class
  • Fix compilation warnings detected by Solaris Developer Studio 12.6
  • Port the native GSS-API bridge to Windows
  • test/langtools/tools/javac/diags/CheckExamples.java 6 errors occurred
  • Allow cacerts test to pass when GTECyberTrust root expires
  • java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java fails in headless mode
  • test java/awt/event/SequencedEvent/SequencedEventTest.java fails to compile
  • Minor JViewport documentation typo
  • Test sun/java2d/marlin/ClipShapeTest.java times out
  • The "com.sun.awt.AWTUtilities" class can be dropped
  • libfontmanager must be built with LDFLAGS allowing unresolved symbols
  • Improve releasing native resources of BufImgSurfaceData.ICMColorData
  • Use "Per-Monitor V2" High DPI awareness for Windows 10 v1703
  • Generate alias entries in j.t.f.ZoneName from tzdb at build time
  • Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider
  • Disable failing tier1 test for JDK-8201498
  • (so) Socket adaptor connect(InetAddress, timeout) succeeds when connection fails
  • Handle to jimage file inherited into child processes (win)
  • Cannot connect to IPv6 host when exists any active network interface without IPv6 address
  • Fix configure on SLES 11 after 8201483
  • [Zero] Reduce limits of max heap size for boot JDK on s390
  • JVM features with "-" in name is not correctly handled
  • Move CMS specific code from binaryTreeDictionary and freeList to CMS files
  • Move CMSGCStats to the cms directory
  • Move GC code out of Arguments::check_vm_args_consistency into GCArguments
  • Remove INCLUDE_ALL_GCS from OopStorage files
  • Remove INCLUDE_ALL_GCS from memset_with_concurrent_readers
  • Flatten G1Allocator class hierarchy
  • Add ALL_GCS_ONLY
  • Move GC flags from globals.hpp to GC specific files
  • Add JVM support for preview features
  • Add utility for spin wait with fallback to yield/sleep
  • Cleanup in g1CollectedHeap, change CamelCase to snake_case
  • Remove MacroAssembler::cmp_heap_oop on x86
  • Include source file/line number when reporting native call stack on supported platforms
  • Mark word updates need to use Access API
  • AARCH64: bfm instruction encoding hits assert on zero register
  • AARCH64: array_equals intrinsic doesn't use prefetch for large arrays
  • Xcode 9.3 produce warning -Wexpansion-to-defined
  • Define WIN32_LEAN_AND_MEAN before including windows.h
  • Eagerly reclaimed humongous objects leave mark in prev bitmap
  • PPC64: Avoid use of yield instruction on spinlock
  • Incorrect header guards after JDK-8198949 (Modularize arraycopy stub routine GC barriers)
  • Move GC entries in vmStructs.cpp to GC specific files
  • Move GC command line constraint functions to GC specific files
  • Move FilteringClosure::do_oop to genOopClosures
  • Separate out CMS specific functions into CMSCardTable
  • Clean out unnecessary includes of heap headers
  • Split specialized_oop_closures.hpp into GC specific files
  • Move runtime/NMT/MallocStressTest.java to hotspot_tier3_runtime
  • NMT: Unnecessary re-recording thread stack and size when attaching listener to JavaThread
  • Wrap holder object for ClassLoaderData in a WeakHandle
  • Extend class-data sharing to support the module path
  • serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java crashes with "assert(thread->thread_state() == _thread_in_native) failed: coming from wrong thread state"
  • Change default value of HeapSizePerGCThread
  • Various cleanups in the attach framework
  • Remove G1Policy::should_process_references()
  • Simple G1 evacuation path performance enhancements
  • GC specific data is referred from common precompiled headers and defNewGeneration.cpp
  • Fix Minimal VM builds on Linux x64
  • Native memory leak in ClassLoader::add_to_exploded_build_list
  • Modularize interpreter GC barriers
  • AARCH32 - 'minimal' build fails because CMS bits are referred unconditionally
  • jcmd help output should be sorted
  • Move G1-related static members from JavaThread to G1BarrierSet
  • Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread
  • 8199417 breaks AIX and non-pch on s390 (and presumably aarch64)
  • Remove CollectedHeap::barrier_set()
  • ISA/CPU feature detection code crashes on linux-sparc
  • Add ThreadsSMRSupport::verify_hazard_pointer_scanned() to verify threads_do().
  • [TESTBUG] Remove script from runtime/6626217
  • Add java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java to the ProblemList
  • Provide access to LogHandle tagset
  • objArrayOopDesc::atomic_compare_exchange_oop() must use obj+offset in HeapAccess call
  • add Pattern.asMatchPredicate
  • Console.readPassword does not save/restore tty settings
  • HTTP Client implementation
  • Split test/jdk/:tier2 to enable better parallel execution
  • Always verify non-system classes during CDS dump time
  • AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails
  • Point-to-point interface should be excluded from java/net/ipv6tests/*
  • Concurrent safe-memory-reclamation mechanism

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 10.0.1 (Apr 17, 2018)

  • NOTES:
  • security-libs/javax.crypto:
  • CipherOutputStream Usage:
  • The specification of javax.crypto.CipherOutputStream has been clarified to indicate that this class catches BadPaddingException and other exceptions thrown by failed integrity checks during decryption. These exceptions are not re-thrown, so the client is not informed that integrity checks have failed. Because of this behavior, this class may not be suitable for use with decryption in an authenticated mode of operation (for example, GCM) if the application requires explicit notification when authentication fails. These applications can use the Cipher API directly as an alternative to using this class
  • NEW FEATURES:
  • security-libs/javax.crypto:
  • Enhanced KeyStore Mechanisms:
  • A new security property named jceks.key.serialFilter has been introduced. If this filter is configured, the JCEKS KeyStore uses it during the deserialization of the encrypted Key object stored inside a SecretKeyEntry. If it is not configured or if the filter result is UNDECIDED (for example, none of the patterns match), then the filter configured by jdk.serialFilter is consulted.
  • If the system property jceks.key.serialFilter is also supplied, it supersedes the security property value defined here.
  • The filter pattern uses the same format as jdk.serialFilter. The default pattern allows java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type, and javax.crypto.spec.SecretKeySpec but rejects all the others.
  • Customers storing a SecretKey that does not serialize to the above types must modify the filter to make the key extractable.
  • CHANGES:
  • security-libs/javax.xml.crypto:
  • XML Signatures Signed with EC Keys Less Than 224 Bits Disabled
  • The secure validation mode of the XML Signature implementation has been enhanced to restrict EC keys less than 224 bits by default. The secure validation mode is enabled either by setting the property org.jcp.xml.dsig.secureValidation to true with the javax.xml.crypto.XMLCryptoContext.setProperty() method, or by running the code with a SecurityManager.
  • security-libs/javax.net.ssl:
  • 3DES Cipher Suites Disabled:
  • To improve the strength of SSL/TLS connections, 3DES cipher suites have been disabled in SSL/TLS connections in the JDK via the jdk.tls.disabledAlgorithms Security Property.
  • BUG FIXES:
  • JDK-8195609 DRS - cert based run rule not working when running offline
  • JDK-8195685 AArch64 cannot build with JDK-8174962
  • JDK-8196374 windows x86 webview-icu isAlphaNumericString crash
  • JDK-8196677 Cherry pick GTK WebKit 2.18.6 changes
  • JDK-8194935 Cherry pick GTK WebKit 2.18.5 changes

New in Java SE Development Kit (JDK) 11 Build 9 Early Access (Apr 16, 2018)

  • fix broken links in java.base docs
  • Change macosx deployment target to 10.9
  • typo in name of exception in @throws
  • linux-aarch64 profile should use bundled freetype
  • se) Selector clean-up, part 4
  • se) Readiness information previously recorded in the ready set not preserved
  • Fix some classloader/module typos
  • Replace collection.stream().forEach() with collection.forEach()
  • Fix some "annoations" typos
  • Improve lazy init of InetAddress.canonicalHostName and NativeObject.pageSize
  • Improve ModuleHashesBuilder
  • Clean up LDFLAGS for libfontmanager
  • Remove mapfiles for JDK executables
  • Testbug] tools/launcher tests need to tolerate unrelated warnings
  • JDK-8199608 introduced a build race on macosx
  • JDK-8199539 broke the OpenJDK build
  • Handle local variable declarations in lambda deduplication
  • JMX: Remove SNMP support
  • Incorrect compiler message for ReceiverParameter in inner class constructor
  • Better cleanup for open/test/jdk/java/lang/ProcessBuilder/DestroyTest.java
  • The tests for JDK-8187247 should be under test/langtools
  • Optimal initial capacity of java.lang.VarHandle.AccessMode.methodNameToAccessMode
  • PKCS12Attribute#hashCode is always constant -1
  • Refactor sun/security/mscapi shell tests to plain java tests
  • Remove sun.nio.cs.FastCharsetProvider
  • tz) Upgrade time-zone data to tzdata2018d
  • Implement a navigation builder in javadoc
  • Trailing backslash in VS120COMNTOOLS leads to ugly error message when running tests
  • Straighten out dtrace build logic
  • Pattern.asPredicate specification is incomplete
  • KerberosString should use UTF-8 by default
  • Regression due loading java.nio.charset.StandardCharsets during bootstrap
  • Export native function to set platform encoding
  • Make Sensor deeply immutably thread safe
  • SynthParser should use Boolean.parseBoolean
  • ALSA_CFLAGS is needed; was dropped in JDK-8071469
  • Unify all unix versions of libjsig/jsig.c
  • Docs (Comparison of Stack and Deque methods) for Deque is not correct
  • forkjoin tasks interrupted after shutdown
  • Improve CopyOnWriteArrayList subList code
  • Miscellaneous changes imported from jsr166 CVS 2018-04
  • Disable warnings for VS2017 to enable building
  • tools/jlink/multireleasejar/JLinkMultiReleaseJarTest.java failed to clean up files
  • Allow PrintFailureReports to be turned off
  • fix broken links generated by javadoc doclet
  • java/rmi/registry/reexport/Reexport.java failed with Port already in use
  • sun/security/ssl/X509KeyManager/PreferredKey.java failed with "Failed to get the preferable key aliases"
  • ProblemList update for bugid associated with SSLSocketParametersTest.sh
  • java/net/Socket/asyncClose/Race.java failed intermittently on Windows with ConnectException: Connection refused
  • Parsing with Java 9 AKST timezone returns the SystemV variant of the timezone
  • Enable linux-arm-vfp-hflt profile to be configured with jib again
  • Require first parameter type of a condy bootstrap to be Lookup
  • javac should create unique DynamicMethodSymbols at LambdaToMethod
  • Move java/util/RandomAccess/ tests into OpenJDK

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 10 Build 46 Early Access (Mar 8, 2018)

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

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 10 Build 45 Early Access (Feb 27, 2018)

  • Docs still point to JDK 9 docs

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 10 Build 31 Early Access (Nov 16, 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 177 Early Access (Jul 10, 2017)

  • Meta "keywords" tag malformed in overview-summary.html and related pages
  • 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 typos in module declarations
  • Fix font-family style attributes in module declarations

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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.
  • DETAILED BUG FIX LIST:
  • JDK-7155957: client‑libs: java.awt: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8
  • JDK-8035568: client‑libs: java.awt: [macosx] Cursor management unification
  • JDK-8079595: client‑libs: java.awt: Resizing dialog which is JWindow parent makes JVM crash
  • JDK-8169589: client‑libs: java.awt: [macosx] Activating a JDialog puts to back another dialog
  • JDK-8147842: client‑libs: javax.swing: IME Composition Window is displayed at incorrect location
  • JDK-7167293: core‑libs: java.net: FtpURLConnection connection leak on FileNotFoundException
  • JDK-8169465: core‑libs: javax.naming: Deadlock in com.sun.jndi.ldap.pool.Connections
  • JDK-8133045: deploy: deployment_toolkit: java.lang.SecurityException: Failed to extract baseline.versions error
  • JDK-8028538: deploy: webstart: Fedora Linux issue with jnlp‑servlet.jar demo source code license
  • JDK-8170646: deploy: webstart: JNLP fails to get loaded with old javaws when multiple jres (jre9 and jre8u111) installed
  • JDK-8075196: docs: guides: CosNaming's implementation doesn't comply with the specification
  • JDK-8161147: hotspot: compiler: jvm crashes when ‑XX:+UseCountedLoopSafepoints is enabled
  • JDK-8161993: hotspot: gc: G1 crashes if active_processor_count changes during startup
  • JDK-8147910: hotspot: runtime: Cache initial active_processor_count
  • JDK-8150490: hotspot: runtime: Update OS detection code to recognize Windows Server 2016
  • JDK-8170888: hotspot: runtime: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments
  • JDK-8166208: hotspot: svc: FlightRecorderOptions settings for defaultrecording ignored.
  • JDK-8161945: install: install: REGRESSION: 8u91 update of 32 bit JRE removes preferences of the 64 bit JRE
  • JDK-8172932: install: install: JRE installation fails with 1603 on Windows 10 with enabled Deviceguard
  • JDK-8089915: javafx: web: Input of type file doesn't honor "accept" attribute.
  • JDK-8090216: javafx: web: HTMLEditor: font bold doesn't work when an indent is set
  • JDK-8144263: javafx: web: [WebView, OS X] Webkit rendering artifacts with inertia scrolling
  • JDK-8150982: javafx: web: Crash when calling WebEngine.print on background thread
  • JDK-8164314: javafx: web: [WebView] Debug build is no longer working after JDK‑8089681
  • JDK-8165098: javafx: web: WebEngine.print will attempt to print even if the printer job is complete or has an error
  • JDK-8165173: javafx: web: canvas/philip/tests/2d.path.clip.empty.html fails with 8u112
  • JDK-8165508: javafx: web: Incorrect Bug ID in comment for JDK-8164076
  • JDK-8166231: javafx: web: use @Native annotation in web classes
  • JDK-8166677: javafx: web: HTMLEditor freezes after restoring previously maximized window
  • JDK-8166775: javafx: web: Audio slider works incorrectly for short files
  • JDK-8166999: javafx: web: Update to newer version of WebKit
  • JDK-8167098: javafx: web: Backport of JDK‑8158926 to JDK 8u mistakenly used preliminary patch
  • JDK-8167100: javafx: web: Minor source diffs introduced in backports of JDK-8160837 and JDK-8163582
  • JDK-8167675: javafx: web: Animated gifs are not working
  • JDK-8169204: javafx: web: Need to document JSObject Call and setSlot APIs to use weak references
  • JDK-8170585: javafx: web: Fix PlatformContextJava type leaking to GraphicsContext
  • JDK-8170938: javafx: web: Memory leak in JavaFX WebView
  • JDK-8173783: security‑libs: javax.net.ssl: IllegalArgumentException: jdk.tls.namedGroups
  • JDK-6474807: security‑libs: javax.smartcardio: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException
  • JDK-8168774: tools: javac: Polymorhic signature method check crashes javac
  • JDK-8167485: tools: visualvm: Integrate new version of Java VisualVM based on VisualVM 1.3.9 into JDK
  • JDK-8167179: xml: jaxp: Make XSL generated namespace prefixes local to transformation process

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 159 Early Access (Mar 2, 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 SE Development Kit (JDK) 9 Build 158 Early Access (Feb 27, 2017)

  • Summary of changes:
  • Turn on doclint reference checking in build of java.compiler module
  • Upgrade compression library
  • Turn on doclint reference checking in build of the java.management.rmi module
  • test/TestCommon.gmk: value of JTREG_TESTVM_MEMORY_OPTION is missing
  • Minor cleanup in Javadoc.gmk
  • Capture build-time parameters to --generate-jli-classes
  • StAX parse error if there is a newline in xml declaration
  • Regression in XML Transform caused by JDK-8087303
  • Investigate SymbolTable in SAXParser
  • Update JAX-WS RI integration to latest version
  • Multiple jaxp tests failing across platforms
  • Update JAX-WS RI integration to latest version
  • java/net/httpclient/http2/BasicTest.java always fails but always report success
  • LambdaMetafactory should use types in implMethod.type()
  • Reduce number of Charset classes loaded on bootstrap
  • Renumber the compress levels
  • Refactor spliterator traversing tests into a library
  • Problem list javax/net/ssl/DTLS/RespondToRetransmit.java
  • Error in API documentation for SwingWorker
  • Syntax error in ZipFile.getComment() method
  • Syntax error in ZipEntry.setCompressedSize(long) method documentation
  • FilterOutputStream.write(byte[],int,int) javadoc correction
  • Incorrect argument name in java.io.FilterInputStream.read(byte[]) method documentation
  • jimage fails with IAE when attempts to inspect an empty file
  • "Module 's descriptor returns inconsistent package set" confusing
  • partialUpdateFooMainClass test in tools/jar/modularJar/Basic.java needs to be re-examined
  • Mark WakeupAfterClose.java as failing intermittentl
  • Locale issues with Mac 10.12
  • URLClassLoader no longer uses custom URLStreamHandler for jar URLs
  • Doc error in SecureRandom
  • Gracefully handle null Supplier in Objects.requireNonNull
  • Multiple JCK tests are failing due to SecurityException is not thrown.
  • ImageReader is not thread-safe
  • jar --help-extra should provide information on the -n/--normalize option
  • Upgrade compression library
  • Change SHA1 certpath restrictions
  • Update GenGraphs tool to generate dot graph with requires transitive edges
  • improve error message shown when main class can't be loaded
  • March 5 builds failed on Windows/install repo after JDK-8173207
  • Update JAX-WS RI integration to latest version
  • Disable rmic -Xnew
  • Lazy initialization of ImageReader breaks rmid
  • (se) Improve internal timing of java/nio/channels/Selector/WakeupAfterClose.java
  • Add success message to java/nio/channels/FileChannel/LoopingTruncate.java
  • Add success message to java/io/FileInputStream/LargeFileAvailable.java
  • Remove old tests on kdc timeout policy
  • Mark java/nio/channels/AsyncCloseAndInterrupt.java as intermittently failing
  • Don't process JceSecurity.java.template if crypto sources is not present
  • [TEST_BUG] Cygwin failure of java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
  • HiDPI (Windows) Swing components have incorrect sizes after changing display resolution
  • Fast precise scrolling and DeltaAccumulator fix for macOS Sierra 10.12.2
  • ColorModel subclasses are missing hashCode() or equals() or both methods
  • [TEST_BUG] add :open to a @modules annotation for bug7089914.java
  • Java "1.8.0_112" on Windows 10 displays different characters for EUDCs from ones created in eudcedit.exe.
  • Incorrect processing of supplementary-plane characters in text fields
  • Text is displayed in bold when fonts are installed into symlinked folder
  • JavaDoc mentions AppEvent subclasses as inner class of AppEvent
  • [TEST_BUG] javax/swing/text/html/StyleSheet/bug4936917.java
  • ArrayOutOfBoundException when reading RLE8 compressed bitmap
  • Capture build-time parameters to --generate-jli-classes
  • jshell tool: invalid module path crashes tool
  • jshell tool: regression: user home (tilde) not translated
  • Add methods for Elements.getAll{Type, Package, Module}Elements
  • Fix two javax.annotation.processing javadoc link issues
  • jshell tool: /help /set truncation -- confusing indentation
  • Fix bad javadoc link in javax.tools.JavaFileManager
  • JShell tests: new JDK-8174797 testInvalidClassPath fails on Windows
  • Fix @since in module-info.java in dev/langtools repo
  • fill in @bug number for test
  • Improve negative testing for module-info
  • incorrect error message for nested service provider
  • Incorrect error messages for inaccessible classes in visible packages
  • Javadoc fails on JDK 7 and JDK 8 sources with StringIndexOutOfBoundsException
  • javadoc throws UnsupportedOperationException: should not happen
  • Wrong note about multiple type/package elements being found.
  • Header can still disappear behind the navbar
  • JavaCompiler.CompilationTask should support addModules
  • javadoc crashes with a method which does not override a super.
  • Update GenGraphs tool to generate dot graph with requires transitive edges
  • JAVAC_OPTIONS should be updated to align with JAVA_OPTIONS
  • javadoc should support --help-extra as a synonym for -X
  • langtools test failed again on win32 with the trial reversion changes for limited win32 address space
  • javadoc does not decode options containing '=' and ':' correctly
  • JavacTrees should use Types.skipTypeVars() to get the upper bound of type variables

New in Java SE Development Kit (JDK) 9 Build 157 Early Access (Feb 16, 2017)

  • Tab expansion broken for make
  • Verify that bash is at least version 3.2
  • Race when building java.base.jmod
  • [JVMCI] JVMCI initialization with SecurityManager installed fails: java.security.AccessControlException: access denied
  • make setMixingCutoutShape public and remove jdk.desktop
  • Extend how the org.omg.CORBA.ORB handles the search for orb.properties
  • Fix @since in module-info.java in dev/corba repo
  • Module system implementation refresh (2/2017)
  • Wrong assert whether all remembered set entries have been iterated over in presence of coarsenings
  • AArch64: C1 comparisons with null only use 32-bit instructions
  • Jittester: sources should be aligned with latest product state
  • heapdump/JMapHeapCore fails with java.lang.RuntimeException: Heap segment size overflow
  • Add unit test for 8173309
  • C1 compilation fails with "Constant field loads are folded during parsing"
  • C2: wrong nmethod dependency can be recorded for CallSite.target
  • C2: continuous CallSite relinkage eventually disables compilation for a method
  • C1: NPE is thrown instead of LinkageError when accessing inaccessible field on NULL receiver
  • 2-slot LiveStackFrame locals (long and double) are incorrect
  • disable post_class_unload() for non JavaThread initiators
  • [JVMCI] HotSpotJVMCIMetaAccessContext.fromClass is inefficient
  • [AOT] Stubs hang onto intermediate compiler state forever
  • 3% regression in SPECjvm2008-XML with b150
  • Fix @since in module-info.java in dev/jaxp repo
  • Module system implementation refresh (2/2017)
  • Update of the mimestypes.default for JAF
  • Fix @since in module-info.java in dev/jaxws repo
  • (fs) java/nio/file/FileSystem/Basic.java should conditionally check FileStores
  • java.xml.ws not granted NetPermission(getProxySelector)
  • Change error reporting of LauncherHelper to include actual Error class name
  • Update RMI specifications to reflect modularization changes
  • Re-examine if Activatable object can be created from non-public class and/or constructor
  • Rename JAVA_OPTIONS environment variable to JDK_JAVA_OPTIONS
  • Add extended key usage constraint to the jdk.certpath.disabledAlgorithms security property
  • IllegalArgumentException: jdk.tls.namedGroups
  • StackWalker.walk throws InternalError if called from a constructor invoked through reflection
  • [testbug] Remove implementation dependency from java.time TCK tests
  • Backout 8151116
  • Add commented config line for jdk.security.provider.preferred
  • Re-enable AES cipher with CFB128 mode for Ucrypto provider
  • LambdaMetafactory needs to validate descriptors and method name
  • Fix denyAfter and usage types for security properties
  • LambdaMetafactory should use types in implMethod.type()
  • Test failures after JDK-8033076
  • Test Task: Custom system class loader + security manager + malformed policy file = recursive initialization
  • java/nio/channels/Selector/SelectTimeout.java failed with "Test timed out early with timeout 100000000999"
  • Extend how the org.omg.CORBA.ORB handles the search for orb.properties
  • (ch) Add instrumentation to java/nio/channels/FileChannel/Transfer.java
  • ProblemList update for TestWsImport, JdbMethodExitTest and jimage tests
  • Fix @since in module-info.java in dev/jdk repo
  • java/net/httpclient/security/Driver.java failing in JDK 9
  • Module system implementation refresh (2/2017)
  • 2-slot LiveStackFrame locals (long and double) are incorrect
  • [JVMCI] JVMCI initialization with SecurityManager installed fails: java.security.AccessControlException: access denied
  • jimage extract to readonly directory causes MissingResourceException
  • Deprecate InputEvent._MASK in favor of InputEvent._DOWN_MASK
  • CUPS Printing is broken with Ubuntu 16.10 (CUPS 2.2)
  • make setMixingCutoutShape public and remove jdk.desktop
  • JNI exception pending in JavaComponentAccessibility.m
  • Menu is activated after using mnemonic Alt/Key combination
  • Rename JMOD section name for native libraries from native to lib
  • Httpclient source update for JDK 8
  • Enhance jar tool to allow module-info in versioned directories but not in base in modular multi-release jar files
  • RuntimeException: Module m's descriptor returns inconsistent package set
  • Several java/lang tests failing due to undeclared module dependencies
  • Merge javac -Xmodule into javac--patch-module
  • Add "since=9" to deprecated ContentSigner and ContentSignerParameters classes
  • Move test files into package hierarchy
  • Move the Description up on module and package index page
  • error message should adapt to the corresponding top level element
  • JShell: reduce memory leaks
  • JShell API: not patch compatible
  • jshell tool: /methods signature confusing/non-standard format
  • jshell tool: /method /type failed declaration listed (without indication)
  • jshell tool: --startup PRINTING references undeclared Locale class
  • NPE caused by @link reference to class
  • Regression in generic method unchecked calls
  • search items are not listed in any sensible order
  • JShell tests: jdk/jshell/UserJdiUserRemoteTest.java problem listed with wrong bug number
  • Gen has a reference to Flow that is not used, should be removed
  • Error message misspelling: "instanciated"
  • Module system implementation refresh (2/2017)
  • class ComboTask at the combo test library needs an execute() method
  • JShell: @since tags missing
  • Compiler does not allow non-existent module path entry
  • Merge javac -Xmodule into javac--patch-module
  • Javadoc is not working for some methods
  • Module system implementation refresh (2/2017)
  • Fix @since in module-info.java in dev/nashorn repo

New in Java SE Development Kit (JDK) 9 Build 156 Early Access (Feb 10, 2017)

  • Separate JDK management agent from java.management module
  • Fix autoconf/spec.gmk mismatches
  • JMX RMI connector should be in its own module
  • JTReg concurrency value must be limited
  • hgforest: pass options to serve command
  • Unify values of boolean make variables set in configure to true/false
  • Remove shell script from test/compiler/c2/cr7200264/TestIntVect.java
  • 8171433 changes in generated-configure should be restored
  • Emulate client build on platforms with reduced virtual address space
  • Simplify jvmstat modules
  • Rename module 8173604 java.annotations.common to java.xml.ws.annoations
  • Separate JDK management agent from java.management module
  • Unify values of boolean make variables set in configure to true/false
  • Get rid of the humanReadableByteCount() method in openjdk/hotspot
  • Possible access to char array with negative index
  • AOT] problems in MethodHandle with aot-compiled java.base
  • serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java fails latest Jigsaw integration
  • Use SIZE_FORMAT to print size_t values
  • gc/stress/TestStressG1Humongous.java fails to allocate the heap
  • Remove unused CDS code from JDK 9
  • Remove shell script from test/compiler/c2/cr7200264/TestIntVect.java
  • CTW library should call System::exit
  • test/compiler/ciReplay/TestVMNoCompLevel.java fails with - 'Unexpected exit code for negative case: [-client]: expected 0 to not equal 0'
  • AOT] AOT'd SystemModules.modules() fails to load when too large
  • Example for -Xlog:help do not contain one with multiple tags
  • Typo in -Xlog:help output
  • C2: anti dependence missed because store hidden by membar
  • s390] Implement "JEP 270: Reserved Stack Areas for Critical Sections"
  • s390: Use same get_key_start_from_aescrypt_object implementation as PPC64
  • Re-examine String field optionality
  • Fix for R10 Register clobbering with usage of ExternalAddress
  • import-hotspot build target not removed from hotspot-ide-project
  • Aot tests should include Java assertions into AOT compiled code
  • TESTBUG] runtime/RedefineTests/RedefinePreviousVersions.java 'Class unloading: has_previous_versions = true' missing from stdout/stderr
  • AOT] RecompilationTest.java fails with "expected compilation level after compilation to be no less than 1"
  • PPC64: Add support to -XX:RTMSpinLoopCount=0
  • "assert(is_single_cpu() && !is_virtual()) failed: type check" with -XX:+PatchALot on SPARC
  • unloading archived shared class caused crash
  • A lot of gtests uses TEST instead of TEST_VM
  • JVMCI] Missing JVMCI flag default values
  • compiler/loopopts/UseCountedLoopSafepointsTest.java fails with "Safepoint not found"
  • AOT] Fix unverified entry point
  • C2: Bytecode escape analyzer crashes due to stack overflow
  • Intermittent failures on Windows with "Unexpected exit from test [exit code: 1080890248]" (0x406d1388)
  • AArch64: Implement "JEP 270: Reserved Stack Areas for Critical Sections"
  • quarantine ctw/JarDirTest
  • TESTBUG] GCBasher test fails with G1, CMS and Serial
  • Fix for 8172144 breaks AArch64 build
  • Ensure access checks result in consistent answers
  • Fix Jigsaw related module/package error messages and throw correct exceptions
  • Internal Error: gc/g1/ptrQueue.hpp:126 assert(_index == _sz) failed: invariant: queues are empty when activated
  • runtime/Thread/TooSmallStackSize.java fails on solaris-x64 with product build
  • Correct errant "java.base" string to macro
  • Event-based tracing needs separate flag representation for Method
  • Emulate client build on platforms with reduced virtual address space
  • TraceOptoPipelining and TraceOptoOutput are broken
  • ClassVerboseTest crashes on Windows
  • AOT] Missing GC scan of _metaspace_got array containing Klass*
  • JVMTI] Specification for early VM start event needs to lower expectations in relation class loading
  • Backout JDK-8172990 changes
  • OSR compilation at unreachable bci causes C1 crash
  • aix] AIX VM should not handle SIGDANGER
  • AOT] jaotc --classpath option is confusing
  • Move package name transformations during module bootstrap into native code
  • Simplify jvmstat modules
  • Add gc/g1/logging/TestG1LoggingFailure.java to the ProblemList
  • VM no longer prints "Picked up _JAVA_OPTONS: " message
  • TESTBUG] compiler/loopopts/UseCountedLoopSafepointsTest.java fails with TESTBUG: Not server mode
  • Fix timing bug in JVM management of package export lists
  • compiler/aot/fingerprint/SelfChangedCDS.java fails with: Unrecognized VM option 'UnlockCommercialFeatures'
  • V [jvm.dll+0x2343fc] GraphBuilder::args_list_for_profiling+0x8c
  • Assert fails in deoptimization due to original PC at the end of code section
  • AOT] Avoid zero-shift for compressed oops
  • JVMCI] add ResolvedJavaMethod.hasNeverInlineDirective
  • EXCEPTION_ACCESS_VIOLATION running VirtualObjectDebugInfoTest.java
  • AOT] fix typo in jaotc --help output
  • TESTBUG]compiler/tiered/NonTieredLevelsTest.java fails with compiler.whitebox.SimpleTestCaseHelper(int) must be compiled
  • BACKOUT] 8087341: C2 doesn't optimize redundant memory operations with G1
  • Anti-dependency on membar causes crash in register allocator due to invalid instruction scheduling
  • ctw] fails during compilation of sun.security.krb5.internal.crypto.RsaMd5DesCksumType::calculateKeyedChecksum with " graph should be schedulable"
  • jvmtiDeferredLocalVariableSet may update the wrong frame
  • AOT] Failed compilation: java.math.MutableBigInteger.divide3n2n
  • AArch64: assertion failure: the int pressure is incorrect
  • JVMCI] query_update_method_data might write outside _trap_hist array
  • searching for a versioned entry in a multi-release jar in hotspot is inconsistent with java code
  • JAXP: TESTBUG: javax/xml/jaxp/unittest/transform/TransformerTest.java needs refactoring
  • Rename module 8173604 java.annotations.common to java.xml.ws.annoations
  • Separate JDK management agent from java.management module
  • jlink --help fails with missing "plugin.opt.plugin-module-path" key in resource bundle
  • spurious message "A JNI error has occurred" if start-class cannot be initialized
  • java/net/HttpURLConnection/SetAuthenticator tests have undeclared dependency on java.logging module
  • tools/javac/Paths/wcMineField.sh failing with java.lang.ClassNotFoundException
  • jar --help doesn't provide information that stdout and stdin can be used as output and input for tool
  • Create tests to check schemagen work with multi-version jar
  • Create tests to check wsgen work with multi-version jar
  • DefaultProxySelector should use system defaults on Windows, MacOS and Gnome
  • Reduce number of lambdas created when loading java.util.regex.Pattern
  • JMX RMI connector should be in its own module
  • com.sun.jmx.remote.internal.Unmarshal should be removed
  • Two security tests fail with message: "java.security.NoSuchAlgorithmException: EC KeyFactory not available"
  • java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java fails intermittently
  • unpack200 fails linking with new update of SS12u4
  • Unify values of boolean make variables set in configure to true/false
  • Rename libmanagement_rmi to libmanagement_agent
  • Jar prints error message with old (non gnu-style options)
  • macosx] Can't print from browser on Mac OS X
  • Is it allowed to have zero value for count in TIFFField.createArrayForType() for the rationals
  • Nimbus: Test6657026 fails
  • ArrayIndexOutOfBoundsException when calling ImageIO.read(InputStream) with RLE4 BMP
  • Is able to set a negative j.u.Vector size in JDK9 b151
  • LinkedTransferQueue bulk remove is O(n^2)
  • Concurrent spliterators fail to handle exhaustion properly
  • Miscellaneous changes imported from jsr166 CVS 2017-02
  • Test in java/lang/annotation and java/lang/reflect/Proxy tests not run
  • Remove DcmdMBeanPermissionsTest.java from ProblemList
  • tools/launcher/VersionCheck.java doesn't report names of tools which failed checks
  • JDI tests fail due to "permission denied" when creating temp file
  • Fix Jigsaw related module/package error messages and throw correct exceptions
  • Move package name transformations during module bootstrap into native code
  • Simplify jvmstat modules
  • When jmxremote.port=0, JDP broadcasts "0" instead of assigned port
  • java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java failed with "Out of space in CodeCache for adapters"
  • Exported elements referring to inaccessible types in java.naming
  • Rename module 8173604 java.annotations.common to java.xml.ws.annoations
  • jshell tool: ctrl-C when in external editor aborts jshell -- history lost
  • Remove forRemoval=true from several deprecated security APIs
  • jconsole does not show local running VMs to attach
  • KeyStore regression due to default keystore being changed to PKCS12
  • fs) DefaultFileSystemProvider should be split into platform specific versions
  • ForkJoin common pool retains a reference to the thread context class loader
  • jshell tool: store history on fatal exit
  • Slow compilation with long classpaths under JDK 9
  • JShell tests: Some testng tests check nothing
  • Improvements to javax.annotation.processing and javax.lang.model doc
  • javadoc strips HTML incorrectly; causes invalid generated HTML files
  • Fix broken test header
  • The index pages are sorted in a confusing manner
  • More javax.lang.model improvements to support modules
  • Tests for printing modules
  • problem generating JavaFX docs
  • Latent bug in jar file handling during module path processing
  • Update command line help for -public -protected -package -private options
  • Javac doesn't report errors on duplicate provides with different service implementations
  • Javadoc generated pages should default to no-frames view
  • javac should not need the transitive closure to compile a module
  • Trial reversion of langtools test changes for limited win32 address space
  • Rename module 8173604 java.annotations.common to java.xml.ws.annoations
  • com.sun.tools.javac.util.Assert.error during code compilation
  • jshell tool: ctrl-C when in external editor aborts jshell -- history lost
  • Confusing error message when reading bad module declaration
  • Results from Processor.getSupportedAnnotationTypes should be intepreted strictly
  • JShell: less-than causes: reached end of file while parsing
  • JShell: control characters should be escaped in String values
  • javac: 'opens' statement cannot specify non observable package
  • Reference Origin.MANDATED in getEnclosedElements specs
  • fix terminology in javadoc comment
  • improve accuracy of source positions for AnnotationValue param of Messager.printMessage
  • StackOverflowError on start when parsing PAC file to autodetect Proxy settings
  • JDK-8008448.js fails to parse test for JDK-8169481
  • Problem list src/jdk/nashorn/api/tree/test/ParseAPITest.java for some platforms
  • Remove dead code in BuildNashorn.gmk
  • Test for JDK-8169481 causes stack overflows in parser tests

New in Java SE Development Kit (JDK) 9 Build 155 Early Access (Feb 3, 2017)

  • javadoc warning notice for types in Incubator Modules
  • Remove modules_src_jake workaround for JavaFX transition to new module-info syntax
  • Provide lldb from devkit when running tests on macosx
  • org.omg.CORBA_2_3.portable.InputStream constructor should not specify JDK-specific property
  • Remove qualified exports from java.base to java.corba
  • AArch64: Fix minimum stack size computations
  • AArch64: fix reported -Xss minimum
  • JAXP: TESTBUG: javax/xml/jaxp/isolatedjdk/catalog/PropertiesTest.sh
  • Excessive recursion in EventFilterSupport when filtering over large number of XML events can cause StackOverflow
  • CatalogManager.catalogResolver should not fail when non-existing URI is passed to it
  • Calendar.getDisplayNames inconsistent with DateFormatSymbols
  • jdk_rmi registry test fail to clean up on failure
  • Custom system class loader + security manager + malformed policy file = recursive initialization
  • 4096 is not supported yet for the DH Parameter Generator
  • spec clarification for URLClassLoader for Multirelease jars
  • javax/net/ssl/SSLSession/SessionTimeOutTests.java failed with "SSLHandshakeException: Remote host terminated the handshake"
  • Problem list java/rmi/registry/readTest/CodebaseTest.java on Windows
  • e8dab4820716 8173354 javadoc warning notice for types in Incubator Modules
  • Add test that captures current behavior of annotations with invalid annotation types
  • Handle sun.security.util.Resources bundle in ResourcesMgr in the same way as AuthResources
  • Add tests for multi-release module jar API validator
  • Problemlist tools/jar/multiRelease/ApiValidatorTest.java
  • Examine UIDefaults::addResourceBundle(String bundleName) with resource encapsulation
  • Test fails with AccessControlException
  • TrueType Fonts which have only Apple platform names cannot be loaded
  • test/java/awt/font/JNICheck/JNICheck.sh fails on Linux
  • [TEST_BUG] [macosx] Failure of the new test java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java
  • Unexpected tag in javax/imageio/plugins/tiff/package.html
  • Crash on Windows getting FontMetrics since JDK 9 b96
  • Exceptions from TIFFImageReader.read() when loading bit depth test images
  • [TIFF] IIOException: "Insufficient data offsets or byte counts" when loading test image
  • Memory leak in java.desktop/unix/native/common/awt/fontpath.c
  • Two "Direct Clip" threads are created to play the same "AudioClip" object, what makes clip sound corrupted
  • Update to libpng 1.6.28
  • [findbugs] javax.swing.* - Storing a reference to an externally mutable object into the internal representation
  • Add a new launcher environment variable JAVA_OPTIONS
  • Cipher object can be created without calling Cipher.getInstance
  • Remove custom plugin module path
  • Remove qualified exports from java.base to java.corba
  • classpath wildcards code does not support --class-path
  • Error message issue with jar tool API validator
  • Remove DISABLED_WARNINGS_gcc for libsctp
  • jshell tool: cannot handle non-ascii characters
  • libjli/cmdtoargs.c does not compile with VS2010
  • SSL related tests failes with message: "java.security.NoSuchAlgorithmException: EC KeyFactory not available"
  • osName/osArch/osVersion is missing in ModuleDescriptor created by SystemModules
  • Provide a better migration path for ResourceBundleControlProvider
  • Wrong display name for supplemental Japanese era
  • performance regression in com/sun/crypto/provider/OutputFeedback.java
  • Disable JAVA_OPTIONS env variable support until JDK-8173712 is resolved
  • jshell tool: Smart completion detection is not reliable
  • Inconsistent output for Visible and InvisibleParameterAnnotations
  • javap misses newline after printing AnnotationDefault
  • JShell tests: ReplaceTest takes too long
  • JShell tests: remove from ProblemList jdk/jshell/ToolFormatTest.java
  • JShell tests: ProblemList jdk/jshell/UserJdiUserRemoteTest.java
  • jshell tool: missing options: --help-extra --show-version
  • javac throws exception during compilation when annotation processing is enabled
  • ElementUtils getPackageElement does not allow for an unnamed package
  • javadoc search doesn't work on local doc bundles
  • efeea0e59f 8173312 Hide support for --inherit-runtime-environment
  • Javadoc fix 8166175 results in test failures
  • javadoc does not report warnings in case of multiple "@param" tags for the same parameter and multiple "@return" tags for the same method.
  • Elements.printElements needs to support modules
  • ModuleElement should declare and provide appropriate modifiers
  • classpath wildcards code does not support --class-path
  • test/script/trusted/JDK-8021189.js and test/script/trusted/JDK-8021129.js fail in nashorn nightly
  • ClassCastException with arguments usage
  • Nashorn JavaScript engine fails to call @FunctionalInterface with a java.util.List argument
  • in operator should work on java objects and classes

New in Java SE Development Kit (JDK) 9 Build 154 Early Access (Jan 27, 2017)

  • Summary of changes:
  • Always pass MAKE_ARGS to MAKE in Main.gmk
  • Remove all exports from jdk.jlink
  • Improve testing for multi-version JAR file maker tool
  • Preserve command line at build failure
  • SecurityTools.keytool() needs to accept user input
  • Rename jdk.crypto.token to jdk.crypto.cryptoki
  • JNDI Protocols Switch
  • RuntimeVisibleAnnotation validation
  • Better bytecode loading
  • Additional class construction refinements
  • Update SecurityManager::checkPackageAccess to restrict non-exported JDK packages by default
  • Simplify ResourceBundle.CacheKey and ClassLoader may not be needed
  • Use PKIXValidator in jarsigner
  • Class.getConstructor() performance regression
  • Remove all exports from jdk.jlink
  • Add a test that shows how the LogManager can be implemented by a module
  • Detect duplicated resources in packaged modules
  • Remove add exports from ModuleSummary build
  • Re-examine ResourceBundle::clearCache method
  • Improve testing for multi-version JAR file maker tool
  • tools/jlink/ResourceDuplicateCheckTest.java requires jdk.tools.jlink.plugin to be exported
  • test/tools/jmod/JmodTest.java fails on windows with AccessDeniedException
  • Zip filesystem performance improvement and code cleanup
  • Minor startup cleanup of CallSite and MethodType
  • SSLSession may not return a valid chain
  • Resolve class resolution
  • Standardize logging levels
  • Provide proper login context
  • URL objects with custom protocol handlers have port changed after deserializing
  • Limited Parameter Processing
  • Expand TLS support
  • Improve streaming socket output
  • RMIConnection addNotificationListeners failing with specific inputs
  • Improve components for menu items
  • Better component components
  • Improve signature checking
  • Update concurrency support
  • JNDI Protocols Switch
  • Improve image processing performance
  • Connection reset during TLS handshake
  • Better constraint checking
  • DSA signing improvments
  • ECDSA signing improvments
  • Tighten ECDSA validation
  • URL handling improvements
  • Better ObjectIdentifier validation
  • Typo in Timestamp.toString()
  • Enable Thread to grant VarHandle field access to ThreadLocalRandom/Striped64
  • More verbose debug output for selection of X509 certs
  • Update SecurityManager::checkPackageAccess to restrict non-exported JDK packages by default
  • (se) Selector.select(Long.MAX_VALUE) fires repeatedly
  • Warning module name in --add-exports not found: jdk.jdeps when compiling for BUILD_JIGSAW_TOOLS
  • zipfs fails to handle incorrect info-zip "extended timestamp extra field"
  • PluginException("TargetPlatform attribute is missing ...") - should be ModuleTarget
  • VarHandle usages in LockSupport and ThreadLocalRandom result in circularity issues
  • [PIT] on Windows, failure of java/awt/Dialog/DialogAboveFrame/DialogAboveFrameTest.java
  • Robot.createScreenCapture produces black screenshot on Oracle Linux 7.1
  • [TEST_BUG] Test closed/java/awt/MenuBar/MenuBarPeer/MenuBarPeerDisposeTest.java fails in unix enviroments with NullPointerException
  • Upgrade harfbuzz in JDK 9 to v1.4.1
  • [TEST_BUG] delays needed in javax/swing/JTree/4633594/bug4633594.java
  • java.management could use System.Logger
  • Add failing java/bean tests in JDK-8173082 to the ProblemList
  • SecurityTools.keytool() needs to accept user input
  • Problem list java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java on Windows
  • Remove JmodTest.java from the probelm list on windows
  • jmod files are not world-readable
  • Replace direct use of AuthResources resource bundle from jdk.security.auth
  • Remove jvisualvm from JDK9
  • java/bean/* tests fail since change of JDK-8055206
  • (se) WindowsSelectorImpl.c does not compile with VS2010
  • Rename jdk.crypto.token to jdk.crypto.cryptoki
  • java/lang/reflect/PublicMethods/PublicMethodsTest.java fails because of too many open files
  • Use less aggressive deprecation of utility visitors
  • Remove all exports from jdk.jlink
  • update/improve testing of classfile module attribute
  • Use default methods as appropriate for language model visitors
  • Add options for Javadoc generation
  • jshell tool: builtin startup settings should be by reference not content
  • jshell tool: /edit adds empty statement to brace terminated snippet
  • JShell Tests: ToolFormatTest takes too long
  • Compiler Tree API's Doctrees.getDocTreePath needs to accept a PackageElement
  • field visiblePackages is null for the unnamed module producing NPE when accessed
  • Improve style of left-side index pages
  • incorrect message from javac
  • java.nio.file.ClosedFileSystemException in javadoc
  • NPE when --add-modules java.corba is used
  • Compiler should issue a warning for incubating modules that are resolved
  • Error compiling javafx modules after fix for JDK-8169197
  • Compilation significantly slower after JDK-8169197
  • inconsistent check of module-related options against target version
  • jshell tool: blank lines removed from multi-line snippets
  • tools/javac/classreader/FileSystemClosedTest.java fails on Windows
  • AssertionError in TypeSymbol.getAnnotationTypeMetadata.
  • Resolve remaining HTML5 issues in javax.lang.model.*

New in Java SE Development Kit (JDK) 8 Update 121 (Jan 17, 2017)

  • Improved protection for JNDI remote class loading
  • Remote class loading via JNDI object factories stored in naming and directory services is disabled by default. To enable remote class loading by the RMI Registry or COS Naming service provider, set the following system property to the string "true", as appropriate:
  • com.sun.jndi.rmi.object.trustURLCodebase
  • com.sun.jndi.cosnaming.object.trustURLCodebase
  • jarsigner -verbose -verify should print the algorithms used to sign the jar:
  • The jarsigner tool has been enhanced to show details of the algorithms and keys used to generate a signed JAR file and will also provide an indication if any of them are considered weak.
  • Specifically, when "jarsigner -verify -verbose filename.jar" is called, a separate section is printed out showing information of the signature and timestamp (if it exists) inside the signed JAR file, even if it is treated as unsigned for various reasons. If any algorithm or key used is considered weak, as specified in the Security property, jdk.jar.disabledAlgorithms, it will be labeled with "(weak)".
  • NEW FEATURES:
  • RMI Better constraint checking:
  • RMI Registry and Distributed Garbage Collection use the mechanisms of JEP 290 Serialization Filtering to improve service robustness
  • RMI Registry and DGC implement built-in white-list filters for the typical classes expected to be used with each service
  • Additional filter patterns can be configured using either a system property or a security property. The "sun.rmi.registry.registryFilter" and "sun.rmi.transport.dgcFilter" property pattern syntax is described in JEP 290 and in <JRE>/lib/security/java.security
  • JDK-8156802 (not public)
  • Add mechanism to allow non-default root CAs to not be subject to algorithm restrictions:
  • New certpath constraint: jdkCA*
  • In the java.security file, an additional constraint named "jdkCA" is added to the jdk.certpath.disabledAlgorithms property. This constraint prohibits the specified algorithm only if the algorithm is used in a certificate chain that terminates at a marked trust anchor in the lib/security/cacerts keystore. If the jdkCA constraint is not set, then all chains using the specified algorithm are restricted. jdkCA may only be used once in a DisabledAlgorithm expression.
  • Example: To apply this constraint to SHA-1 certificates, include the following: SHA1 jdkC
  • CHANGES:
  • The secure validation mode of the XML Signature implementation has been enhanced to restrict RSA and DSA keys less than 1024 bits by default as they are no longer secure enough for digital signatures. Additionally, a new security property named jdk.xml.dsig.SecureValidationPolicy has been added to the java.security file and can be used to control the different restrictions enforced when the secure validation mode is enabled.
  • The secure validation mode is enabled either by setting the xml signature property org.jcp.xml.dsig.secureValidation to true with the javax.xml.crypto.XMLCryptoContext.setProperty method, or by running the code with a SecurityManager.
  • If an XML Signature is generated or validated with a weak RSA or DSA key, an XMLSignatureException will be thrown with the message, "RSA keys less than 1024 bits are forbidden when secure validation is enabled" or "DSA keys less than 1024 bits are forbidden when secure validation is enabled."
  • Restrict certificates with DSA keys less than 1024 bits:
  • DSA keys less than 1024 bits are not strong enough and should be restricted in certification path building and validation. Accordingly, DSA keys less than 1024 bits have been deactivated by default by adding "DSA keySize < 1024" to the "jdk.certpath.disabledAlgorithms" security property. Applications can update this restriction in the security property ("jdk.certpath.disabledAlgorithms") and permit smaller key sizes if really needed (for example, "DSA keySize < 768").
  • More checks added to DER encoding parsing code:
  • More checks are added to the DER encoding parsing code to catch various encoding errors. In addition, signatures which contain constructed indefinite length encoding will now lead to IOException during parsing. Note that signatures generated using JDK default providers are not affected by this change.
  • Additional access restrictions for URLClassLoader.newInstance:
  • Class loaders created by the java.net.URLClassLoader.newInstance methods can be used to load classes from a list of given URLs. If the calling code does not have access to one or more of the URLs and the URL artifacts that can be accessed do not contain the required class, then a ClassNotFoundException, or similar, will be thrown. Previously, a SecurityException would have been thrown when access to a URL was denied. If required to revert to the old behavior, this change can be disabled by setting the jdk.net.URLClassPath.disableRestrictedPermissions system property.
  • A new configurable property in logging.properties java.util.logging.FileHandler.maxLocks:
  • A new "java.util.logging.FileHandler.maxLocks" configurable property is added to java.util.logging.FileHandler.
  • This new logging property can be defined in the logging configuration file and makes it possible to configure the maximum number of concurrent log file locks a FileHandler can handle. The default value is 100.
  • In a highly concurrent environment where multiple (more than 101) standalone client applications are using the JDK Logging API with FileHandler simultaneously, it may happen that the default limit of 100 is reached, resulting in a failure to acquire FileHandler file locks and causing an IO Exception to be thrown. In such a case, the new logging property can be used to increase the maximum number of locks before deploying the application.
  • If not overridden, the default value of maxLocks (100) remains unchanged. See java.util.logging.LogManager and java.util.logging.FileHandler API documentation for more details.
  • BUG FIXES:
  • Trackpad scrolling of text on OS X 10.12 Sierra is very fast:
  • The MouseWheelEvent.getWheelRotation() method returned rounded native NSEvent deltaX/Y events on Mac OS X. The latest macOS Sierra 10.12 produces very small NSEvent deltaX/Y values so rounding and summing them leads to the huge value returned from the MouseWheelEvent.getWheelRotation(). The JDK-8166591 fix accumulates NSEvent deltaX/Y and the MouseWheelEvent.getWheelRotation() method returns non-zero values only when the accumulated value exceeds a threshold and zero value. This is compliant with the MouseWheelEvent.getWheelRotation() specification
  • "Returns the number of "clicks" the mouse wheel was rotated, as an integer. A partial rotation may occur if the mouse supports a high-resolution wheel. In this case, the method returns zero until a full "click" has been accumulated."
  • For the precise wheel rotation values, use the MouseWheelEvent.getPreciseWheelRotation() method instead.
  • This release also contains fixes for security vulnerabilities described in the Oracle Java SE Critical Patch Update Advisory.

New in Java SE Development Kit (JDK) 9 Build 152 Early Access (Jan 13, 2017)

  • Summary of changes:
  • Hotspot code coverage doesn't seem to work
  • Explicitly set --with-target-bits=64 in 64bit jib profiles
  • "make docs" in clean forest is broken
  • Change log message of SetupCopyFiles
  • Need debug log for the intermittent failure of AnonCipherWithWantClientAuth
  • sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh fails with timeout
  • javax/net/ssl/TLSv12/DisabledShortRSAKeys.java timed out
  • getInstance() with unknown provider throws NPE
  • Excessive allocation in ParseUtil.encodePath
  • java launcher no longer accepts -cp "" empty string
  • Mark StressLoopback.java as intermittently failing
  • Typo in DriverManager implNote
  • Replace assert of return type in VarHandle.AccessMode with test
  • Re-apply the fix for bugs 8062389, 8029459, 8061950
  • Two tests sun/security/krb5/auto/ReplayCacheTestProc.java and rcache_usemd5.sh fail on Solaris
  • Issue with FilePermission::implies for wildcard flag(-)
  • GssKrb5Client sends non-zero buffer size when qop is "auth"
  • (ch) linux io_util_md: Operation not supported exception after 8168628
  • Error in the documentation for java.lang.Random
  • java.time.DateTimeFormatter javadoc: F is not week-of-month
  • Incorrect phrase usage in javadocs documentation
  • The javadoc of ZoneRules.previousTransition() is wrong
  • Incorrect documentation for DateTimeFormatter letter 'k'
  • SSLEngine.unwrap fails with ArrayIndexOutOfBoundsException
  • JSSE should create a single instance of the cacerts KeyStore
  • java/rmi/registry/altSecurityManager/AltSecurityManager.java fails due to timeout
  • Inconsistencies across Format class hierarchy in their API spec and actual implementation of Exceptions
  • StackOverflowException when computing glb
  • jdeps --require and --check should detect the specified module in the image
  • typo in "intersection types in cast are not supported" message
  • Add support for latest messages from 'tidy'
  • remove tests from ProblemList
  • javac, fix diagnostic position for statement-bodied lambdas
  • Mark UserInputTest.java as intermittently failing and problem list it
  • improve intellij logging to cover javac internal errors
  • Convert lambda most specific positive tests to check runtime behavior
  • test test/tools/javac/lambda/T8024947/PotentiallyAmbiguousWarningTest.java has an extra @compile attribute that should be removed
  • MostSpecific09.java and PotentiallyAmbiguousWarningTest.java failing across platforms
  • Annotation processor not run with -source

New in Java SE Development Kit (JDK) 9 Build 151 Early Access (Jan 6, 2017)

  • Enable uploading of built artifacts through Jib
  • JDK bundles changes sym links incorrectly in the legal directory
  • docs should use CSS-friendly instead of
  • Configure check for modular boot jdk needs to be updated
  • Gtest libjvm.so is always stripped
  • hprof heap dumps broken for lambda classdata
  • [aix] switch on gtest AIX build
  • jshell tool (make): include built-in startup scripts in image
  • Remove third party readme files left from JDK-8169925
  • [AOT] SIGSEGV at ~BufferBlob::vtable chunks
  • Remove third party readme files left from JDK-8169925
  • Stack size option -Xss is ignored
  • need proper sync for adding default read edges
  • post jigsaw review cleanup in the jtreg jvmti tests
  • Scanning method file for initialized final field updates can fail for non-existent fields
  • AArch64: SIGSEGV when "-XX:+ZeroTLAB" is specified along with GC options
  • Zero fastdebug build triggers assertion
  • Buffer overrun in sharedRuntime_x86_64.cpp:477
  • do not load any archived classes from a patched module
  • C1's Math.fma() intrinsic doesn't correctly process its inputs
  • [AOT] failed AOT compilation in compiler/aot/RecompilationTest.java
  • [aarch64] hs_err logs do not print register mappings
  • RTM/HTM jtreg tests regression after transition to the new GNU-style options
  • Remove shell script from compiler/c2/cr7005594/Test7005594.java
  • PPC64: Make interpreter's math entries consistent with C1 and C2 and support FMA
  • Gtest libjvm.so is always stripped
  • VM may crash at startup because StdoutLog/StderrLog logging stream can be badly aligned
  • LogStreamTest tests crash if they are run first
  • hprof heap dumps broken for lambda classdata
  • LoadAgentDcmdTest.java can't find libinstrument.so
  • assert(_exception_caught == false) failed: _exception_caught is out of phase
  • s390x: Make interpreter's math entries consistent with C1 and C2 and support FMA
  • compiler/ciReplay/TestSAServer.java intermittently throws NumberFormatException
  • convert some CDS dump time warning and error messages to informational messages which will be printed with -XX:+PrintSharedSpaces
  • [aix] Fix gtests compile error on AIX 7.1 with xlC 12
  • [aix] TOC overflow when linking the gtest libjvm.so
  • [TESTBUG] Update expected failure message in runtime/modules/IgnoreModulePropertiesTest.java
  • Work around linux NPTL stack guard error.
  • [posix] Fix minimum stack size computations
  • test_logMessageTest.cpp has "ac_heapanied" instead of "accompanied" inside copyright notice
  • Logging: LogFileOutput.invalid_file_test crashes when executed twice.
  • aarch64: long multiplyExact shifts by 31 instead of 63
  • aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1
  • 8170761 fix should be applied to ARM code after 8168503
  • java/rmi/transport/dgcDeadLock/DGCDeadLock.java failing intermittently
  • Remove OpenNonIntegralNumberOfSampleframes.java and ServerIdentityTest.java from ProblemList
  • sun/security/ssl/SSLContextImpl/TrustTrustedCert.java failed Intermittently
  • Java API doc for method minusMonths in LocalDateTime class needs correction
  • jmod should validate if any exported or open package is missing
  • (ch) sun.nio.ch.SocketAdaptor does not respect timeout in case of system date/time change and blocks
  • Adjacent value parsing not supported for Localized Patterns
  • (fs) Potential for NPE in Files.walkFileTree if closing directory fails
  • LinkedBlockingQueue spliterator needs to support node self-linking
  • Miscellaneous changes imported from jsr166 CVS 2016-12
  • TEST_BUG: sun/rmi/transport/tcp/DeadCachedConnection.java fails due to "ConnectException: Connection refused to host"
  • issues with String.toLowerCase/toUpperCase
  • CLDR timezone parsing does not work for all locales
  • AsyncSSLSocketClose.java test fails timeout.
  • (spec) An ALPN callback function may also ignore ALPN
  • Test api/javax_swing/UIManager/index.html#Methods is failing
  • new @BeanProperty annotation: inconsistent behavior for "enumerationValues"
  • Font related files should not be modified in ${java.home}/lib
  • clipboard.getData(dataFlavor) can throw UnsupportedFlavorException for registered data flavor
  • [PIT] Four Windows-specific tests fail with InaccessibleObjectException when calling Field.setAccessible()
  • Fix minor issues in java2d and sound coding.
  • Tab key should move to focused button in a button group
  • Changes for 8148023 break AIX build
  • InetAddress.getByName() throws java.net.UnknownHostException no such interface when used with virtual interfaces on Solaris
  • Incorrect statement about an absolute value of months unit after period's normalization
  • Class.getMethod() is inconsistent with Class.getMethods() results
  • (reflect) getMethods returns methods that are not members of the class
  • Class.getMethods() exhibits quadratic time complexity
  • Backout of fix for 8062389, 8029459, 8061950
  • libawt_xawt and libawt_headless should not set rpath to /..
  • [TESTBUG] javax/xml/ws/xsanymixed/Test.java failed on compilation
  • Re-examine use of AtomicReference in java.security.Policy
  • Enable uploading of built artifacts through Jib
  • JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
  • JShell: incorrect printing of multidemensional arrays
  • jshell tool: message inconsistencies
  • jshell tool: remove print method forwarding to System.out from default startup
  • Improve class reading of invalid or out-of-range ConstantValue attributes
  • Method reference T::methodName for generic type T does not compile any more
  • SparseArrayData should not grow its underlying dense array data
  • Collection and Queue conversions not prioritized for Arrays
  • test/script/basic/JDK-8141209.js fails

New in Java SE Development Kit (JDK) 9 Build 150 Early Access (Jan 5, 2017)

  • Organize licenses by module in source, JMOD file, and run-time image
  • JDK 9 fails to build when enabling Hotspot code coverage
  • Build fails in Mach 5 with "File name too long."
  • [TESTBUG] Fix tests on Linux/s390x
  • Move fine granular hotspot make targets to top level
  • register closed @requires property setter
  • Implement setting jtreg @requires property vm.jvmci
  • Drop java.compact$N aggregator modules
  • Rename jdk.crypto.pkcs11 and jdk.pack200 to end with Java letters
  • Add IMPLEMENTOR property to the release file
  • Run time and tool support for ModuleResolution
  • modules_legal from imported modules are not read by the build
  • Exported elements referring to inaccessible types in jdk.accessibility
  • Move src.zip to JDK/lib/src.zip
  • Remove the lib/ directory from Linux and Solaris images
  • Integrate Graal-core into JDK for AOT compiler
  • Integrate AOT compiler into JDK
  • Eliminate dependency on java.naming/com.sun.jndi.toolkit.url
  • JEP 297: Unified arm32/arm64 Port
  • jshell tool (make): update javadoc generation for jdk.jshell
  • Eliminate dependency on java.naming/com.sun.jndi.toolkit.url
  • Use a bitmap to control StackTraceElement::toString format and save footprint
  • Link gtestLauncher statically if libjvm is configured for static linking
  • [TESTBUG] Fix tests on Linux/s390x
  • C1: Crash in java.lang.String.indexOf in some java.sql tests
  • Initialize and reset G1 phase times to zero
  • [JVMCI] incomplete API to MethodParameters attribute
  • sun.jvm.hotspot.utilities.soql.JSJavaHeap.forEachClass incorrect test
  • sun.jvm.hotspot.HSDB.FindObjectByTypeCleanupThunk.showConsole.attach infinite loop
  • Potential open file descriptor in exists() of hotspot/agent/src/os/bsd/ps_core.c
  • Aarch64: Improve internal array handling
  • Fix x86 SHA instructions to be non Vex encoded
  • Unstable MethodHandle inlining causing huge performance variations
  • [JVMCI] expose missing StubRoutines for intrinsics
  • Montgomery multiply intrinsic should use correct name
  • [s390] Various minor bug fixes and adaptions.
  • G1 phase logging is messy
  • Libjsig build doesn't set flags for ppc64/s390 builds
  • Quarantine TestCpoolForInvokeDynamic.java until JDK-8169232 is solved
  • Fix for JDK-8067744 creates build failures with some versions of gcc and/or linux
  • relax vm options checking during CDS dump time
  • CDS: assert(max_delta

New in Java SE Development Kit (JDK) 9 Build 149 Early Access (Dec 15, 2016)

  • bash configure output contains a typo in a suggested library name
  • Stop modifying VERSION_OPT for adhoc builds on reconfigure
  • Remove code duplication in test makefiles
  • Cannot build Zero with devkit
  • Move java.net.http package out of Java SE to incubator namespace
  • Remove code duplication in test makefiles
  • Cannot build Zero with devkit
  • Remove code duplication in test makefiles
  • Update ServiceProviderTest for newDefaultInstance() methods in JAXP factories
  • JDK9 message drop interim resource updates - OpenJDK
  • test/java/util/zip/ZipFile/TestZipFile needs @modules to work with Method.setAccessible()
  • SingletonIterator.forEachRemaining doesn't advance before calling action
  • java/rmi/activation/Activatable/* tests fails intermittently with "output improperly annotated"
  • javax/management/remote/mandatory/connection/RMIConnector_NPETest.java may leave orphaned processes
  • Locale.getISOCountries() has inconsistent behaviour for "AN", "BU" and "CS" country codes.
  • Remove code duplication in test makefiles
  • Restore ObjectInputStream::resolveClass call stack default search order
  • Minor optimizations to ISO10126PADDING
  • JNI exception pending in jni_util.c:190
  • JNI exception pending in jni_util.c:190
  • Improve code samples in Collectors javadoc
  • ZipFile implementation no longer caches the last accessed entry/pos
  • Problem list LocaleTest.java until JDK-8170840 is fixed
  • Unpredictable results of j.i.ObjectInputFilter::createFilter
  • fc) SIGBUS when extending file size to map it
  • failed test case is not checked in java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java
  • Test java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java failed intermittently in nightly
  • Currency names missing in some locales
  • JDK9 message drop interim resource updates - OpenJDK
  • java/util/Locale/LocaleTest.java failed with "Uncaught exception thrown in test method TestGetLangsAndCountries"
  • SystemLoggerInPlatformLoader.java failing in case of module limitation
  • java/net/InetAddress/ptr/lookup.sh failed intermittently
  • Fix minor issues in AWT/ECC/PKCS11 coding
  • Resolve disabled warnings for libj2ucrypto
  • Remove intermittent key from javax/net/ssl/DTLS/CipherSuite.java
  • tz) Support tzdata2016j
  • Move java.net.http package out of Java SE to incubator namespace
  • rmid emits warning about security policy with obsolete URL
  • java.util.logging might force the initialization of ResourceBundle class too early.
  • jar's usage message output need some cleanup
  • New SSLSocket testing template
  • Fix deprecation warnings in jdk.deploy.osx module
  • A couple of JSSE tests have been failing after JDK-8170329
  • ResourceBundle improper caching causes tools/javadoc tests intermittently
  • Add jmod extract subcommand
  • jdk.internal.jmod.JmodFile.JMOD_MAGIC_NUMBER is a mutable array
  • Optimize Class.isAnonymousClass, isLocalClass, and isMemberClass
  • TEST_BUG: java/rmi/activation/CommandEnvironment/SetChildEnv.java can fail
  • MODULES property should be topologically ordered and space-separated list
  • Problem list ServerIdentityTest.java on window
  • Put TimeoutOrderingTest in ProblemList for solaris-all
  • Fix @since for java.net.Inet[46]Address
  • SO_RCVBUF and SO_SNDBUF options problem for network channels on MacOS
  • Problem list ModuleNamesOrderTest.java until JDK-8171070 is fixed
  • JDK9 message drop interim resource updates - OpenJDK
  • javadoc top left frame should display all modules while in module mode
  • CheckResourceKeys tests should declare the resource package to be open
  • ClassReader assigns method parameters from MethodParameters incorrectly when long/double parameters are present
  • Add javax.tools.Tool.name()
  • Wrong code generated for postfix unary operators
  • JavacFiler.checkFileReopening drowns in exceptions after Modular Runtime Images change
  • Remove code duplication in test makefiles

New in Java SE Development Kit (JDK) 9 Build 148 Early Access (Dec 9, 2016)

  • Summary of changes:
  • Better model for storing source revision information
  • JDK-8031567 broke source bundles
  • JDK-8031567 broke builds from source bundles
  • Move src.zip and jrt-fs.jar under the lib directory
  • back out src.zip change from JDK-8170424
  • Improve jlink logging for cases when a plugin throws exception
  • Silence error message in compare.sh when selecting images
  • Module system implementation refresh (11/2016)
  • Race condition with release file creation
  • Add jdk.unsupported to the compact profile builds
  • JDK should build with Oracle Developer Studio
  • Remove legacy hotspot compiler setup
  • Test for microsoft compiler minimum version
  • DEBUG_BINARIES can be removed
  • "explicitly" is misspelled as "explicitely" in configure scripts
  • PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation
  • JShell (root repo): remove exports exclusion from -Xlint for jdk.jshell
  • Enable unlimited cryptographic policy by default in OracleJDK
  • Add a crypto policy fallback in case Security Property 'crypto.policy' does not exist
  • JDK-8038957 broke cross compilation
  • Better model for storing source revision information
  • Module system implementation refresh (11/2016)
  • Better model for storing source revision information
  • Module system implementation refresh (11/2016)
  • compiler/** tests using ToolProvider.getSystemClassLoader failing
  • Better model for storing source revision information
  • Add new public methods to get new instances of the JAXP factories builtin system-default implementations
  • Module system implementation refresh (11/2016)
  • XMLStreamReader.getElementText return corrupt content when size of element is > 8192
  • Better model for storing source revision information
  • Module system implementation refresh (11/2016)
  • Better model for storing source revision information
  • FilePermission path modified during merge
  • JConsole might use System.Logger
  • Move src.zip and jrt-fs.jar under the lib directory
  • Problem list LogGeneratedClassesTest.java until JDK-8170408 is fixed
  • java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java still fails intermittently
  • optimize ArrayList.removeIf
  • ArrayList.subList().iterator().forEachRemaining() off-by-one-error
  • ArrayDeque improvements
  • new ArrayDeque(2**N) allocates backing array of size 2**(N+1)
  • LinkedBlockingDeque spliterator needs to support node self-linking
  • CopyOnWriteArrayList subList needs more synchronization
  • ConcurrentSkipListSet.clear() can leave the Set in an invalid state
  • Clarify Semaphore.drainPermits behavior when current permits are negative
  • Miscellaneous changes imported from jsr166 CVS 2016-10
  • TESTBUG: com/sun/security/ tests have undeclared modules dependencies
  • (reflect) Optimize SignatureParser's use of StringBuilders
  • Unexpected ID for RMI connection
  • Typo in getCalendarType() method of Chronology class
  • LogGeneratedClassesTest.java fails with recent changes
  • Problem list javax/rmi/PortableRemoteObject/8146975/RmiIiopReturnValueTest.java
  • java/security/SecureRandom/ApiTest fails when run with unlimited policy
  • Improve jlink logging for cases when a plugin throws exception
  • Test clashes with another test with a similar name
  • (reflect) Performance problem in sun.reflect.generics.parser.SignatureParser
  • java.lang.InternalError in java.lang.invoke.MethodHandleImpl$BindCaller.bindCaller
  • com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java failed with "Port already in use"
  • Iterator.forEachRemaining vs. Iterator.remove
  • TEST_BUG: java/rmi/activation/rmidViaInheritedChannel tests may fail
  • java/nio/channels/Selector/Wakeup.java failing
  • Module system implementation refresh (11/2016)
  • AWT source dirs should only point to java2d, not below
  • Incorrect bug id in problem list
  • java/net/Authenticator/B4933582.sh fails intermittently with BindException
  • Startup regression due to introduction of lambda in java.io.FilePermissionCollection
  • jar -d m.jar hangs
  • StringBuffer and StringBuilder stream methods are not late-binding
  • Remove OpenNonIntegralNumberOfSampleframes.java from ProblemList
  • com/sun/jndi/rmi/registry/RegistryContext/ContextWithNullProperties.java failed with BindException
  • java/rmi/server/useCustomRef/UseCustomRef.java failed with java.net.BindException intermittently
  • java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java fails intermittently with Port already in use
  • Add a method to set an Authenticator on a HttpURLConnection.
  • "explicitly" is misspelled as "explicitely" in configure scripts
  • PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation
  • URLClassLoader spec needs to mention that it's MR-aware
  • backslashes in gensrc/module-info.java comments need escaping
  • RMI regression test failures due to missing @build TestLibrary
  • Certificates not being blocked by jdk.tls.disabledAlgorithms property
  • Problem list com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java until fix of JDK-8170669
  • java.time does not support HOST provider
  • HashMap.HashIterator.remove method does not use cached value for the hash code.
  • [TEST_BUG] Cipher tests fail when running with unlimited policy
  • com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java fails after JDK-8153916
  • java/rmi/registry/interfaceHash/InterfaceHash.java failed intermittently with "Port already in use"
  • Enable unlimited cryptographic policy by default in OracleJDK
  • Add a crypto policy fallback in case Security Property 'crypto.policy' does not exist
  • Some PKCS11 test cases are ignored with security manager
  • space before percent is inconsistent between sv and sv_SE
  • wrong number format for Serbian locale with Latin script
  • Better model for storing source revision information
  • Move src.zip and jrt-fs.jar under the lib directory
  • back out src.zip change from JDK-8170424
  • default langtools make test settings result in no ouput
  • Module system implementation refresh (11/2016)
  • langtools/test/Makefile should set -retain:fail,error by default
  • Compiling with annotation processing, access error in specific situation
  • jdk/jshell/ExternalEditorTest.java testStatementMush() fails frequently on all platform
  • jshell tool: /help output looks terrible on a 100 column wide terminal
  • jshell tool: post setting not properly applied, line-ends not prefixed correctly
  • JShell API: Exported elements referring to inaccessible types in jdk.jshell
  • StandardJavaFileManager.getModuleLocation() can't find a module
  • langtoolstestjdkjshellCommandCompletionTest.java fails on some windows
  • inference: javac doesn't implement 18.2.5 correctly
  • javadoc emits "specified by" clause when class has a method that matches a static interface method
  • Specialized functions convert booleans to numbers
  • Better model for storing source revision information
  • Array-like AbstractJSObject-based instance not treated as array by native array functions
  • Compilation warning with NashornException
  • Module system implementation refresh (11/2016)
  • JSObject call() is passed undefined for the argument 'thiz'
  • >>>=0 generates invalid bytecode for BaseNode LHS
  • JDK-8130127.js fails under cygwin: cygwin path pased to Java
  • Nashorn: ant testng tests doesn't support external java options

New in Java SE Development Kit (JDK) 9 Build 147 Early Access (Dec 4, 2016)

  • Summary of changes:
  • Clean up and unify the refactored Javadoc generation
  • Properly parallelize javadoc generation
  • Use ZIPEXE instead of ZIP to avoid clash with options for zip
  • Suppress Deprecation warnings for deprecated Swing APIs
  • Enable -g for all java compilation in the build
  • Change -KPIC to -xcode=pic32 on sparc
  • Use ZIPEXE instead of ZIP to avoid clash with options for zip
  • Remove incorrect comments about generated jvmt.h
  • ProblemList update for javax/xml/jaxp/isolatedjdk/catalog/PropertiesTest.sh
  • Very large CDATA section in XML document causes OOME
  • Use ZIPEXE instead of ZIP to avoid clash with options for zip
  • [JAXP] XALAN: Transformation of DOM with null valued text node causes NPE
  • [JAXP] [TESTBUG] test/javax/xml/jaxp/libs/jaxp/library/JAXPPolicyManager.java should grant permissions to jtreg, javatest, and testng jars
  • com/sun/nio/sctp tests has undeclared dependency on jdk.sctp module
  • The set of jlink plugins enabled by default should be the same via CLI or jlink API
  • Update changes by JDK-8159393 to reflect CCC review
  • Add a new method: java.net.Authenticator.getDefault()
  • Debug of access control is obfuscated - NullPointerException in ProtectionDomain
  • Remove OpenNonIntegralNumberOfSampleframes.java from the problem list
  • Merge SSLSocketSample and SSLSocketTemplate
  • Stream.generate should use a covariant Supplier as parameter
  • Better spliterator implementation for BitSet.stream()
  • output more information when java/nio/channels/AsynchronousSocketChannel/Basic.java fails
  • update existing i18n test cases of test/java/util
  • DateTimeFormatter.format() uses exceptions for flow control
  • SecureRandom should be more explicit about threading
  • SecureRandom::getSeed(num) not specified if num is negative
  • Remove the sun.reflect.noCaches option
  • java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java failed intermittently
  • ProblemList update for tools/pack200/CommandLineTests.java
  • ProblemList update for java/lang/management/MemoryMXBean/PendingAllGC.sh
  • Write new tests to cover functionality of existing 'jimage' options
  • TESTBUG: javax/rmi tests have undeclared dependencies
  • Class::desiredAssertionStatus should call getClassLoader0
  • java agent fails to add to class path when the initial module is a named module
  • java/rmi/activation/Activatable tests fail due to "Port already in use" in RMID.restart()
  • Return unmodifiable set of zone IDs to optimize ZoneIdPrinterParser
  • Problem list java/lang/ClassLoader/platformClassLoader/DefinePlatformClass.java
  • Plugin alias options in jlink --help output seems to be in an arbitrary order
  • Problem list failing jimage tests until JDK-8169713 is fixed
  • [TESTBUG] com/sun/jndi tests have undeclared dependency on java.naming module
  • OpenNonIntegralNumberOfSampleframes.java still fails
  • JavaFX application in named module fails to launch if no main method
  • tests under java/rmi/activation/ fail with "java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:5281" "listen,resolve")" on windows
  • Enhanced tests for jarsigner -verbose -verify after JDK-8163304
  • Tighten permissions granted to the jdk.localedata module
  • java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java fail with zh_CN locale
  • java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java fails intermittently
  • Use ZIPEXE instead of ZIP to avoid clash with options for zip
  • [PIT][TEST_BUG] java/awt/FileDialog/FileDialogIconTest/FileDialogIconTest.java fails
  • Incorrect implementation of equals in Encoding and Type in JavaSound
  • Re-examine the alternative to deliver include/bridge/AccessBridgeCalls.c
  • TIFF reading fails when ignoring metadata with BaselineTIFFTagSet removed
  • javax/sound/sampled/Clip/OpenNonIntegralNumberOfSampleframes.java fails
  • JInternalFrame can't show correctly with the specical option "-esa -ea -Xcheck:jni -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
  • JViewport backing store image is not scaled on HiDPI display
  • Resolve disabled GCC warning 'deprecated-declarations' for libawt_xawt
  • [TEST_BUG] java/awt/Focus/DisposedWindow
  • [TIFF] NPE when reading LZW-compressed image
  • Suppress deprecation warnings for Applet classes in java.desktop
  • Update JLightweightFrame to allow non-integer (and X/Y) scales
  • Add floating point implementation for new BasicGraphicsUtils text related methods use floating point API
  • Taskbar.setWindowProgressValue() spec does not specify expected visual behavior of setWindowProgressValue()
  • TEST_BUG: java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java fails
  • JVM crash at sun.java2d.windows.GDIBlitLoops.nativeBlit
  • Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
  • Provide internal API to JavaFX to locate JDK fonts
  • Fix java.desktop deprecation warnings about Class.newInstance
  • [PIT] What to expect of updated java/awt/print/PrinterJob/Margins.java
  • The task bar icon color is not blue
  • [PIT][TEST_BUG] missing helper for javax/swing/text/GlyphPainter2/6427244/bug6427244.java
  • VolatileImage should not be compatible with GraphicsConfiguration which transform is changed
  • The fix JDK-8083664 in AudioFileWriter can be reverted
  • Suppress Deprecation warnings for deprecated Swing APIs
  • Animated GIFs created from opaque PNG image frames appear transparent when loaded with Toolkit APIs
  • javax/swing/JEditorPane/8080972/TestJEditor.java, javax/swing/text/View/8080972/TestObjectView.java are failing
  • Remove ClassLoader/platformClassLoader/DefinePlatformClass.java from ProblemList
  • When determining the ciphersuite lists, there is no debug output for disabled suites.
  • SSLSessionImpl finalize overhead
  • ObjectInputFilter Config spec is ambiguous regarding overriding the filter via System properties
  • ClassLoader.isParallelCapable is final and conflicting method may get VerifyError
  • Stream returning methods should specify if they are late binding
  • Spliterator documentation on Priority(Blocking)Queue
  • Undefined null behavior in ClassLoader.getResourceXXXX()
  • java.lang.reflect.Constructor class has wrong api documentation
  • jdk.desktop needs package access to sun.awt.
  • Remove incorrect locale data for inexistent language German (Greece)
  • ProblemList.txt update for com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java
  • jshell tool: double shift-tab on variable crashes tool
  • jshell tool: /edit doesn't process each line as same as inputs for jshell
  • JShell tests: jdk/jshell/ExternalEditorTest.java -- unexpected results EditorTestBase.testEditClass1() and .testEditMethod1()
  • boolean result of Option.process is often ignored
  • Clarify JavaFileManager use of "module location"
  • (jdeps) missing messages for localization
  • Javadoc search does not work with Enums
  • jshell tool: completion provider for /help
  • jshell tool: completion provider for /vars /methods /types gives -history
  • Problem list ExternalEditorTest.java
  • JShell: SourceCodeAnalysis splits code with array initialiazer incorrectly
  • Problem list ExternalEditorTest.java on all platforms
  • javac --inherit-runtime-environment fails with "cannot find modules: ALL-DEFAULT"
  • javax.tools.ToolProvider::getSystemToolClassLoader returns app class loader even if no tool is available
  • JShell: Handle start-up failures and hangs gracefully
  • JShell: locks forever if -R options is wrong
  • JShell: hangs on startup on some computers caused by hostname
  • Problem list 2 jdk/jshell tests
  • remove debug print statement
  • Langtools test/Makefile ignores failed tests
  • Refine the Doclet APIs
  • Clarify JavaFileManager use of "module location"
  • JavaAdapters do not work with ScriptObjectMirror objects
  • Add test for JDK-8162839 that runs with SecurityManager
  • Use ZIPEXE instead of ZIP to avoid clash with options for zip

New in Java SE Development Kit (JDK) 9 Build 146 Early Access (Nov 24, 2016)

  • Add stress test GCBasher
  • [TESTBUG] Rewrite compiler/ciReplay/TestVM.sh in java
  • Reduce buffering in jtreg timeouthandler
  • Various timeouthandler fixes
  • TestJpsJar shouldn't jar all test.classpath directories
  • change merge context to clear for mask register usage model
  • AArch64: in one core system, fatal error: Illegal threadstate encountered
  • Add stress test GCBasher
  • Convert TestMetachunk_test to GTest
  • Convert GuardedMemory_test to Gtest
  • RuntimeException: canRead() reports false for reading from the same module: expected true, was false
  • serviceability/tmtools/jstat/GcTest02.java fails with parallel GC
  • gc/g1/TestHumongousShrinkHeap.java fails with OOME
  • Add a new CPU family (S_family) for SPARC S7 and above processors
  • d7f89a030d77 8168295 [JVMCI] -XX:+JVMCIPrintProperties should exit after printing
  • Convert TestNewSize_test to GTest
  • Convert TestOldSize_test to GTest
  • [TESTBUG] Rewrite compiler/ciReplay/TestVM.sh in java
  • Convert FreeRegionList_test to GTest
  • NoClassDefFoundError should not be thrown if class is in_error_state at link time
  • PPC64: implement intrinsic code with vector instructions for Unsafe.copyMemory()
  • jhsdb dumps core on Solaris 12 when loading dumped core
  • Quarantine serviceability/jdwp/AllModulesCommandTest.java test
  • Add intrinsic support for writer used in event based tracing
  • Update for x86 SHA512 using AVX2
  • is_compiled_by_jvmci hot in some profiles - improve nmethod compiler type detection
  • SPECjvm2008-crypto.signverify regression in 9-b105
  • SIGSEGV in frame::safe_for_sender on incomplete DeoptimizationBlob frame
  • CMS needs klass_or_null_acquire
  • XX:+PrintRelocations crashes the VM
  • Remove jtreg timeout handler timeout
  • DebuggerException: Can't attach symbolicator to the process
  • Misplaced call to ClassLoaderDataGraph::clear_claimed_marks during initial mark
  • JVMCI] use reflection instead of jdk 9 Module API in Services.java
  • JNI AsyncGetCallTrace replaces topmost frame name with starting with Java 9 b133
  • java.lang.management.ManagementFactory.getPlatformMXBeans() should work even if jdk.management is not present
  • Fix for 8166972 breaks aarch64 build
  • Convert QuickSort_test to GTest
  • Convert DependencyContext_test to GTest
  • Convert TestOS_test to GTest
  • NoSuchMethodException when method name contains NULL or Latin-1 supplement character
  • Convert WorkerDataArray_test to GTest
  • Xlog:defaultmethods=debug: lengthy method descriptor triggers "StringStream is re-allocated with a different ResourceMark"
  • Use the LL/ULL suffixes to define 64-bit integer literals on Windows
  • s390] Basic enablement of s390 port
  • s390] Adaptions needed for s390 port in C1 and C2
  • s390] Extend relocations for pc-relative instructions
  • s390] The s390 port
  • Add UTC timestamp decorator for UL
  • "pure virtual method called" with using new GC logging mechanism
  • PPC64: Cleanup template interpreter after 8154580 and 8154867
  • Intrinsic support for event based tracing needs explicit control dependency
  • PPC64: Use cmpldi instead of li/cmpld
  • runtime/threads/ThreadInterruptTest3 fails with ExitCode 0
  • invokedynamic implementation should not wrap Errors
  • GC.class_stats should not require -XX:+UnlockDiagnosticVMOptions
  • XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
  • Fix for 8151988 causes performance regression on SPARC
  • [JVMCI] use MethodParameters attribute instead of depending on -g option for sanity checks
  • assert(tp->base() != Type::AnyPtr) crash with Unsafe.compareAndExchangeObject*
  • Scheduling failures during gcm should be fatal
  • adlc: fix error expanding expanded nodes
  • Quarantine GcCauseTest02 and GcTest02
  • C1: compiler.escapeAnalysis.TestArrayCopy fails to throw ArrayStoreException
  • C2: ArrayCopy elimination skips required parameter checks
  • SA: jhsdb clhsdb 'printall' often throws "Corrupted constant pool" assertion failure
  • ARMv7 Linux C2 compiler crashes running jtreg harness on MP systems
  • Quarantine TestCpoolForInvokeDynamic.java until JDK-8169232 is solved
  • remove jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/COPYRIGHT.html
  • Update JAX-WS RI integration to latest version (2.3.0-SNAPSHOT)
  • Update JAX-WS RI integration to latest version (2.3.0-SNAPSHOT)
  • GPL header missing comma in year
  • Mark RmiIiopReturnValueTest.java as intermittently failing
  • MXBean javadoc should be updated to take modules into account
  • Remove jtreg timeout handler timeout
  • Uninitialised memory in byteArrayToPacket of SharedMemoryConnection.c
  • DebuggerException: Can't attach symbolicator to the process
  • TestJpsJar shouldn't jar all test.classpath directories
  • java.lang.management.ManagementFactory.getPlatformMXBeans() should work even if jdk.management is not present
  • invokedynamic implementation should not wrap Errors
  • java.lang.LinkageError from test java/lang/ThreadGroup/Stop.java
  • [findbugs] java.lang.management.ThreadInfo returns mutable objects
  • sun/security/krb5/auto/rcache_usemd5.sh fails on solaris

New in Java SE Development Kit (JDK) 9 Build 145 Early Access (Nov 22, 2016)

  • Fix wrong cpu build flag for Linux/ppc64le build
  • Update compare script for clean compare
  • Better context for some jlink exceptions
  • Dump the reproduced packet in DTLSOverDatagram.java
  • Improve sun.util.locale.LocaleMatcher
  • Increased number of classes initialized during initialization of SignatureFileVerifier
  • java.util.jar.JarFile.runtimeVersion() spec needs clarification
  • JarFile#getVersion spec clarification for unversioned jars
  • Tighten permissions granted to the jdk.zipfs module
  • keytool doesn't print certificate info if disabled algorithm was used for signing a jar
  • RSAClientKeyExchange debug info is incorrect
  • (tz) Support tzdata2016i
  • Optional.map() javadoc code example
  • Interop automated testing with Chrome
  • [TESTBUG] Three tests from sun/net/www have undeclared dependencies
  • Remove launcher's built-in ergonomics
  • com/sun/corba/cachedSocket should be added to exclusiveAccess.dirs
  • 3 JCK NetworkInterface tests fail on Raspberry Pi
  • jshell tool: pasting multiple lines hangs input
  • Wrapping of FileInputStream's native skip and available methods
  • com/sun/net/httpserver tests have undeclared dependency on java.logging
  • AnchorCertificates uses hardcoded password for cacerts keystore
  • Few OCSP related test failed with "Response is unreliable: its validity interval is out-of-date"
  • jimage help message for --include option should be corrected
  • (se) EPollArrayWrapper optimization for update events should be robust to dynamic changes in file descriptor resource limits
  • IAE while invoking javadoc with --patch-module
  • NPE during invoking getEnclosedElements() on javax.lang.model.element.Element instance representing a package
  • javac should detect/reject repeated use of --patch-module on command line
  • JShell: restrict RemoteAgent connection socket to localhost
  • Several JShell tests are failing on Solaris after JDK-8145838
  • jshell tool: shortcut var does not import its type
  • Fix jdeps verbose options
  • jdeps --list-reduced-deps should not show java.base as all modules require it
  • javac throws NPE if annotation processor is specified and module is declared in a file named arbitrarily
  • javadoc should identify the ordinal value of enum constants
  • don't emit conversions for symbols outside their lexical scope
  • Fix Performance of Lexer.isJSWhitespace
  • Catch parameter can be a BindingPattern in ES6 mode

New in Java SE Development Kit (JDK) 9 Build 144 Early Access (Nov 13, 2016)

  • Editor support: include properties file in image
  • Exported elements referring to inaccessible types in java.desktop
  • lib/classlist should be packaged in java.base.jmod
  • tar.gz bundles missing files containing $
  • Add support for classloader names
  • Use unsigned random long in a temp directory name
  • Inconsistent Annotation.toString()
  • RMI server-side multiplex protocol should be disabled
  • Editor support: move built-in and external editor support to the jdk repo
  • jshell tool: Edit Pad has readability issues
  • Test case in CollectionAndMapModifyStreamTest for LinkedHashMap overrides that for HashMap
  • java/net/URLPermission/nstest/lookup.sh fails intermittently
  • java/net/ipv6tests/UdpTest.java fails intermittently with "checkTime failed: got 1998 expected 4000"
  • TESTBUG] java/io/Serializable/serialFilter/ tests have undeclared dependency on java.compiler module
  • Add since element to JDBC deprecated methods
  • Several java/net/httpclient have undeclared dependency on java.logging module
  • Correct deprecation text for Class.newInstance
  • TEST_BUG] javax/swing/ToolTipManager/7123767/bug7123767.java: number of checked graphics configurations should be limited
  • ExifGPSTagSet and ExifTIFFTagSet should use string literals for String constants
  • Dubious FontMetrics values from NullFontScaler
  • macosx] Delete unused class NSPrintinfo
  • Table in javax.imageio package description does not mention TIFF
  • TEST_BUG] @test missed in java/awt/Window/ChangeWindowResizabilty/ChangeWindowResizabiltyTest.java
  • TESTBUG] [macosx] Test java/awt/TrayIcon/DragEventSource/DragEventSource.java fails on OS X
  • macosx] LinearGradientPaint and RadialGradientPaint are not printed on OS X.
  • Consider making some classes in javax.imageio.plugins.tiff final
  • No link to BMP specification in javax.imageio package documentation
  • The regression-swing case failed as Ctrl-F4 can't work with the special options"-client -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel"
  • TEST_BUG] On Unity, need a delay before screenshot taking to avoid animation
  • Opensource unit/regression tests for JavaSound
  • java.nio.file.InvalidPathException if click button in JFileChooser demo of SwingSet2
  • Exported elements referring to inaccessible types in java.desktop
  • javax.net.ssl.SSLEngine does not properly handle received SSL fatal alerts
  • cl) Add support for classloader names
  • sun/rmi/runtime/Log/6409194/NoConsoleOutput.java fails Intermittently: unexpected subprocess output
  • consider making empty instances singletons
  • minor immutable collections optimizations
  • Fix tests to add @compile --add-modules to workaround jtreg bug
  • jmod fails on symlink to directory
  • lib/classlist should be packaged in java.base.jmod
  • tar.gz bundles missing files containing $
  • jlink should print a warning that a signed modular JAR will be treated as unsigned
  • Improve error reporting for compiling against unexported package
  • Build is failing after JDK-8166538
  • add bug IDs to jdeprscan tests
  • jshell tool: Edit Pad should be in its own module
  • getEnclosedElements() on package causes BadClassFile error
  • langtools build.xml broken on windows
  • jshell tool: /var value is not truncated per feedback setting
  • jshell tool: confusing truncation of long result values
  • JShell tool: welcome message should match feedback mode
  • jshell tool: Typo in jshell command '/? /reload' description
  • align javac --add-* modules options with launcher
  • JShell: compilation fails if class, method or field is annotated and has modifiers
  • JShell: Runtime visible annotations cannot be retrieved
  • JShell API: Clean-up following 8160127 et. al.
  • javac erroneously reject a a service interface inner class in a provides clause
  • Generics, javac not matching actual and formal arguments.
  • Unimplemented ES6 features should result in clear Error being thrown

New in Java SE Development Kit (JDK) 9 Build 143 Early Access (Nov 6, 2016)

  • [s390] Top-level build changes required for Linux/s390x
  • Enable concurrency in Hotspot jtreg testing
  • More detailed information about native libraries in build log
  • Convert javadoc generation to build-infra standards
  • Create a module to provide access to non-SE desktop APIs
  • Exported elements referring to inaccessible types in jdk.jsobject
  • Examine src.zip in JDK image and decide if source classes should be organized by module
  • Incremental build of images always rebuilds jmods
  • Missing dependency for docs-copy
  • jshell tool: access javadoc from tool
  • Checked in jvmti.h not in sync with generated jvmti.h
  • StackWalker implementation added logging option without using UL
  • (minor cleanups 1) remove reference to ZIP_ReadMappedEntry 2) checking of st_mode
  • Convert TestResourcehash_test to Gtest
  • AbstractMethodError when evaluating a private method in an interface via debugger
  • aarch64: StrIndexOfChar intrinsic is not implemented
  • several native TESTs should be changed to TEST_VM
  • core and hs_err files
  • C2: Skip transformation of LoadConP for heap-based compressed oops
  • The minimal VM should be stripped using --strip-unneeded
  • Convert gcTraceTime internal tests to GTest
  • Convert LogTagSet related internal tests to GTest
  • Convert LogMessage internal tests to GTest
  • Convert LogFileOutput internal tests to GTest
  • Convert LogStream internal tests to GTest
  • Convert internal logging tests to GTest
  • Refactor gen_process_roots to allow simpler fix for 8165949
  • Serial and ConcMarkSweep do not unload strings when class unloading is disabled
  • [JVMCI] Expose decompile counts in MDO
  • C2: Suppress relocations in scratch emit.
  • [JVMCI] no reliable mechanism for querying JVMCI system properties
  • AArch64: Broken stack pointer adjustment in interpreter
  • [JVMCI] JVMCI re-initialization check is in the wrong location
  • fatal error: acquiring lock DirtyCardQ_CBL_mon/16 out of order with lock Module_lock/6 -- possible deadlock
  • PPC64: Race condition between stack bang and non-entrant patching
  • AArch64: Fix JNI floating point argument handling
  • [JVMCI] export JVMCI to auto-detected JVMCI compiler
  • SIGFPE in C2 Loop IV elimination
  • [JVMCI] record metadata relocations for metadata references
  • Crash in HotSpot with jvm.dll+0x42b48 ciObjectFactory::create_new_metadata
  • Elimination of clone's ArrayCopyNode may make compilation fail silently
  • fix wrong comment in ReceiverTypeData
  • assert(RelaxAssert || w != Thread::current()->_MutexEvent) failed: invariant
  • Fix license and copyright headers in jd9 under hotspot/test
  • java in ldoms, with cpu-arch=generic has problems
  • Fix for JDK-8031290 is unnecessarily fragile
  • meminfo(2) has been available since Solaris 9
  • Add message for CMS deprecation for Oracle builds
  • Adapt mutex padding according to DEFAULT_CACHE_LINE_SIZE
  • Deprecate UseAutoGCSelectPolicy
  • Deprecate AutoGCSelectPauseMillis
  • Infinite loop in handle_wrong_method in jmod
  • broke jvmci build on aarch64
  • Kitchensink sudden death - error code 0x406d1388
  • Enable concurrency in Hotspot jtreg testing
  • Tests using jcmd fails intermittently with Could not open PerfMemory on Windows
  • Remove confusing timestamps from the gc log
  • [JVMCI] Exported elements referring to inaccessible types in jdk.vm.ci
  • Memory leaked when instrumentation.retransformClasses() is called repeatedly
  • AArch64: SEGV in stub code cipherBlockChaining_decryptAESCrypt
  • Convert TestG1BiasedArray_test to GTest
  • [JVMCI] reduce size of interpreter when JVMCI is enabled
  • Invalid source path info might be used when creating ClassFileStream after CFLH transforms a shared classes in some cases
  • Do not include classes which are unusable during run time in the classlist file
  • Support private interface methods in JNI, JDWP, JDI and JDB
  • Checked in jvmti.h not in sync with generated jvmti.h
  • StAX produces the wrong event stream
  • Two jaxp tests failing after JDK-8167646
  • Remove the intermittent keyword from java/util/Arrays/ParallelPrefix.java
  • Revisit the way of loading BreakIterator rules/dictionaries
  • java/rmi/activation/Activatable tests fail intermittently due to "Port already in use"
  • tools/pack200/Utils.java should clean up javac*.tmp files
  • Provide an API to query if a ClassLoader is parallel capable
  • Fail to create a MR modular JAR with a versioned entry of a concealed package
  • Remove exports com.sun.tools.jdi to jdk.hotspot.agent
  • [s390] Add jvm.cfg file for Linux/s390x
  • Test java/lang/management/MemoryMXBean/LowMemoryTest.java fails when GC is specified explicitly
  • [TESTBUG] java/lang/instrument/DaemonThread/TestDaemonThread.java fails when run by jprt
  • Re-enable TestDaemonThread.java once JDK-8167001 is fixed
  • Support private interface methods in JNI, JDWP, JDI and JDB
  • jlink should fail on extra arguments
  • Temporarily remove java/net/httpclient from jdk_net test group
  • CORBA ObjectStreamTest fails with address in use
  • (fc) Avoiding AtomicBoolean in FileInput/-OutputStream improves startup
  • sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java failed with "Received fatal alert: handshake_failure"
  • cleanup of headers and includes for native libnet
  • SunCodec.java can be removed
  • Bad rendering of Swing UI controls with Motif L&F on HiDPI display
  • [hidpi] invalid rendering of Swing UI controls (radiobuttons, choice etc.)
  • FileChooser does not display soft link name if link is to nonexistent file/directory
  • Unify the HiDPI splash screen image naming convention
  • [TESTBUG] There is no F1 dialog when the case loading,so we can't restore it.
  • XKeycodeToKeysym is deprecated and should be replaced
  • [TEST_BUG] javax/print/attribute/Services_getDocFl.java
  • GIFWriter returns the same compression type twice
  • JCK testing of Window.setIconImage() leads to VM crash starting approx from JDK9 b134
  • The graphics clip is incorrectly rounded for some fractional scales
  • IllegalArgumentException is not thrown by Clip.open(AudioFormat,byte[], int, int)
  • Crash of SwingNode with GTK LaF
  • Device.getDisplayMode() doesn't report refresh rate on Linux in case of dual screen
  • IIOMetadataNode bugs in getElementsByTagName and NodeList.item methods
  • [PIT] javax/swing/JTextArea/ScrollbarFlicker/ScrollFlickerTest.java always fail
  • [Unity] Taskbar.getTaskbar().setMenu(null) doesn't remove menu
  • [TEST_BUG] Consistent failure on Unity of WarningWindowDisposeTest.java
  • Solaris build failed: gtk2_interface.h typedef redeclared: GThreadFunctions
  • Some font overlap in the Optionpane dialog.
  • The new implementation of Robot.waitForIdle() may hang
  • Create a module to provide access to non-SE desktop APIs
  • Open the request focus methods of the java.awt.Component which accept FocusEvent.Cause
  • Selected text is shifted on HiDPI display
  • java.nio.file.InvalidPathException if click button in JFileChooser demo of SwingSet2
  • Exported elements referring to inaccessible types in jdk.jsobject
  • Deprecate obsolete launcher -d32/-d64 options
  • Tighten permissions granted to the java.smartcardio module
  • Should not default class path to CWD if -cp is not specified but -m is specified
  • Document that algorithm restrictions do not apply to trusted anchors
  • ModuleReader.list and ModuleFinder.of update
  • The separation between system loggers and application loggers should take the extension loader in consideration.
  • (tz) Support tzdata2016h
  • DTLS implementation bugs
  • Remove two jdk_nio tests from ProblemList: BashStreams and DeleteInterference.java
  • FilePermissionCollection merges incorrectly
  • Better invalid FilePermission
  • Scanner.nextInt(int) (and similar methods) throws PatternSyntaxException
  • java/lang/ProcessBuilder/Basic.java failed
  • Incomplete spec for most of the getInstances
  • Reinstate sun.reflect.ReflectionFactory.newConstructorForSerialization(Class,Constructor)
  • Update jlink to support creating images with modules that are packaged as multi-release JARs
  • MethodHandles.iteratedLoop(...) fails with CCE in the case of iterating over array
  • MethodHandles.iteratedLoop fails with IAE in the case of correct arguments
  • The JavaDoc of java.util.stream.Collectors method collectingAndThen has incorrect code snippet
  • Provide a means to disable a plugin via the command line
  • rcache interop with krb5-1.15
  • Checked in jvmti.h not in sync with generated jvmti.h
  • Remove #ifdef AF_INET6 guards in libnet native coding
  • (logging) LogManager.resetLogger should ignore LinkageError
  • Problem list OpenNonIntegralNumberOfSampleframes.java until JDK-8168881 is fixed
  • jshell tool: missing --add-modules and --module-path
  • jshell tool: /help /reload is wrong about re-executing commands
  • fix for langtools intermittent failures needs to check PRODUCT_HOME
  • Missing ExceptionTable attribute in anonymous class constructors
  • Inference: javac incorrectly propagating inner constraint with primitive target
  • Polymorhic signature method check crashes javac
  • JShell: silently ignore access modifiers (as semantically irrelevant)
  • ModuleReader.list and ModuleFinder.of update
  • jdeps option to list modules and internal APIs for @modules for test dev
  • javac fails with CLASSPATH with double-quotes as an environment variable
  • javac takes too long time to resolve interface dependency
  • (jdeprscan) adjust tool output to improve clarity
  • Problem list ClassPathWithDoubleQuotesTest.java until JDK-8169005 is fixed
  • jshell tool: access javadoc from tool
  • Inconsistent "this" context in JSAdapter adaptee function calls
  • Introduce namespaces for GET, SET Dynalink operations
  • underscore_linker.js sample fails after dynalink changes for JDK-8168005

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 141 Early Access (Oct 25, 2016)

  • Summary of changes:
  • Various trivial fixes in build system
  • Make --enable-ccache work properly with CCACHE from the environment
  • Stop adding missing newline to manifest files
  • Race condition in build with new exploded-image-optimize target
  • [Solaris] Missing libjvm_db.so and libjvm_dtrace.so from JDK 9 b138
  • Various trivial fixes in build system
  • Various trivial fixes in build system
  • IgnoreModulePropertiesTest.java needs update for JDK-8162401
  • Add back PermSize and MaxPermSize
  • NullPointerException when xmlns=""
  • JDK accepts XSLT stylesheet having import element erroneously placed
  • javax/xml/jaxp/unittest/parsers/Bug6341770.java failed with "java.security.AccessControlException: access denied ("java.io.FilePermission" "sko?ice")"
  • Replace the reflective call to the implUpdate method in HandshakeMessage::digestKey
  • Various trivial fixes in build system
  • Chrome interop regression with JDK-8148516
  • java.net.URLPermission.getActions() adds a trailing colon when header-names is empty
  • libjimage.so has a bad runpath
  • JShell: locks forever when input is piped
  • Add debug output for indicating if a chosen ciphersuite was legacy
  • Rogue character in Stream javadoc
  • arm 32/64 slowdebug fails to build on unpack200
  • Array index overflow in Base64 utility class
  • Avoid module dependency from jdk.dynalink to jdk.internal.module of java.base module
  • use collections convenience factories in the JDK
  • jdk/internal/util/jar/TestVersionedStream gets Assertion error
  • Retrofit jar, jlink, jmod as a ToolProvider
  • Test sun/security/pkcs11/PKCS11Test.java shall be updated to run on ARM platforms
  • Shell tests for jrunscript don't pass through VM options
  • KeyStoreSpi.engineSetEntry should throw an Exception if password protection alg is specified
  • Unexpected code conversion by HKSCS converters
  • Jar tool can not correctly find/process the --release option if it occurs before the file list
  • Remove FilePermission from default policy for jdk.charsets module
  • Java API docs mention a non-existent method getNanosOfSecond
  • Update documentation of java.util.Date class
  • JShell: /drop of statement gives confusing output
  • Various trivial fixes in build system
  • Trying to document only java.base causes a NPE in javac
  • Tweak IntelliJ langtools project's jtreg settings
  • JShell: locks forever when input is piped
  • Langtools ant build not working after addition of -Xlint:exports
  • Missing jtreg output when run using langtools makefiles
  • Retrofit jar, jlink, jmod as a ToolProvider
  • jdeps --generate-module-info forgets to close the resource after checking any unnamed package
  • Javadoc search should support camelCase search
  • (jdeprscan) using --release option with 8 or earlier throws exception
  • Refine handling of multiple maximally specific abstract methods
  • JShell: Fix the format of SourceCodeAnalysis#documentation
  • Various trivial fixes in build system
  • Nashorn static method linking bypasses autoexported linkers
  • Avoid module dependency from jdk.dynalink to jdk.internal.module of java.base module

New in Java SE Development Kit (JDK) 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.
  • BUG FIXES:
  • JDK-6477756 client-libs 2d GraphicsDevice.getConfigurations() is slow taking 3 or more seconds
  • JDK-7172749 client-libs 2d Xrender: Class cast exception in 2D code running an AWT regression test
  • JDK-8028486 client-libs 2d java/awt/Window/WindowsLeak/WindowsLeak.java fails
  • JDK-8078382 client-libs 2d Wrong glyph is displayed for a derived font
  • JDK-8133309 client-libs 2d [win10] Some unicode characters do not display any more after upgrading to Windows 10
  • JDK-8144703 client-libs 2d ClassCastException: sun.font.CompositeFont cannot be cast to PhysicalFont
  • JDK-8158495 client-libs 2d CCE: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.opengl.OGLSurfaceData
  • JDK-8158178 client-libs java.awt java.awt.SplashScreen.getSize() returns incorrect size for high dpi splash screens
  • JDK-8154816 client-libs java.awt:i18n Caps Lock doesn't work as expected when using Pinyin Simplified input method
  • JDK-8145984 client-libs javax.accessibility [macosx] sun.lwawt.macosx.CAccessible leaks
  • JDK-8153149 client-libs javax.accessibility Uninitialised memory in WinAccessBridge.cpp:1128
  • JDK-8154069 client-libs javax.accessibility Jaws reads wrong values from comboboxes when no element is selected
  • JDK-8057791 client-libs javax.swing Selection in JList is drawn with wrong colors in Nimbus L&F
  • JDK-8078268 client-libs javax.swing javax.swing.text.html.parser.Parser parseScript incorrectly optimized
  • JDK-8136998 client-libs javax.swing JComboBox prevents wheel mouse scrolling of JScrollPane
  • JDK-8157838 client-libs javax.swing Personalized Windows Font Size is not taken into account in Java8u102
  • JDK-8158734 client-libs javax.swing JEditorPane.createEditorKitForContentType throws NPE after 6882559
  • JDK-8147585 core-libs java.lang Annotations with lambda expressions has parameter result in wrong behavior.
  • JDK-8155106 core-libs java.lang.invoke MHs.Lookup.findConstructor returns handles for array classes
  • JDK-8153192 core-libs java.nio (se) Selector.select(long) uses wrong timeout after EINTR (lnx)
  • JDK-8141148 core-libs javax.naming LDAP "follow" throws ClassCastException with Java 8
  • JDK-8158802 core-libs javax.naming com.sun.jndi.ldap.SimpleClientId produces wrong hash code
  • JDK-8159822 core-libs javax.naming Non-synchronized access to shared members of com.sun.jndi.ldap.pool.Pool
  • JDK-8150219 core-libs javax.script ReferenceError in 1.8.0_72
  • JDK-8130127 core-libs jdk.nashorn streamline input parameter of Nashorn scripting $EXEC function
  • JDK-8130317 core-libs jdk.nashorn "ant test" fails to complete on Windows when run under cygwin shell
  • JDK-8137240 core-libs jdk.nashorn Negative lookahead in RegEx breaks backreference
  • JDK-8141541 core-libs jdk.nashorn Simplify Nashorn's Context class loader handling
  • JDK-8143642 core-libs jdk.nashorn Nashorn shebang argument handling is broken
  • JDK-8144160 core-libs jdk.nashorn Regression: two tests fail on Windows with "ant test" target
  • JDK-8144221 core-libs jdk.nashorn fix Nashorn shebang argument handling on Mac/Linux
  • JDK-8148140 core-libs jdk.nashorn arguments are handled differently in apply for JS functions and AbstractJSObjects
  • JDK-8156714 core-libs jdk.nashorn Parsing issue with automatic semicolon insertion
  • JDK-8156896 core-libs jdk.nashorn Script stack trace should display function names
  • JDK-8157160 core-libs jdk.nashorn JSON.stringify does not work on ScriptObjectMirror objects
  • JDK-8157680 core-libs jdk.nashorn Callback parameter of any JS builtin implementation should accept any Callable
  • JDK-8157819 core-libs jdk.nashorn TypeError when a java.util.Comparator object is invoked as a function
  • JDK-8158467 core-libs jdk.nashorn AccessControlException is thrown on public Java class access if "script app loader" is set to null
  • JDK-8154144 core-svc Tests in com/sun/jdi fails intermittently with "jdb input stream closed prematurely"
  • JDK-8049226 core-svc debugger com/sun/jdi/OptionTest.java test times out again
  • JDK-8029309 deploy [macosx] Java Control Panel unable to perform tasks requiring admin privileges
  • JDK-8165867 deploy [macos] JVM continuously throw a NullPointerException on new MacOS 10.12
  • JDK-8155835 deploy javafx FXUIToolkit.showFileChooser() fails when jre is below 7u21
  • JDK-8155837 deploy javafx FXUIToolkit.showSandboxSecurityDialog fails when running jre below 7u21
  • JDK-8155849 deploy javafx FXUIToolkit.showMessageDialog() fails when running jre below 7u55
  • JDK-8081847 deploy webstart Add a URL scheme handler to reliably launch .jnlp files - Mac registration part
  • JDK-8136844 deploy webstart Change JavawsLauncher.app to use NSTask or execv
  • JDK-8144348 deploy webstart Desktop shortcut is not updated after JNLP is changed in deployment cache
  • JDK-8157337 deploy webstart Allow always checkbox in security dialog when jnlp location is unknown
  • JDK-8157785 deploy webstart Signed JWS application unexpectedly asks for permission to open a socket
  • JDK-8063086 hotspot compiler Math.pow yields different results upon repeated calls
  • JDK-8130309 hotspot compiler Need to bailout cleanly if creation of stubs fails when codecache is out of space
  • JDK-8154831 hotspot compiler CastII/ConvI2L for a range check is prematurely eliminated
  • JDK-8158260 hotspot compiler PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
  • JDK-8159244 hotspot compiler Partially initialized string object created by C2's string concat optimization may escape
  • JDK-8017629 hotspot gc G1: UseSHM in combination with a G1HeapRegionSize > os::large_page_size() falls back to use small pages
  • JDK-8054326 hotspot gc Confusing message in "Current rem set statistics"
  • JDK-8077276 hotspot gc allocating heap with UseLargePages and HugeTLBFS may trash existing memory mappings (linux)
  • JDK-8158871 hotspot gc Long response times with G1 and StringDeduplication
  • JDK-8154722 hotspot gc Test gc/ergonomics/TestDynamicNumberOfGCThreads.java fails
  • JDK-8147451 hotspot jvmti Crash in Method::checked_resolve_jmethod_id(_jmethodID*)
  • JDK-8161144 hotspot jvmti Fix for JDK-8147451 failed: Crash in Method::checked_resolve_jmethod_id(_jmethodID*)
  • JDK-8036630 hotspot runtime Null ProtectionDomain in JVM can cause NPE because principals field is not initialized to an empty array
  • JDK-8042660 hotspot runtime vm/mlvm/anonloader/stress/byteMutation failed with: assert(index >=0 && index < _length) failed: symbol index overflow
  • JDK-8135322 hotspot runtime ConstantPool::release_C_heap_structures not run in some circumstances
  • JDK-8147026 hotspot runtime Convert an assert in ClassLoaderData to a guarantee
  • JDK-8154210 hotspot runtime Zero: Better byte behaviour
  • JDK-8158373 hotspot runtime SIGSEGV: Metadata::mark_on_stack
  • JDK-8160201 infrastructure release_eng 8u112 template file need to be updated
  • JDK-8148167 install install jdk 8u71 fails to install with no error message
  • JDK-8156895 install install ent msi does not have double-click support
  • JDK-8161053 javafx application-lifecycle Passing objects between JavaScript (JavaFX / WebKit) and Java causes a memory leak
  • JDK-8134655 javafx base SortedList wrapping a FilteredList causes AIOOBE
  • JDK-8144501 javafx controls TreeTableView's selectedItems reports include null items.
  • JDK-8157398 javafx controls [TreeTableView] graphic property of TreeItem is still visible after collapsing tree
  • JDK-8161449 javafx controls Enhance CustomColorDialog to have flexibility to hide 'Opacity', 'Use' and 'Save' Button
  • JDK-8145516 javafx graphics Scene content shows too large on Retina display, when a regular screen attached
  • JDK-8150076 javafx graphics Print jobs do not finish when using a page range
  • JDK-8150181 javafx graphics javafx print jobs take 60 times longer than javax.print
  • JDK-8152423 javafx graphics Generated temp files (+JXF...temp) for custom fonts not deleted on exit.
  • JDK-8155692 javafx graphics changes to compile under Visual Studio 14.0
  • JDK-8155903 javafx graphics Crash while running imported/w3c/canvas/2d.gradient.interpolate.overlap2.html
  • JDK-8156094 javafx graphics ContextMenu shown at wrong position on Windows10 with Extended Screen
  • JDK-8158688 javafx graphics Revert fix for JDK-8150181 to push it with the correct commit message
  • JDK-8159860 javafx graphics JavaFX Path drawing appears to leak native memory
  • JDK-8089563 javafx web Javascript Timing Events stop work on system clock changes at past
  • JDK-8130727 javafx web WebView Tooltip position no longer changes in 8u60
  • JDK-8146211 javafx web WebView can't alert from a timer
  • JDK-8149045 javafx web Debug build is not working after new WebKit upgrade
  • JDK-8150800 javafx web NullPointer exception in WebView
  • JDK-8152393 javafx web SQL Server Reporting Services in WebViews shows 401
  • JDK-8152420 javafx web [WebView] Icon font doesn't work if single page application will be loaded from jar
  • JDK-8154127 javafx web Need to document that JavaScript to Java bindings use weak references
  • JDK-8156698 javafx web Update to newer version of WebKit
  • JDK-8157145 javafx web DRT crash at fast/css-generated-content/initial-letter-basic.html
  • JDK-8157384 javafx web Update java-wrappers for WebKit generated classes following WebKit update
  • JDK-8157559 javafx web Linux: Javascript Timing Events stop work on system clock changes at past
  • JDK-8158056 javafx web Linux: libjfxwebkit.so has hard-coded path
  • JDK-8158926 javafx web Char value is set as integer, not as character
  • JDK-8159549 javafx web Add timestamp to WebView Keyboard Event
  • JDK-8159614 javafx web Can't get file size with javascript
  • JDK-8159868 javafx web the JVM for our Swing application crashes, once we login into our application server
  • JDK-8160260 javafx web WebView cannot render CSS background image with SVG data
  • JDK-8160326 javafx web Char value is returned as integer, not as character
  • JDK-8160388 javafx web Test Case Failure in CallBackTest
  • JDK-8160400 javafx web WebView can't alert from a timer
  • JDK-8160563 javafx web jvm crash at javafx com.sun.webkit.WebPage.twkPrePaint (GFlag + Heap verification)
  • JDK-8160757 javafx web Implement overridePreference() for DRT framework
  • JDK-8160769 javafx web [WebView] Unable to tile SVG image using css background property
  • JDK-8160837 javafx web WebEngine doesn't handle html5 color picker
  • JDK-8161137 javafx web Assertion fails with https://html-online.com/editor/
  • JDK-8161258 javafx web [Win] Timer functionality is broken after JDK-8089563
  • JDK-8161405 javafx web [OS X] Compilation Issue in WebPage.cpp
  • JDK-8161699 javafx web Fix compilation warnings in WebCore and JavaScriptCore
  • JDK-8161724 javafx web EOFException in GZIPInputStream.readUByte while browsing
  • JDK-8162949 javafx web [WebView] WebView can't display social network icons on wellsfargo.com
  • JDK-8162977 javafx web General sibling selector is broken for selected input boxes in WebView
  • JDK-8162979 javafx web Website weibo.com cannot be loaded
  • JDK-8163582 javafx web JavaFX browser can get stuck in an infinite loop when calling path.getTotalLength()
  • JDK-8164076 javafx web [Windows] JavaFX crash in WebPage.twkOpen in 8u112 when closing WebView while debugging
  • JDK-8165853 javafx web Loading "https://www.windyty.com" with JavaFX WebView crashes JVM.
  • JDK-8146975 other-libs corba NullPointerException in IIOPInputStream.inputClassFields
  • JDK-8085903 security-libs java.security New fix for memory leak in ProtectionDomain cache
  • JDK-8098581 security-libs java.security SecureRandom.nextBytes() hurts performance with small size requests
  • JDK-8147969 security-libs java.security Print size of DH keysize when errors are encountered
  • JDK-8154009 security-libs java.security Some methods of java.security.Security require more permissions, than necessary
  • JDK-8160267 security-libs javax.crypto Ucrypto config file cannot be read when -Dfile.encoding=UTF-16 is set
  • JDK-8160723 security-libs javax.crypto Improve jurisdiction policy file signing exception
  • JDK-8134232 security-libs javax.crypto:pkcs11 KeyStore.load() throws an IOException with a wrong cause in case of wrong password
  • JDK-8158873 security-libs javax.crypto:pkcs11 LoadKeystore.java test is failing
  • JDK-8133070 security-libs javax.net.ssl Hot lock on BulkCipher.isAvailable
  • JDK-8158111 security-libs javax.net.ssl Make handling of 3rd party providers more stable
  • JDK-8158059 security-libs javax.security The fix for 8050402 was partially committed
  • JDK-8022582 security-libs org.ietf.jgss:krb5 Relax response flags checking in sun.security.krb5.KrbKdcRep.check.
  • JDK-8160518 security-libs org.ietf.jgss:krb5 Semicolon is not recognized as comment starting character (Kerberos)
  • JDK-8067964 tools Native2ascii doesn't close one of the streams it opens
  • JDK-8129740 tools javac Incorrect class file created when passing lambda in inner class constructor
  • JDK-8143640 tools launcher Showing incorrect result while passing specific argument in the Java launcher tools
  • JDK-8153781 xml jaxp Issue in XMLScanner: EXPECTED_SQUARE_BRACKET_TO_CLOSE_INTERNAL_SUBSET when skipping large DOCTYPE section with CRLF at wrong place

New in Java SE Development Kit (JDK) 8 Update 111 (Oct 18, 2016)

  • CERTIFICATE CHANGES:
  • New JCE Code Signing Root CA:
  • In order to support longer key lengths and stronger signature algorithms, a new JCE Provider Code Signing root certificate authority has been created and its certificate added to Oracle JDK. New JCE provider code signing certificates issued from this CA will be used to sign JCE providers from this point forward. By default, new requests for JCE provider code signing certificates will be issued from this CA.
  • Existing certificates from the current JCE provider code signing root will continue to validate. However, this root CA may be disabled at some point in the future. We recommend that new certificates be requested and existing provider JARs be re-signed.
  • CHANGES:
  • client-libs/java.awt:
  • Service Menu services
  • The lifecycle management of AWT menu components exposed problems on certain platforms. This fix improves state synchronization between menus and their containers.
  • core-libs/java.net:
  • Disable Basic authentication for HTTPS tunneling
  • In some environments, certain authentication schemes may be undesirable when proxying HTTPS. Accordingly, the Basic authentication scheme has been deactivated, by default, in the Oracle Java Runtime, by adding Basic to the jdk.http.auth.tunneling.disabledSchemes networking property. Now, proxies requiring Basic authentication when setting up a tunnel for HTTPS will no longer succeed by default. If required, this authentication scheme can be reactivated by removing Basic from the jdk.http.auth.tunneling.disabledSchemes networking property, or by setting a system property of the same name to "" ( empty ) on the command line.
  • Additionally, the jdk.http.auth.tunneling.disabledSchemes and jdk.http.auth.proxying.disabledSchemes networking properties, and system properties of the same name, can be used to disable other authentication schemes that may be active when setting up a tunnel for HTTPS, or proxying plain HTTP, respectively.
  • security-libs/java.security:
  • Restrict JARs signed with weak algorithms and keys
  • This JDK release introduces new restrictions on how signed JAR files are verified. If the signed JAR file uses a disabled algorithm or key size less than the minimum length, signature verification operations will ignore the signature and treat the JAR file as if it were unsigned. This can potentially occur in the following types of applications that use signed JAR files:
  • 1. Applets or Web Start Applications
  • 2. Standalone or Server Applications run with a SecurityManager enabled and that are configured with a policy file that grants permissions based on the code signer(s) of the JAR.
  • The list of disabled algorithms is controlled via a new 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.
  • The following algorithms and key sizes are restricted in this release:
  • MD2 (in either the digest or signature algorithm)
  • RSA keys less than 1024 bits
  • To check if a weak algorithm or key was used to sign a JAR file, you can use the jarsigner binary that ships with this JDK. Running jarsigner -verify -J-Djava.security.debug=jar on a JAR file signed with a weak algorithm or key will print more information about the disabled algorithm or key.
  • deploy:
  • Warning message added to deployment authenticator dialog
  • A warning has been added to the plugin authentication dialog in cases where HTTP Basic authentication (credentials are sent unencrypted) is used while using a proxy or while not using SSL/TLS protocols:
  • "WARNING: Basic authentication scheme will effectively transmit your credentials in clear text. Do you really want to do this?"
  • BUG FIXES:
  • JDK-8140530. client-libs. 2d: Creating a VolatileImage with size 0,0 results in no longer working g2d.drawString
  • JDK-8148127 client-libs 2d: IllegalArgumentException thrown by JCK test api/java_awt/Component/FlipBufferStrategy/indexTGF_General in opengl pipeline
  • JDK-8147077 client-libs java.awt: IllegalArgumentException thrown by api/java_awt/Component/FlipBufferStrategy/indexTGF_General
  • JDK-6882559 client-libs javax.swing: new JEditorPane("text/plain","") fails for null context class loader
  • JDK-8157785 deploy webstart: Signed JWS application unexpectedly asks for permission to open a socket
  • JDK-8161700 deploy webstart: Deadlock in Java Web Start application involving JNLPClassLoader
  • JDK-8161986 deploy webstart: Selecting 32/64 bit resources failed if user has installed both jre's
  • JDK-8148167 install: jdk 8u71 fails to install with no error message
  • JDK-8149518 install: Installer hangs during the JDK 8u74 installation process.

New in Java SE Development Kit (JDK) 9 Build 140 Early Access (Oct 13, 2016)

  • Summary of changes:
  • Excessive disk space used by build system
  • GPL header missing comma in year
  • gtest fmw should be updated to support null detection on SS >= 12u4
  • [TESTBUG] RTM tests must check OS version
  • Add javac -Xlint warning to list exposed types which are not accessible
  • Exported elements referring to inaccessible types in jdk.security.jgss
  • ASSEMBLY_EXCEPTION contains historical company name
  • VM fails to initialize intermittently when running jmod to create some images
  • ASSEMBLY_EXCEPTION contains historical company name
  • Excessive disk space used by build system
  • GPL header missing comma in year
  • WorkGroup classes are missing volatile specifiers for lock-free code
  • StackWalker performance regression following JDK-8147039
  • --patch-module support for CDS
  • Fix missing missing volatile specifiers in CAS operations in GC code
  • [REDO] G1 does not implement millis_since_last_gc which is needed by RMI GC
  • jvmti.h generated with GPL header
  • Convert Test_TempNewSymbol to GTest
  • Convert arrayOopDesc_test to Gtest
  • [TESTBUG] need jvmti tests for module aware agents
  • Cyclic interface initialization causes JVM crash
  • Move slow tier1/tier2 runtime tests to later tiers
  • Assert failure in JVMTI GetNamedModule at JPLISAgent.c line: 792
  • Convert TestKlass_test to Gtest
  • Tracefile gensrc cannot handle closed src dir in different location
  • AArch64: Fix for JDK-8163014 broke AArch64 build
  • SA: Missed testcase for add default methods to InstanceKlass
  • Convert Test_linked_list to Gtest
  • compilation error in stackwalk.cpp on some gccs
  • fix incorrectly @ignore-d hotspot/compiler tests
  • Add oopDesc::klass_or_null_acquire()
  • heapRegionManager is missing volatile specifier for _claims.
  • Convert TestChunkedList_test to GTest
  • Simplify oops_on_card_seq_iterate_careful
  • assert(fr->safe_for_sender(thread)) failed: Safety check
  • Convert IHOP_test to GTest
  • CMS _overflow_list is missing volatile specifiers.
  • Shorten branches causes incorrect code for SKX
  • unexpected profiling mismatch in c1 generated code
  • RTM jtreg tests failing due to unnamed module unable to access class jdk.internal.misc.Unsafe
  • [TESTBUG] RTM tests must check OS version
  • [JVMCI] replace use of vm_abort with vm_exit
  • Intrinsify fused mac operations
  • [JVMCI] remove uses of setAccessible
  • variable tracking size limit exceeded in jvmciCompilerToVM.cpp
  • [JVMCI] increase InterpreterCodeSize for JVMCI
  • compiler/compilercontrol/share/processors/LogProcessor.java does not close Scanner
  • SPECjvm98-client performance regression in 9-b66
  • [TESTBUG] compiler/stringopts/TestStringObjectInitialization.java fails with OOME
  • YMM registers upper 128 bits may get clobbered by a JNI call on windows
  • ppc: enhancement of CRC32 intrinsic
  • Convert JSON_test to Gtest
  • PreserveFPRegistersTest fails with 'AssertionError: Final value has changed'
  • C1: Possible integer overflow in LIRGenerator::generate_address on several platforms
  • runtime/SharedArchiveFile/SASymbolTableTest.java fails with NullPointerException
  • [ppc] port "8164086: Checked JNI pending exception check should be cleared"
  • [ppc] Port "8163014: Mysterious/wrong value for long frame local variable on 64-bit"
  • ASSEMBLY_EXCEPTION contains historical company name
  • JAXP schema validator: Use HashSet instead of ArrayList for tracking XML IDs
  • ASSEMBLY_EXCEPTION contains historical company name
  • XMLStreamWriterImpl does not write 'standalone' property
  • ASSEMBLY_EXCEPTION contains historical company name
  • TestCipherPBECons has wrong @run line
  • RGBColorConvertTest has wrong @run line
  • Add magic number to jmod file
  • Excessive disk space used by build system
  • (tz) Support tzdata2016g
  • Fix module dependencies for networking component tests
  • Document how to grant permissions for a module jrt:/ in the image
  • --patch-module support for CDS
  • JDWP ClassType.InvokeMethod doesn't validate class
  • Assert failure in JVMTI GetNamedModule at JPLISAgent.c line: 792
  • Intrinsify fused mac operations
  • jdk/internal/misc/Unsafe tests fail due to timeout
  • Comment on the need for an empty constructor in ArrayList$Itr
  • Exported elements referring to inaccessible types in jdk.security.jgss
  • ASSEMBLY_EXCEPTION contains historical company name
  • Nashorn and jjs should support --module-path and --add-modules options
  • Class.forName causes memory leak
  • Create an SPI for tools
  • Remove pathname canonicalization from FilePermission
  • Test Task: Develop new tests for JEP C155: Remove FilePermission Pathname Canonicalization
  • AnchorCertificates throws NPE when cacerts file not found
  • Further cleanup to the native parts of libnet/libnio
  • Update to "denyAfter constraint check" exception message
  • Hang due to JNI up-call made whilst holding JNI critical lock.
  • TextField.setText breaks the contract of EOL
  • access denied to System Property awt.robot.gtk
  • [macosx] Robot(gc) issue on dual-screen system
  • [hidpi] wrong resolution variant of multi-res. image is used for TrayIcon
  • [macosx] Various memory leaks in jdk9
  • regression on Linux: java/awt/LightweightDispatcher/LWDispatcherMemoryLeakTest.java
  • [PIT][TEST_BUG] stray character in java/awt/Focus/ModalDialogActivationTest/ModalDialogActivationTest.java
  • SwingInterop crashes at window close
  • Bad rendering of Swing UI controls with Windows Classic L&F on HiDPI display
  • [PIT] regression: HW/LW mixing seems broken on Unity
  • Au file format can be validated better
  • multi-res. image: -Dsun.java2d.uiScale does not work for Window icons (some ambiguity for Window.setIconImages()?)
  • Fields not reachable anymore by tab-key, because of new tabbing behaviour of radio button groups.
  • One more page printed before the test page with OpenJDK
  • One more banner page printed before the test page
  • Removing a monitor in the OS dispaly configuration causes assertion fails under Windows if D3D is on
  • The menu displayed nothing with the option"-server -d64 -Xmixed -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
  • Android Studio 2.x crashes with NPE at sun.lwawt.macosx.CAccessibility.getAccessibleIndexInParent
  • solaris.fontconfig.properties needs updating
  • enableSuddenTermination() - Not throws SecurityException if a security manager exists and it will not allow the caller to invoke System.exit
  • Verify if writer.abort() works properly for all writers in IIOWriteProgressListener.
  • We should unpin stream and pixel buffer in case of setjmp during writeImage in JPEG.
  • All existing gradient paint implementations have issues with coordinates/sizes larger than Short.MAX_VALUE (exactly) on any Linux systems
  • Provide a way to not close toggle menu items on mouse click on component level
  • closed/javax/swing/DataTransfer/DefaultNoDrop/DefaultNoDrop.java locks on Windows
  • Frame is not repainted if created in state=MAXIMIZED_BOTH on Unity
  • Support multiple --add-exports and --add-reads with the same module/package
  • Deprecate Atomic*.weakCompareAndSet and defer to Atomic*.weakCompareAndSetPlain
  • javac/javadoc expands @files incorrectly
  • (jdeprscan) remove JEP 293 non-conforming -cp option
  • (jdeprscan) com.sun.tools.jdeprscan.Main.instance should be package protected
  • Add magic number to jmod file
  • Performance regression in compound scopes
  • jdeps fails to generate module info if there is any class in unnamed package
  • jdeps: Missing message: warn.skipped.entry
  • Add javac -Xlint warning to list exposed types which are not accessible
  • ASSEMBLY_EXCEPTION contains historical company name
  • Improve handling of direct use of accept with TreePathScanner
  • Create an SPI for tools
  • jib make run-test for langtools results in intermittent failures on windows-x86
  • JShell: Completeness analysis infers an incomplete declaration as COMPLETE_WITH_SEMI, which is a first line of Allman style
  • Cleanup javadoc exception handling
  • Fix DocTreeFactory newDocCommentTree
  • New doclet incorrectly shows entire text body for JavaFX properties in summary section
  • Add option to include full package description at top, before interface table
  • ant build fails with [javadoc] javadoc: error - Illegal package name: "implNote:a:Implementation Note:"
  • insert missing final keywords
  • ASSEMBLY_EXCEPTION contains historical company name
  • Backport ES6 updates from Graal.js
  • Nashorn and jjs should support --module-path and --add-modules options

New in Java SE Development Kit (JDK) 9 Build 139 Early Access (Oct 10, 2016)

  • Summary of changes:
  • libjimage.so and others should link statically to libgcc
  • Exploded image too slow to be usable
  • Some small java build tools are still running with big JVM configuration
  • Some small java build tools are still running with big JVM configuration
  • SA: Add default methods to InstanceKlass
  • Additional test coverage of the JDWP CLASSLOADER and MODULE commands
  • Very high Concurrent Mark mark stack contention
  • Add release barriers when allocating objects with concurrent collection
  • Parallelize Memory Pretouch
  • Enable ThreadStackSize range test
  • Missing G1 barrier in Unsafe_GetObjectVolatile
  • CDS needs to support JVMTI CFLH
  • The fixup_module_list must be protected by Module_lock when inserting new entries
  • Eliminate ParNew's use of klass_or_null()
  • Use of Copy::conjoint_oops_atomic in global mark stack causes crashes on arm64
  • Backout 8165017
  • Remove unused HeapRegion::object_iterate_mem_careful()
  • libjimage.so and others should link statically to libgcc
  • sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java failed with SSLHandshakeException
  • 4 JNI exception pending defect groups in DiagnosticCommandImpl.c
  • [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command
  • InvokeHangTest.java fails due to "failure: Debuggee appears to be hung" when running with -Xcomp
  • Remove ParallelPrefix.java from ProblemList.txt
  • Signature.verify() doesn't reset the signature object on exception
  • javax.crypto.Cipher.doFinal behavior differs depending on platform
  • address issues raised by JCK team on JEP 274 API
  • Synthetic bridge constructor in ArrayList$Itr blocks inlining
  • MultiReleaseJarAPI.isMultiReleaseJar(): failure java.nio.file.AccessDeniedException: custom-mr.jar
  • Remove obsolete utility function NET_ThrowSocketException in windows libnet
  • Unused import causes test failure on compilation for java.text tests
  • jlink incorrectly accepts multiple --module-path and --limit-modules options
  • JShell: java.lang.IndexOutOfBoundsException for legal history access
  • No runtime error expected after calling NET_MapSocketOption
  • (ch) Remove AIX specific implementation file java.base/aix/native/libnio/ch/AixNativeThread.c
  • libjimage.so and others should link statically to libgcc
  • Remove code in MetaData that hacks into private fields of Collections implementation classes
  • String.hashCode() has a non-benign data race
  • Quarantine TestDaemonThread.java
  • jar utility doesn't process more than one -C argument
  • typo in java.util.Locale javadoc
  • DecimalFormat percentage format can contain unexpected %
  • Exploded image too slow to be usable
  • Some small java build tools are still running with big JVM configuration
  • Missing dependencies in several java/security tests
  • (fs) UnixDirectoryIterator::stream unused
  • Expected SocketException not thrown when calling bind() with setReuseAddress(false)
  • Include locales plugin throws InternalError with "*" specified.
  • Implement Serialization Filtering
  • Improve extensibility of ObjectInputFilter information passed to the filter
  • UnicastServerRef support to export an object with a filter
  • RMI API to export an object with a serialization filter
  • Method with reordered type parameter bounds compiles with @Override annotation but does not actually override superclass method.
  • jshell tool: add exports support
  • JShell: java.lang.IndexOutOfBoundsException for legal history access
  • Update jdeps for GNU-style long form options
  • New javadoc options don't conform to JEP 293 (GNU style options)
  • Some small java build tools are still running with big JVM configuration
  • javac assertion error when compiling overlay sources
  • fatal annotation processing errors do not stop compilation
  • Nested object literal property maps not reset in optimistic recompilation
  • Remove CALL_METHOD support from internal Nashorn linkers
  • Some small java build tools are still running with big JVM configuration

New in Java SE Development Kit (JDK) 9 Build 138 Early Access (Sep 29, 2016)

  • failurehandler should not use jtreg internal API
  • Solaris11 and onwards provide CUPS by default, references to csw and sfw versions should be removed
  • Solaris: /usr/ccs /opt/sfw and /opt/csw are dead, references should be expunged
  • [ppc] Port "8133749: NMT detail stack trace cleanup"
  • Remove jdk.test.lib.unsafe.UnsafeHelper
  • Fix headless only configuration option
  • jib should provide a JDK for running jtreg with
  • Solaris: /usr/ccs /opt/sfw and /opt/csw are dead, references should be expunged
  • Constant pool caching of fields inhibited/delayed unnecessarily
  • [JVMCI] Crash: assert(sig_bt[member_arg_pos] == T_OBJECT)
  • Better byte behavior for off-heap data
  • Implement VarHandles/Unsafe intrinsics on SPARC
  • Unused code in GraphKit::record_profiled_receiver_for_speculation
  • CodeCache JFR events reporting wrong data
  • Crash with assert(handler_address == SharedRuntime::compute_compiled_exc_handler(..) failed: Must be the same
  • [TESTBUG] ctw failed to build after 8157957
  • SIGSEGV in ReceiverTypeData::clean_weak_klass_links
  • OverflowCodeCacheTest.java fails with Out of space in CodeCache for method handle intrinsic
  • [TEST BUG] compiler/loopopts/UseCountedLoopSafepoints.java Timeouts
  • Unquarantine compiler/jvmci/compilerToVM/ExecuteInstalledCodeTest.java
  • [TESTBUG] tests generated by jittester cannot be run with jtreg
  • Inflate and compress intrinsics produce incorrect results with avx512
  • JVMTI.agent_load dcmd should show useful error message
  • compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig timeouts
  • segfault on solaris-amd64 with "-XX:VMThreadStackSize=1" option
  • Support multiple --add-modules options on the command line
  • Inserting freed regions during Free Collection Set serial phase takes very long on huge heaps
  • Tracing events for G1 have incorrect metadata
  • G1 doesn't honor request to disable class unloading
  • Backout JDK-8164913
  • SA: Add method in GrowableArray.java to be able to access the 'data' field
  • Initializing stores of HeapRegions are not ordered with regards to their use in G1ConcurrentMark
  • Mysterious/wrong value for "long" frame local variable on 64-bit
  • Checked JNI pending exception check should be cleared when returning to Java frame
  • [ppc] Port "8133749: NMT detail stack trace cleanup"
  • ClassLoad and ClassPrepare JVMTI events are missed in the start phase
  • Remove jdk.test.lib.unsafe.UnsafeHelper
  • [Verifier] Do not verify pop, pop2, swap, dup* against top
  • GPL header missing comma after year
  • Disallow StackWalker.getCallerClass() be called by caller-sensitive method
  • CatalogSupport tests need to be fixed
  • sun/security/ssl/SocketCreation/SocketCreation.java fails intermittently: Address already in use
  • Fix for Bug 8165524 breaks AIX build
  • Missing dependencies java.httpclient for tests from java/net pachage
  • tools/pack200/Pack200Test.java fails on Win32: Could not reserve enough space
  • java/net/URLPermission/nstest/lookup.sh fails if proxy is set since fix for JDK-8161016
  • smartcardio related tests failed on compilation during execution with jtreg tool
  • Solaris: /usr/ccs /opt/sfw and /opt/csw are dead, references should be expunged
  • Better byte behavior for off-heap data
  • -javaagent and -Dcom.sun.management need to add to the initial set of modules to resolve
  • segfault on solaris-amd64 with "-XX:VMThreadStackSize=1" option
  • Support multiple --add-modules options on the command line
  • Remove jdk.test.lib.unsafe.UnsafeHelper
  • Disallow StackWalker.getCallerClass() be called by caller-sensitive method
  • sun.security.provider.SeedGenerator throws ArrayIndexOutOfBoundsException
  • Improve exception messages in exception thrown by new JDK 9 code
  • CKM_SSL3_KEY_AND_MAC_DERIVE no longer available by default on Solaris 12
  • java/net/MulticastSocket/TimeToLive.java fails intermittently with "Address already in use"
  • better inlining support for loop bytecode intrinsics
  • InetAddress.isReachable returns true for non existing IP adresses
  • undeclared dependencies for two IO tests
  • CompletableFuture.minimalCompletionStage().toCompletableFuture() should be non-minimal
  • [testbug] CoreThreadTimeOut still uses hardcoded timeout
  • JSR166TestCase.java fails with NPE in dumpTestThreads on timeout
  • Miscellaneous changes imported from jsr166 CVS 2016-09-21
  • Fix headless only configuration option
  • com/sun/net/httpserver/Test5.java failed with java.lang.RuntimeException: wrong string result
  • java/net/Socket/InheritHandle.java fails intermittently with "Address already in use"
  • nio: remove unneeded locals variables and correct NPE
  • Update jdeps to be multi-release jar aware
  • java/net/ServerSocket/ThreadStop.java fails intermittently with error while cleaning up threads after test
  • Add invalid network / computer name cases to isReachable known failure switch
  • VerifyError passing anonymous inner class to supertype constructor
  • Update javac to support compiling against a modular JAR that is a multi-release JAR
  • AssertionError while compiling a program that uses try with resources.
  • Tables in javadoc documentation missing row headers
  • JShell: friendlier representation of array values
  • com.sun.source.util.Trees breaks the compiler.
  • Develop new tests to cover javadoc module options which are passed to underlying javac
  • jshell tool: typo: remove out of place text in /help /set truncation
  • JShell: Process running JShell should not be blocked from exit by non-daemon data-transfer threads
  • Update jdeps to be multi-release jar aware
  • Rendering of supertype_target for annotated extends clause
  • add documentation for Date,RegExp,Error,JSON objects
  • 3 nashorn ant tests fail with latest jdk9-dev tip
  • ES6 computed properties are implemented wrongly

New in Java SE Development Kit (JDK) 9 Build 137 Early Access (Sep 26, 2016)

  • Summary of changes:
  • JAVA_VERSION in release file should come from java.base module
  • Remove Unsafe dependency from ProcessTools
  • TESTBUG] compiler/profiling tests fail to compile
  • Tests gc/arguments/TestAlignmentToUseLargePages.java and gc/cms/TestBubbleUpRef.java use too small heap
  • Remove Unsafe dependency from ProcessTools
  • Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent
  • Heap Parameters in HSDB cannot handle G1CollectedHeap
  • Update jmap-hashcode/Test8028623.java for better diagnostic of timeout
  • assert failed: reference count underflow for symbol
  • missing precedence edge for anti_dependence
  • Non-methods code cache overflow is not handled correctly
  • compiler/jvmci/compilerToVM/DisassembleCodeBlobTest and InvalidateInstalledCodeTest timeout
  • C1: assert(false) failed: stack or locks not matching (invalid bytecodes)
  • JVMCI] move MethodProfileWidth to jvmci_globals.hpp
  • Instance field load is replaced by wrong data Phi
  • JVMCI] include VarHandle in signature polymorphic method test
  • TESTBUG] compiler/profiling tests fail to compile
  • TESTBUG] jittester failed compilation after 8157957
  • Hotspot deoptimizes div/mod pair usage
  • JVMCI] expose Hotspot intrinsics and HotSpotIntrinsicCandidate info to JVMCI
  • C2: Handle "wide" aliases for unsafe accesses
  • C2: Mixed unsafe accesses break alias analysis
  • C2 compilation fails with SIGSEGV
  • Unused -Xlog tag sequences are silently ignored
  • UL disables log outputs incorrectly
  • MinimalVM is not tested with GC tests
  • Ensure release_store is paired with load_acquire in lock-free code
  • Memory access in free regions during G1 full gc causes regressions in SPECjvm2008 scimark.fft,lu,sor,sparse with 9+116 on Linux-x64
  • serviceability/sa/TestInstanceKlassSizeForInterface.java: fails with NPE
  • add more tests for task "Update JDI and JDWP for modules"
  • Move Reference pending list into VM to prevent deadlocks
  • SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
  • InstanceKlass::_previous_version_count goes negative
  • 2 JVMCI tests should not be executed on linux-x86
  • Ignore any System property specified as -Djdk.module that matches reserved module system properties
  • Unaligned unsafe access should throw InternalError on Solaris
  • Add back class id intrinsic method for event based tracing
  • Convert AltHashing_test to GTest
  • Convert TestAsUtf8 to GTest
  • UL allows same log file with multiple file=
  • Convert TestOldFreeSpaceCalculation_test to GTest
  • Convert TestPredictions_test to GTest
  • Convert TestCodeCacheRemSet_test to GTest
  • BACKOUT] InstanceKlass::_previous_version_count goes negative
  • Convert test_memset_with_concurrent_readers to GTest
  • Setting same UL tag multiple times matches wrong tagset
  • G1 age table printout contains contents from previous GC
  • gc/testlibrary contains a lot of duplicated code
  • GTest LogDecorations.iso8601_time_test fails on macOS
  • Missing memory barrier for PPC64 in Unsafe_GetObjectVolatile
  • stale reference to hotspot test Test8028623.java
  • CONSTANT_NameAndType_info permits references to illegal names and descriptors
  • The gc+task logging is repeated a lot, decreasing the usefulness of -Xlog:gc*=info
  • IllegalAccessError trying to access package-private class from VM anonymous class
  • Bad -Xloggc: arguments crashes the VM
  • nsk/stress/stack/stack tests got EXCEPTION_STACK_OVERFLOW on Windows 64 bit
  • REDO] InstanceKlass::_previous_version_count goes negative
  • Crash in rebuild_cpu_to_node_map
  • Default heap size causes native memory exhaustion on 32 bit Windows
  • Deprecate the internal Catalog API in JDK 9
  • Catalog API: JAXP XML Processor Support - add StAX test coverage
  • Remove tools/pack200/Pack200Props.java from ProblemList
  • SocketInputStream.socketRead0 can hang even with soTimeout set
  • JarURLConnection does not handle useCaches correctly
  • JAVA_VERSION in release file should come from java.base module
  • Create a JarFile versionedStream method
  • Fix module dependencies for javax.script/* tests
  • Some PKCS11 tests fail because NSS library is not initialized
  • linux] Remove remnants of LinuxThreads from Linux attach framework
  • Level.known can leak memory
  • Better detect JRE that Linux JLI will be using
  • PKIXParameters built with public key form of TrustAnchor causes NPE during cert path building/validation
  • Problem list JarURLConnectionUseCaches.java until JDK-8165988 is fixed
  • Update existing test cases of test/java/text/Format
  • Fix module dependencies for javax.SSL tests
  • Heap Parameters in HSDB cannot handle G1CollectedHeap
  • Update jmap-hashcode/Test8028623.java for better diagnostic of timeout
  • sun/tools/jps/TestJpsJar.java fails due to ClassNotFoundException: jdk.testlibrary.ProcessTools
  • Move Reference pending list into VM to prevent deadlocks
  • SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
  • Fix deprecation warnings in java.management module
  • Remove ClassesByName2Test.java and RedefineCrossEvent.java from ProblemList.txt
  • sun/tools/jhsdb/HeapDumpTest failed with Can't find library: /test/lib/share/classes
  • NPE at ReferenceTypeImpl.constantPool
  • IllegalAccessError trying to access package-private class from VM anonymous class
  • Quarantine sun/tools/jps/TestJpsJar.java
  • java/lang/management/ThreadMXBean/Locks.java fails intermittently, blocked on wrong object
  • Add missing javadoc information for javax.management.MBeanServer
  • Remove the intermittent keyword from sun/security/krb5/auto/MaxRetries.java
  • Remove the intermittent keyword from sun/security/krb5/auto/Unreachable.java
  • Potential Heap buffer overflow when seaching timezone info files
  • Fix module dependencies for sun/security/pkcs11/* tests
  • Test JarURLConnectionUseCaches.java fails at windows: failed to clean up files after test
  • SSLEngineBadBufferArrayAccess.java fails intermittently with Unrecognized SSL message
  • Add test to validate DriverManager.println output when DriverManager is initially loaded
  • Fix for JDK-8165936 broke solaris builds
  • fs) Files.getFileStore fails with "Mount point not found" in chroot environment
  • Ensure that the java launcher help is consistent with the manpage where they report common information
  • Missing dependecies on jdk.zipfs module for jdk/nio/zipfs/jarfs/JFSTester.java
  • jdk.jdi missing requires jdk.jdwp.agent
  • ResourceBundle lookup fields not completely thread-safe
  • Metal L&F gradient is lighter on HiDPI display after the fix JDK-8143064
  • PIT] [hidpi] java/awt/image/multiresolution/MultiresolutionIconTest failed (GTK+ and Nimbus L&F)
  • Reg. test java/awt/font/TextLayout/VisibleAdvance.java fails
  • PIT][TEST_BUG] Doubtful usability of java/awt/print/PrinterJob/TestMediaTraySelection.java
  • Regression on Swingmark on 8u102 b03 comparing 8u102 b02 on several configs on win32
  • hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails
  • PIT] failures of text layout font tests
  • PIT] failure of text measurements in javax/swing/text/html/parser/Parser/6836089/bug6836089.java
  • The case failed automatically and thrown java.lang.ArrayIndexOutOfBoundsException exception
  • macosx] ArrayIndexOOB exception when displaying Devanagari text in JEditorPane
  • macosx][PIT] AIOOB in closed/javax/swing/text/GlyphPainter2/6427244/bug6427244.java
  • Regression in GlyphVector.getGlyphCharIndex behaviour
  • Incorrect i18n text document layout
  • ArrayIndexOutOfBoundsException when JTable contains certain string
  • macosx] Cursor not updating correctly after closing a modal dialog
  • Remove code from SortingFocusTraversalPolicy that hacks into non-public Arrays.legacyMergeSort
  • hidpi] Linux: display-wise scaling factor issues
  • doc) Toolkit.isDynamicLayoutActive(): orphan '0' in first sentence
  • TIFF] AIOOB Exception from TIFFLZWDecompressor
  • ISO 4217 amendment 161
  • ISO 4217 amendment 162
  • duplicated data in rmic's javac.properties
  • On Windows, usage of USER_ATTENTION_WINDOW depends on state setting order
  • JDK macro definition re-defined by MacOS core framework
  • Provide package access to setComponentMixingCutoutShape
  • macosx] modal dialog can skip the activation/focus events
  • TEST_BUG][macosx] apparent regression: javax/swing/JColorChooser/Test7194184.java
  • PageUp and PageDown keyboard buttons don't move slider indicator to next minor tick
  • The FileChooser didn't displayed large font with GTK LAF option
  • Page Ranges 'To Page' field must be populated based on Pageable
  • reader.abort() method does not work when called inside imageStarted for PNG
  • PageFormat Dialog has no owner window to reactivate
  • sun.print.DialogOwner does not support Dialogs as DialogOwner
  • test/java/awt/font/GlyphVector/GetGlyphCharIndexTest.java does not compile
  • java.lang.IllegalAccessError: tried to access method (for a protected method)
  • java.lang.VerifyError: Inconsistent stackmap frames at branch target
  • Source version error missing version number
  • module search generates URLs with extra '/'
  • ServiceConfigurationError on invoke of getServiceLoader method of StandardJavaFileManager

New in Java SE Development Kit (JDK) 9 Build 136 Early Access (Sep 16, 2016)

  • Summary of changes:
  • Main class should be set for nashorn modules
  • fix for 8165595 results in failure of jdk/test/tools/launcher/VersionCheck.java
  • Thai resources in jdk.localedata cause split package issue with java.base
  • redirect function is not allowed even with enableExtensionFunctions
  • Cleanup whitespace in jaxp/test
  • Fix module dependences for java/time tests
  • throw UnsupportedOperationException unconditionally for mutator methods
  • Typos in javadoc: extra period, wrong number, misspelled word
  • jlink exclude VM plugin's handling of jvmlibs is wrong
  • Fix module dependencies for sun/util/* tests
  • test/tools/pack200/Pack200Test fails on verifying native unpacked JAR
  • add removal text to Runtime.traceInstructions/MethodCalls deprecation text
  • jlink running on Mac with Windows jmods produces non-runnable image
  • java/net/SetFactoryPermission/SetFactoryPermission.java needs to run in ovm mode
  • ClassLoader::getSystemClassLoader will never be null
  • Fix module dependencies for jdk/java/util/* tests
  • Broken link in java.lang.RuntimePermission
  • SecureDirectoryStream doesn't work on linux non-x86
  • Fix module dependencies for sun/text/* tests
  • deprecate java.lang.Compiler
  • bad merge in java/lang/ref/package-info.java
  • j.l.ClassLoader.getDefinedPackage(String) throws NPE
  • Reference to removed method in VarHandle JavaDoc
  • Stream specification clarifications for iterate and collect
  • ClassLoader: add resource methods returning java.util.stream.Stream
  • fix for 8165595 revealed a bug in pack200 tool's handling of main class attribute of module-info classes
  • Problem list VersionCheck.java until JDK-8165772 is fixed
  • Reduce number of lambda forms generated by MethodHandleInlineCopyStrategy
  • fix for 8165595 results in failure of jdk/test/tools/launcher/VersionCheck.java
  • JarFile::isMultiRelease() method returns false when it should return true
  • Thai resources in jdk.localedata cause split package issue with java.base
  • [TESTBUG] Compilation issue in MultiReleaseJarTest after 8165723
  • Improve CountedCompleter code samples; add corresponding tests
  • java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java fails intermittently
  • Miscellaneous changes imported from jsr166 CVS 2016-09
  • Agent JAR added to app class loader rather than system class loader when running with -Djava.system.class.loader
  • change hidden options -Xdebug to --debug, -XshouldStop to --should-stop, and -diags to --diags
  • jshell tool: Error message for using "package" should be more descriptive than "Failed"
  • JShell: crash on tab-complete reference to bad class file
  • __noSuchProperty__ and __noSuchMethod__ invocations are not properly guarded

New in Java SE Development Kit (JDK) 9 Build 135 Early Access (Sep 12, 2016)

  • Summary of changes:
  • Remove old launcher module-related options
  • Enable build-time use of java.lang.invoke resolve tracing
  • Jtreg test exeinvoke fails to link on Ubuntu
  • ClassNotFoundException: jdk.test.lib.JDKToolFinder
  • Fix zero builds for non-listed architectures
  • Javac server process left running if build fails on Windows
  • Remove old launcher module-related options
  • compiler/codecache/jmx/PeakUsageTest.java is failing on jdk9/dev for JPRT -testset hotspot
  • attach on ARMv7 fails with com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file
  • x86: problem with JVMTI breakpoint
  • share/vm/runtime/mutex.cpp:1161 assert(((uintptr_t(_owner))|(uintptr_t(_LockWord.FullWord))|(uintptr_t(_EntryList))|(uintptr_t(_WaitSet))|(uintptr_t(_OnDeck))) == 0) failed
  • CLHSDB dumpcodecache throws StackOverflowError
  • Jtreg test exeinvoke fails to link on Ubuntu
  • ClassNotFoundException: jdk.test.lib.JDKToolFinder
  • Fix asserts and logging for old classfile vtable construction
  • NoClassDefFound error in transforming lambdas
  • BitMap set operations assume clear bits beyond unaligned end
  • compiler/rangechecks/TestRangeCheckSmearing.java is missing @build for sun.hotspot.WhiteBox
  • [JVMCI] integrate VarHandles
  • AArch64: follow-up the fix for 8161598
  • Kitchensink fails: assert(nm->insts_contains(original_pc)) failed: original PC must be in nmethod/CompiledMethod
  • VM fails during startup with "assert(resolved_method->method_holder()->is_linked()) failed: must be linked"
  • C2: Broken cmpxchgb encoding on x86
  • assert(CodeCache::find_blob_unsafe(_pc) == _cb) failed: inconsistent
  • compiler/profiling/spectrapredefineclass_classloaders/Launcher.java failing with Agent JAR not found or no Agent-Class attribute
  • Incorrect inclusion of atomic.hpp instead of atomic.inline.hpp
  • Implement unit-tests for UL
  • gc/metaspace/TestMetaspacePerfCounters failure
  • VM Anonymous classes should not call Class File Load Hooks
  • Create a set of tests for verifying the Minimal VM
  • JVMTI FollowReferences does not report roots reachable from nmethods
  • Clean up metadata for event based tracing
  • Remove os::check_heap on Windows
  • Update tests with redefine classes UL options and tags?
  • Atomic::cmpxchg for jbyte is missing a fence on initial failure
  • Remove old launcher module-related options
  • CatalogUriResolver with circular/self referencing catalog file is not throwing CatalogException as expected
  • javax/xml/jaxp/unittest/common/TransformationWarningsTest.java and ValidationWarningsTest.java failed intermittently without any error message
  • Fails to Load external Java method from inside of a XSL stylesheet if SecurityManager is present
  • Remove intermittent key from java/lang/ProcessBuilder/Zombies.java
  • Mark java/net/URLPermission/nstest/lookup.sh as intermittently failing
  • After Integrating tzdata2016d the test/sun/util/calendar/zi/TestZoneInfo310.java fails for "Asia/Oral" and "Asia/Qyzylorda" Timezones
  • (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException
  • Fix module dependences in java/text tests
  • Remove old launcher module-related options
  • Enable build-time use of java.lang.invoke resolve tracing
  • Test sun/security/krb5/auto/Unreachable.java fails with Timeout error
  • sun/security/provider/SecureRandom/AutoReseed.java failed with timeout in Ubuntu Linux.
  • Fix legal notices in java/lang, java/net, java/util tests.
  • attach on ARMv7 fails with com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file
  • ClassNotFoundException: jdk.test.lib.JDKToolFinder
  • java/lang/ProcessHandle/Basic.java is missing @library tag
  • src/jdk.management/share/native/libmanagement_ext/GcInfoBuilder.c doesn't handle JNI exceptions properly
  • Update tests with redefine classes UL options and tags?
  • test/java/lang/instrument/NativeMethodPrefixAgent.java: Error occurred during initialization of VM: Failed to start tracing backend.
  • JNI exception pending in jdk/src/windows/bin/java_md.c
  • Provide a shared secret to access non-public ServerSocket constructor
  • Redundant "sun/net/www/protocol/https" tests in jdk_security3 group
  • JShell: System.in does not work
  • javax/management/remote/mandatory/notif/DeadListenerTest.java fails with Assertion Error
  • CertificateException missing cause of underlying exception
  • Update GIFlib library to the latest up-to-date
  • Negative array size in java/beans/Introspector/Test8027905.java
  • [PIT][TEST_BUG] fix to JDK-8161470 doesn't work
  • [PIT] java/awt/Window/8159168/SetShapeTest.java mostly fails
  • [PIT][TEST_BUG] test javax/print/attribute/ServiceDlgPageRangeTest.java doesn't compile
  • Getting NullPointerException from ImageIO.getReaderWriterInfo due to failure to check for null
  • [macosx] [hidpi] JButton's low-res. icon is visible when clicking on it
  • [macosx] HiDPI/Retina icons do not work for disabled JButton/JMenuItem etc.
  • [SWT] Provide a supported mechanism to use EmbeddedFrame
  • Cleanup of javaclient related mapfiles
  • [PIT][TEST_BUG] Some issues in java/awt/image/multiresolution/MultiResolutionIcon/IconTest.java
  • [macosx] Drag and drop of link from web browser, DataFlavor types application/x-java-url and text/uri-list, getTransferData returns null
  • Printed content is overlapping.
  • Print-to-file is disabled for SERVICE_FORMATTED docflavor in linux
  • Reconsider reflection usage in java.awt.font.JavaAWTFontAccessImpl class
  • Adding a test case to compare the rendered output of VolatileImage with that of BufferedImage
  • Desktop. enableSuddenTermination() has no effect
  • JavaSound should clean up resources better
  • Remove reflection from AWT/Swing classes
  • update copyright header in java.awt.font.JavaAWTFontAccessImpl class
  • TIFFField#createFromMetadataNode javadoc should provide information about sibling/child nodes that should be part of parameter node
  • Extraneous debugging printf in hb-jdk-font.cc
  • [macosx] java.awt.TextLayout does not handle correctly the bolded logical fonts
  • [PIT][TEST_BUG] increase timeout in javax/swing/plaf/nimbus/8057791/bug8057791.java
  • SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees
  • Non-usage of owner Frame when Frame object is passed to getPrintJob()
  • Fix free in awt_PrintControl.
  • selected printertray is ignored under linux
  • VarHandles should provide access bitwise atomics
  • Add acquire/release variants for getAndSet and getAndAdd
  • Remove VarHandle.addAndGet
  • Rename weakCompareAndSetVolatile to weakCompareAndSet
  • Improve jlink help message on optimization-related options
  • Strange behavior of URLConnection with proxy
  • (Process) Process.toString could include pid, isAlive, exitStatus
  • Selector.select(timeout) throws IOException when timeout is a large long
  • Base64.Encoder.wrap(os).write(byte[],int,int) with incorrect arguments should not produce output
  • Further improvements for Unix NetworkInterface native implementation
  • Make it clear that 'cl' parameter passed to RMIConnector.OISWL is never null.
  • Use of -Dcom.sun.management.snmp needs to be examined for modules
  • jlink exclude VM plugin does not support static libraries
  • Deprecated vfork() should not be used on Solaris
  • fix jdeprscan TestLoad and TestScan failures on Windows
  • Remove old launcher module-related options
  • langtools/test switches to use new CLI options
  • JShell: Add failover case of explicitly listening to "localhost"
  • jshell tool: Completion for subcommand
  • Workaround intermittent failures of JavacTreeScannerTest and SourceTreeScannerTest due to C2 memory usage
  • JShell: System.in does not work
  • javac -Xmodule compiles the module in a way that reads the unnamed module
  • JShell: StackTraceElement#getFileName of EvalException does not use custom id generator
  • JShell tests: jdk/jshell/CompletionSuggestionTest.testUncompletedDeclaration(): failure
  • JShell: Fix completion analysis problems
  • Javac should unconditionally warn if deprecated javadoc tag is used without @Deprecated annotation
  • JSR269 jigsaw update: javax.lang.model.element.ModuleElement.getDirectives() causes NPE on unnamed modules
  • Introduce -Xlint:exports

New in Java SE Development Kit (JDK) 9 Build 134 Early Access (Sep 2, 2016)

  • [BACKOUT] G1 does not implement millis_since_last_gc which is needed by RMI GC
  • SAX Parser throws incorrect error on invalid xml
  • Catalog API: Consolidating CatalogResolver to support all XML Resolvers
  • ZoneOffset.ofHoursMinutesSeconds() does not reject invalid input
  • jdk.nio.zipfs.JarFileSystem does not completely traverse the versioned entries in a multi-release jar file
  • Remove sun/rmi/runtime/Log/6409194/NoConsoleOutput.java from ProblemList
  • Correct inconsistencies in floating-point abs spec
  • Fix @modules in some of jdk/* tests
  • jshell tool: jdk repo module pages to allow double-dash fix to access Jopt-simple
  • Fix @since for javax.sql.rowset.BaseRowSet and javax.sql.CommonDataSource
  • java/net/MulticastSocket/NoLoopbackPackets.java tests may leave a daemon thread
  • java/nio/file/WatchService/UpdateInterference.java test leaves daemon threads
  • SecurityExceptions not defined in some class loader methods
  • Drop AAC and FLAC from content type check in java/nio/file/Files/probeContentType/Basic.java
  • Re-enable VarHandle tests quarantined by JDK-8160690
  • JarFile::isMultiRelease does not return true in all cases where it should return true
  • krb5 does not retry if TCP connection timeouts
  • Lazier initialization of java.time
  • Generate field lambda forms at link time
  • Generate non-customized invoker forms at link time
  • Improve javax.crypto.BadPaddingException messages
  • Make sure java/nio/channels tests shutdown asynchronous channel groups
  • Add print statements to java/nio/file/WatchService/LotsOfCancels.java
  • NPE in ConcurrentHashMap.removeAll()
  • jlink has typo in copy-files plugin help text example
  • (fs) Path.relativize() gives incorrect result for ".."
  • Remove computation of predefined interpreter forms
  • Add security property to configure XML Signature secure validation mode
  • Update bugs.sun.com references to bugs.java.com
  • modify jdk makefiles to build jdeprscan
  • remove jdeprscan from tools/launcher/VersionCheck.java
  • module graph consistency checks after jlink plugins operate on module pool
  • sun/security/krb5/auto/BadKdc* tests fails intermittently
  • In java.security file, ocsp.responderCertSubjectName should not contain quotes
  • Enable tracing which JLI classes can be pre-generated
  • Add a test for Proxy Authentication in HTTP/2 Client API
  • Cross targeting Windows
  • tools/jlink/plugins/GenerateJLIClassesPluginTest.java can't compile after JDK-8163371
  • Resolve disabled warnings for libj2pkcs11
  • HttpCookie does not correctly handle negative maxAge values
  • Package jurisdiction policy files as something other than JAR
  • Cleanup of test java/nio/channels/FileChannel/Lock.java
  • GPL header incorrect - classfile/classpath
  • jlink attempts to create launcher scripts when root/bin dir does not exist
  • sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with "Error while cleaning up threads after test"
  • Cleanup and make better use of the stream API in the jrtfs code
  • 8164130 Simplify doclet IOException handling
  • jshell tool: use new double-dash long-form command-line options
  • Problem list TestIOException.java
  • Fix license and copyright headers under test/jdk/javadoc/ and test/tools/javac/
  • javac is not correctly filtering non-members methods to obtain the function descriptor
  • allclasses-frame broken after JDK-8162353
  • JSR269 jigsaw update: javax.lang.model.element.ModuleElement.getEnclosedElements() on unnamed module with unnamed package
  • inference of thrown variable does not work correctly
  • implement deprecation static analysis tool
  • add a few tools tests to the problem list
  • jshell tool: Save does not affect jshell if started from another editor
  • update tests to remove use of old-style options
  • JShell tool: for (FormatCase e : EnumSet.allOf(FormatCase.class))
  • jshell tool: "not active" must be pulled from resource file
  • javac -Xmodule compiles the module in a way that reads the unnamed module
  • JShell: new jdk.jshell.MemoryFileManager(StandardJavaFileManager, JShell) creates a jdk.jshell.MemoryFileManager$REPLClassLoader classloader, which should be performed within a doPrivileged block
  • Build broken after JDK-8164745
  • Missing doc-files in javadoc documentation
  • TEST_BUG: adjust scope of the DefinedByAnalyzer in tools/all/RunCodingRules.java
  • add documentation for NativeNumber and NativeBoolean
  • Edit pad crashes when calling function

New in Java SE Development Kit (JDK) 9 Build 133 Early Access (Aug 29, 2016)

  • key word 'requires' appearing in comment causing a build failure
  • Remove universal binaries support from hotspot build
  • Create initial javadoc description for modules
  • G1 does not implement millis_since_last_gc which is needed by RMI GC
  • [TESTBUG] runtime/StackGuardPages/testme.sh uses invalid argument -Xss328k
  • bigapps/Jetty - assert(jfa->last_Java_sp() > sp()) failed with JFR in use
  • GPL header missing comma after year
  • Crash with assert(ft == _type) failed in PhiNode::Value()
  • ssert(!((nmethod*)_cb)->is_deopt_pc(_pc)) failed: invariant broken
  • Mark stress compiler and gc tests with stress keyword
  • Space character is missing in ClassLoaderData::print_value_on
  • Build give extraneous find warnings
  • JPRT jobs see intermittent failures in compiler/floatingpoint/ModNaN.java
  • make of jtreg_tests fails if no tests are run, causing jprt test runs to also fail
  • Testcase missed in push for JDK-8160817
  • jhsdb jinfo cannot show system properties
  • quarantine serviceability/sa/sadebugd/SADebugDTest.java since it hangs intermittently
  • GPL header missing comma in year
  • Cannot get Monitor Cache Dump in HSDB
  • illegal bci error with interpreted frames in SA due to mirror being stored in interpreted frames
  • Crash in class unloading due to null CLD having a zero _keep_alive value
  • Slow compiler tests in JPRT
  • [JVMCI] assert(wf.check_method_context(ctxk, m)) failed: proper context
  • Effect of -XX:CICompilerCount depends on ordering of other flags
  • Test compiler/arraycopy/TestEliminatedArrayCopyDeopt.java fails with "m1 failed"
  • PPC64: Wrong ucontext used after SIGTRAP while in HTM critical section
  • Various JMX-tests timed out
  • compiler/codecache/jmx/InitialAndMaxUsageTest.java times out on 32-bit platforms
  • assert(comp != __null) failed: compiler not available
  • [TESTBUG] compiler/codecache/jmx/UsageThresholdIncreasedTest.java failed with: Failed to find sun/hotspot/WhiteBox.class
  • SIGSEGV: constantPoolHandle::constantPoolHandle(ConstantPool*)
  • compiler.codecache.jmx.InitialAndMaxUsageTest can not be used w/ disabled SegmentedCodeCache
  • compiler/codecache/jmx/ThresholdNotificationsTest.java doesn't set -XX:+UnlockDiagnosticVMOptions while using WB
  • Test8015436 doesn't check which method was executed
  • bigapps/Kitchensink/stressExitCode hits assert: Must be VMThread or JavaThread
  • VM crashes in test Test7005594
  • jhsdb jstack cannot work with normal mode
  • Remove universal binaries support from hotspot build
  • os::current_frame() is not returning the proper frame on ARM and solaris-x64
  • NMT includes an extra stack frame due to assumption NMT is making on tail calls being used
  • NMT for Linux/x86/x64 and bsd/x64 slowdebug builds includes NativeCallStack::NativeCallStack() frame in backtrace
  • Checking for anonymous class should check for NULL as well as potential nesting
  • XPath.evaluate(String,Object,QName) throws exception if context node is null
  • Fix PermGen memory leaks caused by static final Exceptions
  • Create initial javadoc description for modules
  • Remove wptg id from jaxp resource files - JDK9
  • Create initial javadoc description for modules
  • Finalizing one key of a KeyPair invalidates the other key
  • javax/net/ssl/Stapling/SSLSocketWithStapling.java test fails intermittently with "Address already in use" error
  • DateFormatSymbols: month-related methods must refer to Calendar constants
  • Update Tests to verify JDK build for "JDK-8159488 Deprivilege java.xml.crypto"
  • keytool can wrongly parse the start date value given by the -startdate option
  • sun/security/krb5/auto/MaxRetries.java fails with Retry count is -1 less
  • sun/security/krb5/auto/MaxRetries.java failed with timeout
  • make of jtreg_tests fails if no tests are run, causing jprt test runs to also fail
  • jhsdb jinfo cannot show system properties
  • Default.policy file missing content for solaris
  • The SunJCE PBKDF2KeyImpl is requiring the MAC instance also be from SunJCE.
  • Provider#compute and #merge methods expect wrong permission & #compute ClassCastException even with wrong permission.
  • Create initial javadoc description for modules
  • jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException
  • Problem list sun/rmi/runtime/Log/6409194/NoConsoleOutput.java on windows due to JDK-8164124
  • Generate corresponding simple DelegatingMethodHandles when generating a DirectMethodHandle at link time
  • Minor correction in Java API doc for DataSource
  • Various cleanup in java.io code
  • Add references to the standard JSSE cipher suite names in javadoc
  • Minor correction in Java API doc for DataSource
  • Avoid repeated "Please insert a smart card" popup windows
  • Collectors.toSet() parallel performance improvement
  • Deprecate java.security.Provider(String, double, String), add Provider(Strin
  • jrtfsviewer.js and jrtls.js does not work
  • MethodHandles.countedLoop/4 works incorrect for start/end = Integer.MAX_VALUE
  • Generate all zero and identity forms at link time
  • sun.security.pkcs11.SunPKCS11 poller thread retains a strong reference to the context class loader
  • Improve array caches and renderer stats in Marlin renderer
  • TIFF javadoc contains HTML entities inside {@code} tags
  • Fix for 8152971 breaks builds with VS2010
  • Make the non-translated keywords clear to translator in jar.properties
  • Need extra newline in the end of for multi-lines strings in jar.properties
  • [TEST_BUG] Test java/awt/TrayIcon/PopupMenuLeakTest/PopupMenuLeakTest.java fails
  • Merge error in the DefaultRowSorter.java
  • Memory leak in com.apple.laf.AquaProgressBarUI removed progress bar still referenced
  • AIOOB Exception during sequential write of TIFF images
  • JSlider thumb is twice smaller on HiDPI display
  • Page Range must be disabled on the common print dlg for Non serv-formatted flvrs
  • KSS : resource loading issue in TIFFMetadataFormat.java
  • KSS : class.forName issue in TIFFImageMetadata.java
  • Bad rendering of Swing UI controls with Metal L&F on HiDPI display
  • Upgrade to harfbuzz 1.3.0 in JDK 9
  • Update libPNG library to the latest up-to-date
  • "IIOException: Couldn't seek!" when calling TIFFImageReader.getNumImages()
  • Implement AccessibleAction interface in JList.AccessibleJList.AccessibleJListChild
  • IllegalArgumentException: adding a component to a container on a different GraphicsDevice
  • java.beans.MethodRef#get throws NullPointerException
  • ClassCastException when adding IFD to the TIFFDirectory before the image write
  • Cleanup of classes which are related to JavaSound
  • [macosx] Press "To Back" button on the Dialog,the Dialog moves behind the Frame
  • com/sun/crypto/provider/KeyFactory/TestProviderLeak.java fails with java.util.concurrent.TimeoutException
  • Zero forms not properly generated
  • java/nio/file/Files/probeContentType/Basic.java fails on windows for Content type: audio/vnd.dlna.adts
  • SunPKCS11 requires a non-empty PBE password
  • [SunPKCS11] Fails to cast into RSAPrivateCrtKey after RSA KeyPair Generation
  • Test for JDK-8042900
  • closed/java/text/Format/DateFormat tests failed on Hindi
  • java/text/Format/DateFormat/Bug4845901.java failed in Thai locale
  • java/util/Calendar/CalendarRegression.java failed in ar locale.
  • LocaleProviderAdapter Preference list retrieved is wrong, when -Djava.locale.providers=COMPAT
  • java.util.Date.after(java.sql.Timestamp ) does not return correct results
  • Add back javadoc module description for java.se.ee
  • Make java.lang.reflect.ClassLoaderValue public for internal use
  • Re-examine zero form link time pre-generation
  • Provide javadoc descriptions for the jdk.security.auth and jdk.security.jgss modules
  • illegal bci error with interpreted frames in SA due to mirror being stored in interpreted frames
  • java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java timeout
  • ClassesByName2Test.java and RedefineCrossEvent.java failing with jtreg tip
  • com/sun/jdi/CatchPatternTest.sh fails on jdk9/hs with Required output "Exception occurred: java.lang.IllegalMonitorStateException" not found
  • JShell API: SourceCodeAnalysis.Suggestion has constructor, ...
  • Workaround intermittent failures of TreePosTest.java due to C2 memory usage
  • javadoc should provide a way to disable use of frames
  • Error messages when compiling a malformed module-info.java confusing
  • AssertionError in javac when module-info < v53.0
  • [javadoc] broken link in Package com.sun.tools.jconsole
  • Error message should be generated once when -source 6 is specified
  • Incorrect fonts in Java 8 javadocs
  • part of list in javadoc should not be in monospace font
  • The fix for JDK-8072052 shows up other minor incorrect use of styles
  • Missing doclint check missing for modules
  • Enhance the javadoc tool to support module related options
  • Remove jtreg run configurations from langtools idea project
  • Update javadoc to include module search
  • JShell: crashes with extremely long result value
  • an image created for "jdk.compiler" fails to run javac
  • tools/javac/modules/InheritRuntimeEnvironmentTest.java fails on Windows after JDK-8153391
  • JShell API: Snippets are immutable and should be available for post-mortem analysis
  • JShell: setContextClassLoader() for remote Snippet class loader
  • jshell tool: /vars when the status is other than Active
  • JShell: file manager should be closed
  • Honor Number type hint in toPrimitive on Numbers
  • Netbeans makefile for nashorn should use JDK_9 as platform
  • readLine does not echo characters

New in Java SE Development Kit (JDK) 9 Build 132 Early Access (Aug 22, 2016)

  • Simplify use of module-system options by custom launchers
  • jdk.vm.ci.hotspot.test.MethodHandleAccessProviderTest fails on jdk9/dev
  • Remove two null line in the end of message.properties
  • Simplify use of module-system options by custom launchers
  • javax/xml/jaxp/unittest/validation/Bug6773084Test.java fails intermittently
  • javax/xml/jaxp/unittest/catalog/CatalogSupport2.java failed due to SocketTimeoutException
  • Simplify use of module-system options by custom launchers
  • probeContentType/Basic.java fails after changes for JDK-8146215
  • Add some print instrumentation to java/nio/channels/Selector/RacyDeregister
  • Add a multi-release jar validation mechanism to jar tool
  • Avoid using Utils.getFreePort() in TsacertOptionTest.java test
  • Create new keytool option to access cacerts file
  • ServerHandshaker may select non-empty OCSPStatusRequest structures when Responder ID
  • Unexpected NPE still possible on some Kerberos ticket calls
  • Reduce number of classes loaded by common usage of java.lang.invoke
  • Fix wrong prototype of getNativeScaleFactor() in systemScale.h
  • Rewrite GenerateJLIClassesPlugin to avoid reflective calls into java.lang.invoke
  • JDK build has been failing after 8163373
  • java.net.http.RawChannel has been made public by mistake
  • Simplify use of module-system options by custom launchers
  • Some sun/security/tools tests failed.
  • Integer overflow in StringBufferInputStream.read() and CharArrayReader.read/skip()
  • Tests added in JDK-8163518 fail on some platforms
  • (smartcardio) CardPermission(String termName, String actions) violates specification
  • com/sun/crypto/provider/Mac/MacClone.java failed on solaris12(sparcv9 and x86)
  • java.security.AccessControlException: access denied ("java.security.SecurityPermission" "authProvider.SunMSCAPI")
  • Clean up ProblemList.txt for closed/resolved issues
  • ProblemList.txt update for sun/security/tools/keytool/autotest.sh
  • Update issue number for SupportedDHKeys.java and UnsupportedDHKeys.java in ProblemList
  • Remove unnecessary bridge methods, allocations in java.lang.invoke
  • java/lang/String/concat/WithSecurityManager.java fails after 8163878
  • Duplicate entry in http.nonProxyHosts will ignore subsequent entries
  • Introduce system property to control enabled ciphersuites
  • PKCS12 keystore cannot store non-X.509 certificates
  • Optimize AtomicBoolean.getAndSet
  • java/util/concurrent/tck/JSR166TestCase.java testWriteAfterReadLock(StampedLockTest): timed out waiting for thread to terminate
  • [TESTBUG] java/util/concurrent/forkjoin/FJExceptionTableLeak.java fails due to out of memory
  • TESTBUG] FJExceptionTableLeak and RemoveLeak fail with -XX:+UseParallelGC -XX:+AggressiveOpts
  • Miscellaneous changes imported from jsr166 CVS 2016-08
  • Documentation in DocumentationTool.getTask(...) should mention about "null" parameter for doclet.
  • Re-examine dependency on property sun.boot.class.path
  • HTMLWriter needs perf cleanup
  • JShell API: convert query responses to Stream instead of List
  • JShell: ProblemList.txt update: 8139872 and 8080843 fixed
  • javac is generating let expressions unnecessarily
  • JShell tests: disable minor failing editor tool cases: 8161276, 8163816, 8159229
  • Simplify use of module-system options by custom launchers
  • Multiple -Xpatch lines ignored by javac
  • javac should support new option -XinheritRuntimeEnvironment
  • fix @ignored langtools/test/jdk/javadoc/tool/ tests
  • javac moduleName/className and moduleName/packageName options
  • javax.lang.model.util.Elements.getModuleElement returns null during annotation processing on class files
  • Add javac lint warning when the @Deprecated annotation is used where it is a no-op
  • doclet resources doclet.usage.NAME.name are redundant
  • HTMLDoclet and AbstractDoclet should implement Doclet
  • Uniqify test framework class names
  • ct.properties has no copyright notice
  • JShell: unacceptable suggestions in 'extends', 'implements' in smart completion
  • JShell: methods and fields of uncompleted expressions should be suggested
  • NPE in initialization of OptimisticTypesPersistence
  • Simplify use of module-system options by custom launchers

New in Java SE Development Kit (JDK) 9 Build 131 Early Access (Aug 12, 2016)

  • Summary of changes:
  • get_source.sh does not copy the closed repos when cloning local filesystems
  • Unable to build JDK 9 on a Sparc T7-1 with default boot-jdk 8.0
  • Fix broken CL version detection in configure for some Visual Studio configurations
  • Building --with-parfait= fails with No rule to make target 'PARFAIT_NATIVEJMOD
  • [javadoc] broken link in jdk/api/javadoc/taglet/com/sun/tools/doclets/Taglet.html
  • Deprecate JSObject.getWindow(Applet) method
  • Hotspot build doesn't have -std=gnu++98 gcc option
  • Syntax error in TOOLCHAIN_CHECK_COMPILER_VERSION
  • [TESTBUG] hotspot/runtime/StackGuardPages/testme.sh should use native library build support
  • Solaris: deprecated/obsolete compiler flags should be removed
  • Unable to run jtreg tests with MinimalVM
  • [JVMCI] the client VM build is broken when INCLUDE_JVMCI is defined
  • Update minimum Solaris Studio compiler version to 5.13
  • update hotspot tests to use vm.compMode instead of their own logic
  • Remove SA-JDI
  • TestNewSizeFlags fails with RuntimeException: max new size != MaxNewSize value
  • A couple of runtime tests failing for the -testset hotspot snapshot job
  • Explicitly setting := vs = in the -XX:+PrintFlagsFinal output
  • Flags should be set using the proper macro
  • JVM_DoPrivileged() fires assert(_exception_caught == false) failed: _exception_caught is out of phase
  • Hotspot build doesn't have -std=gnu++98 gcc option
  • Syntax error in TOOLCHAIN_CHECK_COMPILER_VERSION
  • missing newline char in the exception messages in diagnosticArgument.cpp
  • gc/logging/TestUnifiedLoggingSwitchStress.java timeout
  • Concurrent mark mark stack memory allocation leaks memory
  • All Buffer implementations should leverage Unsafe unaligned accessors
  • Solaris: deprecated and interfaces should be replaced
  • [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
  • [TESTBUG] hotspot/runtime/jsig/Test8017498.sh should use native library build support
  • [TESTBUG] hotspot/runtime/StackGuardPages/testme.sh should use native library build support
  • Race at the VM exit causes "WaitForMultipleObjects timed out"
  • GPL header missing comma after year
  • quarantine compiler/arraycopy/TestEliminatedArrayCopyDeopt.java
  • quarantine gc/stress/TestStressG1Humongous.java on 32-bit
  • quarantine serviceability/dcmd/compiler/CompilerQueueTest.java on 32-bit
  • Parallelize the Free CSet phase in G1
  • G1 IHOP JFR event attribute with incorrect content type
  • gc/stress/TestStressG1Humongous.java fails with OOME
  • [JVMCI] VM warning: Performance bug: SystemDictionary lookup_count=21831450 lookup_length=1275207287 average=58.411479 load=5.572844
  • DisableStartThread should not be applied to GC worker threads
  • CDS should be disabled if JvmtiExport::should_post_class_file_load_hook() is true.
  • Utils.tryFindJvmPid sometimes find incorrect pid
  • Linking gtestLauncher may end up linking with non-gtest libjvm
  • runtime/Unsafe/GetUnsafe.java is failing on jdk9/dev
  • Test issue: VM init failed: GC triggered before VM initialization completed. Try increasing NewSize, current value 768K.
  • 8159666 breaks minimal VM
  • sun.jvm.hotspot.oops.InstanceKlass::getSize() returns the incorrect size and has no test
  • DumpHeap.java hits assert in G1 code
  • GPL header missing comma after year
  • The trace event vm/class/load is not always being sent
  • New test to verify the modules info as returned by the JVMTI
  • Simplify including platform files.
  • Cache initial active_processor_count
  • G1 crashes if active_processor_count changes during startup
  • -Xbootclasspath/a breaks exploded build
  • compiler/codecache/jmx/UsageThresholdExceededSeveralTimesTest.java fails with exit 134.
  • Remove source code conditionalized on JAVASE_EMBEDDED
  • Better class stream parsing
  • Un-quarantine TestParallelHeapSizeFlags.java and TestSmallHeap.java.
  • gc/g1/TestShrinkAuxiliaryData* tests fail because GC triggered before VM initialization completed
  • JVM should validate a module by checking for an instance of java.lang.reflect.Module
  • Crash in C2 escape analysis with assert: "node should be registered"
  • -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation on ppc64 and sparc
  • aarch64: optimise unaligned array copy long
  • [JVMCI] race condition in HotSpotMemoryAccessProviderImpl.verifyReadRawObject
  • @library' must appear before first `@run'
  • [JVMCI] remove ConstantReflectionProvider.isEmbeddable method
  • Over-unrolled loop is partially removed
  • -XX:TraceJumps is broken on Sparc
  • [ctw] Test CompileTheWorld.java needs to be updated for Jigsaw
  • [JVMCI] JvmciNotifyBootstrapFinishedEventTest.java failed NoClassDefFoundError: jdk/vm/ci/runtime/JVMCI
  • aarch64: fails to build after 8157834
  • [ctw] CompileTheWorld testlibrary should trigger compilation of and
  • compiler/rangechecks/TestRangeCheckEliminationDisabled.java fails after JDK-8150900
  • Vectorization with signalling NaN returns wrong result
  • aarch64: string compare does not support CompactStrings
  • PreserveFPRegistersTest.java runs out of memory in the nightlies.
  • [JVMCI] need to be able to copy internal arrays from LocalVariableTable and LineNumberTable
  • StubRoutines::_dtan does not restore callee save register rbx
  • TestStringIntrinsicRangeChecks fails w/ No exception thrown for compressByte/inflateByte
  • [JVMCI] the client VM build is broken when INCLUDE_JVMCI is defined
  • Mismatched field loads are folded in LoadNode::Value
  • error: package jdk.internal.jimage does not exist
  • Implement VarHandles/Unsafe intrinsics on AArch64
  • aarch64: CDS is broken after 8079507
  • Jittester: bytecode tests generation hangs in ClassWriter infinite loop
  • Compiler HotSpot tests should use the "run driver" directive where applicable
  • [JVMCI] compiler selection should work without -Djvmci.Compiler
  • assert while replaying ciReplay file created using TieredStopAtLevel=1
  • Compiler accesses to shared archive fail if archive is remapped
  • Put compiler tests in packages
  • [JVMCI] SPARCHotSpotRegisterConfig.callingConvention gives incorrect calling convention for native calls containing fp args
  • Compiled code (64-bit) on SPARC should sign extend INT parameters passed on registers to runtime or native methods.
  • [TESTBUG] Several compiler tests fail with product bits
  • jdk.vm.ci.hotspot.test.MethodHandleAccessProviderTest fails
  • AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure
  • AArch64: Enable compact strings
  • update hotspot tests to use vm.compMode instead of their own logic
  • [TESTBUG] Several compiler tests fails when are executed with -XX:TieredStopAtLevel=1
  • [TESTBUG] compiler/jvmci/compilerToVM/ReprofileTest.java failed with RuntimeException
  • C1: Clean up platform #defines in c1_LIR.hpp.
  • [JVMCI] missing test files from 8159368
  • [JVMCI] compiler/jvmci/events/JvmciNotifyInstallEventTest.java fails with NoClassDefFound
  • [JVMCI] HotSpotVMConfig.baseVtableLength is incorrectly computed
  • JVMCI: MaterializeVirtualObjectTest fails w/ "CASE: invalidate=true: has no virtual object before materialization
  • [Testbug] serviceability/dcmd/compiler/CompilerQueueTest.java fails with TieredStopAtLevel=1
  • compiler/jsr292/MHInlineTest.java can't be run on client-only platforms
  • -XX:CompileOnly does not behave as documented
  • AArch64: Fix overflow in immediate cmp instruction
  • [JVMCI] EnableJVMCI should only be required when its not implied by other flags
  • Logic in ConnectionGraph::split_unique_types() wrongly assumes node always have memory input
  • fix indent in CompileTask::print_tty
  • TestSHA512Intrinsics.java failed with Unexpected count of intrinsic _sha5_implCompress is expected
  • Random infrequent null pointer exceptions in javac
  • jvm crashes when -XX:+UseCountedLoopSafepoints is enabled
  • adlc: Fix crash in cisc_spill_match if _rChild == NULL
  • Node::operator new invokes undefined behavior
  • Performance regression: bimorphic inlining may be bypassed by type speculation
  • Unrecognized VM option 'UseCountedLoopSafepoints'
  • Solaris: __USE_LEGACY_PROTOTYPES__ is redundant and should be removed
  • : Error handling incomplete when creating GC threads lazily
  • Remove SA-JDI
  • Add jsadebugd functionality to jhsdb
  • [BACKOUT] MemberNameTable doesn't purge stale entries
  • Small fixes for AIX perf memory and attach listener
  • testlibrary_tests/ctw/* failed with "Failed. Unexpected exit from test [exit code: 0]"
  • TestNewSizeFlags fails with RuntimeException: max new size != MaxNewSize value
  • Header files with conditional behaviour can not be precompiled
  • RuntimeException thrown by XPathFactory::newInstance missing the cause
  • Enable security manager on JAXP unit tests and make some improvement
  • [TESTBUG] 2 jaxp test cases are failing
  • jaxp/test/javax/xml/jaxp/unittest/validation/Bug6457662.java should clean up better
  • Doc for ValidationEvent#getSeverity() should say it returns a constant from ValidationEvent instead of ValidationError
  • Add JAVA_VERSION, OS_NAME, OS_ARCH properties in release file
  • Remove intermittent key from sun/security/pkcs11/rsa/TestKeyPairGenerator.java
  • Code clean-up in IncludeLocalesPlugin
  • Locale matching: Weight q=0 isn't handled correctly.
  • Remove tools/jlink/JLinkOptimTest.java from ProblemList.txt
  • Remove JInfoSanityTest.java JInfoRunningProcessFlagTest.java and JMapHeapConfigTest.java from ProblemList.txt
  • Annotation toString output not reusable for source input
  • java/lang/ProcessBuilder/Zombies.java failed with error "1 zombies!"
  • fix minor Javadoc issues and remove warnings in java.net.Socket
  • Remove intermittent key from java/lang/Runtime/exec/LotsOfOutput.java
  • Typos around @code javadoc tag usage
  • FileCopierPlugin should not create fake module
  • Add some debugging output to test/java/nio/file/WatchService/DeleteInterference
  • jlink exclude VM plugin does not fully support cross platform image creation
  • jlink/plugins/ExcludeVMPluginTest.java failed with Selected VM server doesn't exist
  • javax/swing/plaf/nimbus/8057791/bug8057791.java fails
  • Failure javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java
  • [TESTBUG] Mark more headful tests with @key headful.
  • Press shift and another key using robot does not trigger events properly - WinXP
  • setExtendedState(1) for maximized Frame results in state==7
  • Deprecate JSObject.getWindow(Applet) method
  • StreamPrintServ.getSupportedAttributeValues returns null for Orientation attr
  • Swing ignores first click after decreasing system's time
  • [hidpi] [TestBug] java/awt/GridLayout/ChangeGridSize/ChangeGridSize.java, java/awt/GridLayout/ComponentPreferredSize/ComponentPreferredSize.java are failing
  • Misleading IllegalArgumentException message when a type that is neither LONG nor IFD pointer is supplied to TIFFField constructor
  • [PIT][TEST_BUG]sun/awt/image/OffScreenImageSource/ImageConsumerUnregisterTest.java compilation fails
  • [PIT] Failure of ReplaceMetadataTest on TIFF with IllegalStateException
  • Verify IIOMetadataFormat class on loading
  • Clean up references in font code to old Solaris releases.
  • Clean up obsolete font preferences for JDS.
  • [hidpi] multiresolution image: wrong resolution variant is used as icon in the Unity panel
  • ClassCastException when repainting after display resolution change
  • Cannot customize font configuration on Linux
  • getting IPP connection causes disabling jar caches
  • [parfait] 2 JNI exception pending defect groups in GraphicsPrimitiveMgr.c
  • [parfait] Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of awt_UNIXToolkit.c:132
  • [parfait] Memory leak in imageioJPEG.c:2803
  • [parfait] Uninitialised memory in isXTestAvailable of awt_Robot.c:65
  • [TEST_BUG] Timeout in tests when OOM should be generated
  • Mac build failure
  • Resolve disabled warnings for libjavajpeg
  • JDK should be updated to use LittleCMS 2.8
  • JVM crashed with font manager on Solaris 12
  • [parfait] char array lengths don't match in awt_Font.cpp:1701
  • Native memory leak in font layout subsystem
  • Move libawt file to windows directory
  • GPL header missing comma in year
  • Regression: 4410243 reproducible with GTK LaF
  • [hidpi] The frame insets size is wrong on Linux HiDPI because it is not scaled.
  • There is no tooltip while moving the mouse on the tray icon.
  • java.awt.Headless exception has no spec since its creation
  • Regression: closed/javax/swing/text/FlowView/LayoutTest.java
  • Make GTK3 menus appearence similar to native.
  • AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK version when jdk.gtk.version=3
  • HiDPI: awt.Choice looks improperly (Win 8)
  • skipImage() in JPEGImageReader class throws IIOException if we have gaps between markers in Jpeg image.
  • KSS : unnecessary class.forName in TIFFJPEGCompressor.java
  • Resolve disabled warnings for libmlib_image and libmlib_image_v
  • Banner checkbox in PrinterJob print dialog doesn't work
  • NullPointerException in LookupOp.filter(Raster, WritableRaster)
  • Force inline methods calling Reflection.getCallerClass
  • Typo in java.net.http.AuthenticationFilter
  • Remove identity scope information from jarsigner -verbose output
  • [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently
  • JNI pending exceptions in ProcessHandleImpl_linux.c and ProcessHandleImpl_unix.c
  • All Buffer implementations should leverage Unsafe unaligned accessors
  • Solaris: deprecated and interfaces should be replaced
  • Table in ThreadInfo.from(CompositeData) may need updates for new stack trace attributes
  • GPL header missing comma after year
  • quarantine more tests that can't attach symbolicator to the process on MacOS X
  • quarantine com/sun/jdi/sde/SourceDebugExtensionTest.java on Win*
  • Solaris: deprecated/obsolete compiler flags should be removed
  • runtime/Unsafe/GetUnsafe.java is failing on jdk9/dev
  • Remove source code conditionalized on JAVASE_EMBEDDED
  • Better class stream parsing
  • Buffer view implementations use incorrect offset for Unsafe access
  • Remove SA-JDI
  • src/jdk.management/share/native/libmanagement_ext/Flag.c doesn't handle JNI exceptions
  • com.sun.management.internal.GcInfoBuilder.getPoolNames should not return reference of it's private member
  • Add jsadebugd functionality to jhsdb
  • HotspotDiagnosticMXBean getFlags erroneously reports OutOfMemory
  • (fs) java/nio/file/Files/probeContentType/Basic.java failed frequently on Solaris-sparc with Unexpected type: text/plain
  • content-types.properties files are missing some modern types
  • ResourcePoolManager.findEntry has a bug in startsWith call
  • unnecessary object creation in reflection
  • Enable generating DMH classes at link time
  • java/lang/StackWalker/VerifyStackTrace.java fails after JDK-8163369
  • Fix the click-through navigation for modules
  • Temporarily problem list javac repeating annotations tests
  • langtools repeating annotations tests depend rely on annotations toString output
  • javac should use stdout for --help and --version
  • missing dependency in build system
  • Iterating over elements of a Scope can return spurious inner class elements
  • AST nodes representing operators should have a common superclass
  • Strict equality operators should not be optimistic
  • Activate anonymous class loading for small sources

New in Java SE Development Kit (JDK) 9 Build 130 Early Access (Aug 5, 2016)

  • Deprivilege java.xml.crypto
  • Set java.specification.version to the MAJOR java version
  • Deprivilege java.security.jgss, jdk.security.jgss and jdk.security.auth
  • javax.xml.datatype.XMLGregorianCalendar.getMonth() return is documented wrong
  • Mark ValidationWarningsTest.java as intermittently failing
  • Catalog API: JAXP XML Processor Support
  • JDK9 message drop 20 resource updates - OpenJDK
  • XSLTC transformer swallows empty namespace declaration which is needed to undeclare default namespace
  • non-ASCII characters in source code comments (hpp)
  • Test fails because it expects a blank between method signature and throws exception
  • Fix double checked locking in Systemconsole()
  • Deprivilege javaxmlcrypto
  • Mark the use of deprecated javaxsecuritycert APIs with forRemoval=true
  • tz) Support tzdata2016f
  • fs) Remove FileTypeDetectors based on libgio and libmagic
  • javatimeformatDateTimeFormatter cannot parse an offset with single digit hour
  • LocalDateofEpochDay input validation
  • sunrmitransportGC retains a strong reference to the context class loader
  • plugin API should avoid read only pool, have module view separated from resource view and have pool builder to modify
  • comsunjndildappoolPoolCleaner should clear its context class loader
  • macosx] Ctrl+Space does generate Unknown keychar
  • Typo in javadoc of javaawtTaskbar, setIconBadge spec
  • DesktopmoveToTrash() javadoc issue
  • TEST_BUG] java/awt/TextArea/TextAreaScrolling/TextAreaScrollingjava
  • macosx] Test case javax/swing/JPopupMenu/6827786/bug6827786java fails
  • The ALT key can not work with any key
  • The "File" menu's menuitems can not bring up information window or modal quit Dialog
  • Regression] Test java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extrajava fails
  • PIT] CloseOnMouseClickPropertyTest fails with AA hint:Nonantialiased rendering mode exception
  • Regression: JDK-8139192 causes NPE in javaawtToolkitcreateCustomCursor()
  • HiDPI hand cursor broken on Windows
  • hidpi] Linux: display-wise scaling factor should probably be taken into account
  • JTree Collapse Buttons Clipped Off Under GTK
  • PrintToFile option is not disabled for flavors that do not support destination
  • hidpi] WindowsetShape() works incorrectly on HiDPI
  • PIT][TEST_BUG] a trap of java/awt/print/PrinterJob/PrintTestLexmarkIQjava
  • Service Menu services
  • Rollback JDK-8158993 from client repo
  • Taking screenshots on x11 composite desktop produce wrong result
  • TaskbarsetIconBadge() spec omits mention of exception for ICON_BADGE_TEXT feature
  • GPL header additional "s" in "thats" - not swapped in licensee bundles
  • On Ubuntu Unity, problem with java/awt/Window/FindOwner/FindOwnerTest
  • Taskbar support reported for Xfce4
  • JComponentupdateUI() may create StackOverflowError
  • Test case: javax/imageio/plugins/png/ITXtTestjava is not closing a file
  • Icons are not properly rendered with Windows L&F on HiDPI display
  • PIT] [TEST_BUG] compilation failed for some tests from jdk/test/java/awt/mixing/AWT_Mixing (can't find Helper)
  • setLocationRelativeTo stopped working in Ubuntu 1310 (Unity)
  • EXCEPTION_ACCESS_VIOLATION in sunawtwindowsThemeReadergetThemeMargins
  • JNI Warning with -Xcheck:jni
  • SheetCollate is not handled properly by the cross platform print dlg
  • Avoid deoptimizations in Fontequals
  • IOOBE in javax/swing/JFileChooser/7199708/bug7199708java
  • macosx] NestedModalDialogTestjava and NestedModelessDialogTestjava tests does not run with current JDK codebase after taking the files from MACOSX_PORT
  • sunfontGlyphList uses broken double-checked locking
  • Provide a javadoc description for the javadatatransfer module
  • Provide a javadoc description for javadesktop module
  • macosx] JList, VO can't access non-visible list items
  • PIT] A series of closed tests about SunFontManager throw NPE on Windows
  • Sample NIO Server README needs updating
  • java/util/SplittableRandom/SplittableRandomTestjava failed with timeout
  • NPE is thrown if exempt application is bundled with specific cryptoPerms
  • VersionCheckjava failure after change for JDK-8160921
  • jmod) ZipException is thrown if there are duplicate resources
  • jmod) module-info encountered in the cmds, libs or config is not added to jmod file
  • JDK9 message drop 20 resource updates - OpenJDK
  • Grant de-privileged module permissions by default with javasecuritypolicy override option
  • Deprivilege javasecurityjgss, jdksecurityjgss and jdksecurityauth
  • keytool -importkeystore should probe srcstoretype if not specified
  • Default TimeZone is GMT not local if usertimezone is invalid on Mac OS
  • Deprecate pre-12 SecurityManager methods and fields with forRemoval=true
  • RuntimeVersionparse needs fast-path for major versions
  • Permission merge issue in jdkcryptoucrypto module
  • Fix module dependencies javax/* EE tests
  • System read/stat/open calls should be hardened to handle EINTR
  • jlink ResourcePoolreleaseProperties should be removed
  • javaxlangmodelutilTypesisSameType() returns true on wildcards
  • NullPointerException in comsuntoolsjavaccompModulescheckCyclicDependencies when module missing
  • invalid use of ALL-MODULE-PATH causes crash
  • JDK9 message drop 20 resource updates - OpenJDK
  • Control characters in constant pool strings are not escaped properly
  • javac, consider a different way to handle access code for operators
  • add documentation for NativeString
  • The `this` value in the `with` is broken by the repetition of a function call

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 127 Early Access (Jul 18, 2016)

  • Implement setting jtreg @requires property vm.isG1Supported.
  • Update Netbeans / Solaris Studio project files on Mac
  • JShell: Add SPI and execution to generated JShell javadoc (root ws
  • build-infra: Paths to optional platform-specific files should not be hardwired to src/closed installer-only top level target is broken
  • Fix problems with stack overflow handling. UL: File size limit on 32 bit Linux
  • Add extension to CompileGtest.gmk
  • Gtest unit tests does not support PCH assert is not defined for unit tests
  • Header guards missing for unittest.hpp
  • StackTraceLogging fails with stack overflow on 32-bit Windows
  • Error message for ICCE for MethodHandle constant pool not helpful
  • Better CDS support for Event-based tracing
  • HeapInfoDCmd should get Heap_lock
  • Remove deprecated methods from jdk.internal.misc.VM
  • Implement setting jtreg @requires property vm.isG1Supported.
  • Support relaxed semantics in cmpxchg
  • AllocateHeap() and ReallocateHeap() should use ALWAYSINLINE macro
  • Add FlagGuard for easier modification of flags for unit tests
  • Threads may do significant work out of the non-shared overflow buffer
  • Remove duplicate comments from G1Policy
  • Fix for 8159335 breaks AArch64
  • JDK9 does not compile on Linux with GCC 6.1 because left-shifting a negative number has undefined behavior
  • Typo in message for NULL memory size arguments in diagnosticArgument.cpp
  • update hotspot tests depending on GC to use @requires vm.gc.X
  • quarantine compiler/jvmci/compilerToVM/ReprofileTest.java
  • C1: SEGV in generated code
  • Partially initialized string object created by C2's string concat optimization may escape
  • VarHandles/Unsafe should support sub-word atomic ops
  • PPC64: improve byte, int and long array copy stubs by using VSX instructions
  • Compilers accept modification of final fields outside initializer methods
  • Fix code indentation in test/compiler/stable tests
  • [JVMCI] fix HotSpotVMConfig startup performance
  • PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
  • [JVMCI] Window-saved SPARC registers should not be considered callee-save
  • [JVMCI] crashes with class redefinition
  • compilercontrol tests: RandomCommandsTest.java and RandomValidCommandsTest.java - fail in PIT
  • Several compiler tests fail with minimal VM
  • Fix for 8072422 is incorrect
  • Tests fail with assert(nm->insts_contains(original_pc)) failed: original PC must be in nmethod
  • Failure of C2 compilation with tiered prevents some C1 compilations.
  • VarHandle float/double field/array access should support CAS/set/add atomics
  • Performance regression on Solaris-SPARC in 9-b103
  • Fix AArch64 after changes made by 8151661
  • Turn StressLCM/StressGCM flags to diagnostic
  • [JVMCI] InterpreterFrameSizeTest.java failed compilation
  • compiler/testlibrary/uncommontrap/Verifier doesn't close FileReade
  • use package in compiler testlibraries
  • ciReplay can not be run w/ JFR enabled
  • [JVMCI] be more precise when enforcing OopMapValue encoding limitations
  • [Findbugs] various warnings reported for JVMCI sources
  • PPC64: Add missing intrinsics for sub-word atomics
  • [jittester] when generating tests with default parameters, generation hangs after 98 test
  • Jittester: FileAlreadyExists exception during tests generation
  • compiler/jvmci/compilerToVM/IsMatureTest failed with "Multiple times invoked method should have method data (assert failed: 0 != 0)" [JVMCI] AllocatableValue.toString overrides are missing reference information
  • Windows os::check_heap needs more information
  • Long response times with G1 and StringDeduplication
  • Quarantine jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java in JDK9-dev
  • JDK9 message drop 10 resource updates
  • Add test cases to validate Annotation
  • sun/security/tools/keytool/printssl.sh failed with "Socket closed" com/sun/crypto/provider/KeyAgreement/SupportedDHParamGens.java failed with timeout
  • Remove intermittent key from TestDSAGenParameterSpec.java
  • sun/security/tools/keytool/DefaultSignatureAlgorithm.java timeout
  • Apply algorithm constraints to timestamped code
  • JDWP: -agentlib:jdwp=help assertion error
  • Remove deprecated methods from jdk.internal.misc.VM
  • Quarantine java/lang/management/MemoryMXBean/Pending.java
  • VarHandles/Unsafe should support sub-word atomic ops
  • VarHandle float/double field/array access should support CAS/set/add atomics
  • Rename VarHandle.compareAndExchangeVolatile to VarHandle.compareAndExchange Quarantine VarHandles tests
  • (ann) java.lang.annotation.AnnotationTypeMismatchException could not be serialize IntPrimitiveOpsTests.java still in ProblemList.txt while related bug has been closed test/java/io/Serializable/failureAtomicity/FailureAtomicity.java doesnot declare module dependencies Possible integer overflow issues for DRBG
  • Add diagnostics to java/lang/ProcessBuilder/Zombies
  • MethodHandles.loop() does not check for excessive signature
  • sun/security/krb5/auto tests failed on machine with TR locale
  • Demote java/lang/ProcessBuilder/Zombies.java to tier 2
  • Remove intermittent key from javax/net/ssl/TLSv12/ShortRSAKey512.java
  • Remove intermittent key from javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java MethodHandles.dropArgumentsToMatch(...) sun/security/x509/URICertStore/ExtensionsWithLDAP.java has to be updated due to JDK-8134577 j.t.SimpleDateFormat spec needs to be clarified regarding month patterns
  • Remove ASMPool support from jlink
  • Unsafe.compareAndExchangeDouble/FloatAcquire should defer to compareAndExchangeLong/IntAcquire Enable debug log in javax/net/ssl/HttpsURLConnection/Equals.java to track JDK-8160210
  • Type annotations with a missing type throw NullPointerException
  • Deflater.deflate with small output buffers fails
  • Ucrypto config file cannot be read when -Dfile.encoding=UTF-16 is set
  • quarantine sun/tools/jps/TestJpsJar.java in JDK9-dev and JDK9-hs
  • Fix @modules in java/lang/SecurityManager/CheckSecurityProvider.java
  • Mark java/security/SignedObject/Chain.java as failing intermittently
  • GPL header missing comma in year - not swapped in licensee bundles
  • build-infra: Paths to optional platform-specific files should not be hardwired to src/closed
  • Remove plugin ordering by isAfter, isBefore.
  • GPL header missing comma in year
  • Semicolon is not recognized as comment starting character (Kerberos) sun/security/mscapi/SignUsingNONEwithRSA.sh failed intermittently
  • -Wlogical-not-parentheses warnings in JRSUIConstantSync.m
  • JEditorPane.createEditorKitForContentType throws NPE after 6882559
  • [macosx] Frame setLocationByPlatform has no effect under Mac OS X
  • [TEST_BUG] test/java/awt/print/PrinterJob/LandscapeStackOverflow.java fails on timeout
  • [PIT][TEST_BUG] failed to run java/awt/print/PrinterJob/PrintDlgSelectionAttribTest.java
  • JDK-8024858 (long tooltip delay) is not fixed but is easily fixed
  • [hidpi] JOptionPane-Icons only partially visible when using Windows 10 L&F
  • [PIT] javax/swing/JMenuItem/8152981/MenuItemIconTest.java always fail
  • Faulty rounding code in BMPImageReader.decodeRLE4()
  • JColorChooser throws Exception
  • Fix coding conventions in Marlin renderer
  • Empty pages when printing on Lexmark E352dn PS3 with "1200 IQ" setting
  • Uncaught exceptions in JComboBox listeners cause listener not to receive events
  • JDK9 message drop 10 resource updates
  • Deleting a file from either the open or save java.awt.FileDialog hangs.
  • Review request for 8139189: VK_OEM_102 dead key detected as VK_UNDEFINED
  • [macosx] robot.keyPress and robot.keyRelease do not generate key event for Alt-Graph key VK_ALT_GRAPH Selection in JList is drawn with wrong colors in Nimbus L&F
  • Margins are not reset to hardware margins when width/height is 0 or -ve alongwith x, y
  • TextLayout equals method is not implemented
  • Caps Lock doesn't work as expected when using Pinyin Simplified input method
  • The rendering of JTable is broken
  • Pressing Esc does not set 'canceled' property of ProgressMonitor
  • Mac OS: Unexpected JavaLaunchHelper message displaying
  • [TEST_BUG] There is only "Fail" button on the description dialog
  • Press the button first two times, the 'First' and 'Next' didn't show
  • ClassCastException: sun.font.CompositeFont cannot be cast to PhysicalFont
  • Ctrl+F6, Ctrl+F5 doesn't work for iconified InternalFrame
  • [macosx] Memory leak in com.apple.laf.ScreenMenu
  • [PIT] Exception running java/awt/event/KeyEvent/KeyChar/KeyCharTest.java
  • Couple awt and swing tests have wrong require jtreg arguments
  • Provide a Swing property to not close toggle menu items on mouse click
  • Jaws reads wrong values from comboboxes when no element is selected
  • Printing to file does not throw a PrinterException if the file cannot be created
  • IIOException while getting second image properties for JPEG
  • X11 keysym XK_topt maps to the wrong Unicode character
  • ScriptRunData.java uses bitwise AND instead of logical AND
  • getHBScriptCode script code validation
  • Some client libraries cannot be built with GCC 6
  • [macosx] Chinese Comma cannot be entered using Pinyin Input Method on OS X
  • getPageFormat doesn't apply PrintRequestAttributeSet specified
  • Provide public API for text related methods in SwingUtilities2
  • Wrong cursor position in text components on HiDPI display
  • Dragged internal frame leaves artifacts for floating point ui scale
  • Cannot list all the available display modes on Ubuntu linux in case of two screen devices
  • [PIT] Typo in SwingUtilities2.java
  • Clarify the javadoc of java.security.CodeSource as to the nullability of 'location'
  • java/nio/file/FileStore/Basic.java failed with "java.nio.file.AccessDeniedException : /zones/zoneone/root "
  • Deprecate the javax.security.cert and com.sun.net.ssl APIs with forRemoval=true
  • Improve the default strength of EC in JDK
  • Remove ExemptionMechanism.finalize() implementation
  • Incorrect GPL header in package-info.java reported
  • java/util/logging/CheckLockLocationTest.java java.lang.RuntimeException: Test failed: should have been able to create FileHandler for %t/writable-dir/log.log in writable directory. No CCC for public class java.net.http.AsyncSSlDelegate
  • List.spliterator should optimize for RandomAccess lists
  • GioFileTypeDetector always calls deprecated g_type_init
  • jdk/test/java/io/Reader/ReaderBulkReadContract.java should clean up better
  • overview-summary.html generated by javadoc should include module information
  • javac, remove unused options, step 3
  • javac, option forceSerializable should be restored
  • JLS8 18.5.3: inference variable seems to be instantiated unexpectedly
  • JShell API: Add javadoc overview and package files
  • JShell: Without at least one source file 8160035 breaks build
  • GPL header contains "(config)" in first line - not swapped in licensee bundles
  • JDK9 message drop 10 resource updates
  • javac, fold debug options
  • javac incorrectly copies over interior type annotations to bridge method
  • javac, fold stop compilation options

New in Java SE Development Kit (JDK) 9 Build 126 Early Access (Jul 8, 2016)

  • Bootcycle builds are broken on jdk9/hs for windows i586
  • Serieal build is broken because of missing dependencies for jmod
  • Bootcycle builds still broken with server jvm on Windows 32bit
  • Remove client VM from default JIB profile on windows-x86 and linux-x86
  • AIX: some more new hotspot build fixes
  • disable-hotspot-gtest not working on Solaris
  • Cancel MetaspaceGC request for a CMS concurrent collection after GC
  • JVMCI tests should not be executed on linux-arm32
  • TESTBUG] TestIHOPErgo and TestStressG1Humongous should not be executed when JFR is enabled
  • Module summary generation fails on Windows 32bit
  • Update compare script to clean baseline
  • fs) Remove GioFileTypeDetector on Solaris
  • JvmtiEnv::GetObjectSize reports incorrect java.lang.Class instance size
  • Adjust lock rankings for some Event-based tracing locks
  • Replace 4K stack allocations with Resource allocations
  • Remove client VM from default JIB profile on windows-x86 and linux-x86
  • AIX: some more new hotspot build fixes
  • Clean up needed when obtaining the package name from a fully qualified class name
  • Lack of proper checking of non-well formed elements in CONSTANT_Utf8_info's structure
  • Resource allocated BitMaps are often cleared twice
  • IntegrationTest1.java fails intermittently due to use of semi-initialized TLAB
  • TESTBUG] CommitOverlappingRegions.java can not deal with pages > 32K
  • ResourceMark in ClassLoader::open_versioned_entry() is being used incorrectly
  • ClassLoader::classloader_type() is called from code not included under #if INCLUDE_CDS
  • testbug] some tests fail because the compiler is using Java heap memory
  • JMap heap test fail when used with external heap
  • Clean up parallel GC specific code from vm/gc/shared/preservedMarks.cpp
  • aix] Compressed class space not allocated in lower regions
  • PreservedMarks verification code fails
  • Guarantee in run_task(task, num_workers) fails
  • aarch64: java/util/Arrays/Correct.java fails due to _generic_arraycopy stub routine
  • aarch64: some more integer rotate instructions are never emitted
  • JITtester] Difference in generated golden output when run with Jigsaw build
  • JITtester] OptionResolver and LiteralFactory use deprecated c-tors
  • PPC64: improve array copy stubs by using vector instructions
  • remove commented action from jdk/vm/ci/runtime/test/ConstantTest.java
  • TESTBUG] compiler/floatingpoint/Test15FloatJNIArgs should use run main/othervm/native
  • Jittester]: tests generation has tests generators hardcoded, blocking alternative tests generation
  • improve Test6857159.java
  • remove shell script from compiler/c2/6894807/IsInstanceTest.java
  • jdk/test/lib/FileInstaller throws NPE if dst is in current directory
  • remove shell from compiler/c2/7070134/Stemmer.java
  • Compiler tests should be correctly marked with @module
  • JVMCI] add missing test files from 8156034
  • JVMCI] remove MemoryAccessProvider.readUnsafeConstant from API
  • Parse::Block construction using undefined behavior
  • indexOfChar intrinsic is not emitted on x86
  • VM crashes if -XX:-ReduceInitialCardMarks is set
  • AArch64: replace tst+br with tbz instruction when tst's constant operand is 2 power
  • Crash with "assert(VM_Version::supports_sse4_1()) failed" if UseSSE < 4 is set
  • JVMCI] remove unused ParseClosure class
  • JVMCI] remove Unsafe.getJavaMirror and Unsafe.getKlassPointer
  • java.lang.OutOfMemoryError triggers: assert(current_bci == 0) failed: bci isn't zero for do_not_unlock_if_synchronized
  • C1 incorrectly folds mismatched loads from stable arrays
  • JVMCI] access to HotSpotJVMCIRuntime.vmEventListeners must be thread safe
  • aarch64: SEGV running Spark terasort
  • JVMCI] NoClassDefFoundError: jdk/vm/ci/runtime/JVMCI
  • Cancel MetaspaceGC request for a CMS concurrent collection after GC
  • Active workers should not be reset in AbstractWorkGang initialize()
  • serviceability/dcmd/ tests timeout
  • Notify_tracing() misplaced for intended purpose
  • JVMTI hides critical debug information for memory leak tracing
  • JCK test vm/jni/DefineClass/dfcl001/dfcl00101m1/dfcl00101m1 crashes when run with -Xlog:classload=info
  • Remove const from methods returning size_t in threadLocalAllocBuffer.hpp
  • TESTBUG] ReserveMemory test is not useful on Aix
  • Add tests which check that Humongous objects behave as expected after finishing ConcMark Cycle
  • TESTBUG] XpatchJavaBase.java compilation failure
  • TESTBUG] ProblematicFrameTest.java throws an exception (due to trying to access Unsafe) but still passes
  • serviceability/tmtools/jstat/GcCapacityTest.java causes JVM to hang during GC
  • UL Xlog:help regd'g 'rt' tag
  • G1 String deduplication logging malformed
  • MemberNameTable doesn't purge stale entries
  • Possible concurrency issue with JVM_AddModuleExports
  • JVMCI tests should not be executed on linux-arm32
  • Add Unified Logging to make it easy to trace time taken in initPhase2
  • TESTBUG] TestIHOPErgo and TestStressG1Humongous should not be executed when JFR is enabled
  • AIX port: cleanup of libo4 wrapper stub
  • Use more informative format for problem list
  • ArrayIndexOutOfBoundsException when comparing strings case insensitive
  • Runtime.version() cause startup regressions in 9+119
  • Add java --dry-run
  • JLinkTest.java should compute exact number of plugins from jdk.jlink module
  • test/sun/util/locale/provider/Bug8038436.java: non English locale(s) included in available locales
  • Remove intermittent key from TreeTest.java and move back to tier1
  • increase java.util.logging.FileHandler MAX_LOCKS limit
  • jlink minor code clean up
  • Showing incorrect result while passing specific argument in the Java launcher tools
  • ZipEntry.isDirectory() may return false incorrectly
  • Class.getResourceAsStream("directory") in JAR returns broken InputStream
  • Problem listing of several http2 tests
  • Replace asserts in VarHandle.AccessMode with tests
  • JDK 9 multi-release enabled jar tool
  • VersionProps.versionNumbers() is broken
  • HPack decoder fails when processing header in multiple ByteBuffers
  • Mark sun/security/tools/keytool/standard.sh as intermittently failing
  • javax/net/ssl/Stapling/SSLSocketWithStapling.java fails intermittently: Server died
  • SocketExceptions contain too little information sometimes
  • Wrong link in comment of java.text.DateFormatSymbols
  • Cipher.init syntax error in javadoc @code tag
  • javax/crypto/Cipher.java has a typo
  • PostProcessingPlugin and ExecutableImage should not be part of plugin API
  • JVMCI] remove Unsafe.getJavaMirror and Unsafe.getKlassPointer
  • JVMTI hides critical debug information for memory leak tracing
  • sun/tools/jps/TestJpsJar.java fails in hs nightly
  • DiagnosticCommandImpl::invoke throws not very comprehensive message in case if method exists but signature or parameters are wrong
  • sun/security/tools/keytool/standard.sh fails on all platforms after JDK-8160415
  • Deprecate the java.security.Certificate API with forRemoval=true
  • Deprecate the java.security.acl API with forRemoval=true
  • fs) Cannot tell which WatchService test is not deleting temp directories "work*"
  • fs) Remove GioFileTypeDetector on Solaris
  • Mark deprecated java.security.{Identity,IdentityScope,Signer} APIs with forRemoval=true
  • Remove default setting for jdk.security.provider.preferred
  • Non-synchronized access to shared members of com.sun.jndi.ldap.pool.Pool
  • JavaTimeSupplementary resource bundles need update
  • provide bytecode intrinsics for loop and try/finally executors
  • java.time.Instant falls through switch statement
  • sun/security/mscapi/ShortRSAKey1024.sh fails with "Field length overflow"
  • java --dry-run should not cause main class be initialized
  • Add time zone mappings on Windows
  • javac throws NPE with Module attribute and super_class != 0
  • Historical name of default encoding shown on encoding mismatch
  • javac, JLS8 18.2.4 is not completely implemented by the compiler
  • javadoc RootDoclmpl and DocEnv needs to be renamed
  • Fix typo in JavacProcessingEnvironment.importStringToPattern
  • javac grants implied readability to explicit modules
  • Use @implSpec tags in javax.lang.model.util
  • JShell API: Add compiler options
  • JShell API: Add access to wrappers and dependencies
  • compilation result depends on order of sources
  • AsssertionError in ClassSymbol.setAnnotationType
  • Source.baseURL is slow for URLs with unregistered protocol
  • Automated test runs fail in nashorn because TEST_IMAGE_DIR is set by jib

New in Java SE Development Kit (JDK) 9 Build 125 Early Access (Jul 4, 2016)

  • Summary of changes:
  • Implement the license-swap logic as a make target
  • Bundles contain extra /./ path element for all files
  • Fix compare script for html files
  • Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
  • Expose (new) Standard doclet class.
  • Verify that configure detects AS on Solaris and print help otherwise
  • NullPointerException in IIOPInputStream.inputClassFields
  • Implement diagnostic_pd
  • JAXBContext.newInstance causes PrivilegedActionException when createContext's declared in abstract class extended by discovered JAXB implementation
  • InputStream documentation for IOException in skip() is unclear or incorrect
  • NullPointerException in IIOPInputStream.inputClassFields
  • javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java fails intermittently with "Unexpected EOF" message
  • Some typo and minor test bugs in ava/lang/module/ModuleReferenceTest.java and ConfigurationTest.java
  • packager needs to determine the root modules to create JRE image
  • ThreadedSeedGenerator uses System.currentTimeMillis and stops generating when time is set back
  • Setting NO_PROXY on HTTP URL connections does not stop proxying
  • Plugin Set getType() should return a Category
  • com.sun.jndi.ldap.SimpleClientId produces wrong hash code
  • Remove netdoc URL protocol Handler
  • Behavior of java.net.URLPermission.getActions() contradicts spec
  • Miscellaneous WebSocket API improvements
  • Formatter returns unexpected strings if locale is null.
  • Remove intermittent key from javax/net/ssl/DTLS/WeakCipherSuite.java
  • "Switching encoding from UTF-8 to ISO-8859-1" log message should be trace/debug message
  • URLPermission not handling empty method lists correctly
  • Update spec to account for platforms that do not support multicast
  • jlink --include-locales fails with java.util.regex.PatternSyntaxException
  • javax/net/ssl/TLS/TestJSSE.java fails intermittently: Unsupported or unrecognized SSL message
  • closed/java/io/Console/TestConsole.java failed with exit code 1
  • sun/security/pkcs11/rsa/TestKeyPairGenerator.java fails due to PKCS11Exception: CKR_FUNCTION_FAILED
  • Memory leak in HTTP2Connection.streams
  • (props) "No Java runtime present, requesting install" when creating VM from JNI [macosx]
  • sun/security/tools/jarsigner/ts.sh failed on OEL Linux 7 with ar_SA Locale
  • Shutdown hooks are racing against shutdown sequence, if System.exit()-calling thread is interrupted
  • GET request via HTTP/2 has a huge delays due to Nagle?s Algorithm and Delayed ACK clash
  • Update usage of jlink/jimage/jmod to show option patterns
  • Jlink's ModuleEntry.stream can't be consumed more than once and ModuleEntry content should be read only if needed
  • JAXBContext.newInstance causes PrivilegedActionException when createContext's declared in abstract class extended by discovered JAXB implementation
  • Improve test/tools/jlink/JLinkTest.java not to hard code the number of plugins
  • Remove java/time/test/java/time/TestClock_System from the problem list
  • Files.size(Path p) returns 0 if path is from JrtFileSystem with exploded build
  • jlink should use System.out for usage messages
  • Reuse Latin1/UTF16 compare routines
  • create build file to generate diags reports for all locales
  • Add some support for jtreg test headers in IntelliJ langtools project
  • Parameter name indices array size not updated correctly
  • Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
  • Expose (new) Standard doclet class.
  • The Html doclet handles options incorrectly
  • Mach 5 tier1 test started failing - jdk/jshell/ComputeFQNsTest.java (after 8131027/8150814)
  • typeof operator does not see lexical bindings declared in other scripts
  • removed deprecated method calls in nashorn code
  • Negative lookahead in RegEx breaks backreference
  • Secondary heredoc eating wrong lines.

New in Java SE Development Kit (JDK) 9 Build 124 Early Access (Jun 24, 2016)

  • jdk-9_solaris-x64_bin-debug.tar.gz error - typeflag 'L'JDK9 preparation message drop resource updates
  • hotspot/test/gc/TestSmallHeap.java failed in jdk9
  • [TESTBUG] G1 tests fail with defined MaxGCPauseMillis
  • [ppc] Implement "JEP 270: Reserved Stack Areas for Critical Sections".
  • Kitchen sink stress test fails
  • Add missing OrderAccess operations to ClassLoaderData lock-free data structures
  • Crash: assert(save_resolved_method == resolved_method()) failed: does this change?
  • Stabilize PackageEntry::package_exports_do
  • Boolean value should be set 1/0 or true/false via VM.set_flag jcmd
  • 'iload_w' in shared class is not interpreted correctly.
  • accessExternalSchema property handling is inconsistent and differs from spec.
  • JDK9 preparation message drop resource updates
  • security.provider property description needs to be updated for modules
  • AppleProvider in java.base/macosx/classes/module-info.java.extra
  • java.util.Locale#lookup throws java.lang.StringIndexOutOfBoundsException for range having '-' as second character
  • Improve deprecation text for Class.newInstance
  • javax/net/ssl/SSLSession/SessionCacheSizeTests.java failed with java.net.SocketException: Address already in use
  • java.util.Scanner hasNext() returns true, next() throws NoSuchElementException
  • Scanner delimits incorrectly when delimiter spans a buffer boundary
  • recent compiler change results in compile error in JapaneseDate.java
  • Mark deprecated javax.security.auth.Policy API with forRemoval=true
  • Tools using MonitoredVmUtil do not parse module in cmdline correctly
  • [TESTBUG] jstack subtest of BasicLauncherTest should not be executed under OS X
  • sun/security/tools/jarsigner/concise_jarsigner.sh timed out
  • Mark ShortRSAKey512.java as intermittently failing
  • Typo in javax.net.ssl.SSLEngineResult.HandshakeStatus.NEED_UNWRAP_AGAIN
  • [TESTBUG] jdk/lambda/LambdaTranslationTest1 - java.lang.AssertionError: expected [d:1234.000000] but found [d:1234,000000]
  • java/time/test/java/util/TestFormatter.java failed.
  • Fix remaining module dependences in java/lang
  • NPE during websocket communication with wss
  • java/lang/ClassLoader/ExtDirs.java failed with java.lang.IllegalThreadStateException with fastdebug
  • Ensure the pack200/unpack200 help is consistent with man page
  • [macosx] java 7 and 8 JDialogs on multiscreen jump to parent frame on focus
  • javax.swing.text.html.parser.Parser parseScript incorrectly optimized
  • Typo in the spec of javax.sound.sampled.AudioFormat.Encoding.toString()
  • JFileChooser removes trailing spaces in the selected directory name
  • UI of Java Web Start app isn't updated when changing Windows theme
  • GraphicsDevice.getConfigurations() is slow taking 3 or more seconds
  • Java Printing: Print range > Selection gets enabled
  • JComboBox prevents wheel mouse scrolling of JScrollPane
  • new JEditorPane("text/plain","") fails for null context class loader
  • Cleanup of sun.java2d.pipe.Region
  • Add @Deprecated annotations to the Applet API classes
  • Some sound tests rarely hangs because of incorrect synchronization
  • javax.print.ServiceUI.printDialog Border/Margin Evaluation is bugged
  • Import declaration not used in sun.java2d.*
  • Nimbus ScrollBar:ScrollBarThumb[Pressed].backgroundPainter is never invoked
  • Several typos in javadoc
  • Intermittent failures of bug6400879.java
  • Two JavaBeans tests failed
  • Add a public API to create a L&F without installation
  • [TEST_BUG] @BeanProperty: unwanted "declaringClass" descriptor when annotating an enum
  • inconsistent behavior for setBackground (Windows/Linux)
  • High contrast colour scheme fails to be applied to JFormattedTextField
  • [TEST_BUG] some new JInternalFrame tests fail
  • Double icons with JMenuItem setHorizontalTextPosition on Win 10
  • BorderLayout javadoc says current version of JDK is 1.2
  • ImageIO.getImageReadersByFormatName() fails when jai_imageio is in the classpath
  • Misleading TIFFField#getAsNativeNode spec about native node name "TIFFIFD"
  • Make TIFFTagSet subclasses final
  • [macosx] Internal API Usage: setPopupType used to force creation of heavyweight popup
  • Default button is activated even when it is invisible
  • @BeanProperty: what is the correct output in case of repeating annotations?
  • JDK9 preparation message drop resource updates
  • Xrender: Class cast exception in 2D code running an AWT regression test
  • Further stabilization for the SwingSet client sanity tests
  • java/awt/Window/WindowsLeak/WindowsLeak.java fails
  • Unstable behavior of PropertyDescriptor's getWriteMethod() in case of overloaded setters
  • IME Composition Window is displayed at incorrect location
  • AWT FileDialog does not inherit icon image from parent Frame
  • [TEST_BUG] Unmappable in ASCII character such as Thai should be escaped in the regtests targeted for a regular non-I18n runs
  • [Documentation] [TextField] Missing new line character handling
  • Need a test for JDK-7172749
  • Code given in api is not compilable: docs/api/javax/print/package-summary.html
  • [TESTBUG] [macosx] Test javax/swing/plaf/basic/BasicComboPopup/7072653/bug7072653.java fails for mac
  • Dialog that opens and closes quickly changes focus in original focusowner
  • The CheckboxMenuItem can not be selected
  • [macosx] ActionEvent is not fired for menu item with option apple.laf.useScreenMenuBar
  • Font2DTest demo needs to use FontPanel resolution matching the screen
  • [TEST_BUG][macosx] Test javax/swing/JTree/DnD/LastNodeLowerHalfDrop.java fails for MacOSX
  • Custom ImageFilters return blank images in Java 8(.45) while working in 7
  • StackOverflowError printing landscape with scale and transform
  • Wrong glyph is displayed for a derived font
  • Resolve disabled warnings for libawt_headless
  • JEditorPane function setPage leaves a file lock
  • [TEST_BUG] test/javax/swing/JPopupMenu/8147521/PopupMenuTest.java: compilation failed
  • CCE: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.opengl.OGLSurfaceData
  • The java.beans.Statement.invoke() method handles 3-arg Class.forName incorrectly
  • [TEST_BUG] java/awt/PrintJob/PrinterException.java fails on timeout
  • Allow source and target based validation for the focus transfer between two JComponents
  • "Fail forward" fails for GTK3 if no GTK2 available
  • JTextArea.insert() does not behave as expected with invalid position
  • java.awt.SplashScreen.getSize() returns incorrect size for high dpi splash screens
  • DOC: ServiceUI.printDialog() need to enhance the description for X,Y coordinates
  • PriorityQueue corrupted when adding non-Comparable
  • non-atomic "bulk" ops note in class javadoc for ConcurrentLinkedQueue, ConcurrentLinkedDeque, & LinkedTransferQueue should not include equals
  • Deprivilege java.smartcardio module
  • All jlink or jmod tests failing
  • AnnotationInvocationHandler.equals(Object) return true when apply to annotation
  • New jarsigner timestamp warning is grammatically incorrect
  • keytool -importcert cannot deal with duplicate certs
  • Re-examine supportness of public classes in com.sun.security.auth.**
  • StrongSecureRandom.java timeout after push for JDK-8141039
  • test/sun/security/krb5/auto/TestHosts should not be modified in-place
  • ModuleDescriptor.read does not verify dependence on java.base in module-info.class
  • ModuleFinder.of not clear that FindException thrown if module descriptor cannot be derived for automatic module
  • IncludeLocalesPluginTest.java fails with timeout
  • tools/jlink/plugins/IncludeLocalesPluginTest.java doesn't detect test failures
  • Add test that tests ClassLoader.getResource/getResources in Multi-Release Jar
  • The LanguageRange.parse() method is throwing IllegalArgumentException in Turkish Locale
  • BASE64 encoded cert not correctly parsed with UTF-16
  • sun/security/tools/jarsigner/warnings/NoTimestampTest.java fails after JDK-8027781
  • [TESTBUG] Mark headful tests with @key headful.
  • Remove java.net.Parts
  • (fs) Paths.get("x").relativize("") return .. on Windows
  • Collections: Implement a noop clear() for EmptyList, EmptyMap and EmptySet
  • "PrimitiveStream.iterateFinite" methods contain incorrect code sample
  • Process.getInputStream().skip() method is faulty
  • Add new test for jdk.internal.misc.VM::getRuntimeArguments
  • ShortRSAKey512.java intermittently times out
  • Some minor test bugs in java/lang/module/ModuleDescriptorTest.java
  • javadoc getSupportedVersion returns 8 instead of 9
  • Pretty printing for loops
  • missing error in qualified default super call
  • langtools build.xml needs some adjustments
  • JDK9 preparation message drop resource updates
  • Inference failure with unchecked subtyping and arrays
  • jdeps -jdkinternals throws NPE when no replacement is known
  • langtools/test/Makefile: improve support for control via variables
  • Update toolbox ModuleBuilder for doc comments
  • Use of '#' to represent MethodHandle kind is confusing
  • javadoc tests needs a tool invoker
  • add documentation for NativeMath
  • ReferenceError in 1.8.0_72
  • Lazy parsing of ES6 shorthand method syntax is broken

New in Java SE Development Kit (JDK) 9 Build 123 Early Access (Jun 24, 2016)

  • Configure script uses basic tools directly in many places
  • Disable redundant build steps when creating buildjdk
  • jlink: should use regex for all pattern operations (--order-resources or --exclude-resources)
  • JDK_FILTER is broken
  • Consider having modifications to jdk.Temporarily problem list DGCDeadLock.java on Mac
  • Make AbstractDrbg non-Serializable
  • SecureRandomParameters missing "@since 9"
  • keytool -importkeystore -help does not list option -destprotected
  • Simplify Text message support in WebSocket API
  • javax.script.ScriptEngineFactory: formatting error in javadoc of getParameter
  • TestCipher.java doesn't check one of the decrypted message as expected
  • TestDSAGenParameterSpec.java test fails with timeout
  • SupportedDSAParamGen.java failed with timeout
  • [Doc] Locale.LanguageRange() throws an undocumented IAE when range is ill-formed.
  • MH.publicLookup() init circularity, triggered by custom SecurityManager with String concat and -limitmods java.base
  • Problem list sun/net/www/http/ChunkedOutputStream/checkError.java
  • jjs throws NoSuchFileException if ~/.jjs.history does not exist
  • Improve usability of CompletableFuture use in WebSocket API
  • ALPN not working when values are set directly on a SSLServerSocket
  • Doc typo in src/../java/net/URI.java
  • Annotations with lambda expressions has parameter result in wrong behavior.
  • String concat stringifiers setup should avoid unnecessary lookups
  • jimage --help is not helpful
  • jimage: extract specified contents
  • jlink: should use regex for all pattern operations (--order-resources or --exclude-resources)
  • Typo in the API documentation of X509KeyManager
  • Exclude jlink tests until jrt-fs patterns are rectified
  • Update LSR datafile for BCP 47
  • Problem list tools/jmod/JmodTest.java
  • SHA-3 Hash algorithm performance improvements (~12x speedup)
  • Ucrypto prov need to workaround the renaming of CK_AES_GCM_PARAMS starting S11.3
  • Update references from "1.9" to "9"
  • ProblemList.txt needs to be updated as 7041639 closed
  • DrbgParameters strength parameter is underspecified if < -1
  • (ann) AnnotationFormatError if "default" Class type not found
  • Fix module dependencies in java/net tests
  • Optimize Formatter.formatMessage
  • Incorrect network mask and broadcast address on Linux when there are multiple IPv4 addresses on an interface
  • Enable debug option for sun/security/ec/TestEC.java
  • WARNING: Could not open/create prefs root node SoftwareJavaSoftPrefs
  • ModuleDescriptor retains overlapping sets for all and concealed packages
  • sun/net/httpclient/hpack/HeaderTableTest.java fails on some locales
  • jdk/test/Makefile: allow users to set verbosity
  • Update java/security/Security/ClassLoaderDeadlock/Deadlock2.sh with the removal of -Djava.ext.dirs
  • sun/net/www/http/ChunkedOutputStream/checkError.java fails on some systems
  • JShell API: No use of fields to return information from public types
  • jshell tool: leaks threads waiting on StopDetectingInputStream
  • Support javadoc tags in module documentation
  • jshell tool: replace use of Option.get()
  • Fix handling of capture variables in most-specific test
  • Implement specified test for related functional interface types
  • Update references from "1.9" to "9"
  • NPE when the annotations is used in export-to of module-info
  • Langtools Intellij project is missing some source roots
  • Fix langtools usage of the deprecated Class.newInstance method
  • Correct wording of RoundEnvironment.getElementsAnnotatedWithAny
  • jjs tab completion of Java classes shows package-private, "hidden" classes too
  • jjs throws NoSuchFileException if ~/.jjs.history does not exist
  • 4 nashorn ant tests fail with latest jdk9-dev build with IncompatibleClassChangeError
  • Preserve position info in module import and export entries

New in Java SE Development Kit (JDK) 9 Build 122 Early Access (Jun 24, 2016)

  • Update FSF address
  • Deprivilege java.sql and java.sql.rowset module
  • Open only linux-x86 builds using Jib fails when building "minimal" jvm
  • Extend WhiteBox API with methods which retrieve from VM information about available GC
  • Update FSF address
  • Update FSF address
  • SharedArchiveFile/SpaceUtilizationCheck.java fails as space utilization is below 30 percent ConstantPool::release_C_heap_structures not run in some circumstances
  • gtest tests are not excluded for minimal builds
  • Logging of ConcGCThreads is done too early
  • [Solaris] Use of -XX:+UseThreadPriorities crashes fastdebug
  • gc/g1/Test2GbHeap.java fails with java.lang.RuntimeException
  • fatal error: heap walk aborted with error 1
  • [TESTBUG] test/testlibrary_tests/SimpleClassFileLoadHookTest.java requires non minimal VM
  • Change the default logging output for errors and warnings from stderr to stdout
  • OptionsValidation/TestOptionsWithRanges.java crashes at CompactHashtableWriter::add during StringTable::copy_shared_string Reserve space for allocation prefetch only in builds that support allocation prefetchin
  • G1YoungGenSizer _adaptive_size not correct when setting NewSize and MaxNewSize to the same value java.lang.IllegalAccessError: class (in unnamed module XXX) cannot access class jdk.internal.misc.Unsafe
  • small typo in ciReplay code
  • fix assert in CompiledStaticCall::set_to_interpreted
  • Various minor code improvements (compiler)
  • remove TrustedInterface from JVMCI
  • [JVMCI] ResolvedJava* interfaces should extend AnnotatedElemen
  • jdk.vm.ci needs to securely export services
  • [JVMCI] allow JVMCI compiler to change the compilation policy for a method
  • [JVMCI] Remove jdk.vm.ci.hotspot.Stable and use jdk.internal.vm.annotation.Stable
  • [JVMCI] update JVMCI sources to Eclipse 4.5.2 format style
  • IGV: StringUtils is absent
  • [JVMCI] make HotSpotResolvedObjectTypeImpl.createField non-public
  • [JVMCI] Enable sharing of debug info by default in all configurations
  • [JVMCI] Notify the jvmci compiler on completion of a bootstrap
  • Java crash with assert in Xcomp mode and disabled ReduceInitialCardMarks
  • Crash with assert in Xcomp mode and with disabled ReduceBulkZeroing
  • EA: assert(ptn->as_LocalVar()->edge_count() > 0) failed: sanity when compiling compareAndExchange
  • [JVMCI] remove support for patching Symbol pointers
  • [JVMCI] remove LocationIdentity interface
  • [JVMCI] findLeafConcreteSubtype should handle arrays of leaf concrete subtype
  • [JVMCI] remove final and stable field handling from ConstantReflectionProvider
  • String intrinsic range checks are not strict enough
  • Implement VarHandles/Unsafe intrinsics on POWER
  • replace CompilerToVM.readUncompressedOop with Unsafe.getUncompressedObject
  • [TESTBUG] compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest fails using -Xcomp
  • JVMCI test task: Unit tests for MemoryAccessProvider
  • JVMCI test task: Unit tests for MethodHandleAccessProvider
  • JVMCI test tasks: Unit tests for MetaAccessProvider
  • [JVMCI] replace LIRKind with abstract base class
  • [jittester] create Visitor for generating bytecode
  • [JVMCI] clean up and minimize JVMCI
  • CompilerControl: tests incorrectly set states for excluded methods
  • CastII/ConvI2L for a range check is prematurely eliminated
  • Update for CompilerDirectives to control stub generation and intrinsics
  • JVMCI: MaterializeVirtualObjectTest fails w/ "CASE: invalidate=true: has no virtual object before" Xcode 7.3 -Wshift-negative-value compile failure on Mac OS X
  • gc/gctests/StringInternSyncWithGC2 fails with Test level exit status: 151 GetNanoTimeAdjustment.java fails with excessive adjustment error
  • assert(k != NULL) failed: preloaded klass not initialized
  • incorrect comment in SystemDictionary::load_shared_class
  • Thread.onSpinWait intrinsification doesn't have sufficient test coverage
  • Cosmetic: AARCH64 defines in c1_LIRAssembler_aarch64.hpp
  • [JITtester] EOL on Windows
  • aarch64: Hello World crashes with fastdebug build
  • aarch64: prefetch ignores cache line size
  • MultiCommand breaks directives amount limit
  • Crash with assert(pd != 0L) failed: PcDesc must not be NULL
  • InterfaceMethod CP entry pointing to a class should cause ICCE
  • BasicLauncherTest.java fails due to type error
  • Perform array bound checks while getting a length of bytecode instructions
  • [TESTBUG] PLAB tests don't handle unexpected GC
  • Extend WhiteBox API with methods which retrieve from VM information about available GC TestStressRSetCoarsening fails with OOM
  • LogConfiguration::describe output can get truncated
  • native/GTestWrapper.java gets SIGABR
  • BasicLayerTest causes fatal error: Thread holding lock at safepoint that vm can block on: Module_loc Add module specific NMT MemoryType
  • [ppc] Implement template interpreter stack overflow checks as on x86/sparc.
  • Update FSF address
  • Several api/org_xml/sax/helpers/XMLReader tests failed due to no SAXException occurs
  • NPE expected if the system identifier is null for CatalogResolver
  • Update FSF address
  • wsimport and wsgen usage messages not printed
  • Typo in java.util.Locale
  • Update FSF address
  • Make handling of 3rd party providers more stable
  • Re-examine com.sun.nio.file to see if it should be a supported API
  • Add test that checks uri of upgradeable modules
  • Mark 4 httpclient tests as intermittently failing
  • Remove intermittent key from test BandIntegrity.java
  • Upgrade CLDR locale data
  • test bug for SystemModuleFinder when fast path is supported
  • Add test that checks -Xpatch with both Jar and exploded patches
  • Format "ha" is unable to parse hours 10-12
  • Nashorn should not use jdk.internal.module.Modules API
  • Deprivilege java.sql and java.sql.rowset module
  • Java Web Start splash mechanism is not working in JDK9
  • sun/net/www/protocol/http/ZoneId.java timeouts intermittently
  • Put java/time/test/java/time/TestClock_System on the problem list for Solaris
  • 2 test failures in demo/jvmti due to unexpected class file version 53
  • Update/Develop new tests for JEP 287: SHA-3 Hash Algorithms
  • Jar tests should pass through VM options
  • DeadCachedConnection doesn't wait for registry to die
  • java_sql_Timestamp.java fails with AssertionError
  • Update String.join example code to use List convenience factory methods
  • Rename the directory ?InstalledModuleDescriptors? and any reference to ?installed? to ?system? in the tests Correct jarsigner warning message about missing timestamp
  • (tz) Support tzdata2016d
  • (zipfs) IllegalArgumentException in ZipCoder.toString when using Shitft_JIS
  • (ann) please improve toString() for annotations containing exception proxies
  • Push tests for JDK-5040830
  • Properties.stringPropertyNames() returns a set inconsistent with the assertions from the spec
  • Problem list IncludeLocalesPluginTest.java
  • MethodHandles.zero(Class) doc issues
  • BigDecimal.sqrt javadoc typo
  • Mark java/rmi/transport/dgcDeadLock/DGCDeadLock.java as intermittently faiing
  • regex UNICODE_CHARACTER_CLASS flag cannot be disabled with an embedded flag expression StackFrame::getFileName returns null when a source file exists for native methods
  • Update a few java/net tests to use the loopback address instead of the host address ConcurrentModification exceptions in httpclient test/java/util/ResourceBundle/modules/appbasic missing @test
  • Resolve disabled warnings for libzip
  • StackWalker#getCallerClass is not filtering hidden/ reflection frames when walker is configured to show hidden /reflection frames MethodHandles.dropArgumentsToMatch(...) non-documented IAE
  • Inconsistent default locale in string formatter methods
  • com/sun/jdi/RedefineClearBreakpoint.sh times out due to Indify String Concat being slow in debug mode
  • [JVMCI] Remove jdk.vm.ci.hotspot.Stable and use jdk.internal.vm.annotation.Stable String intrinsic range checks are not strict enough jdk.internal.loader.ClassLoaders.addURLToUCP() should return converted real path URL. BasicLauncherTest.java fails due to type error
  • Update FSF address
  • obscure error message for bad 'provides'
  • JShell tool: invalid key error occurs when external editor is used
  • NPE while compiling annotations with qualified names in package-info.java Anonymous type declarations drop supertype type parameter annotations [Findbugs] Annotation$Array_element_value may expose internal representation Inference graph dot support broken
  • Fix for 8132216 breaks langtools build
  • functional interface causes ClassCastException when extending raw superinterface JShell: multi-line comment not detected as incomplete
  • JShell: recover from VMConnection launch failure
  • Remove duplicate files in sample API
  • Update FSF address
  • Nashorn should not use jdk.internal.module.Modules API
  • nashorn ant javadoc targets are broken
  • Nashorn's ScriptLoader split delegation has to be adjusted
  • AccessControlException is thrown on public Java class access if "script app loader" is set to null
  • Remove jdk.nashorn.tools.FXShell class
  • Adapter class loaders can avoid creating named dynamic modules

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 120 Early Access (Jun 3, 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 SE Development Kit (JDK) 9 Build 119 Early Access (May 21, 2016)

  • IntelliJ IDEA project support
  • JIB fails to follow redirects
  • Common way to run jtreg tests
  • Cross compilation may cause compiler warnings for "build" compiler
  • Enable build-time use of resource ordering plugin
  • RC resource compilation on windows generates false build failure reports
  • Common way to run jtreg tests
  • ObjectInputStream::resolveClass & resolveProxyClass for platform loader
  • SAX XMLReaderFactory needs to be ServiceLoader compliant
  • Problem list javax/xml/jaxp/unittest/stream/FactoryFindTest.java
  • Update ServiceProviderTest for XMLReaderFactory
  • Removing dependency on jakarta-regexp
  • Common way to run jtreg tests
  • XMLStreamWriter produces invalid XML for surrogate pairs on OutputStreamWriter
  • Websocket API and implementation
  • sun/security/pkcs11/KeyAgreement/SupportedDHKeys.java fails on solaris
  • java/nio/channels/SocketChannel/AdaptSocket.java Fails in Mesos on OSX
  • Optimize Integer/Long.reverse by using reverseBytes
  • Remove AddJsum
  • Remove makeClasslist.js
  • Handful of typos in javadoc
  • Cannot call setSeed on NativePRNG on Mac if EGD is /dev/urandom
  • String: Matches hangs at short and easy Strings containing \r \n
  • java.util.regex.Matcher: Performance issue
  • java.util.regex.Matcher utilizes 100% of the CPU
  • RegEx matcher loops
  • RegEx matcher goes into infinite delay
  • Matcher.matches() has infinite loop
  • Slow performance of Matcher.find
  • j.u.regex.Pattern cleanup
  • Regex does not match correctly for negative nested character classes
  • CANON_EQ supports only combining character sequences with non-spacing marks
  • Pattern doesn't work with composite character in CANON_EQ mod
  • CANON_EQ pattern flag is bugg
  • ExceptionInInitializerError is caught when the pattern has precomposed character A character in Composition Exclusion Table does not match itself
  • the normalization in java regex pattern may have flaw
  • SHA1PRNG output should change after setSeed
  • Incorrect condition in test SupportedDHKeys.java java/util/jar/JarFile/MultiReleaseJar* tests do not declare module dependences IsoFields WEEK_BASED_YEAR and QUARTER_OF_YEAR too lenient Common way to run jtreg tests
  • jlink plugin to order resources should take a class list as input
  • jdk/test/tools/jlink/plugins/SorterPluginTest.java broken
  • Fix @modules in tests in java/lang/management java/lang/System/LoggerFinder/jdk/DefaultLoggerBridgeTest/DefaultLoggerBridgeTest.java fails with java.lang.RuntimeException Remove HTTP proxy implementation and tests from RMI
  • change to jlink has result in test failure
  • remove redundant sentence in SecurityManager.checkMemberAccess doc
  • DRBG not synchronized at reseeding
  • Remove SHA-1 and 3KeyTDEA algorithms from DRBG java/net/httpclient/security/Driver.java failed with RuntimeException: Non zero return value Minor fixes and cleanups in NetworkInterface.c
  • ObjectInputStream::resolveClass & resolveProxyClass for platform loader
  • Temporarily problem list ListKeychainStore.sh on Mac
  • Problem list ShortRSAKey1024.sh on windows
  • Refactor sun/security/rsa/SignatureTest.java
  • change in javadoc for parseObject for MessageFormat - JDK-8073211
  • RC resource compilation on windows generates false build failure reports HttpTimeoutException should be thrown if server doesn't respond
  • Add date-time patterns 'v' and 'vvvv'
  • Initialization race in sun.security.x509.AlgorithmId.get
  • Add support for SHA-3
  • Problem list UnsupportedDHKeys.java on window
  • DualPivot sorting calculates incorrect runs for nearly sorted arrays
  • java.nio.Buffer tests cleanup
  • jdk.javadoc module exports com.sun.tools.javadoc package which contains a lot of internal API. JShell: Completion -- Show parameter names if possible
  • Update javac to generate V53.0 class files
  • Common way to run jtreg tests
  • docs build fails with StackOverflowError on Solaris
  • Navigation bar in javadoc generated pages needs to be updated to display module information StandardJavaFileManager should provide a way to get paths from strings
  • Need to change signature of StandardJavaFileManager.setLocationFromPaths
  • NPE while accessing ExportsDirectives.getTargetModules
  • ES6 for..of should work on Java Iterables and Java arrays
  • Common way to run jtreg tests
  • Use StackWalker for DynamicLinker.getLinkedCallSiteLocation
  • Nashorn nightly test failure after fix for 8156738
  • Script stack trace should display function names
  • Parsing issue with automatic semicolon insertion

New in Java SE Development Kit (JDK) 9 Build 118 Early Access (May 13, 2016)

  • Fixed bugs:
  • 8154956 Module system implementation refresh (4/2016)
  • 8155872 Temporarily disable deprecation checking on the java.desktop module
  • 8154190 Deprivilege java.compiler module
  • 8155513 Deprivilege jdk.charsets
  • 8150044 Generate classlists at build-time
  • 8153685 Parfait integration missing in the new tools (jmod and jlink)

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 107 Early Access (Feb 26, 2016)

  • Summary of changes:
  • Build errors during API docs build
  • Move com.oracle.net and com.oracle.nio APIs to jdk.net module
  • ORB destroy() leaks filedescriptors after unsuccessful connection
  • [TESTBUG] TestRegisterRestoring.java fails with "VM option 'SafepointALot' is develop"
  • Weblogic12medrec assert(handler_address == SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, force_unwind, true)) failed: Must be the same
  • [JVMCI] DebugInfo Tests on DeoptimizeALot runs fails in assert(_pc == *pc_addr || pc == *pc_addr) frame::patch_pc() /frame_x86.cpp:285
  • remove ResolvedJavaType.getClassFilePath()
  • Compiler diagnostic commands should have locking instead of safepoint
  • typo in jvmciCodeInstaller.cpp
  • Compilation fails with "this call site should not be polymorphic"
  • Race loading hsdis may cause SIGSEGV
  • [jittester] Makefile copies JitTesterDriver in incorrect directory and always uses default value for number-of-tests and seed
  • Quarantine CompilerControl tests
  • [JVMCI] missing ResourceMark in JVMCIRuntime::initialize_HotSpotJVMCIRuntime
  • remove redundant modifiers
  • Code quality: reducing an trivial integer loop does not produce an optimal code
  • aarch64: generate_copy_longs calls align() incorrectly
  • aarch64: SEGV running SpecJBB2013
  • aarch64: memory copy does not prefetch on backwards copy
  • AArch64: "bad AD file" for LL enconding AryEq Node matching
  • AArch64: Recognise disjoint array copy in stub code
  • compiler/jvmci/code/SimpleDebugInfoTest.java fails in 'frame::sender_for_compiled_frame'
  • [JVMCI] mitigate deadlocks related to JVMCI compiler under -Xbatch
  • Compiled StringBuilder code throws StringIndexOutOfBoundsException
  • Don't 64-bit align start of InstanceKlass vtable, itable, and nonstatic_oopmap on 32-bit systems
  • Visual Studio pragmas should be guarded by ifdef _MSC_VER
  • Move verification code out of g1collectedheap
  • LogTagLevelExpression not properly initialized in configure_stdout
  • [TESTBUG] Correct the @build statements in the serviceability/dcmd/gc/HeapDumpAllTest.java and HeapDumpTest.java tests
  • vm crash from test java/security/Policy/SignedJar/SignedJarTest.java
  • [TESTBUG] Logging tests are failing intermittently on windows when executed by JPRT
  • runtime/logging/ExceptionsTest.java fails on embedded and ARM test
  • Add inline qualifier in oop.hpp and fix inlining in gc files
  • 'count' variable can overflow in PSMarkSweep::invoke on 64 bit JVM
  • Test gc/g1/TestG1TraceEagerReclaimHumongousObjects.java fails
  • The HashtableTextDump::get_num() should check for integer overflow
  • cleanup ostream, staticBufferStream
  • Use byte offsets for vtable start and vtable length offsets
  • Add back PrintGC, PrintGCDetails and -Xloggc
  • serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails
  • Race when reusing PerRegionTable bitmaps may result in dropped remembered set entries
  • Improve Parallel GC Full GC by caching results of live_words_in_range()
  • Various test fail with OOME on win x86
  • Metadata print routines should not print to tty
  • G1 use of os::processor_count()
  • Runtime.availableProcessors() ignores Linux taskset command
  • New tests for PLAB testing
  • Consistent use of : in the logging
  • HSDB could not terminate when launched on CLI
  • [Newtest] New stress test for changing the coarseness level of G1 remembered set
  • com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java is failing for the jdk9/hs snapshot control job
  • MinTLABSize can cause overflow problem with CMS GC
  • logStream::write re-formats string
  • hotspot metadata classes shouldn't use HeapWordSize or heap related macros like align_object_size
  • Move the vtable length field to Klass
  • Devirtualize Klass::vtable
  • Rename develop_log_is_enabled() to log_develop_is_enabled()
  • os::active_processor_count() returns garbage which causes VM to crash
  • [windows] no text locations shown for register info in hs-err file
  • Some runtime/CompressedOops tests fail on ARM64 product builds
  • Test AvailableProcessors.java got wrong number of processors
  • G1: Make G1GCPhaseTimes keep track of the start GC time
  • G1: Add log message to print the heap region size
  • Let the G1 heap transition log regions instead of bytes
  • VM permits illegal flags for abstract methods in interfaces, versions 45.3 - 51.0
  • VM exit path throws fatal error: Thread holding lock at safepoint that vm can block on: BeforeExit_lock
  • -XX:+HeapDumpAfterFullGC creates heap dump both before and after Full GC
  • Names of GC threads should be set before the threads start
  • Reimplement TraceClassLoading, TraceClassUnloading, and TraceClassLoaderData with Unified Logging.
  • SIGBUS: bool Method::has_method_vptr(const void*)+0xc
  • [TESTBUG] runtime/Unsafe/AllocateMemory.java fails with OOM during compilation
  • Move BubbleUpRef test into CMS directory
  • Remove unused log tags
  • Remove fixed level padding in UL
  • CollectorPolicy methods for memory allocations are specific to GenCollectorPolicy
  • JDK-8148481: Devirtualize Klass::vtable breaks Zero build
  • Humongous mis-spelled in log output
  • Remove unused method Generation::performs_in_place_marking()
  • Update run_unit_test macro for InternalVMTests
  • Add tests which check that heap counters work as expected during Humongous allocations
  • Event based tracing should cover monitor inflation
  • One byte may be corrupted by get_datetime_string()
  • SIGSEGV at frame::is_interpreted_frame_valid -> StubRoutines::SafeFetchN
  • Make the full_gc_dump() calls be recorded as part of the GC
  • Decrease PerfDataMemorySize back to 32K
  • Update class file version to 53 for JDK-9
  • Rename g1/concurrentMark.{hpp,cpp,inline.hpp} to g1/g1ConcurrentMark.{hpp,cpp,inline.hpp}
  • [TESTBUG] serviceability/tmtools/jstat test ported to JTREG are failing with -XX:+ExplicitGCInvokesConcurrent
  • Quarantine TestSelectDefaultGC.java test
  • [testbug] Test gc/g1/plab/TestPLABPromotion.java fails in nightly
  • --disable-warnings-as-errors does not work for HotSpot build
  • os::is_server_class_machine() could return incorrect result if a host's cpu have a few logical cores
  • configure_stdout test depends on VM arguments
  • Decouple sun.misc.Signal from the base module
  • PREFER from Features API taking precedence over catalog file
  • invalid javadoc in javax.xml.bind.JAXBContext (introduced by 8138699)
  • PKCS12KeyStore cannot extract AES Secret Keys
  • Test failure of ConstructInflaterOutput.java
  • Reimplement TraceClassLoading, TraceClassUnloading, and TraceClassLoaderData with Unified Logging.
  • JFR - Event based tracing should cover monitor inflation
  • Remove misplaced integration of test code after 8149025
  • Decrease PerfDataMemorySize back to 32K
  • Update class file version to 53 for JDK-9
  • jcmd -help mention non-existent option
  • [TESTBUG] TestJcmdDefaults.java: ouput should contain all content of jcmd/usage.out
  • java/lang/ref/ReferenceEnqueuePending.java: some references aren't queued
  • java/util/zip/TestLocalTime.java fails intermittently with Invalid value for NanoOfSecond
  • Remove jdk_svc test group from tier * groups
  • Spec for j.l.ProcessBuilder.Redirect.DISCARD need to be improved
  • Remove unnecessary values in FloatConsts and DoubleConsts
  • Improve documentation for CompletableFuture composition
  • CompletableFuture.whenComplete should use addSuppressed
  • Miscellaneous changes imported from jsr166 CVS 2016-02
  • IllegalArgumentException thrown by api/java_awt/Component/FlipBufferStrategy/indexTGF_General
  • IllegalArgumentException thrown by JCK test api/java_awt/Component/FlipBufferStrategy/indexTGF_General in opengl pipeline
  • Test java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html fails intermittently with timeout error
  • ServiceRegistry (used by ImageIO) lack synchronization
  • api/java_awt/Image/MultiResolutionImage/index.html\#MultiResolutionRenderingHints[test_VALUE_RESOLUTION_VARIANT_BASE] started to fail
  • PIT: Text in TextArea scrolls to its left one char when selecting the text from the end
  • [TESTBUG] There are no 'Frame Enter' messages for both frames, only 'Button Enter' message.
  • AWT components are not drawn after removal and addition to a container
  • Transparent JDialog will lose transparency upon iconify/deiconify sequence.
  • create a simple test for TIFF tag sets
  • Use local GraphicsEnvironment to get screen size in WToolkit
  • [TEST] MultiResolution image: add a manual test for two-display configuration (HiDPI + non-HiDPI)
  • java/util/Formatter/Basic.java fails after JDK-8149896
  • Update KerberosTicket to describe behavior if it has been destroyed and fix NullPointerExceptions
  • Remove meta-index support
  • StringConcatFactory should emit classes with the same package as the host class
  • BitDepth.java test fails
  • Remove intermittent key from security tests
  • Remove SSLSession/SessionCacheSizeTests from ProblemList
  • Remove intermittent key from jdk_core tests
  • Move com.oracle.net and com.oracle.nio APIs to jdk.net module
  • Restrict certificates with DSA keys less than 1024 bits
  • [Spec] Enabled SSL Protocols may not be used
  • Decouple sun.misc.Signal from the base module
  • jconsole AboutDialog should use the JDK specific Version API
  • JarFileSystem support for MRJARs should use the JDK specific Version API
  • sun/management/jmxremote/bootstrap/RmiSslBootstrapTest failed with Connection failed for no credentials
  • Reduce number of packages in jdk.localedata module
  • java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java fails with NoClassDefFoundError
  • Assert class signatures are correct and refer to valid classes
  • StandardDocFileFactory should be converted to use java.nio.file.Path
  • javadoc for annotation types should not display "public abstract" modifiers on methods
  • Use compact notation to display annotation values
  • 16 windows tests broke with recent putback
  • Fix other Extern.
  • StringConcatFactory should emit classes with the same package as the host class
  • javadoc incorrectly tries to get the documentation for inherited methods.
  • Due to a javac type inference issue, javadoc doesn't compile with a jdk prior to 8u40
  • Cleanup synthetic JCCompilationUnit for html files
  • Add support for ES6 collections
  • arguments are handled differently in apply for JS functions and AbstractJSObjects
  • Fix bytecode generation issue after 8149186

New in Java SE Development Kit (JDK) 9 Build 106 Early Access (Feb 19, 2016)

  • Summary of changes:
  • Update jaxws to use the new non-inheriting thread-local Thread constructor
  • Fix compare.sh to have a clean baseline with COMPARE_BUILD
  • Make test/Makefile more silent
  • Incremental enhancements from build-infra
  • Switch JDK 9 to use Jib in JPRT
  • Quarantine testlibrary_tests/whitebox/vm_flags/IntxTest.java
  • Node limit exceeded with -XX:AllocateInstancePrefetchLines=1073741823
  • aarch64: redundant lsr instructions in stub code.
  • get rid of slash-dot-dot in @library directives
  • [TESTBUG] InlineCommandTest.java: unknown compiler level 0 for commpile ID: 651
  • strength reduce or eliminate range checks for power-of-two sized arrays
  • RegisterSaver::restore_live_registers() fails to restore xmm registers on 32 bit
  • Compilation fails due to field accesses on array types
  • get_ctrl_no_update() code is wrong
  • [TESTBUG] compiler/whitebox/AllocationCodeBlobTest.java fails due to unexpected code cache allocation
  • Incremental enhancements from build-infra
  • Update references from "1.9" to "9"
  • Update jaxws to use the new non-inheriting thread-local Thread constructor
  • Fix module dependences in java/util tests
  • TzdbZoneRulesCompiler.java throws Null Pointer Exception While Compiling and building TZDB data file
  • (tz) Support tzdata2016a
  • Problem list CheckEncodings.sh
  • MethodHandles.Lookup.findVirtual() Javadoc fails to consider private interface methods
  • Use more concrete types for NamedFunction constants in the code
  • sun.rmi.transport.DGCAckHandler leaks memory
  • Adapt SAP copyrights to new company name in jdk repository
  • StringConcatFactory should be synced up with LambdaMetafactory
  • Incorrect definition of ZoneOffset.MIN
  • Example in the Documentation is wrong for java.time.ZonedDateTime.minusHours
  • java.time.temporal.ChronoUnit.FOREVER typo
  • Modify sun/security/smartcardio manual regression tests so that they do not just fail if no cardreader found
  • Problem list RmiSslBootstrapTest.sh
  • Incremental enhancements from build-infra
  • Update references from "1.9" to "9"
  • To support Extended Grapheme Clusters in Regex
  • To add named character construct \N{...} to support Unicode name property
  • BSD license for jimage code
  • test/java/util/regex/GraphemeTest.java source file has non-ascii character u+00f7
  • Move sun.misc.InnocuousThread to jdk.internal.misc
  • Examine usages of sun.misc.LRUCache
  • BlockDataInputStream.readUTFBody: size local StringBuffer with the given length
  • java.nio.file.ClosedFileSystemException when using Javadoc API's in JDK9
  • use StringJoiner in sjavac option handling
  • Decrease the regression test heap.
  • javac, remove unused options, step 1
  • jshell tool: add /help
  • jshell tool: correctly handle arguments on /seteditor command
  • jshell tool: commands don't allow reference to start-up or explicit id of dropped/failed snippets
  • jshell tool: /list start -- fails
  • jshell tool: /reload quiet -- should quiet echo
  • revert changes for 8149186
  • $EXEC should allow streaming
  • $EXEC changes clean up
  • fix testng.jar delivery in Nashorn build.xml

New in Java SE Development Kit (JDK) 8 Update 74 (Feb 5, 2016)

  • Bug fixes:
  • 8144963: Javaws checks jar files twice if JVM needs to be restarted
  • 8140291: (JWS)LazyRootStore leak when calling getResourceAsStream on non-class resource
  • 8142982: Race Condition can cause CacheEntry.getJarSigningData() to return null.

New in Java SE Development Kit (JDK) 9 Build 104 Early Access (Feb 5, 2016)

  • Summary of changes:
  • Integrate JOpt Simple for internal usage by JDK tools
  • Fix merge error in hotspot.m4 introduced in Merge changeset 8b46c6cecc37
  • JEP 280: Indify String Concatenation
  • [javadoc] Revamp the existing Doclet APIs
  • Update the new Doclet API
  • "-nohelp" option issue
  • "-helpfile" option issue
  • top level make docs target does not generate javadocs for dynalink API
  • Incremental update from build-infra project
  • Only display resolved symlink for compiler, do not change path
  • JEP 280: Indify String Concatenation
  • NPE is thrown when JAXBContextFactory implementation is specified in system property,
  • newInstance(String,ClassLoader): java.lang.JAXBException should not be wrapped as expected according to spec
  • Improving JAX-B API javadoc
  • Integrate JOpt Simple for internal usage by JDK tools
  • java/net/SocketPermission/SocketPermissionTest.java fails intermittently
  • Update PKCS11 tests to run with security manager
  • Typo in API , FileOwnerAttributeView.getOwner() and FileOwnerAttributeView.setOwner()
  • URL should handle lower-casing of protocol locale-independently
  • Deprecate policytool
  • NegativeArraySizeException in Vector.grow(int)
  • Update TEST.groups to include jdk/internal/math and jdk/internal/misc
  • (fs) Path.register can fail with Bad file descriptor and other errors
  • Allow users to bound the size of buffers cached in the per-thread buffer caches
  • java/util/concurrent/forkjoin/FJExceptionTableLeak.java: OOM with Xcomp,G1GC
  • JEP 280: Indify String Concatenation
  • [javadoc] Revamp the existing Doclet APIs
  • Update the new Doclet API
  • "-nohelp" option issue
  • "-helpfile" option issue
  • Mark SSLSocketSSLEngineTemplate.java as failing intermittently
  • Remove test library dependency on sun.security.tools.jarsigner.Main
  • URI.toURL could be more efficient for most non-opaque URIs
  • Integrate JSR 166 jck tests into JDK repo
  • documentation of Queue interface contains reference to LinkedBlockingQueue twice in 'See Also' section
  • Default implementation of ConcurrentMap::compute can throw NPE
  • test failure in test/java/util/concurrent/tck
  • RestrictTestMaxCachedBufferSize.java to 64-bit platforms
  • URI.toURL needs to use protocol Handler to parse file URIs
  • java/util/stream/test/org/openjdk/tests/java/util/stream/FlatMapOpTest.java timeout
  • Add @since tags in new String concat APIs
  • Regression: array constructor references marked as inexact
  • No type annotations generated for nested lambdas
  • Memory leak in javadoc VisibleMemberMap
  • Memory leak in javadoc DocFileFactory
  • tools/javac/annotations/typeAnnotations/classfile/NestedLambdasCastedTest.java fails on all platforms
  • Regression: nested unchecked call does not trigger erasure of return type
  • JEP 280: Indify String Concatenation
  • Increase heap for langtools regression tests
  • [javadoc] Revamp the existing Doclet APIs
  • Update the new Doclet API
  • "-nohelp" option issue
  • "-helpfile" option issue
  • Slow object allocation due to multiple synchronization
  • Revisit Collection.toArray(new T[size]) calls in nashorn and dynalink code

New in Java SE Development Kit (JDK) 9 Build 103 Early Access (Jan 29, 2016)

  • Summary of changes:
  • Windows build can be faster
  • sjavac builds of jdk9/dev with closed sources broken
  • 8036003: startup regression on linux fastdebug builds
  • PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
  • JEP 279: Improve Test-Failure Troubleshooting
  • [aix] xlc: wrong flag used to switch off optimization
  • Add tests which check that soft references to humongous objects should work correctly
  • Add tests which check that weak references to humongous objects should work correctly
  • JPRT hotspot push jobs should allow merge on push
  • Restructure hotspot/agent/src to conform the modular source layout
  • Resolve merge issue in resulting from sun.misc.VM move to jdk.internal.misc
  • Enable debug symbols for all libraries
  • Building hotspot gives error message from find
  • Partial rework of the fix for 8081297
  • Configure check for number of cpus ignores HT on Macosx
  • Remove --with-sdk-name from macosx jib profile
  • Change JPRT to use new platforms for Linux, Windows and Macosx
  • Windows build can be faster
  • Cleanup in FreeIdSet
  • ParallelGCThreads is not calculated correctly
  • Show oop pointer in call frame at HSDB.
  • HSDB could not terminate when close button is pushed.
  • Possible use after free in Arguments::add_property function
  • Filename and linenumber are not printed for asserts any more.
  • Better error message when SA can't attach to a process
  • Add extension point to G1 evacuation closures
  • [Findbugs] new sun.jvm.hotspot.SAGetopt(String[]) may expose internal representation
  • double a%b returns NaN for some (a,b) (|a| 0)
  • Remove JDK6_OR_EARLIER code from os_windows
  • G1CollectorPolicy::_cur_mark_stop_world_time_ms is never read from
  • Use Unified Logging for the GC logging
  • Change G1UpdateRSOrPushRefOopClosure to inherit OopClosure
  • PPC64: Update Transactional Memory and Atomic::cmpxchg code
  • Too many instances of java.lang.Boolean created in Java application (hotspot repo)
  • Replace the HeapRegionSetCount class with an uint
  • Change G1ParCopyHelper to inherit OopClosure
  • Change FilterIntoCSClosure to inherit OopClosure
  • Change three G1 remembererd set closures to be OopClosures
  • Remove apply_to_weak_ref_discovered_field override for UpdateRSOopClosure
  • JEP 270: Reserved Stack Areas for Critical Sections
  • agent/src/os/linux/libproc.h needs to support Linux/SPARC builds
  • [TESTBUG] OptionsValidation testing framework needs to handle VM error codes in some cases
  • PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
  • [aix] implement os::print_register_info()
  • const-correctness for ucontext_t* reading functions
  • PPC64: fix build after "8046936: JEP 270: Reserved Stack Areas for Critical Sections"
  • Improve and unify the printout format for the g1HRPrinter.
  • Disable runtime/logging/DefaultMethodsTest.java
  • Add new C2 flag to keep safepoints in counted loops.
  • PPC64 C1: Introduce Client Compiler
  • Emit direct call instead of linkTo* for recursive indy/MH.invoke* calls
  • Performance issue with Nashorn and C2's global code motion
  • Invalid format specifiers in jvmci trace messages
  • Move assembler/macroAssembler inline function definitions to corresponding inline.hpp files
  • [JVMCI] Double unregistering of nmethod during unloading
  • PPC64: Fix build after 8072008
  • C1 LinearScan asserts when compiling two back-to-back CompareAndSwapLongs
  • aarch64: generate vectorized MLA/MLS instructions
  • C1 hard crash in range check elimination in Nashorn test262parallel
  • Move j.l.invoke.{ForceInline, DontInline, Stable} to jdk.internal.vm.annotation package
  • CompilerControl: tests incorrectly set states for excluded methods
  • CompilerControl: commandfile/ExcludeTest has incorrect jtreg run innotation
  • Use486InstrsOnly aborts 32-bit VM
  • Fork sun.misc.Unsafe and jdk.internal.misc.Unsafe native method tables
  • JVMCI compiler initialization can happen on different thread than JVMCI initialization
  • Premature assert in directive inline parsing
  • C2: safepoint is pruned from a non-counted loop
  • compiler/jsr292/NonInlinedCall/RedefineTest.java fails with: java.lang.NullPointerException in ClassFileInstaller.main
  • Incorrect call signature can be used in nmethod::preserve_callee_argument_oops
  • C1: Platform dependent stack space not preserved for all runtime calls
  • Update for addition of vectorizedMismatch intrinsic for x86
  • ppc64: fix argument passing through opto stubs.
  • Use AVX3 instructions for string compare
  • Need to eagerly initialize JVMCI compiler under -Xcomp
  • compiler/jsr292/CallSiteDepContextTest.java fails: assert(dep_implicit_context_arg(dept) == 0) failed: sanity
  • C1: operator delete needs an implementation
  • ppc64: fix port of "8072008: Emit direct call instead of linkTo* for recursive indy/MH.invoke* calls"
  • Create unsafe_arraycopy and generic_arraycopy for AArch64
  • aarch64: large code cache generates SEGV
  • port vm/compiler/AESIntrinsics/CheckIntrinsics into jtreg
  • use separate VMStructs databases for SA and JVMCI
  • Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2
  • AArch64 does not generate correct branch profile data
  • Fix warnings in AArch64 directory
  • Create tests for direct invoke instructions testing
  • adding lots of directives via jcmd may produce OOM crash
  • LogCompilation output is empty after JEP165: Compiler Control
  • CompilerControl: directive file doesn't override inlining rules
  • Corrupted oop in nmethod
  • [JVMCI] SPARC broken after JDK-8134994
  • Use AVX3 instructions for Arrays.equals() intrinsic
  • [JVMCI] add tests for simple code installation
  • PrintNMethods compile command broken since b89
  • PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI
  • PhaseIdealLoop::build_and_optimize() must restore major_progress flag if skip_loop_opts is true
  • SEGV in DirectivesStack::getMatchingDirective
  • [JVMCI] some tests on Windows fail with: assert(!thread->is_Java_thread()) failed: must not be java thread
  • compiler/jvmci/code/SimpleCodeInstallationTest.java JUnit Failure: expected: but was:
  • run JVMCI tests in JPRT
  • Update for x86 pow in the math lib
  • quarantine compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java
  • [JVMCI] Port JVMCI to AArch64
  • quarantine compiler/jvmci/compilerToVM/ExecuteInstalledCodeTest.java
  • ppc64/gcc 4.1.2: fix build after "8143072: [JVMCI] Port JVMCI to AArch64"
  • JVMCI must not fold accesses to @Stable fields if -XX:-FoldStableValues
  • compiler/jvmci/ tests fail: java.lang.AssertionError: minimum config for aarch64
  • Enhancing CounterMode.crypt() for AES
  • Undefined behaviour in HotSpot
  • PPC64: add Montgomery multiply intrinsic
  • Elide redundant memory barrier after AllocationNode
  • aarch64: guarantee failures with large code cache sizes on jtreg test java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java
  • Remove support for command line options from JVMCI
  • jni_GetStringCritical asserts for empty strings
  • Clean up the units for log_gc_footer
  • Integration of minor fixes from the build-infra project
  • PPC64: Remove cpp interpreter implementation
  • Create testlibrary for auxiliary methods used in g1/humongousObjects testing
  • Running with -XX:CMSOldPLABNumRefills=2147483648 causes EXCEPTION_INT_DIVIDE_BY_ZERO on Windows i586
  • Convert TraceMonitorInflation to Unified Logging
  • Print the names of callees in PrintAssembly/PrintInterpreter
  • [posix] Remove redundant code around os::print_siginfo()
  • VM crashes in print_task_time_stamps()
  • PPC64: Remove cpp interpreter implementation - part II
  • Disable compiler/floatingpoint/ModNaN.java
  • [aix] clean up Linux-specific code remnants in AIX coding
  • Disable test/runtime/logging/MonitorInflationTest.java
  • Enable build.bat to use vcproj to build
  • ProjectCreator broken after JEP 223 changes
  • Unable to build in Visual Studio after JVMCI change
  • IllegalAccessException Class sun.usagetracker.UsageTrackerClient$4 (module java.base) can not access a member of class java.lang.management.ManagementFactory (module java.management)
  • Allow specifying an address to bind JMX remote connector
  • ReservedStackTest fails with ReentrantLock looks corrupted
  • TestRemsetLogging.java takes a long time
  • G1RemSetSummary.hpp uses FREE_C_HEAP_ARRAY
  • Fix include guards in GC code
  • [TESTBUG] runtime/logging tests need to properly build and import libraries
  • compiler/uncommontrap/TestStackBangRbp.java crashes VM on Solaris
  • gcc 4.1.2: fix three issues breaking the build.
  • Fix includes and forward declarations in g1Remset files
  • Move FromCardCache into separate files
  • Rename FromCardCache to G1FromCardCache
  • Improve handling of stack protection zones.
  • TestOptionsWithRanges -XX:NUMAInterleaveGranularity=2147483648 crashes VM
  • Trace event for concurrent GC phases
  • Add tests which check that soft references to humongous objects should work correctly
  • Add tests which check that weak references to humongous objects should work correctly
  • stand-alone hotspot build is broken
  • Remove dependency of G1FromCardCache to HeapRegionRemSet
  • Move scrubbing setup code away out of ConcurrentMark
  • Remove obsolete code from os_windows.cpp/hpp
  • Remove the non-Zero CPP Interpreter
  • Convert TraceExceptions to Unified Logging
  • Restructure hotspot/agent/src to conform the modular source layout
  • vm/mlvm/anonloader/stress/byteMutation failed with: assert(index >=0 && index < _length) failed: symbol index overflow
  • Reimplement TraceClassResolution with Unified Logging.
  • [TESTBUG] MonitorInflationTest.java should be rewritten to be more predictable
  • sun/management/jmxremote/bootstrap/CustomLauncherTest crash at assert(stack_size)
  • Visual Studio build fails after SA restructure
  • (ref) Clear phantom reference as soft and weak references do
  • Add trace events for failed allocations
  • Use semaphore instead of mutex for synchronization of Unified Logging configuration
  • UL does not support full path names for log files on windows
  • TestLogRotation.java triggers a race in the UL framework
  • Clean up metaspaceShared.cpp
  • Resolve merge issue in resulting from sun.misc.VM move to jdk.internal.misc
  • Enable debug symbols for all libraries
  • StaxEntityResolverWrapper should create StaxXMLInputSource with a resolver indicator
  • More general limits
  • XSLT: Extension func call cause exception if namespace URI contains partial package name
  • Xsl transformation gives different results in 8u66
  • Update "@since 1.9" to "@since 9" to match java.version.specification
  • Publishing two webservices on same port fails with "java.net.BindException: Address already in use"
  • Update "@since 1.9" to "@since 9" to match java.version.specification
  • Test SessionTimeOutTests fails intermittently
  • Windows build can be faster
  • Correct fix for JDK-8147480
  • (so) Test java/nio/channels/ServerSocketChannel/AdaptServerSocket.java failed intermittently with Connection refused
  • Publishing two webservices on same port fails with "java.net.BindException: Address already in use"
  • Remove sun.invoke.anon classes, or move / co-locate them with tests
  • Use Unified Logging for the GC logging
  • JEP 270: Reserved Stack Areas for Critical Sections
  • PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
  • Move j.l.invoke.{ForceInline, DontInline, Stable} to jdk.internal.vm.annotation package
  • Fork sun.misc.Unsafe and jdk.internal.misc.Unsafe native method tables
  • Reference.reachabilityFence
  • Vectorized support for array equals/compare/mismatch using Unsafe
  • Enhancing CounterMode.crypt() for AES
  • ISO-8859-1 isn't properly handled as 'fastEncoding' in jni_util.c
  • com/sun/jdi/BreakpointWithFullGC.sh Required output "Full GC" not found
  • IllegalAccessException Class sun.usagetracker.UsageTrackerClient$4 (module java.base) can not access a member of class java.lang.management.ManagementFactory (module java.management)
  • Allow specifying an address to bind JMX remote connector
  • Restructure hotspot/agent/src to conform the modular source layout
  • (ref) Clear phantom reference as soft and weak references do
  • JMXInterfaceBindingTest is failing intermittently
  • To interpret case-insensitive string locale independently
  • NullPointerException at com.sun.tools.jdi.EventRequestManagerImpl.request
  • quarantine tests failing in 2016.01.14 PIT snapshot
  • Enable debug symbols for all libraries
  • Enhance and update Sharding API
  • Cleaner - use Reference.reachabilityFence
  • SSL Problem with Tomcat
  • Better URL processing
  • DiagnosticCommandImpl.getNotificationInfo() may expose internal representation
  • Better attributes processing
  • Cleanup in java.base/share/classes/sun/security/x509/
  • Reinforce JMX collector internals
  • Correct limits on unlimited cryptography
  • Better printing dialogues
  • Partial rework of the fix for 8081297
  • JMX memory management improvements
  • More stable image decoding
  • Better font substitutions
  • Arrange font actions
  • [Parfait]Potentially blocking function GetArrayLength called in JNI critical region at line 239 of jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c in function GET_ARRAYS
  • [Parfait] Null pointer dereference in cmsstrcasecmp of cmserr.c
  • Certificates requiring blacklisting
  • Cleanup for handling proxies
  • Update splashscreen displays
  • [Parfait] JNI exception pending in fontpath.c:1300
  • Further reduce use of MD5
  • Test failed with Crash for Improved font lookups
  • Avoid creating instances of security providers when possible
  • Update "@since 1.9" to "@since 9" to match java.version.specification
  • Remove sun.misc.ClassFileTransformer
  • Remove SHA224 from the default support list if SunMSCAPI enabled
  • Incorrect edits for JDK-8064330
  • Implementation of HTTP Digest authentication may be more flexible
  • Exclude sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java on jdk9/dev
  • test/com/sun/jndi/dns/IPv6NameserverPlatformParsingTest.java fails to compile
  • RMIConnector logs attribute names incorrectly
  • Remove sun.misc.ManagedLocalsThread from java.prefs
  • NegativeArraySizeException in ArrayList.grow(int)
  • Null check too late in sun.net.httpserver.ServerImpl
  • Remove Enum[0] constants from EnumSet and EnumMap
  • Sync up @modules from jigsaw/jake
  • Add a public DocTreeFactory to the Compiler Tree API
  • InfoOptsTest fails when executed outside make
  • java.lang.AssertionError: Missing type variable in where clause: T
  • regression when type-checking unchecked method calls
  • regression when type-checking generic calls inside nested declarations occurring in method context
  • Update "@since 1.9" to "@since 9" to match java.version.specification
  • Langtools test Makefile still requires special make in Cygwin
  • 8147930 uses incorrect whitespace in langtools/test/Makefile
  • Compiler throws NullPointerException during compilation
  • Sjavac --server option should be optional
  • NullPointerException in option parsing
  • Build fails with "No portfile values materialized"
  • Assertion failure when compiling stream with type annotation
  • Sync up @modules from jigsaw/jake
  • Thread spinning on WeakHashMap.getEntry() with concurrent use of nashorn
  • fix Nashorn shebang handling on Cygwin
  • enable jjs testing
  • Update "@since 1.9" to "@since 9" to match java.version.specification
  • Varargs Array functions still leaking longs
  • re-enable LambdaFormEditor assertions in Nashorn testing
  • jjs -fx test does not exit
  • Nashorn Java adapters should not early bind to functions

New in Java SE Development Kit (JDK) 9 Build 102 Early Access (Jan 22, 2016)

  • Sjavac's handling of include/exclude patterns is buggy, redundant and inconsistent
  • Move sun.misc performance counters to jdk.internal.perf
  • Introduce named arguments in configure
  • Excluding of copy files broken after JDK-8144226
  • Remove debug output in basics.m4
  • Move sun.misc performance counters to jdk.internal.perf
  • javax.xml.transform.Source and org.xml.sax.InputSource can be empty
  • Catalog API: Null handling and reference to Reader
  • Catalog.matchSystem() appends an extra '/' to the matched result
  • Sjavac's handling of include/exclude patterns is buggy, redundant and inconsistent
  • @since 9 tag missing for System.getLogger
  • java/lang/StackWalker/LocalsAndOperands.java fails with java.lang.NullPointerException
  • jdk/internal/jimage tests listed in both tier 1 and tier 2
  • Problem list jdk/internal/jimage/JImageReadTest.java
  • Issues with SignatureAndHashAlgorithm.getSupportedAlgorithms
  • jdk/internal/jimage/JImageReadTest.java fails on all platforms
  • Create the schemeSpecificPart for non-opaque URIs lazily
  • Remove LFMultiThreadCachingTest.java from windows problem list
  • java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.java may fail with address already in use
  • Common Cleaner for finalization replacements in OpenJDK
  • Remove dead code finalizer methods
  • [TESTBUG] straighten out testability for several issues
  • Performance of LocalDate.plusDays could be better
  • Test jdk/test/java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java fails - missing expected output
  • Problem list SessionCacheSizeTests.java
  • Test SSLSession/SessionCacheSizeTests socket accept timed out
  • javax.script package description should specify use of ServiceLoader
  • [TEST BUG] java/lang/ref/CleanerTest.java required more memory for -UseCompressedOops runs
  • Move back java/util/concurrent/Phaser/Basic.java to tier1
  • Move sun.misc.PerformanceLogger to sun.awt.util
  • Move sun.misc performance counters to jdk.internal.perf
  • Remove sun.misc.JarFilter
  • Remove unused CEFormatException and CEStreamExhausted from sun.misc
  • New fix for memory leak in ProtectionDomain cache
  • ALPN: getHandshakeApplicationProtocol() always return null
  • MethodHandles.catchException does not enforce Throwable subtype
  • Better detect JRE that JLI will be using
  • Remove stopThread RuntimePermission from the default java.policy
  • Add toString() to j.u.Locale.LanguageRange.
  • [TEST_BUG] javax/security/auth/SubjectDomainCombiner/Optimize.java should use 4-args ProtectionDomain constructor
  • (sc) java/nio/channels/ServerSocketChannel/Basic.java fails intermittently
  • (so) java/nio/channels/ServerSocketChannel/NonBlockingAccept.java fails intermittently
  • Mark FJExceptionTableLeak.java as intermittently failing
  • UnsupportedOperationException is not thrown for unsupported options
  • Sjavac's handling of include/exclude patterns is buggy, redundant and inconsistent
  • Surprising more-specific results for lambda bodies with no return expressions
  • javac test BootClassPathPrepend.java should be deleted
  • javac remove test T6430241.java as irrelevant in 9
  • Implement type variable renaming for functional interface most specific test
  • test tools/sjavac/IncludeExcludePatterns.java fails on Windows
  • Improve error recovery for empty binary and hexadecimal literals.
  • sjavac client could not connect to server
  • JShell: Need way to refresh relative to external state
  • JShell: couldn't smash the error when it's Japanese locale
  • NullPointerException in javadoc
  • Fix jshell's ToolBasicTest
  • Wrong license headers in test files
  • java.lang.Long is implicitly converted to double
  • Nashorn primitive linker should handle ES6 symbols
  • Make process singleton options to be context wide
  • Dynalink GuardedInvocation must check the Class object passed
  • Prepare AbstractJavaLinker/BeanLinker codebase for missing member implementation
  • Implement missing member handler for BeansLinker

New in Java SE Development Kit (JDK) 8 Update 72 (Jan 19, 2016)

  • BUG FIXES:
  • "Apply" button is permanently disabled in JCP, after roaming profile option is changed:
  • After the option "Store user settings in the roaming profile" located in "Java Control Panel -> Advanced -> Miscellaneous" is changed and applied by a click on "Apply" button in Java Control Panel (JCP), "Apply" button becomes permanently disabled and changes of any other options in JCP do not lead to enabling of "Apply" button.
  • Problem with REMOVEOUTOFDATEJRES Installer option documentation corrected:
  • Missing documentation for the REMOVEOUTOFDATEJRES installer option was added to the Java Platform, Standard Edition Installation Guide

New in Java SE Development Kit (JDK) 8 Update 71 (Jan 19, 2016)

  • BUG FIXES:
  • Running jps as root does not show all information:
  • After the fix of JDK-8050807 (fixed in 8u31, 7u75 and 6u91), running jps as root did not show all the information from Java processes started by other users on some systems. This has now been fixed
  • Installers appearing stalled on ESC configurations:
  • Users running Internet Explorer Enhance Security Configuration (ESC) on Windows Server 2008 R2 may have experienced issues installing Java in interactive mode. This issue has been resolved in the 8u71 release. Installers executed in interactive mode will no longer appear to be stalled on ESC configurations.
  • Problem with PBE algorithms using AES crypto corrected:
  • An error was corrected for PBE using 256-bit AES ciphers such that the derived key may be different and not equivalent to keys previously derived from the same password.
  • Default limit added for XML maximum entity size:
  • A default limit for maximum entity size has been added.
  • Problem with Enterprise MSI switch 'REMOVEOLDERJRES' documentation corrected:
  • The Enterprise MSI documentation lists configuration options. The REMOVEOLDERJRES option used to uninstall old JREs was missing. Added this option, with the description: If set to 1, removes older releases of the JRE installed on the system. Default: 0 does not remove any old JREs

New in Java SE Development Kit (JDK) 9 Build 101 Early Access (Jan 18, 2016)

  • Move sun.misc.VM to jdk.internal.misc
  • Only use compiler option files if they are really supported by the toolchain
  • Fix detection of Cups headers during configuration
  • Remove @jdk.Exported
  • Configure fails to configure icecc on OEL
  • Move sun.misc.VM to jdk.internal.misc
  • Add Statement.enquoteNCharLiteral
  • j.u.z.ZipFile.getEntry("") throws AIOOBE
  • TestKeyPairGenerator.java fails on Solaris because private exponent needs to comply with FIPS 186-4
  • Duration.toString violates specification
  • After change 8142907 'EXCLUDE_FILE' is wrongly interpreted as pattern
  • [ja] Host Locale Provider uses non-translated Calendar field names
  • Old Korean Calendar conflicts with Host Locale
  • [ar/HOST adapter] Hijri calendar era is used but date number follows gregorian
  • [HOST provider, not gregory] Return NULL when calling Calendar.getDisplayNames for Calendar.ERA
  • [HOST provider] only return standalone-style month display name
  • [HOST provider] Short era display name is not returned
  • @since tag missed
  • (ch) NativeSignal.signal fails with error 316 on OS X
  • test/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java fails when nc is not available
  • Move sun.misc.VM to jdk.internal.misc
  • Undo accidential changes to sun/security/ssl/SignatureAndHashAlgorithm.java
  • Re-examine javax/management/ImplementationVersion/ImplVersionTest.java
  • Examine sun.misc.MessageUtils
  • java.net.URLConnection.guessContentTypeFromStream() does not recognize TIFF streams
  • Improve java.net.URI$Parser startup characteristics
  • java/net/ipv6tests/TcpTest.java failed intermittently with java.net.BindException: Address already in use: NET_Bind
  • [TESTBUG] java/net/SocketOption/OptionTest should only use multicast capable interfaces for multicast tests
  • RandomAccessFile.length() is not thread-safe
  • (process) ProcessHandle test cleanup
  • Mark tools/pack200/Pack200Test.java as intermittently failing
  • Remove @jdk.Exported
  • Move sun.misc.VM to jdk.internal.misc
  • delete test T7021650.java as redundant
  • Update "@since 1.9" to "@since 9" to match java.version.specification [langtools]
  • Sjavac does not close file given to --compare-found-sources
  • Unused method in JavacState should be removed
  • Remove @jdk.Exported
  • Three nashorn files contain "GNU General Public License" header
  • jdk.dynalink.beans.ClassLinker can avoid using specific lookup and can use publicLookup instead
  • OverloadedDynamicMethod has unused ClassLoader field that can be removed
  • Remove @jdk.Exported

New in Java SE Development Kit (JDK) 9 Build 100 Early Access (Jan 11, 2016)

  • Move sun.misc math support classes to jdk.internal.math
  • Need to support mirrors for bootstrapping Jib
  • JDK 9 changes to ZipFileSystem to support multi-release jar files
  • Typos in Javadoc of XmlAdapter
  • Remove unnecessary explicit initialization of volatile variables in java.base
  • java/lang/ProcessHandle/InfoTest.java fails
  • java.net.URL constructors throw MalformedURLException in undocumented way
  • Mark test JMXStartStopTest.java and TestJstatdServer.java as intermittently failing
  • Move sun.misc math support classes to jdk.internal.math
  • Use the raw methods of java.net.URI when possible
  • Improve lazy initialization of fields in java.net.URI
  • Fix LDFLAGS issues after JDK-8056925
  • remove unused internal function in layout
  • Wrong JNi method call in font scaler
  • TextField deletes multiline strings
  • TrayIcon tests fail in OEL 7 only
  • Test closed/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest fails with GTKLookAndFeel
  • Deadlock between subclass of AbstractDocument and UndoManager
  • [macosx] JPEGImageReader incorrectly identifies YCbCr JPEGs as RGB in standard metadata
  • IndexOutOfBoundsException when drawing PNGs
  • ImageIO reader is not capable of reading JPEGs without JFIF header
  • ImageIO does not reset stream if an exception is thrown
  • AquaTreeUI.getCollapsedIcon() issue reported in java beans tests with a modular build
  • Public API for java 8 DataFlavor fields do not have @since tag
  • JFileChooser create new folder fails silently
  • Creating a VolatileImage with size 0, 0 results in no longer working g2d.drawStri
  • Use PrivilegedAction to create Thread in Marlin RendererStats
  • GlyphVector.setGlyphPosition can throw an exception on valid input
  • Removing Text from TextField / TextArea is not possible after typing
  • TextField throws NPE
  • Behavior of null arguments not specified in javax.sound.midi.spi
  • Marlin renderer causes unaligned write accesses
  • EUDC (End User Defined Characters) are not displayed on Windows with Java 8u60+
  • Test closed/javax/print/attribute/Services_getDocFl.java fails with NullpointerException
  • Investigate JAB changes required to support the version string change
  • HBShaper.c does not compiler with VS2010
  • Automate the Marlin crash test
  • Maximum size checking in Marlin ArrayCache utility methods is not optimal
  • Improve Marlin logging
  • [PIT] javax/imageio/plugins/shared/WriteAfterAbort.java
  • "IIOException: Field data is past end-of-stream" when calling TIFFImageReader.read()
  • CleanerTest fails: Cleanable should have been freed
  • CleanerImpl should not depend on ManagedLocalsThread
  • Remove sun.mics.CompoundEnumeration
  • Hot lock on BulkCipher.isAvailable
  • JMX Test Refactoring
  • add toEpochSecond methods for efficient access
  • Add test for JDK-8049321
  • ZonedDateTime.parse() returns wrong ZoneOffset around DST fall transition
  • URLConnection.guessContentTypeFromStream returns image/jpg for some JPEG images
  • SignatureAlgorithms.java after push of JDK-8146192
  • java/net/NetworkInterface/NetworkInterfaceStreamTest.java still fails after fix JDK-8131155
  • JDK 9 changes to ZipFileSystem to support multi-release jar files
  • test/sun/security/tools/jarsigner/concise_jarsigner.sh failing
  • javac: No line numbers in compilation error
  • Move sun.misc math support classes to jdk.internal.math
  • JShell: throws AssertionError when replace classes with some methods which depends on these classes
  • Java linker indexed property getter does not work for computed nashorn string
  • Avoid annotation to specify documentation for JS builtin functions
  • jjs should look for "doc string" property to print documentation on shift-tab

New in Java SE Development Kit (JDK) 9 Build 99 Early Access (Dec 25, 2015)

  • Move sun.misc.HexDumpEncoder to sun.security.util
  • Add configure variable to set concurrency for jtreg tests
  • Updated jprt.properties, devtools, jib and readme with SS12u4
  • Integration of minor fixes from the build-infra project
  • Allow to collect stdout/stderr from the FinalizationRunner even before the process returns
  • jprt.properties should allow creating a user specified testset with custom build flavors and build targets
  • Add default directory for freetype source
  • AIX: change '8036003: Add --with-debug-symbols' broke AIX build
  • New Solaris devkits are missing gobjcopy
  • Integration of minor fixes from the build-infra project
  • Add getter for G1CollectorPolicy::_collectionSetChooser
  • G1GCPhaseTimes should allow externally accounted time
  • G1 should not redirty cards in free regions
  • UpdateRSetDeferred in G1EvacFailure will never visit survivor regions
  • mark_card_deferred does not need to check g1_young_gen
  • Pass obj directly to G1ParScanThreadState::update_rs
  • G1ParScanThreadState::update_rs does not need to call is_in_reserved
  • [TESTBUG] 1.9 section not unlock flag in runtime/CommandLine/IgnoreUnrecognizedVMOptions test
  • HeapRetentionTest.java Test is failing on jdk9/dev
  • Remove redundant coding around os::exception_name
  • update_rs is passed wrong object
  • [Newtest] regression test for PrintGCDetails and Verbose flags do not crash when ParOldGC has no memory
  • [aix] Stack bottom should be page aligned
  • variable tracking size limit exceeded in vmStructs.cpp
  • Enable adaptive IHOP by default
  • Reimplement TraceClassInitialization with Unified Logging
  • Clean up Unified Logging test directory
  • Replace ThreadLocalStorage with compiler/language-based thread-local variables
  • runtime/thread/Fibonacci.java test should ran in othervm mode
  • Allow to collect stdout/stderr from the FinalizationRunner even before the process returns
  • Add force rotation option to VM.log jcmd
  • Remove g1RootClosures.inline.hpp
  • ElfSymbolTable::lookup returns bad value when the lookup has failed
  • backout the fix for JDK-8131331 when JDK-8131693 is fixed
  • Using tid decorator in Unified Logging may crash VM
  • [aix] Further Developments for AIX
  • Enhancements-to-print_siginfo-windows
  • Test sanity/ExecuteInternalVMTests.java fails
  • g1Predictions.hpp includes allocation.inline.hpp
  • Refactor templateInterpreter and templateInterpreterGenerator functions
  • Invalid constraints in memset_with_concurrent_readers_sparc.cpp inline assembly
  • Invalid format specifier when printing in_cset_state_t
  • Unified Logging tags cannot be reserved keywords
  • compactHashtable.hpp includes .inline.hpp file
  • GC: current flags need ranges to be implemented
  • aarch64: jdk/test/com/sun/net/httpserver/Test6a.java fails with --enable-unlimited-crypto
  • SA: Searching for a value in Threads does not work
  • Class load and creation cleanup
  • Various fixes to linux/sparc
  • gcc 4.1.2: fix build flags after "8114853 variable tracking size limit exceeded"
  • Implement ExitOnOutOfMemory and CrashOnOutOfMemory in HotSpot
  • Improve the printout of heap regions in hs_err dump files.
  • Improve G1 Heap Growth Heuristics
  • Exclude NUMAInterleaveGranularity from TestOptionsWithRanges.java
  • newDuration(x) produces incorrect outputs for some values of x
  • add wildcards to the Map.ofEntries() method
  • javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java failed with AccessControlException
  • Pattern splitAsStream is not late binding as required by the specification
  • Add a filtering collector
  • To bring j.u.z.ZipFile's native implementation to Java to remove the expensive jni cost and mmap crash risk [2]
  • Move sun.misc.HexDumpEncoder to sun.security.util
  • Remove sun.misc.Request and RequestProcessor
  • Marlin renderer causes unaligned write accesses
  • SimpleDateFormat parse month stand-alone format bug
  • Remove sun.misc.Queue and replace usages with standard Collections
  • [TESTBUG] javax/print/PrintSEUmlauts/PrintSEUmlauts.java relies on system locale
  • CorruptEntry.java fails after push for JDK-8145260
  • PushbackReader throws NullPointerException
  • Integration of minor fixes from the build-infra project
  • clean up jdk_collections and jdk_concurrent test groups
  • Fix typo in StackWalker javadoc
  • Allow to collect stdout/stderr from the FinalizationRunner even before the process returns
  • com/sun/jdi/SuspendThreadTest.java failed with "transport error 202: send failed: Broken pipe"
  • Move sun.misc.ProxyGenerator to java.lang.reflect
  • Remove character coders from sun.misc
  • CRYPTO_MECHANISM_PARAM_INVALID occurs if GCM mode parameter which is used as an IV is set to all zeros
  • Add java.time.Duration.dividedBy(Duration)
  • AnnotatedType interfaces provide no way to get annotations on owner type
  • Problem list Test6277246.java until a fix for JDK-8145589
  • java/lang/StackWalker/StackWalkTest.java and MultiThreadStackWalk.java fail with stack overflows
  • Optimize StringUTF16 compress/copy methods for C1
  • (coll) AbstractMap.keySet and .values should not be volatile
  • Collections.asLifoQueue(null) doesn't throw NPE as specified
  • JInfoSanityTest failed with Error attaching to remote server: java.rmi.ConnectException: Connection refused
  • API to create Threads that do not inherit inheritable thread-local initial values
  • Test6277246.java fails to compile after JDK-8144479
  • Support SHA256WithDSA in JSSE
  • MethodHandleImpl.initStatics is no longer needed
  • jjs fails to run simple scripts with security manager turned on
  • java/net/NetworkInterface/NetworkInterfaceStreamTest.java failed because of Teredo Tunneling Pseudo-Interface
  • SimpleConsoleLogger and LogRecord should take advantage of StackWalker to skip classes implementing System.Logger
  • java.lang.ref.Cleaner - an easy to use alternative to finalization
  • LocaleData.cldr for sun/text/resources/LocaleDataTest.java seems to contain wrong data
  • tools/jjs/jjs-fileTest.sh fails after JDK-8145750 except on windows
  • JShell: determine incorrectly the type of the expression which is array type of captured type
  • Wrong MethodParameters on capturing local class with multiple constructors
  • Some copyright notices are inconsistently and ill formatted
  • ToolBox should close any file manager it opens
  • Investigate and replace .class files in langtools/test with equivalent .jasm files
  • JShell: space in class path causes remote launch failure
  • cast conversion fails when converting a type-variable to primitive type
  • Javac does not correctly implement wildcards removal from functional interfaces
  • Test for type containment during bounds checking
  • javac should use deterministic data structures for managing free type listeners
  • Annotate.Worker should be replaced with lambdas
  • fix Nashorn shebang argument handling on Mac/Linux
  • Remove long as an internal numeric type
  • jjs tab-completion should support camel case completion
  • Eagerly lookup browser JS object class in BrowserJSObjectLinker
  • jjs should support documentation key shortcut in interactive mode
  • Megamorphic invoke should use CompiledFunction variants without any LinkLogic
  • accidental debug printlns in NativeFunction.java
  • apply2call optimized callsite fails after becoming megamorphic

New in Java SE Development Kit (JDK) 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
  • 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 SE Development Kit (JDK) 9 Build 93 Early Access (Nov 24, 2015)

  • Add Makefile target to run internal VM tests
  • Add top-level Makefile target to run hotspots jtreg tests
  • JVMCI refresh
  • Improve COMPARE_BUILD
  • Update library code to use internal Unsafe
  • InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries
  • G1: Report heap sizing time
  • Cleanups in Generation related code
  • [TESTBUG] Exclude compiler/jvmci/compilerToVM/GetConstantPoolTest.java
  • Remove UseCMSAdaptiveFreeLists, UseAsyncConcMarkSweepGC, CMSDictionaryChoice, CMSOverflowEarlyRestoration and CMSTestInFreeList
  • Add Makefile target to run internal VM tests
  • G1CollectorPolicy::calculate_young_list_target_length should be const
  • "-XX:+IgnoreUnrecognizedVMOptions" hides out of range VM options.
  • methodHandles and constantPoolHandles should be passed as const references
  • runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid
  • ParkEvent::RawThreadIdentity appears to be unused and should be removed
  • G1EvacStats does not split log entries.
  • Define the G1 term MMU somewhere in the source code.
  • Delete ConcurrentMarkSweepThread::is_ConcurrentGC_thread()
  • Error message from validation check has wrong order on Windows
  • InstanceKlass::cast passes through NULL
  • Fixes for warning "format not a string literal"
  • Without PrintPLAB, there are superfluous newlines in the GC log messages
  • Prepare Unsafe for true encapsulation
  • Refactor the sampling thread from ConcurrentG1RefineThread
  • Split G1 evacuate_collection_set into multiple steps
  • [TESTBUG] Remove G1UpdateBufferSize and InitialBootClassLoaderMetaspaceSize from TestOptionsWithRanges
  • Consistent naming for klass type predicates
  • Remove oop coupling with InstanceKlass subclasses
  • FrameValue might be used uninitialized
  • compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1
  • Format warnings in libjvm_db.c
  • Remove caching from WorkerDataArray
  • Move WorkerDataArray to its own file
  • Introduce shorthand for average_time_ms in G1CollectorPolicy
  • JCK test api/java_nio/ByteBuffer/index.html#GetPutXXX start failing after JDK-8026049
  • JEP 254: Compact Strings
  • improve tests for CompilerToVM::hasCompiledCodeForOSR
  • 3 compiler control tests fail on product builds
  • [TESTBUG]: JVMCI test crashes in constantPoolHandle::constantPoolHandle
  • JVMCI refresh
  • C1 should fold (this == null) to false
  • "expr: syntax error" due to gcc -dumpversion excluding micro
  • jdk/test/java/util/regex/RegExTest.java fails: No match found
  • Remove StringCharIntrinsics flag after JDK-8138651 is fixed
  • Hs-comp doesn't build with JDK-8139040
  • Specification of Collections.synchronized* need to state traversal constraints
  • imageFile should use delete[] with new[]
  • Attempt to define a duplicate BMH$Species class
  • Typo in makefile changes for 8043805 [Allow using a system-installed libjpeg]
  • (Process) java.lang.Process.allChildren specification clarification
  • Process/ProcessHandle.onExit() spec need to be improved
  • (process) Process.info description is inaccurate
  • Improve java.lang.invoke.MemberName hashCode implementation
  • sun.invoke.util.Wrapper eagerly initializes all integral type caches
  • SecureRandom default provider tests
  • Move TestLocalTime.java to tier 2
  • Prepare Unsafe for true encapsulation
  • BUILD_LIBJIMAGE missing as a dependency to JAVA_BASE_EXPORT_SYMBOLS_SRC
  • [TESTBUG] Add failing JDK jtreg tests to ProblemList
  • JCK test api/java_nio/ByteBuffer/index.html#GetPutXXX start failing after JDK-8026049
  • JEP 254: Compact Strings
  • [TESTBUG] VMOptionsTest.java fails on ARM
  • Move java/util/concurrent/Phaser/Basic.java to tier 2
  • Use named arguments for SetupCompileProperties in jdk
  • UnsupportedTemporalTypeException is thrown not only in the case of unsupported temporal - Java Bug System
  • ZonedDateTime parse error for any date using 'GMT0' ZoneID - Java Bug System
  • Javadoc fix. Do not suggest to use new Boolean(true).
  • Test Task: Develop new tests for Leverage CPU Instructions for GHASH and RSA
  • Update library code to use internal Unsafe
  • Rename methods Objects.nonNullElse* to requireNonNullElse*
  • com/sun/jndi/ldap/LdapTimeoutTest.java fails at handleNamingException
  • Do not retain declaration annotations on lambda formal parameters
  • Incorrect class file created when passing lambda in inner class constructor
  • Signatures in Lower could be made tighter by using JCExpression instead of JCTree
  • Compiler fails to infer generic type
  • Remove all references Flags.IPROXY
  • java.lang.invoke.LambdaConversionException: Invalid receiver type
  • Call site initialization exception caused by LambdaConversionException: Invalid receiver type
  • Type annotations in initializers and lambda bodies not written to class file
  • javac reports "cannot override" messages instead of "cannot hide" messages for static methods
  • JShell tool: New command: /imports, /i which show the list of imported packages or classes, etc...
  • JShell: Completion hangs on identifier completion
  • Simplify Nashorn's Context class loader handling
  • Make DynamicLinker specific to a Context in Nashorn
  • Introduce a command line option instead of nashorn.unstable.relink.threshold system property
  • Update library code to use internal Unsafe
  • Smaller Dynalink API adjustments
  • Number to String conversion functionality overhaul
  • Add support for Symbol property keys
  • floating point parse incorrect on big integer
  • (1000000000000000128).toString() and (1000000000000000128).toFixed() don't evaluate to expected values.
  • nashorn tests failing after recent changes
  • Enable all nashorn "api" tests for jtreg test run
  • Raw types warning in WeakValueCache

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 91 Early Access (Nov 9, 2015)

  • Specifying --without-LIB if not needed should not result in warning
  • Rename LDFLAGS_SUFFIX to LIBS
  • Add configure parameter for devkit for the build compiler
  • Add configure argument specifying make executable in JPRT
  • Add @modules for exported dependencies to jdk_core tests
  • Excessive use of HandleList class in de-serialization code causes OutOfMemory
  • Update i18n tests to remove references of jre dir
  • Fix deprecation warnings in jdk.zipfs module
  • Rename LDFLAGS_SUFFIX to LIBS
  • TestRSA.java: 'message larger than modulus' using SunRsaSign KeyFactory
  • Augment the Compiler Tree API to support the new Simplified Doclet API
  • Implement ES6 template literal support
  • add ES6 template literal test

New in Java SE Development Kit (JDK) 9 Build 88 Early Access (Oct 26, 2015)

  • Use --with-x to set X11 root directory
  • schemagen does not report errors while generating xsd files
  • DateTimeFormatter with Locale.UK throw a NullPointerException when parsing zone
  • Remove sun.misc.ConditionLock and Lock
  • URLStreamHandler* should link to URL ctor that specifies how factories/providers are located
  • Mark java/rmi/registry/readTest/readTest.sh as intermittently failing
  • readConfiguration does not cleanly reinitialize the logging system
  • java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.jimage.ImageNativeSubstrate
  • Improve early java.lang.invoke infrastructure initialization
  • Integrate CompletableFuture with API enhancements
  • CompletableFuture: Avoid StackOverflowError for long linear chains
  • Integrate fork/join with API enhancements
  • Integrate the Flow API
  • Bulk integration of java.util.concurrent.locks classes
  • ReentrantReadWriteLock.ReadLock fails on unlock by different thread
  • Lack of save / restore interrupt mechanism undermines the StampedLock
  • Bulk integration of java.util.concurrent classes
  • ForkJoinPool and Phaser deadlock
  • Clients of Unsafe.compareAndSwapLong need to beware of using direct stores to the same field
  • [JAVADOC] Buggy example in javadoc for afterExecute to access a submitted job's Throwable
  • Data missed in java.util.concurrent.LinkedTransferQueue
  • Repeated offer and remove on ConcurrentLinkedQueue lead to an OutOfMemoryError
  • TEST_BUG: java/util/concurrent/ConcurrentQueues/OfferRemoveLoops.java fails Intermittently
  • Cleanup to test/java/util/concurrent/BlockingQueue/Interrupt.java
  • Test fix java/util/concurrent/ConcurrentQueues/OfferRemoveLoops.java from jsr166 CVS
  • ConcurrentHashMap.computeIfAbsent stuck in an endless loop
  • javadoc typo in java.util.concurrent.Executor
  • FutureTask.isDone returns true when task has not yet completed
  • java/util/concurrent/locks/Lock/TimedAcquireLeak.java fails intermittently
  • ScheduledThreadPoolExecutor with zero corePoolSize create endlessly threads
  • Busy loop in ThreadPoolExecutor.getTask for ScheduledThreadPoolExecutor
  • High processor load for ScheduledThreadPoolExecutor with 0 core threads
  • ScheduledExecutorService.scheduleWithFixedDelay fails with max delay
  • example afterExecute for ScheduledThreadPoolExecutor hangs
  • Port fdlibm cbrt to Java
  • ZipFileInputStream Not Thread-Safe
  • Clarify javadoc for java.util.Collections.copy()
  • Deflater.needsInput() should use synchronization
  • schemagen does not report errors while generating xsd files
  • NPE when compiling bitwise operations with illegal operand types
  • compiler crashes with exception on sum operation of String var and void method call result
  • ompiler crashes on unary bitwise complement with non-integral operand
  • compiler crashes with exception on int:new method reference and generic method inference
  • Huge performance bottleneck in com.sun.tools.javac.comp.Check.localClassName
  • Three langtools test failures after the removal of sun.misc.Lock
  • Small improvements to DynamicLinker and DynamicLinkerFactory
  • Use JDK 8 default method for LinkerServices.asTypeLosslessReturn
  • add JSAdapter example with fallthrough
  • Drastically reduce memory footprint of ChainedCallSite
  • Remove @author and @id tags from Dynalink JavaDoc; some minor edits

New in Java SE Development Kit (JDK) 8 Update 66 (Oct 20, 2015)

  • Preloading libjsig.dylib causes deadlock when signal() is called:
  • Applications need to preload the libjsig library to enable signal chaining. Previously, on OS X, after libjsig.dylib was preloaded, any call from native code to signal() caused a deadlock. This has been corrected.
  • VM crash when class is redefined with Instrumentation.redefineClasses:
  • The JVM could crash when a class was redefined with Instrumentation.redefineClasses(). The crash could either be a segmentation fault at SystemDictionary::resolve_or_null, or an internal error with the message "tag mismatch with resolution error table". This has now been fixed .
  • Bug fixes:
  • JDK-8087201 client-libs 2D OGL: rendering of lcd text is slow
  • JDK-8130938 client-libs 2D [solaris] Incomplete 8ux fix for 8071710: libfontmanager & t2k should link against headless awt on solaris
  • JDK-8037371 client-libs java.awt [macosx] Test closed/java/awt/dnd/ImageTransferTest/ImageTransferTest.html fails
  • JDK-8131752 client-libs java.awt [Regression] Test java/awt/GraphicsDevice/CheckDisplayModes.java fails
  • JDK-8134453 client-libs javax.accessibility JAWS crashes in WindowsAccessBridge.DLL on 32 bit 8u60 running on 32 bit Win 7
  • JDK-8134403 core-libs jdk.nashorn Nashorn react.js benchmark performance regression
  • JDK-8079618 deploy plugin AccessControlException with deployment cache and RMI
  • JDK-8135116 globalization translation [de] Missing the link of license agreement
  • JDK-6904403 hotspot jvmti assert(f == k->has_finalizer(),"inconsistent has_finalizer") with debug VM
  • JDK-8048353 hotspot runtime jstack -l crashes VM when a Java mirror for a primitive type is locked
  • JDK-8072147 hotspot runtime Preloading libjsig.dylib causes deadlock when signal() is called
  • JDK-8076110 hotspot runtime VM crash when class is redefined with Instrumentation.redefineClasses
  • JDK-8133191 install NVDA screen reader and JAWS can't read the "Look and Feel" Selections.
  • JDK-8078495 security-libs org.ietf.jgss:krb5 End time checking for native TGT is wrong
  • JDK-8131907 xml jaxp Numerous threads lock during XML processing while running Weblogic 12.1.3

New in Java SE Development Kit (JDK) 9 Build 85 Early Access (Oct 14, 2015)

  • Drop building of interim_java.corba
  • Various build speed improvements for windows
  • Move SharedSecrets and interface friends out of sun.misc
  • Better help message in configure for reduced builds (target-bits=32)
  • Devkit build on Macosx still requires Xcode to be installed
  • Stop building Xcode projects in install build
  • Drop building of interim_java.corba
  • Move SharedSecrets and interface friends out of sun.misc
  • Backout JDK-8133818 Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125
  • Remove YOUNG_LIST_VERBOSE code from G1CollectedHeap
  • Type checking verifier fails to reject assignment from array to an interface
  • Change Method::_intrinsic_id from u1 to u2
  • Refactor Hotspot mapfiles
  • Fix conversion warning after 8067341
  • Enhance command line processing to manage deprecating and obsoleting -XX command line arguments
  • VM permits illegal access_flags, versions 51-52
  • VM fails on 'empty' interface public ()V method with VerifyError
  • ElementTraversal: javadoc warning; also, hasFeature shall return true
  • RELAX NG API visible but not accessible
  • Drop building of interim_java.corba
  • Various build speed improvements for windows
  • Move SharedSecrets and interface friends out of sun.misc
  • Mark 3 more core-libs tests as intermittently failing
  • TEST_BUG: java/nio/channels/FileChannel/LoopingTruncate.java timed out
  • KinitConfPlusProps.java test intermittently fails because PortUnreachableException is missing
  • Bulk integration of java.util.concurrent.atomic classes
  • JNI warnings in jdk/src/share/native/sun/misc/VMSupport.c
  • jjs should support @argfile to pass command line arguments from a file
  • java/util/logging/DrainFindDeadlockTest.java hangs
  • NTLM impl should use doPrivileged when it reads system properties
  • TreeTest.java intermittently fails with a timeout
  • Bug in port of fdlibm pow to Java
  • InetAddress.isReachable reports true when loopback interface is specified
  • Occasional SIGSEGV: non thread-safe use of strerr in getLastErrorString
  • ParsePosition getErrorIndex returns 0 for TimeZone parsing problem
  • bootcycle-images build fails
  • Add serialVersionUID field to relevant javax.transaction classes
  • Unexpected side effect in Pack200
  • Missing @build in test/java/text/Format/DecimalFormat/RoundingAndPropertyTest.java
  • CertStatusReqItemV2 should not implement StatusRequest interface
  • (tz) Support tzdata2015g
  • Remove SPI locale provider adapter from the default provider list
  • Provider "jrt" is not available after bootmodules.jimage recreation
  • (se) File descriptor leak when Selector.open fails
  • [macosx] Regression: NPE in java.awt.Choice
  • Swing JFileChooserBug2 test fais with MotifLookAndFeel
  • [PIT] Container size is wrong in JEditorPane
  • [Regression] Test java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java fails
  • closed/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html failed intermittently
  • [TEST_BUG]Test java/awt/EventQueue/6980209/bug6980209.java fails on Linux
  • Remove support for serialized applets from java.desktop
  • Run blessed-modifier-order script on java.desktop
  • Do not create LaF instance in javax/swing/plaf/windows/6921687/bug6921687.java
  • Deprecate AWTKeyStroke.registerSubclass(Class) method
  • Some unicode characters do not display any more after upgrading to Windows 10
  • Run blessed-modifier-order script on client demos and misc. sources
  • The SwingUtilities2.COMPONENT_UI_PROPERTY_KEY can be removed
  • Typos in documentation
  • Stop ignoring warnings for libawt_lwawt
  • Endless Loop in RiffReader
  • [macosx] JOptionPane doesn't receive mouse events when opened from a drop event
  • Module version is checked incorrectly in libjimage
  • JDK9 build.tools.module.ImageBuilder does not filter out .bc files
  • Add a mode to the tests for class-file attributes which dumps in-memory sources to disk
  • Update Java Compiler Error Message
  • Compiler fails with diamond anonymous class creation with intersection bound of enclosing class
  • Add better support for local caching in ArgumentAttr
  • Compiler internall error (NPE) on anonymous class defined by qualified instance creation expression with diamond
  • Compilation still depends on the order of imports
  • 8133235 Compilation depends on order of source files
  • javac, method visitTypeVar() at visitor Types.hashCode generates the same hash code for different type variables
  • introduce abstraction for basic NodeVisitor usage
  • JSObjectLinker and BrowserJSObjectLinker should not expose internal JS objects
  • Boundless soft caching of property map histories causes high memory pressure
  • nashorn ant build.xml javadoc, javadocapi targets are broken and netbeans makefile does not include shell sources
  • Sparse array does not handle growth of underlying dense array
  • invokeFunction fails if function calls a function defined in GLOBAL_SCOPE
  • OutOfMemoryError with large numeric keys in JSON.parse
  • Performance regression due to anonymous classloading
  • Ctrl-D causes jjs to crash with NPE
  • U+180E not recognized as whitespace by Joni

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 82 Early Access (Sep 23, 2015)

  • Better handling of classpath in build-infra
  • Print configure arguments using make print-configuration
  • Disable use of broken objcopy on Solaris, remove adhoc helper tools
  • compiler/runtime/6859338/Test6859338.java crashes in PhaseIdealLoop::try_move_store_after_loop
  • Cleaning inline caches of unloaded nmethods should be done in sweeper
  • new StringBuilder().append(String).toString() should be recognized by OptimizeStringConcat
  • Let OracleUcrypto accept RSAPrivateKey
  • Add defensive copies to get/set methods for OCSPNonceExtension
  • sun/tools/jps/TestJpsClass fails with java.lang.RuntimeException: The line 'line 2' does not match pattern '^\\d+\\s+.*': expected true, was false
  • Ucrypto library leaks memory when null output buffer is specified
  • (fs) java/nio/file/Files/StreamLinesTest.java should test empty files
  • JNI exception pending in jdk/src/java.base/windows/native/libnet/DualStackPlainSocketImpl.c
  • Incorrect assumtion in javax\sound\midi\Gervill\SoftProvider\GetDevice.java
  • [TEST BUG] [macosx] After click "test",the case failed automatically with thrown exception in the log since jdk8b75
  • [macosx] setMaximizedBounds() doesn't work for undecorated Frame
  • Fix mac-specific deprecation warnings in the java.desktop module
  • Missed test data in the test on java.beans.BeanProperty
  • IndexOutOfBounds exception being thrown
  • No frame icon for InternalFrame in Windows LaF
  • Allow programmatic enabling of subpixel anti-aliasing in Swing on ANY platform
  • Pluggable EventQueue in modular JDK
  • closed/java/awt/Component/GetScreenLocTest/GetScreenLocTest.html clicks on Unity's tool bar
  • JColorChooser should have a way to disable transparency controls
  • java.desktop docs: replace some invalid "@returns" tags
  • Incorrect destination is used in CGLLayer surface
  • [macosx] Few open swing and awt reg-tests fail after their update to avoid SunToolkit.realSync
  • Adding a getUI public method to JComponent
  • NPE in SwingUtilities2.drawChars after JDK-6302464
  • Add @requires os.family to the client tests with access to internal OS-specific API
  • 9-dev solaris builds failed on 2015-09-04
  • Better handling of classpath in build-infra
  • Remove java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java from problem list
  • Certpath validation fails to load certs and CRLs if AIA and CRLDP extensions point to LDAP resources
  • Deadlock when initializing MulticastSocket and DatagramSocket
  • sun.management.HotspotCompilation should handle absence of per-thread perf counters
  • (process) java/lang/ProcessHandle/InfoTest fails testing commandLine()
  • Tests for RSA keys and key specifications
  • Continuation of JDK-8130845 : A date string created by Date#toString() is not parseable neither with ENGLISH, US nor ROOT locale
  • Add missing "-client IGNORE" to jvm.cfg file for ppc64
  • File Leak in jdk/src/java.base/share/classes/sun/net/sdp/SdpSupport.java
  • Cleanup of "TimeZone_md.c"
  • Improve performance of CLDRLocaleProviderAdapter.getCandidateLocales
  • Disable use of broken objcopy on Solaris, remove adhoc helper tools
  • Additional tests for 6857795
  • java/lang/ProcessHandle/InfoTest.java fails intermittently - incorrect user
  • Remove java/lang/ProcessHandle/InfoTest.java from the Problem List
  • Sjavac should stream back compiler output to the client as soon as it becomes available
  • javac does a naive implementation of some incorporation steps
  • javac, patch intended for an issue was pushed with wrong id and message
  • javac, before calling rawInstantiate from selectBest the warner should be cleared out
  • langtools/test/tools/javac/sym/ElementStructureTest.java is also searching default classpath
  • CheckAttributedTree silently generates spurious compiler error
  • Add more samples to nashorn samples directory
  • Reorder short-circuit tests in ApplySpecialization to run cheapest first
  • jjs should work in cygwin environment
  • Better handling of classpath in build-infra
  • Merge ScriptFunction and ScriptFunctionImpl
  • Number.prototype.toFixed returns wrong string for 0.5 and -0.5
  • Add tests for prototype callsites
  • Sanitize CodeInstaller API
  • Fix broken build after JDK-8135262
  • NativeDebug.dumpCounters with incorrect scope count
  • ScriptFunction constructor should use is bound and is strict check rather than checking for 'arguments' and 'caller'
  • Typos patch for nashorn sources submitted on Sep 10, 2015

New in Java SE Development Kit (JDK) 9 Build 81 Early Access (Sep 23, 2015)

  • Create a build failure summary at end of build log
  • logger.sh needs to handle commands with variable assignment prefixes
  • Memory leak in G1 because G1RootProcessor doesn't have desctructor
  • Remove PrintClassStatistics and PrintMethodStatistics
  • Move implementation of process_grey_object to concurrentMark.inline.hpp
  • Followup to JDK-8059557 (JEP 245)
  • java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java failed by timeout
  • Missing test before a branch when checking for MethodCounters in TemplateTable::branch() on x86
  • REDO - Reduce Symbol::_identity_hash to 2 bytes
  • Unify and split the work gang classes
  • Use semaphores when starting and stopping GC task threads
  • Running with -XX:+UseParallelGC -XX:OldSize=30k crashes jvm
  • test fails due to 'CICompilerCount=0 must be at least 1' missing from stdout/stderr
  • Remove unused code in Arguments
  • VM ignores setting of the -XX:MemoryRestriction flag.
  • Too low memory usage in TestPromotionFromSurvivorToTenuredAfterMinorGC.java
  • CMS: Assert failed: Ctl pt invariant
  • Reference CAS induces GC store barrier even on failure
  • Cloned object's fields observed as null after C2 escape analysis
  • Unsafe.getAndSetObject() is no longer intrinsified by c2
  • Intermediate writes in a loop not eliminated by optimizer
  • clarify position of unlock options in error messages
  • 8133821 Refactor initialization of the heap and the collector policy
  • Remove the class G1CollectorPolicyExt
  • G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure
  • Uses of Atomic methods in plab.hpp should be moved to .inline.hpp file
  • Add detailed information about PLAB memory usage
  • Add JFR event for evacuation statistics
  • Avoid reallocating PLABs between GC phases in G1
  • G1 merges thread local age tables too early with global age table
  • PLAB reallocation might result in failure to allocate object in that recently allocated PLAB
  • Zero interpreter asserts in stubRoutines.cpp
  • hsperfdata file is created in wrong directory and not cleaned up if /tmp/hsperfdata_ has wrong permissions
  • Allow that PLAB allocations at the end of regions are flexible
  • HeapRegionManager::shrink_by() iterates suboptimally across regions
  • In 32-bit VM interpreter and compiled code process NaN values differently
  • src/share/vm/opto/compile.hpp:96: error: integer constant is too large for ?long? type
  • aarch64: fails to build from source
  • aarch64: generates constrained unpredictable instructions
  • AARCH64: Extend use of stlr to cater for volatile object stores
  • print_compressed_class_space() is only defined in 64-bit VM

New in Java SE Development Kit (JDK) 9 Build 80 Early Access (Sep 9, 2015)

  • Add 'edit' function to allow external editing of scripts
  • Implement tab-completion for java package prefixes and package names
  • jjs in jre directory fails with "Could not find or load main class jdk.nashorn.tools.jjs.Main"
  • NPE may be thrown when xsltc select a non-existing node after JDK-8062518
  • InetAddress.isReachable(tmout) returning wrong value on Windows for IPv6
  • Support @argfiles for java command-line tool
  • Repeating annotations throws java.security.AccessControlException with a SecurityManager
  • java/security/cert/CertPathValidator/OCSP/AIACheck.java fails intermittently
  • Create unit tests for CLDR unique features
  • Regression in sun.net.util.IPAddressUtil.isIPv4LiteralAddress(String)
  • com/sun/jndi/ldap/LdapTimeoutTest.java fails intermittently
  • jjs in jre directory fails with "Could not find or load main class jdk.nashorn.tools.jjs.Main"
  • [solaris] Fix for potential memory leak in TimeZone_md.c, function findJavaTZ_md()
  • replace some tags (obsolete in html5) in security-libs docs
  • {@code} tag contains < and > sequences
  • javadoc clarification for java.sql.Date.toLocalDate
  • [TEST BUG] javax/swing/JScrollBar/bug4202954/bug4202954.java fails
  • [TESTBUG] add regression test for inherited classes with the new bean annotations
  • The image of BufferedImage.TYPE_INT_ARGB and BufferedImage.TYPE_INT_ARGB_PRE is blank
  • test for 8067364 depends on hardwired text advance
  • Robot captures black screen
  • docs: replace tags (obsolete in html5) for java.desktop
  • java/beans/SimpleBeanInfo/LoadingStandardIcons/LoadingStandardIcons.java failure with modular JDK
  • [TEST_BUG] Part 1: update client tests failing after changes in setAccessible(true) routine
  • [macosx] MalformedURLException is thrown during reading data for application/x-java-url;class=java.net.URL flavor
  • [TEST_BUG] Test javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on Windows, Solaris Sparcv9 and Linux but passes on MacOSX
  • java.lang.ArrayIndexOutOfBoundsException during text rendering with many fonts installed
  • Update NervousText demo to use java.version System property
  • Restrict javax.imageio.spi.ServiceRegistry to ImageIO types
  • Rework security restrictions of Java Access Bridge and related Utilities
  • [macosx] RealSync test failure
  • Need to disable the "magic AWT dump key" (CTRL+SHIFT+F1)
  • getLocationOnScreen() always returns (0, 0) for mouse wheel events
  • [PIT] XToolkit, strange behavior of robot.createScreenCapture(): looks like a native crash in X11/GTK
  • Make sun/tools/jps tests non-concurrent with other tests
  • Bug8134250 test fails in en_IE locale
  • Problem list failing java/beans/Introspector test
  • sun/security/krb5/auto/MaxRetries.java may fail with BindException
  • The InquireSecContextPermissionCheck.java test was mistakenly removed
  • Add sound tests to tier 3
  • (zipfs) Zip File System Provider returns doubly-encoded Path URIs
  • Mark javax/sound/midi/Devices/InitializationHang.java as headful
  • jdk/test/java/lang/SecurityManager/CheckPackageAccess.java failing on several platforms
  • Excess entries in BootstrapMethods with the same (bsm, bsmKind, bsmStaticArgs), but different dynamicArgs
  • Refactor sjavac as a thin client
  • TeeOpTest.java fails across platforms after fix for JDK-8129547
  • langtools tests have bad license
  • A recent update to copyright headers caused two tests to fail
  • Add 'edit' function to allow external editing of scripts
  • Implement tab-completion for java package prefixes and package names
  • Make Timing both threadsafe and efficient
  • SharedScopeCall should be enabled for non-optimistic call sites in optimistic compilation
  • jjs should support multiple line input to complete incomplete code
  • load call argument completion could be done with file chooser
  • load completion should not use swing from non UI thread
  • Features that require AWT, swing should handle headless mode properly
  • Here documents: how to avoid string interpolation?
  • disallow backquotes as heredoc end marker delimiters
  • Nashorn react.js benchmark performance regression
  • jjs history object should have methods to save/load history to/from given file and also allow reexecution of commands by a call

New in Java SE Development Kit (JDK) 9 Build 78 Early Access (Aug 21, 2015)

  • JDK 9 build using boot-jdk classes instead of newly compiled classes
  • Add makefiles support and basic session, persistence history navigation with jline
  • Serviceability tests fails with Can't attach to process
  • Implement Diagnostic Commands for heap and finalizerinfo
  • LogTouchedMethods (8025692) asserts if TieredCompilation is off.
  • RunFinalizationTest.java times out frequently
  • Increase PerfDataMemorySize to 64K
  • Clean up os::...::supports_variable_stack_size()
  • imageDecompressor.hpp should not include precompiled.hpp
  • Need to bailout cleanly if creation of stubs fails when codecache is out of space
  • java -client -XX:+TieredCompilation -XX:CICompilerCount=1 -version asserts since 8130858
  • Implement C2 Ideal node specific dump() method
  • Unify command-line flags controlling the usage of compiler intrinsics
  • AArch64: Fix error introduced into AArch64 CodeCache by commit for 8130309
  • Change jaxp unit test package name to be different with jaxp api
  • Missing files while changing packages of JAXP unittest
  • [TESTBUG] CLDRDisplayNameTest uses deprecated API, fails
  • Initialize local varibales before returning them in p11_convert.c
  • (fs) Crash in libgio when calling Files.probeContentType(path) from parallel threads
  • ParallelProbes.java test fails after changes for JDK-8080115
  • (fs) FileSystems.newFileSystem(URI, ..) doesn't handle UOE thrown by provider
  • Mark TimeoutLockLoops.java as failing intermittently
  • (fs) java/nio/file/Files/probeContentType/ParallelProbes.java should use othervm mode
  • Implement Diagnostic Commands for heap and finalizerinfo
  • com.sun.jmx.mbeanserver.Introspector may provide results inconsistent with the JavaBeans Introspector
  • Add tracing info to LowMemoryTest.java to help 8130339 diagnosis
  • Fix getFinalAttributes() on Windows to handle more special cases
  • Allow other named SecurityPermissions, RuntimePermissions, and AuthPermissions to be used
  • docs: replace tags (obsolete in html5) for java.util
  • Several methods in BeanProperty return null instead of boolean value
  • Resolve disabled warnings for libjsound
  • Resolve disabled warnings for libjsoundalsa
  • Remove EmbeddedFrame.requestFocusToEmbedder() method
  • Fix windows-specific deprecation warnings in the java.desktop module
  • [Regression] Test java/awt/GraphicsDevice/CheckDisplayModes.java fails
  • The case is failed automatically and thrown the "java.lang.IllegalStateException" exception
  • jdk9 b58 cannot run any graphical application on Win 8 with JAWS running
  • Incorrect guard block in HPkeysym.h, awt_Event.h
  • The new menu can't be shown on the menubar after clicking the "Add" button.
  • Child FileDialog of modal dialog does not get focus on Gnome
  • javax.swing.TimerQueue: timer fires late when another timer starts
  • audioInputStream.close() does not release the resource
  • AudioSystem behavior depends on order that providers are located
  • closed/java/awt/font/JNICheck/JNICheck.sh test reports some warnings
  • Reconsider "awt.toolkit" property usage in java.awt.Toolkit getDefaultToolkit() method
  • MultiResolutionCachedImage unnecessarily creates base image to get its size
  • JInternalFrame.setLayer(Integer layer) should throw NullPointerException when layer=null
  • java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html fails from jdk b09 on windows
  • Clean up JAB debugging code
  • Test java/awt/image/DrawImage/IncorrectClipXorModeSurface2Surface.java fails with ClassCastException
  • Test javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java fails in Solaris Sparcv9
  • [PIT] RTL orientation in JEditorPane is broken
  • bean annotations: add a test checking if a user-defined BeanInfo is top-priority as compared with the annotations
  • Exclude intermittent failing PKCS11 tests on Solaris SPARC 11.1 and earlier
  • (fs) Files.lines(path).collect() returns wrong value in JDK 9 with certain files
  • [fs] Regex has redundant | in the char class
  • Tests for SealedObject
  • tools/pack200/PackTestZip64.java may timeout at preparing the large test file
  • replace tags (obsolete in html5) in java.nio docs
  • Add makefiles support and basic session, persistence history navigation with jline
  • Wrong JNI_OnLoad called if just loaded lib does not have JNI_OnLoad function
  • Place TimeoutLockLoops.java on the problem list
  • Clean up package handling code in JavadocTool
  • javac is accepting a self-referencing variable initializer inside a lambda expression
  • Add makefiles support and basic session, persistence history navigation with jline

New in Java SE Development Kit (JDK) 9 Build 77 Early Access (Aug 19, 2015)

  • Summary of changes:
  • JDK-8008577 breaks Nashorn test
  • Change to CLDR Locale data in JDK 9 b71 causes SimpleDateFormat parsing errors
  • German (Switzerland) formatting broken if CLDR Locale Data is used
  • Extend the WhiteBox API to provide information about the availability of compiler intrinsics
  • aarch64: C2 does not handle large stack offsets
  • AARCH64: add Montgomery multiply intrinsic
  • C1 Class.cast optimization breaks when Class is loaded from static final
  • CICompilerCount=1 when tiered is off is not allowed any more
  • aarch64: regression test fails compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java
  • aarch64: add support for GHASH acceleration
  • Extend the WhiteBox API to provide information about the availability of compiler intrinsics
  • hs_err improvement: Add summary section to hs_err file
  • hs_err improvement: Print GC Strategy
  • hs_err improvement: Print compilation mode, server, client or tiered
  • Refactor CardTableModRefBS[ForCTRS]
  • New verifier fails to reject erroneous cast from int[] to other arrays of small integer types
  • Fix merge error adding code that was removed in 8077936
  • [TESTBUG] Harden TestLargePageUseForAuxMemory for more page size combinations
  • jstack -l crashes VM when a Java mirror for a primitive type is locked
  • TestStackTrace.java: ArrayIndexOutOfBoundsException thrown by AARCH64ThreadContext.setRegister
  • heapdump/JMapHeap EXCEPTION_ACCESS_VIOLATION
  • Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
  • G1: Parallelize object self-forwarding and scanning during an evacuation failure
  • [TESTBUG] aix: Port CreateCoreDumpOnCrash added in 8078121
  • Create new launcher for SA tools
  • vm crash on StressRedefineWithoutBytecodeCorruption fails with assert(((Metadata*)obj)->is_valid()) failed: obj is valid
  • change 'InlineNotify' flag option from "product" to "diagnostic"
  • SIGBUS error in nsk/jvmti/RedefineClasses/StressRedefine
  • G1 hs_err region dump legend out of sync with region values
  • Signature mismatch between declaration and definition of PosixSemaphore::timedwait
  • Remove unused imports from hotspot/test/testlibrary/jdk/test/lib/*.java
  • VerifyNoCSetOopsClosure is derived twice from Closure
  • Add additional validation after heap creation
  • jaxp: Investigate removal of com/sun/org/apache/xalan/internal/xslt/Process.java
  • minor cleanup of java/util/Scanner/ScanTest.java
  • Fix some typos and omissions in the the j.u.stream JavaDoc
  • some docs cleanup
  • [TESTBUG] jdk/internal/jimage/ExecutableTest.java incorrectly asserts all files to be executable
  • Support loading a keystore with a custom KeyStore.LoadStoreParameter class
  • Signature of Java_sun_nio_ch_Net_socket0 should return jint not int
  • java/nio/file/FileStore/Basic.java fails when two successive stores in an iteration are determined to be equal
  • java/nio/file/FileStore/Basic.java sensitive to NFS configuration
  • Bug ID accidentally omitted from top level regression test in fix for JDK-8065556
  • Fix typo in javax.sql.RowSet.setBlob
  • Add imageio test to tier 3
  • Cleanup in j.u.regex.Pattern.quote()
  • Do not request for addresses for forwarded TGT
  • Java_sun_nio_ch_Net_poll passes a long to an int
  • JDK-8008577 breaks Nashorn test
  • Change to CLDR Locale data in JDK 9 b71 causes SimpleDateFormat parsing errors
  • German (Switzerland) formatting broken if CLDR Locale Data is used
  • Adjust tier 1 and 2 definitions for nio-related intrinsics
  • clarify stream package documentation regarding sequential vs parallel modes
  • Mark intermittently failuring core-svc tests
  • Create new launcher for SA tools
  • Old verifier fails to reject erroneous cast from boolean[] to byte[]
  • Old verifier fails to reject bad access to protected method
  • sun/jvmstat/monitor/MonitoredVm/CR6672135.java: java.lang.IllegalArgumentException: Could not map vmid to user name
  • docs: replace tags (obsolete in html5) for javax.naming
  • Wrong CLDR resource bundle names for legacy ISO language codes
  • Problem list BasicLauncherTest until fix for JDK-8132648 propagates
  • OCSP Stapling for TLS
  • docs: replace tags (obsolete in html5) for java.io, java.lang, java.math
  • docs: replace tags (obsolete in html5) for java.management
  • java/util/logging/LoggingDeadlock2.java times out
  • [TEST_BUG] ERROR: No IPv6 address returned from platform
  • docs: replace tags (obsolete in html5) for java.util.logging, java.util.prefs, java.util.zip, java.util.jar
  • Rare bug in JISAutodetect charset detected by FindDecoderBugs test
  • Adjust tier 1 and 2 definitions for security-related intrinsics
  • Instant.toEpochMilli() silently overflows
  • (fs) Investigate removing the GNOME-based FileTypeDetector from the Linux and Solaris implementations
  • java.util.Formatter documentation of %n converter is misleading
  • CompletionFailure during import listing crashes javac
  • com/sun/tools/sjavac/pubapi/PubApiTypeParam.java has no copyright header
  • TypeError messages with "call" and "new" could be improved
  • Error message associated with TypeError for call and new should include stringified Node

New in Java SE Development Kit (JDK) 8 Update 60 (Aug 18, 2015)

  • This releases includes support for ARMv8 processors, Nashorn enhancements, and improvements to Deployment Rule Set functionality.
  • Bug fixes:
  • JDK-8077518 client-libs XMLParserTest unit test failure.
  • JDK-8077982 client-libs GIFLIB upgrade
  • JDK-8078654 client-libs CloseTTFontFileFunc callback should be removed
  • JDK-8081315 client-libs 8077982 giflib upgrade breaks system giflib builds with earlier versions
  • JDK-8129116 client-libs Deadlock with multimonitor fullscreen windows.
  • JDK-7145508 client-libs [embedded] java.awt.GraphicsDevice.get/setDisplayMode behavior is incorrect when no display is present
  • JDK-8017773 client-libs 2d OpenJDK7 returns incorrect TrueType font metrics
  • JDK-8035371 client-libs 2d gcc compiler warnings in closed source code
  • JDK-8036930 client-libs 2d Type1 font not loaded by java.awt.Font.createFont
  • JDK-8061831 client-libs 2d [OGL] "java.lang.InternalError: not implemented yet" during the blit of VI to VI in xor mode
  • JDK-8066132 client-libs 2d BufferedImage::getPropertyNames() always returns null
  • JDK-8067364 client-libs 2d Printing to Postscript doesn't support dieresis
  • JDK-8073001 client-libs 2d Java's system LnF on OS X: editable JComboBoxes are being rendered incorrectly
  • JDK-8076419 client-libs 2d Path2D copy constructors and clone method propagate size of arrays from source path
  • JDK-8078331 client-libs 2d Upgrade JDK to use LittleCMS 2.7
  • JDK-8078464 client-libs 2d Path2D storage growth algorithms should be less linear
  • JDK-8079652 client-libs 2d Could not enable D3D pipeline
  • JDK-8085910 client-libs 2d OGL text renderer: gamma lut cleanup
  • JDK-8104577 client-libs demo Remove debugging message from Font2DTest demo
  • JDK-6475361 client-libs java.awt Attempting to remove help menu from java.awt.MenuBar throws NullPointerException
  • JDK-7155963 client-libs java.awt Deadlock in SystemFlavorMap.getFlavorsForNative and SunToolkit.awtLock
  • JDK-8020443 client-libs java.awt Frame is not created on the specified GraphicsDevice with two monitors
  • JDK-8039926 client-libs java.awt -spash: can't be combined with -xStartOnFirstThread since JDK 7
  • JDK-8042585 client-libs java.awt [macosx] Unused code in LWCToolkit.m
  • JDK-8043393 client-libs java.awt NullPointerException and no event received when clipboard data flavor changes
  • JDK-8056151 client-libs java.awt Switching to GTK L&F on-the-fly leads to X Window System error RenderBadPicture
  • JDK-8056915 client-libs java.awt Focus lost in applet when browser window is minimized and restored
  • JDK-8058930 client-libs java.awt GraphicsEnvironment.getHeadlessProperty() does not work for AIX
  • JDK-8061636 client-libs java.awt Fix for JDK-7079254 changes behavior of MouseListener, MouseMotionListener
  • JDK-8064934 client-libs java.awt Incorrect Exception message from java.awt.Desktop.open()
  • JDK-8068886 client-libs java.awt IDEA IntelliJ crashes in objc_msgSend when an accessibility tool is enabled
  • JDK-8071306 client-libs java.awt GUI perfomance are very slow compared java 1.6.0_45
  • JDK-8072069 client-libs java.awt Toolkit.getScreenInsets() doesn't update if insets change
  • JDK-8072088 client-libs java.awt [PIT] NPE in DnD tests apparently because of the fix to JDK-8061636
  • JDK-8072769 client-libs java.awt System tray icon title freezes java
  • JDK-8072775 client-libs java.awt Tremendous memory usage by JTextArea
  • JDK-8073453 client-libs java.awt Focus doesn't move when pressing Shift + Tab keys
  • JDK-8074500 client-libs java.awt java.awt.Checkbox.setState() call causes ItemEvent to be filed
  • JDK-8075609 client-libs java.awt java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent
  • JDK-8077409 client-libs java.awt Drawing deviates when validate() is invoked on java.awt.ScrollPane
  • JDK-8077686 client-libs java.awt OperationTimedOut exception inside from XToolkit.syncNativeQueue call on Ubuntu 15.04
  • JDK-8078606 client-libs java.awt Deadlock in awt clipboard
  • JDK-8080137 client-libs java.awt Dragged events for extra mouse buttons (4,5,6) are not generated on JSplitPane
  • JDK-8081371 client-libs java.awt [PIT] Test closed/java/awt/FullScreen/DisplayMode/CycleDMImage.java switches Linux to the single device mode
  • JDK-8130752 client-libs java.awt Wrong changes were pushed with 8068886
  • JDK-8076455 client-libs java.awt:i18n IME Composition Window is displayed on incorrect position
  • JDK-8067657 client-libs java.beans Dead/outdated links in Javadoc of package java.beans
  • JDK-8069268 client-libs javax.accessibility JComponent.AccessibleJComponent.addPropertyListeners adds exponential listeners
  • JDK-8076182 client-libs javax.accessibility Open Source Java Access Bridge - Create Patch for JEP C127 8055831
  • JDK-8078408 client-libs Java version applet hangs with Voice over turned on
  • JDK-4952954 client-libs abort flag is not cleared for every write operation for JPEG ImageWriter
  • JDK-4958064 client-libs javax.imageio JPGWriter does not throw UnsupportedException when canWriteSequence retunsfalse
  • JDK-8074954 client-libs javax.imageio ImageInputStreamImpl.readShort/readIntdo not behave correctly at EOF
  • JDK-6206437 client-libs javax.swing Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing)
  • JDK-6338077 client-libs javax.swing link back to self in javadoc JTextArea.replaceRange()
  • JDK-6459798 client-libs javax.swing JDesktopPane,JFileChooser violate encapsulation by returning internal Dimensions
  • JDK-6459800 client-libs javax.swing Some Swing classes violate encapsulation by returning internal Insets
  • JDK-6470361 client-libs javax.swing Swing's Threading Policy example does not compile
  • JDK-6515713 client-libs javax.swing example in JFormattedTextField API docs instantiates abstract class
  • JDK-6573305 client-libs javax.swing Animated icon is not visible by click on menu
  • JDK-7180976 client-libs javax.swing Pending String deadlocks UIDefaults
  • JDK-8013820 client-libs javax.swing JavaDoc for JSpinner contains errors
  • JDK-8015085 client-libs javax.swing [macosx] Label shortening via " ... " broken when String contains combining diaeresis
  • JDK-8033000 client-libs javax.swing No Horizontal Mouse Wheel Support In BasicScrollPaneUI
  • JDK-8033069 client-libs javax.swing mouse wheel scroll closes combobox popup
  • JDK-8041470 client-libs javax.swing JButtons stay pressed after they have lost focus if you use the mouse wheel
  • JDK-8041642 client-libs javax.swing Incorrect paint of JProgressBar in Nimbus LF
  • JDK-8041654 client-libs javax.swing OutOfMemoryError: RepaintManager doesn't clean up cache of volatile images
  • JDK-8044444 client-libs javax.swing The output's 'Page-n' footer does not show completely.
  • JDK-8048289 client-libs javax.swing Gtk: call to UIManager.getSystemLookAndFeelClassName() leads to crash
  • JDK-8051617 client-libs javax.swing Fullscreen mode is not working properly on Xorg
  • JDK-8064939 client-libs javax.swing SwingSet2: Themes are incorrectly enabled when running with Nimbus Look and feel
  • JDK-8071705 client-libs javax.swing Java application menu misbehaves when running multiple screen stacked vertically
  • JDK-8072448 client-libs javax.swing Can not input Japanese in JTextField on RedHat Linux
  • JDK-8073795 client-libs javax.swing JMenuBar looks bad under retina
  • JDK-8074956 client-libs javax.swing ArrayIndexOutOfBoundsException in javax.swing.text.html.parser.ContentModel.first()
  • JDK-8080628 client-libs javax.swing No mnemonics on Open and Save buttons in JFileChooser
  • JDK-8066504 core-libs GetVersionEx in java.base/windows/native/libjava/java_props_md.c might not get correct Windows version
  • JDK-8068580 core-libs JavaAdapterFactory.isAutoConvertibleFromFunction should be more robust
  • JDK-8074657 core-libs Missing space on a boundary of concatenated strings
  • JDK-8081674 core-libs EmptyStackException at startup if running with extended or unsupported charset
  • JDK-8098547 core-libs (tz) Support tzdata2015e
  • JDK-8065372 core-libs java.lang Object.wait(ms, ns) timeout returns early
  • JDK-8067471 core-libs java.lang Use private static final char[0] for empty Strings
  • JDK-8067748 core-libs java.lang (process) Child is terminated when parent's console is closed [win]
  • JDK-8069302 core-libs java.lang Deprecate Unsafe monitor methods in JDK 8u release
  • JDK-8059455 core-libs java.lang.invoke LambdaForm.prepare() does unnecessary work for cached LambdaForms
  • JDK-8063137 core-libs java.lang.invoke Never taken branches should be pruned when GWT LambdaForms are shared
  • JDK-8069591 core-libs java.lang.invoke Customize LambdaForms which are invoked using MH.invoke/invokeExact
  • JDK-8071788 core-libs java.lang.invoke CountingWrapper.asType() is broken
  • JDK-8077054 core-libs java.lang.invoke DMH LFs should be customizeable
  • JDK-8078290 core-libs java.lang.invoke Customize adapted MethodHandle in MH.invoke() case
  • JDK-8064846 core-libs java.lang:reflect Lazy-init thread safety problems in core reflection
  • JDK-8066842 core-libs java.math java.math.BigDecimal.divide(BigDecimal, RoundingMode) produces incorrect result
  • JDK-8065994 core-libs java.net HTTP Tunnel connection to NTLM proxy reauthenticates instead of using keep-alive
  • JDK-8067680 core-libs java.net (sctp) Possible race initializing native IDs
  • JDK-8067846 core-libs java.net (sctp) InternalError when receiving SendFailedNotification
  • JDK-8068028 core-libs java.net JNI exception pending in jdk/src/solaris/native/java/net
  • JDK-8068795 core-libs java.net HttpServer missing tailing space for some response codes
  • JDK-8072384 core-libs java.net Setting IP_TOS on java.net sockets not working on unix
  • JDK-8077155 core-libs java.net LoginContext Subject ignored by jdk8 sun.net.www.protocol.http.HttpURLConnection
  • JDK-8080819 core-libs java.net Inet4AddressImpl regression caused by JDK-7180557
  • JDK-8064407 core-libs java.nio (fc) FileChannel transferTo should use TransmitFile on Windows
  • JDK-8068507 core-libs java.nio (fc) Rename the new jdk.net.enableFastFileTransfer system property to jdk.nio.enableFastFileTransfer
  • JDK-8071599 core-libs java.nio (so) Socket adapter sendUrgentData throws IllegalBlockingMode when channel configured non-blocking
  • JDK-8071447 core-libs java.nio.charsets IBM1166 Locale Request for Kazakh characters
  • JDK-8080248 core-libs java.nio.charsets Coding regression in HKSCS charsets
  • JDK-8081479 core-libs java.sql Backport JDBC tests from JDK 9 from test/java/sql and test/javax/sql to JDK 8u.
  • JDK-8074791 core-libs java.text Long-form date format incorrect month string for Finnish locale
  • JDK-8075173 core-libs java.text DateFormat in german locale returns wrong value for month march
  • JDK-8034906 core-libs java.time Fix typos, errors and Javadoc differences in java.time
  • JDK-8062796 core-libs java.time java.time.format.DateTimeFormatter error in API doc example
  • JDK-8062803 core-libs java.time principal' should be 'principle' in java.time package description
  • JDK-8075676 core-libs java.time java.time package javadoc typos
  • JDK-8075678 core-libs java.time java.time javadoc error in DateTimeFormatter::parsedLeapSecond
  • JDK-8081022 core-libs java.time java/time/test/java/time/format/TestZoneTextPrinterParser.java fails by timeout on slow device
  • JDK-8068790 core-libs java.util ZipEntry/JarEntry.setCreation/LastAccessTime(null) don't throw NPE as specified
  • JDK-8072909 core-libs java.util TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays
  • JDK-8068432 core-libs java.util.concurrent Inconsistent exception handling in CompletableFuture.thenCompose
  • JDK-8078490 core-libs java.util.concurrent Missed submissions in ForkJoinPool
  • JDK-8080623 core-libs java.util.concurrent CPU overhead in FJ due to spinning in awaitWork
  • JDK-8085978 core-libs java.util.concurrent LinkedTransferQueue.spliterator can report LTQ.Node object, not T
  • JDK-8068338 core-libs java.util.jar Better message about incompatible zlib in Deflater.init
  • JDK-8073497 core-libs java.util.jar Lazy conversion of ZipEntry time
  • JDK-8076641 core-libs java.util.jar getNextEntry throws ArrayIndexOutOfBoundsException when unzipping file
  • JDK-8129120 core-libs java.util.stream Terminal operation properties should not be back-propagated to upstream operations
  • JDK-7044727 core-libs java.util:i18n (tz) TimeZone.getDefault() call returns incorrect value in Windows terminal session
  • JDK-8055088 core-libs java.util:i18n Optimization for locale resources loading isn't working
  • JDK-8072602 core-libs java.util:i18n Unpredictable timezone on Windows when OS's timezone is not found in tzmappings
  • JDK-8074350 core-libs java.util:i18n Support ISO 4217 "Current funds codes" table (A.2)
  • JDK-8075548 core-libs java.util:i18n SimpleDateFormat formatting of "LLLL" in English is incorrect; should be identical to "MMMM"
  • JDK-8076287 core-libs java.util:i18n Performance degradation observed with TimeZone Benchmark
  • JDK-6991580 core-libs javax.naming IPv6 Nameservers in resolv.conf throws NumberFormatException
  • JDK-7011441 core-libs javax.naming ./jndi/ldap/Connection.java needs to avoid spurious wakeup
  • JDK-8074761 core-libs javax.naming Empty optional parameters of LDAP query are not interpreted as empty
  • JDK-8062030 core-libs javax.script Nashorn bug retrieving array property after key string concatenation
  • JDK-8068279 core-libs javax.script (typo in the spec) javax.script.ScriptEngineFactory.getLanguageName
  • JDK-8068462 core-libs javax.script javax.script.ScriptEngineFactory.getParameter spec is not completely consistent with the rest of the API
  • JDK-8068872 core-libs javax.script Nashorn JSON.parse drops numeric keys
  • JDK-8071928 core-libs javax.script Instance properties with getters returning wrong values
  • JDK-8072002 core-libs javax.script The spec on javax.script.Compilable contains a typo and confusing inconsistency
  • JDK-8073846 core-libs javax.script Javascript for-in loop returned extra keys
  • JDK-8059411 core-libs javax.sql RowSetWarning does not correctly chain warnings
  • JDK-8062198 core-libs javax.sql Add RowSetMetaDataImpl Tests and add column range validation to isdefinitlyWritable
  • JDK-8066188 core-libs javax.sql BaseRowSet returns the wrong default value for escape processing
  • JDK-8007456 core-libs jdk.nashorn Nashorn test framework @argument does not handle quoted strings
  • JDK-8012190 core-libs jdk.nashorn Global scope should be initialized lazily
  • JDK-8035712 core-libs jdk.nashorn Investigate if RuntimeCallSite linkage can be removed
  • JDK-8049300 core-libs jdk.nashorn jjs scripting: need way to quote $EXEC command arguments to protect spaces
  • JDK-8053905 core-libs jdk.nashorn Eager code generation fails for earley boyer with split threshold set to 1000
  • JDK-8066407 core-libs jdk.nashorn Function with same body not reparsed after SyntaxError
  • JDK-8066773 core-libs jdk.nashorn JSON-friendly wrapper for objects
  • JDK-8067139 core-libs jdk.nashorn Finally blocks inlined incorrectly
  • JDK-8067215 core-libs jdk.nashorn Disable dual fields when not using optimistic types
  • JDK-8067420 core-libs jdk.nashorn BrowserJSObjectLinker should give priority to beans linker for property get/set
  • JDK-8067636 core-libs jdk.nashorn ant javadoc target is broken
  • JDK-8067774 core-libs jdk.nashorn Local variable type calculation mismatch
  • JDK-8067854 core-libs jdk.nashorn bound java static method throws NPE when 'null' is used for this argument
  • JDK-8067880 core-libs jdk.nashorn Dead typed push methods in ArrayData
  • JDK-8067931 core-libs jdk.nashorn Improve error message when with statement is passed a POJO
  • JDK-8068431 core-libs jdk.nashorn @since and @jdk.Exported are missing in jdk.nashorn.api.scripting classes and package-info.java files
  • JDK-8068524 core-libs jdk.nashorn NashornScriptEngineFactory.getParameter() throws IAE for an unknown key, doesn't conform to the general spec
  • JDK-8068603 core-libs jdk.nashorn NashornScriptEngine.put/get() impls don't conform to NPE, IAE spec assertions
  • JDK-8068784 core-libs jdk.nashorn Halve the function object creation code size
  • JDK-8068985 core-libs jdk.nashorn Wrong 'this' bound to eval call within a function when caller's 'this' is a Java object
  • JDK-8071989 core-libs jdk.nashorn NashornScriptEngine returns javax.script.ScriptContext instance with insonsistent get/remove methods behavior for undefined attributes
  • JDK-8071991 core-libs jdk.nashorn Build errors in 8u-dev after backporting JDK-8067139 and JDK-8066232
  • JDK-8072000 core-libs jdk.nashorn New compiler warning after JDK-8067139
  • JDK-8072426 core-libs jdk.nashorn Can't compare Java enums to strings
  • JDK-8072595 core-libs jdk.nashorn nashorn should not use obj.getClass() for null checks
  • JDK-8072596 core-libs jdk.nashorn Arrays.asList results in ClassCastException with a JS array
  • JDK-8072626 core-libs jdk.nashorn Test for JDK-8068872 fails in tip
  • JDK-8072853 core-libs jdk.nashorn SimpleScriptContext used by NashornScriptEngine doesn't completely complies to the spec regarding exception throwing
  • JDK-8073707 core-libs jdk.nashorn const re-assignment should not reported as a "early error"
  • JDK-8073868 core-libs jdk.nashorn Regex matching causes java.lang.ArrayIndexOutOfBoundsException: 64
  • JDK-8074021 core-libs jdk.nashorn Indirect eval fails when used as an element of an array or as a property of an object
  • JDK-8074031 core-libs jdk.nashorn Canonicalize "is a JS string" tests
  • JDK-8074410 core-libs jdk.nashorn Startup time: Port shell.js to Java
  • JDK-8074484 core-libs jdk.nashorn More aggressive value discarding
  • JDK-8074487 core-libs jdk.nashorn Static analysis of IfNode should consider terminating branches
  • JDK-8074687 core-libs jdk.nashorn Add tests for JSON parsing of numeric keys
  • JDK-8075006 core-libs jdk.nashorn Threads spinning infinitely in WeakHashMap.get running test262parallel
  • JDK-8075090 core-libs jdk.nashorn Add tests for the basic failure of try/finally compilation
  • JDK-8075231 core-libs jdk.nashorn Typed array setters are very slow when index exceeds capacity
  • JDK-8075366 core-libs jdk.nashorn Slow scope access to global let/const does not work
  • JDK-8075604 core-libs jdk.nashorn jjs exits even when non-daemon threads are still active
  • JDK-8075927 core-libs jdk.nashorn toNumber(String) accepts illegal characters
  • JDK-8076646 core-libs jdk.nashorn nashorn tests should avoid using package names used by nashorn sources
  • JDK-8076972 core-libs jdk.nashorn Several nashorn tests failing
  • JDK-8077955 core-libs jdk.nashorn Undeclared globals in eval code should not be handled as fast scope
  • JDK-8078049 core-libs jdk.nashorn Nashorn crashes when attempting to start TypeScript compiler
  • JDK-8078414 core-libs jdk.nashorn Don't create impossible converters for ScriptObjectMirror
  • JDK-8078612 core-libs jdk.nashorn Persistent code cache should support more configurations
  • JDK-8079145 core-libs jdk.nashorn jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
  • JDK-8079269 core-libs jdk.nashorn Optimistic rewrite in object literal causes ArrayIndexOutOfBoundsException
  • JDK-8079349 core-libs jdk.nashorn Eliminate dead code around Nashorn code generator
  • JDK-8079362 core-libs jdk.nashorn Enforce best practices for Node token API usage
  • JDK-8079424 core-libs jdk.nashorn Code generator emits an extra POP for discarded boolean logical operation
  • JDK-8079470 core-libs jdk.nashorn Misleading error message when explicit signature constructor is called with wrong arguments
  • JDK-8080087 core-libs jdk.nashorn Nashorn $ENV.PWD is originally undefined
  • JDK-8080090 core-libs jdk.nashorn -d option should dump script source as well
  • JDK-8080275 core-libs jdk.nashorn transparently download testng.jar for Nashorn testing
  • JDK-8080286 core-libs jdk.nashorn use path separator setting consistently in Nashorn project properties
  • JDK-8080471 core-libs jdk.nashorn fix usage of replace and file separator in Nashorn tests
  • JDK-8080490 core-libs jdk.nashorn add $EXECV command to Nashorn scripting mode
  • JDK-8080598 core-libs jdk.nashorn Javadoc warnings in Global.java after lazy initialization
  • JDK-8080848 core-libs jdk.nashorn delete of bound Java method property results in crash
  • JDK-8081015 core-libs jdk.nashorn Allow conversion of native arrays to Queue and Collection
  • JDK-8081062 core-libs jdk.nashorn ListAdapter should take advantage of JSObject
  • JDK-8081156 core-libs jdk.nashorn jjs "nashorn.args" system property is not effective when script arguments are passed
  • JDK-8081204 core-libs jdk.nashorn ListAdapter throws NPE when adding/removing elements outside of JS context
  • JDK-8081603 core-libs jdk.nashorn erroneous dot file generated from Nashorn --print-code
  • JDK-8081604 core-libs jdk.nashorn rename ScriptingFunctions.tokenizeCommandLine
  • JDK-8081609 core-libs jdk.nashorn engine.eval call from a java method which was called from a previous engine.eval results in wrong ScriptContext being used.
  • JDK-8081668 core-libs jdk.nashorn fix Nashorn ant externals command
  • JDK-8081696 core-libs jdk.nashorn reduce dependency of Nashorn tests on external components
  • JDK-8081809 core-libs jdk.nashorn Missing final modifier in method parameters (nashorn code convention)
  • JDK-8081813 core-libs jdk.nashorn JSONListAdapter should delegate its [[DefaultValue]] to wrapped object
  • JDK-8085802 core-libs jdk.nashorn Nashorn -nse option causes parse error on anonymous function definition
  • JDK-8085810 core-libs jdk.nashorn Return value of Objects.requireNonNull call can be used
  • JDK-8085885 core-libs jdk.nashorn address Javadoc warnings in Nashorn source code
  • JDK-8085937 core-libs jdk.nashorn add autoimports sample script to easily explore Java classes in interactive mode
  • JDK-8087136 core-libs jdk.nashorn regression: apply on $EXEC fails with ClassCastException
  • JDK-8087211 core-libs jdk.nashorn Indirect evals should be strict with -strict option
  • JDK-8098546 core-libs jdk.nashorn eval within a 'with' leaks definitions into global scope
  • JDK-8098578 core-libs jdk.nashorn Global scope is not accessible with indirect load call
  • JDK-8098807 core-libs jdk.nashorn Strict eval throws ClassCastException with large scripts
  • JDK-8098808 core-libs jdk.nashorn Convert Scope from interface to class
  • JDK-8098847 core-libs jdk.nashorn obj."prop" and obj.'prop' should result in SyntaxError
  • JDK-8117883 core-libs jdk.nashorn nasgen prototype, instance member count calculation is wrong
  • JDK-8129410 core-libs jdk.nashorn Java adapters with class-level overrides should preserve variable arity constructors
  • JDK-4505697 core-svc debugger nsk/jdi/ExceptionEvent/_itself_/exevent006 and exevent008 tests fail with InvocationTargetException
  • JDK-8071657 core-svc debugger JDI ObjectReferenceImpl.invokeMethod() validation fails for virtual invocations of method with declaring type being an interface
  • JDK-6712222 core-svc java.lang.management Race condition in java/lang/management/ThreadMXBean/AllThreadIds.java
  • JDK-8048050 core-svc javax.management Agent NullPointerException when rmi.port in use
  • JDK-8064331 core-svc javax.management JavaSecurityAccess.doIntersectionPrivilege() drops the information about the domain combiner of the stack ACC
  • JDK-8071687 core-svc tools AIX port of "8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework"
  • JDK-6554593 deploy Java Control Panel accessibility problem with labels and text fields
  • JDK-7017683 deploy java.com link in some of the dialogs are not accessible
  • JDK-8023324 deploy With expired or selfsigned DeploymentRuleSet, not hint is provied in JCP Rule Set dialog.
  • JDK-8024156 deploy DRS: The messaging for invalid rule set jar is not explicit.
  • JDK-8046790 deploy echo elements in ruleset.xml
  • JDK-8047698 deploy Clicking cancel on security dialog for preloader clears the DeniedCertStore
  • JDK-8049999 deploy DRS: Want customizable message in case of application blocking if only default rule is specified
  • JDK-8067171 deploy [parfait] File Handle Leak in configcache_pd.c
  • JDK-8068456 deploy Revert project file accidentally pushed
  • JDK-8069275 deploy The text location of "More information" overlap with "code" in mixed code dialog
  • JDK-8072431 deploy Unit test failures: JNLPClassloaderTest, JNLP2ClassLoaderTest
  • JDK-8074105 deploy Remove support for downloaded JavaFX classes
  • JDK-8074402 deploy Add DRS rules block to Java Usage Tracker records.
  • JDK-8074961 deploy Ensure JFR options could be passed to webstart app by specifying VM arguments in the JCP
  • JDK-8078534 deploy DRS 1.2: checksum algorithm needs to be restricted to SHA-256
  • JDK-8022268 deploy deployment_toolkit DRS: Unable to include escaped characters in message
  • JDK-8075179 deploy deployment_toolkit Test jnlp_file/applicationDesc/index.html#args fails with incorrect arg value
  • JDK-8131321 deploy packager 8u60 Windows 64-bit packager - install succeeds but application fails to start
  • JDK-8035582 deploy plugin DeploymentRuleSet on run action
  • JDK-8058474 deploy plugin Applet is not started in IE on dynamic insertion into a web page
  • JDK-8059622 deploy plugin Java Console GUI is irresponsive in JRE 8u20 on OS X
  • JDK-8061642 deploy plugin Plugin missing MIME type registration for application/x-java-applet;version=1.8
  • JDK-8069161 deploy plugin Slow cache performance since JRE 7u06
  • JDK-8074481 deploy plugin [macosx] Menu items are appearing on top of other windows
  • JDK-8074482 deploy plugin [macosx] Menu items disappear and redrawn quickly when moving mouse into applet frame
  • JDK-8077855 deploy plugin When applet is relaunched, extra JUT records can be sent
  • JDK-8079677 deploy plugin fix to JDK-8078534 removed part of fix to JDK-8076220
  • JDK-8080123 deploy plugin StringIndexOutOfBoundsException in CertUtils.checkWildcardDomain
  • JDK-8080955 deploy plugin embedded_jnlp param requires also code or jnlp_href param or applet arg.
  • JDK-8081330 deploy plugin The applet thrown NullPointerException when loading it
  • JDK-8042632 deploy webstart Application with Signed JNLP cannot pass accented characters in
  • JDK-8051030 deploy webstart Web Start applet process fails to exit
  • JDK-8066985 deploy webstart Java Webstart downloading packed files can result in Timezone set to UTC
  • JDK-8067172 deploy webstart Xcode javaws Project to Debug Native Code
  • JDK-8068187 deploy webstart Fix Xcode project
  • JDK-8068531 deploy webstart Netbeans javaws Project to Debug Native Code
  • JDK-8068939 deploy webstart Visual Studio javaws Project to Debug Native Code
  • JDK-8072003 deploy webstart NPE (instead of proper error dialog) thrown when some jnlp files have no resources
  • JDK-8072999 deploy webstart DRS certificate based rule does not match with Java WS Application compressed by pack200
  • JDK-8077285 deploy webstart jnlp spec version 8.20 is not supported
  • JDK-8077649 deploy webstart jnlp "codebase" attribute has been made mandatory
  • JDK-8077925 deploy webstart Jnlp fails to load with CouldNotLoadArgumentException after JDK-8075179
  • JDK-8078893 deploy webstart cert based run rule doesn't work when running offline
  • JDK-8080607 deploy webstart Web Start does not honor height / width % values
  • JDK-8080785 deploy webstart remove dead code to donwload JavaFX on demand.
  • JDK-8080774 globalization DateFormat for Singapore/English locale (en_SG) is M/d/yy instead of d/M/yy
  • JDK-8072453 globalization translation [de,fr,pt_BR,sv] duplicate mnemonics in JCP security tab.
  • JDK-8072589 globalization translation [windows 8] S. Chinese quotation mark needs to be replaced by English quotation mark
  • JDK-8079361 globalization translation Broken Localization Strings (XMLSchemaMessages_de.properties)
  • JDK-8083601 globalization translation jdk8u60 l10n resource file translation update 2
  • JDK-8075798 hotspot Allow ADLC register class to depend on runtime conditions also for cisc-spillable classes
  • JDK-8006960 hotspot compiler hotspot, "impossible" assertion failure
  • JDK-8036851 hotspot compiler volatile double accesses are not explicitly atomic in C2
  • JDK-8036913 hotspot compiler make DeoptimizeALot dependent on number of threads
  • JDK-8037140 hotspot compiler C1: Incorrect argument type used for SharedRuntime::OSR_migration_end in LIRGenerator::do_Goto
  • JDK-8060036 hotspot compiler C2: CmpU nodes can end up with wrong type information
  • JDK-8062280 hotspot compiler C2: inlining failure due to access checks being too strict
  • JDK-8062591 hotspot compiler SPARC PICL causes significantly longer startup times
  • JDK-8065915 hotspot compiler Fix includes after 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
  • JDK-8068881 hotspot compiler SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.
  • JDK-8068909 hotspot compiler SIGSEGV in c2 compiled code with OptimizeStringConcat
  • JDK-8068915 hotspot compiler C2: uncommon trap w/ Reason_speculate_class_check causes performance regression due to continuous deoptimizations
  • JDK-8068945 hotspot compiler Use RBP register as proper frame pointer in JIT compiled code on x86
  • JDK-8069263 hotspot compiler assert(fm == NULL || fm->method_holder() == _participants[n]) failed: sanity
  • JDK-8071302 hotspot compiler assert(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo],def)) failed: after block local scheduling
  • JDK-8071534 hotspot compiler assert(!failing()) failed: Must not have pending failure. Reason is: out of memory
  • JDK-8072383 hotspot compiler resolve conflicts between open and closed ports
  • JDK-8072753 hotspot compiler Nondeterministic wrong answer on arithmetic
  • JDK-8074548 hotspot compiler Never-taken branches cause repeated deopts in MHs.GWT case
  • JDK-8074551 hotspot compiler GWT can be marked non-compilable due to deopt count pollution
  • JDK-8074869 hotspot compiler C2 code generator can replace -0.0f with +0.0f on Linux
  • JDK-8075587 hotspot compiler Compilation of constant array containing different sub classes crashes the JVM
  • JDK-8076523 hotspot compiler assert(((ABS(iv_adjustment_in_bytes) % elt_size) == 0)) fails in superword.cpp
  • JDK-8077504 hotspot compiler Unsafe load can loose control dependency and cause crash
  • JDK-8078113 hotspot compiler 8011102 changes may cause incorrect results.
  • JDK-8078482 hotspot compiler ppc: pass thread to throw_AbstractMethodError
  • JDK-8078497 hotspot compiler C2's superword optimization causes unaligned memory accesses
  • JDK-8078666 hotspot compiler JVM fastdebug build compiled with GCC 5 asserts with "widen increases"
  • JDK-8078866 hotspot compiler compiler/eliminateAutobox/6934604/TestIntBoxing.java assert(p_f->Opcode() == Op_IfFalse) failed
  • JDK-8079343 hotspot compiler Crash in PhaseIdealLoop with "assert(!had_error) failed: bad dominance"
  • JDK-8080012 hotspot compiler JVM times out with vdbench on SPARC M7-16
  • JDK-8080156 hotspot compiler Integer.toString(int value) sometimes throws NPE
  • JDK-8080190 hotspot compiler PPC64: Fix wrong rotate instructions in the .ad file
  • JDK-8080281 hotspot compiler 8068945 changes break building the zero JVM variant
  • JDK-7176220 hotspot gc Full GC' events miss date stamp information occasionally
  • JDK-8027962 hotspot gc Per-phase timing measurements for strong roots processing
  • JDK-8031686 hotspot gc G1: assert(_hrs.max_length() == _expansion_regions) failed
  • JDK-8033440 hotspot gc jmap reports unexpected used/free size of concurrent mark-sweep generation
  • JDK-8048179 hotspot gc Early reclaim of large objects that are referenced by a few objects
  • JDK-8049536 hotspot gc os::commit_memory on Solaris uses aligment_hint as page size
  • JDK-8049864 hotspot gc TestParallelHeapSizeFlags fails with unexpected heap size
  • JDK-8051837 hotspot gc Remove temporary G1UseParallelRSetUpdating and G1UseParallelRSetScanning flags
  • JDK-8053998 hotspot gc Hot card cache flush chunk size too coarse grained
  • JDK-8057037 hotspot gc Verification in ClassLoaderData::is_alive is too slow
  • JDK-8058354 hotspot gc SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29
  • JDK-8058801 hotspot gc G1TraceReclaimDeadHumongousObjectsAtYoungGC only prints humongous object liveness output when there is at least one candidate humongous object
  • JDK-8060025 hotspot gc Object copy time regressions after JDK-8031323 and JDK-8057536
  • JDK-8061259 hotspot gc ParNew promotion failed is serialized on a lock
  • JDK-8061630 hotspot gc G1 iterates over JNIHandles two times
  • JDK-8062672 hotspot gc JVM crashes during GC on various asserts which checks that HeapWord ptr is an oop
  • JDK-8064473 hotspot gc Improved handling of age during object copy in G1
  • JDK-8065358 hotspot gc Refactor G1s usage of save_marks and reduce related races
  • JDK-8066771 hotspot gc Refactor VM GC operations caused by allocation failure
  • JDK-8067469 hotspot gc G1 ignores AlwaysPreTouch
  • JDK-8067655 hotspot gc Clean up G1 remembered set oop iteration
  • JDK-8068036 hotspot gc assert(is_available(index)) failed in G1 cset
  • JDK-8069273 hotspot gc Decrease Hot Card Cache Lock contention
  • JDK-8069367 hotspot gc Eagerly reclaimed humongous objects left on mark stack
  • JDK-8069760 hotspot gc When iterating over a card, G1 often iterates over much more references than are contained in the card
  • JDK-8073944 hotspot gc Simplify ArgumentsExt and remove unneeded functionallity
  • JDK-8074037 hotspot gc Refactor the G1GCPhaseTime logging to make it easier to add new phases
  • JDK-8074561 hotspot gc Wrong volatile qualifier for field ClassLoaderDataGraphKlassIteratorAtomic::_next_klass
  • JDK-8075210 hotspot gc Refactor strong root processing in order to allow G1 to evolve separately from GenCollectedHeap
  • JDK-8075215 hotspot gc SATB buffer processing found reclaimed humongous object
  • JDK-8075466 hotspot gc SATB queue pre-filter verify found reclaimed humongous object
  • JDK-8076265 hotspot gc Simplify deal_with_reference
  • JDK-8077255 hotspot gc TracePageSizes output reports wrong page size on Windows with G1
  • JDK-8078021 hotspot gc SATB apply_closure_to_completed_buffer should have closure argument
  • JDK-8078023 hotspot gc verify_no_cset_oops found reclaimed humongous object in SATB buffer
  • JDK-8085965 hotspot gc VM hangs in C2Compiler
  • JDK-8086111 hotspot gc BACKOUT - metaspace/shrink_grow/CompressedClassSpaceSize fails with OOM: Compressed class space
  • JDK-8087200 hotspot gc Code heap does not use large pages
  • JDK-8129108 hotspot gc nmethod related crash in CMS
  • JDK-6584008 hotspot jvmti jvmtiStringPrimitiveCallback should not be invoked when string value is null
  • JDK-8013942 hotspot jvmti JSR 292: assert(type() == T_OBJECT) failed: type check
  • JDK-8042796 hotspot jvmti jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
  • JDK-8046246 hotspot jvmti the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
  • JDK-8067662 hotspot jvmti "java.lang.NullPointerException: Method name is null" from StackTraceElement.
  • JDK-8073705 hotspot jvmti more performance issues in class redefinition
  • JDK-8076579 hotspot jvmti Popping a stack frame after exception breakpoint sets last method param to exception
  • JDK-6536943 hotspot runtime Bogus -Xcheck:jni warning for SIG_INT action for SIGINT in JVM started from non-interactive shell
  • JDK-7127066 hotspot runtime Class verifier accepts an invalid class file
  • JDK-8027914 hotspot runtime Client JVM silently exit with fail exit code when running in compact(1,2) with options -Dcom.sun.management and -XX:+ManagementServer
  • JDK-8043224 hotspot runtime -Xcheck:jni improvements to exception checking and excessive local refs
  • JDK-8046668 hotspot runtime Excessive checked JNI warnings from Java startup
  • JDK-8047382 hotspot runtime hotspot build failed with gcc version Red Hat 4.4.6-4
  • JDK-8051045 hotspot runtime HotSpot fails to wrap Exceptions from invokedynamic in a BootstrapMethodError
  • JDK-8053995 hotspot runtime Add method to WhiteBox to get vm pagesize.
  • JDK-8055231 hotspot runtime ZERO variant build is broken
  • JDK-8058345 hotspot runtime Refactor native stack printing from vmError.cpp to debug.cpp to make it available in gdb as well
  • JDK-8058935 hotspot runtime CPU detection gives 0 cores per cpu, 2 threads per core in Amazon EC2 environment
  • JDK-8064815 hotspot runtime Zero+PPC64: Stack overflow when running Maven
  • JDK-8066875 hotspot runtime VirtualSpace does not use large pages
  • JDK-8067231 hotspot runtime Zero builds fails after JDK-6898462
  • JDK-8067331 hotspot runtime Zero: Atomic::xchg and Atomic::xchg_ptr need full memory barrier
  • JDK-8069412 hotspot runtime Locks need better debug-printing support
  • JDK-8071501 hotspot runtime perfMemory_solaris.cpp failing to compile with "Error: dd_fd is not a member of DIR."
  • JDK-8072588 hotspot runtime JVM crashes in JNI if toString is declared as an interface method
  • JDK-8072863 hotspot runtime Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath
  • JDK-8075118 hotspot runtime JVM stuck in infinite loop during verification
  • JDK-8076212 hotspot runtime AllocateHeap() and ReallocateHeap() should be inlined.
  • JDK-8077674 hotspot runtime BSD build failures due to undefined macros
  • JDK-8078470 hotspot runtime [Linux] Replace syscall use in os::fork_and_exec with glibc fork() and execve()
  • JDK-8025636 hotspot svc Hide lambda proxy frames in stacktraces
  • JDK-8044416 hotspot svc serviceability/sa/jmap-hashcode/Test8028623.java fails with AssertionFailure: can not get class data for java/lang/UNIXProcess$Platform$$Lambda
  • JDK-8044531 hotspot svc Event based tracing locks to rank as leafs where possible
  • JDK-8046282 hotspot svc SA update
  • JDK-8049881 hotspot svc jstack not working on core files
  • JDK-8053902 hotspot svc Fix for 8030115 breaks build on Windows and Solaris
  • JDK-8069030 hotspot svc support new PTRACE_GETREGSET
  • JDK-8072932 hotspot svc Test fails with java.security.AccessControlException: access denied ("java.security.SecurityPermission" "getDomainCombiner")
  • JDK-8073688 hotspot svc Infinite loop reading types during jmap attach.
  • JDK-8075331 hotspot svc jdb eval java.util.Arrays.asList(array) shows inconsistent behaviour
  • JDK-8081475 hotspot svc SystemTap does not work when JDK is compiled with GCC 5
  • JDK-8080600 hotspot test AARCH64: testlibrary does not support AArch64
  • JDK-8067630 install [mac os x] Update '3 Billion Devices' Advert on SetupProgress Dialog
  • JDK-8072868 install 8u20 and later should not change the MSI UpgradeCode for each JRE version
  • JDK-8076982 install Create HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\ registry keys with msi.
  • JDK-8078310 install [macosx] StagedXML is missing
  • JDK-8081423 install Improve naming consistency in make/installer/bundles/macosx/Makefile
  • JDK-8056992 install auto_update [AU]The auto update window does not read the tag of au-descriptor.xml file to set the "More information" link
  • JDK-8058929 install auto_update [de, fr, it, ko, pt_BR, sv] Layout issue (truncation) in AUWelcome dialog
  • JDK-8071490 install auto_update JDK9 nightly build from 01/23 failed
  • JDK-8071838 install auto_update Add files skipped from the fix to JDK-8071490 by mistake
  • JDK-6580611 install install Install dialogs look bad on Windows when display is set to high DPI
  • JDK-6745371 install install MSI/MST files should be deleted after install
  • JDK-7198599 install install Incorrect UninstallString windows register key in JDK 1.6, 1.7 and 8
  • JDK-8049608 install install HtmlUI: "Change destination folder" checkbox in WelcomeDialog is not accessible by mouse
  • JDK-8049614 install install HtmlUI: checkbox text labels should be clickable
  • JDK-8072940 install install 8u60 nightly solaris_sparcv9_5.10-product build fails
  • JDK-8075409 install install jre8-40 fails to install on SuSE 11.3
  • JDK-8050123 other-libs corba Incorrect property name documented in CORBA InputStream API
  • JDK-8068721 other-libs corba RMI-IIOP communication fails when ConcurrentHashMap is passed to remote method
  • JDK-8081590 performance The CDS classlist needs to be updated for 8u60
  • JDK-8054037 security-libs java.security Improve tracing for java.security.debug=certpath
  • JDK-8058547 security-libs java.security Memory leak in ProtectionDomain cache
  • JDK-8062264 security-libs java.security KeychainStore requires non-null password to be supplied when retrieving a private key
  • JDK-8062552 security-libs java.security Support keystore type detection for JKS and PKCS12 keystores
  • JDK-8077418 security-libs java.security StackOverflowError during PolicyFile lookup
  • JDK-8079129 security-libs java.security NullPointerException in PKCS#12 Keystore in PKCS12KeyStore.java
  • JDK-7065233 security-libs javax.crypto To interpret case-insensitive string locale independently
  • JDK-8069072 security-libs javax.crypto Improve GHASH performance
  • JDK-8080102 security-libs javax.crypto Java 8 cannot load its cacerts in FIPS. no such provider: SunEC
  • JDK-8062170 security-libs javax.crypto:pkcs11 java.security.ProviderException: Error parsing configuration with space
  • JDK-8055207 security-libs javax.net.ssl keystore and truststore debug output could be much better
  • JDK-8059588 security-libs javax.net.ssl deadlock in java/io/PrintStream when verbose java.security.debug flags are set
  • JDK-8072385 security-libs javax.net.ssl Only the first DNSName entry is checked for endpoint identification
  • JDK-8076221 security-libs javax.net.ssl Disable RC4 cipher suites
  • JDK-8077102 security-libs org.ietf.jgss:krb5 dns_lookup_realm should be false by default
  • JDK-8068937 tools jdeps shows "not found" if target class has no reference other than its own package
  • JDK-8080815 tools Update 8u jdeps list of internal APIs
  • JDK-8028389 tools javac NullPointerException compiling annotation values that have bodies
  • JDK-8037546 tools javac javac -parameters does not emit parameter names for lambda expressions
  • JDK-8039262 tools javac Java compiler performance degradation jdk1.7 vs. jdk1.6 should be amended
  • JDK-8054220 tools javac Debugger doesn't show variables *outside* lambda
  • JDK-8055963 tools javac Inference failure with nested invocation
  • JDK-8058227 tools javac Debugger has no access to outer variables inside Lambda
  • JDK-8061778 tools javac Wrong LineNumberTable for default constructors
  • JDK-8064803 tools javac Javac erroneously uses instantiated signatures when merging abstract most-specific methods
  • JDK-8064857 tools javac javac generates LVT entry with length 0 for local variable
  • JDK-8066808 tools javac langtools/test/Makefile should not use OS-specific jtreg binary
  • JDK-8068489 tools javac remove unnecessary complexity in Flow and Bits, after JDK-8064857
  • JDK-8068517 tools javac Compiler may generate wrong InnerClasses attribute for static enum reference
  • JDK-8068639 tools javac Make certain annotation classfile warnings opt-in
  • JDK-8069181 tools javac java.lang.AssertionError when compiling JDK 1.4 code in JDK 8
  • JDK-8069545 tools javac javac, shouldn't check nested stuck lambdas during overload resolution
  • JDK-8073372 tools javac Redundant CONSTANT_Class entry not generated for inlined constant
  • JDK-8075520 tools javac Varargs access check mishandles capture variables
  • JDK-8077786 tools javac Check varargs access against inferred signature
  • JDK-8078560 tools javac The crash reporting URL listed by javac needs to be updated
  • JDK-8079613 tools javac Deeply chained expressions + several overloads + unnecessary inference result in excessive compile times.
  • JDK-8080842 tools javac Using Lambda Expression with name clash results in ClassFormatError
  • JDK-8072461 tools javadoc(tool) Table's field width in "Use" page generated by javadoc with '-s' is unbalanced
  • JDK-8073972 tools launcher Deprecate Multi-Version Java Launcher (mJRE) for JDK8
  • JDK-8077822 tools launcher javac does not recognize '*.java' as file if '-J' option is specified
  • JDK-7156085 xml javax.xml.parsers ArrayIndexOutOfBoundsException throws in UTF8Reader of SAXParser
  • JDK-8062518 xml jaxp AIOBE occurs when accessing to document function in extended function in JAXP
  • JDK-8062924 xml jaxp XSL: wrong answer from substring() function
  • JDK-8081392 xml jaxp getNodeValue should return 'null' value for Element nodes

New in Java SE Development Kit (JDK) 9 Build 76 Early Access (Aug 8, 2015)

  • Summary of changes:
  • Add support for -release to Javadoc
  • Remove additional whitespace in G1Allocator
  • Missing klass.inline.hpp include in compiler files
  • aix: fix two minor issues: large page size and hs_err printing.
  • Uninitialised variable in hotspot/src/share/vm & cpu/x86/vm (runtime)
  • Some command line options not settable via JAVA_TOOL_OPTIONS
  • Contended Locking fast notify bucket
  • VM should constant fold Unsafe.get*() loads from final fields
  • Fixing bugs in detecting memory alignments in SuperWord
  • aarch64: test compiler/loopopts/superword/ProdRed_Float.java fails when run with debug VM
  • ppc: implement CRC32 intrinsic
  • Enable CheckIntrinsics in all types of builds
  • aarch64: illegal stlxr instructions
  • Fix warning 'negative int converted to unsigned' after 8085932.
  • EA fails with assert(false) failed: not unsafe or G1 barrier raw StoreP
  • jaxp: Investigate removal of com/sun/org/apache/bcel/internal/util/ClassPath.java
  • jaxp: Investigate removal of com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java
  • jimage tool extract and recreate options are not consistent
  • (bf) Buffer.position and other methods should include detail in IAE
  • Tests for AEAD ciphers
  • AIX: fix value of os.version property
  • Header Template for nroff man pages *.1 files contains errors
  • perfdata used is seen as too high on sparc zone with jdk1.9 and causes a test failure
  • Put LowMemoryTest.java in quarantine
  • Disposer.pollRemove may fail to dispose
  • [TEST_BUG] remove unnecessary internal calls from javax/swing/JRadioButton/8075609/bug8075609.java
  • Util.hitMnemonics does not work: getSystemMnemonicKeyCodes() returns ALT_MASK rather than VK_ALT
  • OGL: rendering of lcd text is slow
  • NSApplicationAWT.m:343:72: error: comparison of constant 777 with expression of type 'NSEventSubtype'
  • [PIT] Endless loop in JEditorPane
  • PlatformMidi.c:83 uses malloc without malloc header
  • [JTextField] When input too long Thai character, cursor's behavior is odd
  • DataFlavorComparator transitivity exception
  • [TEST_BUG] Test java/awt/BasicStroke/DashStrokeTest.java fails with Bad script error due to improper @run notation
  • [TEST_BUG]Test java/awt/FontClass/DebugFonts.java fails due to wrongly typed bugid
  • [TESTBUG] Test javax/swing/JFileChooser/8002077/bug8002077.java fails
  • [TEST_BUG] add @modules to some OS X-specific regtests
  • [Regression] Few Swing, AWT and 2D case fails with Decoder isn't implemented for WingDings Charset error on Windows
  • The regression-swing case failed as colored text is not shown on disabled checkbox and radio button with the special options "-client -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel".
  • Applet fails to launch on virtual desktop
  • [PIT] Test closed/... fails for Windows only
  • Check os.name before os.version in SunGraphicsEnvironment constructor
  • The commands in the modular images are executable by the owner only (once again)
  • (rb) Provide UTF-8 based properties resource bundles
  • move ScanTest.java into OpenJDK
  • Some command line options not settable via JAVA_TOOL_OPTIONS
  • [TEST_BUG] javax/management/mxbean/LeakTest.java misses MerlinMXBean & TigerMXBean in @run build tag
  • Mark intermittently failuring core-svc tests
  • Contended Locking fast notify bucket
  • com/sun/jdi/BreakpointTest.java fails with java.lang.IllegalArgumentException: Bad line number
  • ISO 4217 amendment 160
  • (prefs) Unused variable in src/java.prefs/share/classes/java/util/prefs/MacOSXPreferences.java
  • Optimize EnumMap.equals
  • ExceptionInInitializerError from 'java -version' on Linux under zh_CN.GB18030 locale
  • Refactor SharedSecrets in sun.misc.JavaNetAccess
  • Add support for -release to Javadoc
  • class InferenceContext should live in a separate file
  • test writes file in test source directory
  • Redundant error message on bad usage of 'class' literal
  • Access error when unboxing a primitive whose target is a type-variable in a different package
  • Syntactically meaningless code accepted by javac
  • Wrong indentation of arguments of annotated methods
  • fix incorrect title assignment in Nashorn JavaFX samples
  • Nashorn copyright has to be updated

New in Java SE Development Kit (JDK) 9 Build 75 Early Access (Aug 5, 2015)

  • policytool can directly reference permission classes
  • Remove use of sun.misc.Ref from hprof parser in testlibrary
  • Merge error in jprt.properties leads to missing devkit argument
  • GHASH 32bit intrinsics has AEADBadTagException
  • Vectorized loop unrolling
  • ppc: implement MultiplyToLen intrinsic
  • typos in ghash cpu message
  • minor bug fixes to LogCompilation tool
  • InnerClasses: VM permits wrong inner_class_info_index value of zero
  • VM prohibits methods with return values
  • Disable WorkAroundNPTLTimedWaitHang by default
  • SIGSEGV when copying to survivor space
  • serviceability/sa/TestStackTrace.java should be quarantined
  • thread dump improvements, comment additions, new diagnostics inspired by 8077392
  • StarvationMonitorInterval, PreInflateSpin, VerifyGenericSignatures and CountInterpCalls VM Options can be deprecated or removed in JDK 9
  • [TESTBUG] 32 bit Java 9-fastdebug hit assertion in client mode with StackShadowPages flag value from 32 to 50.
  • Remove hprof agent tests in hotspot repo
  • [TESTBUG] several runtime/ErrorHandling/* tests time out on Windows
  • Log what methods are touched at run-time
  • tmtools/jstack/locks/wait_interrupt and wait_notify fail due to wrong number of lock records
  • Numerous threads lock during XML processing while running Weblogic 12.1.3
  • Bad exception message in HandshakeHash.getFinishedHash
  • closed/sun/security/ssl/SSLSessionImpl/RemovedPrivateKey.java is failing
  • Tests for RFEs 4515853 and 4745056
  • Replace uses of MethodHandleImpl.castReference with Class.cast
  • policytool can directly reference permission classes
  • SecureClassLoader key for ProtectionDomain cache also needs to take into account certificates
  • Add beans tests to tier 3
  • ConcurrentHashMap/ConcurrentAssociateTest.java, times out 90% of time on sparc with 256 cpu.
  • Test java/nio/channels/ServerSocketChannel/AdaptServerSocket.java failed with SocketTimeoutException
  • Remove hprof agent tests in JDK
  • assert(handle != __null) failed: JNI handle should not be null' in jni_GetLongArrayElements
  • [TESTBUG] sun/management/HotspotRuntimeMBean/GetTotalSafepointTime.java needs to enable UsePerfData
  • Restore demo/jvmti tests
  • KDC might issue a renewable ticket even if not requested
  • Remove the intermittent keyword for this test
  • Need a way to read and write ZipEntry timestamp using local date/time without tz conversion
  • java/util/zip/TestExtraTime.java fails with "java.lang.RuntimeException: setTime should make getLastModifiedTime return the specified instant: 3078282244456 got: 3078282244455"
  • java/lang/invoke/MethodHandles/CatchExceptionTest Fails
  • Inference: NodeNotFoundException thrown with deep generic method call chain
  • Varargs function is recompiled each time it is linked
  • Delete fails over multiple scopes
  • late-bind check for testng.jar presence in Nashorn test execution

New in Java SE Development Kit (JDK) 9 Build 74 Early Access (Aug 5, 2015)

  • Revisit how to check for doclint reference warning during the build
  • Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
  • Remove jbb from jprt hotspot testset
  • Incorrect GPL header causes RE script to create wrong output
  • Refresh of jimage support
  • Need a NON-PCH build to quickly detect missing dependencies in the source base
  • [regression] Applet fails to load resources or connect back to server under some scenarios
  • Enhance IIOP operations
  • Implement BigInteger.montgomeryMultiply intrinsic
  • JVM times out with vdbench on SPARC M7-16
  • Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
  • Handling of SHA intrinsics inconsistent across platforms
  • ppc64le: Fix build of hsdis
  • Adapt runtime calls to recent intrinsics to pass ints as long
  • aarch64: add support for hardware crc32c
  • Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
  • Deprecate -Xoss, -Xsqnopause, -Xoptimize and -Xboundthreads options in JDK 9
  • [TESTBUG] runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java failed with double option
  • G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms
  • cleanup and minor extensions of the debugging facilities in CodeStrings
  • Incorrect GPL header causes RE script to create wrong output
  • Incorrect GPL header in README causes RE script to create wrong output
  • CollectedHeap::fill_with_objects() needs to use multiple arrays in 32 bit mode too
  • nmethod related crash in CMS
  • Refresh of jimage support
  • Implement a Semaphore utility class
  • Make error log write timeout parameter configurable
  • Remove LazyClassPathEntry support if no longer needed
  • Reduce Symbol::_identity_hash to 2 bytes
  • Fix problems with imprecise C++ coding.
  • backout 8087143 due to failures in 8130115
  • Preloading libjsig.dylib causes deadlock when signal() is called
  • Add trace event for G1 MMU information
  • Optionally Pre-Generate the HotSpot Template Interpreter
  • TestShrinkDefragmentedHeap.java runs out of memory
  • tests that requrie G1 should be excluded from execution on embedded platfomrs where g1 is not supported
  • Buffer overrun when passing long not existing option in JDK 9
  • Quarantine gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java
  • [TESTBUG] runtime FragmentMetaspaceSimple.java fails with java.lang.ClassNotFoundException: test.Empty
  • TestSummarizeRSetStats.java fails: Incorrect amount of per-period RSet summaries at the end
  • Coalesce dead objects during removal of self-forwarded pointers
  • REDO - Determining the desired PLAB size adjusts to the the number of threads at the wrong place
  • PSOldGen is increased if there is no space in Metaspace
  • Better scaling for C1
  • Method for typing MethodTypes
  • Sync-up javadoc changes in jax-ws area - includes JAX-B API, JAX-WS API, SAAJ-API
  • URLConnection::getContent needs to be updated to work with modules
  • JAAS Krb5LoginModule has suspect ticket-renewal logic, relies on clockskew grace
  • Add Stream dropWhile and takeWhile operations
  • TESTBUG: java/util/regex/RegExTest.java fails intermittently
  • HandshakeStatus.NEED_UNWRAP_AGAIN applies only to DTLS
  • TsacertOptionTest.java intermittently fails on Mac
  • Add test sun/security/pkcs11/rsa/TestKeyPairGenerator.java to the problem list
  • Deadlock with multimonitor fullscreen windows.
  • [PIT] Test closed/java/awt/FullScreen/DisplayMode/CycleDMImage.java switches Linux to the single device mode
  • Compilation errors with recent clang in awt_parseImage.c and splashscreen_sys.m
  • Clean up unused JNI fields and methods in imageInitIDs.h
  • Exception in thread "AWT-EventQueue-1" java.security.AccessControlException
  • [macosx] SunToolkit.realSync() may hang
  • Test closed/java/awt/Clipboard/ImageTransferTest/ImageTransferTest fails on OEL 7.1
  • The Textfield can't be shown after clicking "Show Textfield" button.
  • JTree drag/drop on lower half of last child of container incorrect.
  • splashscreen_png.c compile error with gcc 4.9.2
  • [TEST_BUG] add @modules to the several client tests unaffected by the automated bulk update
  • Remove support of pbuffers in OGL Java2d pipeline
  • Build fail on jdk9-client solaris-sparcv9
  • [TEST_BUG]Test javax/swing/plaf/basic/6866751/bug6866751.java fails
  • JRadioButton does not honor non-standard FocusTraversalKeys
  • Implement BigInteger.montgomeryMultiply intrinsic
  • Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
  • [TESTBUG] - com/sun/jdi/cds/*.java missing @build tag for libraries
  • Refresh of jimage support
  • javax/management/monitor/GaugeMonitorDeadlockTest.java timed out
  • Support Unicode 7.0.0 in JDK 9
  • Missing "@since 1.8" tags in j.l.Character.java
  • (process) ProcessHandle instances should define equals and be value-based
  • (process) ProcessHandle should uniquely identify processes
  • (process) ProcessHandle.isAlive should be robust
  • (process) java/lang/ProcessHandle/TreeTest test3 failure - Destroyed process.isAlive
  • Update tests to prepare for system class loader not be URLClassLoader
  • Image writer throws NPE when creating compact profile images
  • Improved certification checking
  • Getting to the root of certificate chains
  • Deprecate RC4 in SunJSSE provider
  • Presume path preparedness
  • Better font morphing redux
  • Tune font layout engine
  • Better font handling improvements
  • 2D_Font/Bug8067699 test fails with SIGBUS crash on Solaris Sparc
  • General crypto resilience changes
  • Improved font substitutions
  • Substitute for substitution formats
  • Set font anchors more solidly
  • Adjust device table handling
  • Better MBean connections
  • Even better MBean connections
  • JNDI DnsClient Exception Handling
  • Responding to OCSP responses
  • Restore the change to OCSPResponse in the fix for JDK-8074064
  • Proxy for MBean proxies
  • Prohibit RC4 cipher suites
  • Morph tables into improved form
  • Serialize OIS data
  • Improve serial serialization
  • Straighter Elliptic Curves
  • Better multi-JVM sharing
  • Enforce key exchange constraints
  • Add modified dates
  • Reinforce RMI framework
  • Test sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh test has RC4 dependencies
  • [regression] Applet fails to load resources or connect back to server under some scenarios
  • Implement tests for new functionality provided in JEP 166
  • DatagramChannel tests need to be hardended to ignore stray datagrams
  • Need basic tests for rmic
  • Need new regressions tests for buffer handling for PBE algorithms
  • Correct the JTREG tags in java/security/KeyStore/PKCS12/MetadataStoreLoadTest.java test
  • (bf spec) ByteBuffer.slice() should make it clear that the initial order is BIG_ENDIAN
  • Additional SASL client-server tests
  • Mark intermittently failing test: tools/pack200/PackTestZip64.java
  • Mark some tests from WhileOpStatefulTest.java and WhileOpTest.java as serialization hostile
  • Documentation of AbstractSpliterator refers to forEach rather than forEachRemaining
  • Some new tests developed for JDK-8085979 fail in jdk9/cpu
  • Additional tests for XML DSig API
  • Implement classfile tests for RuntimeAnnotations and RuntimeParameterAnnotations attribute.
  • some docs cleanup for langtools
  • Add -Xdoclint/package: to javadoc
  • Refresh of jimage support
  • let hg ignore TestNG ZIP file in Nashorn test library directory
  • Typos in nashorn sources
  • Non-extensible global is not handled property after adding a function property to Object.prototype, JSON.parse with reviver function goes into infinite loop

New in Java SE Development Kit (JDK) 9 Build 73 Early Access (Jul 18, 2015)

  • Include jline in JDK for Java and JavaScript REPLs
  • C2 support for CRC32C on SPARC
  • aarch64: add support for 64 bit vectors
  • aarch64: add support for PopCount in C2
  • Several JT_HS tests fails due to ClassNotFoundException on compacts
  • Constant fold loads from final instance fields in VM anonymous classes
  • 8129094 fix is incomplete
  • Java 9-fastdebug ia32 Error: Unimplemented with "-XX:CompilationPolicyChoice=1 -XX:-TieredCompilation" options
  • Java 9-fastdebug crash(hit assertion) with "-XX:CompilationPolicyChoice=1 -XX:-TieredCompilation" options
  • compiler/codecache/jmx/UsageThresholdIncreasedTest.java fails with "Usage threshold was hit"
  • Remove com.sun.org.apache.xalan.internal.xsltc.cmdline
  • Fix reference problems in jaxp javadoc
  • socksProxyVersion system property ignored for Socket(Proxy)
  • Include jline in JDK for Java and JavaScript REPLs
  • java/lang/ProcessHandle/TreeTest.java: AssertionError: Wrong number of spawned children expected [1] but found [2]
  • java/lang/ProcessHandle/OnExitTest.java: AssertionError: Child onExit not called
  • BadKDC1 failed again
  • java/util/logging/LoggingDeadlock2.java times out
  • Output of -XX:+TraceClassLoadingPreorder in JDK9 incompatible with MakeClasslist tool
  • Increase the stability of DTLS test CipherSuite.java
  • [TESTBUG] java/lang/ProcessHandle/OnExitTest - Unaccounted for children expected [0] but found [1]
  • Use Java-style array declarations consistently
  • java/lang/ProcessHandle/InfoTest.java failed: total cpu time expected < 10s more
  • (coll) Arrays.asList(x).toArray().getClass() should be Object[].class
  • Revert fix pushed for JDK-8074346
  • add regression test related to fix for JDK-8078024
  • if directory specified with --dest-dir does not exist, only .class files are dumped and .js files are not
  • Remove unused methods in Global.java
  • 6 fields can be static fields in Global class
  • Apply transformations found by netbeans Refactor->Inspect and transform menu

New in Java SE Development Kit (JDK) 8 Update 51 (Jul 15, 2015)

  • Bug fixes:
  • JDK-8077685 core-libs java.util:i18n: (tz) Support tzdata2015d
  • JDK-8075602 deploy: Applet throws java.security AccessControlException in java console when playing it
  • JDK-8079223 deploy: unnecessary performance degradation caused by fix to JDK-8052111
  • JDK-8069161 deploy plugin: Slow cache performance since JRE 7u06
  • JDK-8076343 deploy plugin: JNLP property apple.laf.useScreenMenuBar no longer treated as secure for Mac OS
  • JDK-8071897 deploy webstart: JRE 8U25 and 8u31 b32 cannot launch Java Web Start with proxy pac but works fine for 7u67
  • JDK-8078815 deploy webstart: Launching of jnlp app fails with JNLPException
  • JDK-8035938 hotspot jvmti: Memory leak in JvmtiEnv::GetConstantPool
  • JDK-8064546 security-libs javax.crypto: CipherInputStream throws BadPaddingException if stream is not fully read
  • JDK-8078439 security-libs org.ietf.jgss: SPNEGO auth fails if client proposes MS krb5 OID
  • JDK-8073357 xml jaxb: schema1.xsd has wrong content. Sequence of the enum values has been changed
  • JDK-8073385 xml jaxp: Bad error message on parsing illegal character in XML attribute
  • JDK-8074297 xml jaxp: substring in XSLT returns wrong character if string contains supplementary chars

New in Java SE Development Kit (JDK) 9 Build 72 Early Access (Jul 11, 2015)

  • debug build with --disable-debug-symbols fails: java.io.UncheckedIOException
  • Switch JPRT configuration to use devkits for Windows and Macosx
  • Revert use of devkit on macosx in JPRT
  • Re-examine jdk.accessibility/share/classes/com/sun/java/accessibility/util location
  • Modularize the deploy build
  • add interned strings to the shared archive.
  • Crash in system dictionary initialization with shared strings
  • serviceability/sa tests fail due to LingeredApp process fails to start
  • Remove ParOldGC tests from the jprt hotspot testset
  • gc/g1/TestLargePageUseForAuxMemory.java fails due to not considering page allocation granularity for setup
  • Update jprt.properties with property listing tests subtrees
  • Backout Update jprt.properties with property listing tests subtrees
  • Fix bogus check for libX11.so in libraries.m4
  • fix some new tidy warnings from jaxws and CORBA
  • Make flags ParallelGCThreads and ConcGCThreads of type uint
  • G1: abstract and encapsulate collector phases and transitions between them
  • Allow Java debugging when CDS is enabled
  • PPC64: Fix little-endian build after "8077838: Recent developments for ppc"
  • Fix warning "converting to jlong from double" of gcc 4.1.2 after 8079561
  • hs_err improvement: Add time zone information in the hs_err file
  • hs_err improvement: Print exact compressed oops mode and the heap base value.
  • hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
  • Runtime stub for throw_null_pointer_exception always constructs log messages
  • Multiple STATIC_ASSERTs at class scope doesn't work
  • The targeted processes in sun/tools tests should be launched with -XX:+UsePerfData flag in order to work on embedded platforms
  • Fix PrintStubCode for empty StubCodeGenerator.
  • GC trace events missing nursery size information
  • add interned strings to the shared archive.
  • GC Support for shared heap ranges in CDS
  • Unprotected PrintMalloc in os::realloc
  • assert(ic->is_clean()) failed: IC should be clean
  • 8079792 breaks Zero builds without precompiled headers.
  • bscmake fails when building inside VS2013
  • allow demangling to be optional in dll_address_to_function_name
  • VM crash when class is redefined with Instrumentation.redefineClasses
  • VM hangs in C2Compiler
  • hs_err improvement: Printing /proc/cpuinfo makes too long hs_err files
  • Remove the level parameter passed around in GenCollectedHeap
  • Usage of pretenured value is not correct
  • Assertion failure in CDS shared string archive support on Windows
  • Crash in system dictionary initialization with shared strings
  • Support building hotspot with devkits on Macosx
  • https://bugs.openjdk.java.net/browse/JDK-8042041
  • ARM 32 bit binaries do not run on 64 bit ARM v8 hardware
  • Interpreter should support conditional card marks (UseCondCardMark) on x86 and aarch64
  • UseCondCardMark broken in conjunction with CMS precleaning on x86
  • G1 applies SurvivorAlignmentInBytes to both survivor and old gen
  • [JEP 245] Validate JVM Command-Line Flag Arguments.
  • JEP-JDK-8059557: Test task: test framework development
  • Vm crash "not long aligned" in nsk/stress/metaspace/jck60/jck6* tests
  • EXCEPTION_ACCESS_VIOLATION when CDS RO section vanished on win32
  • [TESTBUG] Remove applicable_*gc and needs_*gc groups from TEST.groups
  • [linux] Clean up code relevant to LinuxThreads implementation
  • Missing test case for JDK-8078438
  • serviceability/sa tests fail due to LingeredApp process fails to start
  • Fix required for aarch64 after 8122937
  • Improve sharing of native wrappers in SignatureHandlerLibrary
  • conflicts between open and closed SA ports
  • crash when reporting corrupted classfile
  • Incorrect GPL header
  • remove unused runtime related code
  • Change default GC for server configurations to G1
  • gc/g1/TestLargePageUseForAuxMemory.java fails due to not considering page allocation granularity for setup
  • aarch64: fails to build on ubuntu wily
  • G1: Make sure the concurrent thread does not mix its logging with the STW pauses
  • AARCH64: Add AArch64 SA support
  • SuperWord loop unrolling analysis
  • Use x86 and SPARC CPU instructions for GHASH acceleration
  • assert(is_java_primitive(bt)) failed: only primitive type vectors
  • Fix call to inline function is_oop in header debugInfo.hpp.
  • assert(allocates2(pc)) failed: not in CodeBuffer memory
  • Fix unlink() of LogCompilation tmp files lost in merge of 8007993 and 8060074.
  • AVX 512 extended support
  • ppc/aarch: Fix passing thread to runtime after "8073165: Contended Locking fast exit bucket."
  • compiler/codecache/jmx/UsageThresholdIncreasedTest.java should be quarantined
  • Cleanup usage of reflection in jaxp
  • fix some new tidy warnings from jaxws and CORBA
  • javax/net/ssl/TLS/TestJSSE.java failed on Mac
  • test/sun/security/krb5/config/dns.sh needs to re-examined or replaced
  • BufferedWriter and FilteredOutputStream.close throw IAE if flush and close throw equal exceptions
  • Update security tests to use Security.getProvider to get security provider
  • test/java/math/BigInteger/ExtremeShiftingTests.java needs too much heap
  • (tz) Support tzdata2015e
  • (coll) LinkedList has incorrect implementation comment
  • Remove sun.security.util.ObjectIdentifier.equals(ObjectIdentifier other) method
  • Mark two tests from DistinctOpTest.java and SliceOpTest.java as serialization hostile
  • Incremental build of java.base-gensrc broken
  • Tests for sun.security.krb5.principal system property
  • filechooser in Windows-Libraries folder: columns are mixed up
  • JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works
  • [macosx] JVM crash in apple.laf.JRSUIUtils.HitDetection.getHitForPoint
  • Mastering Matrix Manipulations
  • [macosx] The default directory for open dialog is different for FileDialogOpenDirTest.html
  • OperationTimedOut exception inside from XToolkit.syncNativeQueue call on Ubuntu 15.04
  • Uninitialised variable in jdk/src/java/desktop/share/native/libfontmanager/layout/LookupProcessor.cpp
  • JFileChooser blocks EDT in Win32ShellFolder2.getIcon
  • Support loading of Assistive Technology from service provider
  • Hand cursor does not use Windows' system cursor
  • [TEST_BUG] remove imports of the internal API from some regression tests
  • Make custom Cursors available for modular build
  • bad javadoc tag in javax.accessibility.AccessibilityProvider
  • Modularize the deploy build
  • SunToolkit.appContextMap should be IdentityMap
  • Add @modules to tests in jdk_desktop test group
  • (fs) Files.probeContentType returns null on Mac OS X
  • ProcessTool.createJavaProcessBuilder() needs new addTestVmAndJavaOptions argument
  • Allow Java debugging when CDS is enabled
  • The targeted processes in sun/tools tests should be launched with -XX:+UsePerfData flag in order to work on embedded platforms
  • The targeted processes in javax/management tests should be launched with -XX:+UsePerfData flag in order to work on embedded platforms
  • Update svc regression tests to extend the default security policy instead of override
  • Concurrent usage of a StringBuilder causes test intermittent failures
  • sun/management/jmxremote/startstop/JMXStartStopTest.java failed with java.lang.Error intermittently
  • serviceability/sa tests fail due to LingeredApp process fails to start
  • Use x86 and SPARC CPU instructions for GHASH acceleration
  • TEST_BUG: java/lang/ref/SoftReference/Pin.java fails with OOME during System.out.println
  • Prepare client libs regression tests for running in a concurrent, headless jtreg environment
  • Add Stream returning methods to classes where there currently exist only Enumeration returning methods
  • Do cleanup in a proper order in sunmscapi code
  • (str) Optimize AbstractStringBuilder.append(CharSequence, int, int) for String argument
  • Test com/sun/crypto/provider/KeyFactory/TestProviderLeak.java fails with -XX:+UseG1GC
  • com/sun/crypto/provider/KeyFactory/TestProviderLeak.java still failing after JDK-8076040
  • Create a common TEST.properties for @modules in test/sun/security/krb5/auto
  • Exclude sun/security/provider/SecureRandom/StrongSecureRandom.java from testruns on MacOSX 10.10
  • Fix wrong prototype of GrowKnownVMs() in java.c
  • Enhance the classfile library to support construction of classfiles from scratch
  • javac should support compilation for a specific platform version
  • Move test/script/basic/NASHORN-627.js to currently-failing until JDK-8129881 is fixed
  • Anonymous functions escape to surrounding scope when defined under "with" statement
  • Modularize the deploy build
  • streamline input parameter of Nashorn scripting $EXEC function
  • Get rid of JSType.isNegativeZero
  • enable running Nashorn test on Windows
  • improve Nashorn Javadoc target
  • "ant test" fails to complete on Windows when run under cygwin shell

New in Java SE Development Kit (JDK) 9 Build 71 Early Access (Jul 7, 2015)

  • The SOURCE value in release file of JDK 9 doesn't contain changesets since b49
  • Allow SetupTestFilesCompilation to set LDFLAGS for individual tests
  • Add uint as a valid VM flag type
  • aarch64: some regressions introduced by addition of vectorisation code
  • GWT can be marked non-compilable due to deopt count pollution
  • aarch64: SHA tests fail
  • escape analysis generates incorrect code as of B67
  • testlibrary_tests/RandomGeneratorTest.java failed with AssertionError : Unexpected random number sequence for mode: NO_SEED
  • closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
  • hs_err improvement: Add event logging for class redefinition to the hs_err file
  • Add uint as a valid VM flag type
  • Cleanup usage of getResourceAsStream in jaxp
  • Add tier 3 test definitions to the JDK 9 forest
  • Failed to create CharInfo due to ResourceBundle update for modules
  • Cleanup usage of Class.getResource in jaxp
  • jaxp: CodeSource.getLocation() might return null
  • Remove redundant package.html file in javax.xml.ws/wsaddressing
  • java/util/prefs/CodePointZeroPrefsTest.java fails with "java.util.prefs.BackingStoreException: Couldn't get file lock."
  • Test for JAAS getPrivateCredentials
  • java/nio/file/Files/CopyAndMove.java failed with java.nio.file.FileAlreadyExistsException intermittently
  • GetVersionEx in java.base/windows/native/libjava/java_props_md.c might not get correct Windows version 0
  • Structure of java/rmi/activation/rmidViaInheritedChannel tests masks exception
  • Terminal operation properties should not be back-propagated to upstream operations
  • java_props_md.c should compile on VS 2010
  • LFMultiThreadCachingTest.java failed with ConcurrentModificationException
  • java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java should exclude testing the Teredo tunneling interface on Windows
  • GWT can be marked non-compilable due to deopt count pollution
  • (fs) Files.lines needs a better splitting implementation for stream source
  • New DTLS tests need @modules
  • ArrayIndexOutOfBoundsException when decoding corrupt Base64 string
  • Add tier 3 test definitions to the JDK 9 forest
  • doc for Double/Int/LongSummaryStatistics.toString has errors
  • Use CLDR Locale Data by Default
  • sun/security/mscapi/ShortRSAKey1024.sh fails intermittently
  • Equal DelegationPermission instances may return different hash codes
  • sun/net/www/protocol/http/B6369510.java fails intermittently
  • Define "headful" jtreg keyword
  • PKCS11 provider not instantiated with security manager
  • Move jdk_rmi test group from tier 2 to tier 3
  • JCE providers should be located via ServiceLoader
  • [TEST_BUG] test/javax/xml/ws/8046817/GenerateEnumSchema.java creates files in test.src
  • Verify error at runtime due to incorrect classification of a lambda as being instance capturing
  • Javadoc should generate named anchors for HTML4 output
  • Add tier 3 test definitions to the JDK 9 forest
  • Error on import statement naming package containing no class files
  • Java adapters with class-level overrides should preserve variable arity constructors
  • Add tier 3 test definitions to the JDK 9 forest
  • Wrong condition for checking absence of logger in MethodHandleFactory
  • DebugLogger has unnecessary API methods

New in Java SE Development Kit (JDK) 9 Build 69 Early Access (Jun 26, 2015)

  • serviceability/sa/ tests time out on Windows
  • SJavac should track changes in the public apis of classpath classes!
  • SetupNativeCompilation ignores CFLAGS_release for cpp files
  • Four helper classes missing in Sun JDK
  • serviceability/sa/ tests time out on Windows
  • Clean up linkResolver code
  • jstat verified class fix
  • SystemTap does not work when JDK is compiled with GCC 5
  • Uninitialised variable in hotspot/src/share/vm/prims/jvmtiEnvBase.cpp
  • The change for 8074354 removed the server check when creating minidumps on Windows
  • Make -XX:CreateCoredumpOnCrash control core dumping in all cases
  • JVM crashes in JNI if toString is declared as an interface method
  • metaspace/shrink_grow/CompressedClassSpaceSize fails with OOM: Compressed class space
  • gc/TestSmallHeap.java failed with OOME
  • AbstractWorkGang::_terminate is never used
  • [REDO] GCCause should distinguish jcmd GC.run from System.gc()
  • Remove FakeRttiSupport workaround for gcc -Wtype-limits
  • Unsafe load can loose control dependency and cause crash
  • C2 disables some optimizations when a large number of unique nodes exist
  • CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
  • ConstantPool::_resolved_references is missing in heap dump
  • C2: CmpU nodes can end up with wrong type information
  • Integer.toString(int value) sometimes throws NPE
  • Assert failed: Not a Java pointer in JCK test
  • Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
  • loadUB2L_immI8 & loadUS2L_immI16 rules don't match some 8-bit/16-bit masks
  • Unexpected AIOOB thrown from 1.9.0-ea-b64 on (regression)
  • aarch64: AdvancedThresholdPolicy lacks tuning of InlineSmallCode size
  • Develop test for Xerces Update: DOM L3 Serializer
  • Develop test for Xerces Update: XPointer
  • JAX-B Plugability Layer: using java.util.ServiceLoader
  • Test Task: Develop new tests for JEP 219: Datagram Transport Layer Security (DTLS)
  • LFGarbageCollectedTest.java fails with OOME: "GC overhead limit exceeded"
  • Inet4AddressImpl regression caused by JDK-7180557
  • Deprecate the com.sun.jarsigner package
  • minor cleanup for docs
  • DateFormat for Singapore/English locale (en_SG) is M/d/yy instead of d/M/yy
  • Four helper classes missing in Sun JDK
  • [TESTBUG] java/lang/invoke/8022701/MHIllegalAccess.java - FAIL: Unexpected wrapped exception java.lang.BootstrapMethodError
  • serviceability/sa/ tests time out on Windows
  • Remove hard-coded CFLAGS_WARNINGS_ARE_ERRORS to fully respect --disable-warnings-as-errors
  • CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
  • ConstantPool::_resolved_references is missing in heap dump
  • Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
  • Improve the performance of primitive Arrays.sort for certain patterns of array elements
  • Store permissions in concurrent collections in PermissionCollection subclasses
  • Store PermissionCollection entries in a ConcurrentHashMap instead of a HashMap in Permissions class
  • Make some DTLS feature functional tests work also for TLS protocol
  • java/lang/Runtime/exec/LotsOfOutput.java still fails intermittently with Process consumes memory
  • EmptyStackException at startup if running with extended or unsupported charset
  • Remove sun.misc.ExtensionInstallationProvider and relevant classes
  • Compiler has trouble compiling nested diamond allocation constructs involving anonymous classes.
  • NPE when compiling expression with \"^\"
  • SJavac should track changes in the public apis of classpath classes!
  • Due to a javac type inference issue, sjavac doesn't compile with 8u31
  • Nashorn $ENV.PWD is originally undefined
  • Return value of Objects.requireNonNull call can be used
  • Nashorn -nse option causes parse error on anonymous function definition
  • add autoimports sample script to easily explore Java classes in interactive mode
  • address Javadoc warnings in Nashorn source code
  • Add compiler error tests when syntax extensions are used with --no-syntax-extensions option
  • add $EXECV command to Nashorn scripting mode
  • regression: apply on $EXEC fails with ClassCastException

New in Java SE Development Kit (JDK) 9 Build 68 Early Access (Jun 12, 2015)

  • Summary of changes:
  • Can't build 'images' with --disable-zip-debug-info on OS X after jigsaw m2 merge
  • Configure should verify that -fstack-protector is valid
  • aarch64: JTreg TestStable tests failing
  • Create sanity test for JDK-8080155
  • Create sanity test for JDK-8080692
  • VM warning: WaitForMultipleObjects timed out (0) ...
  • regression Test7107135 crashes
  • Use single-threaded code in Threads::possibly_parallel_oops_do when running with only one worker thread
  • Remove usage of CollectedHeap::n_par_threads() from root processing
  • Remove SubTaskDone::_n_threads
  • Replace and remove the last usages of CollectedHeap::n_par_threads()
  • Remove CollectedHeap::set_par_threads()
  • JavaThread::satb_mark_queue_offset() is too big for an ARM ldrsb instruction
  • FlexibleWorkGang initializes _active_workers to more than _total_workers
  • Move number of workers calculation out of CollectionSetChooser::prepare_for_par_region_addition
  • Clean up active_workers() asserts
  • Replace unnecessary MAX2(ParallelGCThreads, 1) calls with ParallelGCThreads
  • Don't use workers()->total_workers() when walking G1CollectedHeap::_task_queues
  • Refactor oop iteration macros to be more general
  • Remove FlexibleWorkGang::set_for_termination
  • Remove redundant active worker variables and calls in ParNewGeneration::collect
  • G1: Remove unused statistics code in G1NoteEndOfConcMarkClosure and G1ParNoteEndTask
  • aarch64: add support for RewriteFrequentPairs in interpreter
  • aarch64: Add vectorization support for aarch64
  • getNodeValue should return 'null' value for Element nodes
  • Add tiered testing definitions to the jaxp repo
  • Update JAXB and JAX-WS to work with resource encapsulation
  • Unreachable.java test failing on Windows
  • getNodeValue should return 'null' value for Element nodes
  • Move sun.nio.cs.AbstractCharsetProvider into jdk.charset/sun.nio.cs.ext
  • Create a common test to check adequacy of initial size of static HashMap/ArrayList fields
  • build failed with jdk8081452 change.
  • JEP 102 Process API Updates Implementation
  • (process) remove unreliable ScaleTest from ProcessHandle tests
  • jndi/ldap/Connection.java needs to avoid spurious wakeup
  • javac lint warnings in jdk testlibrary
  • java/lang/ProcessHandle/InfoTest.java failed on case sensitive command
  • Datagram Transport Layer Security (DTLS)
  • TLS optional support for Kerberos cipher suites needs to be re-examine
  • Use sun.misc.SharedSecrets to allow access from java.management to @ConstructorProperties
  • two lib/testlibrary tests are failing with "Error. failed to clean up files after test" with jtreg 4.1 b12
  • Better failure atomicity for default read object
  • sun/net/www/protocol/https/ChunkedOutputStream.java references library that doesn't exist
  • Faster implementation of String.replace(CharSequence, CharSequence)
  • Remove dead code GetPublicJREHome in the launcher
  • buffer size calculation issue in NativeGCMCipher
  • Make tracking SecondaryLoop.enter/exit methods easier
  • JComboBox popup mispositioned if its height exceeds the screen height
  • closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8
  • Nimbus LaF: regression UnitTest failure
  • [macosx] The text of the TextArea is not wrapped at word boundaries
  • JSpinner does not reflect new font on subsequent calls to setFont
  • JavaDoc for JSpinner contains errors
  • [TEST_BUG] ScrollbarMouseWheelTest failed on ubuntu 12 with unity and unity 2D
  • [macosx] Cursor management unification
  • JTextField's size is computed incorrectly when it contains Indic or Thai characters
  • Apparent endless loop running JEditorPanePaintTest
  • [macosx] Test closed/java/awt/Robot/RobotWheelTest/RobotWheelTest fails for Mac only
  • Value of java.awt.font.OpenType.TAG_OPBD is incorrect
  • java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent
  • Tremendous memory usage by JTextArea
  • Wrong documentation for JSpinner.DateEditor constructor
  • MetalRootPaneUI calls to deprecated code
  • mouse wheel scroll closes combobox popup
  • Can not input Japanese in JTextField on RedHat Linux
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Avoid public native methods in sun.awt packages
  • With JDK 1.7 text field does not obtain focus when using mnemonic Alt/Key combin
  • GTK+ L&F JTextComponent not respecting desktop caret blink rate
  • JNI exception pending in jdk/src/windows/native/sun/windows/awt_Frame.cpp
  • Java version applet hangs with Voice over turned on
  • javax/print/attribute/URLPDFPrinting.java fails on solaris with java.net.ConnectException: Connection timed out
  • [macosx] Frame warps to lower left of screen when
  • [macosx] setMaximizedBounds() should be implemented
  • Dragged events for extra mouse buttons (4, 5, 6) are not generated on JSplitPane
  • OutOfMemoryError: RepaintManager doesn't clean up cache of volatile images
  • GUI perfomance are very slow compared java 1.6.0_45
  • Incorrect javadoc: "no parameter" in 2d source code
  • JFileChooser gives wrong path to selected file when saving to Libraries folder on Windows 7
  • GroupLayout incorrect layout with large JTextArea
  • No mnemonics on Open and Save buttons in JFileChooser
  • JDK9 client build broken on Windows
  • java/lang/ProcessHandle/InfoTest.java failed Cannot run program "whoami"
  • java/lang/ProcessBuilder/Basic.java failed on Assertion
  • MSOID2.java test is not perfect
  • fix krb5 caddr
  • ZoneOffsetTransitionRule.of should throw IAE for non-zero nanoseconds
  • Add intermittent tag to java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java
  • Add blocking bulk read to java.io.InputStream
  • Setting IP_TOS on java.net sockets not working on unix
  • com/sun/jdi tests are failing with "Error. failed to clean up files after test" with jtreg 4.1 b12
  • Better failure output for test/java/util/Arrays/ParallelPrefix.java
  • Update AudioFileWriter to generate working @see reference
  • Doclint regression introduced by JDK-8043758
  • add adapter to convert Enumeration to Iterator
  • NPE while compiling a program with erroneous use of constructor reference expressions
  • Using Lambda Expression with name clash results in ClassFormatError
  • Redundant CONSTANT_Class entry not generated for inlined constant
  • @ignore CheckEBCDICLocaleTest
  • test CheckEBCDICLocaleTest is failing
  • 'variable may not have been initialized' error for parameter in lambda function
  • Add tiered testing definitions to the langtools repo
  • Java compiler performance degradation jdk1.7 vs. jdk1.6 should be amended
  • UTF-32LE mistakenly detected as UTF-16LE
  • engine.eval call from a java method which was called from a previous engine.eval results in wrong ScriptContext being used.
  • Add tiered testing definitions to the nashorn repo
  • JSON-friendly wrapper for objects
  • erroneous dot file generated from Nashorn --print-code
  • rename ScriptingFunctions.tokenizeCommandLine
  • fix Nashorn ant externals command
  • transparently download testng.jar for Nashorn testing
  • reduce dependency of Nashorn tests on external components
  • Fuzzing bug: MethodHandle bug (Object,Object) != (boolean)Object
  • Missing final modifier in method parameters (nashorn code convention)
  • JSONListAdapter should delegate its [[DefaultValue]] to wrapped object

New in Java SE Development Kit (JDK) 9 Build 67 Early Access (Jun 6, 2015)

  • Remove native2ascii tool
  • libdt_socket: Build failed with VS2013 SP4
  • com.sun.tools.javap and com.sun.tools.javah are not exported API
  • Move jdeps and javap to jdk.jdeps module
  • minor cleanup for docs
  • [Linux] Replace syscall use in os::fork_and_exec with glibc fork() and execve()
  • HotSpot fails to wrap Exceptions from invokedynamic in a BootstrapMethodError
  • [TESTBUG] Add test case for calling default methods from JNI
  • [TESTBUG] Write test to exercise uninitialized strings from JNI code
  • x86 biasedlocking epoch expired rare bug
  • memory stomping error with ResourceManagement and TestAgentStress.java
  • malloc without free in VM_PopulateDumpSharedSpace::doit()
  • [TESTBUG] Some of the hotspot tests require at least compact profile 3
  • Incorrect test execution string at SumRed_Long.java
  • 8068945 changes break building the zero JVM variant
  • PPC64: Fix wrong rotate instructions in the .ad file
  • TypeProfileLevel on SPARC platform should enable JSR292-only profiling level
  • [TESTBUG] Tests fails on ARM64 due to unknown hardware
  • AARCH64: testlibrary does not support AArch64
  • GC directory structure cleanup
  • G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0
  • No callers of ReferenceProcessor::clear_discovered_references
  • Remove undefined method oopDesc::is_null(Klass *)
  • Align SA with new GC directory structure
  • concurrentGCThread.hpp should not include suspendibleThreadSet.hpp
  • isGCActiveMark.hpp should not include parallelScavengeHeap.hpp
  • Remove unrolled card loops in G1 SparsePRTEntry
  • lots of jstack tests failing in pit
  • SA changes broke bootcycle-images builds
  • [TESTBUG] @run is missing in java/awt/TrayIcon/8072769/bug8072769.java
  • Resolve disabled warnings for libjava
  • Stop ignoring warnings for libjava
  • [TEST_BUG] javax/swing/JComboBox/8032878/bug8032878.java fails in WindowsClassicLookAndFeel
  • Part of java.util.jar.JarFile spec looks confusing with references to Zip
  • sun/nio/cs/FindEncoderBugs.java failing intermittently
  • Replace package.html files with package-info.java in the java.base module
  • Remove native2ascii tool
  • Remove Policy provider code that synchronizes on identityPolicyEntries List
  • More Signature tests
  • JDK-8076524 has failed to remove binary files
  • All versions of javax.script.ScriptEngine.eval(...) method may clarify ScriptException throwing
  • Japanese character converters incompatible between Java 7 and Java 8
  • libdt_socket: Build failed with VS2013 SP4
  • sun/security/krb5/auto/UseCacheAndStoreKey.java timed out intermittently
  • minor cleanup for docs
  • javax/net/ssl/ciphersuites/DisabledAlgorithms.java fails intermittently
  • Several java/lang/instrument/PremainClass/* tests fail due to timeout
  • Exclude javax/management/remote/mandatory/notif/ListenerScaleTest.java from running on fastdebug builds
  • [TESTBUG] Some of java.lang tests cannot be run on compact profiles 1, 2
  • Add a sun.management.JMXConnectorServer perf counter to track its state
  • java/lang/management/ThreadMXBean/AllThreadIds.java fails intermittently
  • re-examine sun/nio/cs/Test4200310.sh, test is invalid for modular image
  • java/net/MulticastSocket/TestInterfaces failed on Oracle VM Virtual Ethernet Adapter
  • java/net/MulticastSocket/SetOutgoingIf.java fails intermittently with NullPointerException
  • (zipfs) NoSuchFileException on creating a file in ZipFileSystem with CREATE and WRITE
  • (zipfs) newOutputstream uses CREATE_NEW when no options specified
  • java/time/test/java/time/format/TestZoneTextPrinterParser.java fails by timeout on slow device
  • Move jdeps and javap to jdk.jdeps module
  • Typo in Exception Message
  • sun/tools/jmap/BasicJMapTest.java timed out
  • AIX: fix charset dependenicies after 8035302:Eliminate dependency on jdk.charsets from 2D font code.
  • MHIllegalAccess.java failing across platforms
  • Re-examine integration of extended Charsets
  • Update bug reporting URL
  • Add @modules to jdk_core tests
  • java.time javadoc error in DateTimeFormatter::parsedLeapSecond
  • java.time package javadoc typos
  • java.time.chrono.HijrahChronology.eraOf() assertions may lead to misunderstanding
  • Compilation error with recent clang in java.base/share/native/launcher/main.c: error: comparison of array 'const_jargs' not equal to a null pointer is always true
  • Missing archive name from jdeps -v -e output if no dependency on other JAR
  • Remove native2ascii tool
  • Redundant error message on private abstract interface method with body.
  • Move jdeps and javap to jdk.jdeps module
  • test CheckEBCDICLocaleTest.java is failing intermittently
  • need ArrayBuffer constructor with specified data
  • Allow conversion of native arrays to Queue and Collection
  • ListAdapter should take advantage of JSObject
  • Nashorn test framework @argument does not handle quoted strings
  • ListAdapter throws NPE when adding/removing elements outside of JS context
  • jjs "nashorn.args" system property is not effective when script arguments are passed

New in Java SE Development Kit (JDK) 9 Build 66 Early Access (May 30, 2015)

  • Stop doing sed manipulation of manifest files in SetupJavaCompilation
  • [TESTBUG] Remove hotspot.internalvmtests from jprt config
  • Extract parser/validator from jhat for use in tests
  • [TESTBUG] Merge hotspot_wbapitest with existing jtreg jprt job
  • Remove the jhat code and update makefiles
  • (rm) Port ResourceManagement to JDK9
  • Fix heapdump tests to validate heapdump after jhat is removed
  • Use FP register as proper frame pointer in JIT compiled code on aarch64
  • aarch64: hotspot test compiler/codegen/7184394/TestAESMain.java fails
  • Remove the unused PSParallelCompact::KeepAliveClosure
  • Remove the unused PSParallelCompact::_updated_int_array_klass_obj
  • Move PSParallelCompact::mark_and_push to ParCompactionManager
  • gc/TestSoftReferencesBehaviorOnOOME.java times out in nightlies
  • Remove unused code in the reference processor
  • [TESTBUG] Remove hotspot.internalvmtests from jprt config
  • HAS_BEEN_MOVED has been moved
  • Remove G1ParGCAllocator::alloc_buffer_waste
  • Make auxiliary data structures know their own translation factor
  • Remove usage of stack.inline.hpp functions from taskqueue.hpp
  • print_concurrent_locks should be guarded with INCLUDE_SERVICES
  • Add convenient way of adding custom test targets to hotspot's test makefile
  • Determining the desired PLAB size adjusts to the the number of threads at the wrong place
  • gc/ergonomics/TestDynamicNumberOfGCThreads.java failed with java.lang.RuntimeException: 'new_active_workers' missing from stdout/stderr
  • G1 logging ignores changes to PrintGC* flags via MXBeans
  • Heap decommit failed in TestShrinkAuxiliaryData tests
  • Clean out unused code in G1MMUTracker
  • SATB buffer processing found reclaimed humongous object
  • Fix incorrect include guards
  • Remove dictionary NULL check on common path of BlockFreeList methods
  • Remove CollectedHeap::use_parallel_gc_threads
  • G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index
  • Circular dependency between G1CollectedHeap and G1BlockOffsetSharedArray
  • Format string issues in workgroup.cpp and taskqueue.cpp
  • GC worker number should be unsigned
  • BACKOUT - Determining the desired PLAB size adjusts to the the number of threads at the wrong place
  • Fix format warning/error in vm_version_ppc.cpp
  • Restrict reduction optimization
  • [TESTBUG] ppc: Enable jtreg tests for new features
  • OopMap class could be more compact
  • adopt recent IGV
  • Improve vectorization of parallel streams
  • [TESTBUG] hotspot_basicvmtest doesn't fail even if VM crashes
  • Extract parser/validator from jhat for use in tests
  • [TESTBUG] Merge hotspot_wbapitest with existing jtreg jprt job
  • Popping a stack frame after exception breakpoint sets last method param to exception
  • [TESTBUG] hotspot_jprt group in TEST.groups refers to non-existent groups
  • linux-zero does not build without precompiled header
  • serviceability/dcmd/gc/HeapDumpAllTest.java: compilation failed
  • Rename the com.oracle.java.testlibary package
  • allocating heap with UseLargePages and HugeTLBFS may trash existing memory mappings (linux)
  • Hotspot crashes in System.out.println with assert(resolved_method->method_holder()->is_linked()) failed: must be linked
  • Add a method to convert counters to milliseconds
  • Suppress warning about disabling adaptive size policy when enabling UseLargePages with UseNUMA when adaptive size policy is disabled
  • G1: Introduce peace-of-mind checking in the Suspendible Thread Set
  • ConcurrentMark::mark_stack_push(oop) is unused
  • G1 does not print heap page size information with -XX:+TracePageSizes
  • Add SuspendibleThreadSetLeaver and make SuspendibleThreadSet::joint()/leave() private
  • 292 cleanup from default method code assessment
  • split verifier needs to add TraceClassResolution
  • G1StringDedupTable::deduplicate() reset String hash value unnecessarily.
  • compiler/rtm/* tests fail due to Compilation failed
  • Update ProjectCreator to create projects using Visual Studio 2013 toolset
  • Add 'CreateMinidumpOnCrash' (JDK-8074354) caused many tests failed in nightly testing
  • Add support for AVX512
  • C2's superword optimization causes unaligned memory accesses
  • Crash in PhaseIdealLoop with "assert(!had_error) failed: bad dominance"
  • assert(index >= 0 && index < _count) failed: check
  • Optimize arraycopy out for non escaping destination
  • field "_pc_offset" not found in type ImmutableOopMapSet
  • java/util/stream/boottest/java/util/stream/UnorderedTest.java crashed with an assert in ifnode.cpp
  • Compilation of TestVectorizationWithInvariant fails with "error: package com.oracle.java.testlibrary does not exist"
  • jaxp tests failed in modular jdk due to internal class access
  • SPECjvm2008-XML performance regressions in 9-b33
  • Missing space on a boundary of concatenated strings
  • Move substring of same string to slow path
  • improve locking strategy for readConfiguration(), reset(), and initializeGlobalHandlers()
  • java.time.ZoneId.systemDefault() should be faster
  • Incorrect figure number in reference to Hacker's Delight book in Long.bitCount() method
  • Implement tests for SecretKeyFactory
  • SimpleScriptContext used by NashornScriptEngine doesn't completely complies to the spec regarding exception throwing
  • Additional negative tests for XML signature processing
  • Optimize string operations in java.base/share/classes/sun/security/x509/
  • (ch) Expected size of Character.UnicodeBlock.map is not optimal
  • IgnoreAllErrorHandler should use doPrivileged when it reads system properties
  • hprof does not work well with multiple agents on non-Solaris platforms
  • dns_lookup_realm should be false by default
  • Stop doing sed manipulation of manifest files in SetupJavaCompilation
  • some docs cleanup for core libs
  • (fs) Re-enable ability to fsync() on directories even though read()s on those directories may fail.
  • Update sun/nio/cs/FindDecoderBugs.java to use random number generator library
  • java/lang/invoke/MethodHandles/CatchExceptionTest.java fails intermittently
  • Extract parser/validator from jhat for use in tests
  • Remove jhat tests and help library from JDK
  • Remove the jhat code and update makefiles
  • (rm) Port ResourceManagement to JDK9
  • sun/management/jmxremote/bootstrap/CustomLauncherTest.java failing on embedded platform
  • BadHandshakeTest.java fails due to warnings in output
  • After 8079248 fixed JDK still fails with "jdk\\bin\\management_ext.dll: The specified procedure could not be found"
  • AttachProviderImpl could not be instantiated
  • Exclude demo/jvmti/hprof tests
  • Test com/sun/jdi/NoLaunchOptionTest.java may erroneously fail
  • Test jdk/test/com/sun/jdi/NoLaunchOptionTest.java was merged incorrectly
  • fix up miscellaneous TM constructions
  • Prepare sun/nio/cs/FindEncoderBugs.java to find intermittent failures
  • The spec on javax.script.Compilable contains a typo and confusing inconsistency
  • CPU overhead in FJ due to spinning in awaitWork
  • sun/nio/cs/TestCompoundTest.java should be removed from TEST.groups
  • java/lang/Runtime/exec/LotsOfOutput.java fails intermittently with Process consumes memory
  • javac does not recognize '*.java' as file if '-J' option is specified
  • LoginContext Subject ignored by jdk8 sun.net.www.protocol.http.HttpURLConnection
  • Tests for key wrap and unwrap operations
  • Use ConcurrentHashMap to map ProtectionDomain to PermissionCollection
  • ProbeKeystores.java creates files in test.src
  • (fs) FileChannel.force should use fcntl(F_FULLFSYNC) instead of fsync on OS X
  • Add support for ECDSA P-384 and P-521 curves to XML Signature
  • Coding regression in HKSCS charsets
  • Group 10d: golden files for tests in tools/javac dir
  • Group 10e: golden files for tests in tools/javac dir
  • Group 11: golden files for coin tests in tools/javac dir
  • Group 12: golden files for tests in tools/javac dir
  • Key collisions in ZipFileIndexFileObject content cache lead to wrong content
  • Group 13c: golden files for tests in tools/javac/generics dir
  • Group 13a: golden files for tests in tools/javac/generics dir
  • Group 14a: golden files for tests in tools/javac/generics/wildcards dir
  • Group 13b: golden files for tests in tools/javac/generics dir
  • Group 14b: golden files for tests in tools/javac/generics/wildcards dir
  • Group 14c: golden files for tests in tools/javac/generics/wildcards dir
  • Group 13d: golden files for tests in tools/javac/generics dir
  • Remove few test files that did not get removed with the patch
  • Group 14d: golden files for tests in tools/javac/generics/wildcards dir
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Deeply chained expressions + several overloads + unnecessary inference result in excessive compile times.
  • langtools/test/tools/javac/generics/T5011073.java failing
  • Add @modules as needed to the langtools tests
  • Open up Dependencies for use from other packages
  • tests broken in bad merge
  • code generator for discarded boolean logical operation has an extra pop
  • fix usage of replace and file separator in Nashorn tests
  • Don't create impossible converters for ScriptObjectMirror
  • jjs scripting: need way to quote $EXEC command arguments to protect spaces
  • Javadoc warnings in Global.java after lazy initialization
  • delete of bound Java method property results in crash
  • jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion

New in Java SE Development Kit (JDK) 9 Build 65 Early Access (May 23, 2015)

  • Summary of changes:
  • Turn on warnings as error
  • javadoc is missing for jdk.nashorn.api.tree package
  • Store configure log in $BUILD/configure.log
  • gcc can target wrong instruction set when building JDK native code
  • configure fails if you create an empty directory and then run configure from it
  • Eliminate dependency on jdk.charsets from 2D font code.
  • Enable "missing" doclint check in build of the java.desktop module
  • AARCH64: Need to cater for different partner implementations
  • AIOBE occurs when accessing to document function in extended function in JAXP
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • Fix SoundLibraries.gmk mismerge after JDK-8072665
  • Turn on warnings as error
  • (dc) Promiscuous.java fails with NumberFormatException due to network interference
  • RandomFactory should be in the jdk.testlibrary package
  • Typos in CardTerminals.list(CardTerminals.State) javadoc
  • Wrong isAssignableFrom test when adding Principal to Subject
  • OpenJDK windows build fails due to warning in libfontmanager
  • make the spec for @Documented comprehensible
  • removeIf(filter) in ConcurrentHashMap removes entries for which filter is false
  • java/util/logging/LogManager/TestLoggerNames.java
  • (spec) Reader.read(char[], int, int) throws unspecified IndexOutOfBoundsException
  • Policy implementation does not allow policy.provider to be on the class path
  • Buffer underflow with empty zip entry names
  • [TEST_BUG] Test javax/swing/plaf/windows/6921687/bug6921687.java fails
  • sun/security/pkcs11 tests are still in ProblemList.txt
  • Numerous api/java_awt jck tests fail - AWT Assertion Failure on fastdebug ri bundles b138 win7 x86
  • move 4 manual functional swing tests to regression suite
  • Fix missing doclint warnings in javax.swing.border
  • Fix missing doclint warnings in the javax.swing.plaf package
  • J2SE_Swing_Reg: the caret disappears when moving to the end of the line.
  • Specification for MouseInfo.getNumberOfButtons() doesn't contain info about "awt.mouse.numButtons"
  • [TESTBUG] Test java/awt/FontClass/CreateFont/fileaccess/FontFile.java fails
  • [macosx][TESTBUG] tests failing with Unrecognized system error
  • Eliminate dependency on jdk.charsets from 2D font code.
  • [Findbugs]sun.awt.datatransfer.SunClipboard.checkChange(long[]) may expose internal representation
  • Focus doesn't move when pressing Shift + Tab keys
  • [macosx] Drag image of TransferHandler does not honor MultiResolutionImage
  • Fix missing doclint warnings in the javax.swing.plaf.basic package
  • Fix missing doclint warnings in javax.swing.text
  • DefaultCellEditor for comboBox creates ActionEvent with wrong source object
  • Fix missing doclint warnings in the javax.swing package
  • ArrayIndexOutOfBoundsException in javax.swing.text.html.parser.ContentModel.first()
  • [macosx] Launching app on MacOSX requires enclosing class
  • ArrayIndexOutOfBoundsException in sun.java2d.pisces.Dasher.goTo
  • Remove API references to java.awt.peer
  • Remove API references to java.awt.dnd.peer
  • Remove java.awt.Toolkit methods which return peer types
  • Uninitialised memory in jdk/src/java/desktop/unix/native/libfontmanager/X11FontScaler.c
  • java.awt.GraphicsDevice.get/setDisplayMode behavior is incorrect when no display is present
  • [TEST_BUG] java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java fails
  • SunGraphics2D.getDefaultTransform() does not include scale factor
  • java/beans/Introspector/Test8027648.java fails
  • Applets now require "modifyThread" permission to exit on windows
  • Reg test: java/awt/Component/isLightweightCrash/StubPeerCrash.java fails
  • [macosx] NPE when attempting to get image from toolkit
  • IME Composition Window is displayed on incorrect position
  • Typo in the test on JavaBean
  • The output's 'Page-n' footer does not show completely
  • Path2D storage growth algorithms should be less linear
  • java.awt.Canvas(GraphicaConfiguration): null reaction
  • Fullscreen mode is not working properly on Xorg
  • Rendering HTML code in JEditorPane throws NumberFormatException
  • JRE installation is stuck at Progress dialog
  • Upgrade JDK to use LittleCMS 2.7
  • DebugFonts.java fails with stackoverflow error
  • New version string scheme - Java2D
  • CloseTTFontFileFunc callback should be removed
  • WindowsClassicLookAndFeel MetalComboBoxUI.getbaseLine fails with IllegalArgumentException
  • GIFLIB upgrade
  • Java's system LnF on OS X: editable JComboBoxes are being rendered incorrectly
  • JRE installation is stuck at Progress dialog : redux
  • Typo in JInternalFrame setDefaultCloseOperation() doc (WindowClosing --> internalFrameClosing)
  • Disable warning treated as error for signed/unsigned comparison in building splashscreen
  • (cs) Charset.availableCharsets failing with NPE on several platforms
  • Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
  • TEST_BUG: optimize java/util/Map/Collisions.java
  • CertStore needs a way to add new CertStore types
  • MethodTypes are not localized
  • can't build nashorn.jar from jdk9-dev/nashorn using jdk8 installation as JAVA_HOME
  • -d option should dump script source as well
  • Array.prototype.sort throws IAE on inconsistent comparison
  • use path separator setting consistently in Nashorn project properties
  • Improve error message when with statement is passed a POJO
  • Need to adjust test output for 8067931

New in Java SE Development Kit (JDK) 9 Build 64 Early Access (May 19, 2015)

  • Summary of changes:
  • Add support for Cygwin 2.0
  • Make whitebox API functions more stable
  • SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29
  • Enable selective test bundle installation for jprt test targets
  • SIGSEGV in nmethod sweeping
  • Port jdk.internal.instrumentation to jdk 9
  • Allow com.sun.management to be in a different module to java.lang.management
  • Introduce hotspot_basicvmtest
  • [TESTBUG] Merge hotspot_runtime and hotspot_runtime_closed in jprt test set
  • Eliminate JDK build dependency of native2ascii and update Japanese nroff man pages to UTF-8 encoding
  • Clean up mac bundles logic
  • Allow custom or platform specific java source to automatically override shared source
  • Remove MCS post-processing on Solaris
  • some docs cleanup for CORBA - part 1
  • some docs cleanup for CORBA - part 2
  • File sawindbg.dll has incorrect file version
  • Solaris build of native libraries not consistently using EXTRA_CFLAGS and EXTRA_LDFLAGS
  • Remove old flags, regarding to JDK9, from obsolete_jvm_flags
  • JVM stuck in infinite loop during verification
  • StressMethodComparator is not thread-safe
  • "java.lang.NullPointerException: Method name is null" from StackTraceElement.
  • mutexLocker.cpp _mutex_array[] initialization broken with safepoint check change
  • Zero JVM segfaults for -version after JDK-8074552
  • serviceability/attach/AttachWithStalePidFile.java createJavaPidFile() fails
  • Remove /jre subdir in hotspot dist dir
  • Class verifier accepts an invalid class file
  • serviceability/threads/TestFalseDeadLock.java should be unquarantined
  • Enable RewriteBytecodes when VM runs with CDS
  • Zero interpreter asserts for SafeFetch calls in ObjectMonitor
  • ppc: port "8074345: Enable RewriteBytecodes when VM runs with CDS"
  • Serviceability: New diagnostic commands 'VM.set_flag' and 'JVMTI.data_dump'
  • Merge templateTable_x86 _32 and _64 .hpp files
  • [TESTBUG] Hotspot JTREG tests should use unique CDS archive names
  • os::getenv is inadequate
  • bytecodeInterpreter.cpp refers to unknown labels.
  • Provide SafeFetchX implementation for zero
  • com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java: assert(!on_C_heap() || allocated_on_C_heap()) failed: growable array must be on C heap if elements are
  • remove dead code - fast_iagetfield
  • Make common code from template interpreter code
  • Add ManagementAgent.status diagnostic command
  • VM permits illegal flags for class init method
  • serviceability/dcmd/vm/SetVMFlagTest.java test fails with "java.lang.Error: 'MaxHeapSize' flag is not available or immutable"
  • Remove obsolete dl_mutex lock
  • [Findbugs] SA com.sun.java.swing.action.ActionManager.manager should be package protect
  • Structured Exception Catcher missing around CreateJavaVM on Windows
  • Fix Zero Interpreter bugs in class redefinition and template interpreter changes
  • Remove the static instance variable SharedHeap:: _sh
  • CMS concurrentMarkSweepGeneration contains lots of unnecessary allocation failure handling
  • Remove unused MemoryManager::kind()
  • Replace the macro based implementation of oop_oop_iterate with a template based solution
  • Remove unnecessary oopDesc::klass() calls
  • Clean up/move things out of SharedHeap
  • Move the StrongRootsScope out of SharedHeap
  • Remove SharedHeap
  • Remove n_gens()
  • Make whitebox API functions more stable
  • Kitchensink hanged with 16Gb heap and GC pause >30 min
  • SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29
  • CollectedHeapName in SA agent incorrect
  • src/share/vm/oops/instanceRefKlass.inline.hpp has a doubble /*
  • Build failure on OSX after compiler upgrade
  • Simplify deal_with_reference
  • Add comment to ClearNoncleanCardWrapper::do_MemRegion()
  • TracePageSizes output reports wrong page size on Windows with G1
  • java hangs with -XX:ParallelGCThreads=0 -XX:+ExplicitGCInvokesConcurrent options
  • Java 9 process negative MaxTenuringThreshold in different way than Java 8
  • PSPromotionLAB _state is unintialized
  • Remove CollectedHeap::supports_heap_inspection()
  • Unnecessary and incorrect "Code Cache Roots" G1 log entry
  • Avoid use of Universe::heap() inside collectors
  • Optimized build is broken
  • Fix includes of inline.hpp in GC code
  • Build failure with SS12u4
  • Remove guarantee from GenCollectedHeap::is_in()
  • BACKOUT - java hangs with -XX:ParallelGCThreads=0 -XX:+ExplicitGCInvokesConcurrent options
  • Add regression test for JDK-8000831
  • Eagerly reclaimed humongous objects left on mark stack
  • C2 should optimize explicit range checks
  • Fix for 8064703 is not sufficient
  • Print locals & stack slots location for PcDescs
  • Extend -XX:CompileCommand=print,* to work for MethodHandle.invokeBasic/linkTo*
  • Show runtime call details when printing machine code
  • MHI::checkCustomized isn't eliminated for inlined MethodHandles
  • Never-taken branches cause repeated deopts in MHs.GWT case
  • compiler/whitebox/DeoptimizeFramesTest fails with exit code 1 due to unrecognized VM option -XX:+IgnoreUnexpectedVMOptions
  • Costs of memory operands in aarch64.ad are inconsistent
  • Unnecessary sign extension for byte array access
  • assert(fm == NULL || fm->method_holder() == _participants[n]) failed: sanity
  • AIX: clean-up HotSpot make files
  • aix: improve handling of native memory
  • compiler/rangechecks/TestExplicitRangeChecks.java fails in compiler nightlies
  • Allow ADLC register class to depend on runtime conditions also for cisc-spillable classes
  • SIGSEGV in nmethod sweeping
  • assert(t == t_no_spec) fails in phaseX.cpp
  • assert assert(allocx == alloc) fails in library_call.cpp
  • (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
  • Compilation of constant array containing different sub classes crashes the JVM
  • Integer/FP scalar reduction optimization
  • Fix format warning/error in methodHandles_ppc.cpp
  • CheckCastPPNode::Value() has outdated logic for constants
  • assert(((ABS(iv_adjustment_in_bytes) % elt_size) == 0)) fails in superword.cpp
  • PICL based initialization of L2 cache line size on some SPARC systems is incorrect
  • IndexOutOfBoundsException in HeapByteBufferTest.java
  • hotspot/test/compiler/codecache/jmx/PoolsIndependenceTest.java has been fixed, but still is in the exclude list
  • aix: After 8075506, aix does not support large pages.
  • Move rtmLocking.cpp to shared directory.
  • Class.getSimpleName() should work for non-JLS compliant class names
  • C2: inlining failure due to access checks being too strict
  • JSR292: remove unused native and constants
  • AARCH64: Add C2 intrinsic for BigInteger::multiplyToLen() method
  • java.lang.invoke.PermuteArgsTest.java fails with "assert(is_Initialize()) failed: invalid node class"
  • [Findbugs] SA com.sun.java.swing.ui.CommonUI some methods need final protect
  • jvmtiRedefineClasses.cpp assert cache ptrs must match
  • embedded/minvm/checknmt fails on compact1 and compact2 with minimal VM
  • ThreadMXBean.getThreadInfo() corrupts memory when called with empty array for thread ids
  • Use CanUseSafeFetch instead of probing SafeFetch stub directly
  • serviceability/sa/jmap-hashcode/Test8028623.java fails with AssertionFailure: can not get class data for java/lang/UNIXProcess$Platform$$Lambda
  • [TESTBUG] Remove @ignore from runtime\NMT\JcmdDetailDiff.java
  • Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath
  • "if( !this )" construct prevents build on Xcode 6.3
  • Make CreateMinidumpOnCrash a new name and available on all platforms
  • Thread id should be displayed as a hex number in error report
  • Deprecated integer options are considered as invalid instead of deprecated in Java 9
  • Contended Locking fast exit bucket
  • Allow com.sun.management to be in a different module to java.lang.management
  • [TESTBUG] Enable Hotspot jtreg tests to run in agentvm mode
  • Fix warning: increase O_BUFLEN in ostream.hpp -- output truncated
  • BSD build failures due to undefined macros
  • Deprecated UseBoundThreads, DefaultThreadPriority and NoYieldsInMicrolock VM options still defined in globals.hpp
  • many nightly tests failed due to NoSuchMethodError: sun.management.ManagementFactoryHelper.getDiagnosticMXBean
  • SATB queue pre-filter verify found reclaimed humongous object
  • G1: Remove G1SATBPrintStubs
  • G1: Remove PrintReachable support
  • Remove duplicate variables holding the CollectedHeap
  • Cleanup of Universe::initialize_heap()
  • Rename and clean up the ParGCAllocBuffer class
  • Remove TraceMarkSweep
  • Remove the unused java_lang_invoke_CallSite::target_volatile
  • Modify assert to help debug JDK-8068448
  • Fix non-pch build after "8076457: Fix includes of inline.hpp in GC code"
  • Introduce hotspot_basicvmtest
  • SATB apply_closure_to_completed_buffer should have closure argument
  • G1: Remove dead code PrintObjsInRegionClosure
  • UseSerialGC not always set up properly
  • Format issues embedded in macros for two g1 source files
  • Fix include of stack.inline.hpp in taskqueue.hpp.
  • BACKOUT: Rename and clean up the ParGCAllocBuffer class
  • Rename and clean up the ParGCAllocBuffer class
  • Parallel GC registers Java heap twice to NMT
  • Make sure G1ParGCAllocBuffer are marked as retired
  • verify_no_cset_oops found reclaimed humongous object in SATB buffer
  • Misuses of strncpy/strncat
  • Zero fails to build
  • Can't run SA tools from a non-images build
  • [TESTBUG] runtime/CommandLine/TestVMOptions.java fails when running with an OpenJDK build
  • [TESTBUG] Merge hotspot_runtime and hotspot_runtime_closed in jprt test set
  • add ability to load uncompressed object and Klass references in a compressed environment to Unsafe
  • more performance issues in class redefinition
  • [TESTBUG] Fix runtime/StackGuardPages/testme.sh to deal with 64k pages
  • Move virtualspace.* out of src/share/vm/runtime to memory directory
  • AllocateHeap() and ReallocateHeap() should be inlined.
  • SA's dumpreplaydata, dumpcfg and buildreplayjars are broken
  • CallSite dependency tracking scales devastatingly poorly
  • adlc: allow nodes that use TEMP inputs in expand rules.
  • 8011102 changes may cause incorrect results
  • moving predicate out of loops may cause array accesses to bypass null check
  • compiler/jsr292/MHInlineTest.java failed with java.lang.RuntimeException: 'MHInlineTest$A::protected_x (3 bytes) virtual call' found in stdout
  • C1 should support conditional card marks (UseCondCardMark)
  • Recent developments for ppc.
  • ppc: pass thread to throw_AbstractMethodError
  • Use RBP register as proper frame pointer in JIT compiled code on x86
  • compiler/arraycopy/TestArrayCopyNoInitDeopt.java fails with exception 'm2 not deoptimized'
  • JVM fastdebug build compiled with GCC 5 asserts with "widen increases"
  • mb/jvm/compiler/InterfaceCalls/testAC2 - assert(predicate_proj == 0L) failed: only one predicate entry expected
  • quarantine compiler/jsr292/CallSiteDepContextTest.java
  • quarantine TestLargePageUseForAuxMemory.java
  • disable JDK-8061553 optimization while JDK-8077392 is resolved
  • aarch64: fails to build due to changes to template interpreter
  • (tz) Support tzdata2015d
  • java.time.zone.ZoneRules.getOffset(java.time.Instant) can be optimized
  • End time checking for native TGT is wrong
  • hprof agent: Build failed with VS2013 Update 4
  • SPNEGO auth fails if client proposes MS krb5 OID
  • AARCH64: JDK fails to build due to undefined symbol in libpng
  • [TESTBUG] jps doesn't display anything on embedded platforms and it causes some tests to fail
  • "java.lang.NullPointerException: Method name is null" from StackTraceElement.
  • Remove /jre subdir in hotspot dist dir
  • java/lang/management/ThreadMXBean/FindDeadlocks.java should be unquarantined
  • com/sun/jdi/InstanceFilter.java failing due to missing MethodEntryRequest calls
  • Add ManagementAgent.status diagnostic command
  • MHI::checkCustomized isn't eliminated for inlined MethodHandles
  • (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
  • DMH LFs should be customizeable
  • Class.getSimpleName() should work for non-JLS compliant class names
  • JSR292: remove unused native and constants
  • JSR292: InvokerBytecodeGenerator: convert a check for REF_invokeVirtual on an interface into an assert
  • JVM crashes reproducible with GCM cipher suites in GCTR doFinal
  • sun/tools/jstatd/TestJstatdPort.java: java.net.ConnectException: Connection refused: connect
  • ThreadMXBean.getThreadInfo() corrupts memory when called with empty array for thread ids
  • jdb eval java.util.Arrays.asList(array) shows inconsistent behaviour
  • Port jdk.internal.instrumentation to jdk 9
  • java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java fails intermittently
  • ThreadStackTrace.java throws exception: BlockedThread expected to have BLOCKED but got RUNNABLE
  • com/sun/jdi/ConnectedVMs.java should be unquarantined
  • Allow com.sun.management to be in a different module to java.lang.management
  • jstatd is not terminated even though it cannot contact or bind to RMI Registry
  • many nightly tests failed due to NoSuchMethodError: sun.management.ManagementFactoryHelper.getDiagnosticMXBean
  • JMXStartStopTest fails intermittently on slow hosts
  • sun/management/jmxremote/startstop/JMXStatusTest.java failed with AssertionError
  • add ability to load uncompressed object and Klass references in a compressed environment to Unsafe
  • CallSite dependency tracking scales devastatingly poorly
  • Customize adapted MethodHandle in MH.invoke() case
  • JDK fails with "jdk\\bin\\management_ext.dll: The specified procedure could not be found"
  • NullPointerException in PKCS#12 Keystore in PKCS12KeyStore.java
  • Certificate returns null Subject Alternative Name if it is an X400Address type
  • Update to RegEx test to use random number library
  • tools/launcher/FXLauncherTest.java fails intermittently (win)
  • [TESTBUG] javax/security/auth/Subject/doAs/NestedActions.java fails if extra VM options are given
  • Eliminate JDK build dependency of native2ascii and update Japanese nroff man pages to UTF-8 encoding
  • some docs cleanup for sun.security
  • Mark java/util/regex/RegExTest.java as failing intermittently
  • Add @modules as needed to the jdk_svc tests
  • AIX: fix build after '8042901: Allow com.sun.management to be in a different module...'
  • Add 'localeServiceProvider' target in the class description of RuntimePermission
  • (fs spec) Files.newBufferedWriter doesn't specify SecurityException for DELETE_ON_CLOSE option
  • Compiler fails to reject erroneous use of diamond with anonymous classes involving "fresh" type variables.
  • javac diamond finder crashes when used to build java.base module.
  • Refactor Attr.check* methods to receive/handle a CheckMode enumeration
  • The field Gen.stringBufferType is no longer needed (and not always initialized properly)
  • Allow com.sun.management to be in a different module to java.lang.management
  • Nashorn crashes when attempting to start TypeScript compiler
  • Persistent code cache should support more configurations
  • Optimistic rewrite in object literal causes ArrayIndexOutOfBoundsException
  • Eliminate dead code around Nashorn code generator
  • Enforce best practices for Node token API usage
  • Fuzzing bug: Parser error on optimistic recompilation
  • Misleading error message when explicit signature constructor is called with wrong arguments
  • Remove casts redundant with Java 9 buffer APIs

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 57 Early Access (Apr 4, 2015)

  • Investigate NMT detail tracking support for 32bit ARM
  • AARCH64: Missed L2I optimizations in C2
  • Enable hotspot builds on 4.x Linux kernels
  • Exclude aarch64 from Visual Studio projectcreator.make
  • Remove unused frame::native_param_addr code
  • Deprecated "UseVectoredExceptions" VM options still defined in several globals files
  • SafeFetch32 and SafeFetchN do not work in error handling
  • Investigate NMT detail tracking support for 32bit ARM
  • MetadataOnStackMark only needs to walk code cache during class redefinition
  • Merge interp_masm files for x86 _32 and _64
  • Enable gcc -Wtype-limits and fix upcoming issues.
  • C2 code generator can replace -0.0f with +0.0f on Linux
  • add trace events for inlining
  • jaxp/test/Makefile reference of win32 directory no longer valid
  • Add jdk_other and jdk_svc to jdk tier 2 test definition
  • Resolve disabled warnings for libunpack and the unpack200 binary
  • (sctp) com/sun/nio/sctp/SctpMultiChannel/SendFailed.java fails on Solaris only
  • j.u.Properties.load() methods have misaligned @throws clauses
  • NIO test generation scripts have incorrect path to Spp.java
  • Mark intermittently failuring security-libs tests
  • jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did
  • Tests for PKCS12 write operations.
  • jmap test fails due to "ERROR: java.nio.file.NoSuchFileException: 2906081d-06bc-4738-a7e8-f37b8bf13658.lck"
  • Typo in Javadoc for java.util.Optional.equals()
  • (process spec) ProcessBuilder.start spec linked to the wrong checkRead and checkWrite methods
  • A typo in the documentation for class ProcessBuilder
  • Remove intermittent keyword from some tests
  • (process) Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero when unit == null
  • sun/management/jmxremote/startstop/JMXStartStopTest.java fails with InvocationTargetException
  • javadoc typo in DiagnosticCommandMBean.java: {code instead of {@code
  • More specific error message when the .java_pid well-known file is not secure
  • jdk/test/com/sun/jdi/BadHandshakeTest.java should retry if tcp port is taken
  • [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction
  • Add default[Read|Write]Object to java.util.Date
  • Remove javax.security.cert.X509Certificate usage in internal networking packages
  • DateFormat in german locale returns wrong value for month march
  • Pipeline calculating inconsistent flag state for parallel stateful ops
  • Implement classfile tests for Signature attribute
  • Temporary patch to get fx imports working interim
  • Startup time: Port shell.js to Java
  • Global scope should be initialized lazily
  • Output of some tests contains platform specific line break
  • toNumber(String) accepts illegal characters

New in Java SE Development Kit (JDK) 9 Build 56 Early Access (Apr 2, 2015)

  • Mixed case Windows path break native dependency checks
  • Turn on doclint checking of modules in the langtools repo
  • [jconsole] VM Summary Tab is blank for JDK9's jconsole.
  • add WhiteBox API to get a flag value for a method
  • Change layout of gcov .gcno files in symbols image
  • DISABLED_WARNINGS caused C++ compiler flags to get lost
  • Create custom hook for running after AC_OUTPUT
  • Update jtreg bin location in configure
  • AIX: cleanup xlc options and use -bernotok to detect missing symbols at build time
  • AARCH64: Stray pop in C1 LIR_Assembler::emit_profile_type
  • Clean up OrderAccess implementations and usage
  • Infinite loop reading types during jmap attach.
  • Unused VM Options in JDK9 HotSpot
  • perfMemory_solaris.cpp failing to compile with "Error: dd_fd is not a member of DIR."
  • Merge template interpreter files for x86 _32 and _64.
  • runtime/NMT/MallocSiteHashOverflow.java failing in nightlies
  • Update source and target version used when compiling hotspot class files
  • Use shorter and more descriptive names for GC worker threads
  • G1 eden usage is sometimes higher than target eden (printed Eden size)
  • @ignore should be placed after @test
  • Missing symbol "objArrayOopDesc::obj_at" when buiding with CPP Interpreter
  • Wrong volatile qualifier for field ClassLoaderDataGraphKlassIteratorAtomic::_next_klass
  • track collection set membership in one place
  • Marking statistics should use size_t
  • resolve conflicts between open and closed ports
  • [TESTBUG] compiler/whitebox/DeoptimizeFramesTest fails with exit code 1
  • add WhiteBox API to get a flag value for a method
  • AARCH64: Stack banging should use store rather than load
  • Update javax/xml tests to remove references of jre dir
  • OCSPResponse.SingleResponse objects do not parse singleExtensions
  • Add javadoc to serialver class
  • javadoc of Properties methods should specify NullPointerExceptions
  • (prefs) CodePointZeroPrefsTest fails on certain platforms
  • convert MacAlg to an enum
  • Optimize Stream.count for SIZED Streams
  • Mark testFlatMappingClose (from CollectorsTest) as serialization hostile
  • Resolve disabled warnings for libosxkrb5
  • Resolve disabled warnings for libj2gss
  • Tidy warnings cleanup for packages java.security/javax.security
  • Optimized count operations incorrectly declare the stream shape
  • RandomAccessFile.getChannel changed to non-final in error
  • Race condition in java/lang/management/ThreadMXBean/AllThreadIds.java
  • com/sun/jdi/RunToExit fails with "ConnectException: Connection refused"
  • com/sun/jdi/NativeInstanceFilter.java requires adjustments to work with module boundaries
  • DISABLED_WARNINGS caused C++ compiler flags to get lost
  • JCK test java_util/regex/MatchResult/index.html starts failing after JDK-8071479
  • Remove Version.java.template from jconsole
  • NullPointerException and no event received when clipboard data flavor changes
  • Memory leak in jdk/src/java/desktop/share/native/libjavajpeg/imageioJPEG.c
  • JMenuBar looks bad under retina
  • JPGWriter does not throw UnsupportedException when canWriteSequence retuns false
  • OpenJDK: PiscesCache : xmax/ymax rounding up can cause RasterFormatException
  • Strange behaviour of per-pixel translucency on linux
  • JFrame.EXIT_ON_CLOSE can be removed in favour of WindowConstants.EXIT_ON_CLOSE
  • Refactor X11FontManager
  • Newly introduced unnecessary dependencies on internal API in client regtests
  • Mouse events are captured by the wrong menu in OS X
  • Erroneous javadoc for TableColumn.addPropertyChangeListener
  • Switching to GTK L&F on-the-fly leads to X Window System error RenderBadPicture
  • Minimize can cause window to disappear on osx
  • OS X build broken by reference to XToolkit
  • Support ISO 4217 "Current funds codes" table (A.2)
  • Support for currencies with the 4 digits (or more) minor unit
  • AIX port of "8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework"
  • Add tiered testing definitions to the jdk repo
  • Define @intermittent jtreg keyword and mark intermittently failing jdk tests
  • Privilege tests with JAAS Subject.doAs
  • java.lang.NullPointerException at com.sun.tools.javac.code.Types.elemtype(Types.java:1870)
  • Attr.visitBinary flags error at wrong position
  • java.lang.AssertionError during compiling
  • Turn Type.Mapping into a true visitor
  • type inference performance regression
  • List.Threads spinning infinitely in WeakHashMap.get running test262parallel
  • Add tests for the basic failure of try/finally compilation
  • Nashorn parser API returns StatementTree objects in out of order
  • ArrayBuffer constructor was erroneous with zero args
  • revert multithreaded deoptimizing compilation livelock prevention
  • nashorn parser API returns init variable tree object of a for loop after for loop statement tree object
  • Anonymous functions have internal names exposed via parser API
  • Add a pretty printer that prints script source in nice form
  • Tests for AST presentation Nashorn Parser API
  • Tests for Diagnostic listener for Nashorn Parser API
  • Create tests for Nashorn Parser API for create Tree from some different source and parameters
  • jjs exits even when non-daemon threads are still active

New in Java SE Development Kit (JDK) 9 Build 55 Early Access (Mar 20, 2015)

  • Move pack200, unpack200, libpack200 to jdk.pack200
  • Move jar, jarsigner tool to jdk.jartool module
  • Move policytool to jdk.policytool module
  • Disable (most) native warnings in JDK on a per-library basis
  • add native code coverage target into makefiles
  • bigapps/Weblogic+medrec/nowarnings fails due to CodeHeap 'profiled nmethods' exhaustion
  • hgforest.sh needs an option to bring over a smaller set of extra repos
  • Reduce boilerplate in Setup* macro definitions
  • Turn on doclint checking in the build of modules in the jdk repo
  • the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
  • [TESTBUG] Cleanup test output and skip creating mini dumps
  • [TESTBUG] runtime/threads/Fibonacci: OutOfMemoryError: unable to create native thread
  • Replace hotspot/testlibrary use of sun.management with public API
  • fix for 8047720 may need more work
  • jcmd hangs until another jcmd is executed (which, in turn also hangs)
  • Quarantine failing test: gc/TestSoftReferencesBehaviorOnOOME.java due to JDK-8073669
  • serviceability/dcmd/gc/RunGCTest.java should not run with -XX:+ExplicitGCInvokesConcurrent
  • Add BarrierSet downcast support
  • GC workers do not have thread names
  • Remove buffer retaining functionality and clean up in ParGCAllocBuffer
  • gc/TestSmallHeap.java throw OOM
  • barrier_set_cast defined via friend injection
  • quarantine compiler/tiered/LevelTransitionTest
  • Closed compiler tests should not be in hotspot/test/TEST.groups
  • Don't create MDO for constant getters
  • compiler/codecache/jmx/UsageThresholdIncreasedTest.java failed: java.lang.RuntimeException: Usage threshold was hit: 1 times for CodeHeap 'non-nmethods'
  • System.arraycopy works slower than the simple loop for little lengths
  • bigapps/Weblogic+medrec/nowarnings fails due to CodeHeap 'profiled nmethods' exhaustion
  • compiler/codecache/stress/RandomAllocationTest.java + fastdebug + -XX:+LogCompilation, "allocating without ResourceMark"
  • Fix waring "converting to non-pointer type 'bool' from NULL" in arraycopynode.cpp
  • compiler/loopopts/CountedLoopProblem.java got OOME
  • Compile of java.lang.Integer::getChars fails with LoopLimitCheck = false after 8054478
  • assert((get_length_if_constant(phase) == -1) == !ary_src->size()->is_con()) failed: inconsistent
  • TypeF::eq and TypeD::eq do not handle NaNs correctly
  • assert(check_obj_alignment(result)) failed: address not aligned: ...
  • [TESTBUG] runtime/SharedArchiveFile tests fail on compact profiles
  • test/testlibrary_tests/RandomGeneratorTest.java failed on Assert Unexpected random number sequence for mode: NO_SEED
  • NULL-pointer dereferencing in LIR_OpProfileType::print_instr
  • Escape analysis dump misses args information
  • hotspot, "impossible" assertion failure
  • assert(ary_src != 0) failed: not an array or instance?
  • Examine references to ${java.home}/lib in JAXP
  • Need to add known answer tests for AES cipher
  • (cs) Inconsistent docs for CharsetDecoder.replaceWith and CharsetEncoder.replaceWith
  • Move pack200, unpack200, libpack200 to jdk.pack200
  • Move jar, jarsigner tool to jdk.jartool module
  • Move policytool to jdk.policytool module
  • Always print seeds used in [Splittable]Random instances in java.math tests
  • DateTimeFormatter.appendZoneOrOffsetId() fails to resolve a ZoneOffset for OffsetDateTime
  • NMT is not enabled if NMT option is specified after class path specifiers
  • Disable (most) native warnings in JDK on a per-library basis
  • Fix for JDK-8074429 was not complete
  • NetworkInterface.getNetworkInterfaces() triggers intermittent test failures
  • Deprecate security APIs that have been superseded
  • Add javax/xml/jaxp/testng/validation to othervm.dirs in TEST.ROOT
  • Javadoc typo in PKCS8EncodedKeySpec
  • Doclint regression in java/util/regex/Matcher.java
  • (process spec) ProcessBuilder.redirectXXX throws unspecified NPE
  • Really add javax/xml/jaxp/testng/validation to othervm.dirs in TEST.ROOT
  • the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
  • Modernize Unsafe internal javadoc
  • Use more efficient and readable way of checking PKZIP signatures
  • Only the first DNSName entry is checked for endpoint identification
  • Long-form date format incorrect month string for Finnish locale
  • Resolve disabled warnings for the JVMTI demo compiledMethodLoad
  • Resolve disabled warnings for the JVMTI demo waiters
  • policytool launcher missing
  • Reduce boilerplate in Setup* macro definitions
  • Disabling warnings on clang triggers compiler bug for libunpack
  • Bad javadoc tags in javax.xml.crypto.dsig
  • (prefs) FileSystemPreferences writes \0 to XML storage, causing loss of all preferences
  • NULLCHK is emitted as Object.getClass
  • Javac fix for 8073432 is missing right test BugIDs
  • Bootcycle images build fails on Windows32/64
  • Provide filtering of doclint checking based on packages
  • Table's field width in "Use" page generated by javadoc with '-s' is unbalanced
  • Generate iframe instead of frame and frameset for index.html page
  • Improper "duplicate case label" error
  • run-nasgen in ant doesn't see the right Nashorn classes
  • Static analysis of IfNode should consider terminating branches
  • Undefined object values in object literals with spill properties
  • Functions should not share allocator maps
  • Nashorn Parser API
  • Add tests for JSON parsing of numeric keys
  • Add few sample scripts to demo nashorn parser API
  • More agressive value discarding
  • Different instances of same function use same allocator map
  • Unused imports, a missing javadoc and a build warning
  • Forward port AbstractJSObject.getDefaultValue(JSObject, Class)
  • Livelock in CompiledFunction.getValidOptimisticInvocation
  • Reduce boilerplate in Setup* macro definitions

New in Java SE Development Kit (JDK) 9 Build 54 Early Access (Mar 13, 2015)

  • Add support for building native JTReg tests
  • Bring compare.sh up to date with JDK 9
  • Improvements in compare.sh from build-infra
  • Race condition in build since JDK-8072842 can cause failed builds on Solaris
  • Add jdk.management.cmm in boot.modules that needs sun.management.spi be exported to it
  • AARCH64: Top-level JDK changes
  • AARCH64: better handling of aarch64- triples
  • images/cursors should not be in ${java.home}/lib
  • Even with toolchain type clang, OBJC is set to gcc
  • Remove dead code from merge mistake in JavaCompilation.gmk
  • ccache 1.3.10 still not detected properly
  • Random build failures in javadoc on Solaris
  • Add support for building native JTReg tests
  • AARCH64: Changes to HotSpot shared code
  • AARCH64: os_cpu
  • AARCH64: Assembler interpreter, shared runtime
  • AARCH64: C1 and C2 compilers
  • Changes to JavaThread::_thread_state must use acquire and release
  • AARCH64 staging fail to build
  • AARCH64: SIGSEGV in MethodData::next_data(ProfileData*)
  • [AARCH64] missing fix for 8066900
  • AARCH64: aarch64.ad uses the wrong operand class for some operations
  • Add AArch64 support to hsdis
  • AARCH64: frame::safe_for_sender() computes incorrect sender_sp value for interpreted frames
  • [AARCH64] stage repo misses fixes from several Hotspot changes
  • building jdk9 with jdk9 boot jdk can cause failure or incorrect results
  • Argument checking for SE Embedded and ARM should be moved out of arguments.cpp
  • Get rid of the depenecy from handles.hpp to oop.inline.hpp
  • REDO - Remove the generations array
  • Remove the include of resourceArea.hpp from classFileParser.hpp
  • jmap -heap fails after generation array removal
  • G1 Hot card cache should use ArrayAllocator to allocate the cache array
  • Remove unnecessary includes of markSweep[.inline].hpp
  • [TEST_BUG] Adapt collectorPolicy internal tests to support 64K pages
  • Circular include dependency between psScavenge.inline.hpp and psPromotionManager.inline.hpp
  • JVM crashes during GC on various asserts which checks that HeapWord ptr is an oop
  • AARCH64: C2 generates poor code for some byte and character stores
  • Add a flat-mapping collector
  • Add support for building native JTReg tests
  • Serialization should issue a freeze action after reconstituting a graph that contains objects with final fields
  • Assertion in LambdaFormEditor.bindArgumentType is too strict
  • Test jdk/lambda/vm/InterfaceAccessFlagsTest.java gets IOException during compilation
  • java.util.Arrays setAll and parallelSetAll subrange note
  • (so) Socket adapter sendUrgentData throws IllegalBlockingMode when channel configured non-blocking
  • Named extension not recognized in keytool -ext honored after 8073182
  • Lazy conversion of ZipEntry time
  • Unpredictable timezone on Windows when OS's timezone is not found in tzmappings
  • (ch) FileDispatcherImpl.truncate0 should use SetFileInformationByHandle [win]
  • Race condition in build since JDK-8072842 can cause failed builds on Solaris
  • Instant.ofEpochMilli(millis).toEpochMilli() can throw arithmetic overflow in toEpochMilli()
  • Add jdk.management.cmm in boot.modules that needs sun.management.spi be exported to it
  • Correct @see cross-refs to the JLS in java.lang[.annotation]
  • AARCH64: JDK changes
  • AARCH64: remove src/java.base/unix/native/libjli/aarch64/jvm.cfg
  • Useless code in share/native/libjava/VM.c
  • Stream and lambdafication improvements to j.u.regex.Matcher
  • JDI ObjectReferenceImpl.invokeMethod() validation fails for virtual invocations of method with declaring type being an interface
  • Java application menu misbehaves when running multiple screen stacked vertically
  • javadoc for BasicOptionPaneUI.addMessageComponents() has typo and grammar errors
  • IllegalArgumentException in JTree.AccessibleJTree
  • Wrong exception messages in java.awt.color.ICC_ColorSpace
  • Fix copyright year for test from JDK-8071705
  • [macosx] Jtree icon painted over label when scrollbars present in window
  • images/cursors should not be in ${java.home}/lib
  • Toolkit.getScreenInsets() doesn't update if insets change
  • [macosx] Initialization of Cocoa hangs if CoreAudio was initialized before
  • JComponent.AccessibleJComponent.addPropertyListeners adds exponential listeners
  • Focus lost in applet when browser window is minimized and restored
  • SoundLibraries.gmk and SoundDefs.h: remove isSigned8() dead code
  • Improve tracing for java.security.debug=certpath
  • keystore and truststore debug output could be much better
  • Test signed jar files
  • More MessageDigest tests
  • Implement regression test for bug fix of 4686632 in JCE
  • (bf) Re-examine java.base/share/native/libjava/Bits.c
  • Files.lines() documentation needs clarification
  • (fs) FileSystem.getPathMatcher(...) should check syntax component without regard to case
  • java/io/Serializable/clearHandleTable/ClearHandleTable.java timed out
  • warnings from b119 for jdk/src/share/back: JNI exception pending
  • "The server has decided to close this client connection" repeated continuously
  • java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java fails intermittently
  • java* tools: replace obj.getClass hacks with Assert.checkNonNull or Objects.requireNonNull
  • Invalid method reference when referencing a method on a wildcard type
  • Allow interface methods to be private
  • Add lambda-based lazy eval versions of Assert.check methods
  • Object.getClass() throws stackless NPE, due to C2 intrinsic
  • Indirect eval fails when used as an element of an array or as a property of an object
  • const re-assignment should not reported as a early error
  • Canonicalize is-a-JS-string tests
  • Restore some of the RuntimeCallSite specializations

New in Java SE Development Kit (JDK) 9 Build 53 Early Access (Mar 6, 2015)

  • Enhance GensrcProperties.gmk to allow an alternative source root
  • Update java.net.URL to work with modules
  • Remove the sun.security.acl package which is not used in the JDK
  • Add convenient way of adding custom configure options to jprt
  • BASIC_FIXUP_EXECUTABLE should not fail on empty path
  • Configure must handle invalid elements on INCLUDE/LIB for visualstudio
  • Remove unused imports in java.corba, java.jaxws, jdk.httpserver
  • Fix missing newline at end of file after 8067447
  • Eliminate ProcessTools.getProcessId dependency on sun.management.VMManagement
  • Contended Locking fast enter bucket
  • Runtime: Add Diagnostic Command that prints the class hierarchy
  • Undo change to -retain argument in hotspot/test/Makefile
  • Remove meta-index support and cleanup hotspot code for rt.jar etc in non-modular jdk image
  • Clean up around VM_GC_Operations
  • Refactor VM GC operations caused by allocation failure
  • Move the g1EvacFailure.hpp implementation to g1EvacFailure.cpp
  • Remove includes of oop.inline.hpp from .hpp files
  • assert(_covered_region.contains(p)) needs better error messages
  • Move VerifyOopClosures out from genOopClosures.hpp
  • Locks need better debug-printing support
  • Nondeterministic wrong answer on arithmetic
  • Re-examine jdk.xml.ws dependency on java.xml.ws SOAPNamespaceConstants
  • Remove unused imports in java.corba, java.jaxws, jdk.httpserver
  • Missing doPrivileged in com.sun.xml.internal.bind.v2.ClassFactory
  • Replace obj.getClass hacks with Objects.requireNonNull
  • ZipEntry/JarEntry.setCreation/LastAccessTime(null) don't throw NPE as specified
  • Enhance GensrcProperties.gmk to allow an alternative source root
  • Update java.net.URL to work with modules
  • URL should not use service loader to lookup the jar protocol handler
  • Separate SNMP messages from sun.management.resources.agent
  • Remove the sun.security.acl package which is not used in the JDK
  • Add isDaemon() and getPriority() to ThreadInfo
  • javadoc warnings in serviceability code
  • StackOverflowError called StackOverflowException in javadoc
  • com/sun/management/OperatingSystemMXBean/TestTotalSwap.sh fails on OS X with exit code 2
  • Clock.systemUTC() should return a constant
  • Remove unused imports in java.corba, java.jaxws, jdk.httpserver
  • keytool -ext honored not working correctly
  • keytool may generate duplicate extensions
  • Socket impls should ignore unsupported proxy types rather than throwing
  • Spurious AccessControlException thrown in java.lang.Class.getEnclosingMethod()
  • VM crashed with SIGSEGV VirtualMemoryTracker::add_reserved_region
  • JNI exception pending in jdk/src/solaris/native/java/net: ExtendedOptionsImpl.c, PlainDatagramSocketImpl.c
  • Memory leak in jdk/src/windows/native/java/lang/java_props_md.c
  • java.util.logging should use java.time to get more precise time stamps
  • Check jdk/src/solaris/native/sun/nio for Parfait flagged uninitialized memory
  • Enable charsets build system to configure euc_tw into java.base module/sun.nio.cs
  • KeyToolTest.java has too many too long lines
  • IBM1166 Locale Request for Kazakh characters
  • Update java.security.debug help text to reflect recent enhancements for debugging
  • Update test/java/nio/charset/Charset/NIOCharsetAvailability.java to work with module system
  • TimSortStackSize2.java: test cleanup: make test run with single argument
  • Spec of j.l.r.Method.toString/toGenericString need to be clarified
  • Inference should not map capture variables to their upper bounds
  • Compiler crashes trying to cast UnionType to IntersectionClassType
  • Remove the sun.security.acl package which is not used in the JDK
  • Inaccessible nested classes can be incorrectly imported
  • Javadoc cross-compilation problem
  • Can't compare Java objects to strings or numbers
  • Update BuildNashorn.gmk to require source/target 8 for jdk9 build

New in Java SE Development Kit (JDK) 8 Update 40 (Mar 4, 2015)

  • Java Packager Tool Enhancements:
  • Command-line arguments can be passed to self-contained applications. Default arguments are defined when the package is created, which can be overridden by the user when the application is started. See Passing Arguments to a Self-Contained Application.
  • File associations can be set up when a self-contained application is installed so that the operating system automatically runs the application for registered file extensions or MIME types. See Associating Files with a Self-Contained Application.
  • The UserJvmOptionsService API is available for altering JVM options in self-contained applications. The new settings are used the next time the application is started. See Customizing JVM Options in Self-Contained Applications.
  • Multiple entry points are supported for self-contained applications, which enables a suite of products to be bundled into the same application package. See Supporting Multiple Entry Points.
  • Change in default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent:
  • The default value for G1HeapWastePercent was changed from 10 to 5 to reduce the need for full GCs. For the same reason the default value for G1MixedGCLiveThresholdPercent was changed from 65 to 85.
  • New Java class-access Filtering Interface:
  • The jdk.nashorn.api.scripting.ClassFilter interface enables you to restrict access to specified Java classes from scripts run by a Nashorn script engine. See Restricting Script Access to Specified Java Classes in the Nashorn User's Guide and 8043717 (not public) for more information.
  • JavaFX Enhancements:
  • Starting with JDK 8u40 release, JavaFX controls are enhanced to support assistive technologies, meaning that JavaFX controls are now accessible. In addition, a public API is provided to allow developers to write their own accessible controls.
  • New JavaFX UI controls; a spinner control, formatted-text support, and a standard set of alert dialogs:
  • Spinner Control: A Spinner is a single line text field that lets the user select a number or an object value from an ordered sequence. See javafx.scene.control.Spinner class for more information.
  • Formatted Text: A new TextFormatter class provides text formatting capablity for subclasses of TextInputControl (for example, TextField and TextArea). See javafx.scene.control.TextFormatter class for more information.
  • Dialogs: The Dialog class allows applications to create their own custom dialogs. In addition, an an Alert class is also provided, that extends Dialog, and provides support for a number of pre-built dialog types that can be easily shown to users to prompt for a response. See javafx.scene.control.Dialog, javafx.scene.control.Alert, javafx.scene.control.TextInputDialog, javafx.scene.control.ChoiceDialog classes for more information.
  • Bug fixes:
  • 8028241 - client-libs - Java Access Bridge: F key shortcuts not working if Ctrl, Alt, Shift modifier used
  • 8040279 - client-libs - [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor
  • 8059944 - client-libs - [OGL] Metrics for a method choice copying of texture should be improved
  • 8064468 - client-libs - ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method
  • 7067052 - client-libs - 2d - Default printer media is ignored
  • 8028539 - client-libs - 2d - Endless loop in native code of sun.java2d.loops.ScaledBlit
  • 8034218 - client-libs - 2d - AIX: Provide a better fontconfig.properties file
  • 8039444 - client-libs - 2d - Swing applications not being displayed properly
  • 8046007 - client-libs - 2d - Java app receives javax.print.PrintException: Printer is not accepting job.
  • 8047066 - client-libs - 2d - Test test/sun/awt/image/bug8038000.java fails with ClassCastException
  • 8048583 - client-libs - 2d - CustomMediaSizeName class matching to standard media is too loose
  • 8054638 - client-libs - 2d - xrender: text drawn after setColor(Color.white) is actually black
  • 8056122 - client-libs - 2d - Upgrade JDK to use LittleCMS 2.6
  • 8057830 - client-libs - 2d - Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface
  • 8057934 - client-libs - 2d - Upgrade to LittleCMS 2.6 breaks AIX build
  • 8059941 - client-libs - 2d - [D3D] The fix for JDK-8029253 should be ported to d3d pipeline
  • 8059942 - client-libs - 2d - Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl
  • 8061392 - client-libs - 2d - PrinterJob NPE when drawing translucent image with null user clip
  • 8061456 - client-libs - 2d - [OGL] Incorrect clip is used during sw->surface blit in xor mode
  • 8062164 - client-libs - 2d - Incorrect color conversion, when bicubic interpolation is used
  • 8026497 - client-libs - demo - Font2DTest demo: unused resource files
  • 6624085 - client-libs - java.awt - Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true
  • 7033533 - client-libs - java.awt - realSync() doesn't work with Xfce
  • 8003900 - client-libs - java.awt - X11 dependencies should be removed from Mac OS X build.
  • 8024626 - client-libs - java.awt - CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper
  • 8026385 - client-libs - java.awt - [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X
  • 8029253 - client-libs - java.awt - [macosx] Performance problems with Retina display on Mac OS X
  • 8032864 - client-libs - java.awt - [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running
  • 8033141 - client-libs - java.awt - Cleanup of sun.awt.X11 package
  • 8040007 - client-libs - java.awt - GtkFileDialog strips user inputted filepath
  • 8041734 - client-libs - java.awt - JFrame in full screen mode leaves empty workspace after close
  • 8043869 - client-libs - java.awt - [macosx] java -splash does not honor @2x hi dpi notation for retina support
  • 8046495 - client-libs - java.awt - KeyEvent can not be accepted in quick mouse clicking
  • 8048549 - client-libs - java.awt - [macosx] Disable usage of system menu bar if AWT is embedded in FX
  • 8049065 - client-libs - java.awt - [JLightweightFrame] Support DnD for SwingNode
  • 8049198 - client-libs - java.awt - [macosx] Incorrect thread access when showing splash screen
  • 8049996 - client-libs - java.awt - [macosx] test java/awt/image/ImageIconHang.java fails with NPE
  • 8051857 - client-libs - java.awt - OperationTimedOut exception inside from XToolkit.syncNativeQueue call
  • 8057788 - client-libs - java.awt - [macosx] "Pinch to zoom" does not work since jdk7
  • 8058197 - client-libs - java.awt - AWT fails on generic non-reparenting window managers
  • 8059590 - client-libs - java.awt - ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized
  • 8059998 - client-libs - java.awt - Broken link in java.awt.event Interface KeyListener
  • 8062021 - client-libs - java.awt - NPE in sun/lwawt/macosx/CPlatformWindow::toFront after 8060146
  • 8065627 - client-libs - java.awt - Animated GIFs fail to display on a HiDPI display
  • 8066986 - client-libs - java.awt - [headless] DataTransferer.getInstance throws ClassCastException in headless mode
  • 8034085 - client-libs - java.beans - Do not prefer indexed properties
  • 8034164 - client-libs - java.beans - Introspector ignores indexed part of the property sometimes
  • 8054157 - client-libs - javax.accessibility - Access Bridge; add definitions for bits 8 and 9 for for new accelerator support
  • 8057977 - client-libs - javax.accessibility - Java Access Bridge, regression, NPE, occurs randomly
  • 4991647 - client-libs - javax.imageio - PNGMetadata.getAsTree() sets bitDepth to invalid value
  • 7058697 - client-libs - javax.sound - Unexpected exceptions in MID parser code
  • 7058700 - client-libs - javax.sound - Unexpected exceptions and timeouts in SF2 parser code
  • 8054431 - client-libs - javax.sound - Some of the input validation in the javasound is too strict
  • 6302052 - client-libs - javax.swing - Reference to nonexistant Class in javadoc
  • 6521706 - client-libs - javax.swing - A switch operator in JFrame.processWindowEvent() should be rewritten
  • 7169583 - client-libs - javax.swing - JInternalFrame title not antialiased in Nimbus LaF
  • 7170310 - client-libs - javax.swing - ScrollBar doesn't become active when tabs are created more than frame size
  • 8029536 - client-libs - javax.swing - JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf
  • 8033699 - client-libs - javax.swing - Incorrect radio button behavior
  • 8042835 - client-libs - javax.swing - Unexpected mnemonic in JFileChooser
  • 8046559 - client-libs - javax.swing - NPE when changing Windows theme
  • 8048110 - client-libs - javax.swing - Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow
  • 8048887 - client-libs - javax.swing - SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method
  • 8057893 - client-libs - javax.swing - JComboBox actionListener never receives "comboBoxEdited" from getActionCommand
  • 8058193 - client-libs - javax.swing - [macosx] Potential incomplete fix for 8031485
  • 8058870 - client-libs - javax.swing - Mac: JFXPanel deadlocks in jnlp mode
  • 8059739 - client-libs - javax.swing - Dragged and Dropped data is corrupted for two data types
  • 8059943 - client-libs - javax.swing - [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance
  • 8065098 - client-libs - javax.swing - JColorChooser no longer supports drag and drop between two JVM instances
  • 8044533 - core-libs - Deoptimizing negation produces wrong result for zero
  • 8044534 - core-libs - Constant folding for unary + should produce int for boolean literals
  • 8044638 - core-libs - Tidy up Nashorn codebase for code standards
  • 8044816 - core-libs - On-demand compiled top-level program doesn't need :createProgramFunction
  • 8046201 - core-libs - Avoid repeated flattening of nested ConsStrings
  • 8056926 - core-libs - Improve caching of GuardWithTest combinator
  • 7011804 - core-libs - java.io - SequenceInputStream with lots of empty substreams can cause StackOverflowError
  • 8055949 - core-libs - java.io - ByteArrayOutputStream capacity should be maximal array size permitted by VM
  • 6853696 - core-libs - java.lang - (ref) ReferenceQueue.remove(timeout) may return null even if timeout has not expired
  • 8000975 - core-libs - java.lang - (process) Merge UNIXProcess.java.bsd & UNIXProcess.java.linux
  • 8047340 - core-libs - java.lang - (process) Runtime.exec() fails in Turkish locale
  • 8048515 - core-libs - java.lang - Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c
  • 8054841 - core-libs - java.lang - (process) ProcessBuilder leaks native memory
  • 8060485 - core-libs - java.lang - (str) contentEquals checks the String contents twice on mismatch
  • 8031373 - core-libs - java.lang.invoke - Fix deprecation and raw lint warnings in java.lang.invoke
  • 8037209 - core-libs - java.lang.invoke - Improvements and cleanups to bytecode assembly for lambda forms
  • 8037210 - core-libs - java.lang.invoke - Get rid of char-based descriptions 'J' of basic types
  • 8038261 - core-libs - java.lang.invoke - JSR292: cache and reuse typed array accessors
  • 8049555 - core-libs - java.lang.invoke - Move varargsArray from sun.invoke.util package to java.lang.invoke
  • 8050052 - core-libs - java.lang.invoke - Small cleanups in java.lang.invoke code
  • 8050053 - core-libs - java.lang.invoke - Improve caching of different invokers
  • 8050057 - core-libs - java.lang.invoke - Improve caching of MethodHandle reinvokers
  • 8050166 - core-libs - java.lang.invoke - Get rid of some package-private methods on arguments in j.l.i.MethodHandle
  • 8050173 - core-libs - java.lang.invoke - Generalize BMH.copyWith API to all method handles
  • 8050174 - core-libs - java.lang.invoke - Support overriding of isInvokeSpecial flag in WrappedMember
  • 8050200 - core-libs - java.lang.invoke - Make LambdaForm intrinsics detection more robust
  • 8050877 - core-libs - java.lang.invoke - Improve code for pairwise argument conversions and value boxing/unboxing
  • 8050884 - core-libs - java.lang.invoke - Intrinsify ValueConversions.identity() functions
  • 8050887 - core-libs - java.lang.invoke - Intrinsify constants for default values
  • 8057020 - core-libs - java.lang.invoke - LambdaForm caches should support eviction
  • 8057042 - core-libs - java.lang.invoke - LambdaFormEditor: ability to derive new LFs from a base LF
  • 8057654 - core-libs - java.lang.invoke - Extract checks performed during MethodHandle construction into separate methods
  • 8057656 - core-libs - java.lang.invoke - Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks
  • 8057657 - core-libs - java.lang.invoke - Annotate LambdaForm parameters with types
  • 8057922 - core-libs - java.lang.invoke - Improve LambdaForm sharing by using LambdaFormEditor more extensively
  • 8058291 - core-libs - java.lang.invoke - Missing some checks during parameter validation
  • 8058293 - core-libs - java.lang.invoke - Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken
  • 8058661 - core-libs - java.lang.invoke - Compiled LambdaForms should inherit from Object to improve class loading performance
  • 8058892 - core-libs - java.lang.invoke - FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl
  • 8059877 - core-libs - java.lang.invoke - GWT branch frequencies pollution due to LF sharing
  • 8059880 - core-libs - java.lang.invoke - Get rid of LambdaForm interpretation
  • 8060483 - core-libs - java.lang.invoke - NPE with explicitCastArguments unboxing null
  • 8063135 - core-libs - java.lang.invoke - Enable full LF sharing by default
  • 8066746 - core-libs - java.lang.invoke - MHs.explicitCastArguments does incorrect type checks for VarargsCollector
  • 8064667 - core-libs - java.lang:class_loading - Add -XX:+CheckEndorsedAndExtDirs flag to JDK 8
  • 8065675 - core-libs - java.lang:class_loading - Deprecate the Endorsed-Standards Override Mechanism
  • 8065702 - core-libs - java.lang:class_loading - Deprecate the Extension Mechanism
  • 8054987 - core-libs - java.lang:reflect - (reflect) Add sharing of annotations between instances of Executable
  • 8055063 - core-libs - java.lang:reflect - Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type
  • 8062771 - core-libs - java.lang:reflect - Core reflection should use final fields whenever possible
  • 8064391 - core-libs - java.lang:reflect - More thread safety problems in core reflection
  • 8057793 - core-libs - java.math - BigDecimal is no longer effectively immutable
  • 7010989 - core-libs - java.net - Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets
  • 7150092 - core-libs - java.net - NTLM authentication fail if user specified a different realm
  • 8029607 - core-libs - java.net - Type of Service (TOS) cannot be set in IPv6 header
  • 8042622 - core-libs - java.net - Check for CRL results in IllegalArgumentException "white space not allowed"
  • 8047186 - core-libs - java.net - jdk.net.Sockets throws InvocationTargetException instead of original runtime exceptions
  • 8048212 - core-libs - java.net - Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607
  • 8050983 - core-libs - java.net - Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming
  • 8057936 - core-libs - java.net - java.net.URLClassLoader.findClass uses exceptions in control flow
  • 8058216 - core-libs - java.net - NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack
  • 8062744 - core-libs - java.net - jdk.net.Sockets.setOption/getOption does not support IP_TOS
  • 8011537 - core-libs - java.nio - (fs) Path.register(..) clears interrupt status of thread with no InterruptedException
  • 8042470 - core-libs - java.nio - (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified
  • 8042816 - core-libs - java.nio - (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified, part 2
  • 8054029 - core-libs - java.nio - (fc) FileChannel.size() returns 0 for block devices on Linux
  • 8055421 - core-libs - java.nio - (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
  • 8062501 - core-libs - java.nio - Modifications of server socket channel accept() methods for instrumentation purposes
  • 8062233 - core-libs - java.rmi - add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list
  • 8039915 - core-libs - java.text - Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5
  • 8042126 - core-libs - java.time - DateTimeFormatter "MMMMM" returns English value in Japanese locale
  • 8044671 - core-libs - java.time - NPE from JapaneseEra when a new era is defined in calendar.properties
  • 8040806 - core-libs - java.util - BitSet.toString() can throw IndexOutOfBoundsException
  • 8048209 - core-libs - java.util - SynchronizedNavigableSet tailSet uses wrong mutex
  • 8056248 - core-libs - java.util.concurrent - Improve ForkJoin thread throttling
  • 8056249 - core-libs - java.util.concurrent - Improve CompletableFuture resource usage
  • 8066397 - core-libs - java.util.concurrent - Remove network-related seed initialization code in ThreadLocal/SplittableRandom
  • 8048020 - core-libs - java.util.logging - Regression on java.util.logging.FileHandler
  • 8059269 - core-libs - java.util.logging - FileHandler may throw NPE if pattern is a simple name and the lock file already exists
  • 8065991 - core-libs - java.util.logging - LogManager unecessarily calls JavaAWTAccess from within a critical section
  • 8029452 - core-libs - java.util.stream - Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements
  • 8030079 - core-libs - java.util.stream - Fix raw and unchecked warnings java.util.stream
  • 6904367 - core-libs - java.util:collections - (coll) IdentityHashMap is resized before exceeding the expected maximum size
  • 8033893 - core-libs - java.util:i18n - jdk build is broken due to the changeset of JDK-8033370
  • 8060006 - core-libs - java.util:i18n - No Russian time zones mapping for Windows
  • 8047062 - core-libs - javax.naming - Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java
  • 8049884 - core-libs - javax.naming - Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java
  • 8062132 - core-libs - javax.script - Nashorn incorrectly binds "this" for constructor created by another function
  • 8066932 - core-libs - javax.script - __noSuchMethod__ binds to this-object without proper guard
  • 8025435 - core-libs - jdk.nashorn - Specialized library functions for optimistic typing
  • 8028345 - core-libs - jdk.nashorn - Remove nashorn repo "bin" scripts to avoid confusion with JDK bin launcher programs
  • 8029090 - core-libs - jdk.nashorn - Developers should be able to pass nashorn properties and enable/disable JFR from command line
  • 8035312 - core-libs - jdk.nashorn - push() on frozen array increases its length property
  • 8038396 - core-libs - jdk.nashorn - 8037534 breaks richards Octane benchmark
  • 8038413 - core-libs - jdk.nashorn - NPE in unboxInteger
  • 8038416 - core-libs - jdk.nashorn - Access to undefined scoped variables deoptimized too much
  • 8040024 - core-libs - jdk.nashorn - BranchOptimizer produces bad code for NaN FP comparison
  • 8043002 - core-libs - jdk.nashorn - Improve performance of Nashorn equality operators
  • 8043003 - core-libs - jdk.nashorn - Use strongly referenced generic invokers
  • 8043004 - core-libs - jdk.nashorn - Reduce variability at JavaAdapter call sites
  • 8043133 - core-libs - jdk.nashorn - Fix corner cases of JDK-8041995
  • 8043137 - core-libs - jdk.nashorn - Collapse long sequences of NOP in Nashorn bytecode output
  • 8043232 - core-libs - jdk.nashorn - Index selection of overloaded java new constructors
  • 8043235 - core-libs - jdk.nashorn - Type-based optimizations interfere with continuation methods
  • 8043431 - core-libs - jdk.nashorn - Fix yet another corner case of JDK-8041995
  • 8043605 - core-libs - jdk.nashorn - Enable history for empty property maps
  • 8043956 - core-libs - jdk.nashorn - Make code caching work with optimistic typing and lazy compilation
  • 8044171 - core-libs - jdk.nashorn - Make optimistic exception handlers smaller
  • 8044502 - core-libs - jdk.nashorn - Get rid of global optimistic flag
  • 8044518 - core-libs - jdk.nashorn - Ensure exceptions related to optimistic recompilation are not serializable
  • 8044803 - core-libs - jdk.nashorn - Unnecessary restOf check in CodeGenerator.undefinedCheck
  • 8044851 - core-libs - jdk.nashorn - nashorn properties leak memory
  • 8046013 - core-libs - jdk.nashorn - TypeError: Cannot apply "with" to non script object
  • 8046014 - core-libs - jdk.nashorn - MultiGlobalCompiledScript used to cache method handle and strict mode - not anymore
  • 8046202 - core-libs - jdk.nashorn - Make persistent code store more flexible
  • 8046215 - core-libs - jdk.nashorn - Running uncompilable scripts throws NullPointerException
  • 8046921 - core-libs - jdk.nashorn - Deoptimization type information peristence
  • 8047331 - core-libs - jdk.nashorn - Assertion in CompiledFunction when running earley-boyer after Merge
  • 8047764 - core-libs - jdk.nashorn - Indexed or polymorphic set on global affects Object.prototype
  • 8048009 - core-libs - jdk.nashorn - Type info caching accidentally defeated
  • 8048079 - core-libs - jdk.nashorn - Persistent code store is broken after optimistic types merge
  • 8048505 - core-libs - jdk.nashorn - readFully does not handle ConsString file names
  • 8048586 - core-libs - jdk.nashorn - String concatenation with optimistic types is slow
  • 8048718 - core-libs - jdk.nashorn - JSON.parse('{"0":0, "64":0}') throws ArrayindexOutOfBoundsException
  • 8049086 - core-libs - jdk.nashorn - Minor API convenience functions on "Java" object
  • 8049242 - core-libs - jdk.nashorn - Explicit constructor overload selection should work with StaticClass as well
  • 8049524 - core-libs - jdk.nashorn - Global object initialization via javax.script API should be minimal
  • 8050432 - core-libs - jdk.nashorn - javax.script.filename variable should not be enumerable with nashorn engine's ENGINE_SCOPE bindings
  • 8050964 - core-libs - jdk.nashorn - OptimisticTypesPersistence.java should use java.util.Date instead of java.sql.Date
  • 8050977 - core-libs - jdk.nashorn - Java8 Javascript Nashorn exception: no current Global instance for nashorn
  • 8051439 - core-libs - jdk.nashorn - Wrong type calculated for ADD operator with undefined operand
  • 8051778 - core-libs - jdk.nashorn - Function.prototype.bind doesn't work on all callables
  • 8053910 - core-libs - jdk.nashorn - ScriptObjectMirror causing havoc with Invocation interface
  • 8053913 - core-libs - jdk.nashorn - Auto format caused warning in CompositeTypeBasedGuardingDynamicLinker
  • 8054223 - core-libs - jdk.nashorn - Nashorn: AssertionError when use __DIR__ and ScriptEngine.eval()
  • 8054411 - core-libs - jdk.nashorn - Add "nashorn.args.prepend" system property
  • 8054503 - core-libs - jdk.nashorn - test/script/external/test262/test/suite/ch12/12.6/12.6.4/12.6.4-2.js fails with tip
  • 8054651 - core-libs - jdk.nashorn - Global.initConstructor and ScriptFunction.getPrototype(Object) can have stricter types
  • 8054898 - core-libs - jdk.nashorn - Avoid creation of empty type info files
  • 8055034 - core-libs - jdk.nashorn - jjs exits interactive mode if exception was thrown when trying to print value of last evaluated expression
  • 8055042 - core-libs - jdk.nashorn - Compile-time expression evaluator was missing variables
  • 8055107 - core-libs - jdk.nashorn - Extension directives to turn on callsite profiling, tracing, AST print and other debug features locally
  • 8055199 - core-libs - jdk.nashorn - Tidy up Nashorn codebase for code standards (August 2014)
  • 8055687 - core-libs - jdk.nashorn - Wrong "this" passed to JSObject.eval call
  • 8055762 - core-libs - jdk.nashorn - Nashorn misses linker for netscape.javascript.JSObject instances
  • 8055796 - core-libs - jdk.nashorn - JSObject and browser JSObject linkers should provide fallback to call underlying Java methods directly
  • 8055870 - core-libs - jdk.nashorn - iteration fails if index var is not used
  • 8055906 - core-libs - jdk.nashorn - jdk.nashorn.internal.codegen.ApplySpecialization$1.leaveIdentNode() should throw stackless Exception
  • 8055911 - core-libs - jdk.nashorn - Questionable String.intern() in jdk.nashorn.internal.ir.IdentNode()
  • 8055913 - core-libs - jdk.nashorn - jdk.nashorn.internal.ir.Node.hashCode() delegates to Object.hashCode() and is hot
  • 8055923 - core-libs - jdk.nashorn - jdk.nashorn.internal.{codegen.CompilationPhase|runtime.Timing} should use System.nanoTime
  • 8055954 - core-libs - jdk.nashorn - Questionable use of parallelStream() in jdk.nashorn.internal.runtime.Context$ContextCodeInstaller.initialize()
  • 8056025 - core-libs - jdk.nashorn - jdk.nashorn.internal.codegen.CompilationPhase.setStates() is hot in class installation phase
  • 8056052 - core-libs - jdk.nashorn - jdk.nashorn.internal.runtime.Source.getContent() does excess Object.clone()
  • 8056123 - core-libs - jdk.nashorn - Anonymous function statements leak internal function names into global scope
  • 8056129 - core-libs - jdk.nashorn - AtomicInteger is treated as primitive number with optimistic compilation
  • 8056978 - core-libs - jdk.nashorn - ClassCastException: cannot cast jdk.nashorn.internal.scripts.JO*
  • 8057019 - core-libs - jdk.nashorn - Additional arguments to Function.prototype.apply messes up actual arguments passed
  • 8057021 - core-libs - jdk.nashorn - UserAccessorProperty guards fail with multiple globals
  • 8057148 - core-libs - jdk.nashorn - Skip nested functions on reparse
  • 8057551 - core-libs - jdk.nashorn - Make class dumping available outside --compile-only mode
  • 8057588 - core-libs - jdk.nashorn - Lots of trivial classes are generated by Nashorn compiler
  • 8057611 - core-libs - jdk.nashorn - jdk/nashorn/internal/scripts/JO* classes are missing from the generated methods dump
  • 8057691 - core-libs - jdk.nashorn - Nashorn: let & const declarations are not shared between scripts
  • 8057703 - core-libs - jdk.nashorn - Still, lots of trivial classes are generated by Nashorn compiler
  • 8057743 - core-libs - jdk.nashorn - Single quotes must be escaped in message resource file
  • 8057825 - core-libs - jdk.nashorn - emitted socket arg becomes null in avatar.js http tests
  • 8057930 - core-libs - jdk.nashorn - Remove "eval id" from eval locations
  • 8057931 - core-libs - jdk.nashorn - Instead of not skipping small functions in parser, make lexer avoid them instead
  • 8057980 - core-libs - jdk.nashorn - let & const: remaining issues with lexical scoping
  • 8058100 - core-libs - jdk.nashorn - Reduce the RecompilableScriptFunctionData footprint
  • 8058179 - core-libs - jdk.nashorn - Global constants get in the way of self-modifying properties
  • 8058304 - core-libs - jdk.nashorn - Non-serializable fields in serializable classes
  • 8058422 - core-libs - jdk.nashorn - Users should be able to overwrite "context" and "engine" variables
  • 8058561 - core-libs - jdk.nashorn - NullPointerException at
  • jdk.nashorn.internal.codegen.LocalVariableTypesCalculator.
  • symbolIsUsed(LocalVariableTypesCalculator.java:224)
  • 8058610 - core-libs - jdk.nashorn - Pessimistic LMUL used where optimistic should be
  • 8058615 - core-libs - jdk.nashorn - Overload resolution ambiguity involving ConsString
  • 8059231 - core-libs - jdk.nashorn - Octane Raytrace fails when optimistic typing turned off
  • 8059236 - core-libs - jdk.nashorn - Memory leak when executing octane pdfjs with optimistic typing
  • 8059321 - core-libs - jdk.nashorn - Significant parser/frontend overhead in recompilation of avatar.js
  • 8059346 - core-libs - jdk.nashorn - Single class loader is used to load compiled bytecode
  • 8059370 - core-libs - jdk.nashorn - Unnecessary work in deoptimizing recompilation
  • 8059371 - core-libs - jdk.nashorn - Code duplication in handling of break and continue
  • 8059372 - core-libs - jdk.nashorn - Code duplication in split emitter
  • 8059443 - core-libs - jdk.nashorn - Logical NOT operator throws NullPointerException for null Boolean return values
  • 8059813 - core-libs - jdk.nashorn - Type Info Cache flag must must be documented
  • 8059938 - core-libs - jdk.nashorn - NPE restoring cached script with optimistic types disabled
  • 8060011 - core-libs - jdk.nashorn - Concatenating an array and converting it to Java gives wrong result
  • 8060101 - core-libs - jdk.nashorn - AssertionError: __noSuchProperty__ placeholder called from NativeJavaImporter
  • 8060471 - core-libs - jdk.nashorn - GlobalConstants.findSetMethod calls DynamicLinker.getLinkedCallSiteLocation, which does Throwables
  • 8060688 - core-libs - jdk.nashorn - Nashorn: Generated script class name fails --verify-code for names with special chars
  • 8061113 - core-libs - jdk.nashorn - Boolean used as optimistic call return type
  • 8061257 - core-libs - jdk.nashorn - nashorn ant build script should have a sanity target
  • 8061959 - core-libs - jdk.nashorn - Missing ArrayBuffer.isView() Method
  • 8062024 - core-libs - jdk.nashorn - Issue with date.setFullYear when time other than midnight
  • 8062308 - core-libs - jdk.nashorn - b36 of 9 introduces regressions over b35 when running lyra
  • 8062381 - core-libs - jdk.nashorn - String.prototype.charCodeAt called with invalid index throws ClassCastException
  • 8062386 - core-libs - jdk.nashorn - Different versions of nashorn use same code cache directory
  • 8062490 - core-libs - jdk.nashorn - JDK-8061391 regresses typescript: OOME with too fat SparseArrayData instances
  • 8062583 - core-libs - jdk.nashorn - Throwing object with error prototype causes error proto to be caught
  • 8062624 - core-libs - jdk.nashorn - java.lang.String methods not available on concatenated strings
  • 8062799 - core-libs - jdk.nashorn - Binary logical expressions can have numeric types
  • 8062937 - core-libs - jdk.nashorn - GlobalConstants produces wrong result with Object.defineProperty
  • 8063036 - core-libs - jdk.nashorn - Cosmetics: The recompile log produces double lines for some reason
  • 8063037 - core-libs - jdk.nashorn - Trivial bugfixing and exception reuse in ApplySpecialization
  • 8064467 - core-libs - jdk.nashorn - Deoptimization type information persistence doesn't work - "Failed to calculate version dir name"
  • 8064707 - core-libs - jdk.nashorn - Remove NativeArray link logic fields
  • 8064789 - core-libs - jdk.nashorn - Nashorn should just warn on code store instantiation error
  • 8065769 - core-libs - jdk.nashorn - OOM on Window/Solaris in test compile-octane-splitter.js
  • 8065985 - core-libs - jdk.nashorn - Inlining failure of Number.doubleValue() in JSType.toNumeric() causes 15% peak perf regresion on Box2D
  • 8066119 - core-libs - jdk.nashorn - Missing resource type.error.not.an.arraybuffer
  • 8066146 - core-libs - jdk.nashorn - jdk.nashorn.api.scripting package javadoc should be included in jdk docs
  • 8066669 - core-libs - jdk.nashorn - dust.js performance regression caused by primitive field conversion
  • 8067136 - core-libs - jdk.nashorn - BrowserJSObjectLinker does not handle call on JSObjects
  • 8067219 - core-libs - jdk.nashorn - NPE in ScriptObject.clone() when running with object fields
  • 8068573 - core-libs - jdk.nashorn - POJO setter using [] syntax throws an exception
  • 8068889 - core-libs - jdk.nashorn - Calling a @FunctionalInterface from JS leaks internal objects
  • 8069002 - core-libs - jdk.nashorn - REGRESSION: test/script/external/test262/test/suite/ch11/11.2/11.2.3/S11.2.3_A3_T5.js fails with tip
  • 8042123 - core-svc - Support default and static interface methods in JDI, JDWP and JDB
  • 8044473 - core-svc - Allow for extended set of platform MXBeans
  • 8064288 - core-svc - sun.management.Flag should loadLibrary()
  • 8028430 - core-svc - debugger - JDI: ReferenceType.visibleMethods() return wrong visible methods
  • 8056049 - core-svc - java.lang.management - getProcessCpuLoad() stops working in one process when a different process exits
  • 8065397 - core-svc - java.lang.management - Remove ExtendedPlatformComponent.java from EXFILES list
  • 8049303 - core-svc - javax.management - Transient network problems cause JMX thread to fail silenty
  • 8039173 - core-svc - tools - Propagate errors from Diagnostic Commands as exceptions in the attach framework
  • 8044135 - core-svc - tools - Add API to start JMX agent from attach framework
  • 8049340 - core-svc - tools - sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out
  • 8027809 - deploy - ClassNotFound exception when loading jnlp applet in nested resource tag
  • 8031989 - deploy - Provide API to get all the JNLP artifacts
  • 8037417 - deploy - javaws fails to launch app with empty href in jnlp file if Application-Library-Allowable-Codebase is used
  • 8038599 - deploy - Move com.sun.java.browser.dom and com.sun.java.browser.net to deploy
  • 8039007 - deploy - jdeps incorrectly reports javax.jnlp as JDK internal APIs
  • 8046476 - deploy - VPAT: Application Blocked dialog issues
  • 8049088 - deploy - Close icon not highlighted and no name/description readable by screen readers
  • 8052106 - deploy - [jcck] extra mnemonics in security dialog.
  • 8054971 - deploy - Applet is blocked when requesting sandbox permission and loading loose resource
  • 8059136 - deploy - Reverse removal of applet demos [backout 8015376]
  • 8062183 - deploy - Change the order of linux proxy detection
  • 8068969 - deploy - Add missing information to AppModel
  • 8037471 - deploy - deployment_toolkit - The warning message displays the app name and publisher as "UNKNOWN" if cache is disabled
  • 8046709 - deploy - deployment_toolkit - Java Control Panel Security Level Radio Buttons do not have name, screen read not able to read the name
  • 8059387 - deploy - javafx - Unexpected SSV warning appears on Linux for FX applet requesting JRE 1.7+
  • 8060719 - deploy - javafx - TrustDecider.checkMainJarManifest will fail for fx app with embedded certificate.
  • 6845304 - deploy - plugin - HTMLStyleElement can't be cast to LinkStyle
  • 8011182 - deploy - plugin - Unable to enable the last jre remaining on the system
  • 8023095 - deploy - plugin - Applet with legacy_lifecycle=true and jdwp properties destroyed on browseaway
  • 8025917 - deploy - plugin - JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9)
  • 8032835 - deploy - plugin - Security Dialogs should display OU/O field for Publisher if CN field is empty
  • 8042626 - deploy - plugin - Exception occurs when writing many texts to java console
  • 8042696 - deploy - plugin - Existing Java method cannot be called from JavaScript in IE
  • 8043230 - deploy - plugin - MacNPAPIJavaPlugin incorrectly constructed which sometimes causes Applet not to load
  • 8043231 - deploy - plugin - [mac] Too long pipe names: sometimes duplicate names arisesm when many applets on page
  • 8023094 - deploy - webstart - web start short cut icon disappear when launch disconnected
  • 8027019 - deploy - webstart - Sometimes, codebase property is not written in .lap file in cache before loading app
  • 8029579 - deploy - webstart - "Application Error" dialog will show up after click "OK" on "Application Blocked" dialog
  • 8046501 - deploy - webstart - DRS - cert based run rule doesn't work when running offline
  • 8051890 - deploy - webstart - Java Web Start raises "Unable to create a shortcut for " dialog
  • 8055179 - deploy - webstart - Security Dialog for unsigned jnlp still different in jnlp Application case.
  • 8064358 - deploy - webstart - JnlpxArgs NullPointerException
  • 8066447 - deploy - webstart - 8u40: URL.openConnection fails with exception if "use browser settings" is set and browser itself uses system settings
  • 8055175 - globalization - translation - [de] Truncation issue in EULA dialog.
  • 8058184 - hotspot - Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters
  • 6351437 - hotspot - compiler - PIT : compiler/6329104/Test6329104.sh fails due to execution time variation
  • 6642881 - hotspot - compiler - Improve performance of Class.getClassLoader()
  • 6898462 - hotspot - compiler - The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
  • 8023461 - hotspot - compiler - Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock
  • 8026796 - hotspot - compiler - Make replace_in_map() on parent maps generic
  • 8029443 - hotspot - compiler - 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation
  • 8031994 - hotspot - compiler - java/lang/Character/CheckProp test times out
  • 8034775 - hotspot - compiler - Failing to initialize VM when running with negative value for -XX:CICompilerCount
  • 8035328 - hotspot - compiler - closed/compiler/6595044/Main.java failed with timeout
  • 8035605 - hotspot - compiler - Expand functionality of PredictedIntrinsicGenerator
  • 8035968 - hotspot - compiler - C2 support for SHA on SPARC
  • 8039498 - hotspot - compiler - Add iterators to GrowableArray
  • 8040798 - hotspot - compiler - compiler/startup/SmallCodeCacheStartup.java timed out in RT_Baseline
  • 8041984 - hotspot - compiler - CompilerThread seems to occupy all CPU in a very rare situation
  • 8041992 - hotspot - compiler - Fix of JDK-8034775 neglects to account for non-JIT VMs
  • 8042235 - hotspot - compiler - redefining method used by multiple MethodHandles crashes VM
  • 8042428 - hotspot - compiler - CompileQueue::free_all() code is incorrect
  • 8042431 - hotspot - compiler - compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0
  • 8048703 - hotspot - compiler - ReplacedNodes dumps it's content to tty
  • 8048879 - hotspot - compiler - "unexpected yanked node" opto/postaloc.cpp:139
  • 8049252 - hotspot - compiler - VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization
  • 8049528 - hotspot - compiler - Method marked w/ @ForceInline isn't inlined with "executed is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes
  • 8054478 - hotspot - compiler - C2: Incorrectly compiled char[] array access crashes JVM
  • 8054927 - hotspot - compiler - Missing MemNode::acquire ordering in some volatile Load nodes
  • 8055286 - hotspot - compiler - Extend CompileCommand=option to handle numeric parameters
  • 8055494 - hotspot - compiler - Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
  • 8055946 - hotspot - compiler - assert(result == NULL || result->is_oop()) failed: must be oop
  • 8056071 - hotspot - compiler - compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
  • 8056124 - hotspot - compiler - Hotspot should use PICL interface to get cacheline size on SPARC
  • 8056964 - hotspot - compiler - JDK-8055286 changes are incomplete.
  • 8057129 - hotspot - compiler - Fix AIX build after the Extend CompileCommand=option change 8055286
  • 8057750 - hotspot - compiler - CTW should not make MH intrinsics not entrant
  • 8057758 - hotspot - compiler - Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair
  • 8058148 - hotspot - compiler - MaxNodeLimit and LiveNodeCountInliningCutoff should be increased
  • 8058536 - hotspot - compiler - java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic
  • 8058564 - hotspot - compiler - Tiered compilation performance drop in PIT
  • 8058744 - hotspot - compiler - Crash in C1 OSRed method w/ Unsafe usage
  • 8058825 - hotspot - compiler - EA: ConnectionGraph::split_unique_types does incorrect scalar replacement
  • 8058828 - hotspot - compiler - Wrong ciConstant type for arrays from ConstantPool::_resolved_reference
  • 8058847 - hotspot - compiler - C2: EliminateAutoBox regression after 8042786
  • 8059139 - hotspot - compiler - It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions
  • 8059226 - hotspot - compiler - Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40
  • 8059299 - hotspot - compiler - assert(adr_type != NULL) failed: expecting TypeKlassPtr
  • 8059556 - hotspot - compiler - C2: crash while inlining MethodHandle invocation w/ null receiver
  • 8059592 - hotspot - compiler - Recent bugfixes in ppc64 port.
  • 8059621 - hotspot - compiler - JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw
  • 8059780 - hotspot - compiler - SPECjvm2008-MPEG performance regressions on x64 platforms
  • 8060147 - hotspot - compiler - SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv
  • 8062169 - hotspot - compiler - Multiple OSR compilations issued for same bci
  • 8062950 - hotspot - compiler - Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant
  • 8065618 - hotspot - compiler - C2 RA incorrectly removes kill projections
  • 8066045 - hotspot - compiler - opto/node.hpp:355, assert(i ::verify_stats is wrong
  • 8027553 - hotspot - gc - Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction
  • 8027959 - hotspot - gc - Early reclamation of large objects in G1
  • 8028710 - hotspot - gc - G1 does not retire allocation buffers after reference processing work
  • 8032379 - hotspot - gc - Remove the is_scavenging flag to process_strong_roots
  • 8033764 - hotspot - gc - Remove the usage of StarTask from BufferingOopClosure
  • 8033923 - hotspot - gc - Use BufferingOopClosure for G1 code root scanning
  • 8034056 - hotspot - gc - assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment
  • 8034761 - hotspot - gc - Remove the do_code_roots parameter from process_strong_roots
  • 8034764 - hotspot - gc - Use process_strong_roots to adjust the StringTable
  • 8035393 - hotspot - gc - Use CLDClosure instead of CLDToOopClosure in frame::oops_interpreted_do
  • 8035400 - hotspot - gc - Move G1ParScanThreadState into its own files
  • 8035401 - hotspot - gc - Fix visibility of G1ParScanThreadState members
  • 8035412 - hotspot - gc - Cleanup ClassLoaderData::is_alive
  • 8035648 - hotspot - gc - Don't use Handle in java_lang_String::print
  • 8035746 - hotspot - gc - Add missing Klass::oop_is_instanceClassLoader() function
  • 8037344 - hotspot - gc - Use the "next" field to iterate over fine remembered instead of using the hash table
  • 8037958 - hotspot - gc - ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled
  • 8038265 - hotspot - gc - CMS: enable time based triggering of concurrent cycles
  • 8038399 - hotspot - gc - Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes
  • 8038404 - hotspot - gc - Move object_iterate_mem from Space to CMS since it is only ever used by CMS
  • 8038405 - hotspot - gc - Clean up some virtual fucntions in Space class hierarchy
  • 8038412 - hotspot - gc - Move object_iterate_careful down from Space to ContigousSpace and CFLSpace
  • 8038423 - hotspot - gc - G1: Decommit memory within the heap
  • 8038829 - hotspot - gc - G1: More useful information in a few assert messages
  • 8038928 - hotspot - gc - gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure' found"
  • 8039147 - hotspot - gc - Cleanup SuspendibleThreadSet
  • 8039596 - hotspot - gc - Remove HeapRegionRemSet::clear_incoming_entry
  • 8040002 - hotspot - gc - Clean up code and code duplication in re-diryting cards for verification
  • 8040722 - hotspot - gc - G1: Clean up usages of heap_region_containing
  • 8040792 - hotspot - gc - G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname)
  • 8040977 - hotspot - gc - G1 crashes when run with -XX:-G1DeferredRSUpdate
  • 8042255 - hotspot - gc - make gc src file exclusion more automatic
  • 8043607 - hotspot - gc - Add a GC id as a log decoration similar to PrintGCTimeStamps
  • 8043722 - hotspot - gc - Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp
  • 8043723 - hotspot - gc - max_heap_for_compressed_oops() declared with size_t, but defined with uintx
  • 8046670 - hotspot - gc - Make CMS metadata aware closures applicable for other collectors
  • 8047323 - hotspot - gc - Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure
  • 8047818 - hotspot - gc - G1 HeapRegions can no longer be ContiguousSpaces
  • 8047819 - hotspot - gc - G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC
  • 8047820 - hotspot - gc - G1 Block offset table does not need to support generic Space classes
  • 8047821 - hotspot - gc - G1 Does not use the save_marks functionality as intended
  • 8047976 - hotspot - gc - Ergonomics for GC thread counts should update the flags
  • 8048085 - hotspot - gc - Aborting marking just before remark results in useless additional clearing of the next mark bitmap
  • 8048088 - hotspot - gc - Conservative maximum heap alignment should take vm_allocation_granularity into account
  • 8048112 - hotspot - gc - G1 Full GC needs to support the case when the very first region is not available
  • 8048214 - hotspot - gc - Linker error when compiling G1SATBCardTableModRefBS after include order changes
  • 8048268 - hotspot - gc - G1 Code Root Migration performs poorly
  • 8048269 - hotspot - gc - Add flag to turn off class unloading after G1 concurrent mark
  • 8049051 - hotspot - gc - Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking
  • 8049411 - hotspot - gc - Minimal VM build broken after gcId.cpp was added
  • 8049421 - hotspot - gc - G1 Class Unloading after completing a concurrent mark cycle
  • 8049426 - hotspot - gc - Minor cleanups after G1 class unloading
  • 8049831 - hotspot - gc - Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off
  • 8050973 - hotspot - gc - CMS/G1 GC: add missing Resource and Handle mark
  • 8051973 - hotspot - gc - Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap
  • 8052170 - hotspot - gc - G1 asserts at collection exit with -XX:-G1DeferredRSUpdate
  • 8052172 - hotspot - gc - Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set
  • 8054341 - hotspot - gc - Remove some obsolete code in G1CollectedHeap class
  • 8054808 - hotspot - gc - Bitmap verification sometimes fails after Full GC aborts concurrent marking
  • 8054818 - hotspot - gc - Refactor HeapRegionSeq to manage heap region and auxiliary data
  • 8054819 - hotspot - gc - Rename HeapRegionSeq to HeapRegionManager
  • 8054970 - hotspot - gc - gc src file exclusion should exclude alternative sources
  • 8055006 - hotspot - gc - Store original value of Min/MaxHeapFreeRatio
  • 8055525 - hotspot - gc - Bigapp weblogic+medrec fails to startup after JDK-8038423
  • 8055635 - hotspot - gc - Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers
  • 8055816 - hotspot - gc - Remove dead code in g1BlockOffsetTable
  • 8055919 - hotspot - gc - Remove dead code in G1 concurrent marking code
  • 8056043 - hotspot - gc - G1 does not uncommit within the heap after JDK-8038423
  • 8056240 - hotspot - gc - Investigate increased GC remark time after class unloading changes in CRM Fuse
  • 8057143 - hotspot - gc - Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq
  • 8057531 - hotspot - gc - refactor gc argument processing code slightly
  • 8057536 - hotspot - gc - Refactor G1 to allow context specific allocations
  • 8057658 - hotspot - gc - Enable G1 FullGC extensions
  • 8057710 - hotspot - gc - Refactor G1 heap region default sizes
  • 8057713 - hotspot - gc - Destroy resource context and clean out allocation context
  • 8057722 - hotspot - gc - G1: Code root hashtable updated incorrectly when evacuation failed
  • 8057768 - hotspot - gc - Make heap region region type in G1 HeapRegion explicit
  • 8057799 - hotspot - gc - G1: Unnecessary NULL check in G1KeepAliveClosure
  • 8057818 - hotspot - gc - collect allocation context statistics at gc pauses
  • 8057824 - hotspot - gc - methods to copy allocation context statistics
  • 8057827 - hotspot - gc - notify an obj when allocation context stats are available
  • 8057916 - hotspot - gc - Sort includes and verify copyright for new files
  • 8058209 - hotspot - gc - Race in G1 card scanning could allow scanning of memory covered by PLABs
  • 8058235 - hotspot - gc - identify GCs initiated to update allocation context stats
  • 8058475 - hotspot - gc - TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr
  • 8058568 - hotspot - gc - GC cleanup phase can cause G1 skipping a System.gc()
  • 8059452 - hotspot - gc - G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent
  • 8059466 - hotspot - gc - Force young GC to initiate marking cycle when stat update is requested
  • 8059758 - hotspot - gc - Footprint regressions with JDK-8038423
  • 8060116 - hotspot - gc - After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails
  • 8060467 - hotspot - gc - CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error
  • 8062036 - hotspot - gc - ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes
  • 8062063 - hotspot - gc - Usage of UseHugeTLBFS, UseLargePagesInMetaspace and huge SurvivorAlignmentInBytes cause crashes in CMBitMapClosure::do_bit
  • 8064556 - hotspot - gc - G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty
  • 8065227 - hotspot - gc - Report allocation context stats at end of cleanup
  • 8065305 - hotspot - gc - Make it possible to extend the G1CollectorPolicy
  • 8065634 - hotspot - gc - Crash in InstanceKlass::clean_method_data when _method is NULL
  • 8040011 - hotspot - jfr - Metaspace events are missing from JFC files
  • 8034935 - hotspot - jvmti - JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle
  • 8057043 - hotspot - jvmti - Type annotations not retained during class redefine / retransform
  • 6311046 - hotspot - runtime - -Xcheck:jni should support checking of GetPrimitiveArrayCritical
  • 8025842 - hotspot - runtime - Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...)
  • 8031376 - hotspot - runtime - TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader
  • 8035893 - hotspot - runtime - JVM_GetVersionInfo fails to zero structure
  • 8038268 - hotspot - runtime - VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize
  • 8038422 - hotspot - runtime - CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize
  • 8042195 - hotspot - runtime - Introduce umbrella header orderAccess.inline.hpp
  • 8043275 - hotspot - runtime - interface initialization for default methods
  • 8046662 - hotspot - runtime - Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted
  • 8046715 - hotspot - runtime - Add a way to verify an extended set of command line options
  • 8048169 - hotspot - runtime - Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms
  • 8050942 - hotspot - runtime - PPC64: implement template interpreter for ppc64le
  • 8051002 - hotspot - runtime - Incorrectly merged share/vm/classfile/classFileParser.cpp was pushed to 8u20
  • 8054368 - hotspot - runtime - nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2)
  • 8054546 - hotspot - runtime - NMT2 leaks memory
  • 8054547 - hotspot - runtime - Re-enable warning for incompatible java launcher
  • 8055007 - hotspot - runtime - NMT2: emptyStack missing in minimal build
  • 8055051 - hotspot - runtime - runtime/NMT/CommandLineEmptyArgument.java fails
  • 8055061 - hotspot - runtime - assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests
  • 8055236 - hotspot - runtime - Deadlock during NMT2 shutdown on Windows
  • 8055289 - hotspot - runtime - Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead
  • 8055684 - hotspot - runtime - runtime/NMT/CommandLineEmptyArgument.java fails
  • 8056084 - hotspot - runtime - Refactor Hashtable to allow implementations without rehashing support
  • 8056175 - hotspot - runtime - Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC
  • 8056971 - hotspot - runtime - Minor class loading clean-up
  • 8057623 - hotspot - runtime - add an extension class for argument handling
  • 8058251 - hotspot - runtime - assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java
  • 8058818 - hotspot - runtime - Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms
  • 8059100 - hotspot - runtime - SIGSEGV VirtualMemoryTracker::remove_released_region
  • 8059216 - hotspot - runtime - Make PrintGCApplicationStoppedTime print information about stopping threads
  • 8059803 - hotspot - runtime - Update use of GetVersionEx to get correct Windows version in hs_err files
  • 8061651 - hotspot - runtime - Add an interface to the JVM's Class/Resource Lookup Index Cache for improving sun.misc.URLClassPath search time
  • 8064375 - hotspot - runtime - Change certain errors to warnings in CDS output
  • 8064701 - hotspot - runtime - Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI
  • 8065346 - hotspot - runtime - WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state
  • 8065765 - hotspot - runtime - Missing space in output message from -XX:+CheckEndorsedAndExtDirs
  • 8066670 - hotspot - runtime - -XX:+PrintSharedArchiveAndExit does not exit the VM when the archive is invalid
  • 8029070 - hotspot - svc - memory leak in jmm_SetVMGlobal
  • 8032247 - hotspot - svc - SA: Constantpool lookup for invokedynamic is not implemented
  • 8035650 - hotspot - svc - Exclude AIX from VS.NET make/windows/projectcreator.make
  • 8044398 - hotspot - svc - Attach code should propagate errors in Diagnostic Commands as errors
  • 8046783 - hotspot - svc - Add hidden field to methods for event based tracing
  • 8055662 - hotspot - svc - Update mapfile for libjfr
  • 8055677 - hotspot - svc - java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012
  • 8057535 - hotspot - svc - add a thread extension class
  • 8057564 - hotspot - svc - JVM hangs at getAgentProperties after attaching to VM with lower IntegrityLevel
  • 8061621 - hotspot - svc - *** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
  • 8065361 - hotspot - svc - Fixup headers and definitions for INCLUDE_TRACE
  • 8069590 - hotspot - svc - AIX port of "8050807: Better performing performance data handling"
  • 8041383 - install - Restore Java-Security Dialog truncated
  • 8048122 - install - VPAT: Mnemonics not set for integrated JRE Uninstall Tool buttons
  • 8049060 - install - JDK installer "Java Setup" dialog a11y issue
  • 8060057 - install - No checkbox "Enable JAB" after installation of public JRE 8 (only x86 JRE)
  • 8062502 - install - Make the MacJREInstallerTests scheme shared across project
  • 8065940 - install - not compressing the non-english msi's will speed up the build
  • 8067251 - install - RegisterDeploy ping not working correctly
  • 8055701 - install - auto_update - Incomplete letters displayed in Java update Welcome dialog
  • 8062407 - install - auto_update - jucheck incorrectly uses cached iftw-au.exe if already present in %TEMP%
  • 8037813 - install - install - Image on in-progress dialog is not localized
  • 8039950 - install - install - JRE installer accessibility issues
  • 8051701 - install - install - [de] Minor truncation in Uninstall out-of-date versions dialog
  • 8057085 - install - install - 64bit offline isn't compressed
  • 8054633 - other-libs - corba - [since-tag]: javadoc for corba classes has invalid @since tag
  • 7095856 - other-libs - corba:rmi-iiop - OutputStreamHook doesn't handle null values
  • 8061830 - other-libs - other - [asm] refresh internal ASM version v5.0.3
  • 8028727 - security-libs - [parfait] warnings from b116 for jdk.src.share.native.sun.security.ec: JNI pending exceptions
  • 8063700 - security-libs - -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11
  • 7107611 - security-libs - java.security - sun.security.pkcs11.SessionManager is scalability blocker
  • 8032573 - security-libs - java.security - CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input
  • 8035974 - security-libs - java.security - Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler
  • 8039921 - security-libs - java.security - SHA1WithDSA with key > 1024 bits not working
  • 8042053 - security-libs - java.security - Broken links to jarsigner and keytool docs in java.security package summary
  • 8044215 - security-libs - java.security - Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential)
  • 8058657 - security-libs - java.security - Add @jdk.Exported to com.sun.jarsigner.ContentSigner API
  • 8036970 - security-libs - javax.crypto - Accessing Tomcat 8.0.3 via HTTPS doesn't work using TLS 1.2 GCM with ucrypto provider
  • 8056026 - security-libs - javax.crypto - Debug security logging should print Provider used for each crypto operation
  • 8037745 - security-libs - javax.crypto:pkcs11 - Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617
  • 8041142 - security-libs - javax.crypto:pkcs11 - Re-enabling CBC_PAD PKCS11 mechanisms for Solaris
  • 8042982 - security-libs - javax.net.ssl - Unexpected RuntimeExceptions being thrown by SSLEngine
  • 8052406 - security-libs - javax.net.ssl - SSLv2Hello protocol may be filtered out unexpectedly
  • 8028780 - security-libs - javax.security - JDK KRB5 module throws OutOfMemoryError when CCache is corrupt
  • 8048512 - security-libs - javax.security - Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp
  • 8046343 - security-libs - javax.smartcardio - (smartcardio) CardTerminal.connect('direct') does not work on MacOSX
  • 8049244 - security-libs - javax.xml.crypto - XML Signature performance issue caused by unbuffered signature data
  • 8048194 - security-libs - org.ietf.jgss - GSSContext.acceptSecContext fails when a supported mech is initiator preferred
  • 8048073 - security-libs - org.ietf.jgss:krb5 - Cannot read ccache entry with a realm-less service name
  • 8054817 - security-libs - org.ietf.jgss:krb5 - File ccache only recognizes Linux and Solaris defaults
  • 8029548 - tools - (jdeps) use @jdk.Exported to determine supported vs JDK internal API
  • 8048063 - tools - (jdeps) Add filtering capability
  • 8050804 - tools - (jdeps) Recommend supported API to replace use of JDK internal API
  • 8056051 - tools - int[]::clone causes "java.lang.NoClassDefFoundError:Array"
  • 8068495 - tools - Update the protocol for references of docs.oracle.com to HTTPS in langtools.
  • 8033421 - tools - javac - @SuppressWarnings("deprecation") does not work when overriding deprecated method
  • 8033483 - tools - javac - Should ignore nested lambda bodies during overload resolution
  • 8036953 - tools - javac - Fix timing of varargs access check, per JDK-8016205
  • 8037404 - tools - javac - javac NPE or VerifyError for code with constructor reference of inner class
  • 8038776 - tools - javac - VerifyError when running successfully compiled java class
  • 8042347 - tools - javac - javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class
  • 8043926 - tools - javac - javac, code valid in 7 is not compiling for 8
  • 8044546 - tools - javac - Crash on faulty reduce/lambda
  • 8044737 - tools - javac - Lambda: NPE while obtaining method reference through lambda expression
  • 8044748 - tools - javac - JVM cannot access constructor though ::new reference although can call it directly
  • 8046060 - tools - javac - Different results of floating point multiplication for lambda code block
  • 8047341 - tools - javac - lambda reference to inner class in base class causes LambdaConversionException
  • 8048121 - tools - javac - javac complex method references: revamp and simplify
  • 8049075 - tools - javac - javac, wildcards and generic vararg method invocation not accepted
  • 8051402 - tools - javac - javac, type containment should accept that CAP

New in Java SE Development Kit (JDK) 9 Build 52 Early Access (Feb 28, 2015)

  • Move policytool from JRE to JDK
  • Unable to successfully build the merge of jdk9/hs with jdk9/dev
  • api/xinclude/Harold/harold-97.html\#harold-97, api/xinclude/Harold/harold-67.html\#harold-67 fails on solaris with build port-stage-aarch64
  • Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
  • Various improvements and fixes in build system
  • Separate java.awt.datatransfer from the desktop module
  • New dependency introduced by deploy.dll and awt.dll (msvcp100.dll)
  • Deprivilege/move java.corba to the ext class loader
  • Never-taken branches should be pruned when GWT LambdaForms are shared
  • uncommon trap w/ Reason_speculate_class_check causes performance regression due to continuous deoptimizations
  • disassembler handles embedded OOPs not uniformly
  • Incorrect addressing mode used for ldf in SPARC assembler
  • Quarantine OverloadCompileQueueTest until the reason for timeout is known
  • assert(!failing()) failed: Must not have pending failure. Reason is: out of memory
  • compiler/codecache/jmx/InitialAndMaxUsageTest.java fails with large pages
  • support new PTRACE_GETREGSET
  • Test6857159.java times out
  • split_if accesses NULL region of ConstraintCast
  • assert fails in L1RGenerator::increment_event_counter_impl
  • compiler/whitebox/DeoptimizeFramesTest.java fails: compilation 48 can't be available
  • assert(n0->is_Call()) failed: expect a call here
  • SA's buildreplayjars fail with exception
  • Array copy may cause infinite cycle of deoptimization/compilation
  • Assert failed in UnexpectedDeoptimizationTest.java
  • [BACKOUT] GCCause should distinguish jcmd GC.run from System.gc()
  • gc/arguments/TestG1ConcRefinementThreads.java failed on Exception: java.lang.RuntimeException: Actual G1ConcRefinementThreads(0) is not equal to expected value(23)
  • Description of flag ExplicitGCInvokesConcurrent should mention G1 as well
  • Remove unnecessary header file #include
  • Remove unused variable/output argument
  • Refactor ParNewGeneration to contain ParNewTracer
  • serviceability/dcmd/framework/* should be quarantined
  • Synchronous signals during error reporting may terminate or hang VM process
  • Add missing test for 8065895
  • Use jtreg's requiredVersion tag in hotspot/test/TEST.ROOT
  • introduces performance regressions in 9-b47
  • Remove JSDT implementation
  • Factor out the shared implementation of the VM flags manipulation code
  • Need errno info when CDS archive creation fails
  • Remove deprecated methods on sun.misc.Unsafe and clean up native implementation
  • Kitchensink fails with assert(_size >= sz) failed: Negative size
  • Remove unused sun.misc.Unsafe prefetch intrinsic support
  • Cleanup: In jvm.cpp and other shared files declaration of 64bits constants should use the CONST64/UCONST64 macros instead of the LL suffix
  • Move policytool from JRE to JDK
  • java.util.Optional: please add a way to specify if-else behavior
  • Pattern.splitAsStream does not return input if it is empty and there is no match
  • [TESTBUG] Some Introspector tests fail with a Java heap bigger than 4GB
  • sun/security/pkcs11/rsa/TestKeyPairGenerator.java failed in aurora
  • Deprivilege/move java.corba to the ext class loader
  • Move java.transaction to the ext class loader
  • Update Standard/ExtendedCharsets to work with module system
  • (sctp) InternalError when receiving SendFailedNotification
  • Tune test and document TimSort runs length stack size increase
  • Hide lambda proxy frames in stacktraces
  • javadoc typos in java.nio.channels.Pipe
  • Add variant of DSA Signature algorithms that do not ASN.1 encode the signature bytes
  • setAlignmentX, setAlignmentY, getAlignmentX, getAlignmentY javadoc of JComponent
  • JDK9b22 public API exposes package private classes
  • [TEST_BUG] Test java/awt/Mixing/HWDisappear.java fails with GTKL&F
  • link back to self in javadoc JTextArea.replaceRange()
  • Animated icon is not visible by click on menu
  • Some Swing classes violate encapsulation by returning internal Insets
  • Attempting to remove help menu from java.awt.MenuBar throws NullPointerException
  • Printing to Postscript doesn't support dieresis
  • Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
  • Fix for JDK-7079254 changes behavior of MouseListener, MouseMotionListener
  • [macosx] Combo box consuming ENTER key
  • Separate java.awt.datatransfer from the desktop module
  • BufferedImage::getPropertyNames() always returns null
  • example in JFormattedTextField API docs instantiates abstract class
  • Mac OS Incompatibility between JDK 6 and 8 regarding input method handling
  • JDesktopPane,JFileChooser violate encapsulation by returning internal Dimensions
  • The test failed automatically,because throw a ArrayIndexOutOfBoundsException
  • Deadlock in awt/logging apparently introduced by 8019623
  • [macosx] Regtest should not throw exception if a suitable display mode found
  • [macosx] Native font lookup uses family+style, not full name/postscript name
  • Possible case-folding collision for color/Color subdirectories of jdk/test/java/awt/
  • Re-examine Solaris/Linux java.desktop dependency on java.logging
  • [TEST_BUG] Test javax/swing/JLayer/6824395/bug6824395.java fails with -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
  • [solaris] libfontmanager should be linked against headless awt library
  • [TEST_BUG] Test javax/swing/JColorChooser/Test4177735.java fails with ArrayIndexOutOfBoundsException with GTKL&F
  • [macosx] Label shortening via " ... " broken when String contains combining diaeresis
  • Incorrect Exception message from java.awt.Desktop.open()
  • [Solaris] : Fix for 8071710 needs to be updated for build dependency checking
  • JPEGImageWriter corrupts color for non-JFIF images with differing sample factor
  • copy/paste duplicated tests in some condition statements
  • abort flag is not cleared for every write operation for JPEG ImageWriter
  • Test java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug fails in Windows
  • [PIT] NPE in DnD tests apparently because of the fix to JDK-8061636
  • Some look and feels ignores the JSlider.PaintTrack property
  • javadoc of Formattable messed up by JDK-8019857
  • Incremental build of gensrc broken
  • sun/tools/jmap/heapconfig/JMapHeapConfigTest.java Key MaxHeapSize doesnt match
  • sun/tools/jmap/heapconfig/LingeredAppTest.java and sun/tools/jmap/heapconfig/JMapHeapConfigTest.java fail due to LingeredApp ERROR: java.io.IOException: Lock is too old. Aborting
  • Never-taken branches should be pruned when GWT LambdaForms are shared
  • Customize LambdaForms which are invoked using MH.invoke/invokeExact
  • Don't block inlining when DONT_INLINE_THRESHOLD=0
  • BlockInliningWrapper.asType() is broken
  • Remove com.sun.tracing API
  • JavaSecurityAccess.doIntersectionPrivilege() drops the information about the domain combiner of the stack ACC
  • Remove deprecated methods on sun.misc.Unsafe and clean up native implementation
  • Unexpected count of notification in LowMemoryTest
  • Test fails with java.security.AccessControlException: access denied ("java.security.SecurityPermission" "getDomainCombiner")
  • Remove redundant imports from sun/applet/AppletProps.java
  • test/java/lang/reflect/Proxy/ClassRestrictions.java assumes app class loader be URLClassLoader
  • javac produces classfiles it cannot read
  • Investigate alternate strategy for type-checking operators
  • Incorrect @bug annotation in checkin for JDK-8069545
  • New modular image-based file manager skips boot classes
  • remove unnecessary complexity in Flow and Bits, after JDK-8064857

New in Java SE Development Kit (JDK) 9 Build 50 Early Access (Feb 19, 2015)

  • Move java.security.acl from compact3 to java.base
  • String intrinsic related cleanups
  • CompilerOracle prefix wildcarding is broken for long strings
  • compiler/oracle/CheckCompileCommandOption.java nightly failure
  • compiler/rtm/locking/TestRTMTotalCountIncrRate.java nightly failure
  • assert(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo], def)) failed: after block local
  • build_vm_def.sh not working correctly for new build cross compile
  • compiler/arguments/CheckCompileThresholdScaling.java fails
  • [TESTBUG] compiler/whitebox/ForceNMethodSweepTest.java : sweep shouldn't increase usage
  • compiler/codecache/stress tests timeout in nightlies
  • JMH javac performance regressions on solaris-sparcv9 in 9-b34
  • Crash in klassItable::initialize_itable_for_interface when running vm.runtime.defmeth.StaticMethodsTest.
  • [TESTBUG] Exception thrown for java.lang.NoSuchMethodError: sun.misc.Unsafe.monitorExit
  • [TESTBUG] CompressedClassSpaceSizeInJmapHeap.java fails if SA not available
  • jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
  • Update OS detection code to reflect Windows 10 version change
  • Tests are still excluded while the appropriate bug has been fixed
  • Increase the precision of the implementation of java.time.Clock.systemUTC()
  • JSR 292: constant pool reconstitution must support pseudo strings
  • 9-dev build failed on elinux-i586 and rlinux-i586
  • Convert JAXP function tests: javax.xml.datatype to jtreg (testng) tests
  • Convert JAXP function tests: javax.xml.jaxp14.* to jtreg (testng) tests
  • Documentation for methods in Number incomplete regarding too large values.
  • (fs) FileLock constructors don't throw NPE if the channel argument is null
  • (process spec) ProcessBuilder.start and Runtime.exec should throw UnsupportedOperationException on platforms that don't support
  • Missing @throws in DateTimeFormatterBuilder.appendOffset
  • Missing @throws in DateTimeFormatterBuilder.appendInstant
  • 'principal' should be 'principle' in java.time package description
  • java.time.format.DateTimeFormatter error in API doc example
  • Clarify documentation on BaseStream.spliterator
  • orElseThrow has different signatures for OptionalPrimitive and Optional
  • Please add java.util.Optional.stream() to convert Optional to Stream
  • Race condition in ThenComposeExceptionTest.java
  • Add javax/xml/ws/8046817/GenerateEnumSchema.java to the problem list
  • Add two failing svc tests to the problem list
  • java/lang/management/MemoryMXBean/LowMemoryTest.java should be quarantined
  • SVC jdk/test/* should be cleaned from JRE layout dependency
  • TEST_BUG: com/sun/jdi/JdbReadTwiceTest.sh fails when run under root
  • com/sun/jdi/ConnectedVMs.java should be quarantined
  • jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
  • com/sun/jdi/GetLocalVariables4Test.sh should be quarantined
  • Increase the precision of the implementation of java.time.Clock.systemUTC()
  • JNI exception pending in jdk/src/share/bin/java.c
  • ArrayIndexOutOfBoundsException instead of DateTimeException in j.t.chrono.JapaneseChronology.eraOf()
  • Move java.security.acl from compact3 to java.base
  • sun.security.krb5.KrbApReq.authenticate() is not thread safe
  • Specify and implement PlatformMBeanProvider for looking for all platform MBeans
  • (tz) Support tzdata2015a
  • @since tags missing from TimeUnit
  • jdk/test/Makefile references (to be removed) win32 directory in jtreg
  • Write new test to test -j switch
  • ClassCastException when compiled with JDK 9b08+, JDK8 compiles OK.
  • Cannot build langtools if checked-out in a directory ending with \"com\"
  • Move java.security.acl from compact3 to java.base
  • tools/javac/lambda/MethodReference55.java fails across platforms
  • New compiler warning after JDK-8067139
  • nashorn should not use obj.getClass() for null checks
  • Various performance issues parsing JSON
  • Nashorn JSON.parse drops numeric keys
  • Test for JDK-8068872 fails in tip

New in Java SE Development Kit (JDK) 9 Build 49 Early Access (Feb 7, 2015)

  • Fixes:
  • Create make dependencies on make variable values
  • SetupJavaComilation EXCLUDE/INCLUDE/EXCLUDE_FILE do not work on META-INF files
  • Enable pipefail in the shell used by make to better detect build errors
  • verify-modules fails in bootcycle build
  • infinite build loops in 9-dev windows platform on Jan 26
  • Bootcycle build fails on macosx
  • AIX port of "8050807: Better performing performance data handling"
  • Split Verifier incorrectly throws VerifyError for getstatic of an array field
  • Enable pipefail in the shell used by make to better detect build errors
  • Some jcmd /gc/heap_dump tests failed: hprof output contains warning or error.
  • ppc64: Encode/Decode nodes for disjoint cOops mode
  • assert(addr != 0) failed: address sanity check in PerfMemory::detach with -XX:-UsePerfData
  • Remove sun.misc.Unsafe.monitorEnter, monitorExit and tryMonitorEnter
  • [TESTBUG] Spurious timeout for runtime/ErrorHandling/ProblematicFrameTest
  • jvmtiStringPrimitiveCallback should not be invoked when string value is null
  • Memory leak in JvmtiEnv::GetConstantPool
  • (process) Suspend finishing threads when process exits [win]
  • verify-modules fails in bootcycle build
  • [TESTBUG] Check for -client in gc/g1/TestHumongousCodeCacheRoots.java
  • ParNew promotion failed is serialized on a lock
  • VirtualSpace does not use large pages
  • A heap region being cleared should not belong to the cset
  • -XX:+AggressiveOpts broken: GC triggered before VM initialization completed on several tests
  • gc/TestSmallHeap.java failing in nightly
  • Remove unused G1PostBarrierStub::byte_map_base and friends
  • C2 failed: modified node is not on IGVN._worklist
  • Use %f instead of %g for LogCompilation output
  • SIGSEGV in c2 compiled code with OptimizeStringConcat
  • Add new Node* Node::find_out(int opc) method.
  • [TESTBUG] hotspot/test/compiler/codecache/jmx/PoolsIndependenceTest.java sometimes fails(unstable behaviour)
  • Several tests are still excluded
  • SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.
  • quarantine serviceability/dcmd/compiler/CompilerQueueTest.java
  • Enable per-method usage of CompileThresholdScaling (per-method compilation thresholds)
  • XSL: Run-time internal error in 'substring()'
  • XSL: wrong answer from substring() function
  • XPath: support any type
  • JAXP function gap tests conversion
  • Convert JAXP function tests: javax.xml.validation.* to jtreg (testng) tests
  • JDK 8 schemagen tool does not generate xsd files for enum types
  • StringIndexOutOfBoundsException while reading krb5.conf
  • Cleanup include and exclude of core-libs native libraries after source code restructure
  • XSL: Run-time internal error in 'substring()'
  • 8062924 XSL: wrong answer from substring() function
  • Create make dependencies on make variable values
  • JDK 8 schemagen tool does not generate xsd files for enum types
  • Additional tests for jarsigner's warnings
  • JCK test api/java_net/Socket/descriptions.html#Bind crashes on Windows
  • imestampCheck.java change removes a whitespace between command and args
  • (Process) Merge UNIXProcess.java into ProcessImpl.java
  • The Spliterator characteristics CONCURRENT and IMMUTABLE are mutually exclusive
  • Better Spliterator implementations for String.chars() and String.codePoints()
  • (spec) Defect in the System.nanoTime spec
  • test/java/util/ResourceBundle/Bug6287579.java needs update for per language package support
  • Relax response flags checking in sun.security.krb5.KrbKdcRep.check.
  • Remove sun.misc.Unsafe.monitorEnter, monitorExit and tryMonitorEnter
  • OOMEInReferenceHandler.java fails: Cleaner terminated abnormally
  • java/lang/instrument/NativeMethodPrefixAgent.java is still in exclude list
  • tmtools/jmap/heap_config/jmap_heap_config_OldSize fails
  • (sctp) Possible race initializing native IDs
  • Socket returned by ServerSocket.accept() is inherited by child process on Windows
  • test/java/io/Serializable/subclassGC/SubclassGC.java assumes app class loader is a URLClassLoader
  • doc updates for java.lang.Object
  • java.lang.Object uses implicit default constructor
  • Group 10c: golden files for tests in tools/javac dir
  • jdeps shows "not found" if target class has no reference other than its own package
  • move pathToURLs from javac.file.Locations to javadoc.DocletInvoker
  • Finally blocks inlined incorrectly

New in Java SE Development Kit (JDK) 9 Build 48 Early Access (Jan 31, 2015)

  • Rename oracle.accessbridge to jdk.accessbridge
  • Zero: Atomic::xchg and Atomic::xchg_ptr need full memory barrier
  • [TESTBUG] Exclude failing nightly tests
  • Unsafe.reallocateMemory() ignores -XX:MallocMaxTestWords setting
  • [TESTBUG] runtime/7194254/Test7194254.java fails to find jstack with modular image build
  • interpreter profiling incorrect on PPC64
  • [TESTBUG] runtime/Unsafe/Reallocate.java sometimes fails when running with -Xcomp
  • Compiler attach tests should be quarantined
  • -XX:MaxMetaspaceSize=20m -Xshare:dump caused JVM to crash
  • Rename assert() to vmassert()
  • Remove dead code in G1CollectedHeap
  • TestSmalllHeap.java fails when the page size is 64k
  • Improve STATIC_ASSERT
  • Usage of UseHugeTLBFS, UseLargePagesInMetaspace and huge SurvivorAlignmentInBytes cause crashes in CMBitMapClosure::do_bit
  • G1CollectoryPolicy uses uninitialized field '_sigma' in the constructor
  • TestConcMarkCycleWB.java crashed at G1CollectedHeap::heap()+0xb
  • assert(Opcode() != Op_If || outcnt() == 2) failed: bad if #1
  • Exclude compiler/whitebox/ForceNMethodSweepTest.java from nightly runs
  • [TESTBUG] Aix support in hotspot jtreg tests
  • Exclude hotspot/test/compiler/codecache/jmx/PoolsIndependenceTest.java from nightly runs
  • ppc64: update assembler: SPR access, CR logic, HTM
  • CodeHeap::next_free should be renamed
  • Math.pow yields different results upon repeated calls
  • CompileCommand does not accept all JLS-conformant class/method names
  • [TESTBUG] Fix tests for OS with 64K page size.
  • RTM tests that assert on non-zero lock statistics are too strict in RTMTotalCountIncrRate > 1 cases
  • Add test to cover JDK-8030976
  • compiler/rtm/locking/TestRTMLockingThreshold test may fail if transaction was aborted by interrupt
  • JEP-JDK-8043304: Test task: stress tests
  • Exclude compiler/codecache/stress tests from JPRT runs
  • Requeue queue implementation
  • Fewer escapes from escape analysis
  • Better GC validation
  • (ref) More phantom object references
  • TLAB stability
  • Better verification of an exceptional invokespecial
  • Better performing performance data handling
  • Compiler code generation improvements
  • More references for endpoints
  • Javadoc typo in java.util.Formatter
  • Class.toGenericString specification doesn't mention array types
  • missing US_export_policy.jar in jdk9-b44 is causing compilation errors building jdk9 source code
  • System.loadLibrary cannot find library when path contains quoted entry
  • Cleanup sun/misc/JarIndex tests to remove the check for the jre directory
  • HttpServer missing tailing space for some response codes
  • sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be quarantined
  • com/sun/jdi/CatchPatternTest.sh should be quarantined
  • Timeout in LowMemoryTest.java
  • null reference in ToolTipManager
  • XP Only JButton.setBorderPainted() does not work with XP L&F
  • Pending String deadlocks UIDefaults
  • Dead/outdated links in Javadoc of package java.beans
  • Some tests failed after JDK-8063104
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 7
  • Stop including libjawt in libawt_xawt
  • Inconsistent exception handling in CompletableFuture.thenCompose
  • Iterators is spelled incorrectly in the Javadoc for Spliterator
  • SecureRandom should be more frugal with file descriptors
  • Update protocol support
  • Update refactoring for new loader
  • Ensure proper proxy protocols
  • More boxing for DirectoryComboBoxModel
  • Better substitution formats
  • Fontmanager feature improvements
  • Multicast support improvements
  • Less cryptic cipher suite management
  • Resolve parsing ambiguity
  • RMI needs better transportation considerations
  • Resolve more parsing ambiguity
  • Part of JDK-8060474 should be reverted
  • Issues in TLS
  • Test bug8055304 fails if file system default directory has read access
  • Exporting RMI objects fails when run under restrictive SecurityManager
  • Adding Initial RowSet tests
  • Hashtable deserialization reconstitutes table with wrong capacity
  • The value of 'KeyStore Type' isn't 'jks'
  • (zipfs) ZipFileSystem creates corrupted zip if entry output stream gets closed more than once
  • ZipFileSystem leaks file descriptor when file is not a valid zip file
  • Rename oracle.accessbridge to jdk.accessbridge
  • krb5.conf not read if SCDynamicStore krb5 config is empty
  • Vectors and fixed length fields should be verified for allowed sizes.
  • (process) Child is terminated when parent's console is closed [win]
  • URISyntaxException when non-alphanumeric characters are present in scope_id
  • HTTP Tunnel connection to NTLM proxy reauthenticates instead of using keep-alive
  • Doclint regression in java.nio.channels.Channels
  • javax/net/ssl/TLS/TLSClientPropertyTest.java needs to be updated for JDK-8061210
  • Facilitate extension of the javac parser -- missing modifier
  • new .java file with no copyright notice
  • javac crashes when there are duplicated type parameters
  • SuppressWarnings(\"deprecation\") not respected on default clause on annotation declarations
  • ClassCastException: typing information needed for method reference bridging not preserved
  • LambdaLambdaSerialized can fail in -agentvm mode
  • Tests missing for checkin for JDK-8046977
  • Warning issued despite @SafeVarargs annotation on constructor
  • Dead typed push methods in ArrayData
  • ScriptObjectMirror should reject null/empty string/non-string parameters in Bindings methods

New in Java SE Development Kit (JDK) 9 Build 47 Early Access (Jan 24, 2015)

  • Add applicable closed gc jtreg tests to run in JPRT
  • Add GCOld as a JTreg test
  • JEP-JDK-8043304: Test task: JMX- tests
  • Extend WhiteBox API with methods that check monitor state and force safepoint
  • Solaris build fails with new 10u10 devkit
  • Fix merge errors following JDK-8049367
  • More merge errors following JDK-8049367
  • Make sure configure is run by bash
  • Add deprecation lint warning to build of jdk repository
  • Bootcycle builds do not work with sjavac
  • Compact symbol table layout inside shared archive.
  • Move clean_weak_method_links for redefinition out of class unloading
  • AIX: link libjvm.so with -bernotok to detect missing symbols at build time and suppress warning 1540-1639
  • PPC64: Implement SA on Linux/PPC64
  • Null pointer dereference in hotspot/src/share/vm/classfile/verifier.cpp
  • Introduce compressed oops mode disjoint base and improve compressed heap handling.
  • crash when adding non-static methods to java.lang.Object class
  • The Universe::flush_foo methods belong in CodeCache.
  • Clean up friends of G1CollectedHeap
  • Regression test for JDK-6522873
  • Add applicable closed gc jtreg tests to run in JPRT
  • Early reclaim of large objects that are referenced by a few objects
  • Add GCOld as a JTreg test
  • Various changes in testlibrary for JDK-8059613
  • JEP-JDK-8043304: Test task: JMX- tests
  • test/compiler/ciReplay/TestSA.sh should be updated to work w/ modular image build
  • Update c.o.j.t.InfiniteLoop to skip zero timeout
  • remove Utils::fileAsList
  • remove ctw-test from testlibrary/
  • Add isTieredSupported method to c.o.j.t.Platforms
  • JEP-JDK-8043304: Test task: command line options tests
  • Update c.o.j.t.ByteCodeLoader to be able really reload given class
  • JEP-JDK-8043304: Test task: DTrace- tests for segmented codecache feature
  • Extend WhiteBox API with methods that check monitor state and force safepoint
  • compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
  • assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty()) failed: return value must be well defined
  • optimize inline_native_clone() for small objects with exact klass
  • Update JAXP functional tests
  • Additional tests for MAC algorithms
  • CounterMonitorDeadlockTest.java timed out
  • Adjust java/lang/invoke/LFCaching/LFGarbageCollectedTest.java for recent changes in java.lang.invoke
  • sun/tools tests can intermittently fail to find app's Java pid
  • Quarantine the test IsModifiableClassAgent.java
  • java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java is still in exclude list
  • remove Utils::fileAsList
  • Need additional vm checks in jdk/test/lib/testlibrary/jdk/testlibrary/Platform, checking which vm is run
  • Need custom classloaders(parent-last and filtering one) for JDK-8066625 in testlibrary
  • Need to port Utils chagnes from JDK-8066440 into jdk workspace
  • Add mutability, serializability, and thread-safety, caveat to all Collectors that do not accept a Collection supplier
  • Change default criticality of policy mappings and policy constraints certificate extensions
  • Test sun/awt/datatransfer/DataFlavorComparatorTest.java fails with compilation error
  • Remove constructor dependency on line.separator from PrintWriter and BufferedWriter
  • Use private static final char[0] for empty Strings
  • New tests for mJRE feature removal.
  • Update java.base module to use new try-with-resources statement
  • sun/reflect/CallerSensitive/CallerSensitiveFinder.java should use the JRT FileSystem
  • CollectionUsageThreshold.java times out when run with -XX:+ExplicitGCInvokesConcurrent
  • Intermittent failure in java/net/DatagramSocket/InheritHandle.java
  • LDAPCertStore fails to retrieve CRL after LDAP server closes idle connection
  • Suppress deprecation warnings in jdk.deploy.osx module
  • Avoid synchronization on Executable/Field.declaredAnnotations
  • ClassCastException in TransTypes.visitApply
  • javac -parameters does not emit parameter names for lambda expressions
  • Method reference uses wrong qualifying type
  • javac wrongly allows annotations in array-typed class literals
  • Messager.printMessage cannot print multiple errors for same source position
  • Cleanup method reference lookup code
  • Build failure because of dependency on generated file
  • Fix langtools make build so that diagnostic framework can be used
  • Compiler may generate wrong InnerClasses attribute for static enum reference
  • Calling a @FunctionalInterface from JS leaks internal objects
  • POJO setter using [] syntax throws an exception
  • Forgot to add a test model to JDK-8068573
  • NPE on invoking null (8068889 regression)
  • Wrong 'this' bound to eval call within a function when caller's 'this' is a Java object

New in Java SE Development Kit (JDK) 8 Update 31 (Jan 21, 2015)

  • NEW FEATURES AND CHANGES:
  • SSLv3 is disabled by default:
  • Starting with JDK 8u31 release, the SSLv3 protocol (Secure Socket Layer) has been deactivated and is not available by default. See the java.security.Security property jdk.tls.disabledAlgorithms in /lib/security/java.security file.
  • If SSLv3 is absolutely required, the protocol can be reactivated by removing "SSLv3" from the jdk.tls.disabledAlgorithms property in the java.security file or by dynamically setting this Security property to "true" before JSSE is initialized.
  • It should be noted that SSLv3 is obsolete and should no longer be used.
  • Changes to Java Control Panel:
  • Starting with JDK 8u31 release, SSLv3 protocol is removed from Java Control Panel Advanced options. If the user needs to use SSLv3 for applications, re-enable it manually as follows.
  • Enable SSLv3 protocol on JRE level: as described in the previous section.
  • Enable SSLv3 protocol on deploy level: edit the deployment.properties file and add the following - deployment.security.SSLv3=true
  • BUG FIXES:
  • Sorting columns in JFileChooser fails with AppContext NPE
  • [headless] JPopupMenu creation in headless mode with JDK9b23causes NPE
  • ByteArrayOutputStream capacity should be maximal array sizepermitted by VM
  • Currency update needed for ISO 4217 Amendment #159
  • (tz) Support tzdata2014j
  • RFE: Instructions Not Clear For Adding Site To ESL
  • ClientConfig.refreshIfNeeded() doesn't restore properties with"active." prefix.
  • JRE Install Error in localized Windows 8.1 after join in ADdomain
  • Shortcuts are not created for javaws x64 with JRE 7u55 onWindows OS
  • Roaming user profiles by USER_JPI_PROFILE env variablesdoesn't work anymore
  • javaws help message in Japanese is corrupted
  • JavaWS fails with proxy autoconfig due to missing "resolve"permission
  • Jnlp fails to load with CouldNotLoadArgumentException
  • Segmentation error while running program
  • CMS: JVM intermittently crashes with "FreeList of size258 violates Conservation Principle" assert
  • JVM crash with JDK8 (build 1.8.0-b132) with G1 GC
  • stability issues when being launched as an embedded JVM viaJNI
  • Update the Crash Reporting URL in the Java crash log
  • Typo in Installer Removal Tool UE, "hightly"
  • javac, follow-up of fix for 8049305
  • XML parser returns corrupt attribute value
  • JAX-WS handles wrongly xsd:any arguments for Web services
  • JAXB not preserving formatting for xsd:any Mixed content
  • NPE seen in XMLDocumentFragmentScannerImpl.setProperty since7u40b33

New in Java SE Development Kit (JDK) 9 Build 46 Early Access (Jan 21, 2015)

  • Subsume module java.xml.soap into module java.xml.ws
  • Add module java.transaction to export API javax.transaction
  • Create initial test bundle framework
  • Tab completion of targets fails when current dir is the output dir
  • Configure fails on Windows if Visual Studio $LIB/$INCLUDE is lower case
  • Add module java.transaction to export API javax.transaction
  • Subsume module java.xml.soap into module java.xml.ws
  • FilterOutputStream.close may throw IOException if called twice and underlying flush or close fails
  • (typo in the spec) javax.script.ScriptEngineFactory.getLanguageName
  • TEST_BUG: update RMI test library with better test.timeout.factor handling
  • [TESTBUG] com/sun/corba/5036554/TestCorbaBug.sh
  • javax.script.ScriptEngineFactory.getParameter spec is not completely consistent with the rest of the API
  • Subsume module java.xml.soap into module java.xml.ws
  • Add module java.transaction to export API javax.transaction
  • Test key generation of DES and DESEDE
  • NotificationBufferDeadlockTest.java throw exception: java.lang.Exception: TEST FAILED: Deadlock detected
  • Broken link (access denied error) to http://www.rsasecurity.com in RC5ParameterSpec
  • Zero BigDecimal with negative scale prints leading zeroes in String.format
  • (fc) Rename the new jdk.net.enableFastFileTransfer system property to jdk.nio.enableFastFileTransfer
  • Add error code to to exception condition message resulting from GetAdaptersAddresses function calls
  • (ann) @Deprecated annotation has no effect on packages
  • javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java should be quarantined
  • build can still fail with spaces following -L on link lines
  • XML Signature ECKeyValue elements cannot be marshalled or unmarshalled
  • Provide more byte array constructors for BigInteger
  • javac generates LVT entry with length 0 for local variable
  • Javac misses some opportunities for diagnostic simplification
  • StandardJavaFileManager should support java.nio.file.Path
  • Make certain annotation classfile warnings opt-in
  • Devise scheme for better diagnostic creation
  • Group 10a: golden files for tests in tools/javac dir
  • java.lang.VerifyError: Bad local variable type - local final String
  • VerifyError due to missing checkcast
  • java.lang.VerifyError: Inconsistent stackmap frames at branch target
  • Redundant type cast nodes in AST (follow up from JDK-8043741)
  • ConstFoldTest fails on Windows
  • Cleanup reflective access of java.lang.annotation.Repeatable
  • nashorn
  • @since and @jdk.Exported are missing in jdk.nashorn.api.scripting classes and package-info.java files
  • NashornScriptEngineFactory.getParameter() throws IAE for an unknown key, doesn't conform to the general spec
  • make JavaAdapterFactory.isAutoConvertibleFromFunction more robust
  • Halve the function object creation code size

New in Java SE Development Kit (JDK) 9 Build 45 Early Access (Jan 13, 2015)

  • Move Whitebox test library to top level repository
  • WhiteBox API for stress testing of TieredCompilation
  • Bring changes made to WhiteBox.java in 8047290 to that file new location in the top repo
  • warnings from b116 for hotspot.agent.src.share.native: JNI exception pending
  • Make Mutex::_no_safepoint_check_flag locks verify that this lock never checks for safepoint
  • bigapps/runThese/nowarnings fails: Java HotSpot(TM) 64-Bit Server VM warning: WaitForMultipleObjects
  • compiler/intrinsics/mathexact/SubExactINonConstantTest.java crashed in os::is_first_C_frame(frame*)
  • Remove JVM_FindClassFromClassLoader
  • hs_err report should treat redirected core pattern
  • Rename hotspot_all in hotspot/test/TEST.groups
  • Need to enable -XX:+TraceExceptions in release builds
  • Allow java.{endorsed,ext}.dirs property be set to empty string
  • Add jtreg gc tests to Hotspot JPRT jobs
  • Add PS and ParOld support for promotion event
  • Remove PSMarkSweep::set_reference_processor
  • FragmentMetaspace.java got OutOfMemoryError
  • TestMutuallyExclusivePlatformPredicates fails on all platforms
  • [TESTBUG] New tests in gc/survivorAlignment/ fails
  • ppc64: argument and return type profiling, fix problem with popframe
  • fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139
  • Move Whitebox test library to top level repository
  • Remove Whitebox API from hotspot repository
  • JEP-JDK-8043304: Test task: Tiered Compilation level transition tests
  • Port timeout utils from jdk test library into hotspot
  • Zero builds fails after JDK-6898462
  • rewrite Utils::fileAsString
  • Remove testlibrary_tests from compact profile in jtreg
  • WhiteBox API for stress testing of TieredCompilation
  • Improve compiler's CLI tests error reporting
  • [TESTBUG] compiler/rangechecks/TestRangeCheckSmearing.java uses wrong path to Whitebox API
  • compiler/debug/TraceIterativeGVN.java segfaults
  • merging hs-comp to hs blocked by some tests not updated in 8054892
  • Add test to verify minimal heap size
  • Remove deprecated command line flags
  • Clean up G1 remembered set oop iteration
  • G1 ignores AlwaysPreTouch
  • gc/TestSmallHeap.java does not compile
  • Remove ReferenceProcessor::clean_up_discovered_references()
  • Object copy time regressions after JDK-8031323 and JDK-8057536
  • assert(is_available(index)) failed in G1 cset
  • G1SATBCardTableModRefBS should not inherit from CardTableModRefBSForCTRS
  • CheckCompileThresholdScaling.java throws RuntimeException
  • Changes 8066780/8066782 broke the non-PCH build
  • Test test/sun/awt/dnd/8024061/bug8024061.java fails
  • Animated GIFs fail to display on a HiDPI display
  • [macosx] "Pinch to zoom" does not work since jdk7
  • Replace concat String to append in StringBuilder parameters (client)
  • Deadlock in SystemFlavorMap.getFlavorsForNative and SunToolkit.awtLock
  • Some tests fails with error: cannot find symbol getSystemMnemonicKeyCodes()
  • Suppress deprecation warnings in java.desktop module
  • Swing's Threading Policy example does not compile
  • Unset and empty DISPLAY variable is handled differently by JDK
  • Suppress windows-specific deprecation warnings in the java.desktop module
  • Suppress mac-specific deprecation warnings in the java.desktop module
  • [macosx] jdk8, jdk7u60 Regression in Graphics2D drawing of derived Fonts
  • Consider adding aliases for Ucrypto algorithm-only Cipher transformations.
  • AES/CICO test failed with on several modes
  • Eliminate internal API dependency from java/net/ResponseCache/ResponseCacheTest.java
  • JEP 229: Create PKCS12 Keystores by Default
  • (fs) Add default methods to Path for derived methods
  • Test java/lang/management/MemoryMXBean/LowMemoryTest.java fails intermittently
  • Remove JVM_FindClassFromClassLoader
  • Allow java.{endorsed,ext}.dirs property be set to empty string
  • Native2ascii doesn't close one of the streams it opens
  • 4 pack200 tests fail on mac since jdk became modular
  • tools/pack200/CommandLineTests.java does not conform ProblemList.txt style
  • BigDecimal should populate NumberFormatException message
  • Better message about incompatible zlib in Deflater.init
  • Need a sanity test for rmic -iiop
  • Add smartcardio tests with APDU buffer
  • Add java/lang/ClassLoader/deadlock/GetResource.java to ProblemList.txt
  • SHA1WithDSA with key > 1024 bits not working
  • Unnecessary allocation in AliasFileParser
  • String.format in DeferredAttr.DeferredTypeMap constructor leads to excessive object creation
  • Split large SJavac.java test source into multiple files

New in Java SE Development Kit (JDK) 9 Build 44 Early Access (Dec 30, 2014)

  • No debug symbols in JPRT Windows builds
  • ZERO_ARCHDEF incorrectly defined for PPC/PPC64 architectures
  • verify-modules target was dropped in jdk9 b41
  • XML Test Colo: Add test build system for JAXP tests
  • Trailing whitespace in title of javadoc: Overview (Java Platform SE 7 )
  • Tests using -Xshare:dump does not work with 'make test'
  • hgforest.sh mishandles arguments with spaces
  • Remove setting -bootclasspath $(JDK_OUTPUTDIR)/classes from Javadoc.gmk
  • Disable verify-modules until JDK-8067479 is resolved
  • os::reserve_memory() on Windows should not assert that allocation size is aligned to OS allocation granularity
  • [TEST_BUG] serviceability/sa/jmap-hashcode/Test8028623.java has utf8 character corrupted by earlier merge
  • PrintSharedArchiveAndExit does not exit the VM when the archive is invalid
  • vm crashes during CDS dump when very small SharedMiscDataSize is specified
  • Out of order with Metaspace allocation lock
  • JTReg tests timeout on slow devices when run using JPRT
  • Add PLAB trace event
  • CardTableModRefBS might commit the same page twice
  • Crash in InstanceKlass::clean_method_data when _method is NULL
  • Clean up HeapRegionRemSet files
  • Split CardGeneration out to its own file
  • Minor cleanups to TenuredGeneration
  • Move common code from CMSGeneration and TenuredGeneration to CardGeneration
  • Java not print "Unrecognized option" when it is invalid option.
  • Test closed/java/text/Normalizer/ConformanceTest.java failed
  • The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
  • compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java fails product
  • opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
  • Need WhiteBox::allocateCodeBlob(long, int) method to be implemented
  • C2's range check smearing allows out of bound array accesses
  • Array Out Of Bounds Exception causes variable corruption
  • SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects
  • XML Test Colo: Add test build system for JAXP tests
  • Fix deprecation warnings in java.rmi module
  • [TEST-BUG] javax/management/monitor/CounterMonitorTest.java hangs
  • No debug symbols in JPRT Windows builds
  • More core reflection final and volatile annotations
  • JEP 171: Clarifications/corrections for fence intrinsics
  • (process) ProcessBuilder.redirectError spec has a broken link
  • My hobby: caning, then then canning, the the can-can
  • Update java/util/Collections/EmptyIterator.java to eliminate dependency on sun.tools.java
  • DeadlockTest.java failed with negative timeout value
  • (fc) FileInputStream.getChannel on closed stream returns FileChannel that doesn't know that stream is closed
  • Add diagnostics for Exception: Read from closed pipe hang
  • Fix deprecation warnings in java.base module - CRC32C
  • Add InputStream transferTo to transfer content to an OutputStream
  • Add a test that will call getDeclaredFields() on all classes and try to set them accessible.
  • move awt tests from AWT_Modality to OpenJDK repository - part 9
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 8
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 6
  • [macosx] Potential incomplete fix for JDK-8031485
  • Change open swing regression tests to avoid sun.awt.SunToolkit.realSync, part 2
  • [TEST_BUG] javax/swing/text/AbstractDocument/6968363/Test6968363.java is asocial pressing VK_LEFT and not releasing
  • [TEST_BUG] javax/swing/JEditorPane/6917744/bug6917744.java 100 times press keys and never releases
  • [TEST_BUG] javax/swing/JComboBox/4199622/bug4199622.java contains a lot of keyPress and not a single keyRelease
  • JColorChooser no longer supports drag and drop between two JVM instances
  • Default implementation of DrawImage.renderImageXform() should be improved for d3d/ogl
  • J2DBench can be improved
  • [OGL] Metrics for a method choice copying of texture should be improved
  • [macosx] TwentyThousandTest test failed with OOM
  • JFileChooser filter uses .toString() instead of getDescription() for filter text on GTK laf
  • [parfait] Function Call Mismatch in jdk/src/java/desktop/unix/native/libawt_xawt/xawt/XToolkit.c
  • [parfait] JNI exception pending in jdk/src/java/desktop/unix/native: libawt_xawt/awt/, common/awt
  • [parfait] JNI primitive type mismatch in jdk/src/java/desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
  • Edit the value in the text field and then press the tab key, the number don't increase
  • regression test EmptyClipRenderingTest fails
  • CTW CRASH: SIGSEGV in ctw/jre/lib/rt_jar/preloading_1 and ctw/jre/lib/rt_jar/sun_awt_X11_ListHelper
  • Broken link in java.awt.event Interface KeyListener
  • Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 2
  • Fix Windows-specific deprecation warnings in the jdk.crypto.mscapi module
  • Suppress solaris-specific deprecation warnings in the jdk.crypto.ucrypto module
  • Support java.util.spi.*, java.text.spi.*, java.awt.im.spi loaded from classpath
  • Africa/Casablanca transitions is incorrectly calculated starting from 2027
  • java/lang/instrument/ParallelTransformerLoader.sh fails with ClassCircularityError
  • ThreadReference.stop(null) throws NPE instead of InvalidTypeException
  • sun/tools/jps/TestJpsClass.java failed to remove stale attach pid file
  • jstat displays "invalid argument count" with usage
  • [TESTBUG] com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationp[Content]Test.java fail when -XX:+ExplicitGCInvokesConcurrent
  • java/lang/management/ThreadMXBean/Locks.java fails intermittently, blocked on wrong object
  • Setting stack size to 16K causes segmentation fault
  • com/sun/tools/attach/StartManagementAgent.java interrupted! (timed out?)
  • TEST_BUG: java/rmi/server/RemoteObject/notExtending/NotExtending.java can fail with timeout
  • java -help contains information about "-version:",'-jre-restrict-search', '-no-jre-restrict-search', but they are removed
  • tools/launcher/MultipleJRE.sh requires adjustments to work with module boundaries
  • Missing bug id in test/tools/launcher/*
  • Implement reliability test for DH algorithm
  • java.security.ProviderException: Error parsing configuration with space
  • Fix deprecation warnings in jdk.naming module
  • Update jdk/tools tests to remove check for the "jre" directory
  • Fix java.io.ObjectInputStream.PeekInputStream#skip
  • Additional DriverManager clean-up from 8060068
  • langtools/test/Makefile should use -agentvm not -samevm
  • langtools/test/Makefile should not use OS-specific jtreg binary
  • Better support for finder capabilities in target-typing context
  • verify-modules target was dropped in jdk9 b41
  • Add bugId to tests that have been modified as part of JDK-8064365
  • Lambda method names are unnecessarily unstable
  • Javac crashes in finder mode with nested implicit lambdas
  • Facilitate extension of the javac parser
  • Compiler doesn't infer method's generic type information in lambda body
  • BrowserJSObjectLinker should give priority to beans linker for property get/set
  • Fuzzing bug: length valueOf bug
  • Nashorn bug retrieving array property after key string concatenation
  • ant javadoc target is broken
  • Fuzzing bug: parameter counts differ in TypeConverterFactory
  • NetBeans nashorn debug target is broken. Nashorn source directory config. is wrong
  • bound java static method throws NPE when 'null' is used for this argument
  • Use a stack of types when calculating local variable types

New in Java SE Development Kit (JDK) 9 Build 43 Early Access (Dec 19, 2014)

  • configure fails if it's set --with-boot-jdk to use JDK 9 modular image
  • Investigate -sourcepath usage when compiling java
  • Remove support for ParNew+SerialOld and DefNew+CMS
  • Kitchensink: WaitForMultipleObjects failed in hotspot\src\os\windows\vm\os_windows.cpp: 3844
  • Suspicious failure of test java/util/concurrent/Phaser/FickleRegister.java
  • Use DWARF debug symbols for Solaris
  • Add method to WhiteBox to get vm pagesize.
  • DCMD parser fails to recognize one character argument when it's positioned last
  • os::free() takes MemoryTrackingLevel but doesn't need it
  • CPU detection gives 0 cores per cpu, 2 threads per core in Amazon EC2 environment
  • Test serviceability/sa/jmap-hashcode/Test8028623.java fails on some Linux/Mac machines.
  • REDO - Parallelize clearing the next mark bitmap
  • [TESTBUG]: gc/arguments/TestG1HeapRegionSize.java fails at nightly
  • 'Full GC' events miss date stamp information occasionally
  • Move CMS-specific fields from Space to CompactibleFreeListSpace
  • Refactor G1s usage of save_marks and reduce related races
  • Add tests on alignment of objects copied to survivor space
  • Make it possible to extend the G1CollectorPolicy
  • assert(_thread == Thread::current()->osthread()) failed: The PromotionFailedInfo should be thread local
  • gc/TestSoftReferencesBehaviorOnOOME.java: Error. Can't find source file: TestSoftReference.java
  • Report allocation context stats at end of cleanup
  • Remove support for ParNew+SerialOld and DefNew+CMS
  • Fix missing reivew changes for JDK-8065972
  • WB method to start G1 concurrent mark cycle should be introduced
  • Change CMSCollector::_young_gen to be a ParNewGeneration*
  • Merge OneContigSpaceCardGeneration with TenuredGeneration
  • Fix include after 8065993: Merge OneContigSpaceCardGeneration with TenuredGeneration
  • Fix includes after 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
  • opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
  • Asserts.assert* should print values
  • c.o.j.t.Platform::isX86 and isX64 may simultaneously return true
  • compiler/whitebox/GetNMethodTest.java: java.lang.RuntimeException: blob_type[MethodProfiled] for 2 level isn't MethodNonProfiled
  • compiler/whitebox/AllocationCodeBlobTest.java crashes / asserts
  • Port JDK-8066191 into hotspot
  • C2 escape analysis prevents VM from exiting quickly
  • SmallCodeCacheStartup.java exits with exit code 1
  • crash running specjvm98's javac following 8060252
  • ignore compiler/types/correctness
  • Implement os::pd_map_memory() on AIX
  • TEST_BUG:File locked when processing the cleanup on test jaxp/test/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerFactoryTest.java
  • Convert JAXP function tests: javax.xml.parsers to jtreg(testng) tests
  • TEST_BUG: the retry logic in RMID.start() should check that the subprocess hasn't terminated
  • LogManager unecessarily calls JavaAWTAccess from within a critical section
  • java.nio.channels.Channels cleanup
  • The commands in the modular images are executable by the owner only
  • javax.naming.NamingException after upgrade to JDK 8
  • Suppress deprecation warnings in jdk.crypto module
  • Suppress deprecation warnings in jdk.naming module
  • (fc) FileChannel transferTo should use TransmitFile on Windows
  • Remove Multiple JRE support in the Java launcher
  • New tests for TLS property jdk.tls.client.protocols
  • tools/pack200/Pack200Props.java failed with java.lang.OutOfMemoryError: Java heap space
  • (zipfs) Suppress deprecation warnings in jdk.zipfs module
  • Suppress deprecation warnings in java.management module
  • Suppress deprecation warnings in the jdk.jvmstat and jdk.jdi modules
  • Need to exclude javacpl in tools/launcher/VersionCheck.java
  • TEST_BUG: javax/management/remote/mandatory/connection/RMIConnector_NPETest.java fails
  • Remove space after -L on linker lines
  • Investigate -sourcepath usage when compiling java
  • Add kinit options and krb5.conf flags that allow users to obtain renewable tickets and specify ticket lifetimes
  • MHs.explicitCastArguments does incorrect type checks for VarargsCollector
  • (fs) Files.newByteChannel opens directories for cases where subsequent reads may fail
  • Make importing sa-jdi.jar optional on its existance
  • JPRT is not capable of running jtreg tests located jdk/test
  • (str spec) String(byte[], int, int, Charset) should be clearer when IndexOutOfBoundsException is thrown
  • Replace concat String to append in StringBuilder parameters (dev)
  • [TEST] Make java/lang/invoke/LFCaching tests use lib/testlibrary/jdk/testlibrary/TimeLimitedRunner.java to define their number of iterations
  • JDWP crash in transport_startTransport on OOM
  • langtools/test/tools/javac/processing/6348193/T6348193.java fails
  • javac crashing on a html-like file
  • IntelliJ langtools launcher ought to be Windows friendly
  • Disallow _ as a one-character identifier
  • JavacParserTest fails on Windows
  • Implement negative tests for cyclic dependencies in import statements
  • NegativeCyclicDependencyTest.java fails on Windows
  • DetectMutableStaticFields fails after modular images push
  • Tweak IntelliJ langtools project to show jtreg report directory
  • Implement a test that checks possibilty of class members to be imported
  • jdk9-dev/nashorn ant build fails with jdk9 modular image build as JAVA_HOME
  • OptimisticTypePersistence.java should work properly with "jrt" URL
  • OptimisticTypesPersistence.java should use Files.readAllBytes instead of getting size and then read
  • Undefined object type assertion when computing TypeBounds
  • CodeGenerator load unitialized slot
  • NPE in MethodEmitter with duplicate integer switch cases
  • fixes for folding a constant-test ternary operator
  • RuntimeNode forces copy creation on visitation
  • BrowserJSObjectLinker does not handle call on JSObjects
  • anonymous function statement name clashes with another symbol
  • __noSuchMethod__ binds to this-object without proper guard
  • dust.js performance regression caused by primitive field conversion
  • NPE in ScriptObject.clone() when running with object fields

New in Java SE Development Kit (JDK) 9 Build 42 Early Access (Dec 13, 2014)

  • Add --with-copyright-year option to configure
  • Rename posix to unix in build system to match file name changes
  • Print warning summary at end of configure
  • add targets for optimized builds
  • Encodings.isRecognizedEnconding sometimes fails to recognize 'UTF8'
  • Introduce EvalDebugWrapper for all Setup* macros
  • Various improvements in SetupNativeCompilation
  • Remove the flag -fsanitize=undefined for GCC 4.9 and later
  • Various improvements and cleanup of build system
  • jdk.nashorn.api.scripting package javadoc should be included in jdk docs
  • [TESTBUG] JT-Reg Serviceability tests to be run as part of JPRT submit job
  • TestHumongousShrinkHeap.java can not be run with -XX:+ExplicitGCInvokesConcurrent
  • Heap is not shrunk when deallocating under memory pressure
  • Test SoftReference and OOM behavior
  • cleanup ObjectMonitor offset adjustments
  • [TESTBUG] Allow WhiteBox test to access JVM offsets
  • Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler
  • Mismatch of method descriptor and MethodParameters.parameters_count should cause MalformedParameterException
  • Zero name_index item of MethodParameters attribute cause MalformedParameterException
  • sawindbg.dll is not compiled with /SAFESEH
  • src/share/vm/services/mallocTracker.hpp:64 assert(_count > 0) failed: Negative counter
  • Make @Contended within the same group to use the same oop map
  • Change certain errors to warnings in CDS output.
  • ResourceContext.requestAccurateUpdate() is unreliable
  • convert SCAN_AND_FORWARD, SCAN_AND_ADJUST_POINTERS, SCAN_AND_COMPACT macros to methods
  • Remove iCMS
  • Remove wrong assert and refactor code in G1CollectorPolicy::record_concurrent_mark_end
  • Parallelize clearing the next mark bitmap
  • G1: FreeRegionList_test() fails with G1 after the JDK-8058534 fix to HeapRegion::orig_end()
  • Bad page size passed to setup_large_pages() on Solaris
  • BACKOUT - Parallelize clearing the next mark bitmap
  • Insufficient compiler barriers for GCC in OrderAccess functions
  • CMS: small OldPLABSize and -XX:-ResizePLAB cause assert(ResizePLAB || n_blks == OldPLABSize) failed: Error
  • Add TraceEvent::is_enabled() for embedded/minimal builds
  • Remove unusable G1RSLogCheckCardTable command line argument
  • java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc)
  • Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant
  • JT_HS/compiler/7068051 uses jre/lib/javaws.jar
  • compiler/EliminateAutoBox/UnsignedLoads.java fails with client vm
  • Test task: WhiteBox API for testing segmented codecache feature
  • compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
  • SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv
  • Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit.
  • 'Reference handler' thread triggers assert w/ TraceThreadEvents
  • warning LNK4197: export '... ...' specified multiple times; using first specification
  • Thread.getName() instantiates Strings
  • wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC
  • cannot debug in synchronizer.o or objectMonitor.o on Solaris X86
  • java/lang/instrument/IsModifiableClassAgent.java: assert(length > 0) failed: should only be called if table is present
  • Obsolete command line flags accept arbitrary appendix
  • -XX:-UseCompilerSafepoints breaks safepoint rendezvous
  • Add additional comments for "8062370: Various minor code improvements"
  • Port 8013895: G1: G1SummarizeRSetStats output on Linux needs improvement to AIX
  • Zero+PPC64: Stack overflow when running Maven
  • Include alternate sa.make file for MacOSX
  • Some CDS optimizations should be disabled if bootclasspath is modified by JVMTI
  • Fixup headers and definitions for INCLUDE_TRACE
  • redefining method used by multiple MethodHandles crashes VM
  • WB_AddToBootstrapClassLoaderSearch calls JvmtiEnv::create_a_jvmti when not in _thread_in_vm state
  • Turn on the -Wreturn-type warning
  • ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes
  • Fix debug build after 8062808: Turn on the -Wreturn-type warning
  • Use THREAD instead of CHECK_NULL in return statements
  • Race in G1 card scanning could allow scanning of memory covered by PLABs
  • Improved handling of age during object copy in G1
  • Move INCLUDE_CDS include section to the end of the include list
  • Move INCLUDE_ALL_GCS include section to the end of the include list
  • Remove the CMS foreground collector
  • The card tables only ever need two covering regions
  • Remove the debug funciontality RotateCMSCollectionTypes for CMS
  • Native jbyte Atomic::cmpxchg for supported x86 platforms
  • [TESTBUG] Conflicting GC combinations in hotspot tests
  • Wrong spelling in assert: "Not initialied properly?"
  • improve hotspot_*test targets
  • com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java timed out
  • compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
  • move compiler jtreg test to corresponding subfolders and use those in TEST.groups
  • crash while compiling java.lang.ref.Finalizer::runFinalizer
  • JEP-JDK-8043304: Test task: segment overflow w/ empty others
  • compiler/startup/SmallCodeCacheStartup.java doesn't check exit code
  • C2 RA incorrectly removes kill projections
  • Failed compilation does not always trigger a JFR event 'CompilerFailure'
  • MaxNodeLimit and LiveNodeCountInliningCutoff
  • C2: Incorrectly compiled char[] array access crashes JVM
  • hotspot.log w/ enabled LogCompilation can be an invalid XML
  • XML JAXP unittest co-location
  • Avoid use of _ as a one-character identifier
  • Update JAX-WS RI integration to latest version (2.2.11-b141124.1933)
  • NPE in sun.awt.SunToolkit.getWindowDeactivationTime
  • [parfait] JNI exception pending in jdk/src/macosx/native/apple/security/KeystoreImpl.m
  • Misplaced parentheses in sun.net.www.http.HttpClient break HTTP PUT streaming
  • java.util.jar.Attributes should use insertion-ordered iteration
  • Class.getFields spec should state that fields are inherited from superinterfaces
  • java.net.BindException is thrown on Windows XP when HTTP server is started and stopped in the loop.
  • CipherInputStream.close() throws AEADBadTagException in some cases
  • Decrease the preference mode of RC4 in the enabled cipher suite list
  • REGRESSION: sun/java2d/cmm/ColorConvertOp tests fail since 7u71 b01
  • (dc) Use DatagramChannel.receive() instead of read() in connect
  • (fmt) Improve java/util/Formatter test coverage of group separators and width
  • tzdb.dat compilation failure when using tzdata2014j
  • (tz) Support tzdata2014j
  • java.net.Authenticator.theAuthenticator should be properly synchronized
  • Lazy-init thread safety problems in core reflection
  • Clarifications for Class specification
  • (fmt) Avoid creating substrings when building FormatSpecifier
  • java/lang/ProcessBuilder/Basic.java: waitFor didn't take long enough
  • Object.wait(ms, ns) timeout returns early
  • sun.management.Flag should loadLibrary()
  • Rename posix to unix in build system to match file name changes
  • Add CRC-32C API
  • Add jdk tests for JDK-8058322 and JDK-8058313
  • JDWP exit error JVMTI_ERROR_WRONG_PHASE(112)
  • Remove iCMS
  • Generify the javax.xml.crypto API
  • java/lang/instrument/RetransformBigClass.sh should be quarantined
  • TEST_BUG: java/util/Timer/NameConstructors.java fails intermittently
  • AttributedString has quadratic resize algorithm
  • sun/net/www/protocol/http/B6369510.java doesn't execute as expected
  • generated source to compile .properties file incorreectly includes the module name in the package name
  • Handlers configured on abstract nodes in logging.properties are not always properly closed
  • Enable full LF sharing by default
  • Get rid of LambdaForm interpretation
  • (ch) AbstractInterruptibleChannel.end sets interrupted to null
  • [TESTBUG] java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java failed - timeout
  • sun/net/www/http/HttpClient/StreamingRetry.java failed intermittently
  • [TEST_BUG] [macosx] javax/swing/SwingUtilities/7088744/bug7088744.java failed
  • java/awt/geom/AffineTransform/TestInvertMethods.java test fails
  • JInternalFrame title not antialiased in Nimbus LaF
  • Change open awt regression tests to avoid sun.awt.SunToolkit.realSync, part 1
  • Change open swing regression tests to avoid sun.awt.SunToolkit.realSync, part 1
  • ownedWindowList access requires synchronization in Window.setAlwaysOnTop() method
  • Can not paste and copy the text from the text area into the editor
  • Dragged and Dropped data is corrupted for two data types
  • Spec cleanup for some security-related classes
  • Various improvements in SetupNativeCompilation
  • Update jdk/test/tools/launcher tests to eliminate dependency on sun.tools.jar.Main
  • Add a test to verify that non ascii characters in Encodings.properties do not cause issues
  • (fs spec) Files.setLastModifiedTime should specify SecurityException more clearly
  • (fs) Files.setLastModifiedTime(path, null) does not throw NPE
  • BaseRowSet default value for escape processing is not correct
  • (fs) Typo in Path::normalize, empty path only returned if path does not have a root component
  • Typo in Connection.isValid
  • com.sun.net.httpserver stop() throws NullPointerException if it is not started
  • Introduce time limited test executor
  • [TESTBUG] Timeout java/lang/invoke/MethodHandles/CatchExceptionTest.java
  • setAccessible(true) on fields of Class may throw a SecurityException
  • clean up ActivationLibrary.DestroyThread
  • Avoid use of _ as a one-character identifier
  • Thread.getName() instantiates Strings
  • [TESTBUG] JT-Reg Serviceability tests to be run as part of JPRT submit job
  • TEST BUG: MISC_REGRESSION tests need to have minimum timeouts examined
  • Agent NullPointerException when rmi.port in use
  • [TESTBUG] Conflicting GC combinations in jdk tests
  • javax/management/monitor/CounterMonitorTest.java hangs
  • Remove network-related seed initialization code in ThreadLocal/SplittableRandom
  • Update java/nio/charset/Charset/NIOCharsetAvailabilityTest.java to eliminate dependency on sun.misc.Launcher
  • javax/management/remote/mandatory/connection/RMIConnector_NPETest.java fails to compile
  • Possible Deadlock scenario with DriverManager.loadInitialDrivers
  • Implement tests for converting PKCS12 keystores
  • LambdaForm caches should support eviction
  • Suppress deprecation warnings in java.base module
  • Suppress deprecation warnings in java.rmi module
  • Compiler error when anonymous class uses method with parametrized exception
  • Javac erroneously uses instantiated signatures when merging abstract most-specific methods
  • Japanese translation for a warning from javac looks incorrect.
  • Project Coin: Allow effectively final variables to be used as resources in try-with-resources
  • Missing compile error in Java 8 mode for Interface.super.field access
  • Javac throws exception when displaying info
  • Inference chokes on wildcard derived from method reference
  • Some tests have junk before the legal header
  • javac Attr crashes with NPE in TypeAnnotationsValidator visitNewClass
  • replace java.io.File with java.nio.file.Path (again)
  • Parameter annotations not updated when synthetic parameters are prepended
  • Don't issue deprecation warnings on import statements
  • javac should not warn about imports of deprecated classes
  • Invalid BootstrapMethod for constructor/method reference
  • Compiler fails to NullPointerException when calling super with Object()
  • Compiling depends on order of imports
  • Static import to local nested class fails
  • javac does not work on exploded image
  • RuntimeException when run command from js with -scripting on Cygwin
  • Endianness problem with TypedArrays
  • Nashorn: let & const declarations are not shared between scripts
  • support bind on all Nashorn callables
  • Inlining failure of Number.doubleValue() in JSType.toNumeric() causes 15% peak perf regresion on Box2D
  • let & const: remaining issues with lexical scoping
  • Invalid resource tag used for looking up error message in NativeDataView
  • AssertionError in parser when syntax errors appeared in non finished Blocks
  • Fuzzing bug: Object.prototype.toLocaleString(0)
  • OOM on Window/Solaris in test compile-octane-splitter.js
  • too strong assertion on function expression names
  • problem with conditional catch compilation
  • nashorn test failures after modular image changes
  • test/script/nosecurity/JDK-8055034.js -Xbootclasspath option is wrong

New in Java SE Development Kit (JDK) 9 Build 41 Early Access (Dec 9, 2014)

  • Fixed bugs:
  • 8049367: Modular Run-Time Images

New in Java SE Development Kit (JDK) 9 Build 40 Early Access (Dec 5, 2014)

  • Oracle JCE build environment: Phase 3
  • CompileJavaModules overwrites settings from custom
  • Move @implNote in org.omg.CORBA.ORB to init method
  • Removed unused networking functions from os class
  • Type annotations not retained during class redefine / retransform
  • Fix interface initialization for default methods.
  • VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize
  • (reflect) Misleading detail string in IllegalArgumentException thrown by Array.get
  • classFileParser.cpp.orig got erroneously added to the hotspot source repository
  • Test nsk/stress/jck60/jck60014: assert in src/share/vm/oops/constantPool.cpp: should not be resolved otherwise
  • nsk/split_verifier/security/coglio06 fails with exit code 97 - missing 'prohibited package name'
  • InstanceKlass should use MutexLockerEx to acquire OsrList_lock
  • 'CodeHeap is full' warning suggests to increase wrong code heap size
  • [TESTBUG] Whitebox tests fail with -XX:CompileThreshold=100
  • It should be possible to explicitly disable usage of TZCNT instr w/ -XX:-UseBMI1Instructions
  • Typo in test/compiler/exceptions/CatchInlineExceptions.java
  • SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.
  • Whitebox get*VMFlag() methods fail with develop flags in product builds
  • [TESTBUG] compiler/codecache/CheckSegmentedCodeCache.java test fails with product build
  • [TESTBUG] compiler/whitebox/ tests fail : must be osr_compiled (reappeared in nightlies)
  • vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
  • C2: EliminateAutoBox regression after 8042786
  • assert(_base == Int) failed: Not an Int w/ -XX:+TraceIterativeGVN
  • [TESTBUG] compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java should be in needs_nashorn test group
  • CompilerThread seems to occupy all CPU in a very rare situation
  • Update compiler/intrinsic/bmi tests to run it on all platforms
  • Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1
  • C2: assert(res == old_res) failed: Inconsistency between old and new
  • C2: assert(size_in_words tag() == DataLayout::speculative_trap_data_tag) failed: wrong type
  • Introduce a reproducible random generator
  • SPECjvm2008-MPEG performance regressions on x64 platforms
  • JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
  • SPARC PICL causes significantly longer startup times
  • Use open(O_CLOEXEC) instead of fcntl(FD_CLOEXEC)
  • Contended Locking speedup PlatformEvent unpark bucket
  • (process) Make exiting process wait for exiting threads [win]
  • serviceability/threads/TestFalseDeadLock.java should be quarantined.
  • Failing to allocate MethodCounters and MDO causes a serious performance drop
  • Make PrintGCApplicationStoppedTime print information about stopping threads
  • Update the Crash Reporting URL in the Java crash log
  • HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double
  • Update use of GetVersionEx to get correct Windows version in hs_err files
  • [TESTBUG] Exclude tests that have issues with Jigsaw M2 changes
  • assert(_count > 0) failed: Negative counter when running runtime/NMT/MallocTrackingVerify.java
  • [TESTBUG] MallocSiteHashOverflow.java should be enabled for 32-bit platforms
  • Various minor code improvements
  • File leak in MemNotifyThread::start() in hotspot.src.os.linux.vm.os_linux.cpp
  • CodeCacheSweeperThread missing from SA
  • stability issues when being launched as an embedded JVM via JNI
  • JVMTI GetClassMethods is Slow
  • BCEL corrupts debug data of methods that use generics
  • XML parser returns corrupt attribute value
  • BCEL still corrupts generic methods if bytecode offsets are modified
  • XML test colocation: AuctionPortal test
  • Oracle JCE build environment: Phase 3
  • [TEST_BUG]Test java/awt/TrayIcon/SecurityCheck/NoPermissionTest/NoPermissionTest.java fails
  • com/sun/jndi/ldap/LdapTimeoutTest.java fails with exit_code == 0
  • -Xcheck:jni changes cause many JCK failures in api/javax_crypto tests in SunPKCS11
  • XML parser returns corrupt attribute value
  • Core reflection should use final fields whenever possible
  • Add BaseRowSet, SQLInputImpl, and SQLOutputImpl tests
  • Parameter#toString() fails w/ AIOOBE for ctr of inner class w/ generic type
  • JNI warnings in jdk/src/windows/native/java/nio/MappedByteBuffer.c
  • HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double
  • getProcessCpuLoad() stops working in one process when a different process exits
  • [TESTBUG] Embedded: sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be launched with -XX:+UsePerfData
  • apple.security.KeychainStore has a problem searching for identities
  • policytool reports error message with prefix of "java.lang.Exception"
  • [D3D] The fix for JDK-8029253 should be ported to d3d pipeline
  • [macosx] Can't distinguish the focus move to next cell
  • wrong javadoc parameters for firePropertyChange()
  • NPE in sun/lwawt/macosx/CPlatformWindow::toFront after JDK-8060146
  • JComboBox actionListener never receives "comboBoxEdited" from getActionCommand
  • Remove internal API usage from ExtendedRobot class
  • Open up some AffineTransform tests
  • Endless loop in native code of sun.java2d.loops.ScaledBlit
  • Fix a typo in java.awt.Robot class
  • Crash in Java2D Queue Flusher, OGLSD_SetScratchSurface
  • Incorrect color conversion, when bicubic interpolation is used
  • java/lang/ProcessBuilder/Basic.java failed with: java.lang.AssertionError: Some tests failed
  • Change jdeps to use jrt:/ instead of jimagefs
  • Test executes incorrect class
  • parameter_index for type annotation not updated after outer.this added
  • More adjustments of langtools/make/build.xml to modularized layout
  • ToolBox should support extracting classes from a JavaFileManager/Location
  • Fix IntelliJ langtools support to use new dev build
  • ArrayIndexOutOfBoundsException with annotation processing printout of empty line
  • Sjavac creates unnecessarily many SjavacClient/PooledSjavac/SjavacImpl instances
  • regression with type inference of conditional expression
  • Implement classfile tests for EnclosingMethod attribute.
  • WriteableScope.dupUnshared misbehaves on shared Scopes
  • Give TaskListener methods empty default implementations
  • Change jdeps to use jrt:/ instead of jimagefs
  • type info persistence failed to calculate directory name
  • Binary logical expressions can have numeric types
  • Various array and ScriptObject length issues for non writable length fields
  • Build breaking warning in LengthNotWritableFilter
  • ApplySpecialization.hasApplies shouuld not descend into nested functions
  • Remove NativeArray link logic fields
  • Various pretty printing issues with --log=recompile
  • Nashorn should just warn on code store instantiation error
  • Need to block constant assumption for index setters and defineOwnProperty, not just delete

New in Java SE Development Kit (JDK) 9 Build 39 Early Access (Nov 15, 2014)

  • Enable hook for custom doc generation
  • Remove unused build/make files
  • Do not perform X11 checks in configure when X11 is not needed
  • Fix configure freetype detection on Mac OS X Yosemite
  • Eliminate SNMP dependencies to the internal APIs from open jdk modules
  • http://hg.openjdk.java.net/jdk9/jdk9/jaxp:
  • Entity callback order differs between Java1.5 and Java1.6
  • Runtime.runFinalization() silently clears interrupted flag in the calling thread
  • Add javax/sql/rowset/spi tests
  • (fs spec) Package description could be clearer on the cases where NPE is thrown
  • Files.write and newBufferedWriter methods missing @throws IAE
  • ThreadMXBeanStateTest throws exception
  • jdk.net.Sockets.setOption/getOption does not support IP_TOS
  • Entity callback order differs between Java1.5 and Java1.6
  • New defaults for DSA keys in jarsigner and keytool
  • Eliminate SNMP dependencies to the internal APIs from open jdk modules
  • TEST_BUG: java/lang/Thread/ThreadStateTest.java can't compile with change for 8058506
  • Update test/javax/naming/spi/providers/InitialContextTest.java to use classpath
  • Simplify the synchronization of defining and getting java.lang.Package
  • com/sun/jdi/Redefine-g.sh should be quarantined
  • sun/jvmstat/monitor/MonitoredVm/CR6672135.java should be quarantined
  • MethodHandleImpl.makeArrays throws and swallows java.lang.NoSuchFieldError in normal flow
  • JavacTask, DocumentationTask impls should close file manager when possible
  • remove debug print statements
  • Javadoc crashes when method name ends with "Property"
  • Update langtools/test/Makefile to use JCK 9
  • Sjavac spawns external processes in a unnecessarily complex and platform dependent way
  • Since changeset 2686:56f8be952a5c test/tools/sjavac/DependencyCollection.java does no longer compile
  • Update tools/javac/plugin/showtype/Test.java to use ToolBox.java
  • javac, incorrect shadowing of classes vs type parameters
  • incorrect message reference or broken message file
  • Tests which leak lots of file managers should be fixed (group 2)
  • test/tools/javac/plugin/showType/Test.java fails on Windows
  • Order of declarations affects whether abstract method considered overridden
  • Inference: NullPointerException during bound incorporation
  • http://hg.openjdk.java.net/jdk9/jdk9/nashorn:
  • Nashorn incorrectly binds this for constructor created by another function
  • Throwing object with error prototype causes error proto to be caught
  • Some arithmetic operations have unnecessary widening
  • A method is considered caller sensitive, but it doesn't have the CallerSensitive annotation
  • NPE when unboxing return values
  • Fix warnings in Joni and tests
  • Wrong index was used for linking charCodeAt specializations
  • ArrayBuffer lacked static isViewMethod
  • Out of memory problems, as untouched array datas didn't go directly to SparseArrayDatas, but dragged very large int arrays around.
  • Bug in apply specialization - if an apply specialization that is available doesn't fit, a new one wouldn't be installed, if the new code generated as a specialization didn't manage to do the apply specialization. Basically changing a conditional to an unconditional.
  • Different versions of nashorn use same code cache directory
  • java.lang.String methods not available on concatenated strings
  • Very long function names break codegen
  • Incorrect constant linkage with multiple Globals in a Context

New in Java SE Development Kit (JDK) 9 Build 38 Early Access (Nov 7, 2014)

  • Fix Xrender check to work with sysroot
  • Read hijra-config-umalqura.properties as a resource
  • 9-dev glinux/elinux "configure: error: Could not find all X11 headers" since 2014-10-28
  • The loop in Arguments::parse() can be enhanced.
  • Investigate increased GC remark time after class unloading changes in CRM Fuse
  • Remove the generations array
  • GC cleanup phase can cause G1 skipping a System.gc()
  • remove special-case code for ParallelGCThreads==0
  • BACKOUT - Remove the generations array
  • ArrayIndexOutOfBoundsException throws in UTF8Reader of SAXParser
  • com/sun/jdi/DoubleAgentTest.java.DoubleAgentTest fails intermittently after 8056143
  • Add RowSetMetaDataImpl Tests and add column range validation to isdefinitlyWritable
  • Update jdk regression tests to extend the default security policy instead of override
  • add java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java to problem list
  • Unpaired braces in javadoc
  • FileDescriptor should respect append flag
  • [macosx] Performance problems with Retina display on Mac OS X
  • Setting a border on a JLayer causes an Exceptions
  • ScrollBar doesn't become active when tabs are created more than frame size
  • Rendering / caret errors with HTMLDocument
  • [macosx] Aqua LaF should use BI.TYPE_INT_ARGB_PRE for a better performance
  • Rename UnixPrintServiceLookup and Win32PrintServiceLookup as a platform neutral class name
  • Incorrect radio button behavior
  • Requesting focus to a modeless dialog doesn't work on Safari
  • Test api/javax_swing/interactive/JInternalFrameTests.html#JInternalFrame [JInternalFrameTest0007] fails with MotifLookAndFeel
  • Test java/awt/GraphicsDevice/CloneConfigsTest.java causes JVM crash in OEL 7.0
  • [macosx] In test, the window does not have time to resize before make a screenshot
  • Test closed/sun/java2d/cmm/StubCMMShellTest.sh fails
  • PrinterJob: Specified Page Ranges not displayed in Windows Native Print Dialog
  • ArrayIndexOutOfBoundsException occurs when Container with overridden getComponents() is deserialized
  • Broken link in Package javax.swing.border
  • PrinterJob NPE when drawing translucent image with null user clip
  • [OGL] Incorrect clip is used during sw->surface blit in xor mode
  • AWT fails on generic non-reparenting window managers
  • Read hijra-config-umalqura.properties as a resource
  • HijrahChronology should use Integer.parseInt
  • Minor re-org of java/sql testing tests
  • java/lang/instrument/DaemonThread/TestDaemonThread.java regularly fails due to exceeded timeout
  • KeychainStore requires non-null password to be supplied when retrieving a private key
  • Use covariant return types in the NIO buffer hierarchy
  • OpenJDK build fails when bundling freetype libraries
  • (tz) Support tzdata2014i
  • GWT branch frequencies pollution due to LF sharing
  • jdwp accept invalid address ':'
  • doclint warnings in HijrahChronology
  • ArrayIndexOutOfBoundsException throws in UTF8Reader of SAXParser
  • Modifications of server socket channel accept() methods for instrumentation purposes
  • javac crashes with -Xjcov and union types
  • Suppress cast warnings when using NIO buffers
  • langtools tests should close file manager (group 1)
  • javadoc Start does not close file managers that it opens
  • Update ToolTester tests to close file manager
  • Revert tools/javap/T6729471.java to original test code
  • [nashorn] regresion test failure with TimeZone
  • User accessors require boxing and do not support optimistic types

New in Java SE Development Kit (JDK) 9 Build 37 Early Access (Nov 1, 2014)

  • Fix typo when translating characters in $USER
  • Move Ucrypto to the open jdk repo
  • build of jdk9-b33 seems broken due to how security zip files are interfaced
  • "make test" broken for hotspot test targets
  • Delete com/sun/jmx/snmp and sun/management/snmp from OpenJDK
  • Remove extcheck tool
  • Allow for extended set of platform MXBeans
  • escape analysis special case code for array copy broken by 7173584
  • complement JDK-8055286 and JDK-8056964 changes
  • compiler/whitebox/ tests fail : must be osr_compiled
  • per-method PrintIdealGraphLevel
  • Add CompileThresholdScaling flag to control when methods are first compiled (with and withour TieredCompilation)
  • Footprint regressions with JDK-8038423
  • Avoid G1 write barriers on newly allocated objects
  • G1TraceReclaimDeadHumongousObjectsAtYoungGC only prints humongous object liveness output when there is at least one candidate humongous object
  • After JDK-8047976 gc/g1/TestSummarizeRSetStatsThreads fails
  • Different conditions for printing taskqueue statistics for parallel gc, parNew and G1
  • Cleanup of old and unused VM interfaces
  • libjvm_db.c warnings in solaris/sparc build with SS
  • com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java: assert(Universe::verify_in_progress() || !SafepointSynchronize::is_at_safepoint()) failed: invariant
  • SIGSEGV VirtualMemoryTracker::remove_released_region
  • RFE: os::set_native_thread_name() cleanups
  • Contended Locking reorder and cache line bucket
  • Adding new API for unlocking diagnostic argument.
  • [TESTBUG] Detailed Native Memory Tracking (NMT) data is not verified as output at VM exit
  • [TESTBUG] Need a test to cover JDK-8050167
  • Convert JAXP functional tests to jtreg(TestNG): SAX and Transform
  • Convert JAXP functional tests to jtreg(TestNG): javax.xml.xpath.*
  • Size limits in BufferAllocator should have been final
  • tools/pack200/TestNormal.java fails on Windows with java.io.FileNotFoundException after JDK-8058854
  • Check for CRL results in IllegalArgumentException "white space not allowed"
  • Support SIO_LOOPBACK_FAST_PATH option on Windows
  • Even more debug output needed
  • A typo in CipherTestUtils test
  • Memory leak in ProtectionDomain cache
  • Move Ucrypto to the open jdk repo
  • RowSetWarning does not chain warnings
  • Cleanup of old and unused VM interfaces
  • Delete com/sun/jmx/snmp and sun/management/snmp from OpenJDK
  • interrupted java/lang/management/MemoryMXBean/LowMemoryTest.java leaves running process
  • Remove extcheck tool
  • FileHandler should allow 'long' limits and handle overflow of MeteredStream.written.
  • warnings from b118 for jdk.src.share.native.sun.management: JNI exception pending
  • demos target fails if users CDPATH is incorrectly set
  • [asm] refresh internal ASM version v5.0.3
  • NPE with explicitCastArguments unboxing null
  • 9-dev solaris-amd64 and solaris-sparcv9 build fail on 2014-10-20
  • Allow for extended set of platform MXBeans
  • All compact profiles builds fail following JDK-8044473
  • Refactor Symbol kinds from small ints to an enum
  • replace java.io.File with java.nio.file.Path
  • 8060056 breaks tests on Windows
  • javac, the same approach used in fix for JDK-8058708 should be applied to Code.closeAliveRanges
  • Method reference with generic type creates NPE when compiling
  • Wrong LineNumberTable for default constructors
  • (ann) Cannot reference field of inner class in an anonymous class
  • JavadocTokenizer repeatedly compiles pattern to check for deprecation
  • There is a small race condition in IdleResetSjavac
  • Replace references for rt.jar by temp.jar
  • Make AST serializable
  • nashorn ant build script should have a sanity target
  • Implement optimistic splitter
  • ant test262parallel in Nashorn spends a significant amount of time after almost all the tests are run
  • must not let long operations overflow
  • concat as a builtin optimistic form, had to remove NoTypedArrayData and replace it, as we throw away a lot of optimistic link opportunities with NoTypedArrayData not being Continuous
  • Type Info Cache flag must must be documented
  • asm.js idioms result in unnecessarily code emission
  • Issue with date.setFullYear when time other than midnight

New in Java SE Development Kit (JDK) 9 Build 36 Early Access (Oct 30, 2014)

  • Remove jdk.compact3 from modules.xml
  • Split GensrcProperties.gmk into separate modules
  • Verifier::verify is wasting time before is_eligible_for_verification check
  • Remove JVM_GetClassLoader as no longer used
  • Code cleanup: PerfMemory::backing_store_filename() should be removed
  • Force young GC to initiate marking cycle when stat update is requested
  • Separate heap region iterator claim values from the data structures iterated over
  • assert(adr_type != NULL) failed: expecting TypeKlassPtr
  • Recent bugfixes in ppc64 port.
  • JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw
  • SIGSEGV at CodeHeap::allocate(unsigned int, bool)
  • Print additional information for the assert in Compile::start()
  • make_not_entrant_or_zombie sees zombies
  • Correct linker method lookup.
  • Better class accessibility
  • Method for correct defaults
  • Limit default method hierarchy
  • Issue with class file parser
  • More native monitor monitoring
  • Analysis of archive files.
  • Xerces Update: XMLSchemaValidator.java and XMLSchemaLoader.java
  • Higher resolution resolvers
  • test sun/util/logging/SourceClassName.java failed: Unexpected source: java.util.Currency info
  • TESTBUG] java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java and LFMultiThreadCachingTest.java failed on some platforms due to java.lang.VirtualMachineError
  • Update java.util.zip tests to work with modular image
  • FutureTask; fix underflow when timeout = Long.MIN_VALUE
  • Permission tests for setFactory
  • javax/management/MBeanInfo/NotificationInfoTest.java fails with modular image
  • Remove dependency on dt.jar from test/tools/jar/normalize/TestNormal.java
  • tools/jar/LeadingGarbage.java, introduced in JDK-8058520, fails on Windows
  • Xerces Update: XMLSchemaValidator.java and XMLSchemaLoader.java
  • Keytool, print key algorithm of certificate or key entry
  • Unable to initiate SpNego using a S4U2Proxy GSSCredential (Krb5ProxyCredential)
  • No Russian time zones mapping for Windows
  • Improve diagnostic output of StartManagementAgent test
  • Update mapfile for libjfr
  • FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl
  • Wrong NumberFormat.format() HALF_UP rounding when last digit exactly at rounding position greater than 5
  • TESTBUG] fix the @run line of the test: jdk/test/java/awt/Focus/SortingFTP/JDK8048887.java
  • JRE 8u20 crashes while using Japanese IM on Windows
  • The test case failed as "ERROR in native method: ReleasePrimitiveArrayCritical: failed bounds check"
  • JFrame in full screen mode leaves empty workspace after close
  • OpenJDK7 returns incorrect TrueType font metrics
  • Invalid/old variable name - newModel in setModel method in JTable class
  • Mac: JFXPanel deadlocks in jnlp mode
  • GraphicsEnvironment.getHeadlessProperty() does not work for AIX platform
  • "Comparison method violates its general contract" when using Clipboard
  • OperationTimedOut exception inside from XToolkit.syncNativeQueue call
  • Right Click Menu for Paste not showing after upgrading to java 7
  • Some of MidiDeviceProviders do not follow the specification
  • javax.print.PrintServiceLookup allows to register null service
  • BadLocationException is not thrown by javax.swing.text.View.getNextVisualPositionFrom() for invalid positions
  • Remove jdk.compact3 from modules.xml
  • Ensure streaming of input cipher streams
  • Use local locales
  • Secure transport layer
  • Improve equality for annotations
  • VerifyAccess.isMemberAccessible() has incorrect access check
  • Better parameterization of parameter lists
  • Better class accessibility
  • Use certificate exceptions correctly
  • Improved management of logger resources
  • Better use of pages in font processing
  • Better validation of generated rasters
  • Make Signature more robust
  • Wrap sockets more thoroughly
  • Limit splashiness of splash images
  • Avoid strawberries in LogRecord
  • Bolster XML support
  • Service printing service
  • Proper property processing
  • Ensure cache consistency
  • Analysis of archive files.
  • str) contentEquals checks the String contents twice on mismatch
  • Split GensrcProperties.gmk into separate modules
  • Add SocketPermission tests for legacy socket types
  • Update JNDI to work with modules
  • CertificateFactory.getInstance("X.509").generateCertificates(InputStream) does not throw CertificateException for invalid input
  • Rename Locations.Path to Locations.SearchPath
  • Group 10b: golden files for tests in tools/javac dir
  • Reduce size of bytecode for large switch statements
  • Javac reports wrong error offset for unknown identifier of annotation element/value pair
  • Fix push for JDK-8058243
  • Backout fix for JDK-8058243
  • Code generation problem with javac skipping a checkcast instruction
  • StackOverflowError at com.sun.tools.javac.code.Types.lub
  • Implement classfile test for LineNumberTable attribute.
  • AssertionError: __noSuchProperty__ placeholder called from NativeJavaImporter
  • Concatenating an array and converting it to Java gives wrong result
  • Java8 Javascript Nashorn exception: no current Global instance for nashorn
  • Creating symbols for declared functions shouldn't be a special case
  • Reports for optimistic test run overwrite those for pessimistic run
  • Reengineer Parser.java to make it play well with the copy-on-write IR.
  • DynamicLinker.getLinkedCallSiteLocation() is called even when logger is disabled, and it creates a stacktrace. This contributes unnecessarily to compile time.
  • Compile-time expression evaluator was not seeing into ArrayBufferViews
  • Immediately invoked function expressions cause lot of deoptimization
  • Nashorn: Generated script class name fails --verify-code for names with special chars
  • Boolean used as optimistic call return type

New in Java SE Development Kit (JDK) 9 Build 35 Early Access (Oct 21, 2014)

  • Bootcycle build not actually using built image
  • Introduce identifier TEMP_DEF for effects in adl.
  • java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic
  • CodeCache::find_blob fails with 'unsafe access to zombie method'
  • Compiler time traces should be improved
  • -XX:+TraceDependencies is broken for call_site_target_value dependency type
  • [TESTBUG] Move ctw-tests to /testlibrary_tests
  • [TESTBUG] remove explicit set build flavor from hotspot/test/compiler/* tests
  • EA: ConnectionGraph::split_unique_types does incorrect scalar replacement
  • MemoryPoolMXBeans for different code heaps should contain 'Code heap' in their names
  • Fix PrintCodeCache output changed by JDK-8059137
  • Add sanity test for minimal VM in test/Makefile
  • hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg)
  • PrintSymbolTableSizeHistogram prints misleading output
  • jstack crash: assert(handle != NULL) failed: JNI handle should not be null
  • Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms
  • ATG throws ClassNotFoundException
  • ClassVerifier::change_sig_to_verificationType temporary symbol creation code is hot
  • Ergonomics for GC thread counts should update the flags
  • CMM Testing: 8u40 Decommit auxiliary data structures
  • CollectorPolicy::satisfy_failed_metadata_allocation can avoid some safepoints
  • G1: Change the default values for G1HeapWastePercent and G1MixedGCLiveThresholdPercent
  • Clean up vm/utilities/Bitmap type uses
  • MetaspaceGC::_capacity_until_GC can overflow
  • Disallow ParallelGCThreads=0 for G1
  • serviceability/dcmd/CodelistTest.java - fails on all platforms
  • code cache fills up for bigapps/Weblogic+medrec/nowarnings
  • Wrong ciConstant type for arrays from ConstantPool::_resolved_reference
  • C2: crash while inlining MethodHandle invocation w/ null receiver
  • VM startup fails with 'Invalid code heap sizes' if -XX:ReservedCodeCacheSize is set
  • Tests specify -XX:+UseG1GC and -XX:ParallelGCThreads=0
  • Test sun/security/tools/keytool/ListKeychainStore.sh fails on Mac
  • Enable PKCS11 tests on Mac
  • Addition of tests for RowSetFactory and RowSetProvider
  • (bb) Typo in javadoc for ByteBuffer.wrap()
  • Logger.enterring uses String concatenation in a loop
  • Disable RowSetFactory and RowSetProviderTests which are failing due to agentvm mode
  • Add better failure reporting to com/sun/jdi/RunToExit.java test
  • test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java fails with OOME
  • Update RFC references in javadoc to RFC 5280
  • RowsetFactoryTests & RowSetProviderTests failing
  • JVM crashes on attach on Windows when compiled with /RTC1
  • Keytool test can use bundled NSS lib on Mac
  • JdpTest.sh hangs when trying to kill the test VM
  • Fix broken link in WebRowSet javadoc
  • Broken link in Class Pack200
  • int[]::clone causes "java.lang.NoClassDefFoundError: Array"
  • Analysis of public API does not take super classes into account
  • simplify sjavac dependence on javac dependency gathering
  • Public API scanning should be implemented in the form of a TaskListener
  • Request to improve error messages for labeled declarations
  • Verify that octane raytrace now works with optimistic types turned off. Add better logging for optimistic types in the compiler.
  • Memory leak when executing octane pdfjs with optimistic typing
  • NPE restoring cached script with optimistic types disabled
  • Turn off optimistic typing by default and add both ant test-pessimistic and ant test-optimistic sub-test suites.

New in Java SE Development Kit (JDK) 9 Build 34 Early Access (Oct 10, 2014)

  • Add @jdk.Exported to com.sun.jarsigner APIs
  • jdk9/hs-comp fails in jprt with "-testset hotspot" from top-level
  • Move orb.idl and ir.idl to JDK include directory
  • Disable JPRT submissions from the hotspot repo
  • Add support for multiple code heaps
  • Remove CompilationRepeat
  • Tiered compilation performance drop in PIT
  • test case for 8057758
  • Add jtreg compiler tests to Hotspot JPRT jobs
  • linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check
  • Add include missing in 8015774
  • serviceability/dcmd/CodeCacheTest.java fails
  • serviceability/dcmd/CodelistTest.java and serviceability/dcmd/CompilerQueueTest.java SIGSEGV
  • [TESTBUG] serviceability/dcmd/CodeCacheTest.java fails with java.lang.Exception
  • XCode 6.0 (Clang) warning "operator new' should not return a null pointer unless..."
  • [TESTBUG] runtime/CompressedOops/UseCompressedOops.java Exception java.lang.RuntimeException: 'Zero based' missing from stdout/stderr
  • ClassVerifier::verify_exception_handler_targets reconstructs the ExceptionTable in a loop
  • TEST.groups has runtime/runtime/7158988/FieldMonitor.java
  • Crash in C1 OSRed method w/ Unsafe usage
  • 8058744 needs a test case
  • Refactor native stack printing from vmError.cpp to debug.cpp to make it available in gdb as well
  • Store original value of Min/MaxHeapFreeRatio
  • 8u-dev nightly solaris builds failed on 08/20
  • Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile
  • Remove HeapRegion::_orig_end
  • CollectedHeap::_reserved usage should be cleaned up
  • Hot card cache flush chunk size too coarse grained
  • Code using assert(is_oop_or_null) needs better error messages
  • add a thread extension class
  • gc src file exclusion should exclude alternative sources
  • refactor gc argument processing code slightly
  • Refactor G1 to allow context specific allocations
  • add an extension class for argument handling
  • Enable G1 FullGC extensions
  • Refactor G1 heap region default sizes
  • collect allocation context statistics at gc pauses
  • methods to copy allocation context statistics
  • notify an obj when allocation context stats are available
  • WhiteBox extension support for testing
  • identify GCs initiated to update allocation context stats
  • G1: normalize names for isHumongous() and friends
  • Improve time reporting in G1 remark
  • Fix thread-id types in G1 remembered set implementations
  • Catch linker errors earlier in the JVM build by not allowing unresolved externals
  • DateTimeFormatter "MMMMM" returns English value in Japanese locale
  • Provide a replacement for the API that allowed to listen for LogManager configuration changes
  • Move orb.idl and ir.idl to JDK include directory
  • Update JCE environment for build improvements
  • OpenJDK build problem with JDK-8058845
  • Enable keytool NSS test on Mac
  • FileHandler may throw NPE if pattern is a simple name and the lock file already exists
  • Add @jdk.Exported to com.sun.jarsigner APIs
  • Typo in keytool resource file
  • Add support for multiple code heaps
  • Store original value of Min/MaxHeapFreeRatio
  • java/net/InetAddress/IPv4Formats.java failed because hello.foo.bar does exist
  • Default FileHandler constructor doesn't throw NullPointerException if pattern is empty and count > 1
  • Not quite correct code sample in javadoc
  • Warning exception when XMLSignature logging is enabled
  • [TESTBUG] Reinvokers with arity >253 can't be cached
  • Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp
  • tidy errors for attribute href, name for langtools javadoc tests needs investigation
  • Group 9e: golden files for tests in tools/javac dir
  • Changed ArrayData.length accessor to use the protected field and fixed javadoc warnings related to this
  • Decrease warmup time by caching common structures that were reused during parse
  • Unnecessary work in deoptimizing recompilation
  • Code duplication in handling of break and continue
  • Code duplication in split emitter
  • Single class loader is used to load compiled bytecode
  • New Nasgen dependencies to Nashorn breaks the JDK 9 build - bootstrapping problem?

New in Java SE Development Kit (JDK) 9 Build 33 Early Access (Oct 8, 2014)

  • Building with sjavac broken after JDK-8058118
  • Race between jdk/make/scripts/genExceptions.sh and com.sun.tools.javadoc.Main
  • unshuffle_patch.sh should be able to deal with stdin/stdout
  • Remove "sun" directory layer from libawt and common
  • os::is_MP() always reports true when NMT is enabled
  • Clean out support for old VC versions from ProjectCreator
  • (process) Synchronize exiting of threads and process [win]
  • cleanup indent white space issues prior to Contended Locking reorder and cache line bucket
  • manual cleanup of white space issues prior to Contended Locking reorder and cache line bucket
  • minor buglet in computation of end of pc descs in libjvm_db.c
  • [TESTBUG] runtime/7158988/FieldMonitor.java fails with VMDisconnectedException
  • [TESTBUG] Compressed Oops testing needs to be revised
  • [TESTBUG] Temporarily disable failing test runtime/NMT/MallocTrackingVerify.java
  • Make hotspot builds less verbose on default log level
  • Unnecessary NULL check in G1KeepAliveClosure
  • Hotspot does not compile with clang 3.4 on Linux
  • CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap
  • [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM
  • Make heap region region type in G1 HeapRegion explicit
  • os::commit_memory on Solaris uses aligment_hint as page size
  • TestParallelHeapSizeFlags fails with unexpected heap size
  • Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set
  • TestCMSClassUnloadingEnabledHWM.java fails with '.*CMS Initial Mark.*' missing from stdout/stderr
  • -XX:+PrintCompilation prints negative bci for non entrant OSR methods
  • ciInstanceKlass::non_static_fields() can be removed
  • [TESTBUG] Need a test to cover JDK-8054883
  • JAX-WS handles wrongly xsd:any arguments for Web services
  • jar xf does not work on zip files with leading garbage
  • Clarify that TimerTasks are not reusable
  • Add algorithm parameter to EncodedKeySpec class and its two subclasses
  • Cleanup gensrc after source code restructure
  • [TEST_BUG] sun/awt/datatransfer/SuplementaryCharactersTransferTest.java fails with Compilation error
  • TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods
  • Improve numerical parsing in java.net and sun.net
  • JVM hangs at getAgentProperties after attaching to VM with lower
  • Doubles with large exponents overflow to Infinity incorrectly
  • sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java should be quarantined
  • java/lang/management/ThreadMXBean/FindDeadlocks.java should be quarantined
  • com/sun/jdi/RedefinePop.sh should be quarantined
  • java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java should be quarantined
  • java.lang.Math.toDegrees(double) could be optimized
  • Put test 'java/lang/instrument/NativeMethodPrefixAgent.java' on ProblemList
  • sun/management/jmxremote/startstop/JMXStartStopTest.java fails with "Starting agent on port ... should report port in use"
  • [TEST_BUG] Test java/awt/Graphics2D/DrawString/DrawStringCrash.java fails with OutOfMemoryError
  • (str) Re-examine hashCode implementation
  • (fc) Cleanup in FileChannel/FileDispatcher native implementation [win]
  • Optimize java.util.Formatter
  • ProcessTools.startProcess() might leak processes
  • JAX-WS handles wrongly xsd:any arguments for Web services
  • Debug security logging should print Provider used for each crypto operation
  • api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform
  • No CCC approving removing final modifier from javax.swing.SwingUtilities.isRectangleContainingRectangle static method
  • Upgrade to LittleCMS 2.6 breaks AIX build
  • JCK test api/java_awt/Image/renderable/ParameterBlock fails with StackOverflowError
  • Clean up unix/native/common/sun/awt
  • Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow
  • BMPImageReader read error using ImageReadParam with set sourceRectangle
  • Provide OSInfo functionality to regression tests
  • Test api/java_awt/SplashScreen/index.html\#ClosedSplashScreenTests fails because of java.lang.IllegalStateException was not thrown
  • LittleCMS: Missing checks for NULL returns from memory allocation
  • Copy-java.base.gmk no longer needs to differentiate win32 and win64 java.policy
  • Fix typos in client-related packages
  • Update regtests using sun.awt.OSInfo, part 1
  • Remove "sun" directory layer from libawt and common
  • OpenJDK builds fail on Windows - cannot copy freetype.dll
  • javadoc issues in javax.print
  • Incorrect javadoc: no @throws or @exception tag in javax.*
  • JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9)
  • Update tools/javadoc/6227454 to add head tag
  • Compiler Error when obtaining .class property
  • Add TypeMetadata to contain type annotations and other type information
  • add to javac test Versions.java tests that show correct operation for source/target options pre 1.9
  • java.lang.AssertionError compiling source code
  • Make persistent code store more flexible
  • Indexed or polymorphic set on global affects Object.prototype
  • NPE in LocalVariableTypesCalculator
  • Tests failed on Windows when in output contains path to script
  • Optimistic builtins support, implemented initial optimistic versions of push, pop, and charCodeAt
  • Nasgen build in JDK9 can't handle new class dependencies to Nashorn - bootstrapping problem

New in Java SE Development Kit (JDK) 9 Build 32 Early Access (Sep 30, 2014)

  • Export sun.misc to java.sql
  • Top-level Makefiles uses deprecated target jvmg in HotSpot Makefiles
  • Add verify-modules target to the default and images target
  • Generate modules.list during the build
  • Disable HOTSPOT_BUILD_JOBS when building with configure
  • Move com.sun.security.jgss into a new module
  • Missing memory barrier when reading init_lock
  • Add function to return structured information about loaded libraries.
  • Clean up code that saves the previous versions of redefined classes
  • warning from b09 for hotspot.agent.src.os.win32.windbg.sawindbg.cpp: 'JNI exception pending'
  • Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead
  • RedefineClasses() tests fail assert(((Metadata*)obj)->is_valid()) failed: obj is valid
  • Disable HOTSPOT_BUILD_JOBS when building with configure
  • java -version triggers assertion for slowdebug zero builds
  • TEST_BUG: runtime/SharedArchiveFile/ArchiveDoesNotExist.java fails with openjdk build
  • [TESTBUG] Test is needed to verify correctness of malloc tracking
  • Output host info under some condition for core dump
  • gc/memory/UniThread/Linear1 times out during heap verification
  • G1: BOT verification should not pass top
  • Update out-dated ignore tags in GC jtreg tests
  • G1: Code root hashtable updated incorrectly when evacuation failed
  • StoreLoad barrier interferes with stack usages
  • Unable to build --with-debug-level=optimized on OSX
  • assert(false) failed: Should not allocate with exception pending
  • Hotspot should use PICL interface to get cacheline size on SPARC
  • JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running
  • CTW should not make MH intrinsics not entrant
  • Fix ppc build after "8050147: StoreLoad barrier interferes with stack usages
  • Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair
  • Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant
  • Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters
  • Compiler team's implementation task
  • JAX-WS tools need to updated to work with modular image
  • Transient network problems cause JMX thread to fail silenty
  • NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack
  • Improve numeric parsing in java.sql
  • Improve java.sql toString formatting
  • javax/management/monitor/... should be quarantined
  • TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java
  • Develop new tests for LambdaForm Reduction and Caching feature
  • Move the rest part of AWT ShapedAndTranslucent tests to OpenJDK
  • [macosx] Large JTable cell results in a OutOfMemoryException
  • xrender: text drawn after setColor(Color.white) is actually black
  • move 14 tests about setLocationRelativeTo to jdk
  • Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true
  • plenty of clipboard/dnd tests fail and break X11
  • api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure
  • Upgrade JDK to use LittleCMS 2.6
  • JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris
  • Remove unused files for libawt
  • ZipInputStream does not correctly handle local header data descriptors with the optional signature missing
  • Doclint clean up in java.sql.Date
  • freetype code to get glyph outline does not handle initial control point properly
  • (fc) FileChannel.size() returns 0 for block devices on Linux
  • Change formatDecimalInt so it is package private
  • BigDecimal is no longer effectively immutable
  • JCK test api/java_sql/Timestamp/descriptions.html start failing after 8058230
  • TEST_BUG: New tests introduced in 8058429 are TimeZone dependent
  • javax/management/monitor/*: some tests didn't get all the notifications
  • Generate modules.list during the build
  • Missing some checks during parameter validation
  • Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken
  • BigIntegerTest does not exercise Burnikel-Ziegler division
  • Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed
  • Allow com.sun.security.jgss to be in different module than org.ietf.jgss
  • Move com.sun.security.jgss into a new module
  • stream tests timeout, intermittently but more likely to happen after JDK-8056248
  • CLDRLocaleDataMetaInfo should be in jdk.localedata
  • Bad fonts in BigIntegerTest
  • More bad characters in BigIntegerTest
  • Update java/lang/invoke/lambda tests to eliminate dependency on sun.tools.jar.Main
  • javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently
  • Compiled LambdaForms should inherit from Object to improve class loading performance
  • New permission tests for JEP 140
  • Group 9d: golden files for tests in tools/javac dir
  • Inference failure with nested invocation

New in Java SE Development Kit (JDK) 9 Build 31 Early Access (Sep 19, 2014)

  • Serialize reconfigure and fix make clean-foo foo
  • The fix for JDK-8027627 was incomplete: Don't hardcode bash anywhere.
  • Build the freetype library during configure on Windows
  • Alterations to jdk_security3 test target
  • Add CUSTOM_SUMMARY_AND_WARNINGS_HOOK
  • Add org.w3c.dom.ranges and org.w3c.dom.traversal as exported API in modules.xml
  • Missing jdk.deploy.osx from modules.xml
  • .hgignore should be updated with webrev in all repos
  • Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC
  • Information about loaded dynamic libraries is wrong on MacOSX
  • warnings from b03 for hotspot/agent/src/os/solaris/proc: JNI exception pending
  • warnings from b117 for hotspot.agent.src.os.linux: JNI exception pending
  • Move array component mirror to instance of java/lang/Class (hotspot part 2)
  • ENFORCE_CC_COMPILER_REV needs to be updated to Solaris C++ 12u3 for JDK 9.
  • Hotspot does not compile with clang 6.0 (OS X Yosemite)
  • Minor class loading clean-up
  • [TESTBUG] Platform.isDebugBuild() doesn't work on all build types
  • Refactor Hashtable to allow implementations without rehashing support
  • G1 Code Root Migration performs poorly
  • Verification in ClassLoaderData::is_alive is too slow
  • Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq
  • typo in export_optimized_jdk
  • NodeHash debug variables are available in product build
  • Extend CompileCommand=option to handle numeric parameters
  • code comments leak in fastdebug builds
  • JDK-8055286 changes are incomplete.
  • Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
  • closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
  • assert(result == NULL || result->is_oop()) failed: must be oop
  • Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality
  • Develop sanity tests on SPARC's SHA instructions support
  • Develop tests for new command-line options related to SHA intrinsics
  • Speculative traps not robust when compilation and class unloading are concurrent
  • Fix AIX build after the Extend CompileCommand=option change 8055286
  • .hgignore should be updated with webrev in all repos
  • Xerces Update: Catalog Resolver
  • [XML 1.0/1.1] - Attribute values with supplemental characters are being corrupted.
  • .hgignore should be updated with webrev in all repos
  • .hgignore should be updated with webrev in all repos
  • Improve ForkJoin thread throttling
  • (fs) WatchKey cancel unreliable on Windows
  • Clean up ProblemList.txt
  • pico-optimize contains(Object) methods
  • (tz) Support tzdata2014g
  • Misc cleanups of the attach code
  • Misc cleanups of the attach code (aix)
  • (reflect) Add sharing of annotations between instances of Executable
  • (reflect) unnecessary object creation in reflection
  • Unportable format string argument mismatch in jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp
  • Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets
  • MemoryMXBean tests -- TEST FAILED: chunkSize: 6291456 is less than YOUNG_GEN_SIZE: 8388608
  • VirtualMachineImpl.execute on windows should close PipedInputStream before throwing exceptions
  • javax/management/monitor/GaugeMonitorDeadlockTest.java should be quarantined
  • Re-examine Integer.parseInt and Long.parseLong methods
  • Alterations to jdk_security3 test target
  • Improvements and cleanups to bytecode assembly for lambda forms
  • JSR292: cache and reuse typed array accessors
  • Move varargsArray from sun.invoke.util package to java.lang.invoke
  • Small cleanups in java.lang.invoke code
  • Improve caching of different invokers
  • Get rid of some package-private methods on arguments in j.l.i.MethodHandle
  • Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm)
  • Support overriding of isInvokeSpecial flag in WrappedMember
  • Improve caching of MethodHandle reinvokers
  • Make LambdaForm intrinsics detection more robust
  • Improve code for pairwise argument conversions and value boxing/unboxing
  • Intrinsify ValueConversions.identity() functions
  • Intrinsify constants for default values
  • Extract checks performed during MethodHandle construction into separate methods
  • Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks
  • Annotate LambdaForm parameters with types
  • Improve caching of GuardWithTest combinator
  • LambdaFormEditor: derive new LFs from a base LF
  • Improve LambdaForm sharing by using LambdaFormEditor more extensively
  • api/javax_management/loading/MLetArgsSupport.html\#MLetArgsSupportTest0001 fails because of java.lang.IllegalArgumentException (argument type mismatch)
  • Several test failing after update to tzdata2014g
  • JDP should better handle non-active interfaces
  • java.net.URLClassLoader.findClass uses exceptions in control flow
  • Cannot handle JdpException in JMX agent initialization.
  • sunpkcs11-solaris.cfg should be in solaris specific directory
  • .hgignore should be updated with webrev in all repos
  • Minor clean-up to the java.sql Date/Time/Timestamp tests
  • Remove @ignore from tools/javac/T6725036.java
  • Group 9b: golden files for tests in tools/javac dir
  • Group 9c: golden files for tests in tools/javac dir
  • Type inference may be skipped for a complex receiver generic method in a parameter position
  • Exception in compiler: java.lang.AssertionError: isSubClass T
  • checkin for JDK-8027262 breaks Checker Framework
  • Wrong, confusing error when non-static varargs referenced in static context
  • Test langtools/test/tools/javac/NoClass.java is failing when run together with langtools/test/tools/javac/DuplicateImport.java
  • fix for 8030046 is incorrect
  • NullPointerException when compiling specific code.
  • javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class
  • .hgignore should be updated with webrev in all repos
  • Nashorn did not dump the JOx classes to disk when running with the -d flag
  • Lots of trivial (empty) classes were generated by the Nashorn compiler as part of restOf-method generation
  • ant clean test should not fail if one or more external test suites are missing
  • Tests for let and const keywords in Nashorn
  • Skip nested functions on reparse
  • remove eval ID
  • Instead of not skipping small functions in parser, make lexer avoid them instead
  • More empty classes generated by Nashorn
  • Optimistic iteration in for-in and for-each
  • UserAccessorProperty guards fail with multiple globals
  • Reduce the RecompilableScriptFunctionData footprint
  • Global constants get in the way of self-modifying properties
  • .hgignore should be updated with webrev in all repos

New in Java SE Development Kit (JDK) 9 Build 30 Early Access (Sep 16, 2014)

  • Don't hardcode bash path in LOG=trace
  • CMM profile files (cmm/*) should not be in ${java.home}/lib
  • Build fails if PROFILE is set in the environment
  • NMT2 leaks memory
  • Deadlock during NMT2 shutdown on Windows
  • [TESTBUG] runtime/CompressedOops/CompressedClassPointers.java fails with OpenJDK build
  • Build Windows x64 fastdebug builds using /homeparams
  • (process) Add instrumentation to help diagnose JDK-6573254
  • filemap.cpp does not compile with clang
  • [TESTBUG] runtime/NMT/NMTWithCDS.java fails with product builds due to missing UnlockDiagnosticVMOptions
  • [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available
  • [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails
  • runtime/NMT/CommandLineEmptyArgument.java fails
  • Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running
  • [TESTBUG] test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails on Solaris Sparc due to incorrect page size being used
  • Allow easy configurations for large CDS archives
  • [TESTBUG] runtime/jsig/Test8017498.sh fails with Test8017498.sh: 50: [: x/usr/bin/gcc: unexpected operator
  • TSX and RTM should be deprecated more strongly until hardware is corrected
  • TestAnonymousClassUnloading.java needs to copy additional WhiteBox class file to JTwork/scratch/sun/hotspot
  • Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC
  • TypeTuple::make_domain() and TypeTuple::make_range() allocate too much memory
  • add jprt_optimized targets
  • Remove PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC from g1BlockOffsetTable.cpp
  • Several vm/gc/heap/summary "After GC" events emitted for the same GC ID
  • Rename HeapRegionSeq to HeapRegionManager
  • [TESTBUG] Fix for 8055098 does not contain unit test
  • Remove dead code in G1 concurrent marking code
  • Heap does not shrink within the heap after JDK-8038423
  • Remove dead code in g1BlockOffsetTable
  • tmtools/jstat/gcoldcapacity/jstat_gcoldcapacity02 fails nsk.share.Failure: OGC < OGCMN in RT_Baseline
  • Bitmap verification sometimes fails after Full GC aborts concurrent mark.
  • G1 string deduplication tests hang/timeout and leave running processes consuming all resources
  • Xerces Update: jaxp/validation/XMLSchemaFactory
  • Improve CompletableFuture resource usage
  • Tests for java client server communications with various TLS/SSL combinations.
  • sun/tools/jstatd/TestJstatdPortAndServer.java and sun/tools/jstatd/TestJstatdServer.java miss correct check of RMI server availability
  • A typo in the javadoc for javax.imageio.ImageReader
  • Javadoc typo in javax.print.attribute.standard.DialogTypeSelection
  • Redundant unused native method declaration in LCMS.java
  • [JLightweightFrame] Support DnD for SwingNode
  • JNI exception pending in jdk/src/solaris/native/sun/awt/X11Color.c
  • [TEST_BUG] move some 5 tests related to undecorated Frame/JFrame to JDK
  • Remove mnemonic character from open, save and open directory JFileChooser's buttons
  • Java app receives javax.print.PrintException: Printer is not accepting job
  • JNI exception pending in jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp
  • JNI exception pending in jdk/src/solaris/native/sun/awt: awt_DrawingSurface.c, awt_GraphicsEnv.c, awt_InputMethod.c, sun_awt_X11_GtkFileDialogPeer.c
  • The build of J2DBench via makefile is broken after the JDK-8005402
  • javadoc issues in javax.imageio
  • Refine generification of javax.swing
  • Address source incompatability of JSlider generification
  • JNI exception pending in jdk/src/solaris/native/sun/awt/CUPSfuncs.c
  • Memory leak in jdk/src/windows/native/sun/windows/awt_InputMethod.cpp
  • CMM profile files (cmm/*) should not be in ${java.home}/lib
  • Re-examine the mechanism to determine available localedata and cldrdata
  • Correct exception message in CertAndKeyGen.java
  • Tests for doPrivileged with accomplice
  • Implement basic keystore tests
  • Add more diagnostics to JMXStartStopTest
  • sun/management/jmxremote/startstop/JMXStartStopTest.java failing intermittently
  • ISO 4217 Amendment #159
  • Add tests to exercise SQLPermissions for DriverManager & SyncFactory
  • Missing bug id in test/com/sun/javadoc/testOrdering/TestOrdering.java
  • IntelliJ should allow import for nested classes
  • Request to update tools/javap/T4501661.java to add test for package option
  • Incorrect format and indentation of InnerClasses section
  • Constant pool's strings are not escaped properly
  • Update RunCodingRules.java for source code reorg
  • tools/javac/defaultMethods/Assertions.java fails if run with -enableassertions (-ea)
  • Nashorn: Some tests fails on windows with AccessControlException
  • Limit the size of type info cache on disk
  • Various problems with extra arguments to applies
  • Let the -d flag dump _all_ generated classes to disk and work outside --compile-only mode
  • Implement block scoping in symbol assignment and scope computation
  • AtomicInteger is treated as primitive number with optimistic compilation

New in Java SE Development Kit (JDK) 9 Build 29 Early Access (Sep 6, 2014)

  • General cleanup of minor issues from source restructure
  • Improve "do nothing" incremental build performance after modularized source code integration
  • get_source.sh : version check assumes English localization
  • cleaner handling of sub-process non-zero exit result.
  • Remove explicit mx flag from javadoc command line
  • [TESTBUG] JT-Reg Runtime tests to be run as part of JPRT submit job
  • run hotspot JTREG compiler tests only on fastdebug platforms and also on macosx
  • Remove FORTIFY_SOURCE from fastdebug and slowdebug builds
  • Rename attach provider implementation class be platform neutral
  • Fix corba locale build problem on windows
  • Additional minor cleanups from source restructure build changes
  • Work around sjavac limitation with public api tracking cross modules
  • Fix AIX build after the Modular Source Code change 8054834
  • Fix sjavac on all platforms in jprt
  • checkdeps build target doesn't work for cross-compilation builds
  • Fix corba locale build problem on windows
  • Class Data Sharing clean up and refactoring
  • nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2)
  • Re-enable warning for incompatible java launcher
  • [TESTBUG] JT-Reg Runtime tests to be run as part of JPRT submit job
  • ZERO variant build is broken
  • NMT2: emptyStack missing in minimal build
  • assert at share/vm/services/virtualMemoryTracker.cpp:332 Error: ShouldNotReachHere() when running NMT tests
  • [TESTBUG] Enable NMT2 tests after NMT2 is integrated
  • runtime/NMT/CommandLineEmptyArgument.java fails
  • CMS: JVM intermittently crashes with "FreeList of size 258 violates Conservation Principle" assert
  • Several gc/class_unloading/ tests fail due to missed +UnlockDiagnosticVMOptions flag
  • gc/g1/TestEagerReclaimHumongousRegions2.java timeout
  • sanity/WhiteBox.java fails with NPE
  • Refactor HeapRegionSeq to manage heap region and auxiliary data
  • JVM crash with JDK8 (build 1.8.0-b132) with G1 GC
  • G1: Decommit memory within heap
  • Bigapp weblogic+medrec fails to startup after JDK-8038423
  • Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers
  • Optimize signed integer comparison
  • Implement arraycopy as a macro node
  • remove legacy code in SPARC's VM_Version::platform_features
  • Recursive method that was compiled by C1 is unable to catch StackOverflowError
  • Missing MemNode::acquire ordering in some volatile Load nodes
  • Remove _FORTIFY_SOURCE from fastdebug and slowdebug builds
  • Segmentation error while running program
  • "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes
  • "unexpected yanked node" opto/postaloc.cpp:139
  • solaris makefile
  • Rollback 8054164 changeset
  • nsk/stress/jck60/jck60014 crashes on sparc
  • WB API should be extended to provide information about size and age of object.
  • Xerces Update: jaxp/validation/XMLSchemaFactory
  • java/util/Currency/PropertiesTest.sh fails on OS X after JDK-8055253
  • Modifications of I/O methods for instrumentation purposes
  • General cleanup of minor issues from source restructure
  • Improve "do nothing" incremental build performance after modularized source code integration
  • java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012
  • [Testbug] Some tests are being executed and fail under profiles
  • [TESTBUG] sun/management/jmxremote/bootstrap/JvmstatCountersTest.java requires -XX:+UsePerfData option to pass on embedded platforms
  • sun/security/smartcardio/TestDirect.java throws java.lang.IndexOutOfBoundsException
  • Update java/lang/Math tests to eliminate dependency on sun.misc.DoubleConsts and sun.misc.FloatConsts
  • Add test/java/lang/Math/DoubleConsts.java and FloatConsts.java
  • Improve multithreaded scalability of InetAddress cache
  • InetAddress$Cache should replace currentTimeMillis with nanoTime for more precise and accurate
  • "make profiles" failing since refactoring of java.awt.datatransfer
  • Drop HPROF as demo, keep as HPROF agent shipped with JDK
  • Remove the JPDA demo
  • Need new regressions tests for messageDigest with DigestIOStream
  • Update policytool for jdk.net.NetworkPermission
  • java/lang/instrument/NativeMethodPrefixAgent.java failing
  • Move SimpleSSLContext to jdk/testlibrary
  • (ch) Remove unnecessary initialization of InetAddress from FileChannel
  • javax/management/remote/mandatory/notif/NotificationAccessControllerTest.java fails in JDK8-B22
  • (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
  • sun/net/www/protocol/http/RedirectOnPost.java failing.
  • Class Data Sharing clean up and refactoring
  • Rename attach provider implementation class be platform neutral
  • ByteArrayOutputStream capacity should be maximal array size permitted by VM
  • Tests for PKCS12 read operations
  • Use StringJoiner where it makes the code cleaner
  • Add java/lang/management/MemoryMXBean/LowMemoryTest.java to ProblemList.txt
  • HttpsURLConnection.equals() broken
  • com/sun/jdi/DoubleAgentTest.java fails with timeout
  • com/sun/jdi/OptionTest.java test times out again
  • Improve fontconfig.properties for AIX platform
  • Fix AIX build after the Modular Source Code change 8054834
  • Cleanup in WinNTFileSystem_md.c
  • checkdeps build target doesn't work for cross-compilation builds
  • Sjavac is leaking servers
  • javac duplicates option processing when using Compiler API
  • IntelliJ source paths broken after modularization of langtools
  • Mark implementations of public interfaces with an annotation
  • Add support for dumping inference dependency graphs
  • [javadoc] NetBeans IDE target does not build doclets
  • [javadoc] refactor the Doclet start method.
  • [javadoc] class-use pages have duplicates and missing entries
  • Refactor sjavac Main class into ClientMain and ServerMain
  • @ignore tools/javac/defaultMethods/Assertions.java until JDK-8047675 is fixed
  • golden files for annotations test in tools/java dir
  • Group 9a: golden files for tests in tools/javac dir
  • Incremental build fails on Windows
  • checkdeps build target doesn't work for cross-compilation builds
  • [build] tools.jar missing modules.xml
  • Wrong "this" passed to JSObject.eval call
  • Nashorn misses linker for netscape.javascript.JSObject instances
  • JSObject and browser JSObject linkers should provide fallback to call underlying Java methods directly
  • JDK-8015969.js is silently failing
  • Nashorn: all tests failed with AccessControlException
  • Two nashorn tests fail in 8u40 nightly build with ClassNotFoundException
  • iteration fails if index var is not used
  • Tests for Nashorn ClassFilter Support
  • Don't use String.intern for IdentNode
  • Node.hashCode() delegates to Object.hashCode() and is hot
  • Avoid throwing an exception with filled in stack trace as part of the normal control flow
  • collect timings using System.nanoTime
  • runExternalJsTest method in test/jdk/nashorn/internal/runtime/ClassFilter.java slows down "ant test"
  • Do not parallelize class installation
  • Source.getContent() does excess Object.clone()
  • CompilationPhase.setStates() is hot in class installation phase
  • [nashorn] tests fail when running via jtreg
  • Anonymous function statements leak internal function names into global scope
  • OptimisticTypePersistence should refuse to work in symlinked directories

New in Java SE Development Kit (JDK) 9 Build 28 Early Access (Sep 3, 2014)

  • Windows/MSYS builds broken
  • [infra] build failure when building bootcycle image
  • JDK 9 build started failing on ja_JP.UTF-8 locale due to mapping error (encoding=ascii).
  • [javadoc] broken links in org/omg/CORBA/FloatSeqHelper.html
  • Early reclamation of large objects in G1
  • Deprecated Function in hotspot/src/os/solaris/vm/attachListener_solaris.cpp
  • CMS/G1 GC: add missing Resource and Handle mark
  • jvmti tests fieldacc002, fieldmod002 fail in nightly with errors: (watch#0) wrong location
  • [TESTBUG] Remove @ignore tag from fixed runtime issues
  • dtrace jstack action is broken
  • Regression in verifier for method call from inside of a branch
  • VerifyError on backward branch
  • Warning from b62 for hotspot.agent.src.os.solaris.proc: use after free
  • Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap
  • Optionally align objects copied to survivor spaces
  • TEST.groups references missing test: gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java
  • Add flag to turn off class unloading after G1 concurrent mark
  • Remove temporary G1UseParallelRSetUpdating and G1UseParallelRSetScanning flags
  • Cleanup TypeTuple and TypeFunc
  • C2 does not put all modified nodes on IGVN worklist
  • PPC64: implement template interpreter for ppc64le
  • JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
  • Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp
  • Load variable through a pointer of an incompatible type in hotspot/src/share/vm/runtime/sharedRuntimeMath.hpp
  • VerifyStack logic in Deoptimization::unpack_frames does not expect to see invoke bc at the top frame during normal deoptimization
  • 8040121 is broken
  • jtreg tests don't use $TESTJAVAOPTS
  • Test compiler/6932496/Test6932496.java failed to compile after JDK-8011044: 1.5 is no longer supported
  • Crashes with assert "modified node is not on IGVN._worklist"
  • bigapps assert failure in C2: modified node is not on IGVN._worklist
  • run hotspot JTREG compiler tests only on fastdebug platforms and also on macosx
  • Remove unused references to Compile*
  • Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp
  • Optimize generated by C2 code for Intel's Atom processor
  • 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation
  • compiler/7068051/Test7068051.java fails with FileNotFoundException: f3oo.jar
  • assert(false) failed: only Initialize or AddP expected macro.cpp:943
  • Uninitialised memory in hotspot/src/share/vm/code/dependencies.cpp
  • G1 asserts at collection exit with -XX:-G1DeferredRSUpdate
  • Remove some obsolete code in G1CollectedHeap class
  • assert(_heap_alignment >= _space_alignment) failed: heap_alignment less than space_alignment
  • Unportable format string argument mismatch in hotspot/agent/src/os/solaris/proc/saproc.cpp
  • Scalable Native memory tracking development
  • Create NMT (Native Memory Tracking) tests for NMT2
  • JVM crashes on failed 'strdup' call
  • Remove UseFastAccessors and UseFastEmptyMethods except for zero
  • [TESTBUG] Wrong WhiteBox.java was pushed by JDK-8044140
  • [TESTBUG] Add missing NMT2 tests
  • [TESTBUG] runtime/jsig/Test8017498.sh: Execution failed: exit code 1
  • super() in a try block in a ctor causes VerifyError
  • JTREG needs to copy additional WhiteBox class file to JTwork/scratch/sun/hotspot
  • Add size_t as a valid VM flag type
  • Replace calendars.properties with another mechanism to specify a new Japanese calendar era
  • StringJoiner imlementation optimization
  • (smartcardio) CardTerminal.connect('direct') does not work on MacOSX
  • sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out
  • Check src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m for JNI pending issues
  • Need new tests for AES cipher
  • Broken link in SecureRandom.html
  • Consolidate java.security files into one file with modifications
  • java/net/ipv6tests/UdpTest.java failed intermittently
  • javadoc cleanup for java.sql and javax.sql
  • Fix typos in java.lang.** packages
  • (process) ProcessBuilder leaks native memory
  • TEST_BUG: Typos in java/lang/Long/ParsingTest
  • (reflect) Constructor.getAnnotatedReceiverType() returns wrong value
  • Test "com/sun/tools/attach/StartManagementAgent.java" failing intermittently
  • Clean up ProblemList.txt
  • Test java/util/logging/TestLoggerBundleSync.java fails: Unexpected bundle name: null
  • Reduce allocation overhead in java.time.Period/Duration parse methods
  • Refactor jps utility tests
  • [TESTBUG] jdk.testlibrary.Utils.removeGcOpts doesn't remove -Xconcgc
  • Methods of Subject that throw SecurityException do not specify what permissions are required
  • libsplashscreen build fails on MacOSX Mavericks
  • test/java/util/Currency/PropertiesTest.sh modifies the test JDK
  • File ccache only recognizes Linux and Solaris defaults
  • Optimization for locale resources loading isn't working
  • [TESTBUG] NMTHelper fails to parse NMT output
  • java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException
  • java/lang/management/MemoryMXBean/MemoryManagement.java timed out on Linux-amd64
  • [macosx] sigsegv (0Xb) Being Generated When Starting JDev With Voiceover Running
  • Validate fields on Swing classes deserialization
  • [macosx] Focus issue with 2 applets in firefox
  • Javadoc cleanup of javax.sound.midi package
  • Unnecessary final modifier for a method in a final class
  • KeyEvent can not be accepted in quick mouse clicking
  • JNI exception pending in jdk/src/windows/native/sun/windows/
  • Expose internal representation in sun.awt.X11
  • Fixes endless loop on mac caused by invoking Windows.isFocusable() on Appkit thread.
  • Incorrect parsing of the default flavor mapping
  • Refactor java.awt.datatransfer to eliminate dependency on AWT
  • DataTransferer.getInstance throws ClassCastException in headless mode
  • Fix doclint missing tag warnings in javax.swing.plaf.basic parts 5b,6b of 7
  • Add block tags for @return and @param to swing plaf classes
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 4
  • Memory leak in jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
  • Move AWT_BAT functional tests to OpenJDK (3 of 3)
  • Unexpected exceptions in MID parser code
  • [Findbugs]sun.awt.image.MultiResolutionCachedImage expose internal representation
  • Catch exceptions resulting from missing font cmap
  • Cleanup of sun.awt.X11 package
  • Unexpected exceptions and timeouts in SF2 parser code
  • Font2DTest demo: unused resource files
  • DefaultTreeCellEditor doesn't implement Serializable
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 5
  • Need to suppress newly added unchecked cast and conversion in Swing code
  • A switch operator in JFrame.processWindowEvent() should be rewritten
  • Use of animated icon in JLayer causes CPU spin
  • Cleanup of com.sun.media.sound packages
  • JPopupMenu creation in headless mode with JDK9b23 causes NPE
  • SwingUtilities.convertMouseEvent misses MouseWheelEvent.preciseWheelRotation
  • Aqua LaF: memory leak when HTML is used for JTabbedPane tab titles
  • Some of the input validation in the javasound is too strict
  • Reference to nonexistant Class in javadoc
  • Update jdk/test/java/util/Base64 tests to remove use of sun.misc.BASE64Encoder/Decoder
  • Typo in InquireType.java
  • test/com/sun/jdi/ShellScaffold.sh does not honor -javaoption
  • Add @file support to sjavac
  • Add --state-dir=bar to sjavac
  • Add --permit-artifact=bar to sjavac
  • [javadoc] javadoc tester must print out the javadoc run arguments.
  • Add a test for invalid package annotations
  • Group 8b - golden files for annotations test in tools/java dir
  • Group 8c - golden files for annotations test in tools/java dir
  • Group 8d - golden files for annotations test in tools/java dir
  • Sjavac should not use portfiles, sockets, etc if background=false
  • Restructure client / server protocol code
  • Remove visitWildcard visitor method from erasure visitor
  • Update/cleanup ToolBox
  • Implement classfile tests for InnerClasses attribute.
  • fix test failures in classfile tests
  • Use com.sun.tools.javac.util.Assert instead of 'assert'
  • Sjavac does not print compilation errors to the console
  • javac should report the error for default usage as the primary error
  • IntelliJ langtools project should reflect modular source tree
  • [javac] ignore test/tools/javac/Paths/AbsolutePathTest.java
  • ScriptObjectMirror causing havoc with Invocation interface
  • CompiledFunction.relinkComposableInvoker assert is being hit
  • Test262 tests for ECMAScript 5 now in branch "es5-tests"
  • Make code caching work with optimistic typing and lazy compilation
  • Global.initConstructor and ScriptFunction.getPrototype(Object) can have stricter types
  • test/script/external/test262/test/suite/ch12/12.6/12.6.4/12.6.4-2.js fails with tip
  • nashorn properties leak memory
  • Avoid creation of empty type info files
  • type info cache may be disabled for test262 and tests explicitly changing that property should use @fork
  • jjs exits interactive mode if exception was thrown when trying to print value of last evaluated expression
  • Compile-time expression evaluator was missing variables
  • Extension directives to turn on callsite profiling, tracing, AST print and other debug features locally
  • test/script/trusted/JDK-8055107.js fails with access control exception
  • Tidy up Nashorn codebase for code standards (August 2014)
  • Ant build broken after modular source code change
  • Nashorn should use source, target to be 1.8 and use ASM5 version for generated code
  • Nashorn ClassFilter Support

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 9 Build 26 Early Access (Aug 12, 2014)

  • Update jprt runthese test suite to jck-8
  • Support SKIP_BOOT_CYCLE=false when invoked from JPRT
  • AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build
  • PPC64: Don't use StubCodeMarks for zero-length stubs
  • Update jprt runthese test suite to jck-8
  • NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
  • Introduce and clean up umbrella headers for the files in the cpu subdirectories.
  • linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid
  • pstack crashes on java core dump
  • linux-sparcv9: hs_err file does not show any stack information
  • jstack not working on core files
  • Rename 'rem_size' in compactibleFreeListSpace.cpp because of name clashes on AIX
  • Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking
  • Aborting marking just before remark results in useless additional clearing of the next mark bitmap
  • Conservative maximum heap alignment should take vm_allocation_granularity into account
  • G1 Full GC needs to support the case when the very first region is not available
  • Some regression tests are not robust with VM output
  • Remove '-client' from compiler/8004051/Test8004051.java's options
  • [TESTBUG] The compiler/6589834/Test_ia32.java timed out
  • compiler/intrinsics/bmi/verifycode tests on lzcnt and tzcnt use incorrect assumption about REXB prefix usage
  • Get rid of JMX in test/compiler
  • compiler/ciReplay/TestVM_no_comp_level.sh fails with "TEST [CHECK :: REPLAY DATA GENERATION] FAILED:
  • 'optimized' build broken by JDK-8039425
  • Concurrency problem in PcDesc cache
  • Printing of 'cmpN_reg_branch_short' instruction shows wrong 'op2' register
  • Fix bad field access check in C1 and C2
  • Add @since 1.9 to new packages added in jaxp
  • Xerces Update: Move to Xalan based DOM L3 serializer. Deprecate Xerces' native serializer.
  • Xerces update breaks profile build
  • getTextContent doesn't return string in JAXP
  • @since tag cleanup in jaxws
  • Collections.synchronizedNavigableSet().tailSet(Object,boolean) synchronizes on wrong object
  • Java SecureRandom on SPARC T4 much slower than on x86/Linux
  • Add Unreachable.java test to ProblemList on Windows
  • com/sun/tools/attach/StartManagementAgent.java start failing after JDK-8048193
  • Remove JNDI dependency on java.applet.Applet
  • Explicitly state floating-point summation requirements on non-finite inputs
  • [parfait] warnings from b119 for jdk.src.share.native.sun.tracing.dtrace: JNI exception pending
  • Fix for 8030115 breaks build on Windows and Solaris
  • move awt automated functional tests from AWT_Events/Lw and AWT_Events/AWT to OpenJDK repository
  • Test test/sun/awt/image/bug8038000.java fails with ClassCastException
  • Fix raw and unchecked lint warnings in generated nimbus files
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 2
  • fix doclint issues in swing classes, part 4 of 4
  • Fix doclint warnings from javax.swing.plaf.basic package, 1 of 7
  • Fix raw and unchecked lint warnings in macosx specific code
  • Fix doclint warnings from javax.swing.plaf.basic package, 2 of 7
  • Remove reflection from ScreenMenuBar
  • Fix doclint warnings from javax.swing.plaf.basic package, 3 of 7
  • PNGMetadata.getAsTree() sets bitDepth to invalid value
  • Fix raw and unchecked lint warnings in javax.swing.SortingFocusTraversalPolicy
  • Fix raw and unchecked warnings in sun.applet
  • [macosx] Incorrect thread access when showing splash screen
  • Tidy warnings cleanup for java.awt - 2d part
  • Test closed/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest fails on Window XP
  • Fix doclint warnings from javax.swing.plaf.basic package, 4 of 7
  • [macosx] test java/awt/image/ImageIconHang.java fails with NPE
  • CUPS Printing does not report supported printer resolutions.
  • Fix doclint warnings from javax.swing.plaf.basic package, 7 of 7
  • Fix raw and unchecked lint warnings in generated beaninfo files
  • Replace uses of 'new Integer()' with appropriate alternative across client classes
  • Uninitialised memory in OGLBufImgsOps.c, D3DBufImgOps.cpp
  • CustomMediaSizeName class matching to standard media is too loose
  • Examine if macosx/bundle/JavaAppLauncher and JavaAppLauncher.java can be removed
  • Remove sun.audio package
  • Read flavormap.properties as resource
  • BasicTreeUI: "revisit when Java2D is ready"
  • Gtk: call to UIManager.getSystemLookAndFeelClassName() leads to crash
  • Migrate functional AWT_DesktopProperties/Automated tests to OpenJDK
  • move awt automated tests from AWT_Modality to OpenJDK repository - part 3
  • move tests about maximizing undecorated to OpenJDK
  • JNI exception pending in jdk/src/solaris/native/sun/java2d/x11: X11PMPLitLoops.c, X11SurfaceData.c
  • JNI exception pending in jdk/src/share/native/sun/awt/image/awt_parseImage.c
  • KSS sun.swing.SwingUtilities2#makeIcon
  • Check class loaders usage in Swing classes
  • ProblemList update for Unreachable.java
  • Collections.checkedList(empty list).replaceAll((UnaryOperator)null) doesn't throw NPE after JDK-8047795
  • getTextContent doesn't return string in JAXP
  • Fix stay raw and unchecked lint warnings in core libs
  • Fix raw and unchecked lint warnings in sun.tools.*
  • Add raw and unchecked lint warnings to build of jdk repository
  • SSLv2Hello protocol may be filter out unexpectedly
  • NPE from JapaneseEra when a new era is defined in calendar.properties
  • Flatten VersionHelper hierarchies
  • java/lang/ProcessBuilder/Basic.java fails intermittently: waitFor took too long
  • Ftp download does not work properly for ftp user without password
  • (fc) FileDispatcherImpl.lock0 does not handle ERROR_IO_PENDING [win]
  • Unexpected RuntimeExceptions being thrown by SSLEngine
  • Fix typos in JNDI-related packages
  • No space allowed in platforms string in ProblemList.txt
  • sun/security/pkcs11/ec/ReadCertificates.java fails intermittently
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/security/mscapi/security.cpp
  • com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java doesn't run in agentvm mode
  • Optimize java.lang.reflect.Modifier.toString()
  • Launcher changes for native memory tracking scalability enhancement
  • Add option to keep track of symbol completion dependencies
  • Provide javadoc for "framework" classes in langtools tests
  • Cannot assign a value to final variable in lambda
  • javap OOM on fuzzed classfile
  • Add an crules analyzer avoiding string concatenation in messages of Assert checks.
  • Reduce compile time by about 5% by removing the Class.casts from the AST nodes
  • Auto format caused warning in CompositeTypeBasedGuardingDynamicLinker
  • Test hideLocationProperties.js fails on Window due to backslash in path
  • GuardedInvocation needs to clone an argument
  • jdeps is not PATH on Mac, results in ant clean test failure on Mac
  • Nashorn: AssertionError when use __DIR__ and ScriptEngine.eval()
  • Some tests fail with non-optimistic compilation
  • Wrong type calculated for ADD operator with undefined operand
  • Add nashorn.args.prepend system property

New in Java SE Development Kit (JDK) 9 Build 25 Early Access (Aug 2, 2014)

  • Support @apiNote, @implSpec and @implNote in all javadoc bundles
  • Add jtreg jobs to JPRT for hotspot
  • PPC64: First steps to enable SA on Linux/PPC64
  • Metadata Full GCs are not triggered when CMSClassUnloadingEnabled is turned off
  • -XX:+TraceExceptions output should include the message
  • resolve atomic.hpp wording issues from JDK-8047104 code review
  • JSR 292: assert(type() == T_OBJECT) failed: type check
  • Add jtreg jobs to JPRT for hotspot
  • Excessive checked JNI warnings from Java startup
  • jni_PushLocalFrame OOM - increase MAX_REASONABLE_LOCAL_CAPACITY
  • PPC64: First steps to enable SA on Linux/PPC64
  • expose L1_data_cache_line_size for diagnostic/sanity checks
  • nsk/jvmti/RetransformClasses/retransform001 crashed the VM on all platforms when run with with -server -Xcomp
  • VerifyFieldClosure fails instanceKlass:3133
  • makefiles should use parameterized $(CP) and $(MV) rather than explicit commands
  • Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message
  • C1 optimizes @Stable instance fields with default values
  • Provide descriptive failure reason for compilation tasks removed for the queue
  • LogCompilation: annotate make_not_compilable with compilation level
  • LogCompilation: C1: inlining tree is flat (no depth is stored)
  • ReplacedNodes dumps it's content to tty
  • NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33
  • Deprivilege JAX-WS/JAF code
  • Fix broken link to Collections Framework Tutorial
  • UUID to/from String performance should be improved by reducing object allocations
  • Remove dependency on EC classes from pkcs11 provider
  • String.toLowerCase do not work for some concatenated strings
  • Additional parse methods for Long/Integer
  • add additional diagnostic to java/net/MulticastSocket/TestInterfaces
  • Update javadoc for com.sun.jndi.toolkit.corba.CorbaUtils
  • (smartcardio) Invert reset argument in tests in sun/security/smartcardio
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c
  • Optimize StringCharBuffer.toString(int, int)
  • Extension class loader initialization fails on Win7 x64 zh_TW
  • Expose Integer/Long formatUnsigned methods internally
  • Expose session key and KRB_CRED through extended GSS-API
  • Fix for JDK-8043071 breaks dev build
  • Two security tools tests do not run with only JRE
  • GSSContext.acceptSecContext fails when a supported mech is not initiator preferred
  • NPE seen in XMLDocumentFragmentScannerImpl.setProperty since 7u40b33
  • LocalVariableTestBase has unexpected dependency on LocalVariableTableTest
  • Provided new utility visitors supporting SourceVersion.RELEASE_9
  • .out files for generics tests in tools/javac dir
  • (jdeps) Recommend supported API to replace use of JDK internal API
  • .out files for generics tests in tools/javac dir
  • .out files for generics tests in tools/javac dir - part 3
  • update DocRootSlash test for tidy error:Fix deprecation warnings in javax.lang.model.util
  • Add support for running/debugging bootstrap tools in IntelliJ
  • Separate src and test execution sandbox directories

New in Java SE Development Kit (JDK) 9 Build 24 Early Access (Jul 26, 2014)

  • Backout use of -Og
  • Support running regression tests using jtreg_tests+TESTDIRS from top level
  • Move array component mirror to instance of java/lang/Class
  • Fix for 8046471 breaks PPC64 build
  • Introduce umbrella header os.inline.hpp and clean up includes
  • Improve VerifyError message about overriding a final method
  • Hotspot build system looking for sdt.h in the wrong place
  • cleanup misc issues prior to Contended Locking reorder and cache
  • heapdump/OnOOMToFile and heapdump/OnOOMToPath fail with "assert(fr().interpreter_frame_expression_stack_size() >= length) failed: error in expression stack!"
  • interpretedVFrame::expressions to index oopmap correctly
  • Remove unneeded/obsolete -source/-target options in hotspot tests
  • Fix for JDK-6546236 made Solaris os::yield() a no-op
  • Fix for Solaris Studio C++ 5.13, CHECK_UNHANDLED_OOPS breaks PPC build.
  • G1 Does not use the save_marks functionality as intended
  • Linker error when compiling G1SATBCardTableModRefBS after include order changes
  • G1 HeapRegions can no longer be ContiguousSpaces
  • Move G1ParScanThreadState into its own files
  • Fix visibility of G1ParScanThreadState members
  • G1 crashes when run with -XX:-G1DeferredRSUpdate
  • remove CMS and ParNew adaptive size policy code
  • Add a version of CompiledIC_at that doesn't create a new RelocIterator
  • Minimal VM build broken after gcId.cpp was added
  • G1 Class Unloading after completing a concurrent mark cycle
  • Backout 8048248 to correct attribution
  • G1 Class Unloading after completing a concurrent mark cycle
  • [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
  • Some codecache allocation failures don't result in invoking the sweeper
  • compiler/6340864/TestLongVect.java timeout with
  • Backout use of -Og
  • Minor cleanups after G1 class unloading
  • Validate global memory allocation
  • JVM resolves wrong method in some unusual cases
  • Fix exceptions to bytecode verification
  • Attribute OOM to correct part of code
  • Better method signature resolution
  • Verify call
  • Test case for 8037157 should not throw a VerifyError
  • Refactor ObjectFactory
  • Introduce document horizon
  • FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory
  • With active Securitymanager JAXBContext.newInstance fails
  • Getting all visible methods in ReferenceTypeImpl is slow
  • Remove redundant use of reflection on core classes from JNDI
  • [TESTBUG] need a JTREG test for the fix of JDK-8042796 (OLD and/or OBSOLETE method(s) found)
  • Move array component mirror to instance of java/lang/Class
  • Replace uses of 'new Integer()' with appropriate alternative across core classes
  • Pattern.compile(String, int) fails to throw IllegalArgumentException
  • Clarify the return value/exception for java.security.SignedObject.verify
  • Missing null pointer checks for streams
  • [Parfait] warnings from b117 for jdk.src.share.native.com.sun.java.util.jar: JNI exception pending
  • Probabilistic native crash`
  • RMI Thread can no longer call out to AWT
  • Better TLS/EC management
  • Do not cram data into CRAM arrays
  • Running forms URL throws NullPointerException in Javaconsole.
  • Make Proxy representations consistent
  • Enhance subject class
  • Issues in 2d
  • File choosers should be choosier
  • Provide more consistency for lookups
  • Validate libraries to be loaded
  • (process) Process process arguments carefully
  • More robust DH exchanges
  • Enhance RSA key handling
  • Provider provides less service
  • Review restriction of JAX-WS java packages going to JDK8
  • Some tests fail with NPE since 7u60 b12
  • More atomicity of atomic updates
  • Update certificate lists for compact1 profile
  • Application can't be loaded fine,the save dialog can't show up.
  • Running form URL throws NPE
  • [TESTBUG] java/lang/SecurityManager/CheckPackageAccess.java fails with "In j.s file, but not in golden set: com.sun.activation.registries."
  • Convert runtime dependency to Applet to a static dependency in cosnaming
  • Uninitialised memory in jdk/src/windows/native/java/net: net_util_md.c, TwoStacksPlainSocketImpl.c, TwoStacksPlainDatagramSocketImpl.c, DualStackPlainSocketImpl.c, DualStackPlainDatagramSocketImpl.c
  • [macosx] java -splash does not honor @2x hi dpi notation for retina support
  • Fix raw and unchecked warnings in javax.accessibility
  • Remove WindowClosingSupport
  • Default printer media is ignored
  • When printing, polylines are not rendered as joined
  • JVM core dumps with very long text in tooltip
  • [macosx] javax.swing.PopupFactory issue with null owner
  • Move ShapedAndTranslucentWindows and GC functional AWT tests to regression tree
  • AWT crashes inside CCombinedSegTable::In called from Java_sun_awt_windows_WDefaultFontCharset_canConvert
  • Memory leak. java.awt.List objects allowing multiple selections are not GC-ed.
  • [macosx] Appletviewer was broken in jdk8 b124
  • [macosx] Disable usage of system menu bar if AWT is embedded in FX
  • Fix raw and unchecked lint warnings in javax.swing.plaf.*
  • Fix raw and unchecked warnings in com.sun.java.swing
  • RFE: tool for creating BeanInfo template
  • setOneTouchExpandable functionality of JSplitPane will reduce vertical Scrollbar
  • Fix raw and unchecked lint warnings in javax.swing.*
  • Move AWT_DnD/Clipboard/Automated functional tests to OpenJDK
  • SortingFocusTraversalPolicy throws IllegalArgumentException from the sort method
  • [macosx] PopupMenuListener.popupMenuWillBecomeVisible is not called for empty combobox on MacOS/aqua look and feel
  • Fix raw and unchecked lint warnings in platform-specific sun.font files
  • NPE when changing Windows theme
  • New unchecked warning introduced in com.sun.jndi.ldap.Connection
  • Fix raw and unchecked lint warnings in sun.text.normalizer.UnicodeSet
  • FEATURE_SECURE_PROCESSING can not be turned off on a validator through SchemaFactory
  • Request to investigate and update lexer error recovery in javac
  • Further investigation needed for few error messages for negative unicode tests in langtools regression ws
  • javac should report complete character code in the error messages
  • Restore NonDirectSuper.java test
  • Verification error due to a bad stackmap frame generated by javac
  • class SJavacTestUtil and *Wrapper are redundant and should be removed
  • fix for JDK-8049305 should be removed
  • A few new Java src files for sjavac are missing copyright notices
  • Add a target to langtools/make/build.xml to generate docs for test library classes
  • javac, follow-up of fix for JDK-8049305
  • javac, incorrect bug id in tests for JDK-8050386
  • javax.script.filename variable should not be enumerable with nashorn engine's ENGINE_SCOPE bindings
  • OptimisticTypesPersistence.java should use java.util.Date instead of java.sql.Date

New in Java SE Development Kit (JDK) 9 Build 23 Early Access (Jul 19, 2014)

  • Testset all fails because of missing jdk_beansX test groups
  • handle mercurial dev build version string
  • Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
  • G1 Block offset table does not need to support generic Space classes
  • [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops
  • Back out JDK-8027915
  • [TESTBUG] runtime/Unsafe/RangeCheck.java fails with -Xcomp
  • Add hidden field to methods for event based tracing
  • Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops
  • Xprof hangs on Solaris
  • Change 8037816 breaks HS build on PPC64 and CPP-Interpreter platforms
  • Quarantine compiler/ciReplay/*
  • test/compiler/8009761/Test8009761.java failed with: java.lang.RuntimeException: static java.lang.Object Test8009761.m3(boolean,boolean) not compiled
  • ciConstantPoolCache::_keys should be array of 32bit int
  • Quarantine compiler/whitebox tests
  • NPG: Remove ConstantPool::lock
  • Improve performance of Class.getClassLoader()
  • [TESTBUG] Add test for anewarray instruction with more than 255 dimensions
  • Build errors with gcc on sparc/fastdebug
  • Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
  • [TESTBUG] runtime/CDSCompressedKPtrs/XShareAuto.java fails with RuntimeException 'sharing' found in stderr
  • Method os::yield_all() should be removed
  • [TESTBUG] runtime/memory/ReadFromNoaccessArea.java and runtime/memory/ReserveMemory.java time out on Solaris
  • SA update
  • [TESTBUG] Rewrite test/runtime/8001071/Test8001071.sh
  • 'fastdebug' is printed twice in java -version
  • compile.cpp verify_graph_edges uses bool as int
  • Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all()
  • Hotspot debug builds with clang are broken
  • remove bytecodes_.{cpp,hpp} files
  • assert: Do not add task if compilation is turned off forever
  • closed/compiler/6595044/Main.java failed with timeout
  • missing types in TemplateInterpreterGenerator::generate_result_handler_for
  • Clang needs to lower optimization level for some files
  • Add a GC id as a log decoration similar to PrintGCTimeStamps
  • Improve usage of umbrella header atomic.inline.hpp.
  • G1: Code root location ... from nmethod ... not in strong code roots for region
  • TestParallelHeapSizeFlags fails with unexpected heap size on sparcv9
  • Make CMS metadata aware closures applicable for other collectors
  • Clean the ExceptionCache in one pass
  • Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure
  • Consolidate all CompiledIC::CompiledIC implementations and move it to compiledIC.cpp
  • G1 HeapRegionDCTOC does not need to inherit ContiguousSpaceDCTOC
  • Update JAX-WS RI integration to latest version
  • Re-examine Bidi reflective dependency on java.awt.font
  • fix doclint issues in swing classes, part 1 of 4
  • Tests added to the jdk/test/TEST.groups to be run on correct profiles
  • Two tests failed with "java.net.SocketException: Bad protocol option" on Windows after 8029607
  • Regression on java.util.logging.FileHandler
  • Remove oracle.jrockit.jfr from open package.access list
  • XML Signature performance issue caused by unbuffered signature data
  • Improve performance of Class.getClassLoader()
  • NTLM authentication fail if user specified a different realm
  • Generate blacklist.certs in build
  • URL.factory data race
  • java/util/logging/LoggingDeadlock2.java times out
  • Read outside array bounds in jdk/src/solaris/native/java/lang/java_props_md.c
  • Fix raw and unchecked warnings in jvmstat
  • To interpret case-insensitive string locale independently
  • Access ExtendedGSSContext.inquireSecContext() result through SASL
  • Need new regression tests for PBE keys
  • Fix raw and unchecked lint warnings in sun.management
  • Improve diagnostic output in com/sun/jndi/ldap/LdapTimeoutTest.java
  • Change default policy for JCE providers to run with as few privileges as possible
  • Update the CheckBlacklistedCerts.java test to find new location of blacklisted.certs.pem
  • Fix raw and unchecked lint warnings in sun.tracing
  • Reduce possible timing noise in com/sun/jndi/ldap/LdapTimeoutTest.java
  • Remove unneeded/obsolete -source/-target options in shell tests
  • (coll) IdentityHashMap is resized before exceeding the expected maximum size
  • test sun/rmi/rmic/minimizeWrapperInstances/run.sh fails
  • Windows policy file missing semicolon
  • Refactor javac scope implementation to enable lazy imports
  • Should ignore nested lambda bodies during overload resolution
  • Remove support for 1.5 and earlier source and target options
  • replace test/tools/javac/versions/check.sh
  • [javadoc] parameters are not sorted correctly
  • [javadoc] add more class-use test cases
  • jdk.Exported is missing @return
  • Javadoc errors out on some valid HTML tags
  • JavaCompiler relies on inappropriate result from comparison
  • [javadoc] refactor the usage of Util.java
  • Missing bug id in test/tools/javac/varargs/warning/Warn*
  • Implement classfile tests for Deprecated attribute.
  • javac, wildcards and generic vararg method invocation not accepted
  • .out files for enum tests in tools/javac/dir
  • .out files for enum tests in tools/javac/dir
  • Remove three auxilary files in tools/javac/enum dir
  • .out files for unicode, implicitThis and importChecks tests in tools/javac dir
  • javac: TreeMaker.Type(Type t) does not handle UnionClassType
  • javac, code valid in 7 is not compiling for 8
  • (jdeps) use @jdk.Exported to determine supported vs JDK internal API
  • jdeps does not recognize --help option.
  • (jdeps) Add filtering capability
  • Minor API convenience functions on "Java" object
  • Avoid PropertyMap duplicate for global instances
  • Global object initialization via javax.script API should be minimal
  • all eval arguments need to be copied in Lower

New in Java SE Development Kit (JDK) 8 Update 11 (Jul 16, 2014)

  • NEW FEATURES AND CHANGES:
  • Java Dependency Analysis Tool (jdeps):
  • A new command-line tool, Java Dependency Analysis Tool (jdeps), is now available that can be used by developers to understand the static dependencies of their applications and libraries. It also provides an -jdkinternals option to find dependencies of any JDK internal APIs that are unsupported and private to JDK implementation.
  • New JAR file attribute - Entry-Point:
  • From this release, a new JAR file attribute, Entry-Point is available. The Entry-Point attribute is used to identify the classes that are allowed to be used as 'entry points' to the RIA. Identifying the entry points helps to prevent unauthorized code from being run when a JAR file has more than one class with a main() method, multiple Applet classes, or multiple JavaFX Application classes. Set this attribute to the fully qualified class name that can be used as the entry point for the RIA. To specify more than one class, separate the classes by a space, for example: Entry-Point: apps.test.TestUI apps.test.TestCLI
  • If the JAR manifest is signed and the main-class or applet-class entry point specified in the JNLP file or application descriptor differs from the class specified for the Entry-Point attribute, then the RIA is blocked. If the Entry-Point attribute is not present, any class with a main() method, or any Applet or JavaFX Application class in the JAR file can be used to start the RIA.
  • New JAXP processing limit property - maxElementDepth:
  • A new property, maxElementDepth, is added to provide applications the ability to set limit on maximum element depth in an xml file that they parse. This may be helpful for applications that may use too much resources when processing an xml file with excessive element depth.
  • BUG FIXES:
  • This release contains fixes for security vulnerabilities. For more information, see Oracle Critical Patch Update Advisory (http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html).
  • 8023990: client-libs: 2d: Regression: postscript size increase from 6u18
  • 8041572: client-libs: java.awt: [macosx] huge native memory leak in AWTWindow.m
  • 8041987: client-libs: java.awt: [macosx] setDisplayMode crashes
  • 8019990: client-libs: java.awt:i18n: IM candidate window appears on the South-East corner of the display
  • 8035897: core-libs: java.net: Better memory allocation for file descriptors greater than 1024 on macosx
  • 8043012: core-libs: java.util:i18n: (tz) Support tzdata2014c
  • 8019274: deploy: : RMI thread can no longer call out to AWT thread for webstart app
  • 8032781: deploy: deployment_toolkit: Run rule not working in case of html applet
  • 8030636: deploy: plugin: Accessibility class in jar on -xbootclasspath/a is not loaded by jvm
  • 8031996: deploy: plugin: Java.Lang.Reflect.InvocationTargetException When Cache Has Disabled
  • 8032206: deploy: plugin: Applet with jnlp.Packenabled=True And jnlp.versionEnabled=True Fails
  • 8034230: deploy: plugin: Applet caller check should not compare URLs
  • 8035449: deploy: plugin: security prompt is shown twice when 'Do not show' checkbox is checked
  • 8041339: deploy: webstart: JNLP with java-vm-args whose length exceeded 512 chars failed to get loaded with CouldNotLoadArgumentException
  • 8035613: xml: jaxb: With active Securitymanager JAXBContext.newInstance fails

New in Java SE Development Kit (JDK) 9 Build 22 Early Access (Jul 11, 2014)

  • [macosx] Fix hard-wired paths to JavaVM.framework
  • Allow using a system-installed libjpeg
  • Recognize sparc64 as a sparc platform
  • Add mercurial version checks to get_source.sh
  • Add hotspot testset to jprt.properties
  • Update bug reporting URL in make/Javadoc.gmk
  • Enable doclint warnings in build of docs from langtools
  • Java SE should include the full DOM API from JAXP
  • Remove com.sun.java.browser.* from jdk repo
  • OutputStreamHook doesn't handle null values
  • serviceability/sa/jmap-hashcode/Test8028623.java should be quarantined
  • Add Diagnostic Command to list all ClassLoaders
  • ad_x86_64_misc.obj : error LNK2011: precompiled object not linked in; image may not run
  • Building with clang gives: fatal error: file '...' has been modified since the precompiled header was built
  • Check attribute_length of EnclosingMethod attribute
  • -Xcheck:jni should support checking of GetPrimitiveArrayCritical.
  • Remove legacy jdk checks and code
  • -Xcheck:jni improvements to exception checking and excessive local refs
  • Check JNI ReleaseStringChars / ReleaseStringUTFChars verify_guards test inverted
  • Revisit need to disable Windows C++ compiler optimisation of sharedRuntimeTrig.cpp.
  • [TESTBUG] runtime/Thread/TestThreadDumpMonitorContention.java failed error_cnt=12
  • Generating prelink cache breaks JAVA 'jinfo' utility normal behaviour
  • cleanup non-indent white space issues prior to Contended Locking cleanup bucket
  • [macosx] Fix hard-wired paths to JavaVM.framework
  • host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes
  • sharedRuntime.cpp...assert(((nmethod*)cb)->is_at_poll_or_poll_return(pc)) failed: safepoint polling: type must be poll
  • cleanup more non-indent white space issues prior to Contended Locking cleanup bucket
  • G1: Enable G1CollectedHeap::stop()
  • Build failure from multiple ptrace.h
  • Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp
  • Add a way to verify an extended set of command line options
  • testlibrary_tests/whitebox/vm_flags/BooleanTest.java NoClassDefFoundError: com/oracle/java/testlibrary/JDKToolFinder
  • Set T family feature bit on Niagara systems
  • Improve documentation for org.w3c.dom package
  • @since tag cleanup in jaxp
  • Duration.compare incorrect for some values
  • Remove @version tag in jaxp repo
  • Uninitialised memory in jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
  • TEST_BUG: shell script tests need to be change to not use retired @debuggeeVMOptions mechanism
  • small errors in Collectors examples
  • com/sun/jdi/ProcessAttachTest.sh gets "java.io.IOException: Invalid process identifier" on windows
  • Broken links to jarsigner and keytool docs in java.security package summary
  • Remove unused JObjC from jdk repository
  • ZipFile.entries() can't handle empty zip entry names
  • File.createTempFile has uninformative failure message
  • Collectors.toMap studentToGPA example uses Functions.identity()
  • Typo in documentation of package java.util.stream
  • sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh timeout, leaves looping process
  • KSS: javax.swing.plaf.nimbus.AbstractRegionPainter#getComponentColor
  • KSS: javax.swing.plaf.synth.SynthContext
  • KSS: javax.swing.plaf.synth.SynthParser#startColor
  • java.awt.image.RasterFormatException: Incorrect scanline stride
  • Fix raw and unchecked warnings in sun.audio
  • [macosx] (awt) setjmp/longjmp changes the process signal mask on OS X
  • Fix raw and unchecked warnings in javax.print
  • In TextField can only select text visible or to the left of the cursor
  • Inconsistent opacity behaviour between JCheckBox and JRadioButton
  • KSS: javax.swing.plaf.basic.BasicInternalFrameTitlePane#postClosingEvent
  • Scary messages emitted by build.tools.generatenimbus.PainterGenerator during build
  • Compiler warnings about C++ exceptions in windows printing code
  • libosxapp.dylib fails to build on Mac OS 10.9 with clang
  • NPE in SynthContext in plugin mode
  • [parfait] Potential null pointer dereference in IndicLayoutEngine.cpp
  • [parfait]: Extra unused entries in ICU ScriptCodes enum
  • Allow using a system-installed libjpeg
  • Sorting columns in JFileChooser fails with AppContext NPE
  • [macosx] Combo box consuming escape key events
  • [macosx] Http-Images are not fully loaded when using ImageIcon
  • Move 8 awt tests to OpenJDK regression tests tree
  • REGRESSION: test/closed/javax/swing/AbstractButton/4246045/bug4246045.java fails
  • Use JComboBox as it's own ActionListener leads to unexpected behaviour
  • Eliminate dependency on sun.text from font code
  • Can't exit color chooser dialog when running as an applet
  • Dvorak keyboard mapping not honored when ctrl key pressed
  • ImageIcon constructor throws an NPE and hangs when passed a null String parameter
  • File not initialized in src/share/native/sun/awt/giflib/dgif_lib.c
  • [TEST_BUG] Move regtests for 4523758 and AltPlusNumberKeyCombinationsTest to jdk
  • When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red.
  • Test closed/java/awt/dnd/FileDialogDropTargetTest/FileDialogDropTargetTest.java fails on Solaris zones virtual hosts
  • Applet menus not rendering when browser is full screen on Mac
  • Incorrect StackTrace in IOException thrown from ClipboardTransferable
  • Cleanup new Boolean and single character strings
  • Fix raw and unchecked warnings in java.beans
  • Introspector returns isX() from base package-private class that throws exception
  • Fix finally lint warnings in sun.print
  • Fix finally lint warnings in javax.swing
  • [OGL] surface->sw blit is extremely slow
  • [OGL] Translucent VolatileImages don't paint correctly
  • Javadoc cleanup of javax.sound.sampled package
  • [TEST_BUG] Improve recently submitted AWT_Mixing tests
  • Add missing @since tag under java.beans.*
  • Fix raw and unchecked lint warnings in javax.sound.*
  • [macosx] ScreenPopupFactory uses native method that could be avoided
  • [macosx] Language specific keys does not work in applets when opened outside the browser
  • [TEST_BUG] CustomClassLoaderTransferTest does not support OS X
  • NPE when changing Windows theme
  • JDK 9 client build failure on Solaris
  • Move functional tests AWT_SystemTray/Automated to openjdk repository
  • Build failure in 9-client on all non-Windows platforms
  • jdk/src/share/classes/com/sun/media/sound/services/ appear not to be used
  • Fix raw and unchecked warnings in sun.print
  • Fix overrides lint warnings in Apple laf code
  • Hang displaying JFileChooser with Windows L&F
  • Add finally lint warning to build of jdk repository
  • JDI shared memory transport failed with "Observed abandoned IP mutex"
  • Fix doclint warnings in javax.swing.text.html.parser package
  • Fix doclint warnings in javax.swing.text.html package
  • unpack200.exe should check gzip crc
  • Generate different version of java.policy file for windows 32-bit and 64-bit
  • Support "include" and "includedir" in krb5.conf
  • Fix doclint warnings for javax.swing.plaf.multi
  • Fix raw and unchecked lint warnings in asm
  • fix doclint block tag issues in swing event classes
  • TempDirTest.java still times out with -Xcomp
  • Test closed/tools/pack200/MemoryAllocatorTest.java fails on windows-i586
  • Duration.compare incorrect for some values
  • Remove duplicated java.time classes in build.tools.tzdb
  • Fix doclint warnings (missing javadoc tags) in javax.swing.plaf.nimbus
  • RMIConnector_NPETest.java can't start rmid if running on fastdebug or Solaris-sparc
  • java/net/URLPermission/nstest/lookup.sh NoClassDefFoundError when run in concurrent mode
  • Fix doclint warnings for java.awt
  • Update java.lang.SafeVararags for private methods
  • Some javax/management/ fails with JFR
  • Add test timing information to JMXStartStopTest
  • Add overrides lint warning to build of jdk repository
  • Runtime.loadLibrary throws SecurityException when security manager is installed
  • sun/management/jmxremote/startstop/JMXStartStopTest.java fails with "should report port in use"
  • Cannot read ccache entry with a realm-less service name
  • Type of Service (TOS) cannot be set in IPv6 header
  • Collections.checkedList checking bypassed by List.replaceAll
  • Fix doclint warnings (missing javadoc tags) in javax.swing.table
  • Fix doclint warnings (missing javadoc tags) in javax.swing.plaf.synth
  • Read currency.data as a resource
  • (smartcardio) javax.smartcardio.Card.openLogicalChannel() dosn't work on MacOSX
  • @since should have JDK version
  • Collections.checkedQueue.offer() calls add on wrapped queue
  • Fix doclint warnings from javax.swing.plaf.metal package
  • Reverse sense of -Xlint options in build of jdk repo
  • [TESTBUG] com/sun/jdi/ExclusiveBind.java "Could not find or load main class"
  • java/lang/management/ThreadMXBean/SynchronizationStatistics.java fails intermittently
  • [tests] Replace JPS and stdout based PID retrieval by Process.getPid()
  • Use ServiceLoader for the jvmstat protocols
  • OutputStreamHook doesn't handle null values
  • [test] sun/management/jmxremote/startstop/JMXStartStopTest times out intermittently on Solaris/Sparcv9
  • Replace uses of 'new Long()' with appropriate alternative across core classes
  • Replace uses of 'new Byte', 'new Short' and 'new Character' with appropriate alternative across core classes
  • javax.security.auth.Subject.toString() throws NPE
  • [OGL] clip is ignored during surface->sw blit
  • Deserialization of empty java.awt.geom.Path2D will cause an exception
  • Remove wrong copyright notice in jdk/test/java/awt/Frame/DecoratedExceptions/DecoratedExceptions.java
  • Fix raw and unchecked lint warnings in platform-specific sun.awt files
  • Fix raw and unchecked lint warnings in platform-specific sun.java2d.*
  • Fix raw and unchecked lint warnings in javax.swing.text.*
  • Uninitialised memory in jdk/src/windows/native/sun/windows: awt_List.cpp, awt_InputMethod.cpp
  • [JLightweightFrame] support scaled painting
  • White flashing when opening Dialogs and Menus using Nimbus with dark background
  • [TEST_BUG] Cleanup datatransfer tests
  • GtkFileDialog strips user inputted filepath
  • [macosx] Crash when setting display mode
  • Add missing @since tag under javax.swing.*
  • move awt automated tests for AWT_Modality to OpenJDK repository
  • Move functional tests AWT_Headless/Automated to OpenJDK repository
  • Test sun/java2d/AcceleratedXORModeTest.java fails on Windows
  • Remove com.sun.java.browser.* from jdk repo
  • Remove EventQueueDelegate
  • java.awt.Font gets initialized with the wrong font name for some Locales
  • Test javax/swing/JFileChooser/7036025/bug7036025.java fails with java.lang.NullPointerException on Windows x86
  • TEST_BUG: java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html failed
  • Test sun/security/pkcs11/Signature/TestDSAKeyLength.java fails intermittently on Solaris 11 in 8u40 nightly
  • b113 causing a lot of memory allocation and regression for wls_webapp_atomics
  • update three javadoc tests for empty tag
  • javac crash with FunctionDescriptorLookupError for invalid functional interface
  • do while loop that misses ending semicolon has wrong end position
  • Lambda returning implicitly-typed lambdas considered pertinent to applicability
  • javac crashes with a NullPointerException during bounds checking
  • Add test for JDK-8037385
  • Different results of floating point multiplication for lambda code block
  • Crash on faulty reduce/lambda
  • update tools/javadoc/6227454 test for missing tags
  • javac NPE or VerifyError for code with constructor reference of inner class
  • lambda reference to inner class in base class causes LambdaConversionException
  • JVM cannot access constructor though ::new reference although can call it directly
  • Lambda: NPE while obtaining method reference through lambda expression
  • Add basic IntelliJ support for langtools
  • Project Coin: allow @SafeVarargs on private methods
  • [javadoc] fixup tests for determinism and add classes uses
  • javac complex method references: revamp and simplify
  • VerifyError when running successfully compiled java class
  • Fill in missing doc comments
  • Fill in missing doc comments
  • Restrict catch type from Throwable to ReflectiveOperationException
  • getDocComment fails for doc comments on PackageElement found in package-info.java
  • JDK build fails with sjavac enabled
  • DPrinter: support the DocTree API
  • update com/sun/javadoc/DocRootSlash/DocRootSlash for unexpected
  • update com/sun/javadoc/testHref for unrecognized
  • update 2 javadoc tests for nested emphasis
  • update 2 javadoc tests to add summary attribute for table tag
  • update javadoc tests to fix tidy warning for incorrect html comment
  • update tools/javadoc/6227454 to have missing tag
  • Incorrect LVT in switch statement
  • The sjavac client/server protocol should be hidden behind an interface
  • [javadoc] index files are non deterministic
  • Division by zero warning not suppressed properly in some cases
  • More tweaking with langtools intellij support
  • Remove com.sun.java.browser.* from jdk repo
  • Remove dead code in TransTypes
  • create .out files for DefiniteAssignment tests in tools/javac dir
  • .out files for enum tests in tools/javac dir - part 1
  • .out files for assert, boxing, and overload tests in tools/javac dir
  • Fuzzing bug discovered when ArrayLiteralNodes weren't immutable
  • Add regression tests for passing test cases of JDK-8024971
  • Deoptimization type information peristence
  • apply on apply is broken
  • (function(x){var o={x:0}; with(o){delete x} return o.x})() evaluates to 0 instead of undefined
  • Avoid repeated flattening of nested ConsStrings
  • bindings created for declarations in eval code are not mutable
  • Type info caching accidentally defeated
  • eval within 'with' statement does not use correct scope if with scope expression has a copy of eval
  • Persistent code store is broken after optimistic types merge
  • More precise synthetic return + unreachable throw
  • local variable declaration in TypeEvaluator should use ScriptObject.addOwnProperty instead of .set
  • ScriptingFunctions.readFully couldn't handle file names represented as ConsStrings
  • TypeError: Cannot apply "with" to non script object
  • JSON.parse('{"0":0, "64":0}') throws ArrayindexOutOfBoundsException
  • String concatenation with optimistic types is slow
  • large string size RangeError should be thrown rather than reporting negative length
  • Index selection of overloaded java new constructors
  • JSType class exposes public mutable arrays
  • RewriteException class exposes public mutable arrays
  • Source class exposes public mutable array
  • 'do with({}) break ; while(0);' crashes in CodeGenerator
  • Assertion in CompiledFunction when running earley-boyer after Merge
  • Explicit constructor overload selection should work with StaticClass as well

New in Java SE Development Kit (JDK) 9 Build 20 Early Access (Jul 1, 2014)

  • Enable compiler and linker safety switches for debug builds
  • test for SO_FLOW_SLA availability does not check for EACCESS
  • c1164d1adb76 6545295 TEST BUG: The test HatHeapDump1Test uses wrong path in exec call.
  • Remove management-agent.jar
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c
  • Remove npt library
  • Add missing @since tag under javax.sql
  • Replace uses of StringBuffer with StringBuilder within core library classes
  • Fix raw and unchecked lint warnings in XML Signature Impl
  • small errors in ConcurrentHashMap and LongAdder docs
  • TEST_BUG: Time to retire the @debuggeeVMOptions mechanism used in the com.sun.jdi infrastructure
  • VM anonymous class members can't be statically invocable
  • com/sun/jdi/OptionTest.java should be quarantined
  • com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotification[Content]Test.java should be quarantined
  • com/sun/tools/attach/TempDirTest.java should be quarantined
  • sun/tools/jstatd/TestJstatdExternalRegistry.java should be quarantined
  • Remove sun.misc.Timer
  • Better error messages when starting JMX agent via attach or jcmd
  • com/sun/jdi/OptionTest.java test time out
  • fix doclint issues in swing classes, part 2 of 4
  • fix doclint issues in swing classes, part 3 of 4
  • PKCS11/NSS tests failing intermittently on Windows
  • Performance of java.time could be better
  • Unable to parse an Instant from fields

New in Java SE Development Kit (JDK) 9 Build 19 Early Access (Jun 26, 2014)

  • G1: Enable G1CollectedHeap::stop()
  • G1: Missing post barrier in processing of j.l.ref.Reference objects
  • assert(capacity_until_gc >= committed_bytes) failed
  • Backout fix for JDK-8040807
  • Error reporting for insufficient shared region size is incorrect
  • Hotspot is expected to report OOM which is occurred String.intern(), but crashes in JDK8u5
  • assert(f == k->has_finalizer(),"inconsistent has_finalizer") with debug VM
  • [TESTBUG] runtime/CommandLine/TestHexArguments.java test fails in nightly
  • Solaris Studio 12.4 C++ 5.13, CHECK_UNHANDLED_OOPS use of class oop's copy constructor definitions causing error level diagnostic.
  • Stack trace sometimes shows 'locked' instead of 'waiting to lock'
  • Attach code should propagate errors in Diagnostic Commands as errors
  • Tests get ClassNotFoundException: com.oracle.java.testlibrary.StreamPumper
  • 63584da69379 8038132 jprt bundles have libjsig.dylib in different place on OSX
  • runtime/RedefineFinalizer test fails on windows
  • Event based tracing locks to rank as leafs where possible
  • [TESTBUG] Create CDS tests to exercise region sizes and base address
  • Quarantine unstable/broken GC tests
  • TestStringDeduplicationMemoryUsage test failing
  • A few typos in JAXP JavaDoc
  • Xerces Update: Serializer improvements from Xalan
  • Update .properties files for serialver tool
  • [TESTBUG] Test sun/security/tools/policytool/i18n.sh fails after clicking 'Done' button in test frame
  • Add async connect() support to NET_Connect() for AIX platform
  • inserting null key into HashMap treebin fails.
  • JSR292: invokeSpecial: InternalError attempting to lookup a method
  • Uninitialised memory in jdk/src/share/native/sun/security/ec/impl/mpi.c
  • java/util/Timer/Args.java failing intermittently in HS testing
  • SecretKeyBasic.sh needs to avoid NSS libnss3 and libsoftokn3 version mismatches
  • Code cleanup in SeedGenerator.java
  • Convert all JDK versions used in @since tag to 1.n[.n] in jdk repo
  • nativecache.c prints to stdout in debug build
  • (reflect) getMethods returns default methods that are not members of the class
  • Pre-configured command line options for keytool and jarsigner
  • HttpURLConnection should better handle URLs with literal IPv6 addresses
  • Add API to start JMX agent from attach framework
  • Fix raw and unchecked lint warnings in management-related code
  • default_options.sh test failure on Solaris
  • Determine location for type annotations earlier in compiler pipeline
  • Single codepath for attaching annotations to symbols
  • Permit a single source annotation to generate multiple bytecode annotations
  • Incorrect annotation attributes for type annotations on constructor type parameters
  • TypeAnnotation attribute is not generated for repeatable annotation in type argument
  • TypeAnnotation attribute is not generated for repeatable annotation in nested types
  • TypeAnnotation attribute is not generated for repeatable annotation in lambda
  • Few of the ANNOT tests in JCK9 test suite fail with an AssertionError for exception_index
  • Type parameter annotations don't work with multiple type parameters
  • RuntimeInvisibleAnnotations should not be generated for type annotation on anonymous innerclass creation
  • Write tests for all possible kinds of type annotation
  • 199: path options ignored when reusing filemanager across tasks
  • javac Plugin to receive notification (before and) after the compilation.
  • javac fails with StackOverflowException
  • java/util/concurrent/BlockingQueue/PollMemoryLeak.java fails in nightly on all platform due to compiler issue
  • constant pool errors with -target 1.7 and static default methods
  • Covariance of return type implied by upper bounding on type parameter is ignored
  • javac allows illegal receiver parameters
  • Receiver parameter not supported on local class constructor
  • DPrinter does not compile
  • AccessorProperty.getGetter is not threadsafe
  • API for debugging Nashorn
  • Run & debug single Nashorn test
  • Running uncompilable scripts throws NullPointerException

New in Java SE Development Kit (JDK) 9 Build 18 Early Access (Jun 19, 2014)

  • Source changes needed to build JDK 9 with new platforms and compilers on Solaris and Linux

New in Java SE Development Kit (JDK) 9 Build 16 Early Access (Jun 7, 2014)

  • (smartcardio) Card.transmitControlCommand() does not work on Mac OS X
  • ServerSocketChannel.socket().accept() throws IllegalBlockingModeException if not bound
  • (smartcardio) Card.disconnect(boolean reset) does not reset when reset is true
  • Java 7 jarsigner displays warning about cert policy tree
  • Fix fallthrough lint warnings in java/lang/UNIXProcess.java
  • (smartcardio) Native memory should be handled more accurately
  • j2se_jdk/jdk/test/java/lang/invoke/lambda/LogGeneratedClassesTest.java - assertion error
  • Security tests fail on 32 bit linux platform
  • build failure on Windows noticed with recent smartcardio fix
  • sun.security.krb5.KdcComm interprets kdc_timeout as msec instead of sec
  • Remove unused XML Signature schema and dtd files from source
  • Add com/sun/jdi/JdbReadTwiceTest.sh to ProblemList.txt
  • The basic XML parser based on UKit fails to read XML files encoded in UTF-16BE or LE
  • For some sources compiler compiles for ever
  • Javac generates invalid signatures for local types
  • javac: AssertionError during LVT generation, wrong variable ranges
  • ant makefile should have a target to generate javadoc only for jdk.nashorn.api and sub-packages

New in Java SE Development Kit (JDK) 9 Build 15 Early Access (May 31, 2014)

  • Support invoking Hotspot tests from top level
  • Allow using a system-installed lcms2
  • Convert JPRT_ARCHIVE_BUNDLE to unix style paths
  • Fix for 8036122 breaks build with Xcode5/clang
  • remove port.{cpp,hpp} files
  • Separate SymbolTable and StringTable code
  • Unable to build JDK 9 Hotspot within VS2010
  • [TESTBUG] TEST.groups file was not updated after runtime/6925573/SortMethodsTest.java removal
  • Fix the signature of the global new/delete operators in allocation.cpp.
  • Annotation attributes must not appear more than once
  • Support invoking Hotspot tests from top level
  • Remove UsePPCLWSYNC from globals.hpp
  • compiler/7200264/TestIntVect.java fails with: Test Failed: AddVI 0 < 4
  • CodeCache::allocate increments '_number_of_blobs' even if allocation fails.
  • BackEdgeThreshold option is no longer used and should be removed
  • VirtualDispatch test timeout with DeoptimizeALot
  • Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock
  • Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas
  • Code aging should allocate MethodCounters when flushing a method
  • 8043354: Make is_return_allocated() respect allocated objects than can method-escape
  • [TESTBUG] runtime/SharedArchiveFile/CdsWriteError.java failed in RT_Baseline with 'Unable to create shared archive file' missing from stdout/stderr
  • [TESTBUG] runtime/7110720/Test7110720.sh rarely fails with message "explicit compiler command file not read"
  • Format warning in traceStream.hpp
  • com/sun/jdi/RepStep.java fails in RT_Baseline on all platforms with assert(_cur_stack_depth == count_frames()) failed: cur_stack_depth out of sync
  • BootstrapMethods attribute cannot be empty.
  • java -version crashes with 'fatal error: heap walk aborted with error 1'
  • Temporary flags: UseNewReflection and ReflectionWrapResolutionErrors
  • Method::is_valid_method() check has performance regression impact for stackwalking
  • java does not take hexadecimal number as vm option
  • jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
  • hsdis library not picked up correctly on expected paths
  • Fix for JDK-8041934 causes assert(is_interpreted_frame()) failed: interpreted frame expected
  • Clean up duplicated code in RSHashTable
  • Shrinking of Metaspace high-water-mark causes incorrect OutOfMemoryErrors or back-to-back GCs
  • gc/g1/TestGCLogMessages.java fail with "[Evacuation Failure'
  • G1: Concurrent mark hangs when mark stack overflows
  • G1: Concurrent mark stuck in loop calling os::elapsedVTime()
  • G1: Phantom zeros in cardtable
  • make gc src file exclusion more automatic
  • Refactor test framework for dynamic VM options
  • Backout JDK-8034852: Shrinking of Metaspace high-water-mark causes incorrect OutOfMemoryErrors or back-to-back GCs
  • New type profiling points break compilation replay
  • SIGSEGV in Events::log_deopt_message
  • Crash in JIT when running Scala compiler (and compiling Scala std lib)
  • Proper fix for 8032566
  • compiler/ciReplay tests fail with StatusError: failed to clean up files after test...
  • assert(wf.check_method_context(ctxk, m), "proper context") failed
  • java -client -XX:ValueMapInitialSize=0 crashes
  • Introduce umbrella header prefetch.inline.hpp
  • Test compiler/7184394/TestAESMain.java gets NPE on solaris
  • Remove unused files from jaxp repository
  • Fix type error in DefaultResourceInjector
  • JAF initialisation in SAAJ clashing with the one in javax.mail
  • Remove unused files from jaxws repository
  • awt_Plugin no longer needed
  • X11GraphicsEnvironment.isDisplayLocal() throws NoSuchElementException if DISPLAY host has more IP addresses than a local interface
  • [macosx] Native memory leaks.
  • [macosx] NSEvent instances leak throw JNI local references
  • Remove use of ServiceLoader in finding class implementing sun.java2d.pipe. RenderingEngine
  • Splashscreen uses libjpeg-internal macros
  • [TEST_BUG] [macosx] javax/swing/text/StyledEditorKit/8016833/bug8016833.java failed
  • Remove use of ServiceLoader in finding class implementing sun.java2d.cmm.CMMServiceProvider
  • Javadoc cleanup of javax.sound.sampled.spi package
  • IndexOutOfBoundsException calling ImageIO.read() on malformed PNG
  • [TEST_BUG] frames didn't closed after execution some awt/dnd/ tests
  • Nimbus JList selection colors persist across L&F changes
  • Test closed/java/awt/Choice/RemoveAllShrinkTest/RemoveAllShrinkTest fails with java.awt.IllegalComponentStateException
  • X11 dependencies should be removed from Mac OS X build.
  • com.sun.jndi.ldap.Connection:ReadTimeout should abandon ldap request
  • Command line output is missing from jinfo
  • Remove unused com.sun.pept classes from jdk repository
  • java/util/BitSet/BSMethods.java failed with: java.lang.OutOfMemoryError: Java heap space
  • Get rid of char-based descriptions 'J' of basic types
  • Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler
  • UTC+02:00 time zones are not detected correctly on Windows
  • Add native FileChannelImpl.transferTo0() implementation for AIX
  • Remove unused com/sun/tools/hat files
  • (process) Provide Process.getPid()
  • Replace uses of StringBuffer with StringBuilder within crypto code
  • AnnotatedType.getType() of a TypeVariable boundary without annotations return null
  • Fix doclint warnings from javax.swing.text.html.parser
  • Fix doclint warnings from javax.swing.tree and javax.swing.undo packages
  • ClassValue.ClassValueMap.type is unused
  • Add initial unit tests for javax.sql.rowset.serial
  • TempDirTest.java times out
  • Add @return and @param block tags in colorchooser and filechooser swing classes
  • Add block tags for @return and @param to swing border classes
  • Unsynchronized code path from javax.crypto.Cipher to the WeakHashMap used by JceSecurity to store codebase mappings
  • javax.smartcardio does not detect cards on Mac OS X
  • Make JDWP socket connector accept only local connections by default
  • integer overflow in jdk/src/share/bin/java.c
  • [TESTBUG] sun/tools/jcmd/TestJcmdSanity.java failure in nightly jdk9-dev fastdebug build
  • Changes for JDK-8039951 introduced circular dependency between Kerberos and com.sun.security.auth
  • Consider re-enabling PKCS11 mechanisms previously disabled due to Solaris bug 7050617
  • [parfait] warning from b124 for jdk/src/share/native/java/util: jni exception pending
  • Serviceability tests using @library failing with java.lang.NoClassDefFoundError
  • Remove serialver -show, this tool does not need a GUI
  • Wrong dateformat for locale es_DO
  • Typos in Double/Int/LongSummaryStatistics.java
  • JDI test com/sun/jdi/ProcessAttachTest.sh and other 3 jdi tests failed in nightly
  • javax.smartcardio.CardTerminals.list() fails on MacOSX
  • demo/jvmti/mtrace/TraceJFrame.java fails with AWTError: Can't connect to X11 window server using '$DISPLAY_SITE' as the value of the DISPLAY variable
  • JAF initialisation in SAAJ clashing with the one in javax.mail
  • 14 stuck threads waiting for notification on LDAPRequest
  • Move ThreadGroupUtils from the sun.misc package
  • [macosx] Change AWT_DEBUG_BUG_REPORT_MESSAGE for macosx platform
  • Fix raw and unchecked warnings in sun.java2d.*
  • Reproducible hang of JAWS and webstart application with JAB 2.0.4
  • Move awt tests to openjdk repository
  • Exception thrown when drag and drop between two components is executed quickly
  • Classes with overriden methods with covariant returns return random read methods
  • Fix fallthrough lint warnings in 2d
  • Fix fallthrough lint warnings in swing
  • SystemFlavorMap.getNativesForFlavor returns list of native formats in incorrect order
  • Duplicated code in DataTransferer
  • The scrollbar in JScrollPane has no right border if used WindowsLookAndFeel
  • [macosx] Do not use the base image in the MultiResolutionBufferedImage
  • [macosx] JOptionPane dialogs show wrong icons
  • [macosx] huge native memory leak in AWTWindow.m
  • PIT: [macosx] Crash in system tray functionality check test
  • [macosx] setDisplayMode crashes
  • JAB: mneumonics not read for textboxes
  • Fix raw and unchecked warnings in sun.awt.*
  • [TEST_BUG] Move 42 AWT hw/lw mixing tests to jdk
  • Allow using a system-installed lcms2
  • [macosx] LWCToolkit.inokeAndWait is calling EventQueue.invokeLater
  • Fix invalid variable names sun/java2d/loops/ProcessPath.c
  • unexcepted behavior of LineBorder while using Boolean variable true
  • [macosx] Toolkit.getScreenResolution() can return incorrect resolution
  • Totally remove all vestiges of com.sun.image.codec.jpeg from JDK 9
  • Fix raw and unchecked lint warnings in com.sun.media.sound
  • Fix unchecked and raw lint warnings in java.awt
  • [macosx] Unused code in LWCToolkit.m
  • [macosx] LWComponentPeer should not reference classes from sun.lwawt.macosx
  • wrong error message when mixing lambda expression and inner class
  • Java 8 compiler throws NullPointerException depending location in source file
  • SharedNameTable.create and .dispose are not used
  • Refactor Types.upperBound to treat wildcards and variables separately
  • Move misplaced inference tests to test/tools/javac/generics/inference
  • Missing bug id in test/tools/javac/classfiles/attributes/SourceFile/NoSourceFileAttribute.java
  • javac test langtools/tools/javac/util/StringUtilsTest.java fails
  • Split javac ClassReader into ClassReader+ClassFinder
  • Class reference duplicates in constant pool
  • javac.jvm.ClassReader.readClassFile() is using Target to verify valid major versions
  • Missing bug id in test/tools/javac/lambda/TargetType23.java
  • Test framework changes to run script tests without security manager
  • jdk.nashorn.x3::some.serious.failure needs more memory to run
  • Nashorn: Multiple RegExp#ignoreCase issues
  • TypeError when attemping to create an instance of non-public class could be better
  • Access to undefined property yields "null" instead of "undefined"

New in Java SE Development Kit (JDK) 9 Build 13 Early Access (May 20, 2014)

  • Changes:
  • Copyright link in Javadoc page for Java SE 8
  • hgforest: allow local clone of extra repos
  • metaspace/stressHierarchy/stressHierarchy005 hangs in atexit handler
  • Eliminate redundant memcpy operation in jni_GetStringUTFRegion
  • Update Hotspot version string output
  • System.nanoTime() is slow and non-monotonic on OS X
  • Event Based tracing ids to be reassigned for CDS klasses
  • (hotspot) sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms
  • G1: verify that the marking bitmaps have no marks for objects over TAMS
  • com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java failed on 8b121
  • Signing XML with DSA throws Exception when key is larger than 1024 bits
  • Optimizations of Math.next{After,Up}({float,double})
  • sun/launcher/LauncherHelper$FXHelper loaded unnecessarily
  • cluster Hashtable/Vector field updates for better transactional memory behaviour
  • Fix typos, errors and Javadoc differences in java.time
  • BitSet.toString() can throw IndexOutOfBoundsException
  • stream with sorted() causes downstream ops not to be lazy
  • [TESTBUG] Exclude failing (serviceability) jtreg tests
  • java.net Content Handler API incorrectly specifies implementation specific location of handler classes
  • [launcher] create test groups for launcher regression tests
  • Issue for negative byte major record version
  • (fs) Path.register(..) clears interrupt status of thread with no InterruptedException
  • (fs) Path.register doesn't throw IllegalArgumentException if multiple OVERFLOW events are specified
  • Add PrimeTest for BigInteger
  • Subtag syntax check is incomplete in Locale.LanguageRange
  • sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms
  • Fix some more doclint issues in javax.swing.text.html classes
  • SolarisSystem should be @Deprecated and @jdk.Exported(false)
  • com.sun.security.auth.module missing classes on some platforms
  • Include Mersenne primes in BigInteger primality testing
  • some tests have placeholder bugid 1234567
  • Inference ignores capture variable as upper bound
  • Implement classfile tests for SourceFile attribute.
  • sjavac does not track dependencies
  • sjavac does not track dependencies
  • [javadoc] revert the default methods list.sort to Collections.sort
  • Javac allows timestamps inside rt.jar to affect compilation when using -sourcepath.
  • javac, inconsistent generic types behaviour when compiling together vs. separate
  • Make __proto__ ES6 draft compliant
  • CompiledScript slower when eval with binding
  • Add more samples in nashorn/samples directory
  • Add --const-as-var option
  • RegExp implementation is not thread-safe

New in Java SE Development Kit (JDK) 9 Build 12 Early Access (May 17, 2014)

  • jdk/bin/rmic -iiop failed on macosx-x86_64 with "Class sun.rmi.rmic.iiop.BatchEnvironmen not found"
  • Freetype detection fails on Solaris sparcv9 when using devkit
  • [TESTBUG] runtime/6925573/SortMethodsTest.java times out
  • [TESTBUG] Remove test/runtime/6925573/SortMethodsTest.java
  • Remove bad assert in ClassFileParser.cpp
  • SIGSEGV in MethodData::next_data(ProfileData*)
  • Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
  • Use correct format specifier to print size_t values and pointers in the GC code
  • gc/g1/TestHumongousAllocInitialMark.java caused SIGSEGV
  • Cleanup SuspendibleThreadSet
  • CMM Testing: Check Min/MaxHeapFreeRatio flags allows to shrink the heap when using ParallelGC
  • CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap
  • Replace the last few %p usages with PTR_FORMAT in the GC code
  • G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet
  • Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction
  • Use the "next" field to iterate over fine remembered instead of using the hash table
  • Remove HeapRegionRemSet::clear_incoming_entry
  • G1 does not retire allocation buffers after reference processing work
  • G1: High "Other" time most likely due to card redirtying
  • Clean up code and code duplication in re-diryting cards for verification
  • G1: Clean up usages of heap_region_containing
  • G1: VM hangs during shutdown
  • G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname)
  • CMS: enable time based triggering of concurrent cycles
  • Break the circular dependency between SAAJ and JAXB
  • Missing deleted files from JDK-8040754 breaks jdk9/dev build
  • KSS: Replace MetalLazyValue with lambda
  • Introspector throws NullPointerException for subclasses' mismatched get/setter
  • [macosx] Calling JNI functions in the scope of Get/ReleasePrimitiveArrayCritical
  • [OGL] Image painting is broken if 'sun.java2d.accthreshold' is set to 0
  • Fix fallthrough lint warnings in sound
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp
  • ArrayIndexOutOfBoundsException in JTable while clearing data in JTable
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
  • [parfait] JNI exception pending in src/windows/native/sun/windows/awt_InputMethod.cpp
  • JAB:Multiselection Ctrl+CursorUp/Down and ActivateDescenderPropertyChanged event
  • -spash: can't be combined with -xStartOnFirstThread since JDK 7
  • Fix fallthrough lint warnings in awt
  • A comment need to go in RSAClientKeyExchange.java
  • Support default and static interface methods in JDI, JDWP and JDB
  • Tidy warnings cleanup for java.util package; minor changes in java.nio, java.sql
  • Tidy warnings cleanup for javax.sql
  • Build fails on Solaris using devkit when X isn't installed
  • (ch) PendingFuture.CANCELLED has backtrace that potentially keeps objects alive
  • keytool and jarsigner tests doesn't pass though VM tools to tools
  • HotSpotDiagnosticMXBean/CheckOrigin.java 'NewSize' should have origin 'ERGONOMIC' but had 'DEFAULT'
  • demo/jvmti/mtrace/TraceJFrame.java can't connect to X11
  • sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms
  • Build broken by fix of 8033104
  • [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
  • ArrayList(c) should avoid inflation if c is empty
  • Incorrect message in Exception thrown by Collectors.toMap(Function,Function)
  • java/net/Inet4Address/textToNumericFormat.java fails on Solaris and Mac
  • Support default and static interface methods in JDI, JDWP and JDB
  • Files.getFileStore and Files.isWritable do not work with SUBST'ed drives (win)
  • Backout JDK-8042091
  • Catch OutOfMemoryError in BitLengthOverflow and DoubleValueOverflow
  • Improve diagnosability of test failures for java/util/Arrays/Correct.java
  • [Parfait] warnings from b121 for jdk/src/solaris/native/sun/awt: JNI-related warnings
  • [TEST_BUG] java/awt/Paint/bug8024864.java fails on Windows 7
  • [parfait] warnings from jdk/src/macosx/native/sun/awt/CTextPipe.m
  • [parfait] JNI warnings in jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp
  • [macosx] setResizable(false) makes a frame slide down
  • Applet/browser deadlocks, when IIS integrated authentication is used
  • Many graphic artifacts
  • [macosx] Native memory leak in Java_sun_lwawt_macosx_CImage_nativeGetNSImageRepresentationSizes
  • [macosx] Components cannot be rendered in HiDPI to BufferedImage
  • [javadoc] broken link in java.awt.geom.Line2D.java
  • [parfait] JNI exception pending in macosx/native/sun/awt/JavaComponentAccessibility.m
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m
  • [TEST_BUG] The four lines printed are not the bold typeface.
  • Openup some PrinterJob tests
  • javax.swing.BufferStrategyPaintManager has unused imports
  • [parfait] JNI primitive type mismatch in jdk/src/windows/native/sun/windows/awt_Component.cpp
  • [parfait] JNI exception pending, JNI primitive type mismatch in jdk/src/windows/native/sun/windows/ThemeReader.cpp
  • Remove reflection from JOptionPane
  • Grammar error in EditorKit documentation
  • [parfait] JNI warnings in jdk/src/windows/native/sun/windows/awt_Font.cpp
  • Focus border of JButton.buttonType=roundRect is cut off
  • [macosx] Cleanup CClipboard.m
  • Either generify or deprecate sun.awt.EventListenerAggregate
  • Incorrect getOpenIcon() instanceof in the DefaultTreeCellRenderer
  • IM candidate window appears on the South-East corner of the display.
  • In Java 8 java.awt.datatransfer.DataFlavor.equals is no longer symmetric
  • KSS: javax.swing.text.html[.parser].ResourceLoader
  • KSS: JTextComponent.isProcessInputMethodEventOverridden
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_PrintControl.cpp
  • [parfait] JNI expection pending in jdk/src/windows/native/sun/windows/WPrinterJob.cpp
  • [Parfait] warning from jdk/src/solaris/native/sun/awt: memory leak
  • [macosx] Scrollbars looks bad under retina in Motif and Metal L&F
  • Spelling mistake in doc for ComponentUI.getBaselineResizeBehaviour
  • [Parfait] warnings from b121 for jdk/src/solaris/native/sun/xawt
  • leak in Java_sun_awt_X11_XlibWrapper_getStringBytes?
  • java.awt.Desktop: Enable check for supported URI schemes on Linux
  • Typo's in DataFlavor Javadoc
  • [macosx] Toolkit.sync should be implemented
  • REGRESSION: closed/java/awt/dnd/DragSourceListenerSerializationTest/DragSourceListenerSerializationTest.html fails with NPE since 8u20 b07 on Linux
  • Create wrapper for awt.Robot with additional functionality
  • Regression: Clipboard couldn't be used on linux
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Choice.cpp
  • [parfait] JNI exception pending and primitive type mismatch in jdk/src/windows/native/sun/windows/awt_List.cpp
  • [macosx] JTree icon is not rendered in high resolution on Retina
  • Ensure javadoc tests do not overwrite results within tests
  • Definitely unassigned field can be accessed
  • Enhance compiler warnings for Lambda
  • [javadoc] fix class-use items to be deterministic and index ordering
  • [javadoc] Refactor uses of arrays to Collections
  • javac incorrectly handles absolute paths in manifest classpath
  • Implement classfile tests for LocalVariableTable and LocalVariableTypeTable attribute.
  • javac generates incorrect exception table for multi-catch statements inside a lambda
  • Bad code generated (VerifyError) when lambda instantiates enclosing local class and has captured variables
  • Lambda reference to containing local class causes javac infinite recursion
  • Inference: implement eager resolution of return types, consistent with JDK-8028800
  • Reduce access to Nashorn internals
  • Avoid repeated reading of source for cached loads

New in Java SE Development Kit (JDK) 9 Build 11 Early Access (May 8, 2014)

  • JDK9 emb build failure on PPC platform
  • Update configure to require jdk8 as boot
  • The sjavac exclude option should accept valid directory identifiers
  • Add filtering capability to CacheFind
  • Emit MEMORY_SIZE into spec.gmk
  • Fix proper dependencies for correct incremental build of javadocs
  • Update README-builds.html to refer to jdk9
  • More concurrent hgforest
  • runtime/6929067/Test6929067.sh crashes on 32bit linux
  • [TESTBUG] runtime/InitialThreadOverflow/testme.sh fails with exit code 127
  • Remove ppcsflt builds from JPRT
  • dtrace/hotspot/Monitors/Monitors001 fails with "assert(s > 0) failed: Bad size calculated"
  • Dtrace return probe name for jni_SetStaticBooleanField named incorrectly
  • constraint on multianewarray instruction is not checked since class version 50.
  • invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults.
  • [TESTBUG] runtime/threads/CancellableThreadTest fails with OOM on windows-i586
  • assert(t != NULL) failed: must set before get
  • fix LogCompilation for incremental inlining
  • Add sanity tests for BMI1 and LZCNT instructions
  • Testlibrary should be updated to provide information about all VM types as well as access to Unsafe
  • Add all common classes used by tests on RTM support to testlibrary
  • Add tests to cover Intel RTM instructions support
  • Add sanity tests on RTM-related command line options
  • Avoid placing CTI immediately following cbcond instruction on T4
  • assert(false) failed: infinite loop in PhaseIterGVN::optimize
  • Add iterators to GrowableArray
  • New tests development for type profiling and speculation
  • CICompilerCount is not updated when the number of compiler threads is adjusted to the number of CPUs
  • Code cleanup: PhaseIterGVN::optimize()
  • CLI test on RTMRetryCount option was missed from fix for 8039496
  • compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
  • Crash in C2 compiler at Node::rematerialize
  • assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full
  • c.o.j.t.ProcessTools::createJavaProcessBuilder(boolean, String... ) must also take TestJavaOptions
  • Remove forced -g from java compile lines in jaxp and jaxws
  • Remove forced -g from java compile lines in jaxp and jaxws
  • java/lang/ref/EarlyTimeout.java failed again
  • Missing @Test annotation and copyright in java.time tests
  • Enable BigInteger overflow tests in JTREG
  • Addition of new java.sql tests
  • IsoFields.WEEK_BASED_YEAR adjustInto incorrect and WeekFields.weekOfWeekBasedYear().range incorrect
  • com.sun.jarsigner.ContentSignerParameters.getTSAPolicyID() should be a default method
  • Add support to jarsigner for specifying timestamp hash algorithm
  • Remove java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java from exclude list.
  • Some tests depend on internal API sun.misc.IOUtils
  • Some tests depend on internal API sun.security.action.GetPropertyAction
  • Cleanup files for jtreg and windows
  • Update TEST.groups for jdk/nio/zipfs
  • The sjavac exclude option should accept valid directory identifiers
  • Avoid provoking NFEs when initializing InetAddrCachePolicy
  • Improve performance of IP address parsing
  • Convert use of sun.misc.BASE64Encoder/Decoder with java.util.Base64
  • More ProblemList.txt updates (4/2014)
  • Proxied HTTPS connections reused by HttpClient can send CONNECT to the server
  • Lint regression in java.net.SocketOption
  • javac behaves incorrectly for annotations after method type parameters in some cases
  • javac should take multiple upper bounds into account in incorporation
  • javadoc test TestDocEncoding should use -notimestamp
  • Avoid silly use of static methods in JavadocTester
  • Should always use lambda body structure to disambiguate overload resolution
  • Option handling in sjavac needs to be rewritten
  • Compiler crash ClassCastException
  • Refactor TopLevel tree node.
  • JDK-8034245 breaks a bootcycle build
  • Avoid redundant synonyms of NO_TEST
  • Clean up use of BUG_ID in javadoc tests
  • Test tools/javac/classfiles/InnerClasses/SyntheticClasses.java fails
  • Update the NetBeans build script and metadata

New in Java SE Development Kit (JDK) 9 Build 10 Early Access (Apr 29, 2014)

  • Support java.net.SocketOption in java.net socket types
  • fixpath must explicitly quote empty string parameters.
  • Enhance CORBA initializations
  • Attribute classes properly
  • Enhance array copies
  • Remove unused code in sharedRuntime.cpp
  • Fix 64-bit store to int JNIHandleBlock::_top
  • speculative traps break when classes are redefined
  • PrintInlining output is inconsistent with incremental inlining
  • Some options related to RTM locking optimization works inconsistently
  • WhiteBox :: clean type profiling data
  • regression-hotspot nightly failure: assert(FLAG_IS_DEFAULT(MaxNewSize) || MaxNewSize in java.net socket types
  • UTF-8 decoder fails to handle some edge cases correctly
  • com/sun/jdi tests fail because cygwin's ps sometimes misses processes
  • Some error messages are missing a space
  • Need to add new methods in BaseSSLSocketImpl
  • java/net/URLPermission/nstest/lookup.sh fails with ClassNotFoundException
  • JDWP spec for ClassType#InvokeMethod contradicts JLS
  • Read content-types.properties as a resource
  • (fs) Misc. typos in comments and implementation
  • Improve audio device additions
  • Enhance media provisioning
  • Enhance service mgmt natives
  • Enhance splashscreen support
  • Enhance JPEG decodings
  • Enhance AWT contexts
  • (aio) Enhance asynchronous channel handling
  • Update Poller demo
  • Enhance AWT image libraries
  • Enhance algorithm checking
  • Enhance argument validation
  • Enhance handling of loggers
  • [macosx] Loading AWT native library fails
  • AWT-Shutdown thread does not start with the AppletSecurity on Linux
  • SQE test failures after JDK-8025010 was fixed
  • (sl) Fix exception handling in ServiceLoader
  • Enhance subject delegation
  • Enhance PNG handling
  • Improve name service robustness
  • Enhance data transfers
  • Enhance LCMS color processing
  • Better color profiling
  • Enhance ICU code.
  • Fonts with morx tables are broken with latest ICU fixes
  • Enhance pixel manipulations
  • Enhance RSA processing
  • Enhance signed jar verification
  • Regression: 14_01 Security fix 8024306 causes test failures
  • Enhance RowSet Factory
  • Enhance LDAP processing
  • No "Truncated file" warning from IIOReadWarningListener on JPEGImageReader
  • Issues with method invoke
  • (thread) Change Thread initialization so that thread name is set before invoking SecurityManager
  • Correct logging output
  • Regression: On Mac, fx app can't be launched if setting a javaagent for it
  • Collect more Collector Lambdas
  • InetAddress.getLocalHost() can hang after JDK-8030731
  • Build more informative InfoBuilder
  • (zipfs) Upgrade ZIP provider to be a supported provider
  • Provider.Service.newInstance() does not work with current JDK JGSS Mechanisms
  • Fix typos in java.net
  • NPE when writing a class descriptor object to a custom ObjectOutputStream
  • Improve time zone mapping for AIX platform
  • XMLSignature throws StringIndexOutOfBoundsException if ID attribute value is empty String
  • Fix corrupt license header
  • Update java/lang/management/MemoryMXBean tests to ignore GC setting by jtreg
  • Review use of caching in BigDecimal
  • add a comment to the NewInstance test
  • A sentence is truncated in the API doc for j.u.Locale.LanguageRange.parse(String, Map).
  • '}' left in the spec for j.u.Random.doubles(..)
  • "jinfo server_id@host" fails with "Invalid process identifier"
  • Silent failure in Code.findExceptionIndex
  • Test tools/javac/processing/environment/round/TestElementsAnnotatedWith.java fails
  • Enhance Javadoc pages
  • Javac -- final local String var referenced in binary/unary op in lambda produces code that does not verify
  • Lambda returning post-increment generates wrong code
  • Clean up javadoc tests
  • Test tools/javadoc/6964914/TestStdDoclet.java fails
  • [javadoc] fails with java.lang.IllegalStateException: endPosTable already set
  • javadoc requires a trailing / for links where java 7's javadoc didn't
  • Clean up type annotation exception index generating code in Code.java
  • Nashorn: Uint8ClampedArray - Incorrect ToUint8Clamp implementation
  • Wrong result for Number.prototype.toString() for certain radix/inputs
  • Reflect upon Nashorn reflection
  • Dynalink to handle superclasses more carefully

New in Java SE Development Kit (JDK) 8 Update 20 Build 11 Early Access (Apr 26, 2014)

  • Support Solaris SO_FLOW_SLA socket option
  • (corba) New connection reclaimed when number of connection is greater than highwatermark
  • JAX-WS conformance tests fail when running JCK-devtools-8 suite against RI in EBCDIC emulation mode
  • wsimport fails on WSDL:header parameter name customization
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Font.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/font/fontpath.c
  • JNI warnings in jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp
  • JAX-WS conformance tests fail when running JCK-devtools-8 suite against RI in EBCDIC emulation mode
  • [Parfait] warning from jdk/src/solaris/native/sun/awt: memory leak
  • [parfait] JNI expection pending in jdk/src/windows/native/sun/windows/WPrinterJob.cpp
  • (tz) Support tzdata2014b
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_PrintControl.cpp
  • (prefs) Check src/solaris/native/java/util/FileSystemPreferences.c for JNI pending exceptions
  • [macosx] JFileChooser current filter nullified by addChoosableFileFilter
  • [macosx] Components cannot be rendered in HiDPI to BufferedImage
  • [macosx] JTree icon is not rendered in high resolution on Retina
  • Remove testcase from npt utf.c
  • Introspector throws NullPointerException for subclasses' mismatched get/setter
  • LocalTime.with(MILLI_OF_DAY/MICRO_OF_DAY) incorrect
  • ChronoLocalDate refers to generics that have been removed
  • DateTimeFormatter fixed width adjacent value parsing does not match spec
  • Typo in java.time.format.Parsed error message
  • Typo in java.time.Clock
  • Error message typo in TemporalAccessor
  • Instant spec includes incorrect assertion wrt valid range
  • DateTimeFormatter spec includes irrelevent detail on parsing pattern
  • java.time add @param tags to readObject
  • DateTimeFormatter withResolverFields() fails to accept null
  • Broken links in ConcurrentMap javadoc
  • SelectionVisible test should test multiline selection in case of TextArea
  • [macosx] NPE in AquaSingleImagePainter.paint()
  • Support Solaris SO_FLOW_SLA socket option
  • Cleanup of sun.awt.windows package
  • sun_awt_X11_GtkFileDialogPeer.h can be removed
  • Remove redundant initializations to null
  • XAWT: Native components should not paint native part on UPDATE event
  • [parfait] JNI exception pending in jdk/src/macosx/native/com/apple/laf/AquaFileView.m
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/CImage.m
  • wsimport fails on WSDL:header parameter name customization
  • Missing licence headers in test for JDK-8033113
  • [parfait] warning from b128 for share/native/sun/awt/splashscreen/java_awt_SplashScreen.c: JNI exception pending
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/CRobot.m
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/CClipboard.m
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/CFileDialog.m
  • [parfait] JNI exception pending in macosx/native/sun/awt/AWTEvent.m, AWTView.m
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/CInputMethod.m
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Label.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_KeyEvent.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Menu.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Dimension.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Checkbox.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
  • [parfait] JNI exception pending in src/windows/native/sun/windows/awt_FileDialog.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Cursor.cpp
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp
  • [parfait] JNI primitive type mismatch in jdk/src/windows/native/sun/windows/awt_Component.cpp
  • [parfait] JNI exception pending, JNI primitive type mismatch in jdk/src/windows/native/sun/windows/ThemeReader.cpp
  • [Parfait] warnings from b117 for jdk.src.share.native.com.sun.media.sound: JNI exception pending
  • [parfait] False positive buffer overrun in jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c
  • [parfait] JNI exception pending in jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m
  • [parfait] JNI exception pending in macosx/native/sun/awt/JavaComponentAccessibility.m
  • [macosx] LWToolkit should not depends from the macosx.
  • Label.toString performance improvement
  • Consider removal of code disabling JIT in Toolkit.getDefaultToolkit
  • [macosx] Full screen not working properly on 7u45 and jdk8
  • [macosx] a constrain of the top level window should be improved
  • [macosx] Applet graphics corrupted when applet width/height exceeds screen dimensions
  • Cleanup of java.awt and java.awt.peer packages
  • Typo correction needed s/Classlaoder/Classloader/
  • [macosx] java.awt.List: method select(int) doesn't work before be visible
  • [TEST BUG] Test javax/swing/JSlider/6794831/bug6794831.java does not wait long enough for test results
  • [macosx] failure in Window.initGC on Mac with monitor sleeping
  • Javadoc cleanup of javax.sound.midi.spi package
  • Focus border of JButton.buttonType=roundRect is cut off
  • [macosx] Scrollbars looks bad under retina in Motif and Metal L&F
  • [macosx] Toolkit.sync should be implemented
  • [macosx] Calling JNI functions in the scope of Get/ReleasePrimitiveArrayCritical
  • [OGL] Image painting is broken if 'sun.java2d.accthreshold' is set to 0
  • ArrayIndexOutOfBoundsException in JTable while clearing data in JTable
  • [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
  • [parfait] JNI exception pending in src/windows/native/sun/windows/awt_InputMethod.cpp
  • A sentence is truncated in the API doc for j.u.Locale.LanguageRange.parse(String, Map).
  • KSS: sun.awt.shell.Win32ShellFolderManager2
  • KSS: sun.awt.shell.ShellFolder
  • KSS: javax.swing.plaf.basic.BasicComboBoxEditor
  • Java Access Bridge version strings need to be fixed
  • javac crash with method references plus lambda plus var args
  • missing test file for 8034048
  • Two langtools/javac tests fail by timeout on Windows
  • jdk8 javac -source 7 compiles test case it should not
  • javax.crypto is not listed in the compact* profiles javadoc
  • [javadoc] test failure caused by javax.crypto fix
  • Lambda returning post-increment generates wrong code
  • Javac -- final local String var referenced in binary/unary op in lambda produces code that does not verify
  • javac wrongly allows a subclass of an anonymous class
  • Persistent store for compiled scripts
  • Persistent code store does not use absolute paths internally
  • Nashorn supports indexed access of List elements, but length property is not supported
  • Write sanity tests for bytecode persistence feature
  • NoPersistenceCachingTest fails with ant test
  • Write sanity tests for persistent caching
  • Nashorn: Uint8ClampedArray - Incorrect ToUint8Clamp implementation
  • Wrong result for Number.prototype.toString() for certain radix/inputs

New in Java SE Development Kit (JDK) 8 Update 20 Build 10 Early Access (Apr 18, 2014)

  • Allow duplicate bugid for changeset in jdk8 update forest
  • jdk 8u5 mac build produces incorrect version string 1.8.0_5
  • Rengerate common/autoconf/generated-configure.sh for 8u-cpu
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Resolve autoconf merge issue of 8u5 and 8u20
  • Resolve autoconf merge issue of 8u5 and 8u20
  • Resolve autoconf merge issue of 8u5 and 8u20
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Enhance CORBA initializations
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • new hotspot build - hs25.20-b10
  • hs_err improvement: Print elapsed time in a humanly readable format
  • Test gc/g1/TestStringDeduplicationMemoryUsage.java fails with unexpected memory usage
  • List verification enabled in product builds
  • Make jdk8u20 the default jprt release for hs25.20
  • Shark: add LLVM 3.4 support
  • Change type of the number of GC workers to unsigned int (2)
  • "assert(thread != NULL) failed: just checking" due to Thread::current() and JNI pthread interaction
  • nsk/stress/jck60/jck60022 crashes in src\share\vm\runtime\synchronizer.cpp:239
  • Clean up misleading usage of malloc() in init_system_properties_values()
  • Some options related to RTM locking optimization works inconsistently
  • Fix 64-bit store to int JNIHandleBlock::_top
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Increment minor version of HSx for 8u5 and initialize the build number
  • Enhance array copies
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Increment hsx build to b02 for 8u5-b12
  • Second phase of branch shortening doesn't account for loop alignment
  • Attribute classes properly
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Enhance CharInfo set up
  • Refactor ObjectFactory
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Enhance activation set up
  • 9 jaxws tests failed in nightly build with java.lang.ClassCastException
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Enhance endpoint addressing
  • Enhance stream handling
  • Enhance envelope factory
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Enhance data transfers
  • Enhance XML canonicalization
  • Enhance media provisioning
  • Revise the update of 8026204 and 8025758
  • Better applet networking
  • Enhance RowSet Factory
  • Enhance splashscreen support
  • Enhance RowSet Factory
  • AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win)
  • Enhance pixel manipulations
  • Check local configuration for actual ephemeral port range
  • Enhance signed jar verification
  • Better support for crossdomain.xml
  • Enhance argument validation
  • Enhance ICU code.
  • Enhance AWT image libraries
  • Enhance JPEG decodings
  • (aio) Enhance asynchronous channel handling
  • Update Poller demo
  • Enhance AWT contexts
  • Enhance subject delegation
  • Enhance service mgmt natives
  • JNI use results in UnsatisfiedLinkError looking for libmawt.so
  • Improve audio device additions
  • Fonts with morx tables are broken with latest ICU fixes
  • (sl) Fix exception handling in ServiceLoader
  • Regression: 14_01 Security fix 8024306 causes test failures
  • [macosx] Loading AWT native library fails
  • AWT-Shutdown thread does not start with the AppletSecurity on Linux
  • SQE test failures after JDK-8025010 was fixed
  • Enhance handling of loggers
  • Enhance LCMS color processing
  • Better color profiling
  • Enhance algorithm checking
  • Enhance RSA processing
  • Enhance PNG handling
  • Enhance LDAP processing
  • Improve name service robustness
  • No "Truncated file" warning from IIOReadWarningListener on JPEGImageReader
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Issues with method invoke
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • Correct logging output
  • (tz) Support tzdata2013i
  • Delay loading of net library in PortConfig initialization (workaround for for 8033367)
  • (thread) Change Thread initialization so that thread name is set before invoking SecurityManager
  • Regression: On Mac, fx app can't be launched if setting a javaagent for it
  • Applet fails to load resources or connect back to server under some scenarios
  • Serial incompatibility in java.util.TreeMap.NavigableSubMap
  • Collect more Collector Lambdas
  • InetAddress.getLocalHost() can hang after JDK-8030731
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Enhance Javadoc pages
  • THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5
  • 8u5 l10n resource file translation update 1
  • Allow duplicate bugid for changeset in jdk8 update forest
  • Reduce access to Nashorn internals
  • Reflect upon Nashorn reflection
  • Dynalink to handle superclasses more carefully

New in Java SE Development Kit (JDK) 8 Update 5 (Apr 16, 2014)

  • New Features and Changes:
  • Olson Data 2013i:
  • JDK 8u5 contains Olson time zone data version 2013i.
  • 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:
  • JDK-6571600: JNI use results in UnsatisfiedLinkError looking for libmawt.so
  • JDK-8030822: (tz) Support tzdata2013i
  • JDK-8036568: Serial incompatibility in java.util.TreeMap.NavigableSubMap
  • JDK-8028691: loading browser proxy via config script should not trigger JAR download
  • JDK-8029649: Reduce dialog frequency when app is run multiple times
  • JDK-8033705: Array out of bounds exception in PluginMain.performSSVValidation
  • JDK-8033779: JRE 7u51 Plugin Failing to Run Older JRE Version < 1.6.0
  • JDK-8028577: [regression] Unsigned warning dialog is shown twice for applet with extension launched thru javaws
  • JDK-8029922: 32-bit only Java Web Start apps fail to run on 32- and 64-bit JRE configs
  • JDK-8031579: Spurious Missing Manifest Permissions Attribute Warning When Launching versioned Java Web Start app
  • JDK-8035283: Second phase of branch shortening doesn't account for loop alignment

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 8 Build b132 Developer Preview (Mar 8, 2014)

  • new hotspot build - hs25-b70
  • Default method returns true for a while, and then returns false

New in Java SE Development Kit (JDK) 8 Build b129 Developer Preview (Feb 12, 2014)

  • Security problems in regression test java/awt/PrintJob/Security/SecurityDialogTest.java
  • java.util.Comparator::thenComparing has unnecessary type restriction

New in Java SE Development Kit (JDK) 8 Build b128 Developer Preview (Feb 4, 2014)

  • Update repeating annotations demo
  • Update bulk operation demo
  • Update try-with-resources demo
  • Create demo to illustrate new practices of the default methods usage
  • Missed access checks for Lookup.unreflect* after 8032585
  • Improve reflection in Nashorn
  • Nashorn: extend Java.extend
  • Nashorn linkages awry
  • Issues with Nashorn

New in Java SE Development Kit (JDK) 8 Build b127 Developer Preview (Feb 1, 2014)

  • new hotspot build - hs25-b68
  • CHA ignores default methods during analysis leading to incorrect code generation
  • C2: assert(VerifyOops || MachNode::size(ra_)

New in Java SE Development Kit (JDK) 8 Build b126 Developer Preview (Jan 31, 2014)

  • Wrong version for the first jdk8 fcs build
  • new hotspot build - hs25-b67
  • dtrace/hotspot_jni/ALL/ALL001 crashes the vm on Solaris-amd64, SIGSEGV in MarkSweep::follow_stack()+0x8a
  • java.util.zip.ZipException: Not in GZIP format in JT_JDK/test/java/util/zip/GZIP tests
  • javax.swing.plaf.metal.MetalFileChooserUI$FilterComboBoxModel extends non-standard API
  • failure in man page processing
  • OCSP client can't find responder cert if it uses a different subject key id algorithm than responderID
  • Specifications of stream flatMap methods should require mapped streams to be closed

New in Java SE Development Kit (JDK) 8 Build b125 Developer Preview (Jan 30, 2014)

  • Extract_Binaries() should exitError out if a check for bundle existence fails
  • add jtreg framework to postbuild-dummy.sh
  • 8u20 on 8u-dev nightly build setup
  • Bad URIs in installer XMLs
  • Add table ids/headers as part of guides build process to address accesibility

New in Java SE Development Kit (JDK) 8 Build b124 Developer Preview (Jan 22, 2014)

  • System.setProperties(null) drops all system properties (RELEASE not set)
  • Third Party License Readme update for JDK8
  • Enhance CORBA stub factories
  • Enhance IIOP Streams
  • Third Party License Readme update for JDK8
  • new hotspot build - hs25-b66
  • invokestatic: ICCE trying to invoke static method when it clashes with an abstract method inherited from an interface
  • Better life cycle for objects
  • Enhance JVM method processing
  • Third Party License Readme update for JDK8
  • Enhance Apache resolver classes
  • Enhance JAX-P set up
  • XML readers share the same entity expansion counter
  • Third Party License Readme update for JDK8
  • serialVersionUID of javax.xml.bind.TypeConstraintException accidently changed
  • Better XML handling
  • Two closed/javax/xml/8005432 fails with jdk7u51b04
  • Two javax/xml/8005433 tests still fail after the fix JDK-8028147
  • AbstractMap should specify its default implementation using @implSpec
  • Update resource files for TimeZone display names
  • Several api.java.util.stream tests got "NaN" value instead of "Infinity" or "-Infinity"
  • Setting .level=FINEST in logging configuration file doesn't work
  • java.time.Duration has wrong Javadoc Comments in toDays() and toHours()
  • System.setProperties(null) drops all system properties (RELEASE not set)
  • jdk8 l10n resource file translation update - localenames
  • NLS: jdk8 man page update
  • Third Party License Readme update for JDK8
  • Retire Some Rarely Used GC Combintations
  • DoubleStream.count is incorrect for a stream containing > Integer.MAX_VALUE elements
  • No jdeps.1 and jjs.1 man pages in jdk8 b122 build and jvisualvm.1 and jcmd.1 missing on macosx
  • No jmc.1 for man page of JMC
  • Enhance JNDI implementation classes
  • Enhance JDBC Parsers
  • Input validation for byte/endian conversions
  • Better color profiles
  • Enhance Beans decoding
  • Better life cycle for objects
  • Enhance TLS connections
  • Enhance Subject consistency
  • Enhance jar file validation
  • Enhance start up image display
  • Improve layout lookups
  • Clarify jar verifications
  • Update jarsigner to encourage timestamping
  • Clarify JarFile API
  • Enhance listening events
  • Enhance logging start up
  • [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris
  • Enhance generic classes
  • jarsigner output bad grammar
  • Enhance canonicalization
  • Enhance document printing
  • Enhance auth login contexts
  • Enhance UI Management
  • Enhance Naming management
  • Enhance font process resilience
  • Enhance SNMP statuses
  • Enhance Security Policy
  • Enhance JAAS Configuration
  • Enhance XML canonicalization
  • Revise the update of 8026204 and 8025758
  • Better applet networking
  • AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win)
  • Check local configuration for actual ephemeral port range
  • Build error when javadoc generates beaninfo for javax.swing.beans
  • JSR292: IncompatibleClassChangeError in LambdaForm for CharSequence.toString() method handle type converter
  • javadoc standard doclet should add Functional Interface blurb when @FunctionalInterface annotation is present
  • Third Party License Readme update for JDK8

New in Java SE Development Kit (JDK) 7 Update 51 (Jan 15, 2014)

  • 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 SE Development Kit (JDK) 8 Build b123 Developer Preview (Jan 14, 2014)

  • Better support for crossdomain.xml

New in Java SE Development Kit (JDK) 8 Build b121 Developer Preview (Dec 27, 2013)

  • new hotspot build - hs25-b63
  • VM anonymous classes: wrong context for protected access checks
  • SA: jstack throws WrongTypeException
  • AsyncGetCallTrace() is broken on x86 in JDK 7u40
  • java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java fails on all platforms with hs25-b61
  • Interface Method Resolution should skip static and non-public methods in j.l.Object
  • G1 does not check if threads gets created
  • Full collections with ParallelScavenge slower in JDK 8 compared to 7u40
  • JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1)
  • Kitchensink crashed with EAV
  • ShouldNotReachHere error when creating an array with component type of void
  • [TESTBUG] compiler/regalloc/C1ObjectSpillInLogicOp.java
  • [TESTBUG] test/compiler/7141637/SpreadNullArg.java fails because it expects NullPointerException
  • PPC: OrderAccess::load_acquire(julong) is broken
  • Remove the JDK 1.1 compatibility part in jarsigner doc
  • JDK8 docs on -XX:CompileOnly option are incorrect

New in Java SE Development Kit (JDK) 8 Build b120 Developer Preview (Dec 14, 2013)

  • Create unlimited policy jars.
  • Building multiple configurations fails after removal of old build system
  • new hotspot build - hs25-b62
  • Minimal VM: undefined symbol: _ZN23JvmtiCurrentBreakpoints11metadata_doEPFvP8MetadataE
  • jsdbproc64.sh has a typo in the package name
  • ICCE for invokeinterface static
  • static superclass method masks default methods
  • nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Solaris-sparc64 fastdebug builds: only current thread can flush its registers
  • Full collections with Serial slower in JDK 8 compared to 7u40
  • tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder
  • mathexact intrinsics are unstable
  • [TESTBUG] compiler/intrinsics/mathexact/DecExactLTest executes DecExactITest
  • VM_Version::determine_features() asserts on Fujitsu Sparc64 CPUs
  • compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline
  • Error in the documentation for newFactory method of the javax.xml.stream factories
  • Printing a GlyphVector on Windows ignores position of first glyph
  • [TEST_BUG][macosx] Extremely unstable mouse modifiers test
  • [macosx] Need test for JDK-7124513
  • [TEST_BUG][macosx] Mouse Pressed event can't be monitored for DisabledComponentsTest.html.
  • [TEST BUG] Compilation fails for java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
  • [TEST_BUG][macosx] Use safari browser, the ouput contain information that DataFlavor.allHtmlFlavor is not present in the system clipboard
  • [TEST_BUG][macosx] MouseEvents are not dispatched when the mouse cursor leaves the component
  • JNI warnings in TryXShmAttach
  • [TEST_BUG][macosx] closed/java/awt/MouseInfo/JContainerMousePositionTest fails
  • [macosx] Need test for JDK-7161437
  • Intermittent: SSLSocketSSLEngineTemplate.java test fails with timeout
  • ManagementFactory.getGarbageCollectorMXBeans() returns empty list with CMS
  • ProblemList.txt updates (11/2013)
  • DoubleStream.sum() & DoubleSummaryStats implementations that reduce numerical errors
  • Intermittent test failure: java/net/DatagramSocket/PortUnreachable.java
  • Shell tests in sun/security/pkcs11/ do not compile PKCS11Test
  • There is no description whether or not java.util.ResourceBundle is thread-safe
  • JDBC 4.2 javadoc updates
  • test/com/sun/jmx/snmp/NoInfoLeakTest.java does not compile with OpenJDK builds
  • Redirected POST request throws IllegalStateException on HttpURLConnection.getInputStream
  • Fix more doclint issues in javax.script
  • BufferedReader.lines() javadoc typo should be fixed
  • Fix more doclint issues in javax.security
  • Tune algorithm crossover thresholds in BigInteger
  • AWT Doclint warning/error cleanup
  • java/rmi/reliability/benchmark fails intermittently because of use of fixed port
  • CharSequence.subSequence improperly requires a "new" CharSequence be returned
  • Synchronization issues in Logger and LogManager
  • JWS doesn't get authenticated when using kerberos auth proxy
  • sun/security/pkcs11/Signature/TestDSAKeyLength.java does not compile (or run)
  • Undo the lenient MIME BASE64 decoder support change (JDK-8025003) and remove methods de/encode(buf, buf)
  • StringJoiner spec for setEmptyValue() and length() is malformatted
  • Add value-type notice to Optional* classes
  • [TESTBUG] BasicTests.sh test fails intermittently
  • Race condition in CompletableFuture.thenCompose with asynchronous task
  • (reflect) clarify javadoc for getMethod(...) and getMethods()
  • Spliterator of Stream returned by BufferedReader.lines() should have NONNULL characteristic
  • sun/rmi/runtime/Log/checkLogging/CheckLogging.java fails in nightly intermittently
  • test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java hanging intermittently
  • Need to translate new error message and usage information for jar tool
  • Add @FunctionalInterface annotation to Callable interface
  • TEST_BUG: sun/security/pkcs11/ec tests fail because of ever-changing key size restrictions
  • Remove java/lang/management/MemoryMXBean/CollectionUsageThreshold.java from ProblemList.txt
  • javadoc since tag for recent Hashtable updates
  • Create unlimited policy jars.
  • Concurrent calls to CHM.put can fail to add the key/value to the map
  • [doclint] more doclint and tidy cleanup
  • java/math/BigInteger/BigIntegerTest.java failing since thresholds adjusted in 8022181
  • BigInteger division algorithm selection heuristic is incorrect
  • java/lang/ProcessBuilder/Basic.java fails intermittently
  • Update jdeps man page to include a new -jdkinternals option
  • Compiler crash during speculative attribution of annotated type
  • javac produces a compile error for valid boolean expressions
  • doclet not substituting {@docRoot} in some cases
  • (jdeps) Provide a specific option to report JDK internal APIs
  • Debugger support doesn't handle ConsString

New in Java SE Development Kit (JDK) 8 Build b119 Developer Preview (Dec 11, 2013)

  • Remove the old build system
  • Re-visit JPRT testsets to make it easier to run subsets of the tests
  • Remove the old build system
  • ORB.init fails with SecurityException if properties select the JDK default ORB
  • new hotspot build - hs25-b61
  • JVM should not throw VerifyError when a private method overrides a final method
  • Add a type safe alternative for working with counter based data
  • InterfaceMethodref for invokespecial must name a direct superinterface
  • [TESTBUG] Exclude failing (runtime) jtreg tests using @ignore
  • JSR292: AME instead of IAE when calling a method
  • Remove the old build system
  • jdk8 l10n resource file translation update 5 - jaxp repo
  • Remove the old build system
  • ully transparent jframe becomes black.
  • [javadoc] fix some errors in 2D
  • Render: Drawing strings with exactly 254 glyphs causes hangs
  • sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection
  • [TEST] need test to cover JDK-7189452
  • [macosx] Invalid calls to setValueAt() within JTable in Java 7 on Mac OS X
  • [macosx] Flavor change notification not coming
  • FileInputStream and BufferedInputStream should be closed in sun.applet.*
  • JWindow jumps to (0, 0) after mouse clicked
  • drop target notifications are sent out of order during DnD
  • [macosx] java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java fails
  • [macosx] Appletviewer is broken after 8014718
  • [macosx] Crash in full screen api if incorrect display mode is used
  • Write regression test for JDK-8016356
  • com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map
  • Using non-opaque windows - popups are initially not painted correctly
  • Wrong alt processing during switching between windows.
  • [TEST_BUG] [macosx] java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java failed "menu was opened by first click after opened Choice"
  • [TEST_BUG] 2 AppContext regression tests failed since 7u25b03 with NullPointerException
  • [TEST_BUG] java/awt/Modal/ModalDialogOrderingTest/ModalDialogOrderingTest.java fails
  • [TEST_BUG] java/lang/instrument/PremainClass/NoPremainAgent.sh fails intermittently
  • Tidy warnings cleanup for packages java.nio/java.io
  • sun/management/jmxremote/bootstrap/CustomLauncherTest.java should be updated for jdk8 removal of solaris-32bit support
  • [TESTBUG] add -XX:+UsePerfData to some sun.management tests
  • tools/launcher/DiacriticTest.java failed on MacOSX: Input length = 1
  • Remove the old build system
  • runNameEquals still cannot precisely detect if a usable native krb5 is available
  • Put sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh on ProblemList.txt
  • java/net/InetAddress/CheckJNI.java hangs on Linux when IPv6 enabled
  • Re-visit JPRT testsets to make it easier to run subsets of the tests
  • Add helper methods to test libraries
  • Instrument tools/jar/JarEntryTime.java to make it easier to diagnose failures
  • [TEST_BUG] launcher tests must exclude platforms without server vm
  • TEST_BUG: java/lang/ProcessBuilder/Basic.java leaves "sleep 6666" processes behind
  • test/sun/security/provider/KeyStore/DKSTest.sh attempts to write to ${test.src}
  • Intermittent test failures in java/lang/ProcessBuilder/Basic.java
  • TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently
  • [TESTBUG] java/net/Socket/LingerTest.java failing
  • OCSP validation fails if ocsp.responderCertSubjectName is set
  • pack200 option is broken due to the incorrect makefile definition for its driver
  • Remove java/lang/management/ThreadMXBean/ThreadStateTest.java from ProblemList.txt
  • test/sun/management/jmxremote/bootstrap/LocalManagementTest|CustomLauncherTest.java failing again
  • XMLFormatter.format emits incorrect year
  • Improve the test coverage to the pathname handling on unix-like platforms
  • java/util/logging/CheckLockLocationTest.java fail on solars_10
  • java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails
  • TEST_BUG: com/sun/jdi/BreakpointWithFullGC.sh fails
  • Clarify javadoc for j.l.a.Target and j.l.a.ElementType
  • Add instrumentation in GetSafepointSyncTime.java and remove it from ProblemList.txt
  • test/java/util/Locale/InternationalBAT.java changes does not restore the default TimeZone
  • ORB.init fails with SecurityException if properties select the JDK default ORB
  • ProcessAttachTest.sh needs better synchronization
  • Update jdk/test/ProblemList.txt to reflect fix JDK-8024423
  • test/com/sun/net/httpserver/Test9a.java fails intermittently
  • Intermittent test failures in java/net
  • (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug
  • SQE test jce/Global/Cipher/SameBuffer failed
  • (file) test/java/nio/file/Files/Misc.java fails on Solaris 11 when run as root
  • java/nio/channels/FileChannel/Size.java failed once in the same binary run
  • several String methods claim to always create new String
  • The ZoneInfoFile doesn't honor future GMT offset changes
  • Support tzdata2013h
  • Reflection API methods do not throw AnnotationFormatError in case of malformed Runtime[In]VisibleTypeAnnotations attribute
  • Java doc error in Int/Long/Double/Stream.peek
  • SunPKCS11 provider delays the check of DSA key size for SHA1withDSA to sign() instead of init()
  • javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java hangs (win)
  • test/java/text/Bidi/Bug6665028.java can fail with OutOfMemoryError
  • JSR292: AME instead of IAE when calling a method
  • ts.sh generates invalid file after JDK-8027026
  • regression test java/util/Locale/LocaleProviders.sh failed
  • Add java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java to exclude list
  • Remove the old build system
  • javadoc generated with incorrect version in comment
  • javac generates LocalVariableTable even with -g:none
  • Multiple upper bounds of the TypeVariable
  • javadoc dies on NumberFormat/DateFormat subclass
  • javac generates incorrect descriptor for MethodHandle::invoke
  • [doclint] doclint will reject existing user-written doc comments using custom tags that follow the recommended rules
  • strictfp allowed as annotation element modifier
  • javac accepts void as a method parameter
  • Access method for Outer.super.m() references indirect superclass
  • Remove the old build system
  • nashorn: src/jdk/nashorn/api/scripting/ScriptEngineTest.java
  • Missing conversions on array index expression
  • Line number nodes were off for while nodes and do while nodes - the line number of a loop node should be treated as the location of the test expression

New in Java SE Development Kit (JDK) 8 Build b118 Developer Preview (Dec 3, 2013)

  • new hotspot build - hs25-b60
  • ConflictingDefaultsTest.testReabstract spins when running with -mode invoke and -Xcomp
  • nsk stress tests, CodeCache fills, then safepoint asserts
  • nsk regression, assert(obj->is_oop()) failed: not an oop
  • Remove all references to MagicLambdaImpl from Hotspot
  • jinfo doesn't detect dynamic vm flags changing
  • jstack using SA prints some info messages into err stream
  • Rewriter::scan_method asserts with array oob in RT_Baseline
  • SIGSEGV in const char*Klass::external_name()
  • PSR:FUNC: SCOPE PARAMETER MISSING FROM THE -XX:+PRINTFLAGSFINAL
  • [infra] purge applet demos from the Solaris distros
  • Update nroff files for JDK 8

New in Java SE Development Kit (JDK) 8 Build b117 Developer Preview (Nov 26, 2013)

  • serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45
  • new hotspot build - hs25-b59
  • New tests on ReservedSpace/VirtualSpace classes
  • ICCE expected for >=2 maximally specific default methods.
  • assert(existing_f1 == NULL || existing_f1 == f1) failed: illegal field change
  • Remove unnecessary code in GenRemSet
  • Use restricted_align_down in collector policy code
  • Prepare GC code for collector policy regression fix
  • assert(eden_size > 0 && survivor_size > 0) failed: just checking
  • jmap shows MaxNewSize=4GB when Java is using parallel collector
  • assert(!hr->isHumongous()) failed: code root in humongous region?
  • CMS: CMSClassUnloadingMaxInterval is not implemented correctly. This change is also part of the fix for 8024483.
  • assertion failure: (!mirror_alive || loader_alive) failed:
  • Assertion in the collector policy when running gc/arguments/TestMaxNewSize.java
  • Initial young size is smaller than minimum young size
  • Assertion assert(end >= start) failed during nightly testing on solaris
  • Race between ciEnv::register_method and nmethod::make_not_entrant_or_zombie
  • SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get
  • performance drop with constrained codecache starting with hs25 b111
  • assert(xtype->klass_is_exact()) failed: Should be exact at graphKit.cpp
  • SIGSEGV in PhaseIdealLoop::build_loop_late_post
  • assert(_outcnt==1) failed: not unique in compile.cpp
  • "unexpected profiling mismatch" error with new type profiling
  • assert(r != 0) failed: invalid
  • C2: compiler stack overflow during inlining of @ForceInline methods
  • sun/java2d/cmm/ProfileOp/SetDataTest.java fails
  • Typos in string literals
  • [javadoc] fix some errors in javax.swing.**
  • Type of overridden property is resolved incorrectly
  • [macosx] Provide a regression test for JDK-8007006
  • Incorrect copyright header in the tests
  • Revert JavaDoc changes pushed for JDK-7068423
  • Behavior of SystemFlavorMap.getNativesForFlavor differ from that in Java 7
  • [TEST_BUG] com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java failed since jdk8b108
  • Remove java/lang/management/MemoryMXBean/LowMemoryTest2.sh from ProblemList.txt
  • com/sun/jdi/JdbMethodExitTest.sh fails when a background thread is generating events.
  • com/sun/crypto/provider/KeyFactory/TestProviderLeak.java unstable again
  • Caching MethodType's descriptor string improves lambda linkage performance
  • Intermittent test failure: java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
  • Anti-delta incorrect push for 8025198
  • test/java/math/BigInteger/ExtremeShiftingTests.java needs @run tag to specify heap size
  • The constructors of URLPermission class do not behave as described in javad
  • JSR 292: Cannot create more than 16 instances of an anonymous class
  • Lambda serialization fails once reflection proxy generation kicks in
  • TEST_BUG: java/lang/reflect/Method/DefaultMethodModeling.java failing intermittently
  • java/io/File/MaxPathLength.java fails intermittently in the clean-up stage
  • DistinctOpTest fails for unordered test
  • [TEST_BUG] File not closed in javax/xml/jaxp/parsers/8022548/XOMParserTest.java
  • Intermittent test failures in java/lang/Thread/ThreadStateTest.java
  • ThreadMXBean/ThreadStateTest.java fails intermittently
  • replace test/Makefile jdk_* targets with jtreg groups
  • Use jtreg -exclude for handling problemList.txt exclusions
  • (fs) Typo in exception thrown by encode() in UnixPath.java
  • [asm] generate CONSTANT_InterfaceMethodref for invoke{special/static) of non-abstract methods on ifaces
  • Update j.l.invoke code generating class files to use ASM enhancements for invocation of non-abstract methods on ifaces
  • ProblemList.txt Updates (11/2013)
  • Inet[4|6]Address native initializing code should check field/MethodID values
  • test/java/net/URLPermission/nstest/LookupTest.java failing intermittently, output insufficient
  • Refactor Core Reflection for Type Annotations
  • ResourceBundle test failures in fr locale
  • DataInput.readDouble refers to "readlong" instead of "readLong"
  • There should be a space before % sign in Swedish locale
  • Null pointer dereference in jdk/linux-amd64/democlasses/demo/jvmti/heapTracker/src/java_crw_demo.c
  • sun/tools/jstatd/TestJstatdExternalRegistry.java: java.lang.SecurityException: attempt to add a Permission to a readonly Permissions object
  • (ref) Private finalize method invoked in preference to protected superclass method
  • java/net/NetworkInterface/Equals.java fails equality for Windows Teredo Interface
  • InetAddress.getByName hangs for bad IPv6 literals
  • (ref) Finalizer.c not deleted in the changeset for JDK-8027351
  • TEST_BUG: test/com/sun/net/httpserver/bugs/B6433018.java fails on slow/single core machine
  • com.sun.management.OSMBeanFactory should not be public
  • Correct raw type lint warnings in core reflection implementation classes
  • InetAddress.getByName fails with UHE "invalid IPv6 address" if host name starts with a-f
  • Serialized Form description of j.l.String is not consistent with the implementation
  • [TEST_BUG] Calendar shell tests do not pass TESTVMOPTS
  • Lint cleanup of java.time.format
  • RuntimeMXBean.getUptime() returns negative values
  • Many com/sun/management/OperatingSystemMXBean tests failing with CCE (win)
  • InputStream should be closed in sun.security.tools.jarsigner.Main
  • All test targets, jdk/test/Makefile, fail on Windows
  • test/java/net/URLPermission/nstest/lookup.sh failing (win)
  • Clean-up javac -Xlint warnings in com.sun.rowset and com.sun.rowset.internal
  • Test of Jdp feature
  • java.util.Base64 urlEncoder should omit padding
  • test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java fails
  • catchException combinator fails with 9 argument target
  • javax/management/monitor/ThreadPoolAccTest.java fails intermittently
  • serialver should emit declaration with the 'private' modifier
  • MonitorVmStartTerminate.sh fails intermittently
  • VM Periodic Task Thread CPU time = -1ns in HotspotThreadMBean.getInternalThreadCpuTimes()
  • (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win)
  • Fix more raw types lint warning in core libraries
  • Doclint warning/error cleanup in javax.management
  • test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh with NoClassDefFoundError
  • Test DisabledShortRSAKeys.java intermittent failed
  • Test java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java has wrong @bug id
  • TEST_BUG: com/sun/jdi/BadHandshakeTest.java fails intermittently
  • testcase failing on windows javax/management/loading/LibraryLoader/LibraryLoaderTest.java
  • Take new fixes from hotspot/test/testlibrary to jdk/test/lib/testlibrary
  • Remove unused methods in sun.misc.JavaAWTAccess
  • Intermittent test failures in java/net/URLClassLoader
  • Files.readSymbolicLink calls AccessController directly so security manager can't grant the permission
  • TEST_BUG: Testcase failure com/sun/jdi/BreakpointWithFullGC.sh
  • Fix raw type lint warnings in java.util.concurrent
  • Pattern.split() with positive lookahead
  • Pattern.compile(".*").split("") returns incorrect result
  • test for fix of JDK-8021398 does not have @bug tag
  • @since 1.8 missing for certain methods in java.lang.reflect.Method in generated api docs
  • Fix for String.split() empty input sequence/JDK-6559590 triggers regression
  • More ProblemList.txt updates (11/2013)
  • (reflect) invoking Method/Constructor in anonymous classes breaks with -Dsun.reflect.noInflation=true
  • Make exit codes and stdout/stderr printing from jmap/jinfo/jstack/jps consistent
  • The CDS classlist needs to be updated for JDK 8
  • regression test AsyncSSLSocketClose.java time out.
  • javac crash while creating LVT entry for a local variable defined in an inner block
  • Annotation Processor crashes with NPE
  • Need test to provide coverage for new DocumentationTool.Location enum
  • javap tonga tests cleanup: write a java program to test invalid options -h and -b
  • javap tonga tests cleanup: test -public, -protected, -package, -private options
  • Incorrect invokespecial generated for JCK lang EXPR/expr636/expr63602m* tests
  • Fix release-8 type visitors to support intersection types
  • Invokedynamic instructions don't get line number table entries
  • Compile-time error in the case of ((Integer[] & Serializable)new Integer[1]).getClass()
  • javac illegally accepts array as bound
  • javac asserts on nested erroneous annotations
  • Convert 7 tools TryWithResources tests to jtreg format
  • Remove @ignore from test langtools/test/tools/javac/T7042623.java
  • type annotations code crashes for code with erroneous trees
  • javadoc does not correctly locate constructors for nested classes
  • Look at 'static' flag when checking method references
  • function redeclaration checks missing for declaration binding instantiation
  • Ensure ScriptObject and ConsString aren't visible to Java
  • Support ScriptObject to JSObject, ScriptObjectMirror, Map, Bindings auto-conversion as well as explicit wrap, unwrap
  • NASHORN TEST: Create Nashorn test that draws image step-by-step using JavaFX canvas.
  • ClassCastException when converting return value of a Java method to boolean
  • Function parameter as last expression in comma in return value causes bad type calculation

New in Java SE Development Kit (JDK) 8 Build b116 Developer Preview (Nov 22, 2013)

  • Webrev should handle files that has been moved from a directory which now is removed.
  • new hotspot build - hs25-b58
  • Crash in interpreter because get_unsigned_2_byte_index_at_bcp reads 4 bytes
  • Lambda: inheriting abstract + 1 default -> default, not ICCE
  • Off by one error in putback for compressed oops nashorn performance improvement
  • JvmtiEnv::SetBreakpoint and JvmtiEnv::ClearBreakpoint should use MethodHandle
  • JvmtiEnv::SetBreakpoint and JvmtiEnv::ClearBreakpoint might not work with anonymous classes
  • SIGSEGV at TestFloatingDecimal.testAppendToDouble()I
  • java.time.Instant.create failing since hs25-b56
  • C1 crashes in Weblogic with G1 enabled
  • C2 allows safepoint checks to leak into G1 pre-barriers
  • nsk/jvmti/RedefineClasses/StressRedefine crashes due to EXCEPTION_ACCESS_VIOLATION
  • Platform specific jars are not being signed by the sign-jars target
  • JDK demos are missing source files
  • [macosx] Provide means to force the headful mode on OS X when running via ssh

New in Java SE Development Kit (JDK) 8 Build b115 Developer Preview (Nov 13, 2013)

  • Integrate Nashorn into new build system
  • nashorn missing from hgforest.sh
  • Fix Nashorn forest to build with NEWBUILD=false
  • Tweaks to make all NEWBUILD=false round 2
  • Tweaks to make all NEWBUILD=false round 3
  • nashorn missing from dependencies after merge with tl
  • JDK 8 build failure: the correct version of GNU make is being rejected
  • com.sun.corba.se.** should be on restricted package list
  • unmarshal error on CORBA alias type in CORBA any
  • Push 8026365 to TL early and add test
  • new hotspot build - hs25-b57
  • JVMTI: GetLoadedClasses doesn't enumerate anonymous classes
  • JNI_CreateJavaVM on Mac OSX 10.9 Mavericks corrupts the callers stack size
  • Prepare hotspot for non TOD based uptime counter
  • metaspace/flags/maxMetaspaceSize throws OOM of unexpected type.java.lang.OutOfMemoryError: Compressed class space
  • Nashorn performance regression with CompressedOops
  • Nits in agent ps_proc.c file breaks compilation of open hotspot
  • Error in opening JAR file when invalid jar specified with -Xbootclasspath/a on OpenJDK build
  • Print deprecation warning message for the flags controlling the CMS foreground collector
  • Setting a breakpoint on invokedynamic crashes the JVM
  • assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
  • Assertion in compiler when running bigapps/Kitchensink/stability
  • Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)
  • Exact intrinsics: assert(n != NULL) failed: must not be null
  • mathExact: assert(i < _max) failed: oob: i=1, _max=1
  • Stream tests throw java.lang.IncompatibleClassChangeError
  • G1: SPECjbb2013 crashes due to a broken object reference
  • XSLT Extension Functions Don't Work in WebStart
  • Implementation error in SAX2DOM.java
  • StAX parser shall support JAXP properties
  • broken link in jdk8b113 macosx binaries
  • PNG parser bugs found via zzuf fuzzing
  • ThreadStateTest gets different results with -Xcomp
  • BMP parser bugs found via zzuf fuzzing
  • GIF parser bugs found via zzuf fuzzing
  • JPG parser bugs found via zzuf fuzzing
  • closed/javax/print/TextFlavorTest.java fails
  • REGRESSION: large count of graphics artifacts with Java 8 on Windows 8 on Intel HD card.
  • parfait] warnings from b107 for sun.java2d.cmm: JNI exception pending
  • macosx] Test closed/java/awt/print/PrinterJob/PrintToDir.java fails on MacOSX
  • Fix for 8025429 breaks jdk build on windows
  • macosx] Java crashed on mac10.9 for swing and 2d function manual test
  • macosx] Attribute settings don't work for JobAttributes range
  • macosx] Attribute settings don't work for JobAttributes setOrientationRequested, setMedia
  • Fix for 8025988 breaks jdk build on windows
  • Crash on PPC and PPC v2 for Java_awt test suit
  • sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java failed with jdk8 on linux platforms
  • XRender : AlphaComposite test results are incorrect.
  • findbugs] Evaluate FindBug output for sun.font.CompositeFont, sun.font.CompositeFontDescriptor
  • Xrender: Cleaner version of the fix for 7159455 Nimbus scrollbar glitch
  • need test to cover JDK-8000423
  • Any swing frame resizes ugly.
  • macosx] ApplicationDelegate should not be set in the headless mode
  • Lack of synchronization in AppContext.getAppContext()
  • JMenuItem in WindowsLookAndFeel can't paint default icons
  • more fix of javadoc errors and warnings reported by doclint, see the description
  • AiffFileReader throws java.lang.ArithmeticException: division by zero when frame size is zero
  • Unexpected exception in AU parser code
  • Unexpected exceptions and freezes in WAV parser code
  • macosx] Frozen AppKit thread in 7u40
  • macosx] Problems with rendering of controls
  • macosx] Maximized state could be inconsistent between peer and frame
  • macosx] Selection lost if a selected item removed from a java.awt.List
  • Fix Raw and unchecked warnings in classes belonging to java.awt.datatransfer
  • NPE in SystemFlavorMap.getAllNativesForType - regression in jdk8 b110 by fix of #JDK-8024987
  • macosx] JRadioButtonMenuItem behaves like a checkbox when using the ScreenMenuBar
  • cleanup] Fix tidy errors and warnings in preformatted HTML files related to 2d/awt/swing
  • Incomprehensible garbage in doc for RootPaneContainer
  • spec) JCK test mentioned in 6735293 is still failing
  • javax.swing.ImageIcon spec should be clarified
  • Floating behavior of HTMLEditorKit parser
  • NLS mnemonics missing in SwingSet2/JInternalFrame demo
  • JCK: testICSEthrowing_fullScreen fails: no ICSE thrown
  • 6 JCK manual awt/Desktop tests fail with GTKLookAndFeel - GTK intialization issue
  • Window.setAlwaysOnTop documentation should be updated
  • Fix failed for CR 7162144
  • Add FunctionalInterface annotation to awt interfaces
  • macosx] Found one Java-level deadlock:"AWT-EventQueue-0" && main
  • Fix for 6989505 may be incomplete
  • Choice does not get mouse events if it does not have enough place for popup menu
  • macosx] Mac OS X key event confusion for "COMMAND PLUS"
  • java.awt.event.WindowEvent spec should state that WINDOW_CLOSED event may not be delivered under certain circumstances
  • TestGlyphVectorLayout failed automately with java.lang.StackOverflowError
  • AWT Multiple JVM DnD Test Failing on Linux (OEL and Ubuntu) and Solaris (Sparc and x64)
  • macosx] getLocationOnScreen returns 0 if parent invisible
  • XMLDecoder in java 7 cannot properly deserialize object arrays
  • TEST_BUG] java/beans/Introspector/TestTypeResolver.java failed
  • Default Toolkit implementation return null value for property "awt.dynamicLayoutSupported"
  • SwingNode] needs explicit expose for JWindow
  • List of spelling errors in API doc
  • JDK compilation fails on MacOS
  • AWT_DnD/Basic_DnD/Automated/DnDMerlinQL/MultipleJVM failing on windows machine
  • Regression: test closed/java/awt/Serialize/NullSerializationTest/NullSerializationTest.html fails since JDK 8 b112
  • macosx] Key Bindings break with awt GraphicsEnvironment setFullScreenWindow
  • Restore sun.reflect.Reflection.getCallerClass(int) until a replacement API is provided
  • Fix new doclint issues in javax.naming
  • Remove ZoneId.OLD_SHORT_IDS
  • Slow reading tzdb.dat if the JRE is on a high-latency, remote file system
  • EXCEPTION_ACCESS_VIOLATION on debugging String.contentEquals()
  • fs) test/java/nio/file/Files/StreamTest.java fails to compile intermittently
  • Test java/util/zip/GZIP/GZIPInZip.java failed
  • fs) FileSysteProvider fails to initializes if run with file.encoding set to Cp037
  • findbugs] findbugs report some issue in com.sun.jmx.snmp package
  • fs) Build issue with src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
  • TEST_BUG: java/lang/ProcessBuilder/*IOHandle.java leaving hotspot.log open in fastdebug builds
  • JDP packet needs pid, broadcast interval and rmi server hostname fields
  • Late binding of Chronology to appendValueReduced
  • java.time.temporal.TemporalQueries doesn't compile after javac modification to lambda flow analysis
  • In ManagementAgent.start it should be possible to set the jdp.name parameter.
  • Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2)
  • Enhance Lambda construction
  • java/lang/management/ThreadMXBean/ThreadBlockedCount.java has concurency issues
  • javax/management/remote/mandatory/connection/RMIConnector_NPETest.java failing intermittently
  • props) Properties.storeToXML behaviour has changed from JDK 6 to 7
  • Root Logger level can be reset unexpectedly
  • NotSerializableNotifTest.java fails intermittently
  • Remove Time-Zone IDs HST/EST/MST
  • Revisit FunctionalInterface on some core libs types
  • String.toLowerCase incorrectly increases length, if string contains \u0130 char
  • cs) Unmappable leading should be decoded to replacement.
  • nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
  • Turn on javac lint checking for auxiliaryclass, empty, and try in jdk build
  • reflect) Class.getMethods should not include static methods from interfaces
  • Put java/lang/management/ClassLoadingMXBean/LoadCounts.java into ProblemList.txt
  • Repeating annotations - getAnnotationsByType(Class) is not working as expected for few inheritance scenarios
  • Repeatable non-inheritable annotation types are mishandled by Core Reflection
  • com.sun.corba.se.** should be on restricted package list
  • fc) FileChannel.map does not handle async close/interrupt correctly
  • Test java/net/NetworkInterface/MemLeakTest.java failed with the latest jdk8 build
  • java/net/Authenticator/B4769350.java fails
  • Add isAuthorized check to limited doPrivileged methods
  • sc) SocketChannel can do short gathering writes when channel configured blocking (win)
  • Incomplete test of getaddrinfo() return value could lead to incorrect exception for Windows Inet 6
  • Defmeth failures with -mode invoke
  • tools/launcher/VersionCheck.java fails in jprt because of jmc.ini
  • JCK8 tests: api/java_net/URLClassLoader/index.html#Ctor3 failed with NPE
  • URLClassLoader does not describe the behavior of several methods with respect to null arguments
  • NPE in api/java_security/cert/PKIXRevocationChecker/GeneralTests_GeneralTests
  • Fix lint and doclint issues in java.lang.{ClassLoader, ClassValue, SecurityManager}
  • Cleanup of java.time serialization source
  • javadoc errors in core libs
  • ja] overtranslation of jarsigner in command line output
  • clear extra l10n resource files in demo
  • deprecate obsolete APIs from java.rmi
  • Lambda Library Spec Updates
  • Document limitations and performance characteristics of stream sources and operations
  • Spec clarification) Lambda Metafacory spec should state DMH constraint on implMethod
  • Provider does not override new Hashtable methods
  • Change keytool -genkeypair to use -keyalg RSA
  • JDWP: agent crash if there exists a ThreadGroup with null name
  • Use literal IP address where possible in SocketPermission generated by HttpURLPermission
  • 2 tests in java/lang/management/ManagementFactory fails with G1 because expect non-zero pools
  • HttpCookie constructor does not throw IAE when name contains a space
  • Update test/java/lang/instrument/Re(transform|define)BigClass.sh test to use NMT for memory leak detection
  • Need an ability to create jar files that are invariant to the pack200 packing/unpacking
  • unmarshal error on CORBA alias type in CORBA any
  • Remove redundant jdk/lambda/vm/DefaultMethodsTest.java
  • javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs
  • further split Map and ConcurrentMap defaults eliminating looping from Map defaults, Map.merge fixes and doc fixes.
  • Several lang/LMBD JCK tests fail with java.lang.BootstrapMethodError
  • JDK ignores Gnome3 proxy settings
  • TEST_BUG: MethodExitReturnValuesTest.java may fail when there are unexpected background threads
  • j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable
  • process) Async close issues with Process InputStream
  • Annotations declared on super-super-class should be overridden by super-class.
  • deprecate HTTP proxying from RMI
  • Clarify javadoc contract of LambdaMetafactory
  • j.l.r.Constructor.getAnnotatedReceiverType() and j.l.r.Constructor.getAnnotatedReturnType() for inner classes return incorrect result
  • java/lang/invoke/MethodHandleConstants.java fails on all platforms
  • Base64 should be less strict with padding
  • XSLT Extension Functions Don't Work in WebStart
  • remove accelerators from policytool resources
  • Remove java/net/ipv6tests/UdpTest.java from the ProblemList.txt
  • sun/management/jmxremote/bootstrap/CustomLauncherTest.sh oftenly times out
  • Formatter spec says "char" is not an integral type
  • Wrong Unicode value specified for format conversion character 'd'
  • incorrect example in Formatter javadoc
  • regression in anonymous Logger.setParent method
  • Add JDI tests for breakpointing and stepping in lambda code
  • test/sun/util/resources/TimeZone/Bug6317929.java failing
  • Integrate Nashorn into new build system
  • Tweaks to make all NEWBUILD=false round 3
  • Tweaks to make all NEWBUILD=false round 4
  • THIRD_PARTY_README contains Unicode
  • NEWBUILD=true has separate launcher code for jjs
  • Remove non-ascii from jdk/THIRD_PARTY_README
  • Revert jdk/THIRD_PARTY_README to known good version
  • it, ja, zh_CN] wrong translation in jar example.
  • sv] over-translation in java command line outputs
  • pt_BR] overtranslation of option in java command line output
  • sun/management/jmxremote/bootstrap/LocalManagementTest.java failing since JDK-8004926
  • es] minor cosmetic issues in translated java command line outputs
  • de] mnemonic conflict in FileChooser for GTK Style feel&look
  • sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh Failed to initialize connector
  • NetworkInterface native initializing code should check fieldID values
  • Intermittent test failures in sun/tools/jstatd
  • s10_70, ko, s1/dvd, minor misspelling under "Select Software Localizations"
  • Incorrect display name of Locale for south africa
  • Inconsistency between usage.getUsed() and isUsageThresholdExceeded() with CMS Old Gen pool
  • NullPointerException in URLPermission.hashCode()
  • Lambda Metafactory: generate serialization-hostile read/writeObject methods for non-serializable lambdas
  • CheckTipsAndVersions.java failing occasionally
  • Consider default methods for additions to AnnotatedElement
  • java.math.BigInteger.bitLength() may return negative "int" on large numbers
  • BigInteger.doubleValue/floatValue returns 0.0 instead of Infinity
  • Constructor BigInteger(String val, int radix) doesn't detect overflow
  • Incorrect BigInteger division because of MutableBigInteger.bitLength() overflow
  • deprecate support for statically-generated stubs from RMI (JRMP)
  • exportObject() javadoc should specify behavior for null socket factories
  • Distinct operation on an unordered stream should not be a barrier
  • java/lang/management/ClassLoadingMXBean/LoadCounts.java failed with JFR enabled
  • Lambda linkage performance - use reflection instead of ASM to manipulate parameter types
  • Lambda linkage performance - use a method ref to a static factory instead of a ctor ref
  • Lambda linkage performance - initialize generated class earlier
  • test/java/io/File/NulFile.java failing when test run in othervm mode
  • TEST_BUG] javax/xml/jaxp/parsers/8022548/XOMParserTest.java failed when testbase dir has read only permissions
  • Fix new doclint issues in javax.annotation.processing
  • Missing LV table in lambda bodies
  • Use meaningful style names for strong and italic styles.
  • javac, some lambda programs are rejected by flow analysis
  • Better encapsulation for AnnotatedType
  • wrong type_path encoded for method_return on an inner class constructor
  • MethodParameters tests failing on Windows
  • test tools/javac/lambda/TargetType58.java is failing after a libs change
  • Clarity intended use of jdk.Exported
  • AnnoConstruct.getAnnotationsByType includes inherited indirectly present annotations even when containee type is not inheritable
  • Inefficient code in LambdaToMethod
  • AnnoConstruct.getAnnotationsByType does not search supertype for inherited annotations if @SomeContainer({}) is present
  • javac implicit versus explicit lambda compilation error
  • Desugar serializable lambda bodies using more robust naming scheme
  • Cleanup javadoc comments for taglet API
  • Invokedynamic instructions don't get line number table entries
  • Method refeerences - private method should be accessible (nested classes)
  • javadoc creates invalid HTML in profile summary pages
  • Fix for JDK-8026861 refers to an incorrect bug number
  • Wrong LineNumberTable for variable declarations in lambdas
  • Initialize LamdbaToMethod lazily and as required
  • support correct bytecode storage of type annotations in multicatch
  • Incorrect attributes emitted for anonymous class declaration
  • Since addition of -Xdoclint, javadoc ignores unknown tags
  • DefaultMethodsTest: Change test to match spec
  • jdeps to handle classes with the same package name and correct profile for javax.crypto.*
  • jar files related to test test/tools/javac/ExtDirs/ExtDirTest.java should be removed from the repo
  • Re-enable disabled bridging tests
  • Don't narrow floating-point literals in the lexer
  • Array.prototype.splice is slow on dense arrays
  • Array.prototype.length doesn't work as expected
  • Array length does not handle defined properties correctly
  • NASHORN TEST: Enable possibility to test Nashorn use of JavaFX canvas.
  • Array.prototype.indexOf should return -1 when array is of length zero
  • AutoCloseable no longer implements @FunctionalInterface
  • for-in should convert primitive values to object
  • String.prototype.charAt and charCodeAt do not evaluate 'self' and 'pos' arguments in right order
  • complete merging of loads and converts
  • Make ScriptObjectMirror conversions work for any JSObject
  • regression] java.lang.VerifyError: Bad type on operand stack
  • jdk.nashorn.api.scripting.JSObject should be an interface
  • ScriptObjectListAdapter won't work as expected
  • Evaluation order for binary operators can be improved
  • Optimizations for Function.prototype.apply
  • The wrong string buffer is specified for stderr in $EXEC
  • nashorn should only use jdk8 apis in the compact1 profile

New in Java SE Development Kit (JDK) 8 Build b114 Developer Preview (Nov 5, 2013)

  • Licensee build failure due to wrong libs being called
  • JCE jurisdiction policy files not copied into jdk/lib/security
  • configure should use LIBS instead of LDFLAGS when testing freetype
  • adapt JDK-7165611 to new build-infra whitespace/indent policy
  • [jprt] Remove 32-bit Solaris from jprt.properties files
  • new hotspot build - hs25-b56
  • [jprt] build and test solaris 64-bits only
  • [TESTBUG] Classes OOMCrashClass4000_1.class and OOMCrashClass1960_2.class from runtime/ClassFile/ tests won't run on compact profiles
  • jmap returns 0 instead of 1 when it fails.
  • Wrongly placed element in Event-Based JVM Tracing .xsl files
  • Crash when InterfaceMethodref resolves to Object.registerNatives
  • tmtools/jmap/heap_config tests fail on Linux-ia32 because it Cant attach to the core file
  • HOTSPOT: licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated.
  • Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
  • In ManagementAgent.start it should be possible to set the jdp.name parameter (hotspot part)
  • Eclipse fails with JDK8 build 111
  • deadlock between JVM/TI ClassPrepare event handler and CompilerThread
  • [TESTBUG] Create regression test for JDK-8026041
  • serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java failed with unexpected exit value
  • guarantee(codelet_size > 0 && (size_t)codelet_size > 2*K) failed: not enough space for interpreter generation
  • Nashorn test fails with: assert(!def_outside->member(r))
  • VerifyOops is broken on SPARC
  • replace_in_map() should operate on parent maps
  • [TESTBUG] Tests for Tiered/NonTiered levels
  • compiler/whitebox tests timeout with enabled TieredCompilation
  • [TESTBUG] 'compiler/print/PrintInlining.java' should specify -XX:+UnlockDiagnosticVMOptions
  • New type profiling points: parameters to methods
  • assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
  • VM crashes on linux-ppc and linux-i586 when there is not enough ReservedCodeCacheSize specified
  • C2 needs some form of type speculation
  • assert(Reachblock != NULL) failed: Reachblock must be non-NULL
  • JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
  • java/lang/invoke/MethodHandleConstants.java fails on all platforms
  • Various Math functions needs intrinsification
  • Typo. Error line for wrong ReservedCodeCacheSize value is printed twice
  • JSR 292: java.lang.RuntimeException: Original target method was called.
  • JSR 292: too deep inlining might crash compiler because of stack overflow
  • JSR292: fatal error: Type profiling not implemented on this platform
  • NPG: Don't waste fragment at the end of a VirtualSpaceNode before retiring it.
  • Incorrect error handling in Metaspace::allocate
  • Add missing test to exercise -XX:+UseLargePagesInMetaspace
  • NPE in Parallel Scavenge with -XX:+CheckUnhandledOops
  • -XX:+G1SummarizeRSetStats can result in wrong exit code and crash
  • Missing volatile specifier for field G1AllocRegion::_alloc_region
  • [jprt] Remove 32-bit Solaris from jprt.properties files
  • [jprt] Remove 32-bit Solaris from jprt.properties files
  • Licensee build failure due to wrong libs being called
  • JCE jurisdiction policy files not copied into jdk/lib/security
  • adapt JDK-7165611 to new build-infra whitespace/indent policy
  • broken link in jdk8b113 macosx binaries

New in Java SE Development Kit (JDK) 8 Build b113 Developer Preview (Oct 26, 2013)

  • hgforest.sh could trigger unbuffered output from hg without complicated machinations
  • Improve CORBA portablility
  • RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
  • webrev.ksh: fix bug title web scraping, remove teamware, sac, "open bug", -l and wxfile support
  • implement Full Debug Symbols on MacOS X hotspot
  • Improve detection of msvcr100.dll
  • make docs doesn't regenerate docs correctly after changing API doc comments in jaxp sources
  • build] configure does not recognize newer make in cygwin
  • Add useful help messages if freetype is not found on Windows
  • Deprecate --disable-macosx-runtime-support.
  • Update to NewMakefile.gmk check of MAKE_VERSION broke jdk8-build nightly builds on windows, saying 3.82.90 is too low
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • Improve freetype handling.
  • Licensee build failure due to wrong libs being called
  • Improve CORBA portablility
  • Ensure Proxies are handled appropriately
  • Enhance CORBA translations
  • RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
  • jdk8-tl builds windows builds failing in corba - javac: no source files
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • Make finalization final
  • Disable exporting of gc.heap_dump diagnostic command
  • Update build settings
  • Enhance class file parsing
  • new hotspot build - hs25-b55
  • MethodHandleInError and MethodTypeInError not handled in ConstantPool::compare_entry_to and copy_entry_to
  • serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java Compilation failed
  • VM_HeapDumper doesn't put anonymous classes in the heap dump
  • assert at constantTag.cpp:57: ShouldNotReachHere()
  • JVM crashes with assert "assert(is_updated()) failed: must not be clear" with -XX:+PrintGCApplicationConcurrentTime in -Xcomp mode
  • os::Bsd::available_memory() needs implementation
  • VM crashes with "assert(method() != NULL) failed: must have set method"
  • invokespecial gets ICCE when it should get AME.
  • implement Full Debug Symbols on MacOS X hotspot
  • compiler/8013496/Test8013496.sh fails on assert
  • C2: stack overflow in compiler thread because of recursive inlining of lambda form methods
  • Redundant "pid" in VM log file name (e.g. hotspot_pidpid12345.log)
  • ciReplay: fails to dump replay data during safepointing
  • assert(_con is_tuple()->cnt()) failed: ProjNode::_con must be in range
  • Default methods are unnecessarily marked w/ force_inline directive in some situations
  • EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
  • Missing replace_in_map() calls following null checks
  • Tests on references fails
  • parfait] Uninitialised pointer 'Reachblock' may be used as argument
  • Node::get_int: guarantee(t != NULL) failed: must be con
  • New type profiling points: arguments to call
  • assert(false) failed: DEBUG MESSAGE: exception oop must be empty (macroAssembler_x86.cpp:625)
  • CTW on Sparc: assert(lrg.lo_degree()) failed:
  • CodeSweeperSweepNoFlushTest.java fails with HS crash
  • New type profiling points: type of return values at calls
  • assert(false) failed: DEBUG MESSAGE: exception pc already set
  • JSR-292 bug: java.nio.file.Path.toString cores dump
  • Schedule part of G1 pre-barrier late
  • compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
  • Tiered: incorrect results in VM tests stringconcat with -Xcomp -XX:+DeoptimizeALot on solaris-amd64
  • NoClassDefinitionFound for anonymous class invokespecial.
  • Max/MinHeapFreeRatio descriptions should be more precise
  • G1 assert failed when NewSize was specified greater than MaxNewSize
  • gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java Compilation failed
  • Ill-formed -Xminf and -Xmaxf options values interpreted as 0
  • hotspot/test/gc/7168848/HumongousAlloc.java fails 14 full gcs, expect 0 full gcs
  • Description of InitialSurvivorRatio flag in globals.hpp is incorrect
  • gc/startup_warnings tests can fail due to unrelated warnings
  • The Metachunk header wastes memory
  • Metachunks and Metablocks are using a too large alignment
  • jmap fails with "field _length not found in type HeapRegionSeq"
  • JDK-8026391 broke the optimized build target
  • Remove the MetaDataDeallocateALot develop flag
  • SoftReferences are not cleared before metaspace OOME are thrown
  • reverse translation required changes in xalan resource bundles
  • Psr:perf:osb performance regression (18%) in wss_bodyenc
  • SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression
  • Transform TransformerFactory
  • Better XML support
  • Improve stream factories
  • Better digital signature processing
  • java_util/Properties/PropertiesWithOtherEncodings fails during 7u45 nightly testing
  • Supporting XOM
  • SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI
  • Unlocalized warnigs.
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • Better Client Service
  • During JAXWS build the newly built JAXP classes should be in the bootclasspath (not only in the classpath)
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • InetAddress.getLocalHost throws UnknownHostException on java7u5 on OSX webbugs
  • Add @jdk.Exported to JDK-specific/exported APIs
  • Refactor KeyStore.DomainLoadStoreParameter as a standalone class
  • Clarify reporting characteristics between splits
  • Level.parse should return the custom Level instance instead of the mirrored Level
  • java/time/tck/java/time/format/TCKDateTimeFormatters.java failed
  • Enhance error messages for parsing
  • Mechanism to dump generated lambda classes / log lambda code generation
  • Incorrect 2 -> 4 year parsing and resolution in DateTimeFormatter
  • More defensive HashSet.readObject
  • PKCS11 provider should support 2048-bit DH
  • CICO ignores AAD in GCM mode
  • Cannot initialize "AES/GCM/NoPadding" on wrap/unseal on solaris with OracleUcrypto
  • addition of -Werror broke the old build
  • BigInteger's staticRandom field can be a source of bottlenecks.
  • TreeMap.DescendingKeyIterator 'remove' confuses iterator position
  • Explicitly permit DoubleStream.sum()/average() implementations to use higher precision summation
  • Intermittent test failure: javax/management/monitor/CounterMonitorThresholdTest.java
  • Intermittent test failure: javax/management/monitor/NullAttributeValueTest.java
  • Intermittent test failure: javax/management/remote/mandatory/connection/BrokenConnectionTest.java
  • keytool NSS test should use 64 bit lib on Solaris
  • jstat tests fails on 32-bit platforms
  • JT_JDK: Wrong detection of test result for test com/sun/jdi/NoLaunchOptionTest.java
  • Move libnpt from profile compact1 to compact3
  • java/util/concurrent/Semaphore/RacingReleases.java failing
  • sctp) SCTP API classes does not exist in JDK for Mac
  • Intermittent test failure: javax/management/remote/mandatory/connection/IdleTimeoutTest.java
  • reflect) Class.forName and Array.newInstance are inconsistent regarding multidimensional arrays
  • java.lang.reflect.MalformedParametersException introduces doclint warnings
  • Add JavaFX internal packages to package.access
  • props) Possible memory leak in java_props_md.c / ParseLocale
  • DomainKeyStore doesn't cleanup correctly when storing to keystore
  • fs) Files.lines, etc without Charset parameter
  • Reflection support for private interface methods
  • Regression test DHEKeySizing.java failing intermittently
  • Improve API documentation of ClassLoader and ServiceLoader with respect to enumeration of resources.
  • test/java/net/Socks/SocksProxyVersion.java fails when machine name is localhost
  • NPG: Fix java/lang/management/MemoryMXBean/LowMemoryTest2
  • HttpClient/ProxyTest.java failing with IAE HttpURLPermission.parseURI
  • java/lang/invoke/lambda/LogGeneratedClassesTest.java failed on windows, jtreg report Fail to org.testng.SkipException
  • SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression
  • JvmstatCountersTest.java test times out on slower machines
  • Can't load jdk.Exported, ClassNotFoundException
  • Logging in Applet can trigger ACE: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
  • Separate temporal interface layer
  • Change Chronology to an interface
  • TemporalAdjusters and TemporalQueries
  • Improve jhat
  • Better Pack200 data handling
  • Augment image writing code
  • Improve parsing of images
  • Better tabling for AWT
  • Improve image conversion
  • Better Building of Beans
  • Improve AWT DataFlavor
  • Better service from Kerberos servers
  • Better LDAP resource management
  • Subject java.security.auth.subject to improvements
  • Better profile validation
  • Improve CORBA portablility
  • Better serialization support in JMX classes
  • Better resource disposal
  • Improve tool support
  • Better crypto provider handling
  • Better MBean permission validation
  • Augment serialization handling
  • cl) Class.getDeclaredClass problematic in some class loader configurations
  • Cast Proxies Aside
  • Better view of objects
  • Address internet addresses
  • Add new date/time capability
  • Better profiling support
  • Ensure Proxies are handled appropriately
  • Update hotspot diagnostic class
  • Merge problem for KdcComm.java
  • JVM crash
  • javax/management/remote/mandatory/loading/MissingClassTest.java failed in nightly against jdk7u45: java.io.InvalidObjectException: Invalid notification: null
  • JCK test api/javax_management/jmx_serial/modelmbean/ModelMBeanNotificationInfo/serial/index.html#Input has failed since jdk 7u45 b01
  • Improve MacOS resourcing
  • Better recycling of object instances
  • Better Attribute Value Exceptions
  • The index_AccessAllowed jnlp can not load successfully with exception thrown in the log.
  • object not exported" on start of JMXConnectorServer for RMI-IIOP protocol with security manager
  • Better screening for ScreenMenu
  • Evaluation of method reference to signature polymorphic method crashes VM
  • REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris
  • Enhance Kerberos exceptions
  • tools/launcher/RunpathTest.java fails after 8012146
  • Remove comma from jtreg bug line
  • tools/launcher/RunpathTest.java fails
  • ProblemList.txt Updates (10/2013)
  • getaddrinfo can fail with EAI_SYSTEM/EAGAIN, causes UnknownHostException to be thrown
  • TEST_BUG: Clean up TEST.groups
  • InitialToken.useNullKey incorrectly applies NULL_KEY in some cases
  • Test java/util/zip/GZIP/GZIPInZip.java failed
  • RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
  • InetAddress.getLocalHost crash if IPv6 disabled (macosx)
  • Remove deprecated methods in sun.util.logging.PlatformLogger
  • Enhance Logger API for handling of resource bundles
  • rb) add method to get basename from a ResourceBundle
  • rename substream(long) -> skip and remove substream(long,long)
  • tz) Support tzdata2013g
  • java.util.Map.Entry comparingBy methods missing @since 1.8
  • Update LSR datafile for BCP 47
  • jdk8-tl builds windows builds failing in corba - javac: no source files
  • TEST_BUG: update sun/security/tools/keytool/autotest.sh with a new location to find of libsoftokn3.so
  • Runtime accessibility checking: protected class, if extended, should be accessible from another package
  • javadoc errors in java.time
  • test/java/lang/SecurityManager/CheckPackageAccess.java failing
  • minor documentation problems in java.lang.invoke
  • Typo in MethodHandle javadoc
  • SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI
  • test/sun/security/tools/keytool/StorePasswords.java needs to clean up files
  • doclint clean up for java.sql and javax.sql
  • jdeps support to output in dot file format
  • Switch jdeps to follow traditional Java option style
  • ForkJoinTask leaks exceptions
  • Clean up straggling doclint warnings in java.math
  • Policy Tool is not accessible by keyboard
  • implement Full Debug Symbols on MacOS X hotspot
  • Split CompileNativeLibraries.gmk
  • licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated.
  • solaris build missing java-rmi.cgi
  • Most native libs broken on mac in jdk8/build
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • Improve freetype handling.
  • sctp) fatal warnings overly restrictive with gcc 4.8.1
  • Licensee build failure due to wrong libs being called
  • Bug in javac Pretty: Wrong precedence in JCConditional trees
  • java.lang.ClassFormatError: Illegal field modifiers in class (...)
  • Annotation processing api returns default modifier for interface static method
  • clean up JavacAnnotatedConstruct
  • Fix javadoc to generate valid anchor names
  • Clean up javac diagnostics
  • Review error messages for repeating annotations
  • Type annotation on inner class in anonymous class show up as regular type annotations
  • type annotation with TYPE_USE and FIELD attributed differently if repeated.
  • test failures for type annotations
  • 8025633 breaks langtools/test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java
  • Implement lambda methods on interfaces as private
  • Method reference in subinterface of type I.super::foo produces exception at runtime
  • Exception from AnnotationValue.getValue() should list the found type not the required type
  • doclint does not report empty tags when tag closed implicitly
  • javac is too late detecting invalid annotation usage
  • "tidy" issues in langtools/src/**/*.html files
  • recent javadoc changes cause com/sun/javadoc/testLinkOption/TestLinkOption.java to fail
  • Missing LV table in lambda bodies
  • com.sun.source.tree.NewArrayTree refers to com.sun.tools.javac.util.List
  • javadoc creates empty
  • javac crash with method reference with a type variable as the site
  • javac should issue the potentially ambiguous overload warning only where the problem appears
  • Make Javadoc pages more robust
  • The name of com.sun.tools.javac.comp.Annotate.Annotator is confusing
  • import changes from type-annotations forest
  • Build failure with --enable-debug
  • Improper locking of annotation queues causes assertion failures.
  • Calls to annotate.flush() cause incorrect type annotations to be generated.
  • Update tests for Method Parameter Reflection API to check whether a parameter is final
  • Better ordering checks needed in repeatingAnnotations/combo/ReflectionTest
  • jdeps support to output in dot file format
  • Switch jdeps to follow traditional Java option style
  • jprt] Remove 32-bit Solaris from jprt.properties files
  • Function("with(x ? 1e81 : (x2.constructor = 0.1)){}") throws AssertionError: double is not compatible with object
  • Array.prototype.slice.call(Java.type("java.util.HashMap")) throws ClassCastException: jdk.internal.dynalink.beans.StaticClass cannot be cast to jdk.nashorn.internal.runtime.ScriptObject
  • Constant folding removes var statement
  • Fix Issues with Binary Evaluation Order
  • Class cache/reuse of 'eval' scripts results in ClassCastException in some cases.
  • importClass has to be a varargs function
  • "this" in SAM adapter functions is wrong
  • Logging nullpointer bugfix and javadoc warnings
  • Getter, setter function name mangling issues
  • NASHORN] Test test/script/basic/JDK-8025488.js fails in nightly builds
  • Megamorphic setter fails with boolean value
  • source representation of getter and setter methods is wrong
  • in the function name results in wrong function being invoked
  • latest runsunspider.js tests contains several bugs
  • too many relinks dominate avatar.js http benchmark
  • Nashorn arrays should automatically convert to Java arrays
  • Fix ambiguity with array conversion, including passing JS NativeArrays in Java variable arity methods' vararg array position
  • Add a sync keyword to mozilla_compat
  • Revert: latest runsunspider.js tests contains several bugs
  • eval() throws NullPointerException with --compile-only
  • getType() called on DISCARD node

New in Java SE Development Kit (JDK) 8 Build b112 Developer Preview (Oct 23, 2013)

  • org.w3c.dom.events.UIEvent.getView is specified to return type that is not in the Java SE specification
  • Fix jdk/make/docs/Makefile to point to correct docs URL for JDK 8.
  • new64jre/new64jdk wrappers should be removed, build 32-bit AU during windows-amd64 builds instead
  • Win32 and win64: Remove all the WARNINGS in JDK 8 builds for Windows 2008 and MSVS 2010 SP1
  • The new build system whitespace cleanup
  • Make LOG=debug output more readable
  • The new build system whitespace cleanup
  • new hotspot build - hs25-b54
  • Naked oop in test/serviceability/ParserTest
  • Test name changed, test list not updated. Test6878713.sh
  • -XX:+CheckUnhandledOops crashes on Windows
  • Nits in os_bsd file breaks compilation of open hotspot
  • SA: Sync linux and bsd versions of ps_core file
  • u4 should not be used as a type for thread_id
  • nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
  • -XX:+CheckUnhandledOops asserts for JDK 8 Solaris fastdebug binaries
  • Remove dead JVM_{Get,Set}PrimitiveFieldValues functions
  • Add /MP to cl.exe speeds up windows builds of OpenJDK.
  • SA is unable to use hsdis on windows
  • JNI access to Strings need to check if the value field is non-null
  • SA: Update jmap to support HPROF binary format "JAVA PROFILE 1.0.2"
  • [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
  • Lambda: Fix access controls, loader constraints.
  • JVM_GetCallerClass allows Reflection.getCallerClass(int depth) to use
  • Internal symbol table size should be tunable.
  • Verifier: allow anon classes to invokespecial host class/intf methods.
  • nsk/jvmit/GetMethodDeclaringClass/declcls001 failed
  • Remove unnecessary setters in collector policy classes
  • Use "young gen" instead of "eden"
  • Significant slowdown due to transparent huge pages
  • VirtualSpace should support per-instance disabling of large pages
  • G1: Memory ordering problem with Conc refinement and card marking
  • Typos and errors in descriptions of vm options in globals.hpp
  • NPG: make new GC root for pd_set
  • MaxMetaspaceSize should limit the committed memory used by the metaspaces
  • Track metaspace usage when metaspace is expanded
  • TransformerException : item() return null with node list of length != 1
  • Clarify API documentation of JAXP factories.
  • jdk8 l10n resource file translation update 4
  • The new build system whitespace cleanup
  • Update JAX-WS RI integration to 2.2.9-b130926.1035
  • wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash
  • The new build system whitespace cleanup
  • Setting a custom PrintService on a PrinterJob leads to a PrinterException
  • Fatal: Bug in native code: jfieldID must match object
  • [fingbugs] Evaluate necessity to make some arrays package protected
  • On physical machine (video card is Intel Q45) the text is blank.
  • Change different color with the "The XOR alternation color" combobox, the color of the image can not shown immediately.
  • Extraneous changes in the fix for 8007386
  • xrender : closed/sun/java2d/volatileImage/LineClipTest.java failed since jdk8b36
  • Reading a PNG file fails because of WBMPImageReaderSpi.canDecodeInput()
  • [parfait] warnings from b107 for jdk.src.share.native.sun.java2d.loops: JNI exception pending, JNI critical region violation
  • [parfait] "JNI exception pending" warnings from b107 for jdk.src.share.native.sun.java2d
  • [parfait] JNI-related warnings from b107 for jdk.src.share.native.sun.java2d.pipe
  • [parfait] warnings from b62 for jdk.src.share.native.sun.font
  • [parfait] JNI-related warnings from b107 for jdk.src.solaris.native.sun.java2d.x11
  • Windows build fails after the fix for 8025280
  • [javadoc] fix some javadoc errors in javax/swing/
  • [TEST] need test to cover JDK-7146572
  • Test closed/java/awt/dnd/ImageTransferTest/ImageTransferTest.html fails
  • java.beans.EventHandler.create method should check if the given listenerInterface is a public interface
  • ArrayIndexOutOfBoundsException in Win32GraphicsEnvironment if display is removed
  • [TEST_BUG] javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java doesn't release mouse button
  • [TEST_BUG] javax/swing/JInternalFrame/Test6505027.java doesn't release mouse button
  • [TEST_BUG] javax/swing/JSpinner/4973721/bug4973721.java failed on win2003
  • [TEST_BUG] closed/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java doesn't release mouse button
  • Frogot to add a file to fix for JDK-8012461
  • Right click on the icon added to the system tray for the first time, java.lang.IllegalArgumentException thrown.
  • Memory leak in JFrame on Linux
  • Fix javadoc comments errors and warning reported by doclint report
  • Property Window.locationByPlatform is not cleared by calling setVisible(false)
  • Broken links in documentation
  • Fix all the doclint warnings about trademark
  • [javadoc] fix some errors in AWT
  • GraphicsDevice.setDisplayMode(...) leads to hang when DISPLAY variable points to Oracle Linux
  • Regression : Deadlock between AWT-XAWT thread and AWT-EventQueue-0 Thread when screen resolution changes
  • Win: Popups in JFXPanel do not receive MouseWheel events
  • FileDialog documentation should be enhanced
  • Spec for java.awt.GraphicsDevice.getFullScreenWindow() needs clarification
  • Incremental transfer is broken because of a typo
  • Specification for Window.isAlwaysOnTopSupported needs to be clarified
  • java.awt.KeyboardFocusManager.clearFocusOwner() missed javadoc tag @since 1.8
  • Windows owned by an always-on-top window DO NOT automatically become always-on-top
  • test api/javax_sound/sampled/spi/MixerProvider/indexTGF_MixerProviderTests fails
  • Unused methods in the awt text peers should be removed
  • StringIndexOutOfBoundsException: in Class.getSimpleName()
  • Incomplete token triggers GSS-API NullPointerException
  • Exclude tests due to JDK-8025427
  • Remove alt-rt.jar, used by +AggressiveOps (jdk repo portion of JDK-8024826)
  • Refined Collection.removeIf UOE conditions
  • Clarify that unmodifiable List.replaceAll() may not throw UOE if there are no items to be replaced.
  • File.createTempFile fails if prefix is absolute path
  • Add explicit @throws NPE documentation to Optional constructor and Optional.of
  • Update Core Reflection for Type Annotations to match latest spec
  • j.l.Class.getAnnotatedInterfaces() for array type returns wrong value
  • j.l.r.Executable.getAnnotatedReceiverType() should return null for static methods
  • core reflection should get type annotation data from the VM lazily
  • jfr.jar gets loaded even though it's not used
  • [parfait] File Descriptor Leak in jdk/src/windows/demo/jvmti/hprof/hprof_md.c
  • Security Providers need to have their version numbers updated for JDK8
  • test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failing intermittently
  • sun/security/pkcs11/Secmod tests failing on Ubuntu 12.04
  • Japanese char (MS932) 0x5C cannot be used as an argument when quoted
  • Specifications for Collection/List/Set/SortedSet.spliterator() need to document if all the (subclass) instances are required to return SIZED spliterators
  • TransformerException : item() return null with node list of length != 1
  • Add note about optional support of recursive methods for self-referential Collection/Map
  • Unconditionally throw NPE if null op provided to Arrays.parallelPrefix
  • Update jdk repo netbeans projects to support NetBeans 7.4 for Java 8 support
  • @Stable annotation for constant folding of lazily evaluated variables
  • JSR292: lazily initialize core NamedFunctions used for bootstrapping
  • j.l.r.Parameter.getAnnotatedType().getType() for not annotated use of type returns null
  • NLS: unsupported translation format in jar/pack/DriverResource.java
  • Accessibility checking: InvocationTargetException is thrown instead of IllegalAccessError
  • SNI support in Kerberos cipher suites
  • (cal) GregorianCalendar roll WEEK_OF_YEAR is broken for January 1 2010
  • ClassCastException in PlainSocketImpl.accept() when using custom socketImpl
  • java.util.Calendar.set(int,int,int,int,int,int) documentation typo
  • Unsafe typecast in java.util.stream.SortedOps
  • JTop plugin fails if connected readonly to target JVM
  • Rename getStrongSecureRandom based on feedback
  • getStrongSecureRandom() should require at least one implementation
  • Update methods of java.lang.reflect.Parameter to throw correct exceptions
  • Unsafe typecast in java.util.stream.Streams.Nodes
  • Unsafe typecast in java.util.stream.SpinedBuffer
  • Unsafe typecast in java.util.stream.Streams.RangeIntSpliterator.splitPoint()
  • Unsafe typecast in java.util.stream.Node.OfPrimitive.asArray()
  • Mark relevant public stream tests as serialization hostile
  • sun/management/jdp/JdpTest.sh fails with exit code 1
  • locale related test fails on langtools mac 10.7 test host
  • Remove lambda metafactory work-around to JDK-8005119
  • jdk/lambda/vm/DefaultMethodsTest.java
  • Refactor java.time serialization tests into separate subpackage
  • Missing java.time.chrono serialization tests
  • Add java/lang/instrument/RetransformBigClass.sh to problemlist
  • keytool utility doesn't support '-importpassword' command
  • Optimize Period addition
  • Rename ChronoDateImpl
  • Add ChronoPeriod interface and bind period to Chronology
  • Change until() to accept any compatible temporal
  • Instant.Parse typo in example
  • Add getChronlogy() to CLDT/CZDT
  • Better return type for TemporalField resolve
  • jdk/lambda/vm/DefaultMethodsTest.java fails
  • Fix jdk/make/docs/Makefile to point to correct docs URL for JDK 8.
  • wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash
  • JSR 292 improve performance of generic invocation
  • findVirtual of Object[].clone produces internal error
  • JSR 292 javadoc should clarify method handle arity limits
  • arity mismatch on a call to spreader method handle should elicit IllegalArgumentException
  • an attempt to use "" as a method name should elicit NoSuchMethodException
  • JSR 292 direct method handles need to respect initialization rules for static members
  • method handles should have a collectArguments transform, generalizing asCollector
  • JSR 292 spec updates for security manager and caller sensitivity
  • JSR 292 API specification maintenance for JDK 8
  • Typo in Javadoc of Files.isRegularFile()
  • Integrate test improvements made in lambda repo
  • Changes for 8025968 break all stream tests
  • make ephemeral DH key match the length of the certificate key
  • SplittableRandom enchancements
  • (fs) Files.readAllBytes uses FileChannel which may not be supported by all providers
  • Missing mkdir in Images.gmk
  • Win32 and win64: Remove all the WARNINGS in JDK 8 builds for Windows 2008 and MSVS 2010 SP1
  • The new build system whitespace cleanup
  • rt.jar still has old specification value in the manifest
  • Move Gensrc*.gmk and Gendata*.gmk into separate directories.
  • [infra] remove extraneous docs in solaris images
  • crash returning this-referencing lambda from default method
  • Compiler crashes with exception on wrong usage of an annotation.
  • javadoc shows stacktrace after print error resulting from disk full
  • Convert 2 javac/enumdeclarations tests in jtreg for regression ws
  • Define ABS_TEST_OUTPUT_DIR via TEST_OUTPUT_DIR
  • langtools test tools/javac/lambda/methodReference/BridgeMethod.java incorrectly assumes no other methods generated in lambda class
  • c.s.t.javac.api.JavacTool.getTask() - more informative exception
  • NPE in Type.java due to recent change
  • NPE in CreateSymbols caused by bad diagnostic
  • Compile-time error during casting array to intersection
  • Improve error message for '_' used as a lambda parameter name
  • Annotation processing api returns default modifier for interface without default methods
  • should remove unused support for enabling javac logging
  • Rename jdk.Supported to jdk.Exported
  • Invisible table captions in javadoc-generated html
  • method grouping tabs are not selectable
  • javac exits with 0 status and no messages on error to construct an ann-procesor
  • DiagnosticListener should receive MANDATORY_WARNING in standard compiler mode
  • Spurious characters in JavaCompiler
  • javap use internal class name when printing bound of type variable
  • jtreg test OverrideBridge.java contains @ignore
  • Make history of AnnotatedConstruct methods in jx.l.m.e.Element clearer
  • The new build system whitespace cleanup
  • Performance issues with Source.getLine()
  • Array.prototype.slice should only copy defined elements
  • Array.prototype.shift should only copy defined elements in generic mode
  • load function should support a way to load scripts from classpath
  • fx:base.js classes not loading
  • Error.captureStackTrace should not format error stack
  • Enhance Nashorn Contexts
  • Assignment marks variable as defined too early
  • Switch should load expression even when there are no cases in it
  • Specialized functions with same weight replace each other in TreeSet
  • future strict names are allowed as function name and argument name of a strict function
  • FoldConstants need to guard against ArrayLiteralNode
  • Function constructor should convert arguments to String before performing any syntax checks
  • The new build system whitespace cleanup

New in Java SE Development Kit (JDK) 8 Build b111 Developer Preview (Oct 16, 2013)

  • Correct typos
  • webrev.ksh does not provide any details about changes in zip files
  • Make it possible to set both --with-user-release-suffix and --with-build-number
  • new hotspot build - hs25-b53
  • Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
  • [TESTBUG] Move tests for classes in /testlibrary
  • [TESTBUG] Test library class Platform.java needs to include methods for missing OS's and architectures
  • CheckUnhandledOops has limited usefulness now
  • Private interface methods. Default conflicts:ICCE. no erased_super_default.
  • Missing ResourceMark crash when assertion using FormatBufferResource fails
  • make develop and notproduct flag values available in product builds
  • Intrinsify java.lang.Math.addExact
  • PSR:PERF Large performance regressions when code cache is filled
  • Java source files in hotspot/test/testlibrary should not use @author tag in JavaDoc
  • TestCase$Helper(java.lang.Object) must be osr_compiled
  • clang: remove -Wno-unused-value
  • Object.hashCode intrinsic breaks inline caches
  • Missing store barrier with OptimizeStringConcat
  • Methodhandles/JSR292: NullPointerException (NPE) thrown instead of AbstractMethodError (AME)
  • Move sun.invoke.Stable into java.lang.invoke package
  • JT_JDK: 11 failures with SIGSEGV on arm-sflt platforms in nightly fastdebug build.
  • G1: improve remembered set summary information by providing per region type information
  • metaspace/flags/maxMetaspaceSize throws OOM: out of Compressed Klass space
  • Cleanup CardTableModRefBS usage in G1
  • G1: assert "assert(thread < _num_vtimes) failed: just checking" fails when G1ConcRefinementThreads > ParallelGCThreads
  • G1: Heap expansion logging misleading for fully expanded heap
  • MetaspaceMemoryPool incorrectly reports undefined size for max
  • gc/metaspace/G1AddMetaspaceDependency.java Test fails a safepoint timeout assertion or hangs.
  • TestPerfCountersAndMemoryPools.java fails with -Xmixed or -Xcomp
  • Simplify GenRemSet code slightly
  • Remove unnecessary uses of GenerationSizer
  • Remove solaris path from FillCacheFind
  • java.time packages missing from src.zip

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 8 Build b109 Developer Preview (Oct 1, 2013)

  • Don't remove upper case letters from username when setting USER_RELEASE_SUFFIX
  • JPRT to switch to the new Win platforms for JDK8 builds this week
  • JPRT to switch to the new Win platforms for JDK8 builds this week
  • new hotspot build - hs25-b51
  • "assert(seq > 0) failed: counter overflow" in Kitchensink
  • Native stack walk while generating hs_err does not work on Windows x64
  • Test fails with HS crash in GCNotifier.
  • JVM allows duplicate Runtime[In]VisibleTypeAnnotations attributes in ClassFile/field_info/method_info structures
  • runtime/InitialThreadOverflow/testme.sh fails
  • Openjdk hotspot build is broken on BSD platforms using gcc
  • Event based tracing is missing thread exit
  • Internal Error (jvmtiRedefineClasses.cpp:1662): guarantee(false) failed: insert_space_at() failed
  • 'assert(_value != NULL) failed: resolving NULL _value' from VM_RedefineClasses::set_new_constant_pool
  • ~CautiouslyPreserveExceptionMark - assert(!_thread->has_pending_exception()) failed: unexpected exception generated
  • PlatformEvent.park(millis) on Linux could still be affected by changes to the time-of-day clock
  • correctly identify Ubuntu as the operating system in crash report instead of "Debian"
  • Default method resolution with private superclass method
  • Improvements to the GC log file rotation
  • test runtime/6878713/Test6878713.sh failed
  • [TESTBUG] Test runtime/7020373/Test7020373.sh failed to clean up files after test
  • Misc. cleanup of static agent code
  • Minimal VM build is broken with PCH disabled
  • [TESTBUG] update test groups for additional tests that can't run on the minimal VM
  • NPG: Use consistent naming for metaspace concepts
  • [macosx] gc/metaspace/ClassMetaspaceSizeInJmapHeap.java failed since jdk8b105, hs25b47
  • Large pages for the heap broken on Windows for compressed oops
  • G1: Concurrent marking crashes with -XX:ObjectAlignmentInBytes>=32 in 64bit VMs
  • NPG: Metaspace fragmentation when retiring a Metachunk
  • assert: failed: heap size is too big for compressed oops
  • Metaspace capacity > reserved
  • Count and expose the amount of committed memory in the metaspaces
  • Remove the incorrect usage of Metablock::overhead()
  • Don't adjust MaxMetaspaceSize up to MetaspaceSize
  • Fix bugs in TraceMetadata
  • Log TraceMetadata* output to gclog_or_tty instead of tty
  • G1 generates assert error messages in product builds
  • VM crashing with assert(!UseLargePages || UseParallelOldGC || use_large_pages) failed: Wrong alignment to use large pages
  • Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp
  • Test name changed, test list not updated
  • Metaspace performance counters and memory pools should report the same data
  • gc/arguments/TestUseCompressedOopsErgo.java does not compile.
  • Native OOME when allocating after changes to maximum heap supporting Coops sizing on sparcv9
  • Remove LRG_List container, replace it with GrowableArray
  • During CTW: assert(sig_bt[member_arg_pos] == T_OBJECT) failed: dispatch argument must be an object
  • Rename VM LogFile to hotspot_pid{pid}.log (was hotspot.log)
  • add more types, fields and constants to VMStructs
  • [TESTBUG] Some hotspot tests should be updated to divide test jdk and compile jdk
  • guarantee(codelet_size > 0 && (size_t)codelet_size > 2*K) failed: not enough space for interpreter generation
  • CallInfo structure no longer accurately reports the result of a LinkResolver operation
  • Assertion failed: sweptCount >= flushedCount + markedCount + zombifiedCount
  • Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running
  • JPRT to switch to the new Win platforms for JDK8 builds this week

New in Java SE Development Kit (JDK) 8 Build b108 Developer Preview (Sep 21, 2013)

  • Add s390(x) detection to platform.m4
  • handle hg wrapper with space after #!
  • Update bugdatabase url
  • Update autoconf-config.guess to autoconf 2.69
  • Build should support --with-override-nashorn
  • Upgrade Direct X SDK used to build JDK
  • config.log does not end up in corresponding configuration
  • Move open changes for JDK-8020411 to closed source
  • Make --with-dxsdk and friends deprecated
  • Don't remove upper case letters from username when setting USER_RELEASE_SUFFIX
  • Introduce option to setKeepAlive parameter on CORBA sockets
  • new hotspot build - hs25-b50
  • Java CTW implementation
  • Remove unused macro: IRT_ENTRY_FOR_NMETHOD
  • @Stable annotation for constant folding of lazily evaluated variables
  • MinJumpTableSize is set to 18, investigate if that's still optimal
  • ProblemList.txt updates to exclude tests that fail with hs25-b49
  • JVM crash in native layout
  • [macosx] Printing problem using ja and zh_CN locales
  • RFE: Java Printing: Provide a way to display win32 printer driver's dialog
  • XRender pipeline does ignore source-surface offset for text rendering
  • sun/java2d/cmm/ tests failed against RI b141 & b138-nightly
  • Nimbus scrollbar rendering glitch with xrender enabled on i945GM
  • xrender: improve performance of small fillRect operations
  • Crash during color profile destruction
  • Fix for 8020983 causes Xcheck:jni warnings
  • IDN.USE_STD3_ASCII_RULES option is too strict to use Unicode in IDN.toASCII
  • RMIConnector: map value referencing map key in WeakHashMap prevents map entry to be removed
  • Improve MaxPathLength.java testcase and reduce its test load
  • java/io/File/MaxPathLength.java fails
  • sun/security/ssl/javax/net/ssl/ServerName/IllegalSNIName.java fails
  • AtomicLongArray getAndAccumulate/accumulateAndGet have int type for new value arg
  • NLS: logging.properties translatability recommendation
  • Issues with cached localizedLevelName in java.util.logging.Level
  • java/jconsole test/sun/tools/jconsole/ImmutableResourceTest.sh failing
  • TEST.groups: move jdk/lambda tests from jdk_other to jdk_lang
  • Weaken contract of java.lang.AutoCloseable
  • Difference in Stream.collect(Collector) methods located in jdk8 and jdk8-lambda repos
  • Support for closeable streams
  • j.u.s.BaseStream.onClose() has an issue in implementation or requires spec clarification
  • Same exception instances thrown from j.u.stream.Stream.onClose() handlers are not listed as suppressed
  • Introduce option to setKeepAlive parameter on CORBA sockets
  • j.l.String.join(java.lang.CharSequence, java.lang.Iterable) sample doesn't compile and is incorrect
  • [TESTBUG] Profile based regression test groups for jdk repo
  • Make MethodHandleInfo public
  • test/java/util/Arrays/SetAllTest.java fails to compile due to recent compiler changes
  • Improvements to HashMap/LinkedHashMap use of bins/buckets and trees (red/black)
  • LinkedHashMap key/value/entry spliterators should report ORDERED
  • Deprecate SecurityManager checkTopLevelWindow, checkSystemClipboardAccess, checkAwtEventQueueAccess
  • java.util.logging.Handler has thread safety issues
  • Break logging and AWT circular dependency
  • (spec) Console.reader() should make it clear that the reader requires line termination
  • NLS t13y issue on jar.properties file
  • Metafactory crashes on code with method reference
  • MethodHandleInfo throws exception when method handle is to a method with @CallerSensitive
  • test/closed/sun/tracing/ProviderProxyTest.java failing
  • Few of test/java/lang/management/ThreadMXBean/* tests don't clean up the created threads
  • Method description fix for String.toLower/UpperCase() methods
  • 10 nashorn tests fail with similar stack trace InternalError with cause being NoClassDefFoundError
  • 10 closed/java/lang/invoke/* tests failing after overhaul to MethodHandleInfo
  • Intermittent ThreadMXBean/Locks.java test failure
  • (reflect) Class.getField can't find String[].length
  • Don't allow soft-fail behavior if OCSP responder returns "unauthorized"
  • There should be a way to reorder the JSSE ciphers
  • Test sun/security/krb5/runNameEquals.sh failed on 7u45 Embedded linux-ppc*
  • Cleanup LogManager class initialization and LogManager/LoggerContext relationship
  • java/util/logging/Logger/getGlobal/TestGetGlobalConcurrent.java fails intermittently
  • test/java/util/logging/LogManagerInstanceTest.java failing intermittently
  • [TESTBUG] java/net/CookieHandler/LocalHostCookie.java misplaced try/finally
  • NetworkInterface.getNetworkInterfaces() returns duplicate hardware address
  • Fix doclint issues in java.security
  • change specification to allow RMI activation to be optional
  • Change to use othervm mode of tests in SSLEngineImpl
  • (fs) TEST_BUG java/nio/file/WatchService/SensitivityModifier.java fails intermittently
  • sun.security.mscapi.Key has no definition of serialVersionUID
  • Unexpected timezone display name
  • (reflect) Class.get{Declared}Method{s} does not return clone() for array types
  • Fix doclint issues in com.sun.nio.sctp
  • Additional debug info for java/net/NetworkInterface/Equals.java
  • sun/util/resources/en split between rt.jar and localedata.jar
  • Update documentation on Executable.getParameterAnnotations()
  • Windows networking code prevents use of -Xlint:auxiliaryclass in jdk build
  • JSR310 serialization should be described in details
  • Constant fields introduced by JDK-4759491 fix in b94 are exposed as public fields in public API
  • Missing API coverage for java.util.function.BiFunction andThen
  • OpenMBeanInfoSupport.equals/hashCode throw NPE
  • Turn on javac lint checking in building the jdk repo
  • Make Logger log methods call isLoggable()
  • Issues with French locale on compact1,2: expected: but was:
  • remove erroneous @since tag
  • Spec update for java.util.stream
  • j.u.s.Stream.reduce(BinaryOperator) throws unexpected NPE
  • Math.round has surprising behavior for odd values of ulp 1
  • MBean*Info.hashCode : NPE
  • Remove jdk.map.useRandomSeed system property
  • java/net/NetworkInterface/UniqueMacAddressesTest.java fails on Windows
  • Additional explicit null checks
  • TEST.groups - split sub-groups for jdk_collections, jdk_stream, jdk_concurrent, jdk_util_other from jdk_util
  • (props) user.home property does not return an accessible location in sandboxed environment [macosx]
  • EBehavior of DriverManager.registerDriver(dr) is unspecified if driver is null
  • Some fixes are missing from java.util.stream spec update
  • Difference between LocalTime.now(Clock.systemDefaultZone()) and LocalTime.now() executed successively is more than 100 000 000 nanoseconds for slow machines
  • Update javadoc for start of Meiji era
  • java/util/concurrent/ConcurrentHashMap/toArray.java fails intermittently
  • Rename java/util/concurrent/ConcurrentHashMap/toArray.java to ToArray.java
  • (props) "Unicode" is misspelled as "Uniocde" in JavaDoc and error message
  • Deflater.setLevel does not work as expected
  • Disabling IPv6 on a specific network interface causes problems
  • Copy-paste typo in the spec for j.u.Comparator.thenComparing(Function, Comparator)
  • Correct error in Predicate javadoc example
  • Upgrade Direct X SDK used to build JDK
  • Replace direct use of AnnotatedType in javadoc code
  • Use non breaking space in various labels
  • Two *.rej files checked in to langtools/test directory
  • RFE : Javadoc Accessibility : Hyperlinks should contain text or an image with alt text
  • Javadoc prints NPE when using Taglet
  • Sub-packages missing from Profiles javadoc
  • doclet should only generate functional interface text if source >= 8
  • Need to supply tests to provide javadoc for profiles support code coverage
  • structural most specific and stuckness
  • Incorrect signature determination for certain inner class generics
  • Javac fails to infer type for lambda used with intersection type and wildcards
  • Misleading error message when using diamond operator with private constructor
  • Compiler emitting spurious errors when constructor reference type is inferred and explicit type arguments are supplied
  • javac.Main should be @Supported
  • javadoc generated-by comment should always be present
  • Drop 'implements Completer' and 'implements SourceCompleter' from ClassReader resp. JavaCompiler.
  • method grouping tabs folding issue
  • javac, previous solution for JDK-8022186 was incorrect
  • problem running javadoc tests in samevm mode on Windows
  • javac, compiler crashes with try with empty body
  • Rename javac.code.Annotations to javac.code.SymbolMetadata
  • Fix for 8016177: structural most specific and stuckness breaks 6 langtools tests
  • Reject default and static methods in annotation
  • Javac template test framework
  • jtreg test fails: test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java
  • Enhanced rethrow disabled in lambdas
  • Fixed bugs should have tests with bugid in @bug tag
  • javac, should facilitate the use of the bootstrap compiler for debugging
  • lib/combo/tools/javac/combo/TemplateTest.java fails
  • Information that package is deprecated is missing in profiles view
  • javac fails to reject semantically equivalent generic method declarations
  • Javac creates invalid bootstrap methods for complex lambda/methodref case
  • javac crash in Flow.AssignAnalyzer.visitIdent
  • javac, the LVT is not generated correctly in several scenarios
  • Spurious unchecked warning reported by javac
  • No way to suppress deprecation warnings when implementing deprecated interface
  • Setting __proto__ to null removes the __proto__ property
  • Setting __proto__ property in Object literal should be supported
  • When a keyword is used as object property name, the property can not be deleted
  • Incorrect handling of expression and parent scope in 'with' statements
  • Nashorn FX Libraries need to be finalized.
  • FX Libraries update missing file
  • We no longer need slots for temporaries in self-assign indices
  • Refactor ScriptObjectMirror and JSObject to support external JSObject implementations
  • PluggableJSObject.iteratingJSObjectTest fails with jdk8-tl build
  • Octane regression on Richards
  • Regex /[^\[]/ doesn't match
  • Various minor issues with JSONWriter used by script parser API
  • JDBC java.sql.DriverManager is not usable from JS script
  • Java.to should accept mirror and external JSObjects as array-like objects as well
  • keep separate internal arguments variable

New in Java SE Development Kit (JDK) 7 Update 40 (Sep 11, 2013)

  • Java Mission Control (JMC) 5.2 Release Notes:
  • Java Mission Control (JMC) is a commercial feature available for java users with a commercial License.
  • JDK 7u40 includes the first release of Java Mission Control (JMC) that is bundled with the Hotspot JVM.
  • JavaFX Release Notes:
  • JavaFX is now part of JDK. JDK 7u40 release includes JavaFX version 2.2.40.
  • New Features and Changes:
  • Deployment Rule Set:
  • Deployment rule set allows a desktop administrator to control the level of Java client compatibility and default prompts across an organization.
  • Option to disable the "JRE out of date" warning:
  • Starting from 7u40, a new deployment property deployment.expiration.check.enabled is available. This property can be used to disable the "JRE out of date" warning.
  • When the installed JRE (7u10 or later), falls below the security baseline or passes it's built-in expiration date, an additional warning is shown to users to update their installed JRE to the latest version. For businesses that manage the update process centrally, users attempting to update their JRE individually, may cause problems.
  • To suppress this specific warning message, add the following entry in the deployment properties file:
  • deployment.expiration.check.enabled=false
  • New Security Warnings for Unsigned and Self-Signed Applications:
  • New warnings are added in the dialogs for Unsigned and Self-Signed applications.
  • From the dialogs for Unsigned and Self-Signed applets, "Remember this decision" option has been removed. In addition, the previously remembered decisions for self-signed and unsigned applets will be ignored.
  • Local Applets return NULL for DocumentBase:
  • Beginning with JDK 7u40, an applet's getDocumentBase() method will return NULL when the applet is running from the local file system.
  • If applet needs to load resource, here are the options:
  • If the resource is in the applet's JAR(s), the user should be able to load it with class ClassLoader getResoruceAsStream directly, without needing the codebase information.
  • If the resource is in an arbitrary location, which is not inside the applet's JAR(s), the user must have other ways to get to that location, since it is not part of the applet resource. For example, the user.home java system property, provided their applet has all-permissions.
  • JAXP Security Improvements:
  • JDK 7u40 release contains Java API for XML Processing (JAXP) 1.5, which adds the ability to restrict the set of network protocols that may be used to fetch external resources. For more information, see JEP 185: JAXP 1.5: Restrict Fetching of External Resources.
  • Default x.509 Certificates Have Longer Key Length
  • Starting from 7u40, the use of x.509 certificates with RSA keys less than 1024 bits in length is restricted. This restriction is applied via the Java Security property, jdk.certpath.disabledAlgorithms. The default value of jdk.certpath.disabledAlgorithms is now as follows:
  • jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
  • In order to avoid the compatibility issue, users who use X.509 certificates with RSA keys less than 1024 bits, are recommended to update their certificates with stronger keys. As a workaround, at their own risk, users can adjust the key size to permit smaller key sizes through the security property jdk.certpath.disabledAlgorithms.
  • Bug Fixes:
  • For a list of bug fixes included in this release, see JDK 7u40 Bug Fixes page.
  • The following are some of the notable bug fixes included in JDK 7u40.
  • Area: deploy/plugin
  • Synopsis: Aborting the update after clicking "Update" on the "Java is insecure" warning message forwards all applets to java.com/download.
  • When an older JRE is installed on the system, launching a web page with an applet prompts the user with "Java is insecure" message. If the user clicks on the "Update" button on the message but later aborts the update process, user is automatically redirected to http://java.com/download page.
  • This is not the expected behavior. The issue is fixed in JDK 7u40 release.
  • Area: deploy/plugin
  • Synopsis: Expired (but otherwise valid) certificate are not blocked at VeryHigh Security Level.
  • The issue is fixed in JDK 7u40 release.
  • Known Issues:
  • The following are some of the notable bug fixes in JDK 7u40 release:
  • JDK
  • Area: client/plugin
  • Synopsis: Locking behavior for JCP is not clear for OCSP/CRL (Adding deployment.security.validation.crl.locked property in config file does not reflect in JCP. )
  • Adding deployment.security.validation.crl.locked in config file does not seem to disable (gray out) Revocation Check property in Java Control Panel (JCP).
  • For example, a deployment property file c:\Windows\Sun\Java\Deployment\deployment.config file is created with the following content:
  • deployment.security.mixcode=DISABLE
  • deployment.security.mixcode.locked
  • deployment.security.validation.crl=true
  • deployment.security.validation.crl.locked
  • When the JCP is displayed, the mix code section will be disabled (all grayed out), but the certificate revocation section still active/changeable.
  • Workaround: The regression is only in display and the locking is working.
  • Area: hotspot/gc
  • Synopsis: New minimum young generation size is not properly checked by the JVM.
  • In JDK 7u40, the minimum size of the young generation for the parallel garbage collector was increased from 192 KB to 768 KB in a 32-bit JVM, and to 1536 KB in a 64-bit JVM. This new minimum size is not properly checked by the JVM. If a young generation size that is smaller than the new minimum is specified on the command line, it can result in either a crash or degraded performance.
  • The young generation size is set by the options -XX:NewSize= and -XX:MaxNewSize=, or by the option -Xmn (the latter option is equivalent to setting both NewSize and MaxNewSize to ). If the above options are not used, then the young generation size is computed as a fraction of the maximum heap size.
  • Workaround: Use a young generation size that is at least 768 KB (for 32-bit JVM) or 1536 KB (for 64-bit JVM).
  • Area: deploy/plugin
  • Synopsis: Local applet could not be launched with Firefox 23
  • This is a Firefox bug and a fix will be provided in a future release. This regression is introduced due to a fix against issues related to same-origin policy under Firefox. For more details, see https://bugzilla.mozilla.org/show_bug.cgi?id=902375.
  • Workaround: To work with Firefox 23, under Firefox preferences, set the property "security.fileuri.strict_origin_policy" to false.
  • JavaFX
  • Area: Graphics
  • Synopsis: The WebView component doesn't support HiDPI rendering.
  • Area: Graphics
  • Synopsis: The HiDPI support cannot be enabled inside a LoDPI browser.
  • Area: Graphics
  • Synopsis: Point and Spot lights of the Lighting effect are not affected by coordinate scaling.
  • The coordinates of the lighting sources are not adjusted for the coordinate transform of a node and are actually relative to its bounding box, which makes positioning the lights properly for an arbitrary node tricky.

New in Java SE Development Kit (JDK) 8 Build b106 Developer Preview (Sep 10, 2013)

  • Improve 'make help'
  • Remove target names from test/Makefile and defer to sub-repo makefiles.
  • test/Makefile shouldn't try to tell langtools/test/Makefile where to put output.
  • build-infra: Improve suggestions for missing packages on linux
  • Lock down version of autoconf
  • Fix 'make CONF= '
  • new hotspot build - hs25-b48
  • sa.js: TypeError: [object JSAdapter] has no such function "__has__"
  • make/windows/build_vm_def.sh takes too long even when BUILD_WIN_SA != 1
  • com/sun/jdi/RedefineMulti.sh fails with IllegalArgumentException after JDK-8021948 .
  • Non heap memory size calculated incorrectly
  • Event based tracing framework needs a mutex for thread groups
  • GCC 4.6 change sdefault setting for omit-frame-pointer which breaks hotspot stack walking
  • JNI GetStringUTFChars should return NULL on allocation failure not abort the VM
  • SIGSEGV at ParMarkBitMap::verify_clear()
  • CMS should not shrink if compaction was not done
  • G1: Use correct GC cause for young GC triggered by humongous allocations
  • The JVMTI specification does not conform to recent changes in JNI specification
  • JT_HS: 2 runtime NMT tests fail on platforms if NMT detail is not supported
  • [TESTBUG] compact profile hotspot test issues
  • Add jtreg test for 8004051 and 8005722
  • [TESTBUG] Initial compact profile test groups need adjusting
  • Update JAX-WS RI integration to 2.2.9-b14140
  • Rebase 8009009 against the latest jdk8/jaxws
  • Missing files from 8022885
  • Add TEST.groups in preparation to simplify rules in jdk/test/Makefile
  • Division by zero in Threads tab when shrinking jconsole window
  • Thread list should not allow multiple selection
  • NPE in JConsole when using Nimbus L&F
  • Un-needed mnemonic in JConsole resource file
  • OPENJDK build fails due to missing jfr.jar
  • Remove com/sun/jdi/DoubleAgentTest.java and com/sun/jdi/FieldWatchpoints.java from ProblemList.txt
  • Add replace() implementations to TreeMap
  • Remove sun.misc.Sort and sun.misc.Compare
  • Pattern.splitAsStream tests required
  • Intermittent test failures in sun/security/ssl/javax/net/ssl/NewAPIs
  • java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java fails
  • Fix lone remaining doclint issue in java.util.regex
  • Replace File.mkdirs with Files.createDirectories to get MaxPathLength.java failure details
  • AnnotationTypeDeadlockTest.java throws java.lang.IllegalStateException: unexpected condition
  • fix RMISocketFactory example to avoid using localhost
  • -interval=0 is accepted and jconsole doesn't update window content at all
  • Threads tab: Simple text to explain that one can click on a thread to get stack trace
  • Math.random() / Math.initRNG() uses "double checked locking"
  • Logger.getLogger(name, null) should not allow to reset a non-null resource bundle
  • In java.math.BigDecimal, division by one returns zero
  • Using BigDecimal.divideToIntegralValue with extreme scales can lead to an incorrect result
  • java/nio/file/WatchService/SensitivityModifier.java failing intermittently (win8)
  • BufferedInputStream calculates negative array size with large streams and mark
  • j.l.Class.getAnnotatedSuperclass() doesn't return null in some cases
  • StampedLock serializes readers on writer unlock
  • Sort fails with ArrayIndexOutOfBoundsException
  • Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions
  • j.u.SplittableRandom
  • Fix raw type warning caused by Sink
  • The JVMTI specification does not conform to recent changes in JNI specification
  • KerberosPrincipal::equals should ignore name-type
  • regression: SecurityException is NOT thrown while trying to pack a wrongly signed Indexed Jar file
  • JDK-8016850 broke the old build
  • Add com.sun.media.sound to the list of restricted package
  • Fix doclint issues in javax.net.ssl
  • Wrapping collections should override default methods
  • "abc1c".matches("(\\w)+1\\1")) returns false
  • Rename Comparator combinators to disambiguate overloading methods
  • (process) ProcessBuilder should catch SecurityException rather than AccessControlException
  • Potential deadlock in of sun.nio.ch.Util/IOUtil
  • ZipFileSystem crashes on old zip file
  • Ensure functional consistency across Random, ThreadLocalRandom, SplittableRandom
  • test/java/io/pathNames/GeneralSolaris.java fails on symbolic links
  • import type-annotations updates
  • Shadowing of type-variables vs. member types
  • What is the scope of an annotation?
  • javac.sym.Profiles uses a static Map when it should not
  • Add missing test for JDK-7118412
  • Generic throws, overriding and method reference
  • javac should not use lazy constant evaluation approach for method references
  • Suspicious MethodParameters attribute generated for local classes capturing local variables
  • Relax some warnings in doclint
  • Fix badly named test
  • Use the unannotatedType in cyclicity checks.
  • javadoc -charset option generates wrong meta tag
  • Typo in warning about obsolete source / target values
  • Remove @ignore tags from MethodReference66 and InInterface when 8013875 is fixed
  • [javadoc] Error processing sources with -private
  • javadoc internal DocletAbortException should set cause when appropriate
  • tools/javac/tree/TypeAnnotationsPretty.java test cases with @TA newline fail on windows only
  • Potential infinite loop in javadoc
  • javac -Xpkginfo command's documentation is sparse
  • allow super invocation for adapters
  • Enhance for-in and for-each for Lists and Maps
  • Instance __proto__ property should exist and be writable.
  • Mirror functions can not be invoked using invokeMethod, invokeFunction
  • new RegExp('').toString() should return '/(?:)/'
  • Debugger information gather is too slow.
  • Arbitrary javax.script.Bindings objects as ENGINE_SCOPE objects are not handled as expected.
  • engine.js init script should be loaded into every global instance created by engines
  • --log=attr did not unindent identNodes
  • Implement Java.super() as the preferred way to call super methods
  • -d option was broken for any dir but '.'. Fixed Java warnings.
  • TokenType#toString returned null
  • Updated DEVELOPER_README and command line flags, ensuring that undocumented flags that aren't guaranteed to work (disabled by default) and that are work in progress show up with an EXPERIMENTAL tag.
  • String trimRight and trimLeft could be defined
  • Regexp m flag does not recognize CRNL or CR
  • Simplify eval in DebuggerSupport.
  • ScriptEngineTest.printManyTest fails
  • Gracefully handle @CS methods while binding bean properties
  • Object.prototype.toString should contain the class name for all instances

New in Java SE Development Kit (JDK) 8 Build b105 Developer Preview (Sep 6, 2013)

  • Number of opened files used in select() is limited to 1024 [macosx]
  • Feedback on README-builds.html
  • new hotspot build - hs25-b47
  • [TESTBUG] remove crufty '_g' support from HS tests
  • Enable Class Data Sharing for CompressedOops
  • ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
  • The -Xshare:auto option is ignored for -server
  • Unsafe volatile double store on bsd is broken
  • NPG: performance counters for compressed klass space
  • ClassDump ignored jarStream setting
  • Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes.
  • HOTSPOT_BUILD_COMPILER needs to support "Sun Studio 12u3"
  • Bad code generated for certain interpreted CRC intrinsics, 2 cases
  • Cleanup the public interface to PhaseCFG
  • ciReplay test assumes TIERED compilation is available
  • Add WB APIs for OSR compilation
  • Broken JIT compiler optimization for loop unswitching
  • Clang: enable return type warnings on BSD
  • Redundant class init check
  • G1: optimize nmethods scanning
  • G1: G1CollectedHeap::mark_strong_code_roots() needs to handle ParallelGCThreads=0
  • Enhance layout_helper_log2_element_size assert
  • NPG: MetaspaceMemoryPool should report statistics for all of metaspace
  • TaskQueue misses minimal documentation and references for analysis
  • Partitioning based on eden sampling during allocation not reset correctly
  • SPECJVM2008 has errors introduced in 7u40-b34
  • [MacOSX] PrinterIOException when printing a JComponent
  • [parfait] Memory leak in jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
  • Crash in font loading code on Linux (due to use of reflection)
  • [macosx] [PIT] lookupPrintServices() returns one too long array
  • Modal dialog fails to obtain keyboard focus
  • Two conformance tests for AccessibleText.getCharacterBounds(int i) fail
  • (doc) java/awt/Window.java has several typos in javadoc
  • [parfait] Memory leak in jdk/src/windows/native/sun/windows/awt_Cursor.cpp
  • [parfait] possible null pointer dereference in jdk/src/windows/native/sun/windows/awt_Font.cpp
  • Clipboard.getAvailableDataFlavors: Comparison method violates contract
  • [macosx] Remaining duplicated key events
  • Manual test closed/java/awt/JAWT causes JVM to crash starting from JDK 5
  • [TEST_BUG] Testcase for 8004859 has a typo
  • [findbugs] a warning on javax.sound.sampled.DataLine$Info constructor
  • [findbugs] More com.sun.media.sound.* warnings
  • Incorrect Localization of HijrahChronology
  • (process) appA hangs when read output stream of appB which starts appC that runs forever
  • Native Windows ccache still reads DES tickets
  • test/tools/pack200/TimeStamp.java failing
  • Fix lint warnings in sun.security.{provider,rsa,x509}
  • JarInputStream doesn't provide certificates for some file under META-INF
  • missing codepage Cp290 at java runtime
  • Spliterator for values of j.u.c.ConcurrentSkipListMap does not report ORDERED
  • InetAddress.writeObject() performs flush() on object output stream
  • lint warnings in j.u.concurrent packages
  • Opening a file using java.io can throw IOException on Windows
  • (tz) Support tzdata2013d
  • SPECJVM2008 has errors introduced in 7u40-b34
  • DEREncodedKeyValue.supportedKeyTypes should be private
  • javax_security/auth/login tests fail in compact 1 and 2 profiles
  • java/lang/reflect/Method/GenericStringTest.java failing
  • Convert junit tests to testng in test/java/lang/invoke
  • SQLXML javadoc example typo
  • Cipher with OAEPPadding and OAEPParameterSpec can't be created
  • Spec for PBEParameterSpec does not specify behavior when paramSpec is null
  • BigInteger Burnikel-Ziegler quotient and remainder calculation assumes quotient parameter is zero
  • ProblemList.txt updates (8/2013)
  • java/util/logging/bundlesearch/ResourceBundleSearchTest.java is failing intermittently
  • Add test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java to ProblemList
  • Fix new doclint issues in java.util.zip
  • (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion
  • MakeClasslist is buggy and its README is out of date.
  • [verifier] move DefaultMethodRegressionTests.java to jdk
  • Fix dep_ann lint warnings in swing code
  • System.console() throws IOE on some Windows
  • Evaluate adding incrementExact, decrementExact, negateExact to java.lang.Math
  • JDK-5049299 has broken old make in jdk8
  • ISO 4217 Amendment Number 156
  • Remove experimental Profile attribute
  • TEST_BUG: java/nio/channels/ServerSocketChannel/AdaptServerSocket.java failing intermittently
  • Memory leak in some NetworkInterface methods
  • FJ parallelism zero
  • java/util/concurrent/forkjoin/ThrowingRunnable.java
  • ConcurrentHashMap typo
  • Remove throws SocketException from DatagramPacket constructors accepting SocketAddress
  • {CRC32, Adler32}.update(byte[] b, int off, int len): undocumented ArrayIndexOutOfBoundsException
  • Remove ShortRSAKey1024.sh from ProblemList.txt
  • File.getCanonicalPath() throws IOException when invoked with "nul" (win)
  • Cleanup overrides warning in src/solaris/classes/sun/print/AttributeClass.java
  • Collectors.collectingAndThen
  • java/util/stream tests no longer compiling following JDK-8019401
  • More than 50 tests failed in Serialization/DeSerialization testing (test-mangled)
  • java/util/Spliterator/SpliteratorCollisions.java fails in HashableIntSpliteratorWithNull data provider
  • Clarify spliterator characteristics for collections containing no elements
  • java/time/tck/java/time/chrono/TCKChronology.java start failing
  • java/time/test/java/time/chrono/TestUmmAlQuraChronology.java failed.
  • java/time/test/java/util/TestFormatter.java failed in th locale.
  • Inconsistency between JapaneseEra start dates and java.util.JapaneseImperialDate
  • Document Spliterator characteristics and binding policy of java util concurrent collection impls
  • Graph in Memory tab is not redrawn immediately if changed via 'Chart' combo box
  • jconsole Makefile clean rule is missing rm of generated Version.java
  • String "Tabular Navigation" should be rephrased for avoiding mistranslation
  • Jconsole becomes unusable if a plugin throws an exception
  • Number of opened files used in select() is limited to 1024 [macosx]
  • test/java/util/Comparator/TypeTest.java not running (failing but reported as passing)
  • Document Spliterator characteristics and binding policy of java util collection impls
  • OAEPParameterSpec does not work if MGF1ParameterSpec is set to SHA2 algorithms
  • test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java fails
  • Wrap RandomAccessFile.seek native method into a Java helper method
  • JCK javax.security.auth.Policy tests fail when run in Profiles mode
  • IDN do not throw IAE when hostname ends with a trailing dot
  • The impl of KerberosClientKeyExchange maybe not exist
  • Some vm/jvmti tests fail because cannot attach to the Java virtual machine
  • Clean up profile-includes.txt
  • test/com/sun/jdi/sde/TemperatureTableTest.java failing intermittently
  • Collections.emptyList().sort((Comparator)null) throws NPE
  • Update JavaScript code in JDK for changes in iteration over Java arrays
  • Create a jvm.cfg for zero on 32 bit architectures
  • javac, generates erroneous LVT for a test case with lambda code
  • javac Null Pointer Exception in Enter.visitTopLevel
  • -profile does not work when -bootclasspath specified
  • javac, two tests are failing with compile time error after class Collector was modified
  • methods missing from NewArrayTree
  • JCK tests: a compile-time error should be given in case of ambiguously imported fields (types, methods)
  • Javac doesn't report \"java: reference to method is ambiguous\" any more
  • compile of iterator use fails with error \"defined in an inaccessible class or interface\"
  • DefaultMethodRegressionTests.java fail in TL
  • Javadoc is confused by @link to imported classes outside of the set of generated packages
  • JavaCompiler.getTask() has incomplete specification for IllegalArgumentException
  • Change the profiles table on overview-summary.html page to a list
  • Smartjavac needs more flexibility with linking to sources
  • javac generates unverifiable initializer for nested subclass of local class
  • More user friendly compile-time errors for uncaught exceptions in lambda expression
  • javac crashes if the generics arity of a base class is wrong
  • Sjavac test failes in langtools nightly
  • Exception when javac -processor is given a class name with invalid postfix
  • Regression in wording of unchecked warning message
  • AnnotationTypeMismatchException instead of MirroredTypeException
  • Warn about use of 1.5 and earlier source and target values
  • tools/javac/processing/model/testgetallmembers/Main.java fails against JDK 7 and JDK 8
  • Restructure some properties to facilitate better translation
  • javadoc generates invalid HTML in Turkish locale
  • In class use, some tables are randomly unsorted
  • Various Dynalink security enhancements
  • Memory leaks in nashorn sources and tests found by jhat analysis
  • Revisit all doPrivileged blocks
  • publicLookup access failures in ScriptObject, ScriptFunction and ScriptFunction
  • Revisit doPrivileged blocks in Dynalink
  • Please exclude test test/script/trusted/JDK-8020809.js from Nashorn code coverage run
  • NativeArguments has wrong implementation of isMapped()
  • [nightly] Two nashorn print tests fail in nightly builds on Windows
  • Object.getPrototypeOf should return null for host objects rather than throwing TypeError
  • Confusing error message checking instanceof non-class
  • Array.prototype iterator functions like forEach, reduce should work for Java arrays, lists
  • bind on built-in constructors don't use bound argument values
  • Date.parse("2000-01-01T00:00:00.Z") should return NaN
  • SUB missing for widest op == number for BinaryNode
  • jjs tools should support a mode where it will load few command line scripts and then entering into interactive shell

New in Java SE Development Kit (JDK) 8 Build b104 Developer Preview (Aug 29, 2013)

  • lin32 - JDK 8 build for Linux-i586 on Oracle Linux 6.4 64-bit machines does not generate the bundles directory in the build directory
  • make dist-clean should remove javacservers directory
  • 64 bit JDK build fails on windows 7 due to missing corba source files
  • new hotspot build - hs25-b46
  • JSR 292: JVMTI PopFrame needs to handle appendix arguments
  • Make zero compile after 8016131 and 8016697
  • Unable to build hsx24 on Windows using project creator and Visual Studio
  • syntax error near "umpiconninfo_t" -- when building on Solaris 10
  • [TESTBUG] runtime/7107135 always passes
  • Hotspot needs to know about Windows 8.1 and Windows Server 2012 R2
  • Visual 2008 IDE build is broken
  • nsk/jvmti/AttachOnDemand/attach030 crashes on Win32
  • Hide internal data structure in PhaseCFG
  • Remove unneeded ad-files
  • whitebox testClearMethodStateTest fails with tiered on sparc
  • Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
  • False sharing between PSPromotionManager instances
  • Use specific generations rather than generation iteration
  • SunStudio compiler can not handle EXCEPTION_MARK and inlining
  • Unnecessary clearing of the card table introduced by the fix for JDK-8023013
  • ObjectCountEventSender::send needs INCLUDE_TRACE guards when building OpenJDK with INCLUDE_TRACE=0

New in Java SE Development Kit (JDK) 8 Build b103 Developer Preview (Aug 20, 2013)

  • The corba repo contains unneeded .sjava files
  • new hotspot build - hs25-b45
  • OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
  • Assert in ThreadTimesClosure::do_thread() due to use of naked oop instead of handle
  • runtime/8000968/Test8000968.sh has incorrect check for proper config
  • Memory leak when GCNotifier uses create_from_platform_dependent_str()
  • test/runtime/7196045 times out
  • SA: ClassDump.run() should not ignore existing ClassFilter.
  • [TESTBUG] closed/runtime/4845371/DBB.java failed on solaris 10 X65
  • 6 SA-JDI OSThread class initialization throws an exception
  • multiple SIGSEGVs fails on staxf
  • TieredCompilation can be enabled even if TIERED is undefined
  • Crash in sun.reflect.UnsafeObjectFieldAccessorImpl.get
  • Test compiler/codecache/CheckUpperLimit.java fails when memory limited
  • better event messages
  • GetUnsafeObjectG1PreBarrier fails on 32-bit with: Unrecognized VM option 'ObjectAlignmentInBytes=32'
  • Fix doclint warnings in javax.print
  • test/javax/print/autosense/PrintAutoSenseData.java throwing NPE
  • Fix doclint warnings in javax.imageio
  • Fix doclint warnings in java.awt.image
  • Add regression test for JDK-8007267
  • [macosx] api/javax_swing/JTabbedPane/index2.html#varios fails
  • JavaFX scene included in Swing JDialog not starting from Web Start
  • java/awt/EventDispatchThread/LoopRobustness/LoopRobustness throws NPE
  • Underlines and strikethrough not rendering correctly
  • [parfait] Potential memory leak in gtk2_interface.c
  • Awt assert on Hashtable.cpp:124
  • [macosx] setIconImage is not endlessly tolerant to the broken image-arguments
  • ContainerListener Documentation may be incorrect
  • More ProblemList.txt updates (7/2013)
  • (coll) Inefficient calculation of power of two in HashMap
  • (fs) Files.readAllBytes() does not read any data when Files.size() is 0
  • P11TlsPrfGenerator has anonymous inner class with serialVersionUID
  • Fix doclint issues in j.u.Deque & Queue
  • Numerous splitereator impls do not throw NPE for null Consumers
  • jarsigner parses alias as command line option (depending on locale)
  • System.getProperty("os.name") returns "Windows NT (unknown)" on Windows 8.1
  • Remove superfluous @test tag from SpliteratorTraversingAndSplittingTest
  • j.u.c.CompletionStage
  • CompletableFuture/Basic.java fails on single core machine
  • Add SecurityPermission "insertProvider" target name
  • (fmt) Inconsistency formatting subnormal doubles with hexadecimal conversion
  • Apps launched via double-clicked .jars have file.encoding value of US-ASCII on Mac OS X
  • BigDecimal/CompareToTests and BigInteger/CompareToTests are incorrect
  • Fix varargs lint warnings in the JDK
  • jconsole-plugin script demo does not work with nashorn
  • change RMI javadocs to specify that remote objects are exported to the wildcard address
  • sourceObj validation during desereliazation of RelationNotification should be relaxed
  • Additional debug info for test/java/net/NetworkInterface/IndexTest.java
  • JCK test api/javax_xml/crypto/dsig/TransformService/index_ParamMethods fails
  • (reflect) Add support for Project Lambda concepts in core reflection
  • Fix doclint warnings in javax.sound
  • Fix doclint issues in java.applet
  • Fixed warnings in java.util root, except for HashMap
  • Fix lint warnings in sun.security.ec
  • Fix lint warnings in sun.security.pkcs12
  • suppress deprecation warnings in sun.rmi
  • Fix Javac Warnings in com.sun.security.auth Package
  • Fix doclint issues in java.beans
  • Extend Collector with 'finish' operation
  • Fix doclint issues in javax.accessibility
  • Fix serial warnings in java.util.stream
  • Fix Warnings In sun.net.www.protocol.http Package
  • cleanup some raw types and unchecked warnings in java.util.stream
  • [macosx] SCDynamicStore prints error messages to stderr
  • Nashorn compatibility issues in jhat's OQL feature
  • deadlock in SSLSocketImpl between between write and close
  • Fixed various serializations and deprecation warnings in java.util, java.net and sun.tools
  • Fix Warnings in sun.invoke.anon Package
  • clean up warnings from sun.tools.asm
  • c.s.t.javac.tree.Pretty.visitNewArray() prints duplicate dimension markers
  • javac generates dead code if a try with an empty body has a finalizer
  • Wrong kind of name used in comparison in javax.lang.model code for repeatable annotations TreeMaker.AnnotationBuilder creates broken element literals with repeating annotations
  • javac should not reference/use sample code
  • RFE : Javadoc Accessibility : Use CSS styles rather than or tags
  • stddoclet: Add CSS style for setting header/footer to be italic
  • Big object literal with numerical keys exceeds method size

New in Java SE Development Kit (JDK) 8 Build b102 Developer Preview (Aug 10, 2013)

  • new hotspot build - hs25-b44
  • TieredCompilation should be default
  • ciReplay: gracefully exit & report meaningful error when replay data parsing fails
  • Memory leak during class redefinition
  • [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
  • minimal1.make needs to force off components not supported by the minimal VM
  • Test gc/g1/TestPrintRegionRememberedSetInfo.java fails with "test result: Error. No action after @build"
  • CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
  • CMS Long initial mark pauses
  • Deprecate -XX:DefaultMaxRAMFraction
  • G1: G1HeapRegionSize flag value not updated correctly
  • G1: Remove some unused G1 flags
  • Regression in SAXParserImpl in 7u40 b34 (NPE)
  • CTW fails on all Solaris platforms
  • NPE in TrueTypeGlyphMapper
  • [parfait] False positive: memory leak in jdk/src/share/native/sun/font/layout/CanonShaping.cpp
  • [parfait] #418 - #428 XRBackendNative.c Integer overflow
  • Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException
  • [macosx] Text (Label) is incorrectly drawn with a rotated g2d
  • [macosx] JLabel preferred size incorrect on retina displays with non-default font size
  • NullPointerException at sun.print.Win32PrintService.getMediaPrintables
  • [macosx] Print job goes to default printer regardless of chosen printer
  • Fix for 8016343 will not compile on Windows.
  • OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances
  • closed/javax/swing/JFileChooser/4966171/bug4966171.java throws java.io.NotSerializableException: javax.swing.plaf.basic.BasicFileChooserUI$AcceptAllFileFilter
  • NPE when using SynthTreeUI's expandPath()
  • [macosx] Exception at java.awt.datatransfer on headless mode (only in GUI session)
  • [macosx] AWT program menu disabled on Mac
  • [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working
  • Spelling mistake in documentation for AWT: 1.4, 1.5, 1.6, 1.7
  • clean up source files containing carriage return characters
  • JLightweightFrame API should export layout properties change notifications
  • JComboBox text sometimes become selected, sometimes not (Windows LAF)
  • Fix doclint accessibility issues in java.io
  • JSR 310 DateTime API Updates IV
  • Cleanup of -Xlint warnings in java.time
  • test/java/time/format/TestDateTimeTextProvider.java failing
  • Typo in javadoc for Class.toGenericString()
  • (process) IOException thrown by ProcessBuilder.start() method is incorrectly encoded
  • Fix doclint issues in misc package-info.java files
  • Fix doclint issues in java.nio.*
  • Crash when both libnet.so and libmawt.so are loaded
  • Ensure consistent insertion for ConcurrentHashMap
  • Adds constructor PriorityQueue(Comparator)
  • Add serialVersionUID to LambdaConversionException.java
  • improvement of RedefineBigClass and RetransformBigClass tests
  • Spec updates for java.util.function
  • A unit test should not use a fix port to run a jmx connector
  • UnstructuredName should support DirectoryString
  • ProblemList.txt updates (7/2013)
  • Add PKIXRevocationChecker NO_FALLBACK option and improve SOFT_FAIL option
  • Fix misc doclint issues in java.util and java.io
  • Fix doclint issues in java.util.concurrent
  • More doclint fixes in java.net
  • Regression in SAXParserImpl in 7u40 b34 (NPE)
  • XML DSig API allows wrong tag names and extra elements in SignedInfo
  • Fix lint warnings in java.lang.ref
  • Clean up doclint warnings and errors in java.text package
  • java/lang/management/ThreadMXBean/ResetPeakThreadCount.java fails intermittently
  • Need to run ProviderTest.java in othervm mode.
  • Add unit test for PriorityQueue(Comparator) constructor
  • Faster division of large integers
  • Clean up some code style in recent BigInteger contributions
  • Fix doclint issues in java.nio.charset
  • Remove explicit othervm execution from jdk/test/Makefile
  • print function as defined by jrunscript's init.js script is incompatible with nashorn's definition
  • TreeMap.values().spliterator() does not report ORDERED
  • TreeMap.entrySet().spliterator() reports SORTED + null comparator but the elements are not Comparable
  • PKCS11Test hiding exception failures
  • The NSS version should be detected before running crypto tests
  • Remove SSLEngineDeadlock.java from problem list
  • javadoc cleanup in java.net
  • test/java/time/tck/java/time/format/TCKFormatStyle.java failing
  • StringJoiner merges with itself not as expected
  • Stream.concat incorrectly calculates unsized state
  • j.u.Random/RandomStream.java test needs more robust timeout duration
  • Clean up doclint problems in java.util package, part 2
  • [TEST_BUG] sun/invoke/util/ValueConversionsTest.http://hg.openjdk.java.net/jdk8/jdk8/langtools
  • CBug ID Synopsys
  • TestLiteralCodeInPre fails on windows
  • doclint doesn't reset HTML anchors correctly
  • doclint gives incorrect warnings on normal package statements
  • javac doesn't fill in end position for some errors of type not found
  • Javac doesn't fill in end position for some annotation related errors
  • Javac doesn't fill in end position for uninitialized variable errors
  • javac gives incorrect doclint warnings on normal package statements
  • 42 tests in annot102* fail with compile-time errors.
  • doclint does not check type variables for @throws
  • javax.lang.model tests for repeating annotations fail in getAnnotationsByType
  • javac crashes when speculative attribution infers intersection type with array component
  • field initialized with lambda in annotation types doesn't compile
  • javac crashes on accessibility check with method reference with typevar receiver
  • Missing LineNumberTable entries in compiled class files
  • Diamond finder may mark a required type argument as unnecessary
  • assertion failure in javac when compiling with -source 1.6 -target 1.6
  • Exclude two failing tests from Nashorn CC run
  • Initialization of white space strings in scanner should be done with \u strings
  • ClassCastException Undefined->Scope on spiltter class generated for a large switch statement
  • Revisit checkPermission calls in Context class
  • Java adapter should not allow overriding of caller sensitive methods
  • Limit access to static members of reflective classes
  • Not all callables are handled for toString and other function valued properties
  • Comments need to be tokens
  • REGRESSION: test262 failures after JDK-8021122
  • Use public lookup again
  • Prevent access to constructors of restricted classes
  • Fix regression for 8021189
  • RETURN symbol has wrong type in split functions
  • Make nashorn access checks consistent with underlying dynalink
  • --verify-code option results in AnalyzerException
  • invokeMethod throws NoSuchMethodException when script object is from different script context
  • Inconsistent stackmap with splitter threshold set very low
  • ClassCastException:.ScriptObjectMirror -> ScriptObject when getInterface called on object from different ScriptContext
  • Run tests with reduced splitter threshold
  • Two runsunspider tests fail after updating sunspider to 1.0
  • @fork tests should use VM options passed from project.properties
  • print function defined in engine.js does not handle multiple arguments

New in Java SE Development Kit (JDK) 8 Build b101 Developer Preview (Aug 6, 2013)

  • new hotspot build - hs25-b43
  • ResourceMark nesting problem in stringStream
  • NMT huge memory footprint, it usually leads to OOME
  • Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand
  • assert(_f2 == 0 || _f2 == f2) failed: illegal field change
  • hotspot changes needed to compile with Visual Studio 2012
  • JNI GetPrimitiveArrayCritical should not be callable on object arrays
  • nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()'
  • JVM crashes when native code calls sigaction(sig) where sig>=0x20
  • Eliminate InstanceKlass::_cached_class_file_len.
  • jniCheck.cpp:check_is_obj_array asserts on TypeArrayKlass::cast(aOop->klass())
  • Avoid crashes in WatcherThread
  • Early loading of HashMap and StringValue under -XX:+AggressiveOpts can be removed
  • Event based tracing needs a UNICODE string type
  • volatile double access via Unsafe.cpp is not atomic
  • Method parameters are not copied in clone_with_new_data
  • [TESTBUG] runtime/jsig/Test8017498.sh failed to compile native code
  • Different execution plan when using JIT vs interpreter
  • Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier()
  • Crash when using -XX:+RestoreMXCSROnJNICalls
  • Allow customization of hotspot source directories and files

New in Java SE Development Kit (JDK) 8 Build b100 Developer Preview (Jul 30, 2013)

  • new hotspot build - hs25-b42
  • PSR:PERF G1 not collecting old regions when humongous allocations interfer
  • Use stubs to implement safefetch
  • ARM -- avoid native stack walking
  • FEATURE_SECURE_PROCESSING set to true or false causes SAXParseException to be thrown
  • NullPointerException in xml sqe nightly result on 2013-07-12
  • Graphics.getClipBounds/getClip return difference nonequivalent bounds, depending from transform
  • [parfait] Potential null pointer dereference in jdk/src/share/native/sun/java2d/cmm/lcms/cmsgamma.c
  • After clicking on "Print UNCOLLATED" button, the print out come in order 'Page 1', 'Page 2', 'Page 1'
  • PIT: On Linux, OGL=true and fbobject=false leads to deadlock or infinite loop
  • [macosx] apple.laf.useScreenMenuBar regression comparing with jdk6
  • Wrong read Method returned for boolen properties
  • [macosx] Possibility to set the same frame for the different screens
  • [macosx] JVM crashes in CWrapper$NSWindow.screen(long)
  • [macosx] Incorrect usage of invokeLater() and likes in callbacks called via JNI from AppKit thread
  • accessibility.properties syntax issue
  • [macosx] Incorrect merge in the lwawt code
  • [macosx] applets with Drag and Drop fail with IllegalArgumentException
  • Static field in HTML parser affects all applications
  • deprecate public void SecurityManager.checkMemberAccess(Class clazz, int which)
  • java.util.concurrent collection Spliterator implementations
  • Sync misc j.u.c classes from 166 to tl
  • MethodHandles.catchException() fails when methods have 8 args + varargs
  • 8b92-lambda regression: TreeSet("a", "b").stream().substream(1).parallel().iterator() is empty
  • Fix doclint issues in javax.crypto and javax.security subpackages
  • Non optimized initialization of NSS crypto library leads to scalability issues
  • Fix doclint errors in java.util.Format*
  • Add java.lang.reflect.Parameter.isNamePresent()
  • Fix doclint errors in java.lang.*.
  • (sl) ServiceLoader.next incorrect when creation and usages are in different contexts
  • Add StringJoiner.merge
  • HashMap.isEmpty is non-final, potential issues for get/remove
  • Update XML Signature implementation to Apache Santuario 1.5.4
  • Update CookieHttpsClientTest to use the newer framework.
  • NPG: The test MemoryTest.java needs to be updated to support metaspace
  • Fix HTML doclint issues in java.io
  • Fix doclint warnings in java.util.regex
  • java.util/stream Spliterators from sequential sources should not catch OOME
  • Make BaseStream public
  • Sync j.u.c Fork/Join from 166 to tl
  • Replace CheckPackageAccess test with better one from closed repo
  • java/lang/ref/OOMEInReferenceHandler.java failing intermittently
  • NPE in AbstractSaslImpl when trace level >= FINER in KRB5
  • Unmodifiable map entry becomes modifiable if taken from a stream of map entries
  • Improve and generalize the F/J tasks to handle right or left-balanced trees
  • Fix doclint issues in java.util.Spliterator
  • (fmt) Formatter.format("%0.4f\n", 56789.456789) generates MissingFormatWidthException
  • BigDecimal.stripTrailingZeros() has no effect on zero itself ("0.0")
  • Fix doclint issues in java.lang.management
  • Fix doclint issues in java.net
  • Test com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java fails with NPE
  • Sync j.u.c.ConcurrentHashMap from 166 to tl
  • JavaDoc for ScriptEngineFactory.getProgram() contains an error
  • Problem in PKCS11 regression test TestRSAKeyLength
  • Enforce the requirement of Management Interfaces being public
  • api/java_util/jar/Pack200 test failed with compactX profiles.
  • File.createTempFile requires unnecessary "read" permission
  • Adjust CipherInputStream class to work in AEAD/GCM mode
  • DH Key interoperability testing between SunJCE and JsafeJCE not successful
  • SunJCE DES/DESede SecretKeyFactory.generateSecret throws InvalidKeySpecExc if passed SecretKeySpec
  • JDK-6356530 broke the old build
  • (ref) Reference queues may return more entries than expected
  • NullPointerException in xml sqe nightly result on 2013-07-12
  • Clarify "present" and annotation ordering in Core Reflection for Annotations
  • Add Collections.{checked|empty|unmodifiable}Navigable{Map|Set}
  • Optional.filter, map, and flatMap
  • Stream.concat methods
  • Consolidate StreamSupport.{stream,parallelStream} into a single method
  • RuntimeException gets obscured during OCSP cert revocation checking
  • Pull spliterator() up from Collection to Iterable
  • Nest StreamBuilder interfaces inside relevant Stream interfaces
  • sun/security/krb5/auto/ReplayCacheTestProc.java
  • (ann) Race condition between isAnnotationPresent and getAnnotations
  • Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl
  • Clean up doclint problems in java.util package, part 1
  • javadoc cleanup in javax.security
  • Few policy tests are failing in Lambda nightly
  • some langtools tools do not accept -cp as an alias for -classpath
  • -Xlint:serial does not flag abstract classes with concrete methods/members
  • NullPointerException in RichDiagnosticFormatter for bad input program
  • Javac crashes when method is called on a type-variable receiver from lambda expression
  • Cannot compile following lambda
  • Lambda isn't compiled with return statement
  • use of ternary operator in lambda expression gives incorrect results
  • very long error messages on inference error
  • TEST_BUG: test/tools/javap/8007907/JavapReturns0AfterClassNotFoundTest.java broken
  • Unclear spec for target typing with conditional operator (?:)
  • NPE in javadoc
  • Lambda compatibility and checked exceptions
  • Add bottom-up type-checking support for unambiguous method references
  • Nested method capture and inference
  • java/lang/Class/asSubclass/BasicUnit.java fails to compile
  • Spurious errors when compiling nested stuck lambdas
  • Wrong diagnostic after compaction
  • Bogus type-variable substitution with array types with dependencies on accessibility check
  • compiler hangs if the generics arity of a base class is wrong
  • Graph inference: wrong logic for picking best variable to solve
  • varargs-related warnings are meaningless on signature-polymorphic methods such as MethodHandle.invokeExact
  • Graph inference: avoid redundant computation during bound incorporation
  • Warning produced for an incorrect file
  • void operator should always evaluate to undefined
  • typeof does not work properly for java methods and foreign objects
  • ~ is a unary operator
  • AccessControl.doPrivileged is broken when called from js script
  • Sometimes a var declaration using itself in its init wasn't declared as canBeUndefined, causing erroneous bytecode
  • for each (init; test; modify) is invalid
  • Static calls - self referential functions needed a return type conversion if they were specialized, as they can't use the same mechanism as indy calls
  • Add regression test for passing cases
  • allow dot as inner class name separator for Java.type
  • Object.defineProperty performance issue
  • return after break incorrectly sets the block as terminal
  • allInteger switches were confused by boolean cases, as they are a narrower type than int
  • inherited property invalidation does not work with two globals in same context
  • Use spill properties for large object literals
  • scope symbol didn't get a slot in certain cases
  • Void returns combined with return with expression picked the wrong return type
  • shared PropertyMaps should not be used without duplication
  • nashorn jdk buildfile BuildNashorn.gmk still renamed jdk.nashorn.internal.objects package
  • empty char range in regex
  • reactivate the 8006529 test.
  • Ability to extend global instance by binding properties of another object
  • In the case of an eval switch, we might need explicit conversions of the tag store, as it was not known in the surrounding environment.
  • LinkageError: attempted duplicate class definition when --loader-per-compiler=false
  • regex capture behaves differently than on V8
  • interface checks in Invocable.getInterface implementation
  • static property does not work on accessible, public classes
  • __noSuchProperty__ defined in mozilla_compat.js script should be non-enumerable
  • Remove symbol fields from nodes that don't need them
  • noSuchProperty can't cope with vararg functions
  • PrintVisitor wasn't printing bodies of FunctionNode within UnaryNode
  • Wrong handling of line numbers with multiline string literals
  • ClassCastException: String can not be casted to ScriptFunction
  • Duplicate name and signature in finally block
  • Input argument array wrapping in loadWithNewGlobal is wrong
  • Implement Object.bindProperties(target, source) for beans
  • Object literal property initialization is not done in source order
  • Enforce reflection access restrictions on Object.bindProperties
  • Don't use exceptions for widening of ArrayData
  • fix reporting of call site locations; print them on -tcs=miss
  • Array(0xfffffff) throws OutOfMemoryError
  • throw RangeError for too large NativeArrayBuffer size
  • [findbugs] Some classes in jdk.nashorn.internal.runtime.regexp expose mutable objects
  • array concatenation should skip empty elements

New in Java SE Development Kit (JDK) 8 Build b99 Developer Preview (Jul 20, 2013)

  • F# on PATH breaks Cygwin tools (mkdir, echo, mktemp ...)
  • new hotspot build - hs25-b41
  • Wrong JNI error code for preexisting JVM
  • NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state
  • runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
  • The hs_err file gets wrong name
  • Thread::_handle_area initial size too big
  • AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
  • Remove JVM_SetProtectionDomain from hotspot
  • assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr
  • VM should no longer create bridges for generic signatures.
  • The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build).
  • Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs
  • Hotspot compilation error with latest Studio compiler
  • Crash when specifying very large code cache size
  • -XX:+UseISM fails an assert(obj->is_oop()) when running SPECjbb2005
  • Refactor the sending of the object count after GC event
  • GC id variable in gcTrace.cpp should use typedef GCId
  • object_count_after_gc should have the same timestamp for all events
  • Metaspace capacity not available
  • JDK8 b98 source with GPL header errors
  • The SAM method should be passed to the metafactory as a MethodType not a MethodHandle
  • Move lambda bridge creation from metafactory and VM to compiler
  • JDK8 b98 source with GPL header errors
  • The SAM method should be passed to the metafactory as a MethodType not a MethodHandle
  • Move lambda bridge creation from metafactory and VM to compiler
  • Few policy tests are failing in Lambda nightly

New in Java SE Development Kit (JDK) 8 Build b98 Developer Preview (Jul 17, 2013)

  • F# on PATH breaks Cygwin tools (mkdir, echo, mktemp ...)
  • new hotspot build - hs25-b40
  • Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites
  • SA: provide mechanism for using an alternative SA debugger back-end.
  • Win32 crash with CDS enabled and small heap size
  • Check of capacity paramenters in JNI_PushLocalFrame is wrong
  • race condition in VMError::report_and_die()
  • Duplicate zombie check in safe_for_sender
  • Minor issues in event tracing metadata
  • [dtrace] signatures returned by Java 7 jstack() are corrupted on Solaris
  • NPG: With -XX:+UseCompressedKlassPointers OOME due to exhausted metadata space could occur when metaspace is almost empty
  • G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased
  • G1: Non Java threads should lock the shared SATB queue lock without safepoint checks.
  • G1: assert(_card_counts[card_num]

New in Java SE Development Kit (JDK) 8 Build b97 Developer Preview (Jul 9, 2013)

  • Can't use --with-java-devtools and --with-devkit at the same time
  • New files dont apear in src.zip
  • Build Configuration Fail in Windows Platform
  • make CONF= isn't working
  • build with LOG=trace broken on mac
  • build-infra: REGRESSION: Publisher was NOT set for some JDK files
  • jdk8-build prebuild fails in source bundle generation, The path of TOOLS_DIR ... is not found
  • JDK8 b95 source with GPL header errors
  • new hotspot build - hs25-b39
  • [OSX] All libjvm symbols are exported
  • NPG: Memory regression: Thread::_metadata_handles uses 1 KB per thread.
  • Remove superfluous EnableInvokeDynamic warning from UnlockDiagnosticVMOptions check
  • Handle and/or warn about SI_KERNEL
  • more explicit code location information in hs_err crash log
  • Reduce Symbol::_refcount from 4 bytes to 2 bytes
  • JVM hangs verifying system dictionary
  • Build errors caused by missing .PHONY
  • GC log is limited to 2G for 32-bit
  • MetaspaceAux print_metaspace_change() should print "used" after GC not capacity
  • UseAdaptiveGCBoundary is broken
  • NPG: Add a memory pool MXBean for Metaspace
  • Remove unused breakpoint relocation type
  • Clang support broke slowdebug build for i586
  • 8001345 is incomplete
  • Add a regression test for 8005956
  • 8010460 changes broke bytecodeInterpreter.cpp
  • JDK8 b96 source with GPL header errors
  • JDK8 b94 source with GPL header errors
  • Exclude MemoryTest.java and MemoryTestAllGC.sh to enable integration
  • JDK8 b96 source with GPL header errors
  • JDK8 b94 source with GPL header errors

New in Java SE Development Kit (JDK) 8 Build b96 Developer Preview (Jun 29, 2013)

  • Pass CONCURRENCY=$(JOBS) to test/Makefile
  • README-builds.html misses crucial requirement on bootstrap JDK
  • The SOURCE value in release file of JDK 8 doesn't contain valid changesets for some OS since b74
  • Warnings building corba repo due to missing hashCode methods
  • Restrict object access
  • Better handling of objects for transportation
  • jdk8 l10n resource file translation update 3
  • Better rewriting of nested subroutine calls
  • Improve on checking order
  • Add check for invalid offset for new AccessControlContext isAuthorized field
  • new hotspot build - hs25-b38
  • assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
  • Write regression test for 7167142
  • Create tests for CDS feature
  • cleanup warnings indicated by the -Wunused-value compiler option on linux
  • Kitchensink crashed with SIGSEGV in MemBaseline::baseline
  • os::close can restart ::close but that is not a restartable syscall
  • JVMTI Doc: GetOwnedMonitorStackDepthInfo has a typo in monitor_info_ptr parameter description
  • Add complementary RETURN_NULL allocation macros in allocation.hpp
  • Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites
  • ThreadMXBean.getDeadlockedThreads reports bogus deadlocks on JDK 8
  • NMT: reserve/release sequence id's in incorrect order due to race
  • Test8009761.java "Failed: init recursive calls: 24. After deopt 25"
  • VM often crashes on solaris with a lot of memory
  • Parallelize string table scanning during strong root processing
  • G1: Use ArrayAllocator for BitMaps
  • Format issue with -XX:+PrintAdaptiveSizePolicy on JDK8
  • SPARC cbcond branch offset out of 10-bit range
  • remove SPARC V8 support
  • SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods
  • assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
  • JVM_GetClassContext: use GrowableArray instead of KlassLink
  • During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
  • Compilation issue with adlc using latest SunStudio compilers
  • VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
  • JDK8 b95 source with GPL header errors
  • Xpathexception does not honor initcause()
  • Xalan and Xerces internal ObjectFactory need rework
  • Improve JAXP 1.5 error message
  • Property http://javax.xml.XMLConstants/property/accessExternalDTD is not recognized.
  • Incorrect transformation of XPath expression "string(-0)"
  • JAXP Build failure
  • Regression: diff. behavior with user-defined SAXParser
  • jdk8 l10n resource file translation update 3 - jaxp
  • Rebase 8005432 & 8003542 against the latest jdk8/jaxws
  • Improve processing of MTOM attachments
  • Update access to JAX-WS
  • REGRESSION: closed/java/awt/color/ICC_Profile/LoadProfileTest/LoadProfileTest.java fails with java.io.StreamCorruptedException: invalid type code: EE since 8b87
  • cmm test failures with OpenJDK
  • PrintServiceLookup.lookupPrintServices() does not return consistent result
  • Windows native print dialog does not reflect default printer settings
  • Memory leak when kerning is used on Windows.
  • OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions
  • [macosx] MixingInHwPanel.java test fails on Mac trying to click in the reserved corner
  • java.lang.ArrayIndexOutOfBoundsException when running SwingSet2 demo
  • [TEST_BUG] [macosx] The tests never finishes
  • TEST_BUG: java/awt/GraphicsDevice/CheckDisplayModes.java fails
  • TEST_BUG: [macosx] closed/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java fails
  • BasicComboBoxEditor throws NullPointerException
  • [parfait] Buffer overrun at jdk/src/macosx/native/com/apple/laf/AquaFileView.m
  • java/awt/Focus/TypeAhead/TestFocusFreeze.java hangs with jdk8 since b56
  • [macosx] Cursor does not update properly when in fullscreen mode on Mac
  • AWT test fails
  • Regression: Focus issues with Oracle WebCenter Capture applet
  • TreeModelEvent doesn't accept "null" for root as Javadoc specifies.
  • No file filter selected in file type combo box when using JFileChooser
  • [parfait] Possible buffer overrun in jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
  • [parfait] Format string argument mismatch in jdk/src/solaris/native/sun/xawt/XToolkit.c
  • [parfait] False positive function call mismatch at jdk/src/solaris/native/sun/xawt/XWindow.c
  • Remove redundant calls of toString() on String objects
  • Restrict access to com/sun/corba/se/impl package
  • Remove setProtectionDomain0 and JVM_SetProtectionDomain in JDK
  • Xpathexception does not honor initcause()
  • CharSequence.codePoints can be faster
  • Performance tuning of sun.misc.FloatingDecimal/FormattedFloatingDecimal
  • getFinalAttributes should use FindClose
  • New sun.misc.FDBigInteger class as part of 7032154
  • SimpleDateFormat parses wrong 2-digit year if input contains spaces
  • java/text/Format/DateFormat/WeekDateTest.java fails on OEL5.6 hi_IN.UTF-8
  • CookiePolicy spec conflicts with CookiePolicy.ACCEPT_ORIGINAL_SERVER
  • Fix typo in SerialRef and missing @param in SerialStruct
  • (zipfs) demo/zipfs/basic.sh failing
  • enable RetransformBigClass.sh test when fix for 8013063 is promoted
  • TEST_BUG: non-compliant jmc in the bin directory hangs testing
  • Remove DoubleStream.range methods
  • Rename IntStream.longs/doubles and LongStream.doubles to asXxxStream
  • Rename Spliterators.spliteratorFromIterator to Spliterators.iterator
  • More javadoc warnings
  • File.createTempFile hangs with temp file starting with 'com1.4'
  • java.io.File.createTempFile enters infinite loop when passed invalid data
  • Int/LongStream.range/rangeClosed
  • Right-bias range spliterators for large ranges
  • Retire Thread.stop(Throwable) so that it throws UOE
  • Update j.u.c. tests to avoid using Thread.stop(Throwable)
  • java/util/Locale/LocaleProviders.java failing again on Windows
  • Convert j2se NetBeans project to use top-level make targets
  • javadoc warnings, unexpected
  • java/lang/instrument/RetransformBigClass.sh failing again
  • Remove hash32() method and hash32 int field from java.lang.String
  • java/util/BitSet/BitSetStreamTest.java no longer compiles, missed by 8015895
  • JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679
  • TEST_BUG: Step2: After selecting 'View Warning Log', it is empty instead of FileNotFound.
  • TEST_BUG: The 'ptool.test' can't be saved in the 'tmp' folder.
  • Instruction is not clear on how to use keytool to create JKS store in case
  • SimpleDateFormat.format Portuguese Month should not be capitalized
  • Balanced spliterator for SpinedBuffer
  • java/lang/ThreadGroup/Suspend.java test fails intermittently
  • NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE
  • CookieHandler does not work with localhost
  • Memory leak ... security/jgss/wrapper/GSSLibStub.c
  • Incorrect transformation of XPath expression "string(-0)"
  • Replace deprecated PlatformLogger isLoggable(int) with isLoggable(Level)
  • Class.getGenericInterfaces performance improvement
  • JSR292: MethodType interning penalizes scalability
  • Signature.getAlgorithm return null in special case
  • Lambda metafactory should not attempt to determine bridge methods
  • (process) Strict validation of input should be security manager case only [win].
  • Memory management improvements
  • (fs) Files.probeContentType problems
  • Improve deserialization
  • Improve provision of JMX providers
  • Improve JMX notification support
  • Improve resulting notifications in JMX
  • Better JMX data handling
  • Better input checking in JMX
  • Improve Windows network stack support.
  • Refactor network address handling in virtual machine identifiers
  • Improve cmsAllocProfileSequenceDescription
  • tests javax/management/mxbean/MiscTest.java and javax/management/mxbean/StandardMBeanOverrideTest.java fail
  • Clarify definition restrictions
  • Update RMI connection dialog box
  • Better handling of T2K glyphs
  • Better handling of annotation interfaces
  • Improve CurvesAlloc
  • Some api/javax_net/SocketFactory tests fail in 7u25 nightly build
  • Augment applet contextualization
  • Better handling of MBeanServers
  • Improve storing keys in KeyStore
  • Better implementation of RMI connections
  • Improve robustness of JMX internal APIs
  • Better API coherence for JMX
  • Better provision of factories
  • Improve stability of cmsnamed
  • Improve cmsStageAllocLabV2ToV4curves
  • 8007926 Improve cmsPipelineDup
  • Improve SerialJavaObject.getFields
  • Socket.getLocalAddress not consistent with InetAddress.getLocalHost
  • Adjust JMX for underlying interface changes
  • Resourcefully handle resources
  • Improve robustness of sound classes
  • Improve MIDI event handling
  • Improve MBean notifications
  • Improve JMX class checking
  • Better compliance testing
  • Better glyph processing
  • Better JMX type conversion
  • Better handling of annotations in JMX
  • Improve on checking order
  • Better URLClassLoader resource management
  • Improve handling of TSA data
  • Better Component Rasters
  • Better Short Component Rasters
  • Better Byte Component Rasters
  • Improve ImagingLib
  • java/awt/image/mlib/MlibOpsTest.java failed since jdk7u25b05
  • java/awt/image/mlib/MlibOpsTest.java fails on sparc solaris
  • [tck-red] Application can not be run, the Security Warning dialog is gray.
  • Improve shape handling
  • Improve scripting
  • (reflect) Class.getEnclosingMethod problematic for some classes
  • SerialJavaObject.java should be CallerSensitive aware
  • CallerSensitive annotation should not have CONSTRUCTOR Target
  • Better serialization support
  • ObjectStreamClass and ObjectStreamField should be CallerSensitive aware
  • java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java failed since 7u25b03 on windows
  • Integrate Apache Santuario
  • Update display of applet windows
  • Improve reflection utility classes
  • Better image validation
  • Better positioning of PairPositioning
  • Better validation of image layouts
  • ArrayIndexOutOfBoundsException with some fonts using LineBreakMeasurer
  • REGRESSION: test com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java fails to compile since 7u21b03
  • Better image channel verification
  • [macosx] Sometimes the applet showing the modal dialog itself loses the ability to gain focus
  • about 30% regression on specjvm2008.serial on 7u25 comparing 7u21
  • Rework part of fix for JDK-6741606
  • Test closed/java/awt/Dialog/DialogAnotherThread/JaWSTest.java fails since jdk 7u25 b07
  • (reflect) Revise checking in getEnclosingClass
  • Restrict publicLookup with additional checks
  • TimeZone.getDefault() throws NPE due to sun.awt.AppContext.getAppContext()
  • XML DSig API allows a RetrievalMethod to reference another RetrievalMethod
  • Better checking of XML signature
  • REGRESSION: closed/javax/imageio/plugins/bmp/Write3ByteBgrTest.java fails since 7u25 b09
  • WLS fails to add a logger with "" in its own LogManager subclass instance
  • Most of the Swing dialogs are blank on one win7 MUI
  • Netbeans IDE begins to throw a lot exceptions since 7u25 b10
  • java/lang/invoke/7196190/MHProxyTest.java fails after 8009424
  • tools/javac/file/zip/T6865530.java fails for win32/64 in 7u25 nightly runs
  • NumberFormatException during startup if JDK-internal property java.lang.Integer.IntegerCache.high set to bad value
  • Improve forEach/replaceAll for Map, HashMap, Hashtable, IdentityHashMap, WeakHashMap, TreeMap, ConcurrentMap
  • Add programmatic deadlock detection in SSLEngineDeadlock
  • jdk8 l10n resource file translation update 3
  • Add possibility to disable client initiated renegotiation
  • anti-delta fix for 8015402
  • Faster multiplication and exponentiation of large integers
  • BigInteger.pow() algorithm slow in 1.4.0
  • More ProblemList.txt updates (6/2013)
  • Clean-up Javac Overrides Warnings In javax/management/NotificationBroadcasterSupport.java
  • Overrides warnings in jdi and jconsole
  • Cleanup overrides warning in sun/tools/ClassDeclaration.java
  • HttpURLConnection does not handle URLs with an empty path component.
  • Move copying of jfr files to closed makefile
  • JDK8 b94 source with GPL header errors
  • MethodParameters are not filled in for synthetic captured local variables
  • javac erroneously accept ambiguous field reference
  • Enhanced for loop: local variable scope inconsistent with JLS
  • Compiler mishandles three-way return-type-substitutability
  • javac crashes with stack overflow when method called recursively from nested generic call
  • Duplicate variable in lambda causes javac crash
  • Fix OAC issue in langtools docs
  • test/tools/javac/VersionOpt.java passes on windows
  • Add stat support to LambdaToMethod
  • javac, warning message: use of ''_'' as an identifier might not be supported in future releases, should be more especific
  • javap, method com.sun.tools.javap.Main.run returns 0 even in case of class not found error
  • javac, add new flag for polymorphic method signatures
  • Get rid of utf8 chars in two tests
  • Fix doclint warnings in javax.lang.model
  • Compiler should emit bridges in interfaces
  • javac, avoid analyzing lambdas for source 7 compilation
  • javac, TypeTag refactoring has provoked performance issues
  • Improve Javadoc framing
  • Additional improvement in Javadoc framing
  • jdk8 l10n resource file translation update 3
  • javac, method toString() of class ...javac.code.Flags doesn't print all the flag bits
  • anti-delta fix for 8013789
  • javac, add new internal symbols to make operator resolution faster
  • JDK8 b94 source with GPL header errors
  • JSON parsing issues with escaped strings, octal, decimal numbers
  • NativeArray is inconsistent in using long for length and index in some places and int for the same in other places
  • canBeUndefined too conservative for some use before declaration cases
  • backing out test without third party license approval
  • loadWithNewGlobal should support user supplied arguments from the caller
  • a = []; a[0x7fffffff]=1; a.sort()[0] should evaluate to 1 instead of undefined
  • PropertyMap.addProperty() is slow
  • loadWithNewGlobal does not allow apply operation
  • JS Object builtin prototype is not thread safe
  • Array.prototype functions don't honour non-writable length and / or index properties
  • Parsing of octal string escapes is broken
  • Numeric literal must not be followed by IdentifierStart
  • Hex code from escape() should be padded
  • String.prototype.replace called with function argument should not replace $ patterns
  • Use in catch block that may not have been executed in try block caused illegal byte code to be generated
  • script mirror object access should be improved
  • nashorn.option.no.syntax.extensions has the wrong default
  • URLReader constructor should allow specifying encoding

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 8 Build b94 Developer Preview (Jun 19, 2013)

  • remove lzma and upx from repository JDK8
  • build-infra: Closed (deploy) can't be built using environment from SDK SetEnv.cmd
  • JDK 8 build on Linux fails with new build mechanism
  • new hotspot build - hs25-b35
  • JSR292: Failed to reject invalid class cplmhl00201m28n
  • runtime/memory/ReserveMemory.java fails due to 'assert(bytes % os::vm_allocation_granularity() == 0) failed: reserve block size'
  • NPG: Move oops out of InstanceKlass into mirror
  • Test returns ClassNotFoundException
  • perf regression in nashorn JDK-8008448.js test after 8008511 changes
  • CMS fatal error: must own lock MemberNameTable_lock
  • @Contended: fix multiple issues in the layout code
  • Print reason for failed MiniDumpWriteDump() call
  • revise the fix for 8007037
  • runtime/contended/OopMaps.java fails with OutOfMemory
  • There is a symbol AsyncGetCallTrace in libjvm.symbols that does not exist in minimal/libjvm.a when DEBUG_LEVEL == release
  • Some tests have failed with SIGSEGV on arm-hflt on build b82
  • Incorrect print format in error message for VM cannot allocate the requested heap
  • Rename a bunch of methods in size policy across collectors
  • NPG: 2.5% regression in young GC times on CRM Sales Opty
  • Remove unused CDS support from StringTable
  • Large performance hit when the StringTable is walked twice in Parallel Scavenge
  • new hotspot build - hs25-b36
  • par compact - add a table to speed up bitmap searches
  • PSScavenge::is_obj_in_young is unnecessarily slow with UseCompressedOops
  • G1: G1SummarizeRSetStats output on Linux needs improvemen
  • G1: Verification after a full GC is incorrectly placed.
  • G1: deal with fragmentation while copying objects during GC
  • Restore PrintSharedSpaces functionality after NPG
  • compiler/ciReplay/TestSA.sh fails with assert() index is out of bounds
  • Constructor.getAnnotatedReturnType() returns empty AnnotatedType
  • multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
  • Remove RelaxAccessControlCheck for JDK 8 bytecodes
  • JSR292: assert(end_offset == next_offset) failed: matched ending
  • Test8015436.java fails 'can not access a member of class Test8015436 with modifiers "public static"'
  • remove unused thread-local variables _ScratchA and _ScratchB
  • Mac OS X: JVM crash on infinite recursion on Appkit Thread
  • Missing regression test for 8011771
  • fix some -Wsign-compare warnings in adlc
  • nashorn tests fail with -XX:+VerifyStack
  • runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity
  • Code cache management command line options work only in special order. Another order of arguments does not deliver the second parameter to the jvm.
  • Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
  • File leak in hotspot/src/share/vm/compiler/compileBroker.cpp
  • C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
  • [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
  • Enable HotSpot build with Clang
  • remove assert to catch access to object headers in index_oop_from_field_offset_long
  • Remove default restriction settings of jaxp 1.5 properties in JDK8
  • remove lzma and upx from repository JDK8
  • Remove redundant fontconfig files
  • Text is not rendered correctly if destination buffer is custom
  • [macosx] surrogate pairs do not render properly.
  • [macosx] Application launched via custom URL Scheme does not receive URL
  • Regression: java.awt.datatransfer.FlavorListeners not notified on Linux/Java 7
  • requestFocusInWindow to a disabled component prevents window of getting focused
  • JMenuItems draw behind TextArea
  • Test java/awt/Window/Grab/GrabTest.java fails on MacOSX
  • XMLEncoder in 1.7 can't encode objects initialized in no argument constructor
  • If you wrap a JTable in a JLayer you can't use the page up and page down cmds
  • Vector could be created with appropriate size in DefaultComboBoxModel
  • Support single threaded AWT/FX mode.
  • The test incorrectly recognizing OS
  • Prevent sending multiple WINDOW_CLOSED events for already disposed windows
  • Null Arrow Button Throws Exception in BasicComboBoxUI
  • Edits to text components hang for clipboard access
  • [macosx] A follow-up for the fix 8010721
  • Correct a wording in javadoc of java.awt.ContainerOrderFocusTraversalPolicy
  • Null pointer exception when adding more than 9 accelators to a JMenuBar
  • method ZipEntry.setTime(long) works incorrectly
  • Support NTFS and Unix-style timestamps for entries in Zip files
  • (zipfs) Newly created entry in zip file system should set all file times non-null values.
  • (zipfs) file times of entry in zipfs should always be the same regardless of TimeZone.
  • Memory leak in jdk/src/solaris/bin/java_md_solinux.c
  • test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java fails in agentvm mode
  • Spec typo: extra } in the spec for j.u.s.StreamBuilder
  • Minor typo in the spec for j.u.stream.Stream.findFirst()
  • Conversion table for EUC-KR is incorrect
  • Need to strip leading zeros in TlsPremasterSecret of DHKeyAgreement
  • DigestOutputStream does not turn off digest calculation when "close()" is called
  • javax.crypto tests fail with new PBE algorithm names
  • Cipher.wrap/unwrap methods should define UnsupportedOperationException
  • Minor spec issue: java.util.Spliterator.getExactSizeIfKnown
  • getNetworkPrefixLength() does not return correct prefix length
  • (bf) CharBuffer.chars too slow with default implementation
  • awt_InputMethod.c cleanup is needed
  • Test Failure in closed/java/io/pathNames/GeneralSolaris.java
  • Memory leak: Java_java_net_TwoStacksPlainDatagramSocketImpl_receive0 [parfait]
  • Check on '$' character is missing in the HttpCookie class constructor
  • {Int|Long}SummaryStatistics toString() throws IllegalFormatConversionException
  • Peformance improvements to Integer and Long string formatting.
  • Primitive iterator over empty sequence, null consumer: forEachRemaining methods do not throw NPE
  • j.u.stream.StreamSupport class has default constructor generated
  • JConsole shows negative CPU Usage
  • shell tests don't begin with #!/bin/sh
  • StringJoiner example in class description not in sync with streams API
  • Add the proper Javadoc to @Contended
  • add test/tools/pack200/TimeStamp.java to ProblemsList
  • Remove java/lang/instrument/IsModifiableClassAgent.java from ProblemList.txt
  • Handle Frequent HashMap Collisions with Balanced Trees
  • Remove duplicate spliterator tests
  • sun/misc/URLClassPath/ClassnameCharTest.java failing
  • ProblemList.txt updates (6/2013)
  • TEST_BUG: java/nio/file/Files/StreamTest.java fails when sym links not supported
  • Japanese calendar field names are not displayed with -Djava.locale.providers=HOST on Windows
  • Update ConcurrentHashMap to v8
  • add doPrivileged methods with limited privilege scope
  • java/nio/channels/AsynchronousChannelGroup/Unbounded.java failing again [win64]
  • HashMap spliterator tryAdvance() encounters remaining elements after forEachRemaining()
  • GenerateBreakIteratorData build warning
  • JDP packets containing ideographic characters are broken
  • Properties.loadFromXML fails with a chunked HTTP connection
  • Add at since tags to new ConcurrentHashMap methods
  • Add back Diagnostic Command JMX API
  • JDK 8 build on Linux fails with new build mechanism
  • try-with-resources fails to compile with generic exception parameters
  • javac, known parameter's names should be copied to automatically generated constructors for inner classes
  • Copy method annotations and parameter annotations to synthetic bridge methods
  • DocLint should support
  • [doclint] move remaining messages into resource bundle
  • javadoc -X does not include -Xdoclint
  • RichDiagnosticFormatter throws NPE when formatMessage is called directly
  • Five lambda TargetType tests have @ignore
  • Spurious inference error when return type of generic method requires unchecked conversion to target
  • javac incorrectly sets strictfp access flag on inner-classes
  • Reduce javac space overhead introduced with compiler support for repeating annotations
  • Test T6567415.java can fail on a slow machine
  • Add more typed arrays code coverage tests.
  • Date.parse illegal string parsing issues
  • reduce NodeLiteralNode to NullLiteralNode
  • FieldObjectCreator.putField ignores getValueType
  • CodeGenerator.initSymbols mutates a list
  • Type for :e symbol is wrong
  • Error.stack needs trimming
  • Thread safe print function
  • Function("}),print('test'),({") should throw SyntaxError
  • Need a global.load function that starts with a new global scope.
  • Race condition in RuntimeCallsites
  • loadWithNewGlobal needs to wrap createGlobal in AccessController.doPrivileged
  • test/script/basic/JDK-8012164.js fails on Windows
  • Javascript mapping of ScriptEngine bindings does not expose keys
  • loadWithNewGlobal return value has to be properly wrapped
  • ObjectNode.elements should be stronger typed
  • Several small code-gardening fixes
  • Array.prototype.reduceRight issue with large length and index
  • $EXEC does not handle large outputs
  • Nashorn JavaFX includes are out of sync with JavaFX repo

New in Java SE Development Kit (JDK) 8 Build b93 Developer Preview (Jun 12, 2013)

  • Add JMC configure option mapping to Jprt.gmk
  • Configure sets JOBS to 0 if memory is too low.
  • New build system does not run codesign on SA-related launchers on OS X
  • New build does not handle symlinks in workspace path
  • Add configure parameter --with-update-version
  • (s) Improve JTReg location detection and provide location to test/Makefile
  • remove lzma and upx from repository JDK8
  • JDK8 b91 source with GPL header errors
  • Redundant setting of external access properties in setFeatures
  • Remove unused, obsolete ObjectFactory classes
  • JDK8 b91 source with GPL header errors
  • Fix potential NULL pointer dereference
  • java.lang.UnsatisfiedLinkError exception throw by getAllFonts() on MacOSX
  • JDK7 Printing : CJK and Latin Text in a string overlap
  • [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest.
  • [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest
  • JDK 6 parses html text with script tags within comments differently from previous releases
  • Recursion in J2DXErrHandler() Causes a Stack Overflow on Linux
  • JToolTip#setTipText() sometimes (very often) not repaints component.
  • Test sun/awt/datatransfer/SuplementaryCharactersTransferTest.java fails to compile since 8b86
  • Java Bean Persistence with XMLEncoder
  • [macosx] In JDK7 the menu bar disappears when a Dialog is shown
  • TEST_BUG: java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java should be modified
  • [macosx] Views keep scrolling back to the drag position after DnD
  • java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java should be updated
  • [macosx] SWT app freeze when going full screen using Java 7 on Mac
  • Line break calculations in Java 7 are incorrect.
  • FileInputStream.available and skip inconsistencies
  • update policytool to support java.net.HttpURLPermission
  • Spliterator behavior for LinkedList contradicts Spliterator.trySplit
  • Spliterator.OfPrimitive
  • Additional static and instance utils for functional interfaces.
  • Spec j.u.f.Predicate doesn't specify NPEs thrown by the SE8's Reference Implementation
  • (fs) Add Files.list, lines and find
  • (str) Race condition in String.contentEquals when comparing with StringBuffer
  • (zipfs) zip provider doesn't work correctly with file systems providers rather than the default
  • Enable ergonomic VM selection in arm/jvm.cfg
  • More ProblemList.txt updates (5/2013)
  • Locale data needs correction (Month names for Maltese language)
  • Thread safety of Thread get/setName()
  • set max size for jtreg testvms
  • DateFormatSymbols documentation has incorrect description about DateFormat
  • Sample code in ListResourceBundle is still not correct
  • (str) StringBuffer "null" is not appended
  • Have GenericDeclaration extend AnnotatedElement
  • Online user guide of jconsole points incorrect link
  • Arrays parallel and serial sorting improvements
  • ktab creates a file with zero kt_vno
  • [launcher] removes multiple back slashes
  • (fs) WatchService failing when watching \\server\$d
  • VM could throw uncaught OOME in ReferenceHandler thread
  • Minor/sync/cleanup of ConcurrentHashMap
  • Disconnect button leads to wrong popup message
  • com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows
  • Default JDP address does not match the one assigned by IANA
  • File.isHidden() should return true for pagefile.sys and hiberfil.sys
  • CharsetDecoder.replacement should not be changeable except via replaceWith method
  • (rb) PropertyResourceBundle doesn't document exceptions
  • some constructors issues in com.sun.jndi.toolkit
  • TEST_BUG:java/io/pathNames/GeneralWin32.java fails intermittently
  • java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java fails with RuntimeException
  • (fs) Files.readAllBytes() copies content to new array when content completely read
  • With OCSP enabled on Java 7 get error 'Wrong key usage' with Comodo certificate
  • New build system does not run codesign on SA-related launchers on OS X
  • FDS: debuginfo file for libjdwp.so is missed
  • makefile changes to allow integration of new features
  • remove lzma and upx from repository JDK8
  • JDK8 b91 source with GPL header errors
  • add comments to javac/util/Convert.java
  • Qualified type reference with annotations in throws list crashes compiler
  • Redundant array copy in UnsharedNameTable
  • test/tools/javac/diags/Example.java leaves directories in tempdir
  • test has 2 @bug tags
  • Two jtreg tests are not run due to no file extension on the test files
  • Clarify "present" and annotation ordering in javax.lang.model
  • Parser regression in JDK 8 when compiling super.x
  • Regression: bug in Resolve.resolveOperator
  • javac crashes when varargs element of a method reference is inferred from the context
  • Have GenericDeclaration extend AnnotatedElement
  • Fix conflicting use of JCTree/JCExpression
  • Debug pointer at bad position
  • javac, ClassFile should have a read(Path) method
  • VerifyError with double Assignment using a Generic Member of a Superclass
  • genstubs needs to cope with static interface methods
  • Exclude testing and infrastructure packages from code coverage
  • binding already bound function with extra arguments fails
  • Original exception no longer thrown away when a finally rethrows
  • Remove debug flag from test runs
  • Update the Java interop documentation in the Java Scripting Programmer's Guide
  • Function.bind can't be called on prototype function inside constructor
  • Exclude testing and infrastructure packages from code coverage, round two
  • Allow class-based overrides to be initialized with a ScriptFunction
  • Avoid netscape.javascript.JSObject in nashorn code
  • Original exception no longer thrown away when a finally rethrows
  • Increase code coverage in Joni
  • Smoke test fail: Windows JDK-8008554.js - access denied ("java.io.FilePermission" "//C/aurora/sandbox/nashorn~source/test/script/basic/NASHORN-99.js" "read")
  • Reprise - Smoke test fail: Windows JDK-8008554.js - access denied ("java.io.FilePermission" "//C/aurora/sandbox/nashorn~source/test/script/basic/NASHORN-99.js" "read")
  • Range analysis first iteration, runtime specializations
  • ant test compilation error with JoniTest.java
  • rename Java.toJavaArray/toJavaScriptArray to Java.to/from, respectively.
  • Have NativeJavaPackage throw a ClassNotFoundException when invoked
  • readLine should accept a prompt as an argument
  • ScriptEnvironment ctor should be public
  • Typed Array, BYTES_PER_ELEMENT should be a class property
  • Review long and integer usage conventions
  • Allow conversion of JS arrays to Java List/Deque
  • Array literal constant folding issue
  • Revert accidental changes to build.xml
  • Clean up lexical contexts - split out stack based functionality in CodeGenerator and generify NodeVisitors based on their LexicalContext type to avoid casts
  • JSON parsing performance issue
  • JSON.parse should not use [[Put]] but use [[DefineOwnProperty]] instead
  • Nashorn shell does not start with Turkish locale
  • RegExp("[") results in StackOverflowError
  • Make the run-octane harness more deterministic by not measuring elapsed time every iteration. Also got rid of most of the run logic in base.js and call benchmarks directly for the same purpose
  • "i".toUpperCase() => currently returns "?", but should be "I" (with Turkish locale)
  • Octane harness fixes for rhino and entire test runs: ant octane, ant octane-v8, ant octane-rhino
  • Octane test run fails on Turkish locale
  • A lot of tests are named "runTest" in reports
  • Math round didn't conform to ECMAScript 5 spec
  • "abc".lastIndexOf("a",-1) should evaluate to 0 and not -1

New in Java SE Development Kit (JDK) 8 Build b92 Developer Preview (Jun 1, 2013)

  • Provide debugging information for programs
  • Fix jvm args for sjavac
  • build-infra Add configure --with-jtreg option for location of JTREG
  • new hotspot build - hs25-b34
  • JvmtiExport::post_raw_field_modification jni ref handling is odd
  • test/runtime/7158804/Test7158804.sh has bad copyright header
  • runtime/RedefineObject/TestRedefineObject.java has incorrect classname in @run tag
  • SA: jstack -m fails on Win32 : UnalignedAddressException
  • @Contended doesn't work correctly with inheritance
  • @Contended: explicit default value behaves differently from the implicit value
  • sscanf must use a length in the format string
  • PrintStringTableStatistics should include more footprint info
  • Move @Contended regression tests to the same place
  • Clean up class field layout code
  • Need to check for non-empty EXT_LIBS_PATH before using it
  • arch specific flags not passed to some link commands
  • Adjust Tiered compile threshold according to available space in code cache
  • hsdis fails to compile with binutils-2.23.2
  • loopTransform.cpp assert(cmp_end->in(2) == limit) failed
  • Kitchensink crashed with SIGSEGV, Problematic frame: v ~StubRoutines::checkcast_arraycopy
  • JRE crashes instead of stop compilation on full Code Cache. Internal Error (c1_Compiler.cpp:87)
  • Remove ObjectClosure as base class for BoolObjectClosure
  • Unable to allocate bit maps or card tables for parallel gc for the requested heap
  • Add fast Metasapce capacity and used per MetadataType
  • CMS: "Conservation Principle" assert failed
  • G1: PerRegionTable::fl_mem_size() calculates size of the free list using wrong element sizes
  • Minor code cleanup of the freelist management
  • JDK8 b91 source with GPL header errors
  • JDK8 b91 source with GPL header errors
  • Replace find, rm, printf and similar with their proper variables
  • JDK8 b91 source with GPL header errors

New in Java SE Development Kit (JDK) 8 Build b91 Developer Preview (May 25, 2013)

  • Add missing .PHONY targets to Main.gmk
  • Fix log levels in make
  • Provide debugging information for programs
  • new hotspot build - hs25-b33
  • nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free
  • NPG: keep compiled ic methods from being deallocated in redefine classes
  • RFE: -XX:+UseLargePages does not work with CDS
  • compiler/ciReplay/TestSA.sh fails in nightly
  • Incorrect vtable index being set during methodHandle creation for static
  • ContendedPaddingWidth should be range-checked
  • jvmtiExport.cpp::post_to_env() does not check malloc() return
  • NPG: Klass* const k should be const Klass* k.
  • NPG: Crash after redefining java.lang.Object
  • Purge PrintCompactFieldsSavings
  • Add VM option to facilitate the writing of CDS tests
  • remove use of global operator new - take 2
  • Test8009761.java "Failed: init recursive calls: 7224. After deopt 58824"
  • optimized build with GCC broken
  • JSR 292: Two jck/runtime tests crash on java.lang.invoke.MethodHandle.invokeExact
  • remove gamma launcher
  • enable parts of EliminateAutoBox by default
  • JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
  • failed java/lang/Math/DivModTests.java after 6934604 changes
  • TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
  • Regression tests for 8006088
  • Improve assert and remove some dead code from parMarkBitMap.hpp/cpp
  • tests/gc/arguments/Test(Serial|CMS|Parallel|G1)HeapSizeFlags jtreg tests invoke wrong class
  • Boundary values in some public GC options cause crashes
  • Refactoring: split up compute_generation_free_space() into two functions for class PSAdaptiveSizePolicy
  • G1: crashes with assert assert(prev_committed_card_num == _committed_max_card_num) failed
  • G1: Add remembered set size information to output of G1PrintRegionLivenessInfo
  • G1: Output for full GCs with +PrintGCDetails should contain perm gen size/meta data change info
  • VM exits if MaxTenuringThreshold is set below the default InitialTenuringThreshold, and InitialTenuringThreshold is not set
  • Issue in com.sun.org.apache.xml.internal.serializer.Encodings causes some JCK tests to fail intermittently
  • Upgrade JDK8 to JAXP 1.5
  • javadoc error in JAXP 1.5 patch
  • More warnings compiling jaxp.
  • Xrender: No text displayed using 64 bit JDK on solaris11-sparc
  • Printing: NullPointerException since jdk8 b82 showing native Page Setup Dialog.
  • GIF ImageReader does not call passComplete in IIOReadUpdateListener
  • Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later
  • [macosx] On MacOSX port java.awt.Toolkit.is/setDynamicLayout() are not consistent
  • [macosx] Animations not disabled for CALayers used via JAWT
  • Auto failed and threw exception:java.lang.UnsatisfiedLinkError:
  • [macosx] The scrollbar's block increment performs incorrectly
  • JLightweightFrame needs another synchronization policy
  • Toolkit eventListener leaks memory
  • TEST_BUG: java/awt/TrayIcon/DragEventSource/DragEventSource.java fails with java.lang.UnsupportedOperationException
  • TEST_BUG: java/awt/datatransfer/HTMLDataFlavors/HTMLDataFlavorTest.java fails with "RuntimeException: The data should be available" on Linux
  • Refresh jdk's private ASM to the latest.
  • Stream methods on BitSet, Random, ThreadLocalRandom, ZipFile
  • [pack200] improve performance of pack200
  • Heap corruption with NetworkInterface.getByInetAddress() and long i/f name
  • DigestMD5Client has not checked RealmChoiceCallback value
  • Connection ID for IPv6 addresses is not generated accordingly to the specification
  • Provide SharedSecrets access to String(char[], boolean) constructor
  • TEST_BUG: There is no /tmp directory for windows system.
  • Update JDK8 with Java DB 10.10.1.1.
  • File and other classes in java.io do not handle embedded nulls properly
  • Add Objects.nonNull and Objects.isNull
  • Iterator.remove and forEachRemaining relationship not specified
  • BufferedReader.lines()
  • Regex Matcher .start and .end should be accessible by group name
  • Constructor \w need update to add the support of \p{Join_Control}
  • Enable native JGSS provider on Mac
  • Revise javadoc for Executable.getAnnotatedReturnType()
  • Issue in com.sun.org.apache.xml.internal.serializer.Encodings causes some JCK tests to fail intermittently
  • java/lang/management/MemoryMXBean/ResetPeakMemoryUsage is not robust when getMax() returns -1
  • TEST_BUG: j/l/management/MemoryMXBean/ResetPeakMemoryUsage fails with NegativeArraySizeException
  • java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java failing since update to hs23-b15 or b16
  • test/sun/tools/jinfo/Basic.sh fails on when runSA is set to true
  • NPE thrown by SimpleDateFormat with TimeZoneNameProvider supplied
  • Throw required NPEs from removeAll()/retainAll()
  • Add tests for java.util.stream and lambda translation
  • Let allow_weak_crypto default to false
  • (profiles) Add javax.script to compact1
  • [launcher] cleanup code for correctness
  • [parfait] False positive integer overflow in jdk/src/solaris/bin/jexec.c
  • [parfait] Memory leak at jdk/src/share/bin/wildcard.c
  • [parfait] Undefined return value at jdk/src/share/bin/java.c
  • Move some tests from test/sun/security/provider/certpath/X509CertPath to closed repo
  • Pattern.splitAsStream
  • Implement Core Reflection for Type Annotations on parameters
  • (fs) Files.createDirectory fails if the resolved path is exactly 248 characters long
  • Add Modifer.parameterModifiers()
  • DivModTests should not compare pointers
  • Use Method Refs in j.u.stream.MatchOps
  • Minor refactorings to sun.reflect.generics.reflectiveObjects.*
  • GzipInputStream closes underlying stream during reading
  • SSLSessionImpl should have protected finalize()
  • (reopened) Need to clone array of input/output parameters
  • Remove rhino from jdk8
  • MethodHandle code: allow static and invokespecial calls to interface methods
  • Selector in HttpServer introduces a 1000 ms delay when using KeepAlive
  • (tz) Support tzdata2013c
  • Restore Objects.requireNonNull(T, Supplier)
  • bootcycle-images fails after upgrade to JAXP 1.5
  • (process) Runtime.exec(String) fails if command contains spaces [win]
  • scriptpad sample does not work with nashorn
  • Improve javadocs for Socket class by adding references to SocketOptions
  • Deadlock occurs when Charset.availableCharsets() is called by several threads at the same time
  • Base64.getXDecoder().wrap(...).read() doesn't throw exception for an incorrect number of padding chars in the final unit
  • StringBuffer.toString performance regression impacting embedded benchmarks
  • Evolve java networking same origin policy
  • JSR 310 DateTime API Updates III
  • Correct docs warning for Objects.requireNonNull(T, Supplier)
  • java/util/Locale/LocaleProviders.sh fails
  • A finalizer in sun.security.pkcs11.wrapper.PKCS11 perhaps should be protected
  • SunPkcs11 provider fails to parse config path containing parenthesis
  • Buffer problems with SunPKCS11-Solaris and CKM_AES_CTR
  • test/java/lang/Thread/GenerifyStackTraces.java doesn't clean-up
  • More buffers are stored or returned without cloning
  • Java debugger may fail to run
  • Incorrect handling of HTTP/1.1 " Expect: 100-continue " in HttpURLConnection
  • Removal of stack walk to find resource bundle breaks Glassfish startup
  • network test hangs [macosx]
  • [pack200] should support attributes introduced by JSR-308
  • Various classes of sunec.jar are duplicated in rt.jar
  • (proxy) Proxy constructor should check for null argument
  • More warnings compiling jaxp.
  • More ProblemList.txt updates (5/2013)
  • java/net/HttpURLPermission/HttpURLPermissionTest.java leaves files open
  • build-infra: While Constructing Javadoc information, JSpinner.java error: package sun.util.locale.provider does not exist
  • Provide debugging information for programs
  • Use open man pages for non commercial builds
  • Normalize @ignore comments on langtools tests
  • Improve rendered HTML formatting for {@code}
  • remove @GenerateNativeHeader
  • Using {@inheritDoc} in simple tag defined via -tag fails
  • Fix doclint issues in javax.lang.model
  • Enhance the DocTree API with DocTreePath
  • When a method reference to a local class constructor is contained in a method whose number of parameters matches the number of constructor parameters compilation fails
  • test/tools/javac/plugin/showtype/Test.java fails on windows: jtreg can't delete plugin.jar
  • javac can't handle annotations with a from a previous compilation unit
  • tools/javac/profiles/ProfileOptionTest.java needs modifying now that javax.script is in compact1
  • Restore Objects.requireNonNull(T, Supplier)
  • javac test class ToolTester handles classpath incorrectly
  • Trees.getElement should work not only for declaration trees, but also for use-trees
  • Replace int constants in LinkInfoImpl with enum
  • Remove LinkOutput in favor of direct use of Content
  • reduce use of RawHtml nodes in doclet
  • simplify LinkInfoImpl API
  • Remove single instance of resource with HTML from doclet resource bundle
  • Allow HTMLWriter.getResource to take Content args
  • Erratic/inconsistent indentation of signatures
  • {@literal} and {@code} should use \"new\" Taglet, not old.
  • Convert TagletOutputImpl to use ContentBuilder instead of StringBuilder
  • reduce use of TagletOutputImpl.toString
  • HTMLDocletWriter methods should generate Content, not Strings
  • Cleanup use of Util.escapeHtmlChars
  • replace some uses of Configuration.getText with Configuration.getResource
  • Speed up removeNonInlineHtmlTags
  • Cleanup JavaFX features in standard doclet
  • Cleanup names and duplicatre code in TagletManager
  • Remove TagletOutput in favor of direct use of Content
  • Implement lambda methods on interfaces as static
  • Javac NPE compiling Lambda expression on initialization expression of static field in interface
  • genstubs creates default native methods
  • Mutable static field in HtmlDocletWriter
  • update reference impl for type-annotations
  • Convert 4 tools multicatch tests to jtreg format
  • Add VariableTree.getNameExpression
  • Provide javax.lang.model.* implementation backed by core reflection
  • Method diagnostics resolution need to be simplified in some cases
  • Spurious raw types warning when using unbound method references
  • Javac issues spurious raw type warnings when lambda has implicit parameter types
  • NPE in javac with interface super in lambda
  • Detection of windows in sjavac fails.
  • Simplify PropertyMaps
  • SwitchPoint invalidation not working over prototype chain
  • JDK-8006220 caused an octane performance regression.
  • load("fx:base.js") should not be in fx:bootstrap.js
  • Node.setSymbol needs to be copy on write - enable IR snapshots for recompilation based on callsite type specialization. [not enabled by default, hidden by a flag for now]
  • mem usage histograms enabled with compiler logging level set to more specific than or equals to info when --print-mem-usage flag is used
  • ClassCastException in Regex
  • Regexp regression for escaped dash in character class
  • Function argument's prototype seem cached and wrongly reused
  • Removed Source field from all nodes except FunctionNode in order to save footprint
  • Removed explicit LineNumberNodes that were too brittle when code moves around, and also introduced unnecessary footprint. Introduced the Statement node and fixed dead code elimination issues that were discovered by the absense of labels for LineNumberNodes.
  • Nashorn needs to reuse temporary symbols
  • Rerun only failed 262 tests
  • Slim down the label stack structure in CodeGenerator
  • Make NashornLinker public

New in Java SE Development Kit (JDK) 8 Build b90 Developer Preview (May 20, 2013)

  • new hotspot build - hs25-b32
  • JvmtiClassFileReconstituter does not recognize default methods
  • Respect EXTRA_CFLAGS on windows
  • Add support for JMX interface to Diagnostic Framework and Commands
  • Perf_CreateLong creates perf counter of incorrect type
  • Guarantee(VerifyBeforeGC || VerifyDuringGC || VerifyBeforeExit || VerifyAfterGC) failed: too expensive
  • NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check
  • assert(s->refcount() != 0) failed: for create_overpasses
  • JvmtiClassFileReconstituter does not create BootstrapMethod attributes
  • Spelling error in JDK-8009615: boostrapmethod
  • remove crufty '_g' support from SA
  • Test test/closed/runtime/classunload broken
  • Refix hotspot jni_.h JNIEXPORT and JNIIMPORT definitions to match jdk version
  • Zero builds are broken after 8010862.
  • Cleanup platform ifdefs in unsafe.cpp
  • PrintMalloc conflicts with the command line parsing
  • G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment
  • Incompatible heap size flags accepted by VM
  • G1: HeapRegionSeq::shrink_by() has invalid assert
  • CMS: assert(used() == used_after_gc && used_after_gc

New in Java SE Development Kit (JDK) 8 Build b89 Developer Preview (May 11, 2013)

  • Support correct dependencies from header files on windows and solaris
  • Add java.util.stream to CORE_PKGS.gmk in root repo
  • Precision problems on sflt builds
  • Additional JavaDoc tags @apiNote, @implSpec and @implNote
  • CORBA boolean type unions do not generate compilable code from idlj
  • [corba] idlj generates read/write union helper methods that throw wrong exception in some cases
  • new hotspot build - hs25-b31
  • Assertion message displays %u and %s text instead of actual values
  • Kitchensink hanged, likely NMT is to blame
  • release_C_heap_structures is never called for anonymous classes.
  • JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands
  • NPG: Memory regression: One extra Monitor per ConstantPool
  • Remove support for u4 MethodParameter flags fields
  • Some tests on Interned String crashed JVM with OOM
  • Use PROT_NONE when reserving memory
  • SA crashes when attaching to a process on OS X
  • BigApps fails due to 'fatal error: Illegal threadstate encountered: 6'
  • Insufficient memory message says "malloc" when sometimes it should say "mmap"
  • SA-JDI exceptions caused by lack of permissions on OSX should be more verbose about issue cause
  • Adjust number of stack guard pages on systems with large memory page size
  • assert(i == total_args_passed) in AdapterHandlerLibrary::get_adapter since 8-b87
  • specify offset of IC load in java_to_interp stub
  • Special -agentpath checks needed with minimal VM to produce proper error message
  • NPG: Free unused VirtualSpaceNodes
  • gc/7072527/TestFullGCCount.java fails when GC is set in command-line
  • Remove unused is_root checks and closures
  • Remove warning about CMS generation shrinking.
  • NPG: init_dependencies in class loader data graph can cause invalid CLD
  • G1: Stack allocate instances of HeapRegionRemSetIterator
  • NPG: Inefficient Metaspace counter functions cause large young GC regressions
  • NPG: Parallel class loading tests fail after fix for JDK-8011802
  • G1: GraphKit accesses PtrQueue::_index as int but is size_t
  • Add a flag to turn off the output of the verbose verification code
  • ReservedSpace::align_reserved_region() broken on Windows
  • NPG: Remove unnecessary mark stack draining after CodeCache::do_unloading
  • gc/TestVerifyBeforeGCDuringStartup.java: java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: [Error: Could not find or load main class]
  • Possible deadlock with Metaspace locks due to mixed usage of safepoint aware and non-safepoint aware locking
  • Remove old code in HotSpot that supported the jmap -permstat functionality
  • ciReplay: Include PID into the name of replay data file
  • Change Whitebox implementation to make absence of method in Whitebox.class not fatal
  • adding compilation level to replay data
  • removed unused method: ciMethod::uses_monitors
  • removed unused code in SharedRuntime::handle_wrong_method
  • Tiered: CompilationPolicy::can_be_compiled(CompLevel_all) mistakenly return false
  • vm/runtime/simpleThresholdPolicy.cpp: assert(mcs != NULL).
  • Code cache flushing can get stuck reclaming of memory
  • Remove unused parameter "compiler" from DTRACE_METHOD_COMPILE* macros
  • JAXP Plugability Layer should use java.util.ServiceLoader
  • Update JAXP NetBeans project - add support for generating javadoc
  • Add build support for different man pages for OpenJDK and OracleJDK
  • Printed text become garbage on Mac OSX
  • [findbugs] public methods return internal arrays; may be private
  • AWT accidentally disables the NSApplicationDelegate of SWT, causing loss of OS X integration functionality
  • [TEST_BUG] java/awt/Toolkit/BadDisplayTest/BadDisplayTest.java failed on solaris
  • [macosx] ActionListener called twice for JMenuItem using ScreenMenuBar
  • [TEST_BUG] java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java failed on windows 8
  • [x11] Modal dialogs for fullscreen window may show behind its owner
  • [findbugs] One more beans issue, with ReflectionUtils
  • JInternalFrame not being finalized after closing
  • closed/java/awt/Frame/DisabledParentOfToplevel/DisabledParentOfToplevel.html failed since 1.8.0b36
  • [macosx] DisplayChangedListener is not implemented in LWWindowPeer/CGraphicsEnvironment
  • (fs) BasicFileAttributes.creationTime() should return birth time (mac)
  • Tests fail in -agentvm -concurrency mode
  • java.util.Currency javadoc has broken link to iso.org
  • Add sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java in ProblemList.txt
  • sun.misc.PerfCounter calls Perf.createLong with incorrect parameters
  • LogManager needs test to ensure stack trace is not being done to find bundle
  • Need to take care of long secret keys in HMAC/PRF compuation
  • JARSigner including TimeStamp PolicyID (TSAPolicyID) as defined in RFC3161
  • HTTP DIGEST implementation incorrectly quotes header values, fails auth
  • Initial java.util.stream putback -- internal API classes
  • Deadlock in LogManager
  • [TEST_BUG] console.sh failed Automatically with exit code 1.
  • default methods for Collections - forEach, removeIf, replaceAll, sort
  • Inital Streams public API
  • java.util collection Spliterator implementations
  • Implement Currency/LocaleNameProvider in Windows Host LocaleProviderAdapter
  • (fs) Eliminate recursion from FileTreeWalker
  • adding free form netbeans project for jdbc to jdk/make/netbeans
  • [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
  • TEST_BUG: java/io/Serializable/accessConstants/AccessConstants.java should be removed
  • test/java/time/test/java/util/TestFormatter fails in UTC TZ
  • Give more information about self-suppression from Throwable.addSuppressed
  • Correct errors in javadoc comments.
  • Regression: SimpleDateFormat incorrectly parses dates formatted with Z and z pattern letters
  • test/sun/security/provider/SecureRandom/StrongSeedReader.java failing
  • optimized defaults for Iterator.forEachRemaining
  • (str) String merge/join that is the inverse of String.split()
  • A utility class that forms the basis of a String.join() operation
  • Main streams implementation
  • Stream methods on Collection
  • StringIndexOutofBoundsException in Match.find() when input String contains surrogate UTF-16 characters
  • jdk8 l10n resource file translation update 2
  • (proxy) Proxy.getProxyClass doesn't scale under high load
  • Unbound krb5 for TLS
  • javadoc warnings
  • Changes for JDK-8005523 requires updates to refs.allowed
  • jvm.cfg needs updating for non-server builds
  • Memory leak in jdk/src/windows/native/java/net/NetworkInterface_winXP.c
  • Arrays streams methods
  • java.util.stream.Streams
  • Add java.util.stream.Collectors utilities
  • [findbugs] sun.management.AgentConfigurationError.getParams() may expose internal representation by returning AgentConfigurationError.params
  • Inet6Address serialization incompatibility
  • Add a way for java.sql.Driver to be notified when it is deregistered
  • Add testng.jar to Netbeans projects test compile classpath
  • Add MacOS sources to J2SE Netbeans project
  • JDK Netbeans projects should use ASCII encoding for sources
  • Unpack200 native library should be removed from profiles
  • JPRT unable to clean-up after tests that leave file trees with loops
  • Provide a utility class in com.sun.tools.classfile to find field/method references
  • NetworkInterface.getHardwareAddress returns zero length byte array
  • Base64.getEncoder(0, byte[]) returns an encoder that unexpectedly inserts line separators
  • ProblemList.txt updates (5/2013)
  • SASL: auth-conf negotiated, but unencrypted data is accepted, reset to unencrypt
  • add CharSequence.chars, CharSequence.codePoints
  • Enable debug info on all libraries for OpenJDK builds
  • DocTree API should provide start and end positions for tree nodes
  • Change default langtools source level to 7
  • cache frequently used name strings for DocImpl classes
  • Commit for JDK-8012656 breaks tl build
  • remove langtools Makefile-classic
  • Type parameter annotations not passed through to javax.lang.model
  • javac test failing after Lambda changes to java.util.List
  • strictfp interface misses strictfp modifer on default method
  • javac, a refactoring to Bits is necessary in order to provide a change history
  • javac should detect all mutable implicit static fields in langtools using a plugin
  • Provide a utility class in com.sun.tools.classfile to find field/method references
  • BootstrapMethodError when capturing constructor ref to local classes
  • Array.prototype.map.call({length: -1, get 0(){throw 0}}, function(){}).length does not throw error
  • Function.prototype.apply should accept any array-like argument for function arguments
  • Remove -esa from testing jvmargs
  • Date.prototype.toJSON does not handle non-Date 'this' as per the spec.
  • RegExp regression
  • Compile failed
  • JSAdapter overrides impacts strongly construction time
  • Immutable nodes - final iteration
  • -Dnashorn.unstable.relink.threshold=1 causes tests to fail.
  • Nashorn's package name vs class name inferring logic is wrong
  • findMegaMorphicSetMethod should not cast result type
  • Problems when script implements an interface with variadic methods
  • Don't expose internal symbols to scripts
  • ToUint32, ToInt32, and ToUint16 don't conform to spec
  • NativeDate.safeToString() throws RangeError for invalid date
  • Labeled break in finally causes stack overflow in Node copy
  • jjs should support -fx option
  • Various compatibility issues in String.prototype.split()
  • A collection of smaller speedups to compilation pipeline
  • Vararg constructor not found
  • ScriptEngineTest.java fails with compilation error when running under jtreg
  • function named 'arguments' should set DEFINES_ARGUMENTS flag in its parent, not itself
  • Octane performance regression
  • Issues with Date.prototype's get, set functions
  • Octane:pdfjs leaks memory, runs slower iteration to iteration
  • nashorn build failure with jdk8 b84
  • Should be using JavaFX 8 classes for -fx support
  • Streamline handling of with and eval
  • JSON.parse does not invoke "reviver" callback as per spec.
  • Configurable ignore/warning/error behavior for function declaration as statement
  • Increase code coverage report for types and logging

New in Java SE Development Kit (JDK) 8 Build b88 Developer Preview (May 4, 2013)

  • fix zero build on arm
  • create Solaris Studio IDE (Netbeans) project for hotspot sources
  • JDK-8013480 broke configure on solaris
  • Support correct dependencies from header files on windows and solaris
  • new hotspot build - hs25-b29
  • nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started"
  • G1: Eden occupancy/capacity output wrong after a full GC
  • NPG: Replace the ChunkList implementation with class FreeList
  • G1: Fix bug with compressed oops in template interpreter on x86 and sparc.
  • Missing time and date stamps for PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime
  • The Method counter fields used for profiling can be allocated lazily.
  • java/lang/invoke/6987555/Test6987555.java crashes with assert(mcs != NULL) failed: MethodCounters cannot be NULL.
  • add number of classes, methods and time spent to CompileTheWorld
  • test/Makefile should pick up JT_HOME environment variable
  • trim jprt build targets
  • Ideal() function for CmpLTMask
  • assert(nbits == 32 || (-(1

New in Java SE Development Kit (JDK) 8 Build b87 Developer Preview (Apr 27, 2013)

  • JKD-8009824 has broken webrev with some ksh versions
  • Better handling of method handle intrinsic frames
  • Issues with JAXP
  • JDK8 b86 source with GPL header errors
  • [lcms] ColorConvertOp: Alpha channel is not transferred from source to destination.
  • Use lcms as the default color management module in jdk8
  • Incomplete Introspection on nonpublic classes lead to IllegalAccessExceptions
  • [macosx] Unable type into online word games on MacOSX
  • Missing isLoggable() checks in logging code
  • [macosx] Blurry rendering with Java 7 on Retina display
  • [macosx] HiDPI support in Aqua L&F
  • JTextField doesn't get focus or loses focus forever
  • Add conversion functional interfaces
  • Long.parseLong(String, int) has inaccurate limit on radix for using 'L'
  • [findbugs] Probably returned array should be cloned
  • Accept unknown PKCS #9 attributes
  • Unknown CertificateChoices
  • Wrong comment for PL in LocaleISOData, 1989 forward Poland is Republic of Poland
  • JSR 310 DateTime API Updates II
  • hijrah-config-umalqura.properties is missing from makefiles/profile-includes.txt
  • Update sun.tools.java class file reading/writing support to include the new constant pool entries
  • (coll) Optimize empty HashMap and ArrayList
  • Add java.time.Instant methods to java.nio.file.attribute.FileTime
  • (zipfs) Problems moving files between zip file systems
  • java.util.Stream.min/max((Comparator)null) is not consistent in throwing (unspecified) NPE
  • Metafactory-generated lambda classes should be final
  • isSynthetic() returns false for lambda instances
  • (process) Possible null pointer dereference in jdk/src/solaris/native/java/lang/UNIXProcess_md.c
  • CompletableFuture/Basic.java fails intermittently
  • 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change
  • Add java.util.Objects.requireNonNull(T, Supplier)
  • Objects.requireNonNull(Object,Supplier) breaks genstubs build
  • CompletableFuture/Basic.java still fails intermittently
  • java/net/Socket/asyncClose/Race.java fails intermittently on Windows
  • Add in-place operations to Map
  • Add defaults for ConcurrentMap operations to Map
  • Improve image handling
  • Refactor Introspector internals
  • Improve networking serialization
  • VM crash in CompileBroker
  • Rework RMI model
  • Refactor deserialization
  • Augment RMI logging
  • Better handling of Finalizer thread
  • Improve input validation
  • (process) Improved Runtime.exec
  • Improvements in JMX
  • Improve font warning messages
  • Better validation of images
  • Better image reading
  • Better image writing
  • Improve reliability of ConcurrentHashMap
  • Improve AWT data transfer
  • Regression test test\java\lang\Runtime\exec\ArgWithSpaceAndFinalBackslash.java failing.
  • Blacklist certificate used with malware.
  • Better driver management
  • Problem with plugin
  • Sync ICU into JDK
  • Better handling of glyph table
  • Improve font layout
  • Improve checking of glyph table
  • Better font processing
  • Improve checking for windows
  • Adjust JAX-WS to focus on API
  • Issues with JAXP
  • Update access to JAX-WS
  • Improve accessibility of AccessBridge
  • Incorrectly separated package list in java.security-windows
  • Better method handle resolution
  • Improve color conversion
  • Make KerberosTime immutable
  • Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive
  • ISO 4217 Amendment Number 155
  • Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
  • Incorrect condition check in PBKDF2KeyImpl.JAVA
  • JDK-8011278 breaks the old build
  • SunJCEInstance needs to run in it's own vm
  • Re-integrate AEAD implementation of JSSE
  • Better support for generation of high entropy random numbers
  • (fc) Thread.interrupt triggers hang in FileChannelImpl.pread (win)
  • Add primitive summary statistics utils
  • dynamic proxy class should have the same Java language access as the proxy interfaces
  • Crash when redefining class with annotated method
  • Initial java.util.Spliterator putback
  • JDK8 b86 source with GPL header errors
  • javadoc should be able to return the receiver type
  • javac, compiler regression iterable + captured type
  • use new subtype of TypeSymbol for type parameters
  • Javac Crashes while building OpenJFX
  • Generated javadoc documentation should be able to display type annotation on an array
  • Symbol.getModifiers omits ACC_ABSTRACT from interface with default methods
  • Javac crashes when multiple lambdas are defined in an array
  • Spurious checked exception errors in nested method call
  • lang/INFR/infr001/infr00101md/infr00101md.java fails to compile after switch to JDK8-b82
  • Missing checkcast when casting to intersection type
  • Avoid redundant speculative attribution
  • javac, empty UTF8 entry generated for inner class
  • Regexp decimal escape handling still not correct
  • Bugs with empty character class handling
  • Wrong characters supported in RegExp \c escape
  • [2,1].sort(null) should throw TypeError
  • Comparator function returning negative and positive Infinity does not work as expected with Array.prototype.sort
  • Allow NUL character in character class
  • Regexp literals are compiled twice
  • Switch to Joni as default Regexp engine
  • Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive

New in Java SE Development Kit (JDK) 8 Build b86 Developer Preview (Apr 20, 2013)

  • Add test-clean for cleaning of testoutput directory from output directory. Add depedency on test-clean to clean
  • webrev.ksh generated jdk.patch files do not handle renames, copies, and shouldn't be applied
  • improve common/bin/hgforest.sh python detection (MacOS)
  • hgforest.sh : 'python --version' not supported on older python
  • hgforest.sh uses non-POSIX sh features that may fail with some shells
  • JDK8 b85 source with GPL header errors
  • new hotspot build - hs25-b27
  • Add NMT tests for Virtual Memory operations
  • guarantee(length == 0) failed: invalid method ordering length
  • [parfait] Memory leak at hotspot/src/share/tools/launcher/wildcard.c
  • [parfait] Possible null pointer dereference at hotspot/src/os/linux/vm/os_linux.cpp; os_windows.cpp; os_solaris.cpp; os_bsd.cpp
  • Enable -Wunused-function when compiling with gcc
  • NMT: Memory leak when encountering out of memory error while initializing memory snapshot
  • [parfait] Possible file leak in hotspot/src/os/linux/vm/perfMemory_linux.cpp
  • JCK tests on static interface methods fail under b84: Illegal type at constant pool entry 5
  • new hotspot build - hs25-b28
  • Add new flag for verifying the heap during startup
  • CMS does not correctly reduce heap size after a Full GC
  • java -d64 -version core dumps in a box with lots of memory
  • TEST-BUG : test case is using bash style tests. Default shell for jtreg is bourne. thus failure
  • NPG: Internal Error: Metaspace allocation lock -- possible deadlock
  • Include Bit Map addresses in the hs_err files
  • Memory leak at hotspot/src/share/vm/adlc/output_c.cpp
  • compiler/6863420 often exceeds timeout
  • Additional WB API for compiler's testing
  • specjvm2008 test xml.transform gets array bound exception with c1
  • Missing ResourceMarks in TraceMethodHandles
  • Field can be erroneously marked as contended when @Contended annotation isn't present
  • JDK8 b85 source with GPL header errors
  • Update JAX-WS RI to 2.2.9-b12941
  • [parfait] Memory leak in jdk/src/macosx/native/sun/awt/CTextPipe.m
  • WIN: Provide a way to format HTML on drop
  • sun.swing.JLightweightFrame should be implemented for XToolkit
  • serialVersionUID of java.awt.dnd.InvalidDnDOperationException changed in JDK8-b82
  • COPY AND PASTE TO AND FROM SIGNED APPLET FAILS AFTER FIRST INTERNAL COPY PRFRMD
  • [macosx] Deadlock in drag and drop
  • Setting cursor on DragSourceContext does not work on OSX
  • [TEST_BUG] [macosx] Synchronization problem in test javax/swing/JPopupMenu/6827786/bug6827786.java
  • To add a system property to create zip file without using ZIP64 end table when entry count > 64k
  • Improve handling of char sequences containing surrogates
  • Re-enable tests that were disable to ease complicated push
  • FileInputStream.available() throw IOException when encountering negative available values
  • (ann) Optimize Annotation handling in java/sun.reflect.* code for small number of annotations
  • Update the corresponding test in test/vm/verifier/TestStaticIF.java
  • Enable test/javax/script/GetInterfaceTest.java again
  • keytool -importkeystore could create a pkcs12 keystore with different storepass and keypass
  • Improve PlatformLogger.isLoggable performance by direct mapping from an integer to Level
  • Remove dependence upon clean target from jdk/test/Makefile prep target
  • Optimize empty HashMap and ArrayList
  • Remove obsolete/unused targets from jdk/test/Makefile
  • Backout changeset JDK-7143928 (0cccdb9a9a4c)
  • linked_md.c::dll_build_name can get stuck in an infinite loop
  • Base64.getMimeDecoder().decode() throws IAE for a non-base64 character after padding
  • Base64.getMimeDecoder().decode() does not ignore padding chars
  • java.lang.reflect.Modifier.toString should include "default"
  • Performance regression with ftp protocol when uploading in image mode
  • Property java.runtime.profile should be removed (left-over code)
  • Typo in javadoc for SerialClob.truncate
  • Arabic Locale: can not set type of digit in application level
  • change files using @GenerateNativeHeader to use @Native
  • PKCS11 minor issues in native code
  • FX dependency on PlatformLogger broken by 8010309
  • Missings SOCKS support for direct connections
  • jobjc build failure on Mac
  • More tests for core reflection modeling of default methods
  • (process) cleanup code in java/lang/Runtime/exec/WinCommand.java
  • (str) Optimize StringBuilder.append(null)
  • Add toGenericString to j.l.Class and getTypeName to j.l.reflect.Type
  • Include modifiers in Class.toGenericString()
  • Update JAX-WS RI to 2.2.9-b12941
  • Add CompletableFuture
  • JDK8 b85 source with GPL header errors
  • Use j.u.Objects utility methods in langtools
  • Assume availablility of URLClassLoader.close
  • Bad assertion in LambdaToMethod
  • FindBugs: double assignments in LambdaToMethod.visitIdent
  • doclint should make allowance for headers generated by standard doclet
  • Tests are creating files in /tmp
  • class literal code wastes a byte
  • Add DEFAULT to javax.lang.model.Modifier
  • Cleanup: add support for ad-hoc method check logic
  • DefaultMethodTest.testReflectCall fails with new lambda VM
  • Lambda debugging: redundant LineNumberTable entry for lambda capture
  • Overload: javac should discard methods that lead to errors in lambdas with implicit parameter types
  • Intersection type cast for functional expressions does not follow spec EDR
  • Instances of Tokens.Comment should not be defined in inner classes
  • EndPosTables should avoid hidden references to Parser
  • JDK8 b85 source with GPL header errors
  • Dealing with undefined property gets you a fatal stack
  • The bug ID 8010710 accidentally got two digits transposed in the checkin and unit test name
  • With older ant, we get the error "The type doesn't support nested text data ("${run.te...jvmargs}")."
  • PropertyHashMap.rehash() does not grow enough
  • Regression with recent PropertyMap history changes
  • Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get.length is not 0
  • Create a Nashorn shell for JavaFX
  • Object.isExtensible(Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get) should be false
  • Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get.hasOwnProperty("prototype") should be false
  • Array.prototype.slice and Array.prototype.splice should not call user defined valueOf of start, end arguments more than once
  • Overloaded method resolution foiled by nulls
  • Array.prototype.join and Array.prototype.toString do not throw TypeError on null, undefined
  • Enable code cache again
  • Data prototype methods and constructor do not call user defined toISOString, valueOf methods per spec.
  • RegExp.prototype.test() does not call valueOf on lastIndex property as per the spec.
  • When using Object.defineProperty on arrays, PropertyDescriptor's property accessors are invoked multiple times
  • PropertyMap histories should not begin with empty map
  • "".split(undefined,{valueOf:function(){throw 2}}) does not throw exception
  • Allow subclassing Java classes from script without creating instances
  • Arrays with missing elements are not properly sorted
  • Invalid class name in with block with JavaImporter causes MH type mismatch
  • Nashorn rejects extended RegExp syntax accepted by all major JS engines
  • JDK8 b85 source with GPL header errors

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 8 Build b84 Developer Preview (Apr 6, 2013)

  • Revert changes to $ substitution performed as part of nashorn integration
  • build-infra: Fix configure output for zip debuginfo check
  • Allow using a system-installed giflib
  • jdk8 l10n resource file translation update 2
  • new hotspot build - hs25-b25
  • runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test
  • runtime/6878713/Test6878713.sh require about 2G of native memory, swaps and times out
  • Race in runtime/NMT/BaselineWithParameter.java
  • CDS: Class data sharing limits the malloc heap on Solaris
  • lambda: reflection get(Declared)Methods support for default methods.
  • some runtime/CommandLine/ tests fail on 32-bit platforms
  • checking MallocMaxTestWords in testMalloc() function is redundant
  • NMT: Special version of class loading/unloading with runThese stresses out NMT
  • NMT: add new NMT dcmd to control auto shutdown option
  • After fix for 7107135 a failed dlopen() call results in a VM crash
  • test/runtime/NMT/PrintNMTStatistics is broken
  • Non-zero padding is not allowed in splitverifier for tableswitch/lookupswitch instructions.
  • test/vm/verifier/TestStaticIF.java failing with hs25.0-b
  • Add JVM_Get{Field|Method}TypeAnnotations
  • The UseSplitVerifier option needs to be deprecated.
  • create.bat still builds the kernel
  • assert(max_heap >= InitialHeapSize) in arguments.cpp
  • NPG: Implement a MemoryPool MXBean for Metaspace
  • NPG: Remove metaspace memory pools
  • jvmtiClassFileReconstituter.cpp needs to be excluded from the minimal jvm
  • A number of jtreg tests need review/improvement
  • Implement javax.lang.model API for Type Annotations
  • 7163696: JCK Swing interactive test JScrollBarTest0013 fails with Nimbus and GTK L&Fs
  • [macosx] Two closed/javax/swing regression tests fail on MacOSX.
  • [macosx] Button painting error under Java 7 on Mac
  • TEST_BUG: javax/swing/JTree/8004298/bug8004298.java should be modified
  • TEST_BUG: Test java/beans/Introspector/TestTypeResolver.java should be modified again
  • java.awt.Desktop cannot open file with Windows UNC filename
  • [macosx] Setting a display mode crashes JDK under VNC
  • DesktopOpenTests:When enter the file path and click the open button,it crash
  • (fs) Files.isWritable method returns false when the path is writable (win)
  • (se) Selector spin when select, close and interestOps(0) invoked at same time (lnx)
  • Remove the stack search for a resource bundle for Logger to use
  • Remove use of JVM_* functions from java.io code
  • HttpClient available() check throws SocketException when connection has been closed
  • Miscellaneous profiles cleanup
  • Revert changes to $ substitution performed as part of nashorn integration
  • Enhance JNI specification to allow support of static JNI libraries in Embedded JREs
  • TEST_BUG: Update tests to run on Ubuntu 12.04 (localhost is 127.0.1.1)
  • Calendar mismatch using Host LocaleProviderAdapter
  • Make jrunscript's init.js to work on nashorn
  • java.lang.IllegalArgumentException: not invocable, no method type when attempting to get getter method handle for a static field
  • ProblemList.txt updates (3/2013)
  • Failure to filter out native frame events on Solaris
  • "profiles" target fails due to nashorn if "images" is not built first
  • security native code doesn't always use malloc, realloc, and calloc correctly
  • Add Optional, OptionalDouble, OptionalInt, OptionalLong
  • (process) Clean-up java.lang.ProcessImpl.finalize, does not need to be public
  • sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe
  • NullPointerException in sun.security.provider.certpath.CertId()
  • Improve tests to test ".useParentHandlers" property set in the logging configuration
  • Refine Method.isDefault implementation
  • SunEC and SunPKCS11 providers should be in all profiles
  • Need to modify java.security property package.access to include nashorn packages
  • Add proxy handling and keep-alive fixes to jsse
  • Add BadKdc* tests to problem list for solaris-sparcv9
  • NPG: Rename -permstat option for jmap in jdk8 to -clstats
  • Update jstat counter names to reflect metaspace changes
  • Several LoginModule classes need extra permission to load AuthResources
  • Provide a default udp_preference_limit for krb5.conf
  • The test closed/java/lang/SecurityManager/CheckPackageDefinition.java failed after fix for 8009869
  • builtin JNI libraries should not be unloaded
  • Remove com.sun.servicetag API
  • changeset for 8007703 is missing the deleted files
  • Images target failes when configured with --disable-zip-debug-info
  • Allow using a system-installed giflib
  • Repeating annotations: No Target on container annotation with all targets on base annotation gives compiler error
  • Default top left frame should be "All Packages" in the generated javadoc documentation
  • Miscellaneous profiles cleanup
  • jtreg failures after conversion of shell tests to Java
  • Update jdeps to read the same profile information as by javac
  • NPE generating serializedLambdaName for nested lambda
  • javac: MethodRef entries are duplicated in the constant pool
  • TargetAnnoCombo.java need to be updated to add a new test mode
  • RFE to write javap tests for repeating annotations.
  • Remove interim new javax.lang.model API for type-annotations
  • Implement javax.lang.model API for Type Annotations
  • Remove transitional target values from javac
  • doclint errors in javac public API
  • fix some langtools findbugs issues
  • Remove com.sun.tools.javac.Server
  • DocLint incorrectly reports some
  • Clarify javax.lang.model API for Type Annotations
  • Lambda back-end should generate invokespecial for method handles referring to private instance methods
  • Intersection type cast issues redundant unchecked warning
  • AssertionError when compiling java code with two identical static imports
  • Graph inference: missing incorporation step causes spurious inference error
  • Javac crashes when diagnostic mentions anonymous inner class' type variables
  • langtools regression test failures when assertions are enabled
  • jdk8 l10n resource file translation update 2
  • Package access clean up and refactoring
  • Lazy execution architecture continued - ScriptFunctionData is either final or recompilable. Moved ScriptFunctionData creation logic away from runtime to compile time. Prepared for method generation/specialization. Got rid of ScriptFunctionImplTrampoline whose semantics could be done as part of the relinking anyway. Merge with the lookup package change.
  • For loop with "true" as condition results in AssertionError in codegen
  • Lazy execution bugfix. Added lazy sunspider unit test. Added mandreel to compile-octane test. Fixed warnings
  • Forgot to add EXPECTED files for lazy and eager sunspider test
  • removed workaround "init.js" in nashorn repo
  • javax.script.Invocable implementation for nashorn does not return null when matching functions are missing
  • CodeCoverage should use template
  • Eliminate non-child references in Block/FunctionNode, and make few node types immutable
  • index evaluation to a temporary location for index operator much change temporaries to slots, but never scoped vars
  • org on the top level doesn't resolve
  • -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
  • Linkage problem with java.lang.String.length()

New in Java SE Development Kit (JDK) 8 Build b83 Developer Preview (Apr 3, 2013)

  • Configure doesn't fail when Xrender.h is missing
  • new hotspot build - hs25-b24
  • SA can not read core file on OS
  • NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL)
  • nsk/split_verifier/stress/ifelse/ifelse002_30 fails with 'assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity()
  • SA: typeToVtbl of BasicTypeDataBase should not be static
  • SA: A small fix on "scanoops" command in CLHSDB
  • Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012
  • [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp
  • [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp
  • [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
  • SA: Oop.iterateFields() should support CompressedKlassPointers again
  • Some of WB tests on compiler fail
  • Debugging code in compiled method sometimes leaks memory
  • Remove definition of ShouldNotReachHere2(msg)
  • [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/compiler/compileBroker.cpp
  • 8007439 disabled inlining of cold accessor methods
  • [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp
  • [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp
  • remove test_gamma and add dedicated test_* targets instead
  • [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp
  • [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp
  • NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used
  • par compact - TraceGen1Time always shows 0.0000 seconds
  • G1: Apache Lucene hang during reference processing
  • G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809
  • G1: guarantee(satb_mq_set.completed_buffers_num() == 0) failure
  • NPG: Metaspace occupies more memory than specified by -XX:MaxMetaspaceSize option
  • Enhance JNI specification to allow support of static JNI libraries in Embedded JREs
  • Modifications needed to JPRT to allow for building hard float abi and new bundle changes
  • Allow configure to detect if EC implementation is present
  • new code changes causing errors in old build (-Werror) environment
  • clean up method handle lookup code.

New in Java SE Development Kit (JDK) 8 Build b82 Developer Preview (Mar 23, 2013)

  • build-infra: RE jdk8 build forest fails for windows since addition of --with-dxsdk
  • Fix new build to include jdk.Supported in ct.sym
  • webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com
  • Add nashorn to the tl build
  • nashorn-rules.gmk missing
  • Updates to generated-configure.sh required for 8008914
  • build-infra: Configure fails if 'cl' is in path on linux
  • Fix for 8006988 missed closed configure changes
  • root repo "make test" target should run against image
  • Allow configure to detect if EC implementation is present
  • Configure doesn't fail when Xrender.Marshal exception is wrong
  • Restrict access to class constructor
  • Improve IIOP type reuse management
  • Improving CORBA internals
  • CModify ACC_SUPER behavior
  • new hotspot build - hs25-b23
  • [parfait] Uninitialised variable in hotspot/agent/src/os/linux/ps_core.c
  • Stack guard pages are no more protected after loading a shared library with executable stack
  • NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option
  • NPG: metaspace objects should be zeroed in constructors
  • nsk/regression/b4222717 fails with empty stack trace
  • @Contended fails with classes having static fields
  • CDS: JDK JPRT test fails crash in Symbol::equals()
  • NPG: Clean up metadata created during class loading if failure
  • Some adjustments needed to minimal VM warnings and errors for unsupported command line options
  • #if is wrong in the code.
  • Add -Wundef to warning flags.
  • Only produce a warning when -Xshare:auto is explicitly requested
  • Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates
  • Make PhaseLive independent from regalloc
  • Stubs report compile id -1 in phase events
  • [parfait] Null pointer deference in hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
  • G1: Add nextObject routine to CMBitMapRO and replace nextWord
  • Deprecate MaxGCMinorPauseMillis
  • CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection
  • Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation
  • SIGSEGV on Solaris sparc with -XX:+UseNUMA
  • CMS: concurrent phase start markers should always be printed
  • VM crashes when running with large -Xms and not specifying ObjectAlignmentInBytes
  • PS: assert(!limit_exceeded || softrefs_clear) failed: SImprove JAXP HTTP[parfait] #1173 Uninitialised variable -- TransformHelper.cpp
  • [parfait] #384 sun/font/layout/LookupProcessor.cpp Null pointer dereference
  • pageDialog is showing the swing dialog with DialogTypeSelection.NATIVE
  • [parfait] Possible uninitialised variable at jdk/src/share/native/sun/java2d/loops/ByteBinary1Bit.c
  • [macosx] Crash in liblwawt.dylib in AccelGlyphCache_RemoveCellInfo
  • [lcms] Improve performance of ColorConverOp for default destinations
  • JFrame.setDefaultCloseOperation(EXIT_ON_CLOSE) will never lead to SE if EXIT_ON_CLOSE is already set
  • DefaultButtonModel instance keeps stale listeners in html FormView
  • After pressing combination Windows Key and M key, the frame, the instruction and the dialog can't be minimized.
  • Build failure (NEWBUILD=false) on Mac
  • TEST_BUG: Fail automatically with java.lang.NullPointerException.
  • TEST_BUG: Up and down the Y coordinate of the mouse position, the selected item doesn't change for the single list.
  • lightweight embedding in other Java UI toolkits
  • Unify LWCToolkit.invokeAndWait() and sun.awt.datatransfer.ToolkitThreadBlockedHandler
  • REGRESSION: Some AWT Drag-n-Drop tests fail since JDK 7u6 b13
  • Incomplete fix for 7178079
  • Failure in 2D Queue Flusher thread on Mac
  • [macosx] JVM crash after disconnecting from projector
  • JCK Swing interactive test JScrollBarTest0013 fails with Nimbus and GTK L&Fs
  • [macosx] closed/java/awt/Button/DoubleActionEventTest/DoubleActionEventTest failed since jdk8b49
  • Invalid MouseEvent conversion with SwingUtilities.convertMouseEvent
  • [macosx] NPE in AquaComboBoxUI since jdk7u6b17, jdk8b47
  • JTextField and JTextArea does not support supplementary characters
  • Reduce number of warnings in awt classes
  • Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList
  • IdentityHashMap.[keySet|values|entrySet].toArray speed-up
  • VerifyError for use of static method in interface
  • j.u.Calendar.JavatimeTest failed at TL b78 pit testing
  • java/net/BindException/Test.java fails rarely
  • Implement serialization in the lambda metafactory
  • The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control
  • getISO3Country() returns wrong value
  • (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps
  • Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone
  • Currency.isPastCutoverDate should be made more robust
  • HttpURLConnection.filterHeaderField method returns null where empty string is expected
  • WinNTFileSystem_md.c should correctly check value returned from realloc
  • Re-enable MethodParameter tests in JDK
  • Clarify the default locale used in each locale sensitive operation
  • Additional functional interfaces, extension methods and name changes
  • [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
  • pack200 should support MethodParameters - part 2
  • Delete OS dependent check in JdkFinder.getExecutable()
  • (process) SetHandleInformation parameters DWORD (not BOOLEAN)
  • java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS
  • Test LambdaSerialization.java failing
  • cleanup to use java.util.Base64 in java security component, providers, and regression tests
  • Add test for redefining methods in backtraces to java/lang/instrument tests
  • Add test for 7022100
  • (profiles) Startup regression due to additional checking of JAR file manifests
  • address typo in CallableStatement javadocs
  • (ann spec) SuppressWarnings strings should be documented
  • Allowed dependencies added by JDK-8008481 no longer required
  • test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C
  • Add nashorn to the tl build
  • java.lang.invoke.MemberName information wrong for method handles created with findConstructor
  • profiles build broken by Nashorn build changes
  • SerializedLambda incorrect class loader for lambda deserializing class
  • SunEC provider classes ending up in rt.jar after Nashorn build changes
  • Several docs warnings in Project Lambda APIs
  • Remove InvalidContainerAnnotationError.java
  • jtreg tests under jdk/test/javax/script should use nashorn as script engine
  • SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present
  • jtreg tests under sun/tools/jrunscript should use nashorn engine
  • Add System property to identify ARCH specific details such as ARM hard-float binaries
  • IdentityHashMap.values().toArray(V[]) broken by JDK-8008167
  • ThreadLocalRandom should dropping padding fields from its serialized form
  • OCSP timeout set to wrong value if com.sun.security.ocsp.timeout < 0
  • Support AEAD CipherSuites
  • Access denied when invoking Subject.doAsPrivileged()
  • TEST_BUG: java/nio/file/Files/CopyAndMove.java failing intermittently (sol)
  • FJP.commonPool support parallelism 0, add awaitQuiescence
  • [pack200] allow opcodes with InterfaceMethodRefs
  • Restore isAnnotationPresent methods in public AnnotatedElement implementations
  • Return value from getAdapterPrefence() can be modified
  • TEST_BUG: sun/misc/Cleaner/exitOnThrow.sh failing intermittently
  • file descriptor leak in src/windows/native/java/net/DualStackPlainSocketImpl.c
  • URL final class has protected methods
  • test/com/sun/jdi/PrivateTransportTest.sh: ERROR: transport library missing onLoad entry: private_dt_socket
  • Missing method: Executable.getAnnotatedReturnType()
  • Do not let internal JDK zlib symbols leak out of fastdebug libzip.so
  • old make images failed: JarBASE64Encoder class not found
  • Add support for HTTP_CONNECT proxy in Socket class
  • TEST_BUG: java/lang/invoke/lambda/LambdaAccessControlTest.java fails intermittently
  • ClassFileTransformer hooks in ClassLoader no longer required
  • Comparator combinators and extension methods
  • SPNEGO tests fail at context.getDelegCred().getRemainingInitLifetime(mechOid)
  • Non-zero padding is still not allowed in the tableswitch/lookupswitch instructions.
  • Back out AEAD CipherSuites temporarily
  • Improve in-memory representation of splashscreens
  • Better Checking of order of TLS Messages
  • Improve cache handling
  • Improve Swing data validation
  • Unpack200 improvement
  • Improve Pack200 data validation
  • Refine unpacker resource usage
  • Better data validation for options
  • Launcher better input validation
  • Improve thread pool shutdown
  • Better validation of client keys
  • Improve connection performance
  • Improve JarFile code quality
  • Better handling of UI elements
  • JMX implementation allows invocation of methods of a system class
  • (proxy) Reflect about creating reflective proxies
  • Tighten up JTable layout code
  • InetSocketAddress serialization issue
  • Serialization to conform to protocol
  • tools/launcher/ToolsOpts.java test started to fail since 7u11 b01 on Windows
  • Issue in toolkit thread
  • Improve image processing
  • RMI data sanitization
  • Improve RMI HTTP conformance
  • Improve management of images
  • Improve clipboard access
  • Add logging context
  • Find log level matching its name or value given at construction time
  • Better dialogue checking
  • Restricted packages added in java.security are missing in java.security-{macosx, solaris, windows}
  • Contextualize RequiredModelMBean class
  • Two JCK tests fails with 7u11 b06
  • javax/xml/soap/Test7013971.java fails since jdk6u39b01
  • Java Logger fails to load tomcat logger implementation (JULI)
  • Update java.security-linux to include changes in java.security
  • Proxy generated classes in sun.proxy package breaks JMockit
  • Restrict MBeanServer access
  • Improve proxy construction
  • Possible race condition after JDK-6664509
  • logging behavior in applet changed
  • Improve TLS handling of invalid messages
  • Blacklist known bad certificate
  • Improve MethodHandles coverage
  • JSR292 MethodHandles lookup with interface using findVirtual()
  • Update MethodHandles library interactions
  • Improve MethodHandle interaction with libraries
  • Allow configure to detect if ECNew tests needed for library-side changes for repeating annotations
  • tools/jdeps/Basic.java failes with AssertionError
  • javap should include the descriptor for a method in verbose mode
  • compiler does not allow Object protected methods to be used in lambda
  • AbstractMethodError instead of compile-time error when method reference with super and abstract
  • Fix provisional applicability for method references
  • Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures
  • Annotation element as '_' gives compiler error instead of a warning
  • Write test to check for generation of warnings when '_' is used as an identifier
  • TargetType60 fails because of bad golden file
  • 8007052 breaks test/tools/javap/MethodParameters.java
  • Generate $deserializeLambda$ method
  • super in method reference used in anonymous class - ClassFormatError is produced
  • Inner classes within lambdas cause build failures
  • Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes
  • javac should issue a warning for overriding equals without hashCode
  • Test TargetAnnoCombo.java is broken
  • Add @Supported annotation to com.sun.source types
  • javac, convert jtreg tests from shell script to java
  • Update javac for MethodParameters format change
  • Test for parameter names feature
  • Mixing lambdas with anonymous classes leads to NPE thrown by compiler
  • assertion error in com.sun.tools.javac.comp.TransTypes.visitApply
  • Missing accessor for constructor reference pointing to private inner class ctor
  • Declared bounds not considered when functional interface containing unbound wildcards is instantiated
  • Regression: bad overload resolution when inner class and outer class have method with same name
  • Inherited generic functional descriptors are merged incorrectly
  • Now that metafactory is in place, add javac lambda serialization tests
  • Four new method param jtreg tests fail in nightly tests
  • Write test to check for compiler error when static method in interface is called via super()
  • Regression: separate compilation causes crash in wildcards inference logic
  • The doclet needs to be able to generate JavaFX documentation.
  • javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass
  • Graph Inference: bad graph calculation leads to assertion error
  • Structural most specific fails when method reference is passed to overloaded method
  • Missing method reference lookup error when unbound search finds a static method
  • javadoc stopped copying doc-files
  • Code generation crash with lambda and local classes
  • Certain diagnostics should not be deferred
  • Missing cast in method reference bridge leads to NoSuchMethodError
  • Illegal access error when calling method reference
  • Javac crashes when compiling method reference to static interface method
  • Wrong behavior of diamond finder with source level 7
  • Synthetic name of serializable lambda methods should not contain negative numbers
  • javac, equals-hashCode warning tuning
  • Regression: javac generates redundant bytecode in assignop involving arrays
  • Method reference generic constructor gives: IllegalArgumentException: Invalid lambda deserialization
  • Empty try/finally results in bytecodes being generated
  • Bad lambda name for lambda in a static initializer or ctor
  • sjavac should accept -cp as synonym for -classpath
  • tests missing bugid for repeating annotation change
  • Constructor reference to non-reifiable array should be rejected
  • Spurious error when constructor reference mention an interface type
  • Constructor reference accepts wildcard parameterized types
  • Graph inference: dependencies between inference variables should be set during incorporation
  • Duplicate error messages on repeating annotations

New in Java SE Development Kit (JDK) 8 Build b81 Developer Preview (Mar 16, 2013)

  • build-infra: Limit JOBS on large machines
  • build-infra: Need --with-dxsdk option? And awt/sound -I option additions?
  • build-infra: RE jdk8 build forest fails for windows since addition of --with-dxsdk
  • new hotspot build - hs25-b22
  • NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive
  • Print outs do not have matching arguments
  • SA: jstack crash when target has mismatched bitness (Linux)
  • SA: jstack -m produce UnalignedAddressException in output (Linux)
  • assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address
  • Fix non-PCH build on Linux, Windows and MacOS X
  • Implement CMSWaitDuration for non-incremental mode of CMS
  • Update jstat counter names to reflect metaspace changes
  • G1: Too many old regions added to last mixed GC
  • Make mac builds on 10.8 work on 10.7
  • TEST_BUG: some jtreg tests fail because they explicitly specify -server option
  • [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m
  • [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value
  • [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp
  • Fuzz instruction scheduling in HotSpot compilers
  • [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp
  • C2compiler crash in machnode::in_regmask(unsigned int)
  • Print additional information for 8004640 failure
  • Temporarily disable jstat tests to ease complicated push
  • build-infra: Need --with-dxsdk option? And awt/sound -I option additions?
  • embedded/GP/RI: This intermittent error happens too often, makes the build unstable, and waste machine

New in Java SE Development Kit (JDK) 8 Build b80 Developer Preview (Mar 9, 2013)

  • new hotspot build - hs25-b21
  • fix failed for JDK-8002415 White box testing API for HotSpot
  • [parfait] False positive Buffer overflow in hotspot/src/os/linux/vm/os_linux.cpp
  • Recursive calls to report_vm_out_of_memory are handled incorrectly
  • Crashed in promote_malloc_records() with Kitchensink after 19 days
  • Remove BugSpot
  • NPG: is_pseudo_string_at() doesn't work
  • [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity
  • Unimplemented() Atomic::load breaks the applications
  • G1: concurrent phase durations do not state the time units ("secs")
  • Wrong G1ConfidencePercent results in GUARANTEE(VARIANCE() > -1.0) FAILED
  • Add HotSpot support for printing class loader statistics for JMap
  • NPG: jmap -heap output should contain ClassMetaspaceSize value
  • ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
  • C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare pointer" at machnode.cpp:376
  • Test6852078.java timeouts
  • C2: adding successful message of inlining

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 8 Build b79 Developer Preview (Mar 2, 2013)

  • new hotspot build - hs25-b20
  • null check signal semaphore in os::signal_notify windows
  • SA can hang the VM
  • Jstack seems to output unnecessary information in 7u9
  • VerifyError for static method in interface
  • Workaround for ccache in vm.make is incorrect
  • SA on OS X does not stop the attached process
  • SA: Don't read flag values as constants
  • os::die() on solaris should generate core file
  • Signal handler should save/restore errno
  • Ensure that MethodParameters API works properly with RedefineClasses
  • Add regression tests for deprectated GCs
  • Wrong initialized value of max_gc_pause_sec for an instance of class AdaptiveSizePolicy
  • NEED_TEST for JDK-8002870
  • Add regression test for 8005875
  • Use expensive node logic for more math nodes
  • Several tests in compiler/5091921 need more time to run
  • performance warnings cause results diff failure in Test6890943
  • VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob"
  • Minimal VM don't react to -Dcom.sun.management and -XX:+ManagementServer
  • Assert in c1_LIR.hpp incorrect wrt to number of register operands
  • Some non-existent GC source files are in the minimalVM exclude list.
  • UseG1GC is not properly accounted for by INCLUDE_ALTERNATE_GCS

New in Java SE Development Kit (JDK) 8 Build b78 Developer Preview (Feb 28, 2013)

  • race with nested repos in /common/bin/hgforest.sh
  • Link bug ids to jbs rather than monaco.
  • Use jdk/test/Makefile targets in preference to local definitions
  • JSR 310: DateTime API Updates
  • Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac
  • javadoc/doclet should be updated to support profiles
  • Add build support for Compact Profiles
  • new hotspot build - hs25-b19
  • Instrumentation hot swap test incorrect monitor count
  • Write tests for 8006298
  • SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67)
  • More Restricted hs_err file permission
  • Remove jvm_version_info.is_kernel_jvm field
  • NPG: move method annotations
  • Undo hs_file permission change
  • G1: Avoid unnecessary scanning of humongous regions during concurrent marking
  • Ratio flags should be unsigned
  • G1: large number of evacuation failures may lead to large c heap memory usage
  • G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions
  • NPG: Create new flags for Metaspace resizing policy
  • compiler/6855215 assert(VM_Version::supports_sse4_2())
  • When TieredCompilation is set, max code cache should be bumped to 256mb
  • Code cleanup to remove Parfait false positive
  • TraceTypeProfile is a product flag while it should be a diagnostic flag
  • ARM: move MacroAssembler into separate file
  • PPC: move MacroAssembler into separate file
  • 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
  • TEST_BUG: compiler/7009359/Test7009359.java sometimes times out
  • Add WhiteBox API to testing of compiler
  • [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc()
  • [parfait] #1122 - #1130 native/sun/awt/medialib/mlib_Image*.c Memory leak of pointer 'k' allocated with mlib_malloc
  • [parfait] #415 sun/java2d/opengl/GLXSurfaceData.c Memory leak of pointer 'glxsdo' allocated with malloc
  • MacOSX build error : cast of type 'SEL' to 'uintptr_t' (aka 'unsigned long') is deprecated; use sel_getName instead
  • The fix for 8005129 does not build on Windows
  • Focus unable to traverse in the menubar
  • Java 7 on mac os x only provides text clipboard formats
  • TEST_BUG: java/awt/Frame/WindowDragTest/WindowDragTest.java fails to compile, should be modified
  • [macosx] bug6596966.java should be adapted for Mac
  • RFE: JComboBox shouldn't sending ActionEvents for keyboard navigation
  • InputContext leaks memory
  • javac warnings compiling java.awt.EventDispatchThread and sun.awt.X11.XIconWindow
  • JDK-8002048 testcase fails to compile
  • additional changes for JSR 310 support
  • java launcher fails to open executable JAR > 2GB
  • Add utility classes for writing better multiprocess tests in jtreg
  • ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono
  • Retrofit FunctionalInterface annotations to core platform interfaces
  • Add StampedLock
  • Unbound SASL service: the GSSAPI/krb5 mech
  • NTLM coding errors
  • [unpack200] produces bad class files when producing BootstrapMethods attribute
  • [unpack200] incorrect BootstrapMethods attribute
  • Incorrect copyright header in JDP files
  • add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument
  • Update java.lang.reflect API to replace SYNTHESIZED with MANDATED
  • Add jdk_core target to jdk/test/Makefile
  • JDK-8002048 testcase doesn't work on Solaris
  • JSR 310: DateTime API Updates
  • Update date/time classes in j.util and j.sql packages
  • Replace existing jdk timezone data at /lib/zi with JSR310's tzdb
  • Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class)
  • Remove jvm_version_info->is_kernel_jvm field
  • algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore
  • TEST_BUG: JDK-8002048 one more testcase failure on Solaris
  • Support the logical grouping of keystores
  • Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list
  • [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c
  • java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac
  • jdk fix default method: VerifyError: Illegal use of nonvirtual
  • Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac
  • build-infra: Build-infra closed fails on solaris 11.1
  • build-infra: Cleanup in Import.gmk
  • javadoc/doclet should be updated to support profiles
  • Add support for profiles in javac
  • build-infra: Import.gmk needs to add support for the minimal VM
  • Add build support for Compact Profiles
  • (profiles) Update JAR file specification to support profiles
  • (profiles) Add support for profile identification
  • add/removePropertyChangeListener should not exist in subset Profiles of Java SE
  • Compact Profiles contents
  • Merge issue: Profile attribute need to be examined before custom attributes
  • (profiles) Add JSR-310 to Compact Profiles contents
  • Isolate PROFILE make variable from incidental setting in the environment
  • (profiles) Build needs test to ensure that profile definitions are updated
  • Dependency analyzer needs exclusion for profile builds with JFR disabled
  • test creates .class files in the test/ directory
  • Cleanup inference related classes
  • Refactor DeferredAttrContext so that it points to parent context
  • DocLint too aggressive with not allowed here:
  • jtreg test T6306137.java won't compile with ASCII encoding
  • Update 2 compiler combo tests for repeating annotations to include package and default use cases
  • javac doesn't set ACC_STRICT bit on for strictfp class
  • javac doesn't set ACC_STRICT for classes with package access
  • Two variables after the same operation in a inner class return different results
  • javadoc doclint does not work with -private
  • Provide isFunctionalInterface in javax.lang.model
  • RFE to write language model API tests for repeating annotations based on the spec updates
  • javap, JavapTask constructor breaks with null pointer exception if parameter options is null
  • Add graph inference support
  • update reference impl for type-annotations
  • Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class)
  • Report Synthesized Parameters in java.lang.reflect.Parameter API
  • ClassReader doesn't see MethodParameters attr for method of anon inner class
  • Output Synthesized Parameters to MethodParameters Attributes
  • javadoc/doclet should be updated to support profiles
  • Add support for profiles in javac

New in Java SE Development Kit (JDK) 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.
  • Classic (Plug-in 1) Java Plug-in not Supported:
  • When a user deselects the Next-generation plug-in(from JDK 6u10) option that is displayed in the Java Control Panel(JCP), an older(classic) plug-in will be chosen automatically. This classic Plug-in (also referred to as Plug-in 1) is not supported in the latest releases of JDK 7.
  • The classic Plug-in is not supported or tested
  • The classic Plug-in is not secure
  • The classic Plug-in does not respect the security levels defined in the new JCP security slider
  • The classic Plug-in is deprecated and will not be available in future Java SE platform releases.
  • Bug Fixes:
  • This release contains fixes for security vulnerabilities

New in Java SE Development Kit (JDK) 8 Build b77 Developer Preview (Feb 19, 2013)

  • Fixes and improvements:
  • new hotspot build - hs25-b18
  • NPG: JMapPermCore test failure caused by warnings about missing field
  • NPG: on_stack processing wastes space in ConstantPool
  • Serviceability Agent: jmap -heap and jstack -m fail
  • Remove old KERNEL code
  • JSR 292: the mlvm redefineClassInBootstrap test crashes in ConstantPool::compare_entry_to
  • PrintClassHistogram improvements
  • Default method cause VerifyError: Illegal use of nonvirtual
  • Add utility classes for writing better multiprocess tests in jtreg
  • Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error
  • JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds
  • JSR 292: typos in the ConstantPool::copy_cp_impl()
  • JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic
  • Need to reorder metadata structures to reduce size (64-bit)
  • Add WB APIs to better support NMT testing
  • SA on windows thread inspection is broken
  • Add NMT tests
  • runtime/7158988/FieldMonitor.java fails with exception
  • Protocol to discovery of manageable Java processes on a network
  • There are issues with shared data on windows
  • NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops
  • Update hotspot for MethodParameters format change
  • Hotspot should reject classfiles with multiple MethodParameters attributes
  • Memory stomp with UseMallocOnly
  • allocating without ResourceMark when CompileCommand was specified
  • no message about inline method if it specifed by CompileCommand
  • Turn off TierdCompilation in JDK8 trunk for all platforms
  • compiler/8004741/Test8004741.java fails intermediately
  • cleanup IA64 specific code in Hotspot
  • VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full
  • Incorrect format arguments in adlparse.cpp
  • Incremental inlining mistakes some call sites for dead ones and doesn't inline them
  • adding reason to made_not_compilable
  • C2 crash due to out of bounds array access in Parse::do_multianewarray
  • Unify SERIALGC and INCLUDE_ALTERNATE_GCS
  • NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal
  • G1: Number of marking threads missing from PrintFlagsFinal output
  • NPG: metaspace.cpp: Incorrect arguments in calls to err_msg
  • G1: Kitchensink fails with ParallelGCThreads=0
  • G1: assert(!is_null(v)) failed: narrow oop value can never be zero
  • Specifying -XX:OldSize crashes 64-bit VMs
  • G1: Cleanup serial reference processing closures in concurrent marking
  • Remove uses of _ as identifier in jaxp
  • The image of BufferedImage.TYPE_INT_ARGB is blank.
  • Graphics2D.drawPolygon() fails with IllegalPathStateException
  • [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE
  • [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE
  • [macosx] Closing subwindow loses main window menus
  • Component.accessibleContext and JComponent.accessibleContext refactoring
  • [macosx] Drag and Drop: wrong animation when dropped outside any drop target.
  • Implement Core Reflection for Type Annotations
  • Simplify support for repeating annotations in j.l.r.AnnotatedElement
  • AnnotationSupport uses possibly half-constructed AnnotationType instances
  • (alt-rt) HashMap.clone implementation should be re-examined
  • Base64.Decoder/Encoder.wrap(XStream) don't throw NPE for null args passed
  • Remove java.lang.annotation.{ContainedBy, ContainerFor} annotation types
  • Refactor regression tests for java.lang.reflect.Parameter
  • Base64.getMimeDecoder().decode() throws IAE for a single non-base64 character
  • Base64.Decoder.decode(String) spec contains a copy-paste mistake
  • Add minimal support of MacOSX platform for NetBeans Projects
  • (fmt) %f formatting of BigDecimals is incorrect
  • Test sun/security/util/Oid/S11N.sh fails with timeout on Linux 32-bit
  • Race in async socket close on Linux
  • [launcher] removes trailing slashes on arguments
  • Formatter should document that %a conversion unsupported for BigDecimal args
  • Double.toHexString(double d) String manipulation with + in an append of StringBuilder
  • (pack200) assertion errors when processing lambda class files with IMethods
  • [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt
  • untangle ftp protocol from general networking URL tests
  • tools/launcher/VersionCheck.java failing with new tool jabswitch
  • java.lang.NegativeArraySizeException in tenToThe
  • Protocol to discovery of manageable Java processes on a network
  • Cleanup PKCS12 tests to ensure streams get closed
  • Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream
  • Base64.Decoder decoding methods are not consistent in treating non-padded data
  • Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding =
  • Upgrade AnnotatedElement.isAnnotionPresent to be a default method
  • Intermittent DeadListenerTest.java failure
  • Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector
  • attributes are ignored when loading keys from a PKCS12 keystore

New in Java SE Development Kit (JDK) 8 Build b76 Developer Preview (Feb 11, 2013)

  • Fixed bugs:
  • Need to use nawk on Solaris to avoid awk limitations
  • Stop creating four jars with identical content in the new build system.
  • build-infra: Make should fail if spec is older than configure files
  • build-infra: Create final-images target
  • build-infra: Incremental build of tools.jar broken
  • Stop creating four jars with identical content in the new build system.
  • Stop creating four jars with identical content in the new build system.
  • Stop creating four jars with identical content in the new build system.
  • Stop creating four jars with identical content in the new build system.
  • mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is throwing 'egrep: syntax error'
  • build-infra: configure reports Solaris needs gcc for deploy, but logs don't indicate it's used.
  • Stop creating four jars with identical content in the new build system.

New in Java SE Development Kit (JDK) 7 Update 11 (Jan 14, 2013)

  • Olson Data 2012i:
  • JDK 7u11 contains Olson time zone data version 2012i. For more information, refer to Timezone Data Versions in the JRE Software.
  • 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 SE Development Kit (JDK) 7 Update 10 (Dec 12, 2012)

  • For JDK 7u10 release, the following additional system configurations have been certified:
  • Windows 8
  • The JDK 7u10 release includes the following enhancements:
  • The ability to disable any Java application from running in the browser. This mode can be set in the Java Control Panel or (on Microsoft Windows platform only) using a command-line install argument.
  • The ability to select the desired level of security for unsigned applets, Java Web Start applications, and embedded JavaFX applications that run in a browser. Four levels of security are supported. This feature can be set in the Java Control Panel or (on Microsoft Windows platform only) using a command-line install argument.
  • New dialogs to warn you when the JRE is insecure (either expired or below the security baseline) and needs to be updated.
  • Bug Fixes:
  • Area: java command
  • Description: Wildcard expansion for single entry classpath does not work on Windows platforms.
  • The Java command and Setting the classpath documents describe how the wildcard character (*) can be used in a classpath element to expand into a list of the .jar files in the associated directory, separated by the classpath separator (;).
  • This wildcard expansion does not work in a Windows command shell for a single element classpath due to the Microsoft bug described in Wildcard Handling is Broken.

New in Java SE Development Kit (JDK) 7 Update 9 (Oct 20, 2012)

  • 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 SE Development Kit (JDK) 7 Update 7 (Aug 31, 2012)

  • This release contains fixes for security vulnerabilities.

New in Java SE Development Kit (JDK) 7 Update 5 (Jun 13, 2012)

  • 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.
  • InetAddress.getLocalHost().getHostName() returns FQDN
  • Wrong update version text shown in mac JDK installer

New in Java SE Development Kit (JDK) 7 Update 4 (Apr 27, 2012)

  • JDK Support for Mac OS X
  • New JVM (Java HotSpot Virtual Machine, version 23)
  • New Supported Garbage Collector: Garbage First (G1)
  • JavaFX 2.1 Runtime co-installs with JRE 7 during auto-update
  • JAXP upgraded to 1.4.6
  • Java DB upgraded to 10.8.2.2
  • SPARC T4 specific crypto optimizations in the security area
  • New flag to unlock Commercial Features

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 6 Update 26 (Jun 8, 2011)

  • 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 SE Development Kit (JDK) 6 Update 25 (Jun 2, 2011)

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

New in Java SE Development Kit (JDK) 6 Update 24 (Jun 2, 2011)

  • OlsonData 2010o:
  • Java SE 6u24 contains Olson time zone data version 2010o.
  • Java DB 10.6.2.1:
  • In Java SE 6u24, Java DB is upgraded to version 10.6.2.1.
  • This release contains fixes for security vulnerabilities

New in Java SE Development Kit (JDK) 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 SE Development Kit (JDK) 7.0.0.113 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 SE Development Kit (JDK) 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 SE Development Kit (JDK) 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.