Update to jdk-24.0.2+12 (GA)
- Update release notes with features of JDK 24 Related: RHEL-120553
This commit is contained in:
parent
6877ce43a3
commit
c40cb590e9
1
.gitignore
vendored
1
.gitignore
vendored
@ -40,3 +40,4 @@
|
|||||||
/openjdk-21.0.8+9.tar.xz
|
/openjdk-21.0.8+9.tar.xz
|
||||||
/openjdk-22.0.2+9.tar.xz
|
/openjdk-22.0.2+9.tar.xz
|
||||||
/openjdk-23.0.2+7.tar.xz
|
/openjdk-23.0.2+7.tar.xz
|
||||||
|
/openjdk-24.0.2+12.tar.xz
|
||||||
|
|||||||
270
NEWS
270
NEWS
@ -3,7 +3,7 @@ Key:
|
|||||||
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
||||||
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
||||||
|
|
||||||
New in release OpenJDK 23.0.0 (2024-09-17):
|
New in release OpenJDK 24.0.0 (2025-03-18):
|
||||||
===========================================
|
===========================================
|
||||||
Major changes are listed below. Some changes may have been backported
|
Major changes are listed below. Some changes may have been backported
|
||||||
to earlier releases following their first appearance in OpenJDK 22
|
to earlier releases following their first appearance in OpenJDK 22
|
||||||
@ -19,6 +19,7 @@ Flexible Constructor Bodies
|
|||||||
============================
|
============================
|
||||||
https://openjdk.org/jeps/447
|
https://openjdk.org/jeps/447
|
||||||
https://openjdk.org/jeps/482
|
https://openjdk.org/jeps/482
|
||||||
|
https://openjdk.org/jeps/492
|
||||||
|
|
||||||
In constructors in the Java programming language, allow statements to
|
In constructors in the Java programming language, allow statements to
|
||||||
appear before an explicit constructor invocation, i.e., super(..) or
|
appear before an explicit constructor invocation, i.e., super(..) or
|
||||||
@ -29,9 +30,10 @@ methods are overridden.
|
|||||||
|
|
||||||
This was introduced as a preview language feature
|
This was introduced as a preview language feature
|
||||||
(http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 447) under the
|
(http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 447) under the
|
||||||
name "Statements before super(...)". It reaches a second preview in
|
name "Statements before super(...)". It reached a second preview in
|
||||||
OpenJDK 23 (JEP 482) with the addition of allowing fields to be
|
OpenJDK 23 (JEP 482) with the addition of allowing fields to be
|
||||||
initialized before invoking another constructor.
|
initialized before invoking another constructor. It reaches a third
|
||||||
|
preview in OpenJDK 24 (JEP 492).
|
||||||
|
|
||||||
Unnamed Patterns and Variables
|
Unnamed Patterns and Variables
|
||||||
==============================
|
==============================
|
||||||
@ -49,17 +51,20 @@ This feature is now final. It was a preview feature
|
|||||||
Primitive Types in Patterns, instanceof, and switch
|
Primitive Types in Patterns, instanceof, and switch
|
||||||
===================================================
|
===================================================
|
||||||
https://openjdk.org/jeps/455
|
https://openjdk.org/jeps/455
|
||||||
|
https://openjdk.org/jeps/488
|
||||||
|
|
||||||
Enhance pattern matching by allowing primitive type patterns in all
|
Enhance pattern matching by allowing primitive type patterns in all
|
||||||
pattern contexts, and extend instanceof and switch to work with all
|
pattern contexts, and extend instanceof and switch to work with all
|
||||||
primitive types.
|
primitive types.
|
||||||
|
|
||||||
This is a preview language feature (http://openjdk.java.net/jeps/12)
|
This is a preview language feature (http://openjdk.java.net/jeps/12)
|
||||||
introduced in OpenJDK 23 (JEP 455).
|
introduced in OpenJDK 23 (JEP 455) and having its second preview in
|
||||||
|
OpenJDK 24 (JEP 488).
|
||||||
|
|
||||||
Module Import Declarations
|
Module Import Declarations
|
||||||
==========================
|
==========================
|
||||||
https://openjdk.org/jeps/476
|
https://openjdk.org/jeps/476
|
||||||
|
https://openjdk.org/jeps/494
|
||||||
|
|
||||||
Enhance the Java programming language with the ability to succinctly
|
Enhance the Java programming language with the ability to succinctly
|
||||||
import all of the packages exported by a module. This simplifies the
|
import all of the packages exported by a module. This simplifies the
|
||||||
@ -67,7 +72,8 @@ reuse of modular libraries, but does not require the importing code to
|
|||||||
be in a module itself.
|
be in a module itself.
|
||||||
|
|
||||||
This is a preview language feature (http://openjdk.java.net/jeps/12)
|
This is a preview language feature (http://openjdk.java.net/jeps/12)
|
||||||
introduced in OpenJDK 23 (JEP 476).
|
introduced in OpenJDK 23 (JEP 476) and reaching a second preview in
|
||||||
|
OpenJDK 24 (JEP 494).
|
||||||
|
|
||||||
Library Features
|
Library Features
|
||||||
================
|
================
|
||||||
@ -98,17 +104,31 @@ java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
|
|||||||
preview took place in OpenJDK 20 (JEP 434) and a third and final
|
preview took place in OpenJDK 20 (JEP 434) and a third and final
|
||||||
preview in OpenJDK 21 (JEP 442).
|
preview in OpenJDK 21 (JEP 442).
|
||||||
|
|
||||||
|
Prepare to Restrict the Use of JNI
|
||||||
|
==================================
|
||||||
|
https://openjdk.org/jeps/472
|
||||||
|
|
||||||
|
Issue warnings about uses of the Java Native Interface (JNI) and
|
||||||
|
adjust the Foreign Function & Memory (FFM) API to issue warnings in a
|
||||||
|
consistent manner. All such warnings aim to prepare developers for a
|
||||||
|
future release that ensures integrity by default by uniformly
|
||||||
|
restricting JNI and the FFM API. Application developers can avoid both
|
||||||
|
current warnings and future restrictions by selectively enabling these
|
||||||
|
interfaces where essential using the --enable-native-access
|
||||||
|
command-line option.
|
||||||
|
|
||||||
Class-File API
|
Class-File API
|
||||||
==============
|
==============
|
||||||
https://openjdk.org/jeps/457
|
https://openjdk.org/jeps/457
|
||||||
https://openjdk.org/jeps/466
|
https://openjdk.org/jeps/466
|
||||||
|
https://openjdk.org/jeps/484
|
||||||
|
|
||||||
Provide a standard API for parsing, generating, and transforming Java
|
Provide a standard API for parsing, generating, and transforming Java
|
||||||
class files.
|
class files.
|
||||||
|
|
||||||
This is a preview library feature (http://openjdk.java.net/jeps/12)
|
This API is now finalised. It was introduced as a preview library
|
||||||
introduced in OpenJDK 22 (JEP 457) with a second preview in OpenJDK 23
|
feature (http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 457) with
|
||||||
(JEP 466).
|
a second preview in OpenJDK 23 (JEP 466).
|
||||||
|
|
||||||
Vector API
|
Vector API
|
||||||
==========
|
==========
|
||||||
@ -120,6 +140,7 @@ https://openjdk.org/jeps/438
|
|||||||
https://openjdk.org/jeps/448
|
https://openjdk.org/jeps/448
|
||||||
https://openjdk.org/jeps/460
|
https://openjdk.org/jeps/460
|
||||||
https://openjdk.org/jeps/469
|
https://openjdk.org/jeps/469
|
||||||
|
https://openjdk.org/jeps/489
|
||||||
|
|
||||||
Introduce an API to express vector computations that reliably compile
|
Introduce an API to express vector computations that reliably compile
|
||||||
at runtime to optimal vector hardware instructions on supported CPU
|
at runtime to optimal vector hardware instructions on supported CPU
|
||||||
@ -130,21 +151,22 @@ This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|||||||
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
|
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,
|
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third,
|
||||||
OpenJDK 19 a fourth (JEP 426), OpenJDK 20 (JEP 438) a fifth, OpenJDK
|
OpenJDK 19 a fourth (JEP 426), OpenJDK 20 (JEP 438) a fifth, OpenJDK
|
||||||
21 a sixth (JEP 448), OpenJDK 22 a seventh (JEP 460) and it reaches
|
21 a sixth (JEP 448), OpenJDK 22 a seventh (JEP 460), OpenJDK 23 an
|
||||||
its eighth in OpenJDK 23 (JEP 469).
|
eighth (JEP 469) and it reaches its ninth in OpenJDK 24 (JEP 489).
|
||||||
|
|
||||||
Stream Gatherers
|
Stream Gatherers
|
||||||
================
|
================
|
||||||
https://openjdk.org/jeps/461
|
https://openjdk.org/jeps/461
|
||||||
https://openjdk.org/jeps/473
|
https://openjdk.org/jeps/473
|
||||||
|
https://openjdk.org/jeps/485
|
||||||
|
|
||||||
Enhance the Stream API to support custom intermediate operations. This
|
Enhance the Stream API to support custom intermediate operations. This
|
||||||
will allow stream pipelines to transform data in ways that are not
|
will allow stream pipelines to transform data in ways that are not
|
||||||
easily achievable with the existing built-in intermediate operations.
|
easily achievable with the existing built-in intermediate operations.
|
||||||
|
|
||||||
This is a preview library feature (http://openjdk.java.net/jeps/12)
|
This API is now finalised. It was introduced as a preview library
|
||||||
introduced in OpenJDK 22 (JEP 461) with a second preview in OpenJDK 23
|
feature (http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 461) with
|
||||||
(JEP 473).
|
a second preview in OpenJDK 23 (JEP 473).
|
||||||
|
|
||||||
Structured Concurrency
|
Structured Concurrency
|
||||||
======================
|
======================
|
||||||
@ -153,6 +175,7 @@ https://openjdk.org/jeps/437
|
|||||||
https://openjdk.org/jeps/453
|
https://openjdk.org/jeps/453
|
||||||
https://openjdk.org/jeps/462
|
https://openjdk.org/jeps/462
|
||||||
https://openjdk.org/jeps/480
|
https://openjdk.org/jeps/480
|
||||||
|
https://openjdk.org/jeps/499
|
||||||
|
|
||||||
Simplify multithreaded programming by introducing an API for
|
Simplify multithreaded programming by introducing an API for
|
||||||
structured concurrency. Structured concurrency treats multiple tasks
|
structured concurrency. Structured concurrency treats multiple tasks
|
||||||
@ -164,28 +187,35 @@ This API was first introduced in incubation
|
|||||||
(https://openjdk.java.net/jeps/11) in OpenJDK 19 (JEP 428) and had a
|
(https://openjdk.java.net/jeps/11) in OpenJDK 19 (JEP 428) and had a
|
||||||
second round of incubation in OpenJDK 20 (JEP 437). It became a
|
second round of incubation in OpenJDK 20 (JEP 437). It became a
|
||||||
preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP
|
preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP
|
||||||
453), reached its second preview in OpenJDK 22 (JEP 462) and has
|
453), reached its second preview in OpenJDK 22 (JEP 462), had a third
|
||||||
a third preview in OpenJDK 23 (JEP 480).
|
preview in OpenJDK 23 (JEP 480) and reaches its fourth in OpenJDK 24
|
||||||
|
(JEP 499).
|
||||||
|
|
||||||
Implicitly Declared Classes and Instance Main Methods
|
Simple Source Files and Instance Main Methods
|
||||||
=====================================================
|
=============================================
|
||||||
https://openjdk.org/jeps/445
|
https://openjdk.org/jeps/445
|
||||||
https://openjdk.org/jeps/463
|
https://openjdk.org/jeps/463
|
||||||
https://openjdk.org/jeps/477
|
https://openjdk.org/jeps/477
|
||||||
|
https://openjdk.org/jeps/495
|
||||||
|
|
||||||
Evolve the Java language so that students can write their first
|
Evolve the Java programming language so that beginners can write their
|
||||||
programs without needing to understand language features designed for
|
first programs without needing to understand language features
|
||||||
large programs. Far from using a separate dialect of Java, students
|
designed for large programs. Far from using a separate dialect of the
|
||||||
can write streamlined declarations for single-class programs and then
|
language, beginners can write streamlined declarations for
|
||||||
seamlessly expand their programs to use more advanced features as
|
single-class programs and then seamlessly expand their programs to use
|
||||||
their skills grow.
|
more advanced features as their skills grow. Experienced developers
|
||||||
|
can likewise enjoy writing small programs succinctly, without the need
|
||||||
|
for constructs intended for programming in the large.
|
||||||
|
|
||||||
This library feature was introduced as a preview
|
This library feature was introduced as a preview
|
||||||
(http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 445) under the
|
(http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 445) under the
|
||||||
name "Unnamed Classes and Instance Main Methods". It reaches a second
|
name "Unnamed Classes and Instance Main Methods". It reached a second
|
||||||
preview in OpenJDK 22 (JEP 463) and a third in OpenJDK 23 (JEP 477)
|
preview in OpenJDK 22 (JEP 463) and a third in OpenJDK 23 (JEP 477)
|
||||||
under a new name, due to the move away from unnamed classes to an
|
under the new name, "Implicitly Declared Classes and Instance Main
|
||||||
implicitly declared name chosen by the host system.
|
Methods", due to the move away from unnamed classes to an implicitly
|
||||||
|
declared name chosen by the host system. It has a fourth preview in
|
||||||
|
OpenJDK 24 (JEP 495) with new terminology and a revised title, but
|
||||||
|
otherwise unchanged.
|
||||||
|
|
||||||
Scoped Values
|
Scoped Values
|
||||||
=============
|
=============
|
||||||
@ -193,6 +223,7 @@ https://openjdk.org/jeps/429
|
|||||||
https://openjdk.org/jeps/446
|
https://openjdk.org/jeps/446
|
||||||
https://openjdk.org/jeps/464
|
https://openjdk.org/jeps/464
|
||||||
https://openjdk.org/jeps/481
|
https://openjdk.org/jeps/481
|
||||||
|
https://openjdk.org/jeps/487
|
||||||
|
|
||||||
Introduce scoped values, which enable the sharing of immutable data
|
Introduce scoped values, which enable the sharing of immutable data
|
||||||
within and across threads. They are preferred to thread-local
|
within and across threads. They are preferred to thread-local
|
||||||
@ -201,8 +232,48 @@ variables, especially when using large numbers of virtual threads.
|
|||||||
This API was first introduced in incubation
|
This API was first introduced in incubation
|
||||||
(https://openjdk.java.net/jeps/11) in OpenJDK 20 (JEP 429). It became
|
(https://openjdk.java.net/jeps/11) in OpenJDK 20 (JEP 429). It became
|
||||||
a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP
|
a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP
|
||||||
446), reached its second preview in OpenJDK 22 (JEP 464) and a third
|
446), had a second preview in OpenJDK 22 (JEP 464), a third in OpenJDK
|
||||||
in OpenJDK 23 (JEP 481).
|
23 (JEP 481) and reaches its fourth in OpenJDK 24 (JEP 487).
|
||||||
|
|
||||||
|
Key Derivation Function API
|
||||||
|
===========================
|
||||||
|
https://openjdk.org/jeps/478
|
||||||
|
|
||||||
|
Introduce an API for Key Derivation Functions (KDFs), which are
|
||||||
|
cryptographic algorithms for deriving additional keys from a secret
|
||||||
|
key and other data.
|
||||||
|
|
||||||
|
This is a preview library feature (http://openjdk.java.net/jeps/12)
|
||||||
|
introduced in OpenJDK 24 (JEP 478).
|
||||||
|
|
||||||
|
Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
|
||||||
|
==================================================================
|
||||||
|
https://openjdk.org/jeps/496
|
||||||
|
|
||||||
|
Enhance the security of Java applications by providing an
|
||||||
|
implementation of the quantum-resistant Module-Lattice-Based
|
||||||
|
Key-Encapsulation Mechanism (ML-KEM). Key encapsulation mechanisms
|
||||||
|
(KEMs) are used to secure symmetric keys over insecure communication
|
||||||
|
channels using public key cryptography. ML-KEM is designed to be
|
||||||
|
secure against future quantum computing attacks. It has been
|
||||||
|
standardized by the United States National Institute of Standards and
|
||||||
|
Technology (NIST) in FIPS 203 [0].
|
||||||
|
|
||||||
|
[0] https://csrc.nist.gov/pubs/fips/203/final
|
||||||
|
|
||||||
|
Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
|
||||||
|
==================================================================
|
||||||
|
https://openjdk.org/jeps/497
|
||||||
|
|
||||||
|
Enhance the security of Java applications by providing an
|
||||||
|
implementation of the quantum-resistant Module-Lattice-Based Digital
|
||||||
|
Signature Algorithm (ML-DSA). Digital signatures are used to detect
|
||||||
|
unauthorized modifications to data and to authenticate the identity of
|
||||||
|
signatories. ML-DSA is designed to be secure against future quantum
|
||||||
|
computing attacks. It has been standardized by the United States
|
||||||
|
National Institute of Standards and Technology (NIST) in FIPS 204 [0].
|
||||||
|
|
||||||
|
[0] https://csrc.nist.gov/pubs/fips/204/final
|
||||||
|
|
||||||
Virtual Machine Enhancements
|
Virtual Machine Enhancements
|
||||||
============================
|
============================
|
||||||
@ -217,12 +288,85 @@ critical regions.
|
|||||||
|
|
||||||
ZGC: Generational Mode by Default
|
ZGC: Generational Mode by Default
|
||||||
=================================
|
=================================
|
||||||
|
https://openjdk.org/jeps/439
|
||||||
https://openjdk.org/jeps/474
|
https://openjdk.org/jeps/474
|
||||||
|
|
||||||
Switch the default mode of the Z Garbage Collector (ZGC) to the
|
Switch the default mode of the Z Garbage Collector (ZGC) to the
|
||||||
generational mode. Deprecate the non-generational mode, with the
|
generational mode. Deprecate the non-generational mode, with the
|
||||||
intent to remove it in a future release.
|
intent to remove it in a future release.
|
||||||
|
|
||||||
|
Late Barrier Expansion for G1
|
||||||
|
=============================
|
||||||
|
https://openjdk.org/jeps/475
|
||||||
|
|
||||||
|
Simplify the implementation of the G1 garbage collector's barriers,
|
||||||
|
which record information about application memory accesses, by
|
||||||
|
shifting their expansion from early in the C2 JIT's compilation
|
||||||
|
pipeline to later.
|
||||||
|
|
||||||
|
Ahead-of-Time Class Loading & Linking
|
||||||
|
=====================================
|
||||||
|
https://openjdk.org/jeps/483
|
||||||
|
|
||||||
|
Improve startup time by making the classes of an application instantly
|
||||||
|
available, in a loaded and linked state, when the HotSpot Java Virtual
|
||||||
|
Machine starts. Achieve this by monitoring the application during one
|
||||||
|
run and storing the loaded and linked forms of all classes in a cache
|
||||||
|
for use in subsequent runs. Lay a foundation for future improvements
|
||||||
|
to both startup and warmup time.
|
||||||
|
|
||||||
|
Using this feature requires a three stage process:
|
||||||
|
|
||||||
|
1. Populate the Ahead-of-Time configuration data with a training run
|
||||||
|
of the application using the options `-XX:AOTMode=record
|
||||||
|
-XX:AOTConfiguration=<config name>` where `<config name>` is the
|
||||||
|
configuration reference to use in #2.
|
||||||
|
|
||||||
|
2. Create the Ahead-of-Time cache using the options
|
||||||
|
`-XX:AOTMode=create -XX:AOTConfiguration=<config name>
|
||||||
|
-XX:AOTCache=<cache name>` where `<config name>` is the configuration
|
||||||
|
reference from #1 and `<cache name>` is the cache reference to use in
|
||||||
|
later runs.
|
||||||
|
|
||||||
|
3. When running the application in testing or production, use the
|
||||||
|
option `-XX:AOTCache=<cache name>` to run the application with the
|
||||||
|
cache generated in #2.
|
||||||
|
|
||||||
|
Synchronize Virtual Threads without Pinning
|
||||||
|
===========================================
|
||||||
|
https://openjdk.org/jeps/491
|
||||||
|
|
||||||
|
Improve the scalability of Java code that uses synchronized methods
|
||||||
|
and statements by arranging for virtual threads that block in such
|
||||||
|
constructs to release their underlying platform threads for use by
|
||||||
|
other virtual threads. This will eliminate nearly all cases of virtual
|
||||||
|
threads being pinned to platform threads, which severely restricts the
|
||||||
|
number of virtual threads available to handle an application's
|
||||||
|
workload.
|
||||||
|
|
||||||
|
Generational Shenandoah
|
||||||
|
=======================
|
||||||
|
https://openjdk.org/jeps/404
|
||||||
|
|
||||||
|
Enhance the Shenandoah garbage collector with experimental
|
||||||
|
generational collection capabilities to improve sustainable
|
||||||
|
throughput, load-spike resilience, and memory utilization.
|
||||||
|
|
||||||
|
This is an experimental feature that needs to be explicitly enabled
|
||||||
|
with -XX:+UnlockExperimentalVMOptions
|
||||||
|
-XX:ShenandoahGCMode=generational
|
||||||
|
|
||||||
|
Compact Object Headers
|
||||||
|
======================
|
||||||
|
https://openjdk.org/jeps/450
|
||||||
|
|
||||||
|
Reduce the size of object headers in the HotSpot JVM from between 96
|
||||||
|
and 128 bits down to 64 bits on 64-bit architectures. This will reduce
|
||||||
|
heap size, improve deployment density, and increase data locality.
|
||||||
|
|
||||||
|
This is an experimental feature that needs to be explicitly enabled
|
||||||
|
with -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders
|
||||||
|
|
||||||
Tools
|
Tools
|
||||||
=====
|
=====
|
||||||
|
|
||||||
@ -243,6 +387,18 @@ https://openjdk.org/jeps/467
|
|||||||
Enable JavaDoc documentation comments to be written in Markdown rather
|
Enable JavaDoc documentation comments to be written in Markdown rather
|
||||||
than solely in a mixture of HTML and JavaDoc @-tags.
|
than solely in a mixture of HTML and JavaDoc @-tags.
|
||||||
|
|
||||||
|
Linking Run-Time Images without JMODs
|
||||||
|
=====================================
|
||||||
|
https://openjdk.org/jeps/493
|
||||||
|
|
||||||
|
Reduce the size of the JDK by approximately 25% by enabling the jlink
|
||||||
|
tool to create custom run-time images without using the JDK's JMOD
|
||||||
|
files.
|
||||||
|
|
||||||
|
This feature must be enabled when the JDK is built using the
|
||||||
|
--enable-linkable-runtime option. It will not be enabled by default,
|
||||||
|
and some JDK vendors may choose not to enable it.
|
||||||
|
|
||||||
DEPRECATIONS
|
DEPRECATIONS
|
||||||
============
|
============
|
||||||
|
|
||||||
@ -258,6 +414,45 @@ encourage library developers to migrate from sun.misc.Unsafe to
|
|||||||
supported replacements, so that applications can migrate smoothly to
|
supported replacements, so that applications can migrate smoothly to
|
||||||
modern JDK releases.
|
modern JDK releases.
|
||||||
|
|
||||||
|
Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
|
||||||
|
=========================================================
|
||||||
|
https://openjdk.org/jeps/498
|
||||||
|
|
||||||
|
Issue a warning at run time on the first occasion that any
|
||||||
|
memory-access method in sun.misc.Unsafe is invoked. All of these
|
||||||
|
unsupported methods were terminally deprecated in JDK 23 (see JEP 471
|
||||||
|
above). They have been superseded by standard APIs, namely the
|
||||||
|
VarHandle API (JEP 193, OpenJDK 9) and the Foreign Function & Memory
|
||||||
|
API (JEP 454, OpenJDK 22). We strongly encourage library developers to
|
||||||
|
migrate from sun.misc.Unsafe to supported replacements, so that
|
||||||
|
applications can migrate smoothly to modern JDK releases.
|
||||||
|
|
||||||
|
Permanently Disable the Security Manager
|
||||||
|
========================================
|
||||||
|
https://openjdk.org/jeps/486
|
||||||
|
|
||||||
|
The Security Manager has not been the primary means of securing
|
||||||
|
client-side Java code for many years, it has rarely been used to
|
||||||
|
secure server-side code, and it is costly to maintain. We therefore
|
||||||
|
deprecated it for removal in OpenJDK 17 via JEP 411 (2021). As the
|
||||||
|
next step toward removing the Security Manager, we will revise the
|
||||||
|
Java Platform specification so that developers cannot enable it and
|
||||||
|
other Platform classes do not refer to it. This change will have no
|
||||||
|
impact on the vast majority of applications, libraries, and tools. We
|
||||||
|
will remove the Security Manager API in a future release.
|
||||||
|
|
||||||
|
Deprecate the 32-bit x86 Port for Removal
|
||||||
|
=========================================
|
||||||
|
https://openjdk.org/jeps/501
|
||||||
|
|
||||||
|
Deprecate the 32-bit x86 port, with the intent to remove it in a
|
||||||
|
future release. This will thereby deprecate the Linux 32-bit x86 port,
|
||||||
|
which is the only 32-bit x86 port remaining in the JDK. It will also,
|
||||||
|
effectively, deprecate any remaining downstream 32-bit x86
|
||||||
|
ports. After the 32-bit x86 port is removed, the architecture-agnostic
|
||||||
|
Zero port will be the only way to run Java programs on 32-bit x86
|
||||||
|
processors.
|
||||||
|
|
||||||
REMOVALS
|
REMOVALS
|
||||||
========
|
========
|
||||||
|
|
||||||
@ -274,3 +469,22 @@ OpenJDK 23 (JEP 465) and the feature is no longer present. See [0]
|
|||||||
for further explanation.
|
for further explanation.
|
||||||
|
|
||||||
[0] https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html
|
[0] https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html
|
||||||
|
|
||||||
|
Remove the Windows 32-bit x86 Port
|
||||||
|
==================================
|
||||||
|
https://openjdk.org/jeps/449
|
||||||
|
https://openjdk.org/jeps/479
|
||||||
|
|
||||||
|
Remove the source code and build support for the Windows 32-bit x86
|
||||||
|
port. This port was deprecated for removal in JDK 21 by JEP 449 with
|
||||||
|
the express intent to remove it in a future release.
|
||||||
|
|
||||||
|
ZGC: Remove the Non-Generational Mode
|
||||||
|
=====================================
|
||||||
|
https://openjdk.org/jeps/439
|
||||||
|
https://openjdk.org/jeps/474
|
||||||
|
https://openjdk.org/jeps/490
|
||||||
|
|
||||||
|
Remove the non-generational mode of the Z Garbage Collector (ZGC),
|
||||||
|
keeping the generational mode as the default for ZGC (see JEP 439 &
|
||||||
|
474).
|
||||||
|
|||||||
@ -312,7 +312,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# New Version-String scheme-style defines
|
# New Version-String scheme-style defines
|
||||||
%global featurever 23
|
%global featurever 24
|
||||||
%global fakefeaturever 25
|
%global fakefeaturever 25
|
||||||
%global interimver 0
|
%global interimver 0
|
||||||
%global updatever 2
|
%global updatever 2
|
||||||
@ -375,7 +375,7 @@
|
|||||||
%global origin_nice OpenJDK
|
%global origin_nice OpenJDK
|
||||||
%global top_level_dir_name %{vcstag}
|
%global top_level_dir_name %{vcstag}
|
||||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||||
%global buildver 7
|
%global buildver 12
|
||||||
%global rpmrelease 1
|
%global rpmrelease 1
|
||||||
# Settings used by the portable build
|
# Settings used by the portable build
|
||||||
%global portablerelease 1
|
%global portablerelease 1
|
||||||
@ -2478,6 +2478,11 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 05 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:24.0.2.0.12-1
|
||||||
|
- Update to jdk-24.0.2+12 (GA)
|
||||||
|
- Update release notes with features of JDK 24
|
||||||
|
- Related: RHEL-120553
|
||||||
|
|
||||||
* Sat Oct 25 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:23.0.2.0.7-1
|
* Sat Oct 25 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:23.0.2.0.7-1
|
||||||
- Update to jdk-23.0.2+7 (GA)
|
- Update to jdk-23.0.2+7 (GA)
|
||||||
- Update release notes with features of JDK 23
|
- Update release notes with features of JDK 23
|
||||||
|
|||||||
2
sources
2
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||||
SHA512 (openjdk-23.0.2+7.tar.xz) = 6cab15914f7c61acd905347b7d6e4fe682401248294afcd972b2b576c69ae0d06b2a335089a57329e78962b83fabbc08d3463994bfdcd28dec5a1c3c5167d660
|
SHA512 (openjdk-24.0.2+12.tar.xz) = 92dc174ad4fedb1138bc183a390a85a76fcc3aa1508d4d00f49012b28a8e3a5a1739b349f0fb03dedc6f7977eafa472c5f7608c61ae656c0ecf795b9e96a95ae
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user