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
>

Reply via email to