Hi all,

Just wanted to notify everybody in advance that a bigger change is coming
into Fineract.

For a longer period Spring Boot 3 has been out as well as a newer
EclipseLink from which we've been using a version that has been initially
released in 2017.

With some of the contributors we've started to separate out certain pieces
of Fineract into project modules for easier maintainability, we naturally
encountered a couple of issues. Unfortunately EclipseLink wasn't properly
supporting multi-module projects which eventually led to the decision to
finally do an upgrade.

As always, when jumping major versions (to EclipseLink 4.0.0) there were
issues. A lot of the dependencies we have were cross dependent on each
other and a lot of other unwanted dependencies have to be upgraded too.
This doesn't necessarily mean a bad thing but it definitely increased the
initial scope of the work we took on.

With that said, let me give you a really brief update on some of the major
things happening:
- Spring Boot 2 -> Spring Boot 3
- EclipseLink 2.7 -> 4.0
- javax -> jakarta
- Groovy 3 -> Groovy 4
- and a few other plugins and dependencies

And now comes the fun part. With the EclipseLink upgrade, the javax to
jakarta namespace upgrade inevitably came as well. That's a breaking change
unfortunately and cannot be avoided. Note that this would've been coming
anyway with the Spring Boot upgrade as well.

Now, this might cause some turbulence with your current Fineract deployment.

If you're using Fineract with Spring Boot embedded Tomcat, you're good to
go, the change should be smooth for you.
If you're using Fineract as a WAR with a standalone Tomcat or other
application server, you probably need to upgrade your application server to
be compatible with the jakarta namespace; in case of Tomcat, you need to
use 10.x+ version, for others please see their manuals.

I know this has been a long mail but I hope you made it this far and gave
you some valuable information on the upgrade.

Best,
Arnold

Reply via email to