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