JDK 17 to be required from DHIS 2 version 2.41

Hi sysadmins/all,

Starting from DHIS 2 version 2.41, JDK 17 (Java version 17) will be the required runtime for DHIS 2. OpenJDK continues to be the recommended Java implementation.

JDK 17 is a Long Term Support (LTS) release which has been available since September 2021, and is actively supported for at least 3 years and has security support for at least 6 years.

The main reasons for the upgrade are i) to allow for upgrading the main DHIS 2 application frameworks (Spring, Spring Security and Hibernate), and ii) to benefit from the performance and security improvements in later JDK versions.

Note that DHIS 2.39 and the upcoming DHIS 2.40 are compatible with JDK 17. This means that implementations which use the these DHIS 2 versions can upgrade to JDK 17 immediately, i.e. there is no lock-step upgrade process tied to DHIS 2 version 2.41.

To install OpenJDK 17 on Debian/Ubuntu:

sudo apt install openjdk-17-jdk


sudo yum install java-17-openjdk

We will upgrade the installation documentation soon. Don’t hesitate to reply to this thread if you have questions.

best regards,

the DHIS 2 developer team


Thank you @Lars. So, what are we expecting in May, 2.40 or 2.41?


2.40 will be released first! 2.41 is still a long way away!



  1. what are the performance benefits for JDK 17?
  2. Will 2.39 onwards also run on Tomcat 10?

Best regards


One more thing: The email states that “The preliminary release date for DHIS 2 version 2.41 is May 2023”.

That does not seem correct - 2.40 has just entered hard freeze. So is it referring to 2.40 being released in May-23, or that 2.41 will be released in May-24?? (meaning the core team has moved from a 6-months cycle to a 12-month version cycle)

Please clarify…


1 Like

Onwards and upwards!

1 Like

@Calle_Hedberg as you’ll notice on the community of practice the reference to a specific date has been removed, it was incorrect (referencing 2023 as you saw). That being said we are discussing updates to our release timeline to better align with country upgrade and support cycles and will be sharing more with the community shortly, but that’s not directly related to the migration to Java 17.

2.40 is set to be released in two months time, in May 2023, and will continue to support Java 11.

1 Like

A post was split to a new topic: Issue with coordinate value type in datasets