Blame SOURCES/NEWS

cadfac
Key:
cadfac
cadfac
JDK-X  - https://bugs.openjdk.java.net/browse/JDK-X
cadfac
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
cadfac
a904f9
New in release OpenJDK 17.0.3 (2022-04-19):
a904f9
===========================================
a904f9
Live versions of these release notes can be found at:
a904f9
  * https://bitly.com/openjdk1703
a904f9
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt
a904f9
ef2295
* Security fixes
ef2295
  - JDK-8269938: Enhance XML processing passes redux
ef2295
  - JDK-8270504, CVE-2022-21426: Better XPath expression handling
ef2295
  - JDK-8272255: Completely handle MIDI files
ef2295
  - JDK-8272261: Improve JFR recording file processing
ef2295
  - JDK-8272588: Enhanced recording parsing
ef2295
  - JDK-8272594: Better record of recordings
ef2295
  - JDK-8274221: More definite BER encodings
ef2295
  - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0
ef2295
  - JDK-8275151, CVE-2022-21443: Improved Object Identification
ef2295
  - JDK-8277227: Better identification of OIDs
ef2295
  - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support
ef2295
  - JDK-8277672, CVE-2022-21434: Better invocation handler handling
ef2295
  - JDK-8278356: Improve file creation
ef2295
  - JDK-8278449: Improve keychain support
ef2295
  - JDK-8278798: Improve supported intrinsic
ef2295
  - JDK-8278805: Enhance BMP image loading
ef2295
  - JDK-8278972, CVE-2022-21496: Improve URL supports
ef2295
  - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo
a904f9
* Other changes
a904f9
  - JDK-8177814: jdk/editpad is not in jdk TEST.groups
a904f9
  - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64
a904f9
  - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
a904f9
  - JDK-8225559: assertion error at TransTypes.visitApply
a904f9
  - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful
a904f9
  - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
a904f9
  - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
a904f9
  - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1
a904f9
  - JDK-8251216: Implement MD5 intrinsics on AArch64
a904f9
  - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
a904f9
  - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
a904f9
  - JDK-8263567: gtests don't terminate the VM safely
a904f9
  - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark
a904f9
  - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups
a904f9
  - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
a904f9
  - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
a904f9
  - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
a904f9
  - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file
a904f9
  - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
a904f9
  - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
a904f9
  - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
a904f9
  - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
a904f9
  - JDK-8270117: Broken jtreg link in "Building the JDK" page
a904f9
  - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
a904f9
  - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
a904f9
  - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
a904f9
  - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty
a904f9
  - JDK-8271506: Add ResourceHashtable support for deleting selected entries
a904f9
  - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
a904f9
  - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories
a904f9
  - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates
a904f9
  - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage()
a904f9
  - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
a904f9
  - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code
a904f9
  - JDK-8272600: (test) Use native "sleep" in Basic.java
a904f9
  - JDK-8272866: java.util.random package summary contains incorrect mixing function in table
a904f9
  - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
a904f9
  - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt
a904f9
  - JDK-8273277: C2: Move conditional negation into rc_predicate
a904f9
  - JDK-8273341: Update Siphash to version 1.0
a904f9
  - JDK-8273351: bad tag in jdk.random module-info.java
a904f9
  - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
a904f9
  - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
a904f9
  - JDK-8273387: remove some unreferenced gtk-related functions
a904f9
  - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
a904f9
  - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
a904f9
  - JDK-8273526: Extend the OSContainer API  pids controller with pids.current
a904f9
  - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
a904f9
  - JDK-8273655: content-types.properties files are missing some common types
a904f9
  - JDK-8273682: Upgrade Jline to 3.20.0
a904f9
  - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
a904f9
  - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
a904f9
  - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions
a904f9
  - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
a904f9
  - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
a904f9
  - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
a904f9
  - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
a904f9
  - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
a904f9
  - JDK-8274471: Add support for RSASSA-PSS in OCSP Response
a904f9
  - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
a904f9
  - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake
a904f9
  - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
a904f9
  - JDK-8274658: ISO 4217 Amendment 170 Update
a904f9
  - JDK-8274714: Incorrect verifier protected access error message
a904f9
  - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
a904f9
  - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
a904f9
  - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler
a904f9
  - JDK-8274935: dumptime_table has stale entry
a904f9
  - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
a904f9
  - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected
a904f9
  - JDK-8275330: C2:  assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
a904f9
  - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
a904f9
  - JDK-8275586: Zero: Simplify interpreter initialization
a904f9
  - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
a904f9
  - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault
a904f9
  - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
a904f9
  - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64
a904f9
  - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
a904f9
  - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
a904f9
  - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock
a904f9
  - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method
a904f9
  - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
a904f9
  - JDK-8276057: Update JMH devkit to 1.33
a904f9
  - JDK-8276141: XPathFactory set/getProperty method
a904f9
  - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
a904f9
  - JDK-8276314: [JVMCI] check alignment of call displacement during code installation
a904f9
  - JDK-8276623: JDK-8275650 accidentally pushed "out" file
a904f9
  - JDK-8276654: element-list order is non deterministic
a904f9
  - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common()
a904f9
  - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod
a904f9
  - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content
a904f9
  - JDK-8276841: Add support for Visual Studio 2022
a904f9
  - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
a904f9
  - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
a904f9
  - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
a904f9
  - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
a904f9
  - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
a904f9
  - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
a904f9
  - JDK-8277383: VM.metaspace optionally show chunk freelist details
a904f9
  - JDK-8277385: Zero: Enable CompactStrings support
a904f9
  - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
a904f9
  - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
a904f9
  - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
a904f9
  - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
a904f9
  - JDK-8277497: Last column cell in the JTable row is read as empty cell
a904f9
  - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
a904f9
  - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER
a904f9
  - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
a904f9
  - JDK-8277795: ldap connection timeout not honoured under contention
a904f9
  - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
a904f9
  - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
a904f9
  - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3
a904f9
  - JDK-8278016: Add compiler tests to tier{2,3}
a904f9
  - JDK-8278020: ~13% variation in Renaissance-Scrabble
a904f9
  - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
a904f9
  - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
a904f9
  - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute'
a904f9
  - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
a904f9
  - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
a904f9
  - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
a904f9
  - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
a904f9
  - JDK-8278185: Custom JRE cannot find non-ASCII named module inside
a904f9
  - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
a904f9
  - JDK-8278241: Implement JVM SpinPause on linux-aarch64
a904f9
  - JDK-8278309: [windows] use of uninitialized OSThread::_state
a904f9
  - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
a904f9
  - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
a904f9
  - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec
a904f9
  - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
a904f9
  - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
a904f9
  - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column
a904f9
  - JDK-8278604: SwingSet2 table demo does not have accessible description set for images
a904f9
  - JDK-8278627: Shenandoah: TestHeapDump test failed
a904f9
  - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
a904f9
  - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3
a904f9
  - JDK-8278824: Uneven work distribution when scanning heap roots in G1
a904f9
  - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
a904f9
  - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
a904f9
  - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
a904f9
  - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
a904f9
  - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
a904f9
  - JDK-8279124: VM does not handle SIGQUIT during initialization
a904f9
  - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers
a904f9
  - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
a904f9
  - JDK-8279379: GHA: Print tests that are in error
a904f9
  - JDK-8279385: [test]  Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
a904f9
  - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
a904f9
  - JDK-8279445: Update JMH devkit to 1.34
a904f9
  - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms
a904f9
  - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
a904f9
  - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
a904f9
  - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
a904f9
  - JDK-8279702: [macosx] ignore xcodebuild warnings on M1
a904f9
  - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16
a904f9
  - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
a904f9
  - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
a904f9
  - JDK-8280002: jmap -histo may leak stream
a904f9
  - JDK-8280155: [PPC64, s390] frame size checks are not yet correct
a904f9
  - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
a904f9
  - JDK-8280414: Memory leak in DefaultProxySelector
a904f9
  - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
a904f9
  - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames
a904f9
  - JDK-8281460: Let ObjectMonitor have its own NMT category
a904f9
  - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
ef2295
  - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
ef2295
  - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
a904f9
  - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods
ef2295
  - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
ef2295
  - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
a904f9
a904f9
Notes on individual issues:
a904f9
===========================
a904f9
a904f9
security-libs/java.security:
a904f9
a904f9
JDK-8274791: Support for RSASSA-PSS in OCSP Response
a904f9
====================================================
a904f9
An OCSP response signed with the RSASSA-PSS algorithm is now supported.
a904f9
840a84
New in release OpenJDK 17.0.2 (2022-01-18):
840a84
===========================================
840a84
Live versions of these release notes can be found at:
840a84
  * https://bitly.com/openjdk1702
840a84
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt
840a84
840a84
* Security fixes
840a84
  - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
840a84
  - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization
840a84
  - JDK-8268488: More valuable DerValues
840a84
  - JDK-8268494: Better inlining of inlined interfaces
840a84
  - JDK-8268512: More content for ContentInfo
840a84
  - JDK-8268813, CVE-2022-21283: Better String matching
840a84
  - JDK-8269151: Better construction of EncryptedPrivateKeyInfo
840a84
  - JDK-8269944: Better HTTP transport redux
840a84
  - JDK-8270386, CVE-2022-21291: Better verification of scan methods
840a84
  - JDK-8270392, CVE-2022-21293: Improve String constructions
840a84
  - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps
840a84
  - JDK-8270492, CVE-2022-21282: Better resolution of URIs
840a84
  - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management
840a84
  - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities
840a84
  - JDK-8270952, CVE-2022-21277: Improve TIFF file handling
840a84
  - JDK-8271962: Better TrueType font loading
840a84
  - JDK-8271968: Better canonical naming
840a84
  - JDK-8271987: Manifest improved manifest entries
840a84
  - JDK-8272014, CVE-2022-21305: Better array indexing
840a84
  - JDK-8272026, CVE-2022-21340: Verify Jar Verification
840a84
  - JDK-8272236, CVE-2022-21341: Improve serial forms for transport
840a84
  - JDK-8272272: Enhance jcmd communication
840a84
  - JDK-8272462: Enhance image handling
840a84
  - JDK-8273290: Enhance sound handling
840a84
  - JDK-8273756, CVE-2022-21360: Enhance BMP image support
840a84
  - JDK-8273838, CVE-2022-21365: Enhanced BMP processing
840a84
  - JDK-8274096, CVE-2022-21366: Improve decoding of image files
840a84
* Other changes
840a84
  - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException
840a84
  - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
840a84
  - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
840a84
  - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
840a84
  - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
840a84
  - JDK-8214761: Bug in parallel Kahan summation implementation
840a84
  - JDK-8223923: C2: Missing interference with mismatched unsafe accesses
840a84
  - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
840a84
  - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
840a84
  - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
840a84
  - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
840a84
  - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic
840a84
  - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
840a84
  - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
840a84
  - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
840a84
  - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
840a84
  - JDK-8263375: Support stack watermarks in Zero VM
840a84
  - JDK-8263773: Reenable German localization for builds at Oracle
840a84
  - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer
840a84
  - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer
840a84
  - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer
840a84
  - JDK-8264292: Create implementation for NSAccessibilityList protocol peer
840a84
  - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer
840a84
  - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer
840a84
  - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer
840a84
  - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
840a84
  - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
840a84
  - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer
840a84
  - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer
840a84
  - JDK-8266239: Some duplicated javac command-line options have repeated effect
840a84
  - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color
840a84
  - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
840a84
  - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
840a84
  - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
840a84
  - JDK-8267387: Create implementation for NSAccessibilityOutline protocol
840a84
  - JDK-8267388: Create implementation for NSAccessibilityTable protocol
840a84
  - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
840a84
  - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs.
840a84
  - JDK-8268361: Fix the infinite loop in next_line
840a84
  - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
840a84
  - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
840a84
  - JDK-8268626: Remove native pre-jdk9 support for jtreg  failure handler
840a84
  - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions
840a84
  - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
840a84
  - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type
840a84
  - JDK-8268893: jcmd to trim the glibc heap
840a84
  - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
840a84
  - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
840a84
  - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
840a84
  - JDK-8269113: Javac throws when compiling switch (null)
840a84
  - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
840a84
  - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException
840a84
  - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString()
840a84
  - JDK-8269481: SctpMultiChannel never releases own file descriptor
840a84
  - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
840a84
  - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
840a84
  - JDK-8269687: pauth_aarch64.hpp include name is incorrect
840a84
  - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
840a84
  - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts
840a84
  - JDK-8269951: [macos] Focus not painted in JButton when  setBorderPainted(false) is invoked
840a84
  - JDK-8270110: Shenandoah: Add test for JDK-8269661
840a84
  - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
840a84
  - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
840a84
  - JDK-8270290: NTLM authentication fails if HEAD request is used
840a84
  - JDK-8270317: Large Allocation in CipherSuite
840a84
  - JDK-8270320: JDK-8270110 committed invalid copyright headers
840a84
  - JDK-8270517: Add Zero support for LoongArch
840a84
  - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
840a84
  - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
840a84
  - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file
840a84
  - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType
840a84
  - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String
840a84
  - JDK-8271071: accessibility of a table on macOS lacks cell navigation
840a84
  - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
840a84
  - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h
840a84
  - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment
840a84
  - JDK-8271215: Fix data races in G1PeriodicGCTask
840a84
  - JDK-8271254: javac generates unreachable code when using empty semicolon statement
840a84
  - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
840a84
  - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
840a84
  - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
840a84
  - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
840a84
  - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop
840a84
  - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
840a84
  - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
840a84
  - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
840a84
  - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
840a84
  - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
840a84
  - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
840a84
  - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
840a84
  - JDK-8271605: Update JMH devkit to 1.32
840a84
  - JDK-8271718: Crash when during color transformation the color profile is replaced
840a84
  - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
840a84
  - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
840a84
  - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used
840a84
  - JDK-8271868: Warn user when using mac-sign option with unsigned app-image.
840a84
  - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
840a84
  - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
840a84
  - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
840a84
  - JDK-8272114: Unused _last_state in osThread_windows
840a84
  - JDK-8272170: Missing memory barrier when checking active state for regions
840a84
  - JDK-8272305: several hotspot runtime/modules don't check exit codes
840a84
  - JDK-8272318: Improve performance of HeapDumpAllTest
840a84
  - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher
840a84
  - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
840a84
  - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
840a84
  - JDK-8272345: macos doesn't check `os::set_boot_path()` result
840a84
  - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
840a84
  - JDK-8272391: Undeleted debug information
840a84
  - JDK-8272413: Incorrect num of element count calculation for vector cast
840a84
  - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
840a84
  - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272570: C2: crash in PhaseCFG::global_code_motion
840a84
  - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272639: jpackaged applications using microphone on mac
840a84
  - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO
840a84
  - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
840a84
  - JDK-8272783: Epsilon: Refactor tests to improve performance
840a84
  - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests
840a84
  - JDK-8272838: Move CriticalJNI tests out of tier1
840a84
  - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
840a84
  - JDK-8272850: Drop zapping values in the Zap* option descriptions
840a84
  - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test
840a84
  - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
840a84
  - JDK-8272859: Javadoc external links should only have feature version number in URL
840a84
  - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups
840a84
  - JDK-8272970: Parallelize runtime/InvocationTests/
840a84
  - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
840a84
  - JDK-8273021: C2: Improve Add and Xor ideal optimizations
840a84
  - JDK-8273026: Slow LoginContext.login() on multi threading application
840a84
  - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
840a84
  - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
840a84
  - JDK-8273176: handle latest VS2019 in abstract_vm_version
840a84
  - JDK-8273229: Update OS detection code to recognize Windows Server 2022
840a84
  - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash
840a84
  - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
840a84
  - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
840a84
  - JDK-8273308: PatternMatchTest.java fails on CI
840a84
  - JDK-8273314: Add tier4 test groups
840a84
  - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
840a84
  - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
840a84
  - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
840a84
  - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs
840a84
  - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817
840a84
  - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
840a84
  - JDK-8273361: InfoOptsTest is failing in tier1
840a84
  - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero
840a84
  - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop
840a84
  - JDK-8273376: Zero: Disable vtable/itableStub gtests
840a84
  - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP
840a84
  - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
840a84
  - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
840a84
  - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
840a84
  - JDK-8273450: Fix the copyright header of SVML files
840a84
  - JDK-8273451: Remove unreachable return in  mutexLocker::wait
840a84
  - JDK-8273483: Zero: Clear pending JNI exception check in native method handler
840a84
  - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
840a84
  - JDK-8273487: Zero: Handle "zero" variant in runtime tests
840a84
  - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
840a84
  - JDK-8273498: compiler/c2/Test7179138_1.java timed out
840a84
  - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
840a84
  - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
840a84
  - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated
840a84
  - JDK-8273592: Backout JDK-8271868
840a84
  - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
840a84
  - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
840a84
  - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch
840a84
  - JDK-8273614: Shenandoah: intermittent  timeout with ConcurrentGCBreakpoint tests
840a84
  - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
840a84
  - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
840a84
  - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease
840a84
  - JDK-8273695: Safepoint deadlock on VMOperation_lock
840a84
  - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
840a84
  - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
840a84
  - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
840a84
  - JDK-8273808: Cleanup AddFontsToX11FontPath
840a84
  - JDK-8273826: Correct Manifest file name and NPE checks
840a84
  - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
840a84
  - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
840a84
  - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release()
840a84
  - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
840a84
  - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
840a84
  - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
840a84
  - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
840a84
  - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
840a84
  - JDK-8273968: JCK javax_xml tests fail in CI
840a84
  - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects
840a84
  - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
840a84
  - JDK-8274083: Update testing docs to mention tiered testing
840a84
  - JDK-8274087: Windows DLL path not set correctly.
840a84
  - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
840a84
  - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
840a84
  - JDK-8274215: Remove globalsignr2ca root from 17.0.2
840a84
  - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
840a84
  - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp
840a84
  - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
840a84
  - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
840a84
  - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
840a84
  - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
840a84
  - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
840a84
  - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
840a84
  - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU
840a84
  - JDK-8274381: missing CAccessibility definitions in JNI code
840a84
  - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread
840a84
  - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API
840a84
  - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
840a84
  - JDK-8274407: (tz) Update Timezone Data to 2021c
840a84
  - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
840a84
  - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b
840a84
  - JDK-8274468: TimeZoneTest.java fails with tzdata2021b
840a84
  - JDK-8274501: c2i entry barriers read int as long on AArch64
840a84
  - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
840a84
  - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
840a84
  - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
840a84
  - JDK-8274550: c2i entry barriers read int as long on PPC
840a84
  - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah
840a84
  - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
840a84
  - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
840a84
  - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
840a84
  - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
840a84
  - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
840a84
  - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
840a84
  - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
840a84
  - JDK-8274840: Update OS detection code to recognize Windows 11
840a84
  - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
840a84
  - JDK-8274851: [ppc64] Port zgc to linux on ppc64le
840a84
  - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
840a84
  - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11
840a84
  - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register
840a84
  - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
840a84
  - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed
840a84
  - JDK-8275104: IR framework does not handle client VM builds correctly
840a84
  - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
840a84
  - JDK-8275131: Exceptions after a touchpad gesture on macOS
840a84
  - JDK-8275141: recover corrupted line endings for the version-numbers.conf
840a84
  - JDK-8275145: file.encoding system property has an incorrect value on Windows
840a84
  - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
840a84
  - JDK-8275302: unexpected compiler error: cast, intersection types and sealed
840a84
  - JDK-8275426: PretouchTask num_chunks calculation can overflow
840a84
  - JDK-8275604: Zero: Reformat opclabels_data
840a84
  - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
840a84
  - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
840a84
  - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
840a84
  - JDK-8275766: (tz) Update Timezone Data to 2021e
840a84
  - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
840a84
  - JDK-8275811: Incorrect instance to dispose
840a84
  - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
840a84
  - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e
840a84
  - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
840a84
  - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml
840a84
  - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency
840a84
  - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
840a84
  - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
840a84
  - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
840a84
  - JDK-8276112: Inconsistent scalar replacement debug info at safepoints
840a84
  - JDK-8276122: Change openjdk project in jcheck to jdk-updates
840a84
  - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme
840a84
  - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
840a84
  - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
840a84
  - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
840a84
  - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
840a84
  - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
840a84
  - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
840a84
  - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend
840a84
  - JDK-8276572: Fake libsyslookup.so library causes tooling issues
840a84
  - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
840a84
  - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
840a84
  - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
840a84
  - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
840a84
  - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1
840a84
  - JDK-8276854: Windows GHA builds fail due to broken Cygwin
840a84
  - JDK-8276864: Update boot JDKs to 17.0.1 in GHA
840a84
  - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
840a84
  - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le
840a84
  - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
840a84
  - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element
840a84
  - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
840a84
  - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
840a84
  - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches
840a84
  - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
840a84
  - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
840a84
  - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
840a84
840a84
Notes on individual issues:
840a84
===========================
840a84
840a84
core-libs/java.io:serialization:
840a84
840a84
JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element
840a84
=========================================================================================
840a84
`java.util.Vector` is updated to correctly report
840a84
`ClassNotFoundException that occurs during deserialization using
840a84
`java.io.ObjectInputStream.GetField.get(name, object)` when the class
840a84
of an element of the Vector is not found. Without this fix, a
840a84
`StreamCorruptedException` is thrown that does not provide information
840a84
about the missing class.
840a84
840a84
security-libs/java.security:
840a84
840a84
JDK-8272535: Removed Google's GlobalSign Root Certificate
840a84
=========================================================
840a84
The following root certificate from Google has been removed from the
840a84
`cacerts` keystore:
840a84
840a84
Alias Name: globalsignr2ca [jdk]
840a84
Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
840a84
840a84
core-libs/java.io:
840a84
840a84
JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows
840a84
============================================================================
840a84
The initialization of the `file.encoding` system property on non macOS
840a84
platforms has been reverted to align with the behavior on or before
840a84
JDK 11.  This has been an issue especially on Windows where the system
840a84
and user's locales are not the same.
840a84
840a84
hotspot/gc:
840a84
840a84
JDK-8277533: ZGC: Fixed long Process Non-Strong References times
840a84
================================================================
840a84
A bug has been fixed that could cause long "Concurrent Process
840a84
Non-Strong References" times with ZGC. The bug blocked the GC from
840a84
making significant progress, and caused both latency and throughput
840a84
issues for the Java application.
840a84
840a84
The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g.
840a84
840a84
[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms
840a84
840a84
core-libs/java.time:
840a84
840a84
JDK-8274857:  Update Timezone Data to 2021c
840a84
===========================================
840a84
IANA Time Zone Database, on which JDK's Date/Time libraries are based,
840a84
has been updated to version 2021c
840a84
(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note
840a84
that with this update, some of the time zone rules prior to the year
840a84
1970 have been modified according to the changes which were introduced
840a84
with 2021b. For more detail, refer to the announcement of 2021b
840a84
(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html)
840a84
840a84
New in release OpenJDK 17.0.1 (2021-10-19):
840a84
===========================================
840a84
Live versions of these release notes can be found at:
840a84
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt
840a84
840a84
* Security fixes
840a84
  - JDK-8263314: Enhance XML Dsig modes
840a84
  - JDK-8265167, CVE-2021-35556: Richer Text Editors
840a84
  - JDK-8265574: Improve handling of sheets
840a84
  - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit
840a84
  - JDK-8265776: Improve Stream handling for SSL
840a84
  - JDK-8266097, CVE-2021-35561: Better hashing support
840a84
  - JDK-8266103: Better specified spec values
840a84
  - JDK-8266109: More Resilient Classloading
840a84
  - JDK-8266115: More Manifest Jar Loading
840a84
  - JDK-8266137, CVE-2021-35564: Improve Keystore integrity
840a84
  - JDK-8266689, CVE-2021-35567: More Constrained Delegation
840a84
  - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
840a84
  - JDK-8267712: Better LDAP reference processing
840a84
  - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking
840a84
  - JDK-8267735, CVE-2021-35586: Better BMP support
840a84
  - JDK-8268193: Improve requests of certificates
840a84
  - JDK-8268199: Correct certificate requests
840a84
  - JDK-8268205: Enhance DTLS client handshake
840a84
  - JDK-8268500: Better specified ParameterSpecs
840a84
  - JDK-8268506: More Manifest Digests
840a84
  - JDK-8269618, CVE-2021-35603: Better session identification
840a84
  - JDK-8269624: Enhance method selection support
840a84
  - JDK-8270398: Enhance canonicalization
840a84
  - JDK-8270404: Better canonicalization
840a84
* Other changes
840a84
  - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021
840a84
  - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
840a84
  - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
840a84
  - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations
840a84
  - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
840a84
  - JDK-8263531: Remove unused buffer int
840a84
  - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
840a84
  - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
840a84
  - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file
840a84
  - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected
840a84
  - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
840a84
  - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance
840a84
  - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
840a84
  - JDK-8269297: Bump version numbers for JDK 17.0.1
840a84
  - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
840a84
  - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
840a84
  - JDK-8269763: The JEditorPane is blank after JDK-8265167
840a84
  - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
840a84
  - JDK-8269882: stack-use-after-scope in NewObjectA
840a84
  - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
840a84
  - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
840a84
  - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
840a84
  - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations
840a84
  - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
840a84
  - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
840a84
  - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
840a84
  - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java  OCSP response error
840a84
  - JDK-8270344: Session resumption errors
840a84
  - JDK-8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
840a84
  - JDK-8271276: C2: Wrong JVM state used for receiver null check
840a84
  - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
840a84
  - JDK-8271589: fatal error with variable shift count integer rotate operation.
840a84
  - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
840a84
  - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
840a84
  - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
840a84
  - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
840a84
  - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
840a84
  - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
840a84
  - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
840a84
  - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34
840a84
  - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
840a84
  - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
840a84
  - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
840a84
  - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
840a84
  - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
840a84
  - JDK-8273358: macOS Monterey does not have the font Times needed by Serif
840a84
840a84
Notes on individual issues:
840a84
===========================
840a84
840a84
security-libs/java.security:
840a84
840a84
JDK-8271434: Removed IdenTrust Root Certificate
840a84
===============================================
840a84
The following root certificate from IdenTrust has been removed from
840a84
the `cacerts` keystore:
840a84
840a84
Alias Name: identrustdstx3 [jdk]
840a84
Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
840a84
033d8e
New in release OpenJDK 17.0.0 (2021-09-14):
cadfac
===========================================
033d8e
The full list of changes in the interim releases from 11u to 17u can be found at:
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-12.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-13.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-14.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-15.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-16.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-17.txt
033d8e
033d8e
Major changes are listed below.  Some changes may have been backported
033d8e
to earlier releases following their first appearance in OpenJDK 12
033d8e
through to 17.
033d8e
033d8e
NEW FEATURES
033d8e
============
033d8e
033d8e
Language Features
033d8e
=================
033d8e
033d8e
Switch Expressions
033d8e
==================
033d8e
https://openjdk.java.net/jeps/325
033d8e
https://openjdk.java.net/jeps/354
033d8e
https://openjdk.java.net/jeps/361
033d8e
033d8e
Extend the `switch` statement so that it can be used as either a
033d8e
statement or an expression, and that both forms can use either a
033d8e
"traditional" or "simplified" scoping and control flow behavior.  Both
033d8e
forms can use either traditional `case ... :` labels (with fall
033d8e
through) or new `case ... ->` labels (with no fall through), with a
033d8e
further new statement for yielding a value from a `switch`
033d8e
expression. These changes will simplify everyday coding, and also
033d8e
prepare the way for the use of pattern matching in `switch`.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 12 & 13 and became final in OpenJDK 14.
033d8e
033d8e
Text Blocks
033d8e
===========
033d8e
https://openjdk.java.net/jeps/355
033d8e
https://openjdk.java.net/jeps/368
033d8e
https://openjdk.java.net/jeps/378
033d8e
033d8e
Add text blocks to the Java language. A text block is a multi-line
033d8e
string literal that avoids the need for most escape sequences,
033d8e
automatically formats the string in a predictable way, and gives the
033d8e
developer control over format when desired.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 13 & 14 and became final in OpenJDK 15.
033d8e
033d8e
Pattern Matching for instanceof
033d8e
===============================
033d8e
https://openjdk.java.net/jeps/305
033d8e
https://openjdk.java.net/jeps/375
033d8e
https://openjdk.java.net/jeps/394
033d8e
http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html
033d8e
033d8e
Enhance the Java programming language with pattern matching for the
033d8e
`instanceof` operator. Pattern matching allows common logic in a
033d8e
program, namely the conditional extraction of components from objects,
033d8e
to be expressed more concisely and safely.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 14 & 15 and became final in OpenJDK 16.
033d8e
033d8e
Records
033d8e
=======
033d8e
https://openjdk.java.net/jeps/359
033d8e
https://openjdk.java.net/jeps/384
033d8e
https://openjdk.java.net/jeps/395
033d8e
033d8e
Enhance the Java programming language with records.  Records provide a
033d8e
compact syntax for declaring classes which are transparent holders for
033d8e
shallowly immutable data.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 14 & 15 and became final in OpenJDK 16.
033d8e
033d8e
Sealed Classes
033d8e
==============
033d8e
https://openjdk.java.net/jeps/360
033d8e
https://openjdk.java.net/jeps/397
033d8e
https://openjdk.java.net/jeps/409
033d8e
https://cr.openjdk.java.net/~briangoetz/amber/datum.html
033d8e
033d8e
Enhance the Java programming language with sealed classes and
033d8e
interfaces. Sealed classes and interfaces restrict which other classes
033d8e
or interfaces may extend or implement them.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 15 & 16 and became final in OpenJDK 17.
033d8e
033d8e
Restore Always-Strict Floating-Point Semantics
033d8e
==============================================
033d8e
https://openjdk.java.net/jeps/306
033d8e
033d8e
Make floating-point operations consistently strict, rather than have
033d8e
both strict floating-point semantics (`strictfp`) and subtly different
033d8e
default floating-point semantics. This will restore the original
033d8e
floating-point semantics to the language and VM, matching the
033d8e
semantics before the introduction of strict and default floating-point
033d8e
modes in Java SE 1.2.
033d8e
033d8e
Pattern Matching for switch
cadfac
===========================
033d8e
https://openjdk.java.net/jeps/406
cadfac
033d8e
Enhance the Java programming language with pattern matching for
033d8e
`switch` expressions and statements, along with extensions to the
033d8e
language of patterns. Extending pattern matching to `switch` allows an
033d8e
expression to be tested against a number of patterns, each with a
033d8e
specific action, so that complex data-oriented queries can be
033d8e
expressed concisely and safely.
cadfac
033d8e
This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK
033d8e
17.
cadfac
033d8e
Library Features
033d8e
================
cadfac
033d8e
JVM Constants API
033d8e
=================
033d8e
https://openjdk.java.net/jeps/334
033d8e
033d8e
Introduce an API to model nominal descriptions of key class-file and
033d8e
run-time artifacts, in particular constants that are loadable from the
033d8e
constant pool.
033d8e
033d8e
Reimplement the Legacy Socket API
033d8e
=================================
033d8e
https://openjdk.java.net/jeps/353
033d8e
033d8e
Replace the underlying implementation used by the `java.net.Socket`
033d8e
and `java.net.ServerSocket` APIs with a simpler and more modern
033d8e
implementation that is easy to maintain and debug. The new
033d8e
implementation will be easy to adapt to work with user-mode threads,
033d8e
a.k.a. fibers, currently being explored in Project Loom
033d8e
(https://openjdk.java.net/projects/loom).
033d8e
033d8e
JFR Event Streaming
033d8e
===================
033d8e
https://openjdk.java.net/jeps/349
033d8e
033d8e
Expose JDK Flight Recorder data for continuous monitoring.
033d8e
033d8e
Non-Volatile Mapped Byte Buffers
033d8e
================================
033d8e
https://openjdk.java.net/jeps/352
033d8e
033d8e
Add new JDK-specific file mapping modes so that the `FileChannel` API
033d8e
can be used to create `MappedByteBuffer` instances that refer to
033d8e
non-volatile memory.
033d8e
033d8e
Helpful NullPointerExceptions
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/358
033d8e
033d8e
Improve the usability of `NullPointerException`s generated by the JVM
033d8e
by describing precisely which variable was `null`.
033d8e
033d8e
Foreign-Memory Access API
033d8e
=========================
033d8e
https://openjdk.java.net/jeps/370
033d8e
https://openjdk.java.net/jeps/383
033d8e
https://openjdk.java.net/jeps/393
033d8e
033d8e
Introduce an API to allow Java programs to safely and efficiently
033d8e
access foreign memory outside of the Java heap.
033d8e
033d8e
This was a incubation feature (https://openjdk.java.net/jeps/11) in
033d8e
OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory
033d8e
API in OpenJDK 17 (see below).
033d8e
033d8e
Edwards-Curve Digital Signature Algorithm (EdDSA)
033d8e
=================================================
033d8e
https://openjdk.java.net/jeps/339
033d8e
033d8e
Implement cryptographic signatures using the Edwards-Curve Digital
033d8e
Signature Algorithm (EdDSA) as described by RFC 8032
033d8e
(https://tools.ietf.org/html/rfc8032).
033d8e
033d8e
Hidden Classes
033d8e
==============
033d8e
https://openjdk.java.net/jeps/371
033d8e
033d8e
Introduce hidden classes, which are classes that cannot be used
033d8e
directly by the bytecode of other classes. Hidden classes are intended
033d8e
for use by frameworks that generate classes at run time and use them
033d8e
indirectly, via reflection. A hidden class may be defined as a member
033d8e
of an access control nest (https://openjdk.java.net/jeps/181), and may
033d8e
be unloaded independently of other classes.
033d8e
033d8e
Reimplement the Legacy DatagramSocket API
033d8e
=========================================
033d8e
https://openjdk.java.net/jeps/373
033d8e
033d8e
Replace the underlying implementations of the
033d8e
`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with
033d8e
simpler and more modern implementations that are easy to maintain and
033d8e
debug. The new implementations will be easy to adapt to work with
033d8e
virtual threads, currently being explored in Project Loom
033d8e
(https://openjdk.java.net/projects/loom). This is a follow-on to JEP
033d8e
353 (see above), which already reimplemented the legacy Socket API.
033d8e
033d8e
Vector API
033d8e
==========
033d8e
https://openjdk.java.net/jeps/338
033d8e
https://openjdk.java.net/jeps/414
033d8e
033d8e
Provide an initial iteration of an incubator module,
033d8e
`jdk.incubator.vector`, to express vector computations that reliably
033d8e
compile at runtime to optimal vector hardware instructions on
033d8e
supported CPU architectures and thus achieve superior performance to
033d8e
equivalent scalar computations.
033d8e
033d8e
This is an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 16.
033d8e
033d8e
Unix-Domain Socket Channels
033d8e
===========================
033d8e
https://openjdk.java.net/jeps/380
033d8e
033d8e
Add Unix-domain (`AF_UNIX`) socket support to the socket channel and
033d8e
server-socket channel APIs in the `java.nio.channels` package. Extend
033d8e
the inherited channel mechanism to support Unix-domain socket channels
033d8e
and server socket channels.
033d8e
033d8e
Foreign Linker API (Incubator)
033d8e
==============================
033d8e
https://openjdk.java.net/jeps/389
033d8e
033d8e
Introduce an API that offers statically-typed, pure-Java access to
033d8e
native code. This API, together with the Foreign-Memory API (see
033d8e
above), will considerably simplify the otherwise error-prone process
033d8e
of binding to a native library.
033d8e
033d8e
This was an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 16, now superseded by the Foreign Function &
033d8e
Memory API in OpenJDK 17 (see below).
033d8e
033d8e
Strongly Encapsulate JDK Internals by Default
033d8e
=============================================
033d8e
https://openjdk.java.net/jeps/396
033d8e
https://openjdk.java.net/jeps/403
033d8e
033d8e
Strongly encapsulate all internal elements of the JDK by default,
033d8e
except for critical internal APIs such as `sun.misc.Unsafe`.  It will
033d8e
no longer be possible to relax the strong encapsulation of internal
033d8e
elements via a single command-line option, as was possible in OpenJDK
033d8e
9 through 16.
033d8e
033d8e
Enhanced Pseudo-Random Number Generators
033d8e
========================================
033d8e
https://openjdk.java.net/jeps/356
033d8e
033d8e
Provide new interface types and implementations for pseudo-random
033d8e
number generators (PRNGs), including jumpable PRNGs and an additional
033d8e
class of splittable PRNG algorithms (LXM).
033d8e
033d8e
Foreign Function & Memory API
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/412
033d8e
033d8e
Introduce an API by which Java programs can interoperate with code and
033d8e
data outside of the Java runtime. By efficiently invoking foreign
033d8e
functions (i.e., code outside the JVM), and by safely accessing
033d8e
foreign memory (i.e., memory not managed by the JVM), the API enables
033d8e
Java programs to call native libraries and process native data without
033d8e
the brittleness and danger of JNI.
033d8e
033d8e
This API is an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 17, and is an evolution of the Foreign Memory
033d8e
Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK
033d8e
16) (see above).
033d8e
033d8e
Context-Specific Deserialization Filters
033d8e
========================================
033d8e
https://openjdk.java.net/jeps/415
033d8e
033d8e
Allow applications to configure context-specific and
033d8e
dynamically-selected deserialization filters via a JVM-wide filter
033d8e
factory that is invoked to select a filter for each individual
033d8e
deserialization operation.
033d8e
033d8e
Tools
033d8e
=====
033d8e
033d8e
Packaging Tool
033d8e
==============
033d8e
https://openjdk.java.net/jeps/343
033d8e
https://openjdk.java.net/jeps/392
033d8e
033d8e
Provide the `jpackage` tool, for packaging self-contained Java
033d8e
applications.
033d8e
033d8e
JVM Features
033d8e
============
033d8e
033d8e
Shenandoah: A Low-Pause-Time Garbage Collector
033d8e
==============================================
033d8e
https://openjdk.java.net/jeps/189
033d8e
https://openjdk.java.net/jeps/379
033d8e
033d8e
Add a new garbage collection (GC) algorithm named Shenandoah which
033d8e
reduces GC pause times by doing evacuation work concurrently with the
033d8e
running Java threads.  Pause times with Shenandoah are independent of
033d8e
heap size, meaning you will have the same consistent pause times
033d8e
whether your heap is 200 MB or 200 GB.
033d8e
033d8e
Shenandoah has been provided in Red Hat builds of OpenJDK 8 since
033d8e
8u131 in April 2017 and in all 11u builds.
033d8e
033d8e
Upstream, it was introduced in OpenJDK 12 as an experimental feature
033d8e
and became a production feature in OpenJDK 15. It was backported to
033d8e
OpenJDK 11 with the 11.0.9 release in October 2020.
033d8e
033d8e
Abortable Mixed Collections for G1
033d8e
==================================
033d8e
https://openjdk.java.net/jeps/344
033d8e
033d8e
Make G1 mixed collections abortable if they might exceed the pause
033d8e
target.
033d8e
033d8e
Promptly Return Unused Committed Memory from G1
033d8e
===============================================
033d8e
https://openjdk.java.net/jeps/346
033d8e
033d8e
Enhance the G1 garbage collector to automatically return Java heap
033d8e
memory to the operating system when idle.
033d8e
033d8e
Dynamic CDS Archives
033d8e
====================
033d8e
https://openjdk.java.net/jeps/310
033d8e
https://openjdk.java.net/jeps/350
033d8e
033d8e
Extend application class-data sharing to allow the dynamic archiving
033d8e
of classes at the end of Java application execution. The archived
033d8e
classes will include all loaded application classes and library
033d8e
classes that are not present in the default, base-layer CDS archive.
033d8e
033d8e
ZGC: Uncommit Unused Memory (Experimental)
033d8e
==========================================
033d8e
https://openjdk.java.net/jeps/351
033d8e
033d8e
Enhance ZGC to return unused heap memory to the operating system.
033d8e
033d8e
NUMA-Aware Memory Allocation for G1
033d8e
===================================
033d8e
https://openjdk.java.net/jeps/345
033d8e
033d8e
Improve G1 performance on large machines by implementing NUMA-aware
033d8e
memory allocation.
033d8e
033d8e
ZGC on macOS (Experimental)
cadfac
===========================
033d8e
https://openjdk.java.net/jeps/364
033d8e
033d8e
Port the ZGC garbage collector to macOS.
033d8e
033d8e
ZGC on Windows (Experimental)
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/365
033d8e
033d8e
Port the ZGC garbage collector to Windows.
033d8e
033d8e
ZGC: A Scalable Low-Latency Garbage Collector (Production)
033d8e
==========================================================
033d8e
https://openjdk.java.net/jeps/377
033d8e
033d8e
Change the Z Garbage Collector from an experimental feature into a
033d8e
product feature.
033d8e
033d8e
ZGC: Concurrent Thread-Stack Processing
033d8e
=======================================
033d8e
https://openjdk.java.net/jeps/376
033d8e
033d8e
Move ZGC thread-stack processing from safepoints to a concurrent
033d8e
phase.
cadfac
033d8e
Elastic Metaspace
033d8e
=================
033d8e
https://openjdk.java.net/jeps/387
cadfac
033d8e
Return unused HotSpot class-metadata (i.e., metaspace) memory to the
033d8e
operating system more promptly, reduce metaspace footprint, and
033d8e
simplify the metaspace code in order to reduce maintenance costs.
cadfac
033d8e
Ports
033d8e
=====
cadfac
033d8e
Alpine Linux Port
033d8e
=================
033d8e
https://openjdk.java.net/jeps/386
033d8e
033d8e
Port the JDK to Alpine Linux, and to other Linux distributions that
033d8e
use musl as their primary C library, on both the x64 and AArch64
033d8e
architectures,
033d8e
033d8e
Windows/AArch64 Port
033d8e
====================
033d8e
https://openjdk.java.net/jeps/388
033d8e
033d8e
Port the JDK to Windows/AArch64.
033d8e
033d8e
New macOS Rendering Pipeline
033d8e
============================
033d8e
https://openjdk.java.net/jeps/382
033d8e
033d8e
Implement a Java 2D internal rendering pipeline for macOS using the
033d8e
Apple Metal API as alternative to the existing pipeline, which uses
033d8e
the deprecated Apple OpenGL API.
033d8e
033d8e
macOS/AArch64 Port
033d8e
==================
033d8e
https://openjdk.java.net/jeps/391
033d8e
033d8e
Port the JDK to macOS/AArch64.
033d8e
033d8e
DEPRECATIONS
033d8e
============
033d8e
033d8e
Deprecate the ParallelScavenge + SerialOld GC Combination
cadfac
=========================================================
033d8e
https://openjdk.java.net/jeps/366
033d8e
033d8e
Deprecate the combination of the Parallel Scavenge and Serial Old
033d8e
garbage collection algorithms.
033d8e
033d8e
Deprecate and Disable Biased Locking
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/374
033d8e
033d8e
Disable biased locking by default, and deprecate all related
033d8e
command-line options.
033d8e
033d8e
Warnings for Value-Based Classes
033d8e
================================
033d8e
https://openjdk.java.net/jeps/390
033d8e
033d8e
Designate the primitive wrapper classes as value-based and deprecate
033d8e
their constructors for removal, prompting new deprecation
033d8e
warnings. Provide warnings about improper attempts to synchronize on
033d8e
instances of any value-based classes in the Java Platform.
033d8e
033d8e
Deprecate the Applet API for Removal
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/398
033d8e
033d8e
Deprecate the Applet API for removal.  It is essentially irrelevant
033d8e
since all web-browser vendors have either removed support for Java
033d8e
browser plug-ins or announced plans to do so.
033d8e
033d8e
Deprecate the Security Manager for Removal
033d8e
==========================================
033d8e
https://openjdk.java.net/jeps/411
033d8e
033d8e
Deprecate the Security Manager for removal in a future release. The
033d8e
Security Manager dates from Java 1.0. It has not been the primary
033d8e
means of securing client-side Java code for many years, and it has
033d8e
rarely been used to secure server-side code. To move Java forward, we
033d8e
intend to deprecate the Security Manager for removal in concert with
033d8e
the legacy Applet API (see above).  .
033d8e
033d8e
REMOVALS
033d8e
========
033d8e
033d8e
Remove the Concurrent Mark Sweep (CMS) Garbage Collector
033d8e
========================================================
033d8e
https://openjdk.java.net/jeps/363
033d8e
033d8e
Remove the Concurrent Mark Sweep (CMS) garbage collector.
033d8e
033d8e
Remove the Pack200 Tools and API
033d8e
================================
033d8e
https://openjdk.java.net/jeps/336
033d8e
https://openjdk.java.net/jeps/367
033d8e
033d8e
Remove the `pack200` and `unpack200` tools, and the `Pack200` API in
033d8e
the `java.util.jar` package.  These tools and API were deprecated for
033d8e
removal in OpenJDK 11 with the express intent to remove them in a
033d8e
future release.
033d8e
033d8e
Remove the Nashorn JavaScript Engine
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/372
033d8e
033d8e
Remove the Nashorn JavaScript script engine and APIs, and the `jjs`
033d8e
tool. The engine, the APIs, and the tool were deprecated for removal
033d8e
in OpenJDK 11 with the express intent to remove them in a future
033d8e
release.
033d8e
033d8e
Remove the Solaris and SPARC Ports
033d8e
==================================
033d8e
https://openjdk.java.net/jeps/362
033d8e
https://openjdk.java.net/jeps/381
033d8e
033d8e
Remove the source code and build support for the Solaris/SPARC,
033d8e
Solaris/x64, and Linux/SPARC ports.  These ports were deprecated for
033d8e
removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381).
033d8e
033d8e
Remove RMI Activation
033d8e
=====================
033d8e
https://openjdk.java.net/jeps/385
033d8e
https://openjdk.java.net/jeps/407
033d8e
https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html
cadfac
033d8e
Remove the Remote Method Invocation (RMI) Activation mechanism, while
033d8e
preserving the rest of RMI.  RMI Activation is an obsolete part of RMI
033d8e
that has been optional since OpenJDK 8 and was deprecated in OpenJDK
033d8e
15.
cadfac
033d8e
Remove the Experimental AOT and JIT Compiler
033d8e
============================================
033d8e
https://openjdk.java.net/jeps/410
cadfac
033d8e
Remove the experimental Java-based ahead-of-time (AOT) and
033d8e
just-in-time (JIT) compiler.  This compiler has seen little use since
033d8e
its introduction and the effort required to maintain it is
033d8e
significant.  Retain the experimental Java-level JVM compiler
033d8e
interface (JVMCI) so that developers can continue to use
033d8e
externally-built versions of the compiler for JIT compilation.