Thanks for reviving this discussion David. In light of those core dependencies dropping support for Java 8, this plan seems necessary for NiFi. I support the proposal.
Thanks, Kevin On Jun 15, 2022 at 11:48:05, David Handermann <exceptionfact...@apache.org> wrote: > Team, > > With multiple major projects in the process of sunsetting support for Java > 8, we should also prepare a timeline for removing Java 8 support from > Apache NiFi and subprojects. > > BACKGROUND > > The Jetty project announced the end of community support for version 9 as > of 2022-06-01 [1]. Although Jetty 9 is not end of life in terms of security > updates, this is an important milestone as both NiFi and NiFi Registry > leverage Jetty for the web application container. Jetty 10 requires Java 11 > as the minimum version. > > The next major release of the Spring Framework will drop support for both > Java 8 and 11, requiring Java 17 as the minimum version [2]. Other > supporting components, such as OpenSAML, which enables SAML 2 integration, > dropped support for Java 8 in OpenSAML 4 [3]. > > In order to continue maintaining a secure product, NiFi will also need to > remove Java 8 support so that we can track dependency upgrades. > > NEXT STEPS > > In light of widespread deployment of Apache NiFi and subprojects, we need > to prepare a timeline for transition. Although there have been various > discussions on what should be included in the next major release, narrowing > the focus to simply removing support for Java 8 provides the simplest path > forward. > > Announcing removal of support for Java 8 should incorporate a reasonable > amount of time for potential transition. NiFi has supported Java 11 for > multiple releases, and NiFi 1.16.0 included basic support for Java 17. > > At minimum, it seems best to proceed with a release for NiFi 1.17.0, when > ready, without making any changes. At that time, we should also have a > timeline for removing Java 8 support. It may be worthwhile to plan on at > least one more minor release that incorporates deprecation warnings where > necessary. > > Following a selected minor release version, a support branch for major > version 1 could be created, as a means of providing critical security and > functional fixes. With a support branch created, main development could be > transitioned to 2.0.0-SNAPSHOT. I defer to Joe Witt as the release manager > for more thought around these particular details. > > Please provide your thoughts on the general process, and highlight > particular areas of concern. > > Regards, > David Handermann > > [1] https://github.com/eclipse/jetty.project/issues/7958 > [2] > > https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6 > [3] https://shibboleth.atlassian.net/wiki/spaces/OSAML/overview >