That's a fair point and I think represents the way we want to go
forward. If I understand correctly, you're saying bug fixes meant for
both lines shouldn't need/use Java 17 features but new capabilities
for 2.0 should encourage the use of Java 17 features when prudent?

Thanks,
Matt

On Mon, Aug 7, 2023 at 8:33 PM Joe Witt <joe.w...@gmail.com> wrote:
>
> The views shared thus far are certainly reasonable but I do want to add
> a different take.
>
> The reason we want to do major releases from time to time is so that we can
> take advantage of leaps in the language and frameworks we rely on.  To that
> end it would seem unfortunate to not start aggressively taking advantage of
> that.  In particular we've been held to Java 8 standards for at least 7
> years.  I would advocate we allow and even encourage usage of Java 17
> features/syntax to help move forward.
>
> The point about backporting is important and I agree the 'easiest' way is
> if changes made to main are backportable.  Then again we don't really need
> everything to be backportable and for sure that will start happening less
> and less.  If we're talking about 'bug fixes' then it probably makes sense
> to prefer for now they avoid Java 17 assuming a given fix should target
> both 2.x and 1.x lines.  But if we're talking about new features or even
> improvements I think we should be free to move on to Java 17
> idioms/benefits.  If a contrib does this then it just won't go to the 1.x
> line.  This atrophy is natural/ok I think and lets us give the 2.x line the
> attention/growth it deserves.
>
> Thanks
>
> On Mon, Aug 7, 2023 at 2:19 PM David Handermann <exceptionfact...@apache.org>
> wrote:
>
> > Mike,
> >
> > Thanks for raising the question. Following Matt's comments, I recommend
> > minimizing use of Java 17 features to make it easier to backport changes
> > for now.
> >
> > Incremental adjustments can be done when backporting, but it requires the
> > author and reviewer to pay careful attention since the GitHub automated
> > builds for the main branch run on Java 17.
> >
> > As Matt recommended, the alternative is to provide separate pull requests
> > for the main and support branches.
> >
> > We already have a few Java 11 and 17 references on the main branch for
> > things like List.of(), and most of these are easy to adjust when
> > backporting, but they do require careful attention.
> >
> > Regards,
> > David Handermann
> >
> > On Mon, Aug 7, 2023 at 4:04 PM Matt Burgess <mattyb...@apache.org> wrote:
> >
> > > In my opinion that's ok, but I think it would be helpful if a PR is
> > > going to be backported to support/nifi-1.x that the PR author provides
> > > two PRs, one against main with Java 17 features and one against
> > > support/nifi-1.x with Java 8 features. That being said, allowing Java
> > > 17 features may make maintenance tougher while there's an active 1.x
> > > branch. Maybe we should wait until we only support NiFi 2.x?
> > >
> > > On Mon, Aug 7, 2023 at 4:59 PM Mike Thomsen <mikerthom...@gmail.com>
> > > wrote:
> > > >
> > > > Since we're standardizing on 17, we're free and clear to use Java 17
> > > > features, right?
> > >
> >

Reply via email to