Description
The project needs to be migrated from JDK 24 to JDK 25 LTS and all stable dependencies should be updated across the multi-module build (api, yaci-indexer, test-data-generator).
Tasks
JDK 25 Migration
- Update
java.version, <release> compiler targets, and Dockerfiles to JDK 25
- Dockerfiles should use Adoptium Temurin 25 (replacing OpenJDK direct downloads)
- CI workflows updated to
java-version: 25
- Migrate
StructuredTaskScope from JDK 24 preview API (ShutdownOnFailure + joinUntil/throwIfFailed) to JDK 25 preview API (Joiner.awaitAllSuccessfulOrThrow() + withTimeout)
Dependency Updates
Update all stable dependencies including:
- Build plugins (maven-compiler, surefire, jacoco, flatten, git-commit-id, versions)
- Spring Boot and springdoc-openapi
- Database drivers and ORM (H2, PostgreSQL, jOOQ, Hibernate, Hypersistence Utils)
- Code generation and mapping (Lombok, MapStruct)
- Libraries (Guava, commons-io, commons-validator, vavr, swagger, jackson, log4j, etc.)
- Testing (JUnit Jupiter, AssertJ)
Intentionally Not Updated
- openapi-generator 6.4.0 → 7.x changes enum naming conventions, requires code migration
- hypersistence-utils 3.15.1+ enforces
Serializable on JSON-typed entity attributes, incompatible with third-party yaci Relay class
- cardano-client-lib — only preview releases available
- yaci / yaci-store — only pre-release versions or already at latest stable
Acceptance Criteria
Description
The project needs to be migrated from JDK 24 to JDK 25 LTS and all stable dependencies should be updated across the multi-module build (api, yaci-indexer, test-data-generator).
Tasks
JDK 25 Migration
java.version,<release>compiler targets, and Dockerfiles to JDK 25java-version: 25StructuredTaskScopefrom JDK 24 preview API (ShutdownOnFailure+joinUntil/throwIfFailed) to JDK 25 preview API (Joiner.awaitAllSuccessfulOrThrow()+withTimeout)Dependency Updates
Update all stable dependencies including:
Intentionally Not Updated
Serializableon JSON-typed entity attributes, incompatible with third-party yaciRelayclassAcceptance Criteria