2021-01-22 13:10:45 +00:00
|
|
|
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
|
|
|
|
|
2023-01-26 01:46:50 +00:00
|
|
|
New in release OpenJDK 19.0.2 (2023-01-17):
|
|
|
|
===========================================
|
|
|
|
Live versions of these release notes can be found at:
|
|
|
|
* https://builds.shipilev.net/backports-monitor/release-notes-19.0.2.html
|
|
|
|
|
|
|
|
* CVEs
|
|
|
|
- CVE-2023-21835
|
|
|
|
- CVE-2023-21843
|
|
|
|
* Security fixes
|
|
|
|
- JDK-8286070: Improve UTF8 representation
|
|
|
|
- JDK-8286496: Improve Thread labels
|
|
|
|
- JDK-8287411: Enhance DTLS performance
|
|
|
|
- JDK-8288516: Enhance font creation
|
|
|
|
- JDK-8293554: Enhanced DH Key Exchanges
|
|
|
|
- JDK-8293598: Enhance InetAddress address handling
|
|
|
|
- JDK-8293717: Objective view of ObjectView
|
|
|
|
- JDK-8293734: Improve BMP image handling
|
|
|
|
- JDK-8293742: Better Banking of Sounds
|
|
|
|
- JDK-8295687: Better BMP bounds
|
|
|
|
* Other changes
|
|
|
|
- JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
|
|
|
|
- JDK-8029633: Raw inner class constructor ref should not perform diamond inference
|
|
|
|
- JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
|
|
|
|
- JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
|
|
|
|
- JDK-8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
|
|
|
|
- JDK-8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
|
|
|
|
- JDK-8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
|
|
|
|
- JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache
|
|
|
|
- JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
|
|
|
|
- JDK-8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency
|
|
|
|
- JDK-8288132: Update test artifacts in QuoVadis CA interop tests
|
|
|
|
- JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
|
|
|
|
- JDK-8288992: AArch64: CMN should be handled the same way as CMP
|
|
|
|
- JDK-8290164: compiler/runtime/TestConstantsInError.java fails on riscv
|
|
|
|
- JDK-8290246: test fails "assert(init != __null) failed: initialization not found"
|
|
|
|
- JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1
|
|
|
|
- JDK-8290496: riscv: Fix build warnings-as-errors with GCC 11
|
|
|
|
- JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure
|
|
|
|
- JDK-8290694: Update the release date after forking Oct CPU22_10
|
|
|
|
- JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
|
|
|
|
- JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
|
|
|
|
- JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
|
|
|
|
- JDK-8290900: Build failure with Clang 14+ due to function warning attribute
|
|
|
|
- JDK-8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
|
|
|
|
- JDK-8290974: Bump version numbers for January 2023 CPU
|
|
|
|
- JDK-8291508: Fix some tests with "requires vm.jvmti & vm.continuations"
|
|
|
|
- JDK-8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
|
|
|
|
- JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
|
|
|
|
- JDK-8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
|
|
|
|
- JDK-8292158: AES-CTR cipher state corruption with AVX-512
|
|
|
|
- JDK-8292159: TYPE_USE annotations on generic type arguments of record components discarded
|
|
|
|
- JDK-8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
|
|
|
|
- JDK-8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library
|
|
|
|
- JDK-8292756: java.lang.AssertionError at at jdk.compiler/com.sun.tools.javac.code.Scope$ScopeImpl.leave(Scope.java:386)
|
|
|
|
- JDK-8292780: misc tests failed "assert(false) failed: graph should be schedulable"
|
|
|
|
- JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
|
|
|
|
- JDK-8292969: Bad Thread Utilization in ForkJoinPool
|
|
|
|
- JDK-8293044: C1: Missing access check on non-accessible class
|
|
|
|
- JDK-8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
|
|
|
|
- JDK-8293348: A false cyclic inheritance error reported
|
|
|
|
- JDK-8293578: Duplicate ldc generated by javac
|
|
|
|
- JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
|
|
|
|
- JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent
|
|
|
|
- JDK-8293834: Update CLDR data following tzdata 2022c update
|
|
|
|
- JDK-8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
|
|
|
|
- JDK-8294307: ISO 4217 Amendment 173 Update
|
|
|
|
- JDK-8294357: (tz) Update Timezone Data to 2022d
|
|
|
|
- JDK-8294517: Update jdk19u fix version to 19.0.2
|
|
|
|
- JDK-8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
|
|
|
|
- JDK-8294602: Change milestone to fcs for releases: jdk-11.0.18, jdk-17.0.6, jdk-19.0.2
|
|
|
|
- JDK-8294755: Update milestone to ea for 19.0.2
|
|
|
|
- JDK-8294840: langtools OptionalDependencyTest.java use File.pathSeparator
|
|
|
|
- JDK-8295173: (tz) Update Timezone Data to 2022e
|
|
|
|
- JDK-8295264: Fix PaX check on RISC-V
|
|
|
|
- JDK-8295268: Optimized builds are broken due to incorrect assert_is_rfp shortcuts
|
|
|
|
- JDK-8295414: [Aarch64] C2: assert(false) failed: bad AD file
|
|
|
|
- JDK-8295469: S390X: Optimized builds are broken
|
|
|
|
- JDK-8295554: Move the "sizecalc.h" to the correct location
|
|
|
|
- JDK-8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
|
|
|
|
- JDK-8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
|
|
|
|
- JDK-8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
|
|
|
|
- JDK-8296108: (tz) Update Timezone Data to 2022f
|
|
|
|
- JDK-8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
|
|
|
|
- JDK-8296463: Memory leak in JVM_StartThread with the integration of Virtual threads
|
|
|
|
- JDK-8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
|
|
|
|
- JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
|
|
|
|
- JDK-8296496: Overzealous check in sizecalc.h prevents large memory allocation
|
|
|
|
- JDK-8296602: RISC-V: improve performance of copy_memory stub
|
|
|
|
- JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent
|
|
|
|
- JDK-8296715: CLDR v42 update for tzdata 2022f
|
|
|
|
- JDK-8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
|
|
|
|
- JDK-8296771: RISC-V: C2: assert(false) failed: bad AD file
|
|
|
|
- JDK-8296945: PublicMethodsTest is slow due to dependency verification with debug builds
|
|
|
|
- JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
|
|
|
|
- JDK-8296970: Remove sysThreadAvailableStackWithSlack from hotspot-symbols
|
|
|
|
- JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
|
|
|
|
- JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again
|
|
|
|
- JDK-8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
|
|
|
|
- JDK-8297309: Memory leak in ShenandoahFullGC
|
|
|
|
- JDK-8297451: ProcessHandleImpl should assert privilege when modifying reaper thread
|
|
|
|
- JDK-8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
|
|
|
|
|
|
|
|
Notes on individual issues:
|
|
|
|
===========================
|
|
|
|
|
|
|
|
client-libs/javax.imageio:
|
|
|
|
|
|
|
|
JDK-8295687: Better BMP bounds
|
|
|
|
==============================
|
|
|
|
Loading a linked ICC profile within a BMP image is now disabled by
|
|
|
|
default. To re-enable it, set the new system property
|
|
|
|
`sun.imageio.bmp.enabledLinkedProfiles` to `true`. This new property
|
|
|
|
replaces the old property,
|
|
|
|
`sun.imageio.plugins.bmp.disableLinkedProfiles`.
|
|
|
|
|
|
|
|
client-libs/javax.sound:
|
|
|
|
|
|
|
|
JDK-8293742: Better Banking of Sounds
|
|
|
|
=====================================
|
|
|
|
Previously, the SoundbankReader implementation,
|
|
|
|
`com.sun.media.sound.JARSoundbankReader`, would download a JAR
|
|
|
|
soundbank from a URL. This behaviour is now disabled by default. To
|
|
|
|
re-enable it, set the new system property `jdk.sound.jarsoundbank` to
|
|
|
|
`true`.
|
|
|
|
|
|
|
|
security-libs/javax.net.ssl:
|
|
|
|
|
|
|
|
JDK-8287411: Enhance DTLS performance
|
|
|
|
=====================================
|
|
|
|
The JDK now exchanges DTLS cookies for all handshakes, new and
|
|
|
|
resumed. The previous behaviour can be re-enabled by setting the new
|
|
|
|
system property `jdk.tls.enableDtlsResumeCookie` to `false`.
|
|
|
|
|
2022-10-20 01:44:05 +00:00
|
|
|
New in release OpenJDK 19.0.1 (2022-10-18):
|
|
|
|
===========================================
|
|
|
|
Live versions of these release notes can be found at:
|
|
|
|
* https://builds.shipilev.net/backports-monitor/release-notes-19.0.1.html
|
|
|
|
|
|
|
|
* Security fixes
|
|
|
|
- JDK-8282252: Improve BigInteger/Decimal validation
|
|
|
|
- JDK-8285662: Better permission resolution
|
|
|
|
- JDK-8286077, CVE-2022-21618: Wider MultiByte conversions
|
|
|
|
- JDK-8286511: Improve macro allocation
|
|
|
|
- JDK-8286519: Better memory handling
|
|
|
|
- JDK-8286526, CVE-2022-21619: Improve NTLM support
|
|
|
|
- JDK-8286910, CVE-2022-21624: Improve JNDI lookups
|
|
|
|
- JDK-8286918, CVE-2022-21628: Better HttpServer service
|
|
|
|
- JDK-8287446: Enhance icon presentations
|
|
|
|
- JDK-8288508: Enhance ECDSA usage
|
|
|
|
- JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage
|
|
|
|
- JDK-8289853: Update HarfBuzz to 4.4.1
|
|
|
|
- JDK-8290334: Update FreeType to 2.12.1
|
|
|
|
* Other changes
|
|
|
|
- JDK-8028265: Add legacy tz tests to OpenJDK
|
|
|
|
- JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
|
|
|
|
- JDK-8227651: Tests fail with SSLProtocolException: Input record too big
|
|
|
|
- JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
|
|
|
|
- JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
|
|
|
|
- JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests
|
|
|
|
- JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
|
|
|
|
- JDK-8288499: Restore cancel-in-progress in GHA
|
|
|
|
- JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
|
|
|
|
- JDK-8288653: Bump version numbers for 19.0.1
|
|
|
|
- JDK-8290000: Bump macOS GitHub actions to macOS 11
|
|
|
|
- JDK-8290695: Change milestone to fcs for releases: jdk-11.0.17, jdk-17.0.5, jdk-19.0.1
|
|
|
|
- JDK-8291640: java/beans/XMLDecoder/8028054/Task.java should use the 3-arg Class.forName
|
|
|
|
- JDK-8291897: TerminatingThreadLocal(s) not registered from virtual thread(s)
|
|
|
|
- JDK-8292051: jdk/internal/misc/TerminatingThreadLocal/TestTerminatingThreadLocal.java failed "AssertionError: Expected terminated values: [666] but got: []"
|
|
|
|
- JDK-8292240: CarrierThread.blocking not reset when spare not activated
|
|
|
|
- JDK-8292487: Back out the fix for JDK-8281962 from jdk19u
|
|
|
|
- JDK-8292579: (tz) Update Timezone Data to 2022c
|
|
|
|
- JDK-8292654: G1 remembered set memory footprint regression after JDK-8286115
|
|
|
|
- JDK-8293180: JQuery UI license file not updated
|
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
New in release OpenJDK 19.0.0 (2022-09-20):
|
2021-01-22 13:10:45 +00:00
|
|
|
===========================================
|
2021-09-27 01:42:03 +00:00
|
|
|
Major changes are listed below. Some changes may have been backported
|
2022-08-29 00:31:15 +00:00
|
|
|
to earlier releases following their first appearance in OpenJDK 19.
|
2022-07-11 14:10:14 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
The full list of changes in 19u can be found at:
|
|
|
|
- * https://builds.shipilev.net/backports-monitor/release-notes-19.txt
|
2021-09-27 01:42:03 +00:00
|
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
============
|
|
|
|
|
|
|
|
Language Features
|
|
|
|
=================
|
|
|
|
|
|
|
|
Pattern Matching for switch
|
2021-01-22 13:10:45 +00:00
|
|
|
===========================
|
2022-07-11 14:10:14 +00:00
|
|
|
https://openjdk.org/jeps/406
|
|
|
|
https://openjdk.org/jeps/420
|
2022-08-29 00:31:15 +00:00
|
|
|
https://openjdk.org/jeps/427
|
2021-01-22 13:10:45 +00:00
|
|
|
|
2021-09-27 01:42:03 +00:00
|
|
|
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.
|
2021-01-22 13:10:45 +00:00
|
|
|
|
2022-07-11 14:10:14 +00:00
|
|
|
This was a preview feature (http://openjdk.java.net/jeps/12) in
|
2022-08-29 00:31:15 +00:00
|
|
|
OpenJDK 17 (JEP 406) and saw a second preview in OpenJDK 18 (JEP 420).
|
|
|
|
It reaches its third preview (JEP 427) in OpenJDK 19.
|
2021-01-22 13:10:45 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Record Patterns
|
|
|
|
===============
|
|
|
|
https://openjdk.org/jeps/405
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
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.
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
|
|
in OpenJDK 19 (JEP 405)
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Library Features
|
|
|
|
================
|
2021-09-27 01:42:03 +00:00
|
|
|
|
|
|
|
Vector API
|
|
|
|
==========
|
2022-07-11 14:10:14 +00:00
|
|
|
https://openjdk.org/jeps/338
|
|
|
|
https://openjdk.org/jeps/414
|
|
|
|
https://openjdk.org/jeps/417
|
2022-08-29 00:31:15 +00:00
|
|
|
https://openjdk.org/jeps/426
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
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.
|
2021-09-27 01:42:03 +00:00
|
|
|
|
|
|
|
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
2022-07-11 14:10:14 +00:00
|
|
|
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
|
2022-08-29 00:31:15 +00:00
|
|
|
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third and
|
|
|
|
OpenJDK 19 sees its fourth (JEP 426).
|
2021-09-27 01:42:03 +00:00
|
|
|
|
|
|
|
Foreign Function & Memory API
|
|
|
|
=============================
|
2022-07-11 14:10:14 +00:00
|
|
|
https://openjdk.org/jeps/412
|
|
|
|
https://openjdk.org/jeps/419
|
2022-08-29 00:31:15 +00:00
|
|
|
https://openjdk.org/jeps/424
|
2021-09-27 01:42:03 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
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).
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Virtual Threads
|
|
|
|
===============
|
|
|
|
https://openjdk.org/jeps/425
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
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.
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
|
|
in OpenJDK 19 (JEP 425)
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Structured Concurrency
|
|
|
|
======================
|
|
|
|
https://openjdk.org/jeps/428
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
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.
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
|
|
introduced in OpenJDK 19 (JEP 428).
|
2021-09-27 01:42:03 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Ports
|
|
|
|
=====
|
2022-07-11 14:10:14 +00:00
|
|
|
|
2022-08-29 00:31:15 +00:00
|
|
|
Linux/RISC-V Port
|
|
|
|
=================
|
|
|
|
https://openjdk.org/jeps/422
|
|
|
|
|
|
|
|
RISC-V is a free and open-source RISC instruction set architecture
|
|
|
|
(ISA) designed originally at the University of California, Berkeley,
|
|
|
|
and now developed collaboratively under the sponsorship of RISC-V
|
|
|
|
International. It is already supported by a wide range of language
|
|
|
|
toolchains. With the increasing availability of RISC-V hardware, a
|
|
|
|
port of the JDK would be valuable.
|