The CIA Project will maintain its existing stack, utilizing javax.*
dependencies and Vaadin 8, without transitioning to Jakarta namespaces. The project will reach EOL when compatibility with the latest JVM requires a Jakarta migration. Below is a structured plan to ensure stability, compatibility, and security until that point.
Primary Goal: Maintain the CIA project on its current stack without migrating to Jakarta namespaces, ending support only when essential updates require this shift.
- Current Web Server: The project currently uses Jetty 10.
- EOL for Jetty 10: Scheduled for 2026 (endoflife.date).
- Potential Move to Jetty 12: Jetty 12 supports both
javax.servlet
and Jakarta namespaces and has an EOL of 2028. Migrating to Jetty 12 would allow the CIA project to remain compatible with future JVMs while avoiding an architectural transition to Jakarta.
- JVM Monitoring: Regularly evaluate compatibility with new JVM versions.
- EOL Trigger: The project will officially end when updates require Jakarta namespaces for continued compatibility.
- Automated Minor and Security Updates: Dependabot and similar tools will manage minor updates and security patches across core libraries, including:
- Current UI Strategy: Continue using Vaadin 8 to avoid the costs and major structural changes of migrating to Vaadin 10+.
- Licensing Note: Vaadin 8 reached EOL for open-source use, so commercial support is available but optional.
The CIA project will be designated as EOL and archived in a read-only state when it can no longer function on the latest JVM without adopting Jakarta namespaces.
Category | Technologies | EOL |
---|---|---|
Core Framework | Spring Framework 5.x | August 31, 2024 |
Security | Spring Security, Bouncy Castle | Aligns with Spring 5.x |
Data Access | Hibernate, JPA, PostgreSQL, JDBC | Hibernate 5.x: Ended; PostgreSQL 16: Nov 2028 |
Transaction Management | Narayana | Active |
Data Auditing | Javers | Active |
Business Rules Engine | Drools | Active |
Messaging | ActiveMQ Artemis, Spring JMS | Active |
Web/UI Layer | Vaadin 8, Vaadin Sass Compiler | Reached EOL; commercial support available |
Web Server | Jetty 10.x (Potential future move to Jetty 12) | Jetty 10 EOL: 2026; Jetty 12 EOL: 2028 |
Monitoring | JavaMelody, AWS SDK for CloudWatch | Active |
Testing | JUnit, Mockito, Spring Test, Selenium WebDriver | JUnit 4: Legacy; JUnit 5 & Mockito Active |
Utilities | Apache Commons, Google Guava, SLF4J, Logback, Jackson | Active |
Build & Dependency Management | Maven | Active |
- Security Focus: Prioritize security updates for dependencies in Spring Security, Logback, and Bouncy Castle.
- Documentation: See each dependency’s documentation for details and licensing options, as summarized on endoflife.date.