283 lines
13 KiB
Plaintext
283 lines
13 KiB
Plaintext
Key:
|
|
|
|
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
|
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
|
|
|
New in release OpenJDK 20.0.2 (2023-07-18):
|
|
===========================================
|
|
* CVEs
|
|
- CVE-2023-22041
|
|
- CVE-2023-22051
|
|
- CVE-2023-25193
|
|
- CVE-2023-22044
|
|
- CVE-2023-22045
|
|
- CVE-2023-22049
|
|
- CVE-2023-22036
|
|
- CVE-2023-22006
|
|
* Security fixes
|
|
- JDK-8299945: Update the release version after forking Apr CPU23_04
|
|
- JDK-8299946: Update the Jul CPU23_07 release date in master branch after forking Apr CPU23_04
|
|
- JDK-8299129: Enhance NameService lookups
|
|
- JDK-8295304: Runtime support improvements
|
|
- JDK-8300285: Enhance TLS data handling
|
|
- JDK-8298676: Enhanced Look and Feel
|
|
- JDK-8304460: Improve array usages
|
|
- JDK-8304468: Better array usages
|
|
- JDK-8302483: Enhance ZIP performance
|
|
- JDK-8305565: Incorrect milestone for release JDK 20.0.2
|
|
- JDK-8300596: Enhance Jar Signature validation
|
|
- JDK-8302475: Enhance HTTP client file downloading
|
|
- JDK-8305421: Work around JDK-8305420 in CDSJDITest.java
|
|
- JDK-8294323: Improve Shared Class Data
|
|
- JDK-8305312: Enhanced path handling
|
|
- JDK-8296565: Enhanced archival support
|
|
- JDK-8306049: Change milestone to fcs for all releases
|
|
- JDK-8303376: Better launching of JDI
|
|
- JDK-8308682: Enhance AES performance
|
|
* Other changes
|
|
- JDK-8304741: C2 Intrinsification of Float.floatToFloat16 and Float.float16ToFloat Yields Different Result than the Interpreter
|
|
- JDK-8306763: GHA: MSVC installation is failing
|
|
- JDK-8304075: Consider removal of expiry check in VerifyCACerts.java test
|
|
- JDK-8304077: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
|
|
- JDK-8304227: Corrupted heap dumps due to missing retries for os::write()
|
|
- JDK-8304424: Update HarfBuzz to 7.0.1
|
|
- JDK-8304887: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
|
|
- JDK-8305123: javac regression: Compilation with --release 8 fails on underscore in enum identifiers
|
|
- JDK-8305537: Use default visibility for static library builds
|
|
- JDK-8305540: ArrayFill with store on backedge needs to reduce length by 1
|
|
- JDK-8305541: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
|
|
- JDK-8305542: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
|
|
- JDK-8305546: C2: Arraycopy intrinsic throws incorrect exception
|
|
- JDK-8305548: use-after-free related to GraphKit::clone_map
|
|
- JDK-8305549: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
|
|
- JDK-8305550: C2: CmpU::Value must filter overflow computation against local sub computation
|
|
- JDK-8305551: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
|
|
- JDK-8305554: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
|
|
- JDK-8305555: C2: assert(get_ctrl(n) == cle_out) during unrolling
|
|
- JDK-8305557: Vector.lane() gets wrong value on x86
|
|
- JDK-8305558: [JVMCI] Insufficient error handling when CodeBuffer is exhausted
|
|
- JDK-8305560: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
|
|
- JDK-8305561: DebugNonSafepoints generates incorrect information
|
|
- JDK-8305850: Fastdebug build fails after JDK-8296389
|
|
- JDK-8305851: use-def assert: special case undetected loops nested in infinite loops
|
|
- JDK-8305865: (tz) Update Timezone Data to 2023c
|
|
- JDK-8305876: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
|
|
- JDK-8306319: Add the runtime version in the release file of a JDK image
|
|
- JDK-8306478: On the latest macOS+XCode the Robot API may report wrong colors
|
|
- JDK-8306750: Upgrade JLine to 3.22.0
|
|
- JDK-8306751: JShell does not switch to raw mode when there is no /bin/test
|
|
- JDK-8306771: [AIX] Broken build after JDK-8301998
|
|
- JDK-8307107: updateIconImages may lead to deadlock after JDK-8276849
|
|
- JDK-8307111: Shenandoah evacuation workers may deadlock
|
|
- JDK-8307112: GHA: MSVC installation could be optional since it might already be pre-installed
|
|
- JDK-8307151: Shenandoah: Missing barriers on deoptimization path
|
|
- JDK-8307364: Make runtime/Monitor/GuaranteedAsyncDeflationIntervalTest.java more reliable
|
|
- JDK-8307372: Add TWCA Global Root CA
|
|
- JDK-8307373: Add 2 Microsoft TLS roots
|
|
- JDK-8307391: Monitor deflation might be accidentally disabled by zero intervals
|
|
- JDK-8307631: Add GTS root CAs
|
|
- JDK-8308008: java.time.Instant calculation bug in until and between methods
|
|
- JDK-8309850: ConcurrentModificationException in javadoc tool
|
|
- JDK-8301870: Include cdb in the Windows devkit
|
|
- JDK-8303906: Update jdk20u fix version to 20.0.2
|
|
- JDK-8303958: Missing Classpath exception from Continuation.c
|
|
- JDK-8304417: GCC 12 reports some compiler warnings in bundled freetype
|
|
- JDK-8304981: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
|
|
- JDK-8305545: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline
|
|
- JDK-8305547: use-after-free in Node::destruct
|
|
- JDK-8305552: [JVMCI] BytecodeFrame.equals is broken
|
|
- JDK-8305553: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
|
|
- JDK-8305789: Update Commons BCEL to Version 6.7.0
|
|
- JDK-8305849: Memory leak in CompilerOracle::parse_from_line
|
|
- JDK-8305859: ProblemList runtime/CompressedOops/CompressedClassPointers.java
|
|
- JDK-8305948: Performance degradation for float/double modulo on Linux
|
|
- JDK-8306448: NoClassDefFoundError omits the original cause of an error
|
|
- JDK-8307209: Thread stacksize is reported with wrong units in os::create_thread logging
|
|
- JDK-8307360: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr
|
|
- JDK-8307361: Guarantee eventual async monitor deflation
|
|
- JDK-8307380: harfbuzz build fails with GCC 7 after JDK-8301998
|
|
- JDK-8307419: UTIL_LOOKUP_PROGS fails on pathes with space
|
|
- JDK-8307420: UTIL_REQUIRE_SPECIAL warning on grep
|
|
- JDK-8307705: Support for GB18030-2022
|
|
- JDK-8308112: Allow collectors to provide specific values for GC notifications' actions
|
|
- JDK-8308390: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0
|
|
- JDK-8308418: Socket input stream read burns CPU cycles with back-to-back poll(0) calls
|
|
- JDK-8308457: [AIX] VM crashes with UseRTMLocking on Power10
|
|
- JDK-8308693: Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code
|
|
- JDK-8309483: PPC: Non-Top Interpreted frames should be independent of ABI_ELFv2
|
|
- JDK-8305544: UB: Compile::_phase_optimize_finished is initialized too late
|
|
- JDK-8305556: Memory leak in WB_IsMethodCompatible
|
|
- JDK-8305559: Identical branch conditions in CompileBroker::print_heapinfo
|
|
|
|
The full list of changes in 20u can be found at:
|
|
- * https://builds.shipilev.net/backports-monitor/release-notes-20.0.2.txt
|
|
- * https://builds.shipilev.net/backports-monitor/pushes-20.0.2.txt
|
|
|
|
New in release OpenJDK 20.0.1 (2023-04-18):
|
|
===========================================
|
|
|
|
* CVEs
|
|
- CVE-2023-21930
|
|
- CVE-2023-21937
|
|
- CVE-2023-21938
|
|
- CVE-2023-21939
|
|
- CVE-2023-21967
|
|
- CVE-2023-21968
|
|
* Security fixes
|
|
- JDK-8287404: Improve ping times
|
|
- JDK-8288436: Improve Xalan supports
|
|
- JDK-8294474: Better AES support
|
|
- JDK-8295304: Runtime support improvements
|
|
- JDK-8296676, JDK-8296622: Improve String platform support
|
|
- JDK-8296684: Improve String platform support
|
|
- JDK-8296692: Improve String platform support
|
|
- JDK-8296832: Improve Swing platform support
|
|
- JDK-8297371: Improve UTF8 representation redux
|
|
- JDK-8298310: Enhance TLS session negotiation
|
|
- JDK-8298667: Improved path handling
|
|
- JDK-8299129: Enhance NameService lookups
|
|
* Other changes
|
|
- JDK-8208077: File.listRoots performance degradation
|
|
- JDK-8245654: Add Certigna Root CA
|
|
- JDK-8278965: crash in SymbolTable::do_lookup
|
|
- JDK-8295951: intermittent cmp_baseline task failures with CDS files
|
|
- JDK-8299194: CustomTzIDCheckDST.java may fail at future date
|
|
- JDK-8299843: Bump version numbers for 20.0.1
|
|
- JDK-8299947: Change milestone to fcs for all releases
|
|
- JDK-8301123: Enable Symbol refcounting underflow checks in PRODUCT
|
|
- JDK-8301858: Verification error when compiling switch with record patterns
|
|
- JDK-8301876: Crash in DumpTimeClassInfo::add_verification_constraint
|
|
- JDK-8302202: Incorrect desugaring of null-allowed nested patterns
|
|
- JDK-8302879: doc/building.md update link to jtreg builds
|
|
- JDK-8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle
|
|
|
|
New in release OpenJDK 20.0.0 (2023-03-21):
|
|
===========================================
|
|
Major changes are listed below. Some changes may have been backported
|
|
to earlier releases following their first appearance in OpenJDK 20.
|
|
|
|
The full list of changes in 20u can be found at:
|
|
- * https://builds.shipilev.net/backports-monitor/release-notes-20.txt
|
|
|
|
NEW FEATURES
|
|
============
|
|
|
|
Language Features
|
|
=================
|
|
|
|
Pattern Matching for switch
|
|
===========================
|
|
https://openjdk.org/jeps/406
|
|
https://openjdk.org/jeps/420
|
|
https://openjdk.org/jeps/427
|
|
https://openjdk.org/jeps/433
|
|
|
|
Enhance the Java programming language with pattern matching for
|
|
`switch` expressions and statements, along with extensions to the
|
|
language of patterns. Extending pattern matching to `switch` allows an
|
|
expression to be tested against a number of patterns, each with a
|
|
specific action, so that complex data-oriented queries can be
|
|
expressed concisely and safely.
|
|
|
|
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
in OpenJDK 17 (JEP 406), which saw a second preview in OpenJDK 18 (JEP
|
|
420) and a third in OpenJDK 19 (JEP 427). It reaches its fourth
|
|
preview (JEP 427) in OpenJDK 20.
|
|
|
|
Record Patterns
|
|
===============
|
|
https://openjdk.org/jeps/405
|
|
https://openjdk.org/jeps/432
|
|
|
|
Enhance the Java programming language with record patterns to
|
|
deconstruct record values. Record patterns and type patterns can be
|
|
nested to enable a powerful, declarative, and composable form of data
|
|
navigation and processing.
|
|
|
|
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
in OpenJDK 19 (JEP 405). It reaches its second preview (JEP 432) in
|
|
OpenJDK 20.
|
|
|
|
Library Features
|
|
================
|
|
|
|
Scoped Values
|
|
=============
|
|
https://openjdk.org/jeps/429
|
|
|
|
Introduce scoped values, which enable the sharing of immutable data
|
|
within and across threads. They are preferred to thread-local
|
|
variables, especially when using large numbers of virtual threads.
|
|
|
|
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
introduced in OpenJDK 20 (JEP 429).
|
|
|
|
Vector API
|
|
==========
|
|
https://openjdk.org/jeps/338
|
|
https://openjdk.org/jeps/414
|
|
https://openjdk.org/jeps/417
|
|
https://openjdk.org/jeps/426
|
|
https://openjdk.org/jeps/438
|
|
|
|
Introduce an API to express vector computations that reliably compile
|
|
at runtime to optimal vector hardware instructions on supported CPU
|
|
architectures and thus achieve superior performance to equivalent
|
|
scalar computations.
|
|
|
|
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
|
|
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third,
|
|
OpenJDK 19 a fourth (JEP 426) and OpenJDK 20 (JEP 438) sees its fifth.
|
|
|
|
Foreign Function & Memory API
|
|
=============================
|
|
https://openjdk.org/jeps/412
|
|
https://openjdk.org/jeps/419
|
|
https://openjdk.org/jeps/424
|
|
https://openjdk.org/jeps/434
|
|
|
|
Introduce an API by which Java programs can interoperate with code and
|
|
data outside of the Java runtime. By efficiently invoking foreign
|
|
functions (i.e., code outside the JVM), and by safely accessing
|
|
foreign memory (i.e., memory not managed by the JVM), the API enables
|
|
Java programs to call native libraries and process native data without
|
|
the brittleness and danger of JNI.
|
|
|
|
This API is now a preview feature (http://openjdk.java.net/jeps/12).
|
|
It was first introduced in incubation
|
|
(https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412), and is an
|
|
evolution of the Foreign Memory Access API (OpenJDK 14 through 16) and
|
|
Foreign Linker API (OpenJDK 16) (see release notes for
|
|
java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
|
|
419) before its inclusion as a preview in OpenJDK 19 (JEP 424). It
|
|
reaches a second preview in OpenJDK 20 (JEP 434).
|
|
|
|
Virtual Threads
|
|
===============
|
|
https://openjdk.org/jeps/425
|
|
https://openjdk.org/jeps/436
|
|
|
|
Introduce virtual threads to the Java Platform. Virtual threads are
|
|
lightweight threads that dramatically reduce the effort of writing,
|
|
maintaining, and observing high-throughput concurrent applications.
|
|
|
|
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
in OpenJDK 19 (JEP 425) and reaching its second preview in OpenJDK 20
|
|
(JEP 436).
|
|
|
|
Structured Concurrency
|
|
======================
|
|
https://openjdk.org/jeps/428
|
|
https://openjdk.org/jeps/437
|
|
|
|
Simplify multithreaded programming by introducing an API for
|
|
structured concurrency. Structured concurrency treats multiple tasks
|
|
running in different threads as a single unit of work, thereby
|
|
streamlining error handling and cancellation, improving reliability,
|
|
and enhancing observability.
|
|
|
|
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
introduced in OpenJDK 19 (JEP 428). A second round of incubation takes
|
|
place in OpenJDK 20 (JEP 437).
|