*Hello Apache Fineract community,*

*I would like to propose upgrading the project from Java 21 LTS to Java 25
LTS (it is a NFR change). **This change is proposed because the following
reasons:*

- Java 25 is the current LTS (it was released September 2025).

- Java 25 has improvements about performance, language features, security,
longer support window, alignment with Spring Boot upgrades or dependencies.

- Java 21 will eventually move out of free support and it will become less
convenient for new contributors and adopters.

- Evergreening compliance is required by Institutions that run the software
on production environments

- It is a best practice for having the technology aligned to the EOL of the
base framework/product.


*The changes that contains the PR are: *

- Gradle toolchain languageVersion = 25

- Jib base image update (azul/zulu-openjdk-alpine:25) so then the Docker
Hub images dev tag will be updated to java 25 (arm and amd64).

- Modernizer module and ResolutionHelperTest required fixes

- CI / GitHub Actions updates

- Documentation (MD files).

- Existing functionalities are working (green flag/checks after running the
Github Actions)


*As any technology upgrade there are risks and compatibility issues that
must be highlighted*

- Requires JDK 25 to build and run (The developer will require to upgrade
the Java version and also the running environment will require the upgrade)

- If you have developed third-party libraries and plugins they may need to
be upgraded to Java 25


*These are the tickets for your review:*

JIRA ticket: FINERACT-2734
https://issues.apache.org/jira/browse/FINERACT-2734

PR ticket: https://github.com/apache/fineract/pull/6215


*I welcome feedback about any concerns and especially your help with
testing on different environments (MariaDB, PostgreSQL, different Operating
Systems and/or multi-tenant setups).*

*Thank you in advance!*

*Victor Romero*

Reply via email to