Skip to content

JDK migration policy

Esta Nagy edited this page Feb 28, 2025 · 1 revision

Considerations

Lowkey Vault components can be categorized in two groups as follows:

  1. Application modules (lowkey-vault-app and lowkey-vault-docker modules)
  2. Libraries (lowkey-vault-client and lowkey-vault-testcontainers modules)

In general, the application modules are less likely to cause any issues for the developers, because most likely everyone is depending on the Docker image and that image encapsulates the underlying JDK version. Therefore, migration to new JDK versions will happen first in these modules. As for the libraries, they might be used as test dependencies, which can be potentially breaking if the "wrong" JDK version is used in the project. Therefore the migration of these is delayed to help developers migrate to the new JDK version in time.

JDK 17

The migration approach taken in case of JDK 17 is planned as defined by JDK 17 upgrade plan #498.

JDK 17+

After the JDK 17 migration completes, Lowkey Vault application modules will migrate to any new LTS release as soon as time allows (and compatibility is ensured). Libraries will continue to use the lowest possible LTS version within Premier Support by Oracle at any given moment.

Example (written in 2025 February 28)

This means, that application modules will migrate to JDK 25 once it is released this September, provided that we have the tooling to do so.

Libraries will keep supporting JDK 17 until September 2026 (when Premier Support ends), when they will be migrated to JDK 21 and will keep supporting that version until September 2028 (when Premier Support ends)...

References