java

JDK 19.0.2 Release Notes

Java™ SE Development Kit 19.0.2 (JDK 19.0.2)

January 17, 2023

The full version string for this update release is 19.0.2+7 (where "+" means "build"). The version number is 19.0.2.

 

IANA TZ Data 2022d, 2022e, 2022f

JDK 19.0.2 contains IANA time zone data 2022d, 2022e, 2022f.
  • Palestine transitions are now Saturdays at 02:00.
  • Simplify three Ukraine zones into one.
  • Jordan and Syria switch from +02/+03 with DST to year-round +03.
  • Mexico will no longer observe DST except near the US border.
  • Chihuahua moves to year-round -06 on 2022-10-30.
  • Fiji no longer observes DST.
  • Move links to 'backward'.
  • In vanguard form, GMT is now a Zone and Etc/GMT a link.
  • zic now supports links to links, and vanguard form uses this.
  • Simplify four Ontario zones.
  • Fix a Y2438 bug when reading TZif data.
  • Enable 64-bit time_t on 32-bit glibc platforms.
  • Omit large-file support when no longer needed.
  • In C code, use some C23 features if available.
  • Remove no-longer-needed workaround for Qt bug 53071.
For more information, refer to Timezone Data Versions in the JRE Software.

 

Security Baselines

The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 19.0.2 are specified in the following table:

JRE Family Version JRE Security Baseline (Full Version String)
1919.0.2+7
1717.0.6+9
1111.0.18+9
88u361-b09

 

Keeping the JDK up to Date

Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.

Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 19.0.2) be used after the next critical patch update scheduled for April 18, 2023.

 

New Features

security-libs/javax.net.ssl
 DTLS Resumption Uses HelloVerifyRequest Messages (JDK-8287411 (not public))

With this fix the SunJSSE DTLS implementation will by default exchange cookies for all handshakes (new and resumed) unless the System property jdk.tls.enableDtlsResumeCookie is false. The property only affects the cookie exchange for resumption.

 

Other Notes

javafx/fxml
 FXML JavaScript Engine Disabled by Default (JDK-8294779 (not public))

The “JavaScript script engine” for FXML is now disabled by default. Any .fxml file that has a "javascript" Processing Instruction (PI) will no longer load by default, and an exception will be thrown.

If the JDK has a JavaScript script engine, it can be enabled by setting the system property: -Djavafx.allowjs=true

 

Bug Fixes

This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

Issues fixed in 19.0.2:
# JBS Component Summary
1JDK-8296496client-libsOverzealous check in sizecalc.h prevents large memory allocation
2JDK-8022403client-libs/2dsun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
3JDK-8297153client-libs/2dsun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again
4JDK-8297241client-libs/2dUpdate sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
5JDK-8297451core-libs/java.langProcessHandleImpl should assert privilege when modifying reaper thread
6JDK-8292969core-libs/java.util.concurrentBad Thread Utilization in ForkJoinPool
7JDK-8294307core-libs/java.util:i18nISO 4217 Amendment 173 Update
8JDK-8291633performance/hotspotBuild failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
9JDK-8290781hotspot/compilerSegfault at PhaseIdealLoop::clone_loop_handle_data_uses
10JDK-8286314hotspot/compilerTrampoline not created for far runtime targets outside small CodeCache
11JDK-8291775hotspot/compilerC2: assert(r != __null && r->is_Region()) failed: this phi must have a region
12JDK-8290711hotspot/compilerassert(false) failed: infinite loop in PhaseIterGVN::optimize
13JDK-8291599hotspot/compilerAssertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
14JDK-8290705hotspot/compilerStringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
15JDK-8290529hotspot/compilerC2: assert(BoolTest(btest).is_canonical()) failure
16JDK-8293816hotspot/compilerCI: ciBytecodeStream::get_klass() is not consistent
17JDK-8293044hotspot/compilerC1: Missing access check on non-accessible class
18JDK-8292158hotspot/compilerAES-CTR cipher state corruption with AVX-512
19JDK-8290451hotspot/compilerIncorrect result when switching to C2 OSR compilation from C1
20JDK-8294538hotspot/compilermissing is_unloading() check in SharedRuntime::fixup_callers_callsite()
21JDK-8285835hotspot/compilerSIGSEGV in PhaseIdealLoop::build_loop_late_post_work
22JDK-8290964hotspot/compilerC2 compilation fails with assert "non-reduction loop contains reduction nodes"
23JDK-8296733hotspot/jfrJFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
24JDK-8296970hotspot/runtimeRemove sysThreadAvailableStackWithSlack from hotspot-symbols
25JDK-8293701core-svc/toolsjdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
26JDK-8293578tools/javacDuplicate ldc generated by javac
27JDK-8293348tools/javacA false cyclic inheritance error reported
28JDK-8292756tools/javacjava.lang.AssertionError at at jdk.compiler/com.sun.tools.javac.code.Scope$ScopeImpl.leave(Scope.java:386)