Subscription to Innovation: Java 21 Support

In the ever-evolving landscape of application development, where security is top-of-mind, keeping up with the latest versions of supporting systems is essential.

Mendix heavily relies on Java as its foundation, so it’s imperative for businesses to stay up-to-date with new supported versions. In this blog post, we’ll delve into Mendix’s Java support journey, focusing on our plan to incorporate Java 17 in Mendix 8, 9, and 10 – and Java 21 in Mendix 9 and 10.

Support for new Java versions

Currently, Mendix supports Java 11, a long-term support (LTS) version. Given that official support for Java 11 will conclude in October 2024, it is crucial to transition to newer LTS versions, namely Java 17 and 21.

Over the next six months, we will introduce support for Java 17 in Mendix 8, 9, and 10 and, subsequently, add support for Java 21 in Mendix 9 and 10. Java 17 and 21 enjoy official support until October 2027 and September 2029, respectively.

Here’s a breakdown of the compatibility between Mendix and Java versions during their lifecycle:

Chart detailing which versions of Mendix will support which versions of Java

*Optional: we recommend that you skip Java 17 and jump to Java 21 once it’s supported.

As Mendix 10 releases every month, Mendix 10.7 will run on Java 17, and Mendix 10.10 will add Java 21 compatibility. As soon as Java 17 support is released we’ll also backport that to the 10.6 MTS release.

Transitioning to a new Java version

Just as Mendix made the seamless transition from Java 8 to 11, the move to Java 17 is expected to be equally smooth.

Java 17 maintains compatibility with older language constructs, such as those found in Java 8 and 11. While some exceptions might affect the Mendix Runtime internals, most customer apps on Java 17 won’t experience any functional changes. Moreover, the introduction of Java 17 support allows developers to harness newer language constructs.

Regarding Java 21, we are currently conducting investigations to determine the potential impact on your apps. Initial assessments suggest limited impact, but we will provide more information in the coming months.

What does this mean for you?

Version timeline

To stick with a supported Java version, you will need to update your app before October 2024, after compatibility has been added by Mendix.

  • Mendix 10: switch to Java 21 with 10.10 in April 2024. Optionally, you can switch to Java 17 with 10.7 in January 2024.
  • Mendix 9: switch to Java 21 with a new patch version in Q2 2024. Optionally, you can switch to Java 17 in Q1 2024.
  • Mendix 8: switch to Java 17 with a new patch version in Q1 2024.

Development

For developing in Studio Pro, you won’t need to do anything. Mendix will install a new version of the JDK when support has been added.

Deployment

If your apps are deployed to the Mendix Cloud, you don’t have to worry about the underlying Java version. We will ensure apps run with Java 17 for Mendix versions that support that.

For deployments on your own infrastructure, ensure that apps run with Java 17 before October 2024 if you wish to continue using a supported Java version.

The end of Java 11 support

With the introduction of new major Mendix versions, module creators will be required to release a corresponding major version of their modules, which will be possible from 10.18 in December 2024.

Given that official support for Java 11 ends in October 2024, this presents an opportune moment to bid farewell to Java 11 support within Mendix.

This change enables module creators to leverage the exciting features of Java 17 for their next major release. Importantly, this transition won’t affect apps running on lower versions, such as 10.12 or 9.24.

Staying up-to-date

Mendix’s commitment to staying up-to-date with the latest Java versions ensures that companies can always use an officially supported Java version while allowing developers to leverage the advantages of new features in Java. With the transition to Java 17 and the added support of Java 21, Mendix empowers developers to create secure, cutting-edge applications that harness the full potential of the Java ecosystem.