From f9b6975315f5c840e3a923e28eb0d168dc47a542 Mon Sep 17 00:00:00 2001 From: Andrew Hughes Date: Sat, 25 Oct 2025 01:23:29 +0100 Subject: [PATCH] Update to jdk-23.0.2+7 (GA) - Update release notes with features of JDK 23 Related: RHEL-120553 --- .gitignore | 1 + NEWS | 131 +++++++++++++++++++++++++++++++++---------- java-25-openjdk.spec | 11 +++- sources | 2 +- 4 files changed, 112 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index e2d328c..552f25c 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /openjdk-21.0.8+8-ea.tar.xz /openjdk-21.0.8+9.tar.xz /openjdk-22.0.2+9.tar.xz +/openjdk-23.0.2+7.tar.xz diff --git a/NEWS b/NEWS index 196660d..3913688 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ 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 22.0.0 (2024-03-19): +New in release OpenJDK 23.0.0 (2024-09-17): =========================================== Major changes are listed below. Some changes may have been backported to earlier releases following their first appearance in OpenJDK 22 @@ -15,16 +15,23 @@ NEW FEATURES Language Features ================= -Statements before super(...) +Flexible Constructor Bodies ============================ https://openjdk.org/jeps/447 +https://openjdk.org/jeps/482 -In constructors in the Java programming language, allow statements -that do not reference the instance being created to appear before an -explicit constructor invocation (i.e. super()). +In constructors in the Java programming language, allow statements to +appear before an explicit constructor invocation, i.e., super(..) or +this(..). The statements cannot reference the instance under +construction, but they can initialize its fields. Initializing fields +before invoking another constructor makes a class more reliable when +methods are overridden. -This is a preview language feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 22 (JEP 447). +This was introduced as a preview language feature +(http://openjdk.java.net/jeps/12) in OpenJDK 22 (JEP 447) under the +name "Statements before super(...)". It reaches a second preview in +OpenJDK 23 (JEP 482) with the addition of allowing fields to be +initialized before invoking another constructor. Unnamed Patterns and Variables ============================== @@ -39,19 +46,28 @@ an underscore character, _. This feature is now final. It was a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 443). -String Templates -================ -https://openjdk.org/jeps/430 -https://openjdk.org/jeps/459 +Primitive Types in Patterns, instanceof, and switch +=================================================== +https://openjdk.org/jeps/455 -Enhance the Java programming language with string templates. String -templates complement Java's existing string literals and text blocks -by coupling literal text with embedded expressions and template -processors to produce specialized results. +Enhance pattern matching by allowing primitive type patterns in all +pattern contexts, and extend instanceof and switch to work with all +primitive types. -This is a preview feature (http://openjdk.java.net/jeps/12) introduced -in OpenJDK 21 (JEP 430) and reaching its second preview in OpenJDK 22 -(JEP 459). +This is a preview language feature (http://openjdk.java.net/jeps/12) +introduced in OpenJDK 23 (JEP 455). + +Module Import Declarations +========================== +https://openjdk.org/jeps/476 + +Enhance the Java programming language with the ability to succinctly +import all of the packages exported by a module. This simplifies the +reuse of modular libraries, but does not require the importing code to +be in a module itself. + +This is a preview language feature (http://openjdk.java.net/jeps/12) +introduced in OpenJDK 23 (JEP 476). Library Features ================ @@ -85,12 +101,14 @@ preview in OpenJDK 21 (JEP 442). Class-File API ============== https://openjdk.org/jeps/457 +https://openjdk.org/jeps/466 Provide a standard API for parsing, generating, and transforming Java class files. This is a preview library feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 22 (JEP 457). +introduced in OpenJDK 22 (JEP 457) with a second preview in OpenJDK 23 +(JEP 466). Vector API ========== @@ -101,6 +119,7 @@ https://openjdk.org/jeps/426 https://openjdk.org/jeps/438 https://openjdk.org/jeps/448 https://openjdk.org/jeps/460 +https://openjdk.org/jeps/469 Introduce an API to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU @@ -111,19 +130,21 @@ 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), OpenJDK 20 (JEP 438) a fifth, OpenJDK -21 a sixth (JEP 448) and it reaches its seventh in OpenJDK 22 (JEP -460). +21 a sixth (JEP 448), OpenJDK 22 a seventh (JEP 460) and it reaches +its eighth in OpenJDK 23 (JEP 469). Stream Gatherers ================ https://openjdk.org/jeps/461 +https://openjdk.org/jeps/473 Enhance the Stream API to support custom intermediate operations. This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations. This is a preview library feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 22 (JEP 461). +introduced in OpenJDK 22 (JEP 461) with a second preview in OpenJDK 23 +(JEP 473). Structured Concurrency ====================== @@ -131,6 +152,7 @@ https://openjdk.org/jeps/428 https://openjdk.org/jeps/437 https://openjdk.org/jeps/453 https://openjdk.org/jeps/462 +https://openjdk.org/jeps/480 Simplify multithreaded programming by introducing an API for structured concurrency. Structured concurrency treats multiple tasks @@ -142,12 +164,14 @@ This API was first introduced in incubation (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 preview feature (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP -453) and reaches its second preview in OpenJDK 22 (JEP 462). +453), reached its second preview in OpenJDK 22 (JEP 462) and has +a third preview in OpenJDK 23 (JEP 480). Implicitly Declared Classes and Instance Main Methods ===================================================== https://openjdk.org/jeps/445 https://openjdk.org/jeps/463 +https://openjdk.org/jeps/477 Evolve the Java language so that students can write their first programs without needing to understand language features designed for @@ -159,24 +183,26 @@ their skills grow. This library feature was introduced as a preview (http://openjdk.java.net/jeps/12) in OpenJDK 21 (JEP 445) under the name "Unnamed Classes and Instance Main Methods". It reaches a second -preview in OpenJDK 22 (JEP 463) under a new name, due to the move away -from unnamed classes to an implicitly declared name chosen by the host -system. +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 +implicitly declared name chosen by the host system. Scoped Values ============= https://openjdk.org/jeps/429 https://openjdk.org/jeps/446 https://openjdk.org/jeps/464 +https://openjdk.org/jeps/481 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 API was first introduced in incubation -(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 -446) and reaches its second preview in OpenJDK 22 (JEP 464). +(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 +446), reached its second preview in OpenJDK 22 (JEP 464) and a third +in OpenJDK 23 (JEP 481). Virtual Machine Enhancements ============================ @@ -189,6 +215,14 @@ Reduce latency by implementing region pinning in G1, so that garbage collection need not be disabled during Java Native Interface (JNI) critical regions. +ZGC: Generational Mode by Default +================================= +https://openjdk.org/jeps/474 + +Switch the default mode of the Z Garbage Collector (ZGC) to the +generational mode. Deprecate the non-generational mode, with the +intent to remove it in a future release. + Tools ===== @@ -201,3 +235,42 @@ supplied as multiple files of Java source code. This will make the transition from small programs to larger ones more gradual, enabling developers to choose whether and when to go to the trouble of configuring a build tool. + +Markdown Documentation Comments +=============================== +https://openjdk.org/jeps/467 + +Enable JavaDoc documentation comments to be written in Markdown rather +than solely in a mixture of HTML and JavaDoc @-tags. + +DEPRECATIONS +============ + +Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal +================================================================== +https://openjdk.org/jeps/471 + +Deprecate the memory-access methods in sun.misc.Unsafe for removal in +a future release. These unsupported methods 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. + +REMOVALS +======== + +String Templates +================ +https://openjdk.org/jeps/430 +https://openjdk.org/jeps/459 +https://openjdk.org/jeps/465 + +This was a preview feature (http://openjdk.java.net/jeps/12) +introduced in OpenJDK 21 (JEP 430) with a second preview in OpenJDK 22 +(JEP 459). A third preview was proposed but ultimately withdrawn for +OpenJDK 23 (JEP 465) and the feature is no longer present. See [0] +for further explanation. + +[0] https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html diff --git a/java-25-openjdk.spec b/java-25-openjdk.spec index a569d98..99b33d1 100644 --- a/java-25-openjdk.spec +++ b/java-25-openjdk.spec @@ -312,7 +312,7 @@ %endif # New Version-String scheme-style defines -%global featurever 22 +%global featurever 23 %global fakefeaturever 25 %global interimver 0 %global updatever 2 @@ -375,10 +375,10 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 9 +%global buildver 7 %global rpmrelease 1 # Settings used by the portable build -%global portablerelease 2 +%global portablerelease 1 # Portable suffix differs between RHEL and CentOS %if 0%{?centos} == 0 %global portablesuffix %{?pkgos:el7_9}%{!?pkgos:el8} @@ -2478,6 +2478,11 @@ exit 0 %endif %changelog +* Sat Oct 25 2025 Andrew Hughes - 1:23.0.2.0.7-1 +- Update to jdk-23.0.2+7 (GA) +- Update release notes with features of JDK 23 +- Related: RHEL-120553 + * Tue Sep 23 2025 Andrew Hughes - 1:22.0.2.0.9-1 - Update to jdk-22.0.2+9 (GA) - Update release notes with features of JDK 22 diff --git a/sources b/sources index f6f9bc9..281d27e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30 -SHA512 (openjdk-22.0.2+9.tar.xz) = 960746381f56cb516a2298f75dbf877554b59e73752dc29b040b8629b153174d2ea2f612d3479b511aaac293e4d336c798a58fd1ba4d2b9d5933899f64d04313 +SHA512 (openjdk-23.0.2+7.tar.xz) = 6cab15914f7c61acd905347b7d6e4fe682401248294afcd972b2b576c69ae0d06b2a335089a57329e78962b83fabbc08d3463994bfdcd28dec5a1c3c5167d660