Skip to content

Migrate to JDK 25 LTS and update dependencies #722

@matiwinnetou

Description

@matiwinnetou

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

  • Full build compiles successfully
  • All unit and integration tests pass
  • Docker image builds successfully
  • Smoke test against a running Cardano node

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions