+1 Java 8 LTS technically ended a year ago (with “extended” support available until 2030). Android shouldn’t be the boat anchor holding NB back. (Android isn’t even a supported platform for Java 8. https://www.oracle.com/java/technologies/javase/products-doc-jdk8-jre8-certconfig.html)
There is nothing stopping those that want to maintain a Java 8 compatible port of NB, but there is no justification to inflict the “suffering” on the future development of the main NB project. Specially without metrics to demonstrate a demand for the requirement. Attracting contributors is hard enough. Scott > On Apr 5, 2023, at 4:33 PM, John Kostaras <jkosta...@gmail.com> wrote: > > -1 > > Java 8 is also LTS and many out there are still stuck to it. I support > Jarda, too. > >> On Wed, Apr 5, 2023 at 6:25 PM toni.ep...@eppleton.de < >> toni.ep...@eppleton.de> wrote: >> >> -1 >> >> I agree with Jarda. Having the portability for platforms like Android is >> important, and I support the proposed alternative. >> >> >> >> Von: Jaroslav Tulach <jaroslav.tul...@gmail.com> >> Datum: Mittwoch, 5. April 2023 um 17:13 >> An: dev <dev@netbeans.apache.org> >> Betreff: Re: [Lazy Consensus] Minimum JDK build and run policy (dropping >> JDK 8) >> -1 >> >> Background: http://wiki.apidesign.org/wiki/Portability >> >> >> Alternative: >> >> - I will maintain what ever needs to be maintained to keep JDK 8 CI tests >> running >> >> - From Apache NetBeans 19, the minimum JDK required to build and run >> the IDE will be JDK 11. >> >> - The minimum JDK to run and test the NetBeans Platform and modules up to >> VSCode & Jackpot remains JDK 8. >> >> - Usage of JDK11, JDK17, etc. API is possible in dedicated modules via >> http:// >> wiki.apidesign.org/wiki/AlternativeImplementation >> >> >> Justification: >> >> Writing in Java (a language designed to write once and run everywhere) >> greatly >> increases portability. However there is another axis hurting portability - >> the >> supported JDK version. Of course, should a library be widely used, it has >> to >> support as oldest JDK as possible. These days it is JDK8 - the primary >> reason >> being that Android supports JDK8 - as such, should a library aspire to be >> used >> on Android (as well as regular Java), it needs to stick to version eight. >> >> There's transitivity of non-portability - the portability of the final >> application cannot be bigger than portability of the least portable library >> used. This applies also to 3rd party dependencies a framework or library >> has: >> again their non-portability may negatively affect portability of such >> framework >> or library. >> >> Of course, writing portable libraries is harder. It requires more work from >> the API author, more self-control, more suffering. However such suffering >> is >> justifiable. There is usually a single API writer, but there are many >> users to >> it. What matters is to simplify and improve experience of those API users - >> own author suffering doesn't matter that much. >> >>> # 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 >>> >>> --------------------------------------------------------------------- >>> 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 >> >> >>