-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3404 from OpenLiberty/staging
Publish 23.0.0.10 release post
- Loading branch information
Showing
2 changed files
with
166 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
--- | ||
layout: post | ||
title: "Support for Java 21 in Open Liberty 23.0.0.10" | ||
# Do NOT change the categories section | ||
categories: blog | ||
author_picture: https://avatars3.githubusercontent.com/lauracowen | ||
author_github: https://github.com/lauracowen | ||
seo-title: Support for Java 21 in Open Liberty 23.0.0.10 - OpenLiberty.io | ||
seo-description: Java 21 support, the first long-term support release since Java 17 two years ago. Try it now. | ||
blog_description: Java 21 support, the first long-term support release since Java 17 two years ago. Try it now. | ||
open-graph-image: https://openliberty.io/img/twitter_card.jpg | ||
open-graph-image-alt: Open Liberty Logo | ||
--- | ||
= Support for Java 21 in Open Liberty 23.0.0.10 | ||
Laura Cowen <https://github.com/lauracowen> | ||
:imagesdir: / | ||
:url-prefix: | ||
:url-about: / | ||
//Blank line here is necessary before starting the body of the post. | ||
|
||
Java 21 is finally here! Java 21 is the first long-term support (LTS) release since Java 17 was released two years ago. It offers some new functionality and changes that you’ll want to check out for yourself. In particular, there's the introduction of virtual threads. | ||
|
||
In this release of Open Liberty, we also have an update to the `featureUtility` command; the command now verifies feature authenticity by default when you install a new feature into Liberty. | ||
|
||
In link:{url-about}[Open Liberty] 23.0.0.10: | ||
|
||
* <<java21, Support for Java 21 in Open Liberty>> | ||
* <<feature, featureUtility now verifies feature signatures by default>> | ||
|
||
View the list of fixed bugs in link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A230010+label%3A%22release+bug%22[23.0.0.10]. | ||
|
||
Check out link:{url-prefix}/blog/?search=release&search!=beta[previous Open Liberty GA release blog posts]. | ||
|
||
|
||
[#run] | ||
|
||
== Develop and run your apps using 23.0.0.10 | ||
|
||
If you're using link:{url-prefix}/guides/maven-intro.html[Maven], include the following in your `pom.xml` file: | ||
|
||
[source,xml] | ||
---- | ||
<plugin> | ||
<groupId>io.openliberty.tools</groupId> | ||
<artifactId>liberty-maven-plugin</artifactId> | ||
<version>3.8.2</version> | ||
</plugin> | ||
---- | ||
|
||
Or for link:{url-prefix}/guides/gradle-intro.html[Gradle], include the following in your `build.gradle` file: | ||
|
||
[source,gradle] | ||
---- | ||
buildscript { | ||
repositories { | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.6.2' | ||
} | ||
} | ||
apply plugin: 'liberty' | ||
---- | ||
|
||
Or if you're using link:{url-prefix}/docs/latest/container-images.html[container images]: | ||
|
||
[source] | ||
---- | ||
FROM icr.io/appcafe/open-liberty | ||
---- | ||
|
||
Or take a look at our link:{url-prefix}/start/[Downloads page]. | ||
|
||
If you're using link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA], link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code], or link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE], try our open source link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty developer tools] for efficient development, testing, debugging, and application management, all within your IDE. | ||
|
||
[link=https://stackoverflow.com/tags/open-liberty] | ||
image::img/blog/blog_btn_stack.svg[Ask a question on Stack Overflow, align="center"] | ||
|
||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/26423 | ||
// Contact/Reviewer: gjwatts | ||
// // // // // // // // | ||
[#java21] | ||
== Support for Java 21 | ||
// The following excerpt for issue https://github.com/OpenLiberty/open-liberty/issues/26192 was found in 2023-09-26-23.0.0.10-beta.adoc. | ||
// ------ <Excerpt From Previous Post: Start> ------ | ||
// Contact/Reviewer: gjwatts | ||
// // // // // // // // | ||
|
||
|
||
Try out the new changes in Java 21 now and test your applications, microservices, and runtime environments. | ||
|
||
To run Open Liberty with Java 21: | ||
|
||
1. Download and install link:https://openliberty.io/start/#runtime_releases[Open Liberty 23.0.0.10], or later. | ||
2. Download the latest release of Java 21 from link:https://adoptium.net/temurin/releases/?version=21[adoptium.net]. | ||
3. Edit your Open Liberty runtime link:/docs/latest/reference/config/server-configuration-overview.html#server-env[server.env file] to point `JAVA_HOME` to your Java 21 installation. | ||
4. Start testing! | ||
|
||
Here are some highlights of the changes between Java 18 and Java 21: | ||
|
||
* 400: link:https://openjdk.java.net/jeps/400[UTF-8 by Default] | ||
* 408: link:https://openjdk.java.net/jeps/408[Simple Web Server] | ||
* 413: link:https://openjdk.java.net/jeps/413[Code Snippets in Java API Documentation] | ||
* 416: link:https://openjdk.java.net/jeps/416[Reimplement Core Reflection with Method Handles] | ||
* 418: link:https://openjdk.java.net/jeps/418[Internet-Address Resolution SPI] | ||
* 421: link:https://openjdk.java.net/jeps/421[Deprecate Finalization for Removal] | ||
* 422: link:https://openjdk.org/jeps/422[Linux/RISC-V Port] | ||
* 431: link:https://openjdk.org/jeps/431[Sequenced Collections] | ||
* 439: link:https://openjdk.org/jeps/439[Generational ZGC] | ||
* 440: link:https://openjdk.org/jeps/440[Record Patterns] | ||
* 441: link:https://openjdk.org/jeps/441[Pattern Matching for switch] | ||
* 449: link:https://openjdk.org/jeps/449[Deprecate the Windows 32-bit x86 Port for Removal] | ||
* 451: link:https://openjdk.org/jeps/451[Prepare to Disallow the Dynamic Loading of Agents] | ||
* 452: link:https://openjdk.org/jeps/452[Key Encapsulation Mechanism API] | ||
|
||
But perhaps the most anticipated one of all is the introduction of virtual threads in Java 21: | ||
|
||
* 444: link:https://openjdk.org/jeps/444[Virtual Threads] | ||
|
||
Virtual threads were designed to provide higher throughput for running tasks that spend most of their time blocked, like waiting for I/O operations. Will the impact of virtual threads live up to the anticipation? Find out for yourself by trying them out in your applications that run on the best Java runtime, Open Liberty! | ||
|
||
For more information on Java 21, see: | ||
|
||
* link:https://jdk.java.net/21/release-notes[Java 21 release notes] | ||
* link:https://docs.oracle.com/en/java/javase/21/docs/api/index.html[API Javadoc page] | ||
* link:https://docs.oracle.com/en/java/javase/21/migrate/getting-started.html[migration guide] | ||
|
||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||
|
||
|
||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/26535 | ||
// Contact/Reviewer: jjiwooLim | ||
// // // // // // // // | ||
[#feature] | ||
== featureUtility now verifies feature signatures by default | ||
|
||
The `featureUtility` command now verifies feature signatures before installing the feature into the Liberty runtime. It identifies whether the feature originated from the Liberty development team or is a third-party user feature. | ||
|
||
Previously, the `featureUtility` tool only verified checksums. While checksums are essential for integrity (showing that the file has not been tampered with), verifying checksums did not ensure the authenticity of downloaded files. | ||
|
||
We've now implemented an additional step in the process of verifying feature signatures to check both the authenticity and integrity of features that are downloaded from the Maven Central repository. | ||
|
||
When running the `featureUtility` command: | ||
|
||
* The default behavior is now `--verify=enforce`, meaning that it verifies all specified Liberty features. | ||
* To keep the old behavior instead, you can skip the verification process by using the `--verify=skip` parameter. | ||
* Alternatively, you can set the verification option through environment variables or a `featureUtility.properties` file. | ||
|
||
For more information, see: | ||
|
||
* link:/docs/latest/reference/command/featureUtility-installFeature.html#_options[featureUtility installFeature command docs] | ||
* link:/docs/latest/reference/command/featureUtility-installServerFeatures.html[featureUtility installServerFeature command docs] | ||
* link:/docs/latest/reference/command/featureUtility-commands.html[featureUtility commands] | ||
|
||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||
|
||
== Get Open Liberty 23.0.0.10 now | ||
|
||
Available through <<run,Maven, Gradle, Docker, and as a downloadable archive>>. |