From eb8de3917e5e71100733510339834c2c4524ba1a Mon Sep 17 00:00:00 2001 From: navaneethsnair1 Date: Mon, 23 Feb 2026 11:04:24 +0530 Subject: [PATCH 1/4] 26.0.0.2 GA blog first draft --- posts/2026-02-24-26.0.0.2.adoc | 260 +++++++++++++++++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 posts/2026-02-24-26.0.0.2.adoc diff --git a/posts/2026-02-24-26.0.0.2.adoc b/posts/2026-02-24-26.0.0.2.adoc new file mode 100644 index 000000000..b44138fae --- /dev/null +++ b/posts/2026-02-24-26.0.0.2.adoc @@ -0,0 +1,260 @@ +--- +layout: post +title: "Java Toolchains in Liberty Build Plugins in 26.0.0.2" +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 +author_github: https://github.com/navaneethsnair1 +seo-title: Java Toolchains in Liberty Build Plugins in 26.0.0.2- OpenLiberty.io +seo-description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +blog_description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: ja + path: /ja/blog/2026/01/27/26.0.0.2.html +--- += Java Toolchains in Liberty Build Plugins in 26.0.0.2 +Navaneeth S Nair +:imagesdir: / +:url-prefix: +:url-about: / +//Blank line here is necessary before starting the body of the post. + +// // // // // // // // +// In the preceding section: +// Do not insert any blank lines between any of the lines. +// Do not remove or edit the variables on the lines beneath the author name. +// +// "open-graph-image" is set to OL logo. Whenever possible update this to a more appropriate/specific image (For example if present a image that is being used in the post). However, it +// can be left empty which will set it to the default +// +// "open-graph-image-alt" is a description of what is in the image (not a caption). When changing "open-graph-image" to +// a custom picture, you must provide a custom string for "open-graph-image-alt". +// +// Replace TITLE with the blog post title eg: MicroProfile 3.3 is now available on Open Liberty 20.0.0.4 +// Replace navaneethsnair1 with your GitHub username eg: lauracowen +// Replace DESCRIPTION with a short summary (~60 words) of the release (a more succinct version of the first paragraph of the post). +// Replace Navaneeth S Nair with your name as you'd like it to be displayed, eg: Laura Cowen +// +// Example post: 2020-04-09-microprofile-3-3-open-liberty-20004.adoc +// +// If adding image into the post add : +// ------------------------- +// [.img_border_light] +// image::img/blog/FILE_NAME[IMAGE CAPTION ,width=70%,align="center"] +// ------------------------- +// "[.img_border_light]" = This adds a faint grey border around the image to make its edges sharper. Use it around screenshots but not +// around diagrams. Then double check how it looks. +// There is also a "[.img_border_dark]" class which tends to work best with screenshots that are taken on dark +// backgrounds. +// Change "FILE_NAME" to the name of the image file. Also make sure to put the image into the right folder which is: img/blog +// change the "IMAGE CAPTION" to a couple words of what the image is +// // // // // // // // + +This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. + +// // // // // // // // +// In the preceding section: +// Leave any instances of `tag::xxxx[]` or `end:xxxx[]` as they are. +// +// Replace RELEASE_SUMMARY with a short paragraph that summarises the release. Start with the lead feature but also summarise what else is new in the release. You will agree which will be the lead feature with the reviewers so you can just leave a placeholder here until after the initial review. +// // // // // // // // + +// // // // // // // // +// Replace the following throughout the document: +// Replace 26.0.0.2 with the version number of Open Liberty, eg: 22.0.0.2 +// Replace 26001 with the version number of Open Liberty wihtout the periods, eg: 22002 +// // // // // // // // + +In link:{url-about}[Open Liberty] 26.0.0.2: + +* <> +* <> + +View the list of fixed bugs in link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22[26.0.0.2]. + +Check out link:{url-prefix}/blog/?search=release&search!=beta[previous Open Liberty GA release blog posts]. + + +[#run] + +// // // // // // // // +// LINKS +// +// OpenLiberty.io site links: +// link:{url-prefix}/guides/maven-intro.html[Maven] +// +// Off-site links: +//link:https://openapi-generator.tech/docs/installation#jar[Download Instructions] +// +// IMAGES +// +// Place images in ./img/blog/ +// Use the syntax: +// image::/img/blog/log4j-rhocp-diagrams/current-problem.png[Logging problem diagram,width=70%,align="center"] +// // // // // // // // + +== Develop and run your apps using 26.0.0.2 + +If you're using link:{url-prefix}/guides/maven-intro.html[Maven], include the following in your `pom.xml` file: + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + +---- + +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.10.0' + } +} +apply plugin: 'liberty' +---- +// // // // // // // // +// In the preceding section: +// Replace the Maven `3.11.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-maven-plugin +// Replace the Gradle `3.9.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-gradle-plugin +// TODO: Update GHA to automatically do the above. If the maven.org is problematic, then could fallback to using the GH Releases for the plugins +// // // // // // // // + +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], you can also take advantage of our open source link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty developer tools] to enable effective development, testing, debugging and application management all from 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 // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/34101 +// Contact/Reviewer: venmanyarun +// // // // // // // // +[#java_toolchains] +== Java Toolchains in Liberty Build Plugins + +In this update, Open Liberty introduces support for Java Toolchains in the Liberty Maven and Gradle plugins. This enhancement allows developers to decouple the JDK used to run their build tools from the JDK used to run the Liberty server, providing greater flexibility and environmental consistency. + +* link:https://www.google.com/search?q=%23java-toolchains[Java Toolchains support] +* link:https://www.google.com/search?q=%23maven-integration[Maven Plugin integration] +* link:https://www.google.com/search?q=%23gradle-integration[Gradle Plugin integration] + +=== Java Toolchains support + +Open Liberty build plugins now support the standard Java Toolchain mechanism. +Previously, Liberty plugins were restricted to using the same Java version that was running Maven or Gradle. +This often forced developers to use older JDKs for their entire build process if their application required a specific legacy runtime. + +With Java Toolchains, you can now run your build tool on a modern JDK (e.g., Java 21). This ensures the Liberty server and its tasks (such as dev mode or JSP compilation) execute on a different, specified JDK (e.g., Java 8 or 11). + +=== Maven Plugin integration + +The Liberty Maven plugin now integrates seamlessly with the maven-toolchain-plugin. To use this feature, define your available JDKs in your `~/.m2/toolchains.xml` file. The plugin automatically detects and uses the toolchain that is specified in your project's `pom.xml` file. + +For detailed configuration steps and parameters, see the link:https://github.com/OpenLiberty/ci.maven/blob/main/docs/toolchain.md[Liberty Maven Plugin Toolchain documentation]. + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + +---- + +The plugin acknowledges the JDK vendor and version constraints that are defined in your Maven profiles, helping to ensure that your server environment remains consistent across different developer machines and CI/CD pipelines. + +=== Gradle Plugin integration + +For Gradle users, the Liberty Gradle plugin now acknowledges the native `java { toolchain { ... } }` configuration block. This configuration provides a unified way to manage Java versions in multi-project builds where different services might have different runtime requirements. + +For technical specifics on how the plugin resolves these environments, see the link:https://github.com/OpenLiberty/ci.gradle/blob/main/docs/toolchain.md[Liberty Gradle Plugin Toolchain documentation]. + +When a toolchain is configured in your `build.gradle`, the Liberty plugin uses that specific Java runtime for all server-related tasks, including `libertyDev` and `libertyStart`. + +=== Try it now + +To start using Java Toolchains, update your build tools to the latest versions of the Liberty Maven or Gradle plugins. + +*For Maven:* + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + + + 11 + temurin + + + +---- + +*For Gradle:* + +[source,gradle] +---- +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'io.openliberty.tools:liberty-gradle-plugin:3.10.0' + } +} +apply plugin: 'liberty' + + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + // Optional: specify vendor + // vendor = JvmVendorSpec.ADOPTIUM + } +} +---- + +// DO NOT MODIFY THIS LINE. + +[#bugs] +== Notable bugs fixed in this release + + +We’ve spent some time fixing bugs. The following sections describe the issues resolved in this release. If you’re interested, here’s the link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22[full list of bugs fixed in 26.0.0.1]. + +* link:https://github.com/OpenLiberty/open-liberty/issues/33927[IBM WebSphere Application Server Liberty is affected by a remote code execution vulnerability (CVE-2025-14914 CVSS 7.6)] +* link:https://github.com/OpenLiberty/open-liberty/issues/32996["WARNING: package sun.security.action not in java.base" shows up in console.log starting in Java 24] + +// // // // // // // // +// In the preceding section: +// For this section ask either Michal Broz or Tom Evans or the #openliberty-release-blog channel for Notable bug fixes in this release. +// Present them as a list in the order as provided, linking to the issue and providing a short description of the bug and the resolution. +// If the issue on Github is missing any information, leave a comment in the issue along the lines of: +// "@[issue_owner(s)] please update the description of this `release bug` using the [bug report template](https://github.com/OpenLiberty/open-liberty/issues/new?assignees=&labels=release+bug&template=bug_report.md&title=)" +// Feel free to message the owner(s) directly as well, especially if no action has been taken by them. +// For inspiration about how to write this section look at previous blogs e.g- 20.0.0.10 or 21.0.0.12 (https://openliberty.io/blog/2021/11/26/jakarta-ee-9.1.html#bugs) +// // // // // // // // + +== Get Open Liberty 26.0.0.2 now + +Available through <>. \ No newline at end of file From 608d4192828345738a2fa56cb3cca250a13844c3 Mon Sep 17 00:00:00 2001 From: navaneethsnair1 Date: Mon, 23 Feb 2026 14:14:10 +0530 Subject: [PATCH 2/4] updates to 26.0.0.2 GA blog --- posts/2026-02-24-26.0.0.2.adoc | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/posts/2026-02-24-26.0.0.2.adoc b/posts/2026-02-24-26.0.0.2.adoc index b44138fae..563d07ef6 100644 --- a/posts/2026-02-24-26.0.0.2.adoc +++ b/posts/2026-02-24-26.0.0.2.adoc @@ -6,8 +6,8 @@ categories: blog author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 author_github: https://github.com/navaneethsnair1 seo-title: Java Toolchains in Liberty Build Plugins in 26.0.0.2- OpenLiberty.io -seo-description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. -blog_description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +seo-description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +blog_description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo blog-available-in-languages: @@ -52,7 +52,7 @@ Navaneeth S Nair // change the "IMAGE CAPTION" to a couple words of what the image is // // // // // // // // -This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, allowing developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. // // // // // // // // // In the preceding section: @@ -150,11 +150,7 @@ image::img/blog/blog_btn_stack.svg[Ask a question on Stack Overflow, align="cent [#java_toolchains] == Java Toolchains in Liberty Build Plugins -In this update, Open Liberty introduces support for Java Toolchains in the Liberty Maven and Gradle plugins. This enhancement allows developers to decouple the JDK used to run their build tools from the JDK used to run the Liberty server, providing greater flexibility and environmental consistency. - -* link:https://www.google.com/search?q=%23java-toolchains[Java Toolchains support] -* link:https://www.google.com/search?q=%23maven-integration[Maven Plugin integration] -* link:https://www.google.com/search?q=%23gradle-integration[Gradle Plugin integration] +In this update, Open Liberty introduces support for Java Toolchains in the Liberty Maven and Gradle plugins. This enhancement enables developers to decouple the JDK used to run their build tools from the JDK used to run the Liberty server, providing greater flexibility and environmental consistency. === Java Toolchains support @@ -162,7 +158,7 @@ Open Liberty build plugins now support the standard Java Toolchain mechanism. Previously, Liberty plugins were restricted to using the same Java version that was running Maven or Gradle. This often forced developers to use older JDKs for their entire build process if their application required a specific legacy runtime. -With Java Toolchains, you can now run your build tool on a modern JDK (e.g., Java 21). This ensures the Liberty server and its tasks (such as dev mode or JSP compilation) execute on a different, specified JDK (e.g., Java 8 or 11). +With Java Toolchains, you can now run your build tool on a modern JDK (for example, Java 21). This helps ensure that the Liberty server and its tasks (such as dev mode or JSP compilation) execute using a different, specified JDK (for example, Java 8 or 11). === Maven Plugin integration @@ -183,7 +179,7 @@ The plugin acknowledges the JDK vendor and version constraints that are defined === Gradle Plugin integration -For Gradle users, the Liberty Gradle plugin now acknowledges the native `java { toolchain { ... } }` configuration block. This configuration provides a unified way to manage Java versions in multi-project builds where different services might have different runtime requirements. +For Gradle users, the Liberty Gradle plugin now recognizes the native `java { toolchain { ... } }` configuration block. This configuration provides a unified way to manage Java versions across multi-project builds, where different services might have different runtime requirements. For technical specifics on how the plugin resolves these environments, see the link:https://github.com/OpenLiberty/ci.gradle/blob/main/docs/toolchain.md[Liberty Gradle Plugin Toolchain documentation]. From faf68fefb75d17cbd3555b23fdfed060020257b0 Mon Sep 17 00:00:00 2001 From: navaneethsnair1 Date: Mon, 23 Feb 2026 17:44:36 +0530 Subject: [PATCH 3/4] updates to 26.0.0.2 blog --- posts/2026-02-24-26.0.0.2.adoc | 37 +++++++++++++--------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/posts/2026-02-24-26.0.0.2.adoc b/posts/2026-02-24-26.0.0.2.adoc index 563d07ef6..06f9da7d4 100644 --- a/posts/2026-02-24-26.0.0.2.adoc +++ b/posts/2026-02-24-26.0.0.2.adoc @@ -6,13 +6,10 @@ categories: blog author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 author_github: https://github.com/navaneethsnair1 seo-title: Java Toolchains in Liberty Build Plugins in 26.0.0.2- OpenLiberty.io -seo-description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. -blog_description: This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +seo-description: This release introduces Java Toolchains support, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +blog_description: This release introduces Java Toolchains support, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo -blog-available-in-languages: -- lang: ja - path: /ja/blog/2026/01/27/26.0.0.2.html --- = Java Toolchains in Liberty Build Plugins in 26.0.0.2 Navaneeth S Nair @@ -52,7 +49,7 @@ Navaneeth S Nair // change the "IMAGE CAPTION" to a couple words of what the image is // // // // // // // // -This release introduces Java Toolchains support in the Liberty Maven and Gradle plugins, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. +This release introduces Java Toolchains support, enabling developers to decouple the JDK used to run build tools from the JDK used to run the Liberty server. // // // // // // // // // In the preceding section: @@ -150,40 +147,34 @@ image::img/blog/blog_btn_stack.svg[Ask a question on Stack Overflow, align="cent [#java_toolchains] == Java Toolchains in Liberty Build Plugins -In this update, Open Liberty introduces support for Java Toolchains in the Liberty Maven and Gradle plugins. This enhancement enables developers to decouple the JDK used to run their build tools from the JDK used to run the Liberty server, providing greater flexibility and environmental consistency. +In the latest release of the Liberty build plugins, support has been added for Java Toolchains. This enhancement enables developers to decouple the JDK used to run their build tools(Maven or Gradle) from the JDK used to run the Liberty server and their applications. This provides greater flexibility and environmental consistency. === Java Toolchains support -Open Liberty build plugins now support the standard Java Toolchain mechanism. +The Liberty build plugins now support the standard Java Toolchain mechanism. Previously, Liberty plugins were restricted to using the same Java version that was running Maven or Gradle. -This often forced developers to use older JDKs for their entire build process if their application required a specific legacy runtime. +This prevented developers from using more recent JDK versions for their build process if their applications required a specific older JDK version. -With Java Toolchains, you can now run your build tool on a modern JDK (for example, Java 21). This helps ensure that the Liberty server and its tasks (such as dev mode or JSP compilation) execute using a different, specified JDK (for example, Java 8 or 11). +With Java Toolchains, you can now run your build tool on a modern JDK (for example, Java 25). At the same time, Liberty server and all server operations can execute using a different, configured JDK (for example, Java 8). === Maven Plugin integration The Liberty Maven plugin now integrates seamlessly with the maven-toolchain-plugin. To use this feature, define your available JDKs in your `~/.m2/toolchains.xml` file. The plugin automatically detects and uses the toolchain that is specified in your project's `pom.xml` file. +The Liberty Maven Plugin now integrates seamlessly with the maven-toolchain-plugin as of version 3.12.0. +To use this feature, define your available JDKs in your `~/.m2/toolchains.xml` file and then configure `` tag in ``. +The plugin automatically detects and uses the toolchain specified in your project’s `pom.xml` file. For detailed configuration steps and parameters, see the link:https://github.com/OpenLiberty/ci.maven/blob/main/docs/toolchain.md[Liberty Maven Plugin Toolchain documentation]. -[source,xml] ----- - - io.openliberty.tools - liberty-maven-plugin - 3.12.0 - ----- - The plugin acknowledges the JDK vendor and version constraints that are defined in your Maven profiles, helping to ensure that your server environment remains consistent across different developer machines and CI/CD pipelines. === Gradle Plugin integration -For Gradle users, the Liberty Gradle plugin now recognizes the native `java { toolchain { ... } }` configuration block. This configuration provides a unified way to manage Java versions across multi-project builds, where different services might have different runtime requirements. +The Liberty Gradle plugin now recognizes the native `java { toolchain { ... } }` configuration block as of version 3.10.0. This configuration provides a unified way to manage Java versions across multi-project builds, where different services might have different runtime requirements. -For technical specifics on how the plugin resolves these environments, see the link:https://github.com/OpenLiberty/ci.gradle/blob/main/docs/toolchain.md[Liberty Gradle Plugin Toolchain documentation]. +For detailed configuration steps and parameters, see the link:https://github.com/OpenLiberty/ci.gradle/blob/main/docs/toolchain.md[Liberty Gradle Plugin Toolchain documentation]. -When a toolchain is configured in your `build.gradle`, the Liberty plugin uses that specific Java runtime for all server-related tasks, including `libertyDev` and `libertyStart`. +When a toolchain is configured in your `build.gradle`, the Liberty plugin uses that specific Java runtime for all server-related tasks(for example, `libertyDev` and `libertyStart`). === Try it now @@ -236,7 +227,7 @@ java { == Notable bugs fixed in this release -We’ve spent some time fixing bugs. The following sections describe the issues resolved in this release. If you’re interested, here’s the link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22[full list of bugs fixed in 26.0.0.1]. +We’ve spent some time fixing bugs. The following sections describe the issues resolved in this release. If you’re interested, here’s the link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22[full list of bugs fixed in 26.0.0.2]. * link:https://github.com/OpenLiberty/open-liberty/issues/33927[IBM WebSphere Application Server Liberty is affected by a remote code execution vulnerability (CVE-2025-14914 CVSS 7.6)] * link:https://github.com/OpenLiberty/open-liberty/issues/32996["WARNING: package sun.security.action not in java.base" shows up in console.log starting in Java 24] From c57647952bcf08c1ce8dc1ef9eed82765475464e Mon Sep 17 00:00:00 2001 From: navaneethsnair1 Date: Mon, 23 Feb 2026 17:52:04 +0530 Subject: [PATCH 4/4] updates to 26.0.0.2 blog --- posts/2026-02-24-26.0.0.2.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/posts/2026-02-24-26.0.0.2.adoc b/posts/2026-02-24-26.0.0.2.adoc index 06f9da7d4..8353bb87a 100644 --- a/posts/2026-02-24-26.0.0.2.adoc +++ b/posts/2026-02-24-26.0.0.2.adoc @@ -191,7 +191,8 @@ To start using Java Toolchains, update your build tools to the latest versions o 11 - temurin + +