Blame SOURCES/NEWS

d1af5a
Key:
d1af5a
d1af5a
JDK-X  - https://bugs.openjdk.java.net/browse/JDK-X
d1af5a
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
d1af5a
461e1c
New in release OpenJDK 17.0.4 (2022-07-19):
461e1c
===========================================
461e1c
Live versions of these release notes can be found at:
461e1c
  * https://bitly.com/openjdk1704
461e1c
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt
461e1c
461e1c
* Security fixes
461e1c
  - JDK-8272243: Improve DER parsing
461e1c
  - JDK-8272249: Better properties of loaded Properties
461e1c
  - JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions
461e1c
  - JDK-8277608: Address IP Addressing
461e1c
  - JDK-8281859, CVE-2022-21540: Improve class compilation
461e1c
  - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations
461e1c
  - JDK-8283190: Improve MIDI processing
461e1c
  - JDK-8284370: Improve zlib usage
461e1c
  - JDK-8285407, CVE-2022-34169: Improve Xalan supports
461e1c
* Other changes
461e1c
  - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn
461e1c
  - JDK-8181571: printing to CUPS fails on mac sandbox app
461e1c
  - JDK-8193682: Infinite loop in ZipOutputStream.close()
461e1c
  - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
461e1c
  - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
461e1c
  - JDK-8214733: runtime/8176717/TestInheritFD.java timed out
461e1c
  - JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
461e1c
  - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
461e1c
  - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
461e1c
  - JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
461e1c
  - JDK-8255266: Update Public Suffix List to 3c213aa
461e1c
  - JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
461e1c
  - JDK-8258814: Compilation logging crashes for thread suspension / debugging tests
461e1c
  - JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
461e1c
  - JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
461e1c
  - JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
461e1c
  - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
461e1c
  - JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
461e1c
  - JDK-8267163: Rename anonymous loader tests to hidden loader tests
461e1c
  - JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
461e1c
  - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
461e1c
  - JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
461e1c
  - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
461e1c
  - JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
461e1c
  - JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
461e1c
  - JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
461e1c
  - JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM
461e1c
  - JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
461e1c
  - JDK-8269753: Misplaced caret in PatternSyntaxException's detail message
461e1c
  - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
461e1c
  - JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
461e1c
  - JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree
461e1c
  - JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
461e1c
  - JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled
461e1c
  - JDK-8270797: ShortECDSA.java test is not complete
461e1c
  - JDK-8270837: fix typos in test TestSigParse.java
461e1c
  - JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java  tests time out because of excessive GC (CodeCache GC Threshold) in loom
461e1c
  - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
461e1c
  - JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
461e1c
  - JDK-8271302: Regex Test Refresh
461e1c
  - JDK-8272146: Disable Fibonacci test on memory constrained systems
461e1c
  - JDK-8272168: some hotspot runtime/logging tests don't check exit code
461e1c
  - JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
461e1c
  - JDK-8272358: Some tests may fail when executed with other locales than the US
461e1c
  - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
461e1c
  - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
461e1c
  - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
461e1c
  - JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
461e1c
  - JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
461e1c
  - JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
461e1c
  - JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
461e1c
  - JDK-8273804: Platform.isTieredSupported should handle the no-compiler case
461e1c
  - JDK-8274172: Convert JavadocTester to use NIO
461e1c
  - JDK-8274233: Minor cleanup for ToolBox
461e1c
  - JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun
461e1c
  - JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
461e1c
  - JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
461e1c
  - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type  while processing a valid JPEG image
461e1c
  - JDK-8274751: Drag And Drop hangs on Windows
461e1c
  - JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
461e1c
  - JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS
461e1c
  - JDK-8274983: C1 optimizes the invocation of private interface methods
461e1c
  - JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
461e1c
  - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty
461e1c
  - JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
461e1c
  - JDK-8275745: Reproducible copyright headers
461e1c
  - JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers
461e1c
  - JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
461e1c
  - JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
461e1c
  - JDK-8276657: XSLT compiler tries to define a class with empty name
461e1c
  - JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
461e1c
  - JDK-8276825: hotspot/runtime/SelectionResolution test errors
461e1c
  - JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
461e1c
  - JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
461e1c
  - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
461e1c
  - JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
461e1c
  - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive
461e1c
  - JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND
461e1c
  - JDK-8277123: jdeps does not report some exceptions correctly
461e1c
  - JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
461e1c
  - JDK-8277166: Data race in jdeps VersionHelper
461e1c
  - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
461e1c
  - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
461e1c
  - JDK-8277893: Arraycopy stress tests
461e1c
  - JDK-8277906: Incorrect type for IV phi of long counted loops after CCP
461e1c
  - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge
461e1c
  - JDK-8278014: [vectorapi] Remove test run script
461e1c
  - JDK-8278065: Refactor subclassAudits to use ClassValue
461e1c
  - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
461e1c
  - JDK-8278472: Invalid value set to CANDIDATEFORM structure
461e1c
  - JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
461e1c
  - JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
461e1c
  - JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
461e1c
  - JDK-8278794: Infinite loop in DeflaterOutputStream.finish()
461e1c
  - JDK-8278796: Incorrect behavior of FloatVector.withLane on X86
461e1c
  - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs
461e1c
  - JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
461e1c
  - JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
461e1c
  - JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
461e1c
  - JDK-8279219: [REDO] C2 crash when allocating array of size too large
461e1c
  - JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
461e1c
  - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
461e1c
  - JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
461e1c
  - JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
461e1c
  - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism
461e1c
  - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
461e1c
  - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
461e1c
  - JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
461e1c
  - JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
461e1c
  - JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
461e1c
  - JDK-8279668: x86: AVX2 versions of vpxor should be asserted
461e1c
  - JDK-8279822: CI: Constant pool entries in error state are not supported
461e1c
  - JDK-8279834: Alpine Linux fails to build when --with-source-date enabled
461e1c
  - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region
461e1c
  - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
461e1c
  - JDK-8279958: Provide configure hints for Alpine/apk package managers
461e1c
  - JDK-8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
461e1c
  - JDK-8280041: Retry loop issues in java.io.ClassCache
461e1c
  - JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
461e1c
  - JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
461e1c
  - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang
461e1c
  - JDK-8280543: Update the "java" and "jcmd" tool specification for CDS
461e1c
  - JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
461e1c
  - JDK-8280600: C2: assert(!had_error) failed: bad dominance
461e1c
  - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
461e1c
  - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
461e1c
  - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
461e1c
  - JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint
461e1c
  - JDK-8280940: gtest os.release_multi_mappings_vm is racy
461e1c
  - JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
461e1c
  - JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
461e1c
  - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
461e1c
  - JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64
461e1c
  - JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter
461e1c
  - JDK-8281262: Windows builds in different directories are not fully reproducible
461e1c
  - JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
461e1c
  - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
461e1c
  - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
461e1c
  - JDK-8281318: Improve jfr/event/allocation tests reliability
461e1c
  - JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
461e1c
  - JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor
461e1c
  - JDK-8281522: Rename ADLC classes which have the same name as hotspot variants
461e1c
  - JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
461e1c
  - JDK-8281615: Deadlock caused by jdwp agent
461e1c
  - JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
461e1c
  - JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature
461e1c
  - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
461e1c
  - JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
461e1c
  - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder
461e1c
  - JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway
461e1c
  - JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
461e1c
  - JDK-8282170: JVMTI SetBreakpoint metaspace allocation test
461e1c
  - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
461e1c
  - JDK-8282225: GHA: Allow one concurrent run per PR only
461e1c
  - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
461e1c
  - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
461e1c
  - JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert
461e1c
  - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
461e1c
  - JDK-8282345: handle latest VS2022 in abstract_vm_version
461e1c
  - JDK-8282382: Report glibc malloc tunables in error reports
461e1c
  - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
461e1c
  - JDK-8282444: Module finder incorrectly assumes default file system path-separator character
461e1c
  - JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4
461e1c
  - JDK-8282509: [exploded image] ResolvedClassTest fails with similar output
461e1c
  - JDK-8282551: Properly initialize L32X64MixRandom state
461e1c
  - JDK-8282583: Update BCEL md to include the copyright notice
461e1c
  - JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
461e1c
  - JDK-8282592: C2: assert(false) failed: graph should be schedulable
461e1c
  - JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
461e1c
  - JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
461e1c
  - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
461e1c
  - JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value
461e1c
  - JDK-8283017: GHA: Workflows break with update release versions
461e1c
  - JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails
461e1c
  - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
461e1c
  - JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
461e1c
  - JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize
461e1c
  - JDK-8283315: jrt-fs.jar not always deterministically built
461e1c
  - JDK-8283323: libharfbuzz optimization level results in extreme build times
461e1c
  - JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
461e1c
  - JDK-8283350: (tz) Update Timezone Data to 2022a
461e1c
  - JDK-8283408: Fix a C2 crash when filling arrays with unsafe
461e1c
  - JDK-8283422: Create a new test for JDK-8254790
461e1c
  - JDK-8283451: C2: assert(_base == Long) failed: Not a Long
461e1c
  - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
461e1c
  - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info
461e1c
  - JDK-8283641: Large value for CompileThresholdScaling causes assert
461e1c
  - JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
461e1c
  - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
461e1c
  - JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
461e1c
  - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
461e1c
  - JDK-8284094: Memory leak in invoker_completeInvokeRequest()
461e1c
  - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
461e1c
  - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
461e1c
  - JDK-8284437: Building from different users/workspace is not always deterministic
461e1c
  - JDK-8284458: CodeHeapState::aggregate() leaks blob_name
461e1c
  - JDK-8284507: GHA: Only check test results if testing was not skipped
461e1c
  - JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
461e1c
  - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member
461e1c
  - JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2
461e1c
  - JDK-8284620: CodeBuffer may leak _overflow_arena
461e1c
  - JDK-8284622: Update versions of some Github Actions used in JDK workflow
461e1c
  - JDK-8284661: Reproducible assembly builds without relative linking
461e1c
  - JDK-8284754: print more interesting env variables in hs_err and VM.info
461e1c
  - JDK-8284758: [linux] improve print_container_info
461e1c
  - JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping
461e1c
  - JDK-8284866: Add test to JDK-8273056
461e1c
  - JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
461e1c
  - JDK-8284992: Fix misleading Vector API doc for LSHR operator
461e1c
  - JDK-8285342: Zero build failure with clang due to values not handled in switch
461e1c
  - JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
461e1c
  - JDK-8285397: JNI exception pending in CUPSfuncs.c:250
461e1c
  - JDK-8285445: cannot open file "NUL:"
461e1c
  - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
461e1c
  - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java
461e1c
  - JDK-8285686: Update FreeType to 2.12.0
461e1c
  - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
461e1c
  - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
461e1c
  - JDK-8285728: Alpine Linux build fails with busybox tar
461e1c
  - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
461e1c
  - JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
461e1c
  - JDK-8285956: (fs) Excessive default poll interval in PollingWatchService
461e1c
  - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
461e1c
  - JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
461e1c
  - JDK-8286198: [linux] Fix process-memory information
461e1c
  - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
461e1c
  - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
461e1c
  - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
461e1c
  - JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
461e1c
  - JDK-8286855: javac error on invalid jar should only print filename
461e1c
  - JDK-8287109: Distrust.java failed with CertificateExpiredException
461e1c
  - JDK-8287119: Add Distrust.java to ProblemList
461e1c
  - JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions
461e1c
  - JDK-8287336: GHA: Workflows break on patch versions
461e1c
  - JDK-8287362: FieldAccessWatch testcase failed on AIX platform
461e1c
  - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
461e1c
461e1c
Notes on individual issues:
461e1c
===========================
461e1c
461e1c
core-libs/java.net:
461e1c
461e1c
JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos
461e1c
================================================================
461e1c
Support has been added for TLS channel binding tokens for
461e1c
Negotiate/Kerberos authentication over HTTPS through
461e1c
javax.net.HttpsURLConnection.
461e1c
461e1c
Channel binding tokens are increasingly required as an enhanced form
461e1c
of security which can mitigate certain kinds of socially engineered,
461e1c
man in the middle (MITM) attacks. They work by communicating from a
461e1c
client to a server the client's understanding of the binding between
461e1c
connection security (as represented by a TLS server cert) and higher
461e1c
level authentication credentials (such as a username and
461e1c
password). The server can then detect if the client has been fooled by
461e1c
a MITM and shutdown the session/connection.
461e1c
461e1c
The feature is controlled through a new system property
461e1c
`jdk.https.negotiate.cbt` which is described fully at the following
461e1c
page:
461e1c
461e1c
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt
461e1c
461e1c
core-libs/java.lang:
461e1c
461e1c
JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder
461e1c
=====================================================================
461e1c
ProcessBuilder on Windows is restored to address a regression caused
461e1c
by JDK-8250568.  Previously, an argument to ProcessBuilder that
461e1c
started with a double-quote and ended with a backslash followed by a
461e1c
double-quote was passed to a command incorrectly and may cause the
461e1c
command to fail.  For example the argument `"C:\\Program Files\"`,
461e1c
would be seen by the command with extra double-quotes. This update
461e1c
restores the long standing behavior that does not treat the backslash
461e1c
before the final double-quote specially.
461e1c
461e1c
461e1c
core-libs/java.util.jar:
461e1c
461e1c
JDK-8278386: Default JDK compressor will be closed when IOException is encountered
461e1c
==================================================================================
461e1c
`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods
461e1c
have been modified to close out the associated default JDK compressor
461e1c
before propagating a Throwable up the
461e1c
stack. `ZIPOutputStream.closeEntry()` method has been modified to
461e1c
close out the associated default JDK compressor before propagating an
461e1c
IOException, not of type ZipException, up the stack.
461e1c
461e1c
core-libs/java.io:
461e1c
461e1c
JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File
461e1c
=================================================================================================
461e1c
The Windows implementation of `java.io.File` allows access to NTFS
461e1c
Alternate Data Streams (ADS) by default. Such streams have a structure
461e1c
like “filename:streamname”. A system property `jdk.io.File.enableADS`
461e1c
has been added to control this behavior. To disable ADS support in
461e1c
`java.io.File`, the system property `jdk.io.File.enableADS` should be
461e1c
set to `false` (case ignored). Stricter path checking however prevents
461e1c
the use of special devices such as `NUL:`
461e1c
461e1c
New in release OpenJDK 17.0.3 (2022-04-19):
461e1c
===========================================
461e1c
Live versions of these release notes can be found at:
461e1c
  * https://bitly.com/openjdk1703
461e1c
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt
461e1c
461e1c
* Security fixes
461e1c
  - JDK-8269938: Enhance XML processing passes redux
461e1c
  - JDK-8270504, CVE-2022-21426: Better XPath expression handling
461e1c
  - JDK-8272255: Completely handle MIDI files
461e1c
  - JDK-8272261: Improve JFR recording file processing
461e1c
  - JDK-8272588: Enhanced recording parsing
461e1c
  - JDK-8272594: Better record of recordings
461e1c
  - JDK-8274221: More definite BER encodings
461e1c
  - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0
461e1c
  - JDK-8275151, CVE-2022-21443: Improved Object Identification
461e1c
  - JDK-8277227: Better identification of OIDs
461e1c
  - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support
461e1c
  - JDK-8277672, CVE-2022-21434: Better invocation handler handling
461e1c
  - JDK-8278356: Improve file creation
461e1c
  - JDK-8278449: Improve keychain support
461e1c
  - JDK-8278798: Improve supported intrinsic
461e1c
  - JDK-8278805: Enhance BMP image loading
461e1c
  - JDK-8278972, CVE-2022-21496: Improve URL supports
461e1c
  - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo
461e1c
* Other changes
461e1c
  - JDK-8177814: jdk/editpad is not in jdk TEST.groups
461e1c
  - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64
461e1c
  - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
461e1c
  - JDK-8225559: assertion error at TransTypes.visitApply
461e1c
  - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful
461e1c
  - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
461e1c
  - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
461e1c
  - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1
461e1c
  - JDK-8251216: Implement MD5 intrinsics on AArch64
461e1c
  - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
461e1c
  - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
461e1c
  - JDK-8263567: gtests don't terminate the VM safely
461e1c
  - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark
461e1c
  - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups
461e1c
  - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
461e1c
  - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
461e1c
  - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
461e1c
  - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file
461e1c
  - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
461e1c
  - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
461e1c
  - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
461e1c
  - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
461e1c
  - JDK-8270117: Broken jtreg link in "Building the JDK" page
461e1c
  - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
461e1c
  - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
461e1c
  - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
461e1c
  - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty
461e1c
  - JDK-8271506: Add ResourceHashtable support for deleting selected entries
461e1c
  - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
461e1c
  - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories
461e1c
  - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates
461e1c
  - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage()
461e1c
  - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
461e1c
  - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code
461e1c
  - JDK-8272600: (test) Use native "sleep" in Basic.java
461e1c
  - JDK-8272866: java.util.random package summary contains incorrect mixing function in table
461e1c
  - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
461e1c
  - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt
461e1c
  - JDK-8273277: C2: Move conditional negation into rc_predicate
461e1c
  - JDK-8273341: Update Siphash to version 1.0
461e1c
  - JDK-8273351: bad tag in jdk.random module-info.java
461e1c
  - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
461e1c
  - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
461e1c
  - JDK-8273387: remove some unreferenced gtk-related functions
461e1c
  - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
461e1c
  - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
461e1c
  - JDK-8273526: Extend the OSContainer API  pids controller with pids.current
461e1c
  - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
461e1c
  - JDK-8273655: content-types.properties files are missing some common types
461e1c
  - JDK-8273682: Upgrade Jline to 3.20.0
461e1c
  - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
461e1c
  - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
461e1c
  - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions
461e1c
  - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
461e1c
  - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
461e1c
  - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
461e1c
  - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
461e1c
  - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
461e1c
  - JDK-8274471: Add support for RSASSA-PSS in OCSP Response
461e1c
  - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
461e1c
  - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake
461e1c
  - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
461e1c
  - JDK-8274658: ISO 4217 Amendment 170 Update
461e1c
  - JDK-8274714: Incorrect verifier protected access error message
461e1c
  - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
461e1c
  - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
461e1c
  - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler
461e1c
  - JDK-8274935: dumptime_table has stale entry
461e1c
  - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
461e1c
  - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected
461e1c
  - 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
461e1c
  - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
461e1c
  - JDK-8275586: Zero: Simplify interpreter initialization
461e1c
  - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
461e1c
  - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault
461e1c
  - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
461e1c
  - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64
461e1c
  - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
461e1c
  - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
461e1c
  - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock
461e1c
  - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method
461e1c
  - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
461e1c
  - JDK-8276057: Update JMH devkit to 1.33
461e1c
  - JDK-8276141: XPathFactory set/getProperty method
461e1c
  - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
461e1c
  - JDK-8276314: [JVMCI] check alignment of call displacement during code installation
461e1c
  - JDK-8276623: JDK-8275650 accidentally pushed "out" file
461e1c
  - JDK-8276654: element-list order is non deterministic
461e1c
  - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common()
461e1c
  - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod
461e1c
  - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content
461e1c
  - JDK-8276841: Add support for Visual Studio 2022
461e1c
  - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
461e1c
  - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
461e1c
  - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
461e1c
  - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
461e1c
  - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
461e1c
  - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
461e1c
  - JDK-8277383: VM.metaspace optionally show chunk freelist details
461e1c
  - JDK-8277385: Zero: Enable CompactStrings support
461e1c
  - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
461e1c
  - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
461e1c
  - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
461e1c
  - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
461e1c
  - JDK-8277497: Last column cell in the JTable row is read as empty cell
461e1c
  - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
461e1c
  - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER
461e1c
  - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
461e1c
  - JDK-8277795: ldap connection timeout not honoured under contention
461e1c
  - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
461e1c
  - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
461e1c
  - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3
461e1c
  - JDK-8278016: Add compiler tests to tier{2,3}
461e1c
  - JDK-8278020: ~13% variation in Renaissance-Scrabble
461e1c
  - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
461e1c
  - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
461e1c
  - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute'
461e1c
  - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
461e1c
  - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
461e1c
  - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
461e1c
  - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
461e1c
  - JDK-8278185: Custom JRE cannot find non-ASCII named module inside
461e1c
  - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
461e1c
  - JDK-8278241: Implement JVM SpinPause on linux-aarch64
461e1c
  - JDK-8278309: [windows] use of uninitialized OSThread::_state
461e1c
  - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
461e1c
  - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
461e1c
  - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec
461e1c
  - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
461e1c
  - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
461e1c
  - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column
461e1c
  - JDK-8278604: SwingSet2 table demo does not have accessible description set for images
461e1c
  - JDK-8278627: Shenandoah: TestHeapDump test failed
461e1c
  - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
461e1c
  - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3
461e1c
  - JDK-8278824: Uneven work distribution when scanning heap roots in G1
461e1c
  - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
461e1c
  - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
461e1c
  - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
461e1c
  - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
461e1c
  - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
461e1c
  - JDK-8279124: VM does not handle SIGQUIT during initialization
461e1c
  - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers
461e1c
  - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
461e1c
  - JDK-8279379: GHA: Print tests that are in error
461e1c
  - JDK-8279385: [test]  Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
461e1c
  - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
461e1c
  - JDK-8279445: Update JMH devkit to 1.34
461e1c
  - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms
461e1c
  - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
461e1c
  - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
461e1c
  - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
461e1c
  - JDK-8279702: [macosx] ignore xcodebuild warnings on M1
461e1c
  - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16
461e1c
  - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
461e1c
  - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
461e1c
  - JDK-8280002: jmap -histo may leak stream
461e1c
  - JDK-8280155: [PPC64, s390] frame size checks are not yet correct
461e1c
  - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
461e1c
  - JDK-8280414: Memory leak in DefaultProxySelector
461e1c
  - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
461e1c
  - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames
461e1c
  - JDK-8281460: Let ObjectMonitor have its own NMT category
461e1c
  - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
461e1c
  - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
461e1c
  - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
461e1c
  - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods
461e1c
  - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
461e1c
  - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
461e1c
461e1c
Notes on individual issues:
461e1c
===========================
461e1c
461e1c
security-libs/java.security:
461e1c
461e1c
JDK-8274791: Support for RSASSA-PSS in OCSP Response
461e1c
====================================================
461e1c
An OCSP response signed with the RSASSA-PSS algorithm is now supported.
461e1c
cd3eca
New in release OpenJDK 17.0.2 (2022-01-18):
d1af5a
===========================================
0e75f3
Live versions of these release notes can be found at:
cd3eca
  * https://bitly.com/openjdk1702
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt
0e75f3
0e75f3
* Security fixes
cd3eca
  - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
cd3eca
  - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization
cd3eca
  - JDK-8268488: More valuable DerValues
cd3eca
  - JDK-8268494: Better inlining of inlined interfaces
cd3eca
  - JDK-8268512: More content for ContentInfo
cd3eca
  - JDK-8268813, CVE-2022-21283: Better String matching
cd3eca
  - JDK-8269151: Better construction of EncryptedPrivateKeyInfo
cd3eca
  - JDK-8269944: Better HTTP transport redux
cd3eca
  - JDK-8270386, CVE-2022-21291: Better verification of scan methods
cd3eca
  - JDK-8270392, CVE-2022-21293: Improve String constructions
cd3eca
  - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps
cd3eca
  - JDK-8270492, CVE-2022-21282: Better resolution of URIs
cd3eca
  - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management
cd3eca
  - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities
cd3eca
  - JDK-8270952, CVE-2022-21277: Improve TIFF file handling
cd3eca
  - JDK-8271962: Better TrueType font loading
cd3eca
  - JDK-8271968: Better canonical naming
cd3eca
  - JDK-8271987: Manifest improved manifest entries
cd3eca
  - JDK-8272014, CVE-2022-21305: Better array indexing
cd3eca
  - JDK-8272026, CVE-2022-21340: Verify Jar Verification
cd3eca
  - JDK-8272236, CVE-2022-21341: Improve serial forms for transport
cd3eca
  - JDK-8272272: Enhance jcmd communication
cd3eca
  - JDK-8272462: Enhance image handling
cd3eca
  - JDK-8273290: Enhance sound handling
cd3eca
  - JDK-8273756, CVE-2022-21360: Enhance BMP image support
cd3eca
  - JDK-8273838, CVE-2022-21365: Enhanced BMP processing
cd3eca
  - JDK-8274096, CVE-2022-21366: Improve decoding of image files
0e75f3
* Other changes
cd3eca
  - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException
cd3eca
  - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
cd3eca
  - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
cd3eca
  - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
cd3eca
  - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
cd3eca
  - JDK-8214761: Bug in parallel Kahan summation implementation
cd3eca
  - JDK-8223923: C2: Missing interference with mismatched unsafe accesses
cd3eca
  - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
cd3eca
  - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
cd3eca
  - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
cd3eca
  - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
cd3eca
  - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic
cd3eca
  - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
cd3eca
  - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
cd3eca
  - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
cd3eca
  - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
cd3eca
  - JDK-8263375: Support stack watermarks in Zero VM
cd3eca
  - JDK-8263773: Reenable German localization for builds at Oracle
cd3eca
  - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer
cd3eca
  - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer
cd3eca
  - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer
cd3eca
  - JDK-8264292: Create implementation for NSAccessibilityList protocol peer
cd3eca
  - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer
cd3eca
  - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer
cd3eca
  - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer
cd3eca
  - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
cd3eca
  - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
cd3eca
  - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer
cd3eca
  - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer
cd3eca
  - JDK-8266239: Some duplicated javac command-line options have repeated effect
cd3eca
  - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color
cd3eca
  - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
cd3eca
  - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
cd3eca
  - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
cd3eca
  - JDK-8267387: Create implementation for NSAccessibilityOutline protocol
cd3eca
  - JDK-8267388: Create implementation for NSAccessibilityTable protocol
cd3eca
  - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
cd3eca
  - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs.
cd3eca
  - JDK-8268361: Fix the infinite loop in next_line
cd3eca
  - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
cd3eca
  - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
cd3eca
  - JDK-8268626: Remove native pre-jdk9 support for jtreg  failure handler
cd3eca
  - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions
cd3eca
  - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
cd3eca
  - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type
cd3eca
  - JDK-8268893: jcmd to trim the glibc heap
cd3eca
  - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
cd3eca
  - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
cd3eca
  - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
cd3eca
  - JDK-8269113: Javac throws when compiling switch (null)
cd3eca
  - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
cd3eca
  - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException
cd3eca
  - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString()
cd3eca
  - JDK-8269481: SctpMultiChannel never releases own file descriptor
cd3eca
  - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
cd3eca
  - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
cd3eca
  - JDK-8269687: pauth_aarch64.hpp include name is incorrect
cd3eca
  - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
cd3eca
  - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts
cd3eca
  - JDK-8269951: [macos] Focus not painted in JButton when  setBorderPainted(false) is invoked
cd3eca
  - JDK-8270110: Shenandoah: Add test for JDK-8269661
cd3eca
  - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
cd3eca
  - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
cd3eca
  - JDK-8270290: NTLM authentication fails if HEAD request is used
cd3eca
  - JDK-8270317: Large Allocation in CipherSuite
cd3eca
  - JDK-8270320: JDK-8270110 committed invalid copyright headers
cd3eca
  - JDK-8270517: Add Zero support for LoongArch
cd3eca
  - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
cd3eca
  - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
cd3eca
  - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file
cd3eca
  - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType
cd3eca
  - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String
cd3eca
  - JDK-8271071: accessibility of a table on macOS lacks cell navigation
cd3eca
  - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
cd3eca
  - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h
cd3eca
  - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment
cd3eca
  - JDK-8271215: Fix data races in G1PeriodicGCTask
cd3eca
  - JDK-8271254: javac generates unreachable code when using empty semicolon statement
cd3eca
  - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
cd3eca
  - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
cd3eca
  - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
cd3eca
  - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
cd3eca
  - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop
cd3eca
  - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
cd3eca
  - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
cd3eca
  - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
cd3eca
  - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
cd3eca
  - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
cd3eca
  - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
cd3eca
  - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
cd3eca
  - JDK-8271605: Update JMH devkit to 1.32
cd3eca
  - JDK-8271718: Crash when during color transformation the color profile is replaced
cd3eca
  - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
cd3eca
  - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
cd3eca
  - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used
cd3eca
  - JDK-8271868: Warn user when using mac-sign option with unsigned app-image.
cd3eca
  - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
cd3eca
  - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
cd3eca
  - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
cd3eca
  - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
cd3eca
  - JDK-8272114: Unused _last_state in osThread_windows
cd3eca
  - JDK-8272170: Missing memory barrier when checking active state for regions
cd3eca
  - JDK-8272305: several hotspot runtime/modules don't check exit codes
cd3eca
  - JDK-8272318: Improve performance of HeapDumpAllTest
cd3eca
  - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher
cd3eca
  - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
cd3eca
  - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
cd3eca
  - JDK-8272345: macos doesn't check `os::set_boot_path()` result
cd3eca
  - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
cd3eca
  - JDK-8272391: Undeleted debug information
cd3eca
  - JDK-8272413: Incorrect num of element count calculation for vector cast
cd3eca
  - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
cd3eca
  - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
cd3eca
  - JDK-8272570: C2: crash in PhaseCFG::global_code_motion
cd3eca
  - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
cd3eca
  - JDK-8272639: jpackaged applications using microphone on mac
cd3eca
  - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO
cd3eca
  - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
cd3eca
  - JDK-8272783: Epsilon: Refactor tests to improve performance
cd3eca
  - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests
cd3eca
  - JDK-8272838: Move CriticalJNI tests out of tier1
cd3eca
  - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
cd3eca
  - JDK-8272850: Drop zapping values in the Zap* option descriptions
cd3eca
  - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test
cd3eca
  - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
cd3eca
  - JDK-8272859: Javadoc external links should only have feature version number in URL
cd3eca
  - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups
cd3eca
  - JDK-8272970: Parallelize runtime/InvocationTests/
cd3eca
  - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
cd3eca
  - JDK-8273021: C2: Improve Add and Xor ideal optimizations
cd3eca
  - JDK-8273026: Slow LoginContext.login() on multi threading application
cd3eca
  - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
cd3eca
  - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
cd3eca
  - JDK-8273176: handle latest VS2019 in abstract_vm_version
cd3eca
  - JDK-8273229: Update OS detection code to recognize Windows Server 2022
cd3eca
  - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash
cd3eca
  - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
cd3eca
  - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
cd3eca
  - JDK-8273308: PatternMatchTest.java fails on CI
cd3eca
  - JDK-8273314: Add tier4 test groups
cd3eca
  - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
cd3eca
  - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
cd3eca
  - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
cd3eca
  - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs
cd3eca
  - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817
cd3eca
  - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
cd3eca
  - JDK-8273361: InfoOptsTest is failing in tier1
cd3eca
  - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero
cd3eca
  - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop
cd3eca
  - JDK-8273376: Zero: Disable vtable/itableStub gtests
cd3eca
  - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP
cd3eca
  - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
cd3eca
  - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
cd3eca
  - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
cd3eca
  - JDK-8273450: Fix the copyright header of SVML files
cd3eca
  - JDK-8273451: Remove unreachable return in  mutexLocker::wait
cd3eca
  - JDK-8273483: Zero: Clear pending JNI exception check in native method handler
cd3eca
  - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
cd3eca
  - JDK-8273487: Zero: Handle "zero" variant in runtime tests
cd3eca
  - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
cd3eca
  - JDK-8273498: compiler/c2/Test7179138_1.java timed out
cd3eca
  - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
cd3eca
  - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
cd3eca
  - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated
cd3eca
  - JDK-8273592: Backout JDK-8271868
cd3eca
  - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
cd3eca
  - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
cd3eca
  - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch
cd3eca
  - JDK-8273614: Shenandoah: intermittent  timeout with ConcurrentGCBreakpoint tests
cd3eca
  - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
cd3eca
  - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
cd3eca
  - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease
cd3eca
  - JDK-8273695: Safepoint deadlock on VMOperation_lock
cd3eca
  - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
cd3eca
  - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
cd3eca
  - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
cd3eca
  - JDK-8273808: Cleanup AddFontsToX11FontPath
cd3eca
  - JDK-8273826: Correct Manifest file name and NPE checks
cd3eca
  - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
cd3eca
  - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
cd3eca
  - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release()
cd3eca
  - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
cd3eca
  - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
cd3eca
  - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
cd3eca
  - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
cd3eca
  - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
cd3eca
  - JDK-8273968: JCK javax_xml tests fail in CI
cd3eca
  - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects
cd3eca
  - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
cd3eca
  - JDK-8274083: Update testing docs to mention tiered testing
cd3eca
  - JDK-8274087: Windows DLL path not set correctly.
cd3eca
  - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
cd3eca
  - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
cd3eca
  - JDK-8274215: Remove globalsignr2ca root from 17.0.2
cd3eca
  - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
cd3eca
  - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp
cd3eca
  - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
cd3eca
  - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
cd3eca
  - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
cd3eca
  - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
cd3eca
  - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
cd3eca
  - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
cd3eca
  - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU
cd3eca
  - JDK-8274381: missing CAccessibility definitions in JNI code
cd3eca
  - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread
cd3eca
  - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API
cd3eca
  - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
cd3eca
  - JDK-8274407: (tz) Update Timezone Data to 2021c
cd3eca
  - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
cd3eca
  - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b
cd3eca
  - JDK-8274468: TimeZoneTest.java fails with tzdata2021b
cd3eca
  - JDK-8274501: c2i entry barriers read int as long on AArch64
cd3eca
  - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
cd3eca
  - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
cd3eca
  - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
cd3eca
  - JDK-8274550: c2i entry barriers read int as long on PPC
cd3eca
  - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah
cd3eca
  - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
cd3eca
  - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
cd3eca
  - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
cd3eca
  - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
cd3eca
  - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
cd3eca
  - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
cd3eca
  - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
cd3eca
  - JDK-8274840: Update OS detection code to recognize Windows 11
cd3eca
  - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
cd3eca
  - JDK-8274851: [ppc64] Port zgc to linux on ppc64le
cd3eca
  - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
cd3eca
  - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11
cd3eca
  - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register
cd3eca
  - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
cd3eca
  - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed
cd3eca
  - JDK-8275104: IR framework does not handle client VM builds correctly
cd3eca
  - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
cd3eca
  - JDK-8275131: Exceptions after a touchpad gesture on macOS
cd3eca
  - JDK-8275141: recover corrupted line endings for the version-numbers.conf
cd3eca
  - JDK-8275145: file.encoding system property has an incorrect value on Windows
cd3eca
  - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
cd3eca
  - JDK-8275302: unexpected compiler error: cast, intersection types and sealed
cd3eca
  - JDK-8275426: PretouchTask num_chunks calculation can overflow
cd3eca
  - JDK-8275604: Zero: Reformat opclabels_data
cd3eca
  - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
cd3eca
  - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
cd3eca
  - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
cd3eca
  - JDK-8275766: (tz) Update Timezone Data to 2021e
cd3eca
  - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
cd3eca
  - JDK-8275811: Incorrect instance to dispose
cd3eca
  - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
cd3eca
  - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e
cd3eca
  - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
cd3eca
  - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml
cd3eca
  - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency
cd3eca
  - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
cd3eca
  - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
cd3eca
  - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
cd3eca
  - JDK-8276112: Inconsistent scalar replacement debug info at safepoints
cd3eca
  - JDK-8276122: Change openjdk project in jcheck to jdk-updates
cd3eca
  - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme
cd3eca
  - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
cd3eca
  - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
cd3eca
  - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
cd3eca
  - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
cd3eca
  - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
cd3eca
  - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
cd3eca
  - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend
cd3eca
  - JDK-8276572: Fake libsyslookup.so library causes tooling issues
cd3eca
  - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
cd3eca
  - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
cd3eca
  - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
cd3eca
  - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
cd3eca
  - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1
cd3eca
  - JDK-8276854: Windows GHA builds fail due to broken Cygwin
cd3eca
  - JDK-8276864: Update boot JDKs to 17.0.1 in GHA
cd3eca
  - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
cd3eca
  - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le
cd3eca
  - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
cd3eca
  - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element
cd3eca
  - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
cd3eca
  - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
cd3eca
  - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches
cd3eca
  - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
cd3eca
  - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
cd3eca
  - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
0e75f3
0e75f3
Notes on individual issues:
d1af5a
===========================
d1af5a
cd3eca
core-libs/java.io:serialization:
cd3eca
cd3eca
JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element
cd3eca
=========================================================================================
cd3eca
`java.util.Vector` is updated to correctly report
cd3eca
`ClassNotFoundException that occurs during deserialization using
cd3eca
`java.io.ObjectInputStream.GetField.get(name, object)` when the class
cd3eca
of an element of the Vector is not found. Without this fix, a
cd3eca
`StreamCorruptedException` is thrown that does not provide information
cd3eca
about the missing class.
cd3eca
cd3eca
security-libs/java.security:
cd3eca
cd3eca
JDK-8272535: Removed Google's GlobalSign Root Certificate
cd3eca
=========================================================
cd3eca
The following root certificate from Google has been removed from the
cd3eca
`cacerts` keystore:
cd3eca
cd3eca
Alias Name: globalsignr2ca [jdk]
cd3eca
Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
cd3eca
cd3eca
core-libs/java.io:
cd3eca
cd3eca
JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows
cd3eca
============================================================================
cd3eca
The initialization of the `file.encoding` system property on non macOS
cd3eca
platforms has been reverted to align with the behavior on or before
cd3eca
JDK 11.  This has been an issue especially on Windows where the system
cd3eca
and user's locales are not the same.
d1af5a
cd3eca
hotspot/gc:
d1af5a
cd3eca
JDK-8277533: ZGC: Fixed long Process Non-Strong References times
cd3eca
================================================================
cd3eca
A bug has been fixed that could cause long "Concurrent Process
cd3eca
Non-Strong References" times with ZGC. The bug blocked the GC from
cd3eca
making significant progress, and caused both latency and throughput
cd3eca
issues for the Java application.
d1af5a
cd3eca
The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g.
cd3eca
cd3eca
[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms
cd3eca
cd3eca
core-libs/java.time:
cd3eca
cd3eca
JDK-8274857:  Update Timezone Data to 2021c
cd3eca
===========================================
cd3eca
IANA Time Zone Database, on which JDK's Date/Time libraries are based,
cd3eca
has been updated to version 2021c
cd3eca
(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note
cd3eca
that with this update, some of the time zone rules prior to the year
cd3eca
1970 have been modified according to the changes which were introduced
cd3eca
with 2021b. For more detail, refer to the announcement of 2021b
cd3eca
(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html)
cd3eca
cd3eca
New in release OpenJDK 17.0.1 (2021-10-19):
0e75f3
===========================================
0e75f3
Live versions of these release notes can be found at:
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt
0e75f3
0e75f3
* Security fixes
cd3eca
  - JDK-8263314: Enhance XML Dsig modes
cd3eca
  - JDK-8265167, CVE-2021-35556: Richer Text Editors
cd3eca
  - JDK-8265574: Improve handling of sheets
cd3eca
  - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit
cd3eca
  - JDK-8265776: Improve Stream handling for SSL
cd3eca
  - JDK-8266097, CVE-2021-35561: Better hashing support
cd3eca
  - JDK-8266103: Better specified spec values
cd3eca
  - JDK-8266109: More Resilient Classloading
cd3eca
  - JDK-8266115: More Manifest Jar Loading
cd3eca
  - JDK-8266137, CVE-2021-35564: Improve Keystore integrity
cd3eca
  - JDK-8266689, CVE-2021-35567: More Constrained Delegation
cd3eca
  - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
cd3eca
  - JDK-8267712: Better LDAP reference processing
cd3eca
  - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking
cd3eca
  - JDK-8267735, CVE-2021-35586: Better BMP support
cd3eca
  - JDK-8268193: Improve requests of certificates
cd3eca
  - JDK-8268199: Correct certificate requests
cd3eca
  - JDK-8268205: Enhance DTLS client handshake
cd3eca
  - JDK-8268500: Better specified ParameterSpecs
cd3eca
  - JDK-8268506: More Manifest Digests
cd3eca
  - JDK-8269618, CVE-2021-35603: Better session identification
cd3eca
  - JDK-8269624: Enhance method selection support
cd3eca
  - JDK-8270398: Enhance canonicalization
cd3eca
  - JDK-8270404: Better canonicalization
0e75f3
* Other changes
cd3eca
  - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021
cd3eca
  - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
cd3eca
  - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
cd3eca
  - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations
cd3eca
  - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
cd3eca
  - JDK-8263531: Remove unused buffer int
cd3eca
  - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
cd3eca
  - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
cd3eca
  - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file
cd3eca
  - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected
cd3eca
  - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
cd3eca
  - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance
cd3eca
  - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
cd3eca
  - JDK-8269297: Bump version numbers for JDK 17.0.1
cd3eca
  - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
cd3eca
  - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
cd3eca
  - JDK-8269763: The JEditorPane is blank after JDK-8265167
cd3eca
  - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
cd3eca
  - JDK-8269882: stack-use-after-scope in NewObjectA
cd3eca
  - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
cd3eca
  - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
cd3eca
  - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
cd3eca
  - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations
cd3eca
  - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
cd3eca
  - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
cd3eca
  - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
cd3eca
  - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java  OCSP response error
cd3eca
  - JDK-8270344: Session resumption errors
cd3eca
  - 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
cd3eca
  - JDK-8271276: C2: Wrong JVM state used for receiver null check
cd3eca
  - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
cd3eca
  - JDK-8271589: fatal error with variable shift count integer rotate operation.
cd3eca
  - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
cd3eca
  - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
cd3eca
  - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
cd3eca
  - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
cd3eca
  - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
cd3eca
  - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
cd3eca
  - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
cd3eca
  - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34
cd3eca
  - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
cd3eca
  - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
cd3eca
  - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
cd3eca
  - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
cd3eca
  - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
cd3eca
  - JDK-8273358: macOS Monterey does not have the font Times needed by Serif
0e75f3
0e75f3
Notes on individual issues:
d1af5a
===========================
d1af5a
0e75f3
security-libs/java.security:
d1af5a
cd3eca
JDK-8271434: Removed IdenTrust Root Certificate
cd3eca
===============================================
cd3eca
The following root certificate from IdenTrust has been removed from
cd3eca
the `cacerts` keystore:
cd3eca
cd3eca
Alias Name: identrustdstx3 [jdk]
cd3eca
Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
cd3eca
cd3eca
New in release OpenJDK 17.0.0 (2021-09-14):
cd3eca
===========================================
cd3eca
The full list of changes in the interim releases from 11u to 17u can be found at:
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-12.txt
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-13.txt
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-14.txt
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-15.txt
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-16.txt
cd3eca
  * https://builds.shipilev.net/backports-monitor/release-notes-17.txt
cd3eca
cd3eca
Major changes are listed below.  Some changes may have been backported
cd3eca
to earlier releases following their first appearance in OpenJDK 12
cd3eca
through to 17.
cd3eca
cd3eca
NEW FEATURES
cd3eca
============
cd3eca
cd3eca
Language Features
cd3eca
=================
cd3eca
cd3eca
Switch Expressions
cd3eca
==================
cd3eca
https://openjdk.java.net/jeps/325
cd3eca
https://openjdk.java.net/jeps/354
cd3eca
https://openjdk.java.net/jeps/361
cd3eca
cd3eca
Extend the `switch` statement so that it can be used as either a
cd3eca
statement or an expression, and that both forms can use either a
cd3eca
"traditional" or "simplified" scoping and control flow behavior.  Both
cd3eca
forms can use either traditional `case ... :` labels (with fall
cd3eca
through) or new `case ... ->` labels (with no fall through), with a
cd3eca
further new statement for yielding a value from a `switch`
cd3eca
expression. These changes will simplify everyday coding, and also
cd3eca
prepare the way for the use of pattern matching in `switch`.
cd3eca
cd3eca
This was a preview feature (http://openjdk.java.net/jeps/12) in
cd3eca
OpenJDK 12 & 13 and became final in OpenJDK 14.
cd3eca
cd3eca
Text Blocks
cd3eca
===========
cd3eca
https://openjdk.java.net/jeps/355
cd3eca
https://openjdk.java.net/jeps/368
cd3eca
https://openjdk.java.net/jeps/378
cd3eca
cd3eca
Add text blocks to the Java language. A text block is a multi-line
cd3eca
string literal that avoids the need for most escape sequences,
cd3eca
automatically formats the string in a predictable way, and gives the
cd3eca
developer control over format when desired.
cd3eca
cd3eca
This was a preview feature (http://openjdk.java.net/jeps/12) in
cd3eca
OpenJDK 13 & 14 and became final in OpenJDK 15.
cd3eca
cd3eca
Pattern Matching for instanceof
cd3eca
===============================
cd3eca
https://openjdk.java.net/jeps/305
cd3eca
https://openjdk.java.net/jeps/375
cd3eca
https://openjdk.java.net/jeps/394
cd3eca
http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html
cd3eca
cd3eca
Enhance the Java programming language with pattern matching for the
cd3eca
`instanceof` operator. Pattern matching allows common logic in a
cd3eca
program, namely the conditional extraction of components from objects,
cd3eca
to be expressed more concisely and safely.
cd3eca
cd3eca
This was a preview feature (http://openjdk.java.net/jeps/12) in
cd3eca
OpenJDK 14 & 15 and became final in OpenJDK 16.
cd3eca
cd3eca
Records
cd3eca
=======
cd3eca
https://openjdk.java.net/jeps/359
cd3eca
https://openjdk.java.net/jeps/384
cd3eca
https://openjdk.java.net/jeps/395
cd3eca
cd3eca
Enhance the Java programming language with records.  Records provide a
cd3eca
compact syntax for declaring classes which are transparent holders for
cd3eca
shallowly immutable data.
cd3eca
cd3eca
This was a preview feature (http://openjdk.java.net/jeps/12) in
cd3eca
OpenJDK 14 & 15 and became final in OpenJDK 16.
cd3eca
cd3eca
Sealed Classes
cd3eca
==============
cd3eca
https://openjdk.java.net/jeps/360
cd3eca
https://openjdk.java.net/jeps/397
cd3eca
https://openjdk.java.net/jeps/409
cd3eca
https://cr.openjdk.java.net/~briangoetz/amber/datum.html
cd3eca
cd3eca
Enhance the Java programming language with sealed classes and
cd3eca
interfaces. Sealed classes and interfaces restrict which other classes
cd3eca
or interfaces may extend or implement them.
cd3eca
cd3eca
This was a preview feature (http://openjdk.java.net/jeps/12) in
cd3eca
OpenJDK 15 & 16 and became final in OpenJDK 17.
cd3eca
cd3eca
Restore Always-Strict Floating-Point Semantics
cd3eca
==============================================
cd3eca
https://openjdk.java.net/jeps/306
cd3eca
cd3eca
Make floating-point operations consistently strict, rather than have
cd3eca
both strict floating-point semantics (`strictfp`) and subtly different
cd3eca
default floating-point semantics. This will restore the original
cd3eca
floating-point semantics to the language and VM, matching the
cd3eca
semantics before the introduction of strict and default floating-point
cd3eca
modes in Java SE 1.2.
cd3eca
cd3eca
Pattern Matching for switch
cd3eca
===========================
cd3eca
https://openjdk.java.net/jeps/406
cd3eca
cd3eca
Enhance the Java programming language with pattern matching for
cd3eca
`switch` expressions and statements, along with extensions to the
cd3eca
language of patterns. Extending pattern matching to `switch` allows an
cd3eca
expression to be tested against a number of patterns, each with a
cd3eca
specific action, so that complex data-oriented queries can be
cd3eca
expressed concisely and safely.
cd3eca
cd3eca
This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK
cd3eca
17.
cd3eca
cd3eca
Library Features
cd3eca
================
cd3eca
cd3eca
JVM Constants API
cd3eca
=================
cd3eca
https://openjdk.java.net/jeps/334
cd3eca
cd3eca
Introduce an API to model nominal descriptions of key class-file and
cd3eca
run-time artifacts, in particular constants that are loadable from the
cd3eca
constant pool.
cd3eca
cd3eca
Reimplement the Legacy Socket API
cd3eca
=================================
cd3eca
https://openjdk.java.net/jeps/353
cd3eca
cd3eca
Replace the underlying implementation used by the `java.net.Socket`
cd3eca
and `java.net.ServerSocket` APIs with a simpler and more modern
cd3eca
implementation that is easy to maintain and debug. The new
cd3eca
implementation will be easy to adapt to work with user-mode threads,
cd3eca
a.k.a. fibers, currently being explored in Project Loom
cd3eca
(https://openjdk.java.net/projects/loom).
cd3eca
cd3eca
JFR Event Streaming
cd3eca
===================
cd3eca
https://openjdk.java.net/jeps/349
cd3eca
cd3eca
Expose JDK Flight Recorder data for continuous monitoring.
cd3eca
cd3eca
Non-Volatile Mapped Byte Buffers
cd3eca
================================
cd3eca
https://openjdk.java.net/jeps/352
cd3eca
cd3eca
Add new JDK-specific file mapping modes so that the `FileChannel` API
cd3eca
can be used to create `MappedByteBuffer` instances that refer to
cd3eca
non-volatile memory.
cd3eca
cd3eca
Helpful NullPointerExceptions
cd3eca
=============================
cd3eca
https://openjdk.java.net/jeps/358
cd3eca
cd3eca
Improve the usability of `NullPointerException`s generated by the JVM
cd3eca
by describing precisely which variable was `null`.
cd3eca
cd3eca
Foreign-Memory Access API
cd3eca
=========================
cd3eca
https://openjdk.java.net/jeps/370
cd3eca
https://openjdk.java.net/jeps/383
cd3eca
https://openjdk.java.net/jeps/393
cd3eca
cd3eca
Introduce an API to allow Java programs to safely and efficiently
cd3eca
access foreign memory outside of the Java heap.
cd3eca
cd3eca
This was a incubation feature (https://openjdk.java.net/jeps/11) in
cd3eca
OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory
cd3eca
API in OpenJDK 17 (see below).
cd3eca
cd3eca
Edwards-Curve Digital Signature Algorithm (EdDSA)
cd3eca
=================================================
cd3eca
https://openjdk.java.net/jeps/339
cd3eca
cd3eca
Implement cryptographic signatures using the Edwards-Curve Digital
cd3eca
Signature Algorithm (EdDSA) as described by RFC 8032
cd3eca
(https://tools.ietf.org/html/rfc8032).
cd3eca
cd3eca
Hidden Classes
cd3eca
==============
cd3eca
https://openjdk.java.net/jeps/371
cd3eca
cd3eca
Introduce hidden classes, which are classes that cannot be used
cd3eca
directly by the bytecode of other classes. Hidden classes are intended
cd3eca
for use by frameworks that generate classes at run time and use them
cd3eca
indirectly, via reflection. A hidden class may be defined as a member
cd3eca
of an access control nest (https://openjdk.java.net/jeps/181), and may
cd3eca
be unloaded independently of other classes.
cd3eca
cd3eca
Reimplement the Legacy DatagramSocket API
cd3eca
=========================================
cd3eca
https://openjdk.java.net/jeps/373
cd3eca
cd3eca
Replace the underlying implementations of the
cd3eca
`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with
cd3eca
simpler and more modern implementations that are easy to maintain and
cd3eca
debug. The new implementations will be easy to adapt to work with
cd3eca
virtual threads, currently being explored in Project Loom
cd3eca
(https://openjdk.java.net/projects/loom). This is a follow-on to JEP
cd3eca
353 (see above), which already reimplemented the legacy Socket API.
cd3eca
cd3eca
Vector API
cd3eca
==========
cd3eca
https://openjdk.java.net/jeps/338
cd3eca
https://openjdk.java.net/jeps/414
cd3eca
cd3eca
Provide an initial iteration of an incubator module,
cd3eca
`jdk.incubator.vector`, to express vector computations that reliably
cd3eca
compile at runtime to optimal vector hardware instructions on
cd3eca
supported CPU architectures and thus achieve superior performance to
cd3eca
equivalent scalar computations.
cd3eca
cd3eca
This is an incubation feature (https://openjdk.java.net/jeps/11)
cd3eca
introduced in OpenJDK 16.
cd3eca
cd3eca
Unix-Domain Socket Channels
cd3eca
===========================
cd3eca
https://openjdk.java.net/jeps/380
cd3eca
cd3eca
Add Unix-domain (`AF_UNIX`) socket support to the socket channel and
cd3eca
server-socket channel APIs in the `java.nio.channels` package. Extend
cd3eca
the inherited channel mechanism to support Unix-domain socket channels
cd3eca
and server socket channels.
cd3eca
cd3eca
Foreign Linker API (Incubator)
cd3eca
==============================
cd3eca
https://openjdk.java.net/jeps/389
d1af5a
cd3eca
Introduce an API that offers statically-typed, pure-Java access to
cd3eca
native code. This API, together with the Foreign-Memory API (see
cd3eca
above), will considerably simplify the otherwise error-prone process
cd3eca
of binding to a native library.
d1af5a
cd3eca
This was an incubation feature (https://openjdk.java.net/jeps/11)
cd3eca
introduced in OpenJDK 16, now superseded by the Foreign Function &
cd3eca
Memory API in OpenJDK 17 (see below).
cd3eca
cd3eca
Strongly Encapsulate JDK Internals by Default
cd3eca
=============================================
cd3eca
https://openjdk.java.net/jeps/396
cd3eca
https://openjdk.java.net/jeps/403
cd3eca
cd3eca
Strongly encapsulate all internal elements of the JDK by default,
cd3eca
except for critical internal APIs such as `sun.misc.Unsafe`.  It will
cd3eca
no longer be possible to relax the strong encapsulation of internal
cd3eca
elements via a single command-line option, as was possible in OpenJDK
cd3eca
9 through 16.
cd3eca
cd3eca
Enhanced Pseudo-Random Number Generators
cd3eca
========================================
cd3eca
https://openjdk.java.net/jeps/356
cd3eca
cd3eca
Provide new interface types and implementations for pseudo-random
cd3eca
number generators (PRNGs), including jumpable PRNGs and an additional
cd3eca
class of splittable PRNG algorithms (LXM).
cd3eca
cd3eca
Foreign Function & Memory API
cd3eca
=============================
cd3eca
https://openjdk.java.net/jeps/412
cd3eca
cd3eca
Introduce an API by which Java programs can interoperate with code and
cd3eca
data outside of the Java runtime. By efficiently invoking foreign
cd3eca
functions (i.e., code outside the JVM), and by safely accessing
cd3eca
foreign memory (i.e., memory not managed by the JVM), the API enables
cd3eca
Java programs to call native libraries and process native data without
cd3eca
the brittleness and danger of JNI.
cd3eca
cd3eca
This API is an incubation feature (https://openjdk.java.net/jeps/11)
cd3eca
introduced in OpenJDK 17, and is an evolution of the Foreign Memory
cd3eca
Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK
cd3eca
16) (see above).
cd3eca
cd3eca
Context-Specific Deserialization Filters
cd3eca
========================================
cd3eca
https://openjdk.java.net/jeps/415
cd3eca
cd3eca
Allow applications to configure context-specific and
cd3eca
dynamically-selected deserialization filters via a JVM-wide filter
cd3eca
factory that is invoked to select a filter for each individual
cd3eca
deserialization operation.
cd3eca
cd3eca
Tools
cd3eca
=====
cd3eca
cd3eca
Packaging Tool
cd3eca
==============
cd3eca
https://openjdk.java.net/jeps/343
cd3eca
https://openjdk.java.net/jeps/392
cd3eca
cd3eca
Provide the `jpackage` tool, for packaging self-contained Java
cd3eca
applications.
cd3eca
cd3eca
JVM Features
cd3eca
============
cd3eca
cd3eca
Shenandoah: A Low-Pause-Time Garbage Collector
cd3eca
==============================================
cd3eca
https://openjdk.java.net/jeps/189
cd3eca
https://openjdk.java.net/jeps/379
cd3eca
cd3eca
Add a new garbage collection (GC) algorithm named Shenandoah which
cd3eca
reduces GC pause times by doing evacuation work concurrently with the
cd3eca
running Java threads.  Pause times with Shenandoah are independent of
cd3eca
heap size, meaning you will have the same consistent pause times
cd3eca
whether your heap is 200 MB or 200 GB.
cd3eca
cd3eca
Shenandoah has been provided in Red Hat builds of OpenJDK 8 since
cd3eca
8u131 in April 2017 and in all 11u builds.
cd3eca
cd3eca
Upstream, it was introduced in OpenJDK 12 as an experimental feature
cd3eca
and became a production feature in OpenJDK 15. It was backported to
cd3eca
OpenJDK 11 with the 11.0.9 release in October 2020.
cd3eca
cd3eca
Abortable Mixed Collections for G1
cd3eca
==================================
cd3eca
https://openjdk.java.net/jeps/344
cd3eca
cd3eca
Make G1 mixed collections abortable if they might exceed the pause
cd3eca
target.
cd3eca
cd3eca
Promptly Return Unused Committed Memory from G1
cd3eca
===============================================
cd3eca
https://openjdk.java.net/jeps/346
cd3eca
cd3eca
Enhance the G1 garbage collector to automatically return Java heap
cd3eca
memory to the operating system when idle.
cd3eca
cd3eca
Dynamic CDS Archives
cd3eca
====================
cd3eca
https://openjdk.java.net/jeps/310
cd3eca
https://openjdk.java.net/jeps/350
cd3eca
cd3eca
Extend application class-data sharing to allow the dynamic archiving
cd3eca
of classes at the end of Java application execution. The archived
cd3eca
classes will include all loaded application classes and library
cd3eca
classes that are not present in the default, base-layer CDS archive.
cd3eca
cd3eca
ZGC: Uncommit Unused Memory (Experimental)
cd3eca
==========================================
cd3eca
https://openjdk.java.net/jeps/351
cd3eca
cd3eca
Enhance ZGC to return unused heap memory to the operating system.
cd3eca
cd3eca
NUMA-Aware Memory Allocation for G1
cd3eca
===================================
cd3eca
https://openjdk.java.net/jeps/345
cd3eca
cd3eca
Improve G1 performance on large machines by implementing NUMA-aware
cd3eca
memory allocation.
cd3eca
cd3eca
ZGC on macOS (Experimental)
cd3eca
===========================
cd3eca
https://openjdk.java.net/jeps/364
cd3eca
cd3eca
Port the ZGC garbage collector to macOS.
cd3eca
cd3eca
ZGC on Windows (Experimental)
cd3eca
=============================
cd3eca
https://openjdk.java.net/jeps/365
cd3eca
cd3eca
Port the ZGC garbage collector to Windows.
cd3eca
cd3eca
ZGC: A Scalable Low-Latency Garbage Collector (Production)
cd3eca
==========================================================
cd3eca
https://openjdk.java.net/jeps/377
cd3eca
cd3eca
Change the Z Garbage Collector from an experimental feature into a
cd3eca
product feature.
cd3eca
cd3eca
ZGC: Concurrent Thread-Stack Processing
cd3eca
=======================================
cd3eca
https://openjdk.java.net/jeps/376
cd3eca
cd3eca
Move ZGC thread-stack processing from safepoints to a concurrent
cd3eca
phase.
cd3eca
cd3eca
Elastic Metaspace
cd3eca
=================
cd3eca
https://openjdk.java.net/jeps/387
cd3eca
cd3eca
Return unused HotSpot class-metadata (i.e., metaspace) memory to the
cd3eca
operating system more promptly, reduce metaspace footprint, and
cd3eca
simplify the metaspace code in order to reduce maintenance costs.
cd3eca
cd3eca
Ports
cd3eca
=====
cd3eca
cd3eca
Alpine Linux Port
cd3eca
=================
cd3eca
https://openjdk.java.net/jeps/386
cd3eca
cd3eca
Port the JDK to Alpine Linux, and to other Linux distributions that
cd3eca
use musl as their primary C library, on both the x64 and AArch64
cd3eca
architectures,
cd3eca
cd3eca
Windows/AArch64 Port
cd3eca
====================
cd3eca
https://openjdk.java.net/jeps/388
cd3eca
cd3eca
Port the JDK to Windows/AArch64.
cd3eca
cd3eca
New macOS Rendering Pipeline
cd3eca
============================
cd3eca
https://openjdk.java.net/jeps/382
cd3eca
cd3eca
Implement a Java 2D internal rendering pipeline for macOS using the
cd3eca
Apple Metal API as alternative to the existing pipeline, which uses
cd3eca
the deprecated Apple OpenGL API.
cd3eca
cd3eca
macOS/AArch64 Port
cd3eca
==================
cd3eca
https://openjdk.java.net/jeps/391
cd3eca
cd3eca
Port the JDK to macOS/AArch64.
cd3eca
cd3eca
DEPRECATIONS
cd3eca
============
cd3eca
cd3eca
Deprecate the ParallelScavenge + SerialOld GC Combination
d1af5a
=========================================================
cd3eca
https://openjdk.java.net/jeps/366
cd3eca
cd3eca
Deprecate the combination of the Parallel Scavenge and Serial Old
cd3eca
garbage collection algorithms.
cd3eca
cd3eca
Deprecate and Disable Biased Locking
cd3eca
====================================
cd3eca
https://openjdk.java.net/jeps/374
cd3eca
cd3eca
Disable biased locking by default, and deprecate all related
cd3eca
command-line options.
cd3eca
cd3eca
Warnings for Value-Based Classes
cd3eca
================================
cd3eca
https://openjdk.java.net/jeps/390
cd3eca
cd3eca
Designate the primitive wrapper classes as value-based and deprecate
cd3eca
their constructors for removal, prompting new deprecation
cd3eca
warnings. Provide warnings about improper attempts to synchronize on
cd3eca
instances of any value-based classes in the Java Platform.
cd3eca
cd3eca
Deprecate the Applet API for Removal
cd3eca
====================================
cd3eca
https://openjdk.java.net/jeps/398
cd3eca
cd3eca
Deprecate the Applet API for removal.  It is essentially irrelevant
cd3eca
since all web-browser vendors have either removed support for Java
cd3eca
browser plug-ins or announced plans to do so.
cd3eca
cd3eca
Deprecate the Security Manager for Removal
cd3eca
==========================================
cd3eca
https://openjdk.java.net/jeps/411
cd3eca
cd3eca
Deprecate the Security Manager for removal in a future release. The
cd3eca
Security Manager dates from Java 1.0. It has not been the primary
cd3eca
means of securing client-side Java code for many years, and it has
cd3eca
rarely been used to secure server-side code. To move Java forward, we
cd3eca
intend to deprecate the Security Manager for removal in concert with
cd3eca
the legacy Applet API (see above).  .
cd3eca
cd3eca
REMOVALS
cd3eca
========
cd3eca
cd3eca
Remove the Concurrent Mark Sweep (CMS) Garbage Collector
cd3eca
========================================================
cd3eca
https://openjdk.java.net/jeps/363
cd3eca
cd3eca
Remove the Concurrent Mark Sweep (CMS) garbage collector.
cd3eca
cd3eca
Remove the Pack200 Tools and API
cd3eca
================================
cd3eca
https://openjdk.java.net/jeps/336
cd3eca
https://openjdk.java.net/jeps/367
cd3eca
cd3eca
Remove the `pack200` and `unpack200` tools, and the `Pack200` API in
cd3eca
the `java.util.jar` package.  These tools and API were deprecated for
cd3eca
removal in OpenJDK 11 with the express intent to remove them in a
cd3eca
future release.
cd3eca
cd3eca
Remove the Nashorn JavaScript Engine
cd3eca
====================================
cd3eca
https://openjdk.java.net/jeps/372
cd3eca
cd3eca
Remove the Nashorn JavaScript script engine and APIs, and the `jjs`
cd3eca
tool. The engine, the APIs, and the tool were deprecated for removal
cd3eca
in OpenJDK 11 with the express intent to remove them in a future
cd3eca
release.
cd3eca
cd3eca
Remove the Solaris and SPARC Ports
cd3eca
==================================
cd3eca
https://openjdk.java.net/jeps/362
cd3eca
https://openjdk.java.net/jeps/381
cd3eca
cd3eca
Remove the source code and build support for the Solaris/SPARC,
cd3eca
Solaris/x64, and Linux/SPARC ports.  These ports were deprecated for
cd3eca
removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381).
cd3eca
cd3eca
Remove RMI Activation
cd3eca
=====================
cd3eca
https://openjdk.java.net/jeps/385
cd3eca
https://openjdk.java.net/jeps/407
cd3eca
https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html
d1af5a
cd3eca
Remove the Remote Method Invocation (RMI) Activation mechanism, while
cd3eca
preserving the rest of RMI.  RMI Activation is an obsolete part of RMI
cd3eca
that has been optional since OpenJDK 8 and was deprecated in OpenJDK
cd3eca
15.
d1af5a
cd3eca
Remove the Experimental AOT and JIT Compiler
cd3eca
============================================
cd3eca
https://openjdk.java.net/jeps/410
d1af5a
cd3eca
Remove the experimental Java-based ahead-of-time (AOT) and
cd3eca
just-in-time (JIT) compiler.  This compiler has seen little use since
cd3eca
its introduction and the effort required to maintain it is
cd3eca
significant.  Retain the experimental Java-level JVM compiler
cd3eca
interface (JVMCI) so that developers can continue to use
cd3eca
externally-built versions of the compiler for JIT compilation.