You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by David Handermann <ex...@apache.org> on 2022/06/15 15:48:05 UTC

[DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

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

Re: [DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

Posted by David Handermann <ex...@apache.org>.
Team,

I created the following Jira issue to capture the details of this
discussion:

https://issues.apache.org/jira/browse/NIFI-10147

We can continue the discussion on this thread, and include more specific
comments on the Jira issue as well.

As mentioned in the Jira issue, we should revisit a more definite
implementation plan following the release of NiFi 1.17.0.

Regards,
David Handermann

On Wed, Jun 15, 2022 at 12:31 PM Kevin Doran <kd...@apache.org> wrote:

> Pierre and David, I agree with this project goals:
>
>
>    - a 2.x release that drops support for Java 8 (requires at least Java
>    11) by EOY
>    - a 3.x release that drops support for Java 11 (requires at least Java
>    17) in the not-to-distant future, perhaps 2023/24
>
>
> This would also mean we could move some of the original goals of 2.x to
> target the 3.x line instead, given the deadlines David identified.
>
> Kevin
>
> On Jun 15, 2022 at 13:20:41, David Handermann <exceptionfactory@apache.org
> >
> wrote:
>
> > Thanks for the replies Kevin and Pierre!
> >
> > Various JDK vendors have different timelines for Java 11 support, some
> > planning to end active support in September 2023 and others in October
> > 2024.  Either way, I agree that moving to Java 11 as the minimum version
> > should be a shorter duration, with the goal of making Java 17 the minimum
> > before too much time elapses.
> >
> > As far as a general timeline for removing Java 8 support in NiFi, a good
> > goal in my mind would be no later than the end of this calendar year,
> 2022.
> >
> > Regards,
> > David Handermann
> >
> > On Wed, Jun 15, 2022 at 11:55 AM Pierre Villard <
> > pierre.villard.fr@gmail.com>
> > wrote:
> >
> > I'd even love to go straight to Java 17 since it's the new LTS version...
> >
> > but this may be quite a big jump for our community and users.
> >
> > I guess we can envision a "short" 2.x release line and consider Java 17
> for
> >
> > 3.x.
> >
> > Definitely approve the proposal!
> >
> >
> > Le mer. 15 juin 2022 à 18:50, Kevin Doran <kd...@apache.org> a écrit :
> >
> >
> > > 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 <
> >
> > exceptionfactory@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
> >
> > > >
> >
> > >
> >
> >
> >
>

Re: [DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

Posted by Kevin Doran <kd...@apache.org>.
Pierre and David, I agree with this project goals:


   - a 2.x release that drops support for Java 8 (requires at least Java
   11) by EOY
   - a 3.x release that drops support for Java 11 (requires at least Java
   17) in the not-to-distant future, perhaps 2023/24


This would also mean we could move some of the original goals of 2.x to
target the 3.x line instead, given the deadlines David identified.

Kevin

On Jun 15, 2022 at 13:20:41, David Handermann <ex...@apache.org>
wrote:

> Thanks for the replies Kevin and Pierre!
>
> Various JDK vendors have different timelines for Java 11 support, some
> planning to end active support in September 2023 and others in October
> 2024.  Either way, I agree that moving to Java 11 as the minimum version
> should be a shorter duration, with the goal of making Java 17 the minimum
> before too much time elapses.
>
> As far as a general timeline for removing Java 8 support in NiFi, a good
> goal in my mind would be no later than the end of this calendar year, 2022.
>
> Regards,
> David Handermann
>
> On Wed, Jun 15, 2022 at 11:55 AM Pierre Villard <
> pierre.villard.fr@gmail.com>
> wrote:
>
> I'd even love to go straight to Java 17 since it's the new LTS version...
>
> but this may be quite a big jump for our community and users.
>
> I guess we can envision a "short" 2.x release line and consider Java 17 for
>
> 3.x.
>
> Definitely approve the proposal!
>
>
> Le mer. 15 juin 2022 à 18:50, Kevin Doran <kd...@apache.org> a écrit :
>
>
> > 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 <
>
> exceptionfactory@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
>
> > >
>
> >
>
>
>

Re: [DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

Posted by David Handermann <ex...@apache.org>.
Thanks for the replies Kevin and Pierre!

Various JDK vendors have different timelines for Java 11 support, some
planning to end active support in September 2023 and others in October
2024.  Either way, I agree that moving to Java 11 as the minimum version
should be a shorter duration, with the goal of making Java 17 the minimum
before too much time elapses.

As far as a general timeline for removing Java 8 support in NiFi, a good
goal in my mind would be no later than the end of this calendar year, 2022.

Regards,
David Handermann

On Wed, Jun 15, 2022 at 11:55 AM Pierre Villard <pi...@gmail.com>
wrote:

> I'd even love to go straight to Java 17 since it's the new LTS version...
> but this may be quite a big jump for our community and users.
> I guess we can envision a "short" 2.x release line and consider Java 17 for
> 3.x.
> Definitely approve the proposal!
>
> Le mer. 15 juin 2022 à 18:50, Kevin Doran <kd...@apache.org> a écrit :
>
> > 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 <
> exceptionfactory@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
> > >
> >
>

Re: [DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

Posted by Pierre Villard <pi...@gmail.com>.
I'd even love to go straight to Java 17 since it's the new LTS version...
but this may be quite a big jump for our community and users.
I guess we can envision a "short" 2.x release line and consider Java 17 for
3.x.
Definitely approve the proposal!

Le mer. 15 juin 2022 à 18:50, Kevin Doran <kd...@apache.org> a écrit :

> 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 <exceptionfactory@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
> >
>

Re: [DISCUSS] Strategy for Dropping Java 8 Support in NiFi 2.0

Posted by Kevin Doran <kd...@apache.org>.
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 <ex...@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
>