PAR-269
Move treasury-rest-api to Spring Boot 4.1.0 GA + refresh REST dependencies
The module was migrated to Spring Boot 4 during a test and left on the early 4.0.3 pre-GA pin (root build.gradle.kts:15). Move it onto the latest GA of the 4.x line and bring treasury-rest-api's own (inline) dependencies up to date — preferring BOM-managed versions over hard pins — and make the code changes the upgrade requires. Addresses the pre-release-pin half of ADT-19 (the missing test-CI job in ADT-19 is out of scope here).
Done
- Spring Boot
4.0.3→4.1.0(Spring Framework7.0.8), rootbuild.gradle.kts. 4.1.0 GA (2026-06-10), OSS support through Jul 2027.io.spring.dependency-management 1.1.7already latest. - bucket4j
8.14.0→8.19.0(core/caffeine/redis-common/lettuce). - springdoc-openapi-starter-webmvc-ui
3.0.1→3.0.3. - Caffeine: dropped the explicit
3.1.8pin — now BOM-managed (3.2.4). - Lettuce: dropped the explicit pin entirely — now BOM-managed (
7.5.2), moving off the old 6.x. Verified safe by bytecode linkage:bucket4j_jdk17-lettuce8.19 declares lettuce 6.x only as aprovidedcompile floor, but every lettuce symbol it actually calls (RedisClient.connect,StatefulRedisConnection.async,RedisAsyncCommands.eval/del/get,ScriptOutputType,RedisExceptionctors,RedisFuture⊂Future+CompletionStage) exists unchanged in lettuce 7. - mybatis-spring-boot-starter
4.0.1, micrometer-registry-prometheus (BOM1.17.0), mariadb-java-client (BOM3.5.8) — already current.
Code changes required by the upgrade
- Spring Framework 7 deprecated
HttpStatus.UNPROCESSABLE_ENTITY(renamedUNPROCESSABLE_CONTENT, RFC 9110). Updated all 5 usages (3 main:TransferService×2,AdminFirmService; 2 test assertions in lockstep — distinct enum constants). - bucket4j 8.19 deprecated the whole
LettuceBasedProxyManager.builderFor(...)factory family. RewroteLettuceBucketProvidertoBucket4jLettuce.casBasedBuilder(redisClient)with expiry viaexpirationAfterWrite(...)(theClientSideConfigwrapper was removed), dropping the manualconnect(ByteArrayCodec).
Verification
./gradlew :treasury-rest-api:build green — compile, full MariaDB4j IT suite, bootJar — with no upgrade-related deprecation warnings remaining (residual AssertJ catchThrowableOfType deprecation is pre-existing, BOM-managed).
Monorepo-wide shared version-catalog upgrade (junit 6, HikariCP 7, flyway 12, jjwt, mariadb4j, mockito, etc.) is tracked separately — see sibling issue.
Resources
- PR#2 Last major release ParadauxIO/hibernia-economy
- commitfe70f8c Move treasury-rest-api to Spring Boot 4.1.0 GA (PAR-269)ParadauxIO/hibernia-economy
Comments
No comments yet.
Activity
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- tesks changed status to Status → Pending Release
- ParadauxIO linked a commit — Commit fe70f8c — Move treasury-rest-api to Spring Boot 4.1.0 GA (PAR-269)
- tesks description: Description updated
- tesks created the issue