Across 5.2.1 Release notes
By Davy
Notable changes in 5.2.1:
- Upgraded to Spring Boot 2.4
- Upgraded to Spring Framework 5.3
- Upgraded test database versions
- And some minor changes in Spring Framework
Upgrades
Spring Boot 2.4.13 (upgraded from 2.3):
- https://spring.io/blog/2020/11/12/spring-boot-2-4-0-available-now
- https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes
Spring Framework 5.3.27 (upgraded from 5.2):
- https://spring.io/blog/2020/10/27/spring-framework-5-3-goes-ga
- https://github.com/spring-projects/spring-framework/wiki/What's-New-in-Spring-Framework-5.x#whats-new-in-version-53
- https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x#upgrading-to-version-53
And obviously a thousand dependency upgrades that come with a Spring Boot upgrade.
Marc did most of the code adaptations in early 2021; see Across Platform 5.2. The Bis team made some incremental improvements in some modules as well.
The binaries are built with JDK8 and work with JDK11 as well. Spring Boot 2.4 does not support JDK17, so that will have to wait until we upgrade to 2.7 (should be by the end of the year).
The integration tests now run with relatively modern versions of the various databases (at least compared to the prehistoric versions before):
- MySQL: 8.0
- PostgreSQL: 14.8
- MSSQL: 2017
- Oracle: ???
Compatibility notes
The dynamic-forms-module
was removed from Across Platform, because
it’s not used in any actively maintained applications.
Upgrade experience
Several of the “Bis” projects have been using the 5.2.0-SNAPSHOT
builds for years. This is also the reason why the release is 5.2.1
and not 5.2.0
: while preparing for this release, I did not want to
mess up those snapshot builds that are used in production deployments.
The only modifications in Cama can be found
here,
but much of that commit actually consists of unrelated cleanup (mainly
in the application.yml files): it’s really only the *Module
classes. The main issue we ran into was that modules were started in a
slightly different order than before and because we had some missing
dependency declarations between modules, the startup failed. A good
trick to debug this, is to compare the startup logs from before and
after the upgrade. I did this by saving those logs, cutting off the
timestamps, and actually diffing them.
Thanks
Thanks to Marlies and Maaike for helping to test the 5.2.1-SNAPSHOT
with a couple of applications from the Octos team, and to Stijn and
Steven for a couple of good hints with upgrading/releasing Across.