+1  (non-binding)

On 11/04/2023 09:16, Neil C Smith wrote:
# Proposed policy

* Apache NetBeans 18 will be the last release to support running the
platform on JDK 8.

* From Apache NetBeans 19, the minimum JDK required to build and run
the IDE or platform will be JDK 11.

* Future releases will take an "LTS-1" strategy for building and
running (and CI testing) of the IDE and platform. Three JDKs will be
supported at any one time - the current JDK, plus the previous two LTS
releases. eg. NetBeans 20 and 21 (Nov 2023 / Feb 2024) will support
JDK 11, 17 and 21. NetBeans 22 (May 2024) will support JDK 17, 21 and
22.

## Background

The Apache NetBeans IDE has officially required JDK 11 to build and
run since NetBeans 13 in March 2022. The platform (and unofficially
the IDE) have continued to support running on JDK 8 - all modules
requiring a higher JDK must currently be optional. Various tests have
continued on JDK 8.

This situation is causing issues as workarounds must be found for
currently non-optional features that have dependencies or other
requirements for running on a higher JDK (eg. Maven indexing / Lucene
[1]). It's causing delays, complications and missed testing time in
integration of new features (eg. problems merging support for EE 10
[2]). Supporting an increasing range of JDKs is causing increasing
workload, both for people and CI. Meeting the challenges of deprecated
(for removal) features in the JDK is also complicated by the
additional JDK requirements.

## Notes

* Apache NetBeans users will continue to be recommended to use the
current or latest LTS JDK to run the IDE.  The IDE will continue to
support users developing projects for/with JDK 8, for as long as
nb-javac and other dependencies allow.

* This proposal specifically doesn't address when the default bytecode
level across the codebase is increased. This can happen when required,
but non-optional modules would be free to adopt the minimum JDK as
they need to.

* Optional modules may continue to require a runtime JDK higher than
the minimum.  Should it become necessary, build time optional modules
might be considered - eg. a build on the minimum JDK may exclude
modules that will not run on that JDK at runtime.

* Some modules that are of independent use (eg. lookup, utilities,
etc.) might be nominated and advertised to continue JDK 8 support for
the time being. This is not expected to cover the runtime container as
a whole - https://netbeans.apache.org/tutorials/nbm-runtime-container.html

* Once NetBeans 19 is released, the NetBeans 18 release branch could
be used to backport and release JDK 8 supporting fixes, subject to any
PMC members wanting to manage those releases.

* The term "platform" is used in reference to the whole framework of
modules that we release (eg. via Maven), not just the platform
cluster.

[1] https://github.com/apache/netbeans/pull/4999
[2] https://github.com/apache/netbeans/pull/4692


## Procedure

This vote is going to be open at least 72 hours.  Vote with +1, 0, and -1.

Please mark your vote as binding only if you're an Apache NetBeans PMC
member to help with voting admin.

Decision will be by majority vote, with at least 3 binding positive votes.

Thanks,

Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to