+1

-----Oorspronkelijk bericht-----
Van: Neil C Smith <neilcsm...@apache.org> 
Verzonden: dinsdag 11 april 2023 10:17
Aan: dev <dev@netbeans.apache.org>
Onderwerp: [VOTE] Minimum JDK build and run policy (dropping JDK 8)

# 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