DR-000034 - Java 17 Support
Submitted Date | May 31, 2023 |
Approved Date | Jun 7, 2023 |
Status | ACCEPTED |
Impact | HIGH |
Overrides/Supersedes
RFC
N/a
Stakeholders
@Julian Ladisch
Contributors
@Jeremy Huff
@Julian Ladisch
Approvers
Background/Context
The following is a link to a proposed RFC raised by @Julian Ladisch on the same topic. We have opted to pursue this facilitating this change through the ADR processes directly: https://github.com/folio-org/rfcs/pull/9. Because language from his RFC proposal is used in this ADR, @Julian Ladisch is listed as a contributor to this ADR.
Assumptions
This ADR assumes that a move to Java 17 is both necessary and inevitable for the FOLIO project
Constraints
This ADR is a substantial change to the FOLIO platform because dropping Java 11 would constitute
The removal of a feature that is already part of a FOLIO release,
A change that requires the coordination between multiple FOLIO components or services,
The introduction of new language features that might be considered redundant to the existing language feature of Java 11
Rationale
The support for Java 11 is ending in September of this year (2023). To ensure that FOLIO's modules are implemented in a language that is actively supported it is necessary to move our implementations to Java 17.
Decision
For the Poppy release (Fall/Q4 2023) all java-based FOLIO modules must be implemented using Java 17, and the use of Java 11 for FOLIO modules is no longer acceptable.
Implications
Pros
This change would ensure that FOLIO modules are implemented in a language that is actively supported
Our implementation would have the advantage of any security-related patches associated with Java 17
Cons
For some modules, the change from Java 11 to Java 17 may constitute a significant amount of development effort
Other Related Resources
N/a