back to all blogsSee all blog posts

Support for Java 27 in 26.0.0.10-beta

image of author
Ismath Badsha on Sep 22, 2026
Post available in languages:

Open Liberty 26.0.0.10-beta introduces Java 27 compatibility.

Open Liberty 26.0.0.10-beta includes the following beta features (along with all GA features):

Beta support for Java 27

Java 27 is the latest Java version and is not a long-term support (LTS) release. Java 27 includes 9 new features (JEPs): five are preview features and four are finalized.

Test features

Delivered features

In Java 27, G1 is now the default garbage collector in all environments, including those previously using Serial or Parallel GC, for example, single-CPU or low-memory environments such as containers. Users running Liberty in constrained environments may experience different garbage collection behavior compared to earlier Java versions.

To avoid any unexpected impact, you can:

  • Explicitly revert to the previous default garbage collector using -XX:+UseSerialGC or -XX:+UseParallelGC in your JVM options.

  • Review the JEP 523 documentation for guidance on tuning G1 in resource-constrained environments.

Try out the new changes in Java 27 now and get more time to test your applications and microservices with Open Liberty 26.0.0.10-beta.

Download IBM Semeru Runtimes 27 or Java 27, download and install the 26.0.0.10-beta, set JAVA_HOME to your Java 27 installation directory in your Liberty server’s server.env file, and start testing.

For more information about Java 27, see the Java 27 release notes page, Javadoc or download page. For more information about Open Liberty, see our documentation page.

Try it now

To try out these features, update your build tools to pull the Open Liberty All Beta Features package instead of the main release. The beta works with Java SE versions 27, 25, 21, 17, 11, and 8.

If you’re using Maven, you can install the All Beta Features package using:

<plugin>
    <groupId>io.openliberty.tools</groupId>
    <artifactId>liberty-maven-plugin</artifactId>
    <version>3.12.3</version>
    <configuration>
        <runtimeArtifact>
          <groupId>io.openliberty.beta</groupId>
          <artifactId>openliberty-runtime</artifactId>
          <version>26.0.0.10-beta</version>
          <type>zip</type>
        </runtimeArtifact>
    </configuration>
</plugin>

You must also add dependencies to your pom.xml file for the beta version of the APIs that are associated with the beta features that you want to try. For example, the following block adds dependencies for two example beta APIs:

<dependency>
    <groupId>org.example.spec</groupId>
    <artifactId>exampleApi</artifactId>
    <version>7.0</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>example.platform</groupId>
    <artifactId>example.example-api</artifactId>
    <version>11.0.0</version>
    <scope>provided</scope>
</dependency>

Or for Gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.2'
    }
}
apply plugin: 'liberty'
dependencies {
    libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[26.0.0.10-beta,)'
}

Or if you’re using container images:

FROM icr.io/appcafe/open-liberty:beta

Or take a look at our Downloads page.

If you’re using IntelliJ IDEA, Visual Studio Code or Eclipse IDE, you can also take advantage of our open source Liberty developer tools to enable effective development, testing, debugging and application management all from within your IDE.

For more information on using a beta release, refer to the Installing Open Liberty beta releases documentation.

We welcome your feedback

Let us know what you think on our mailing list. If you hit a problem, post a question on StackOverflow. If you hit a bug, please raise an issue.