Skip to content

Commit

Permalink
Merge pull request #3404 from OpenLiberty/staging
Browse files Browse the repository at this point in the history
Publish 23.0.0.10 release post
  • Loading branch information
dmuelle authored Oct 16, 2023
2 parents ed8a4b4 + 3109bb2 commit a775085
Show file tree
Hide file tree
Showing 2 changed files with 166 additions and 4 deletions.
9 changes: 5 additions & 4 deletions blog_tags.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"blog_tags": [
{
"name": "announcements",
"posts": ["23.0.0.10-beta",
"posts": ["23.0.0.10", "23.0.0.10-beta",
"23.0.0.9", "23.0.0.9-beta",
"23.0.0.8", "23.0.0.8-beta",
"23.0.0.7", "liberty-ide-tools-maven-gradle-plugins-for-java-developers",
Expand Down Expand Up @@ -148,7 +148,7 @@
},
{
"name": "Java SE",
"posts": ["23.0.0.10-beta",
"posts": ["23.0.0.10", "23.0.0.10-beta",
"23.0.0.3", "23.0.0.3-beta",
"22.0.0.11", "java-19-22.0.0.10-beta",
"java18-22004", "graphql-22004-beta",
Expand All @@ -162,7 +162,8 @@
},
{
"name": "release",
"posts": ["23.0.0.10-beta", "23.0.0.9",
"posts": ["23.0.0.10",
"23.0.0.10-beta", "23.0.0.9",
"23.0.0.9-beta", "23.0.0.8",
"23.0.0.8-beta", "23.0.0.7",
"23.0.0.7-beta", "23.0.0.6",
Expand Down Expand Up @@ -253,7 +254,7 @@
},
{
"name": "security",
"posts": ["23.0.0.10-beta",
"posts": ["23.0.0.10", "23.0.0.10-beta",
"23.0.0.9", "23.0.0.8",
"23.0.0.6-beta", "22.0.0.13",
"22.0.0.13-beta", "22.0.0.12",
Expand Down
161 changes: 161 additions & 0 deletions posts/2023-10-17-23.0.0.10.adoc
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>>.

0 comments on commit a775085

Please sign in to comment.