Technology Stack

“Bleeding-edge but sane”: pick modern versions that are stable and align with enterprise support cycles. Keep Spring Boot current, keep Angular on the latest stable, and freeze React for legacy shells.

Nginx upgrade: moved from Ubuntu 24.04's repo build 1.24.0 to nginx.org mainline 1.29.4 to stay on the current security/HTTP3 stream. Track 1.29.x patches monthly and roll forward when 1.30 ships.
UI decision: Angular on the latest release line is the primary UI. React is frozen (greyed) for legacy shells only and receives security fixes only.

Published Stack (NewSun)

LayerTechnologyVersionEOS (vendor)Next EOL / ReviewSupport guideline
OSUbuntu Server24.04 LTS2029-04 (standard)2034-04 (ESM)Stay on 24.04 through 2027; apply security updates monthly.
EdgeNginx (mainline)1.29.4Rolling mainlineReview when 1.30 shipsUpgraded from Ubuntu 24.04's 1.24.0; stay on nginx.org repo, apply monthly patches, reload and rebuild dynamic modules.
LanguageJava25 LTS2029-09Review Java 27 in 2031Stay on GA until 27 LTS and migrate via multi-release build.
FrameworkSpring Boot4.0.x2027-Q1Assess Boot 4.2 in 2025-Q4Adopt each 4.x service release within 60 days.
CoreSpring Framework7.x2027-Q4Track 7.2 supportAlign with Boot BOM; avoid stray dependency upgrades.
ORMHibernate ORM7.3.x2028-Q1Review 7.4 when GARequired for MySQL 9.5 + Jakarta EE 11 compatibility.
DBMySQL9.5.0 LTS2031-06Next LTS review 2028-Q4Primary transaction store (HeatWave). Upgrade path: 9.5.0 → 9.5.x patches.
JDBC DriverMySQL Connector/J9.0Tracks MySQL 9 LTSQuarterly patch reviewPin to BOM; update immediately for CVEs.
MigrationsFlyway10.xRollingQuarterlyModule-owned schemas; flyway:validate wired into CI.
BuildMaven (multi-module)3.9+Rolling2025-Q3Stay on 3.9 line to keep wrapper support.
APIOpenAPI3.1AnnualContracts published per module release.
SecuritySpring Security7.x2027-Q42026-Q2Keycloak/OIDC aligned; enforce OAuth2 posture.
ObservabilityMicrometer + OpenTelemetry1.14 + 1.40RollingMonthlyLogs + traces share W3C context IDs.
FrontendAngularLatest (current: 20.x)Rolling (LTS cadence)Adopt each stable within 60 daysPrimary UI; stay current on latest Angular, keep schematics/lint/tooling aligned.
FrontendReact19.x (frozen)2026-Q1Security fixes onlyLegacy shells only; no feature work. Keep deps frozen unless for CVEs.
NodeNode.js24 LTS2026-042026-10Used for UI build tooling; upgrade alongside UI frameworks.
TestingTestcontainers1.20 + mysql:9.5RollingMonthlyRuns MySQL 9.5.0 container in CI for parity.
Dev/CIDocker / Compose26.xRollingMonthlyEnsure compose files pinned; upgrade once per quarter.
Future mobileREST + OAuth2AnnualAPI-first design keeps Flutter / React Native viable.
Key constraint: keep Spring Boot current for security and compatibility. UI: stay on latest Angular stable (aligned with schematics/lint/build), and keep React frozen for legacy shells with CVE-only updates.