In mid-2018 there was a decision to move towards a time-based, quarterly release schedule for Apache NetBeans releases. This schedule brings that into affect, starting from Apache NetBeans 11.1, and retrospectively designates Apache NetBeans 11.0 as an LTS release.
Schedule
Date | Release | Description |
---|---|---|
June 15th | Feature freeze. Merge window closes. Only fixes intended for next release to be merged into master. Release branch <version>.1 created and beta build(s) made available. NetCAT lite??? | |
July 7th | NB <version>.1 voting candidate created and release vote commences. | |
July 15th - 31st | NetBeans 11.1 (in 2019) | NB <version>.1 released. |
July 21st | NB <version>.2 merge window opens. | |
September 15th | Feature freeze. Merge window closes. | |
October 7th | NB <version>.2 voting candidate created and release vote commences. | |
October 15th - 31st | NetBeans 11.2 (in 2019) | NB <version>.2 released. |
October 21st | NB <version>.3 merge window opens. | |
December 15th | Feature freeze. Merge window closes. | |
January 7th | NB <version>.3 voting candidate created and release vote commences. | |
January 15th - 31st | NetBeans 11.3 (in 2020) | NB <version>.3 released. (Start NetCAT with this release here???) |
January 21st | NB <version+1>.0 merge window opens. NetCAT announced and signups begin. | |
February 15th | Feature freeze. Merge window closes. Release branch <version+1>.0 created and beta build(s) made available. NetCAT test spec review starts. | |
February 21st | NetCAT testing phase starts. | |
March 21st | NetCAT testing ends. NetCAT community acceptance vote. | |
April 7th | NB <version+1>.0 voting candidate created and release vote commences. | |
April 15th - 30th | LTS NetBeans 12.0 (in 2020) | NB <version+1>.0 LTS released. |
April 21st | NB <version+1>.1 merge window opens. GOTO 10 |
NB. The dates here are deliberately mid-month, two weeks after previously suggested. Because no-one wants to do a release on New Years Eve, and it potentially gives a little more leeway in releasing / testing with JDK releases?
Questions still to be answered?
- What is NetCAT lite? Do we need to consider labelling in PRs for specific NetCAT sections / tribes to be consulted?
- Kafka page (below) has both feature freeze and code freeze (blockers only) dates - do we need similar?
- Would the dates above be better specified to always be on the same day - eg. as week in the year, or second Wednesday in April, etc.?
- How much of the release process can be configurable in the build? Could we get to a point that release branches are not required, and a tag could be used - is that desirable?
- Do we allow limited bypass of feature freeze? By mailing list vote?
- Do we need a short-lived general "next" branch or specific short-lived feature branches to merge PRs where there's a need to collaborate or bring together interdependent things after feature freeze?
- ... ???
Impetus
In mid-2018 there was a rough consensus on moving to a fixed three-month schedule for Apache NetBeans release. However, as of May 2019 we had not fully achieved that transition, with some aspects of feature-based releasing still in play (eg. September release earmarked as NB12 because it will contain C/C++ support, but what if that's not ready?).
This page attempts to pull together various comments made on the dev@ mailing list, along with some other projects' reasoning and methodology around time-based releasing (non-comprehensive links below!). It attempts to pull in various thoughts people have made about simplifying the release process, how NetCAT realistically fits in with this new release schedule, whether such frequent releases can be as stable, and whether all users (particularly corporate / education) want to update so frequently?
Links
https://lists.apache.org/thread.html/ff506c4a56f267a1b616c18ae218301b3e6d386ce618940e32faaea3@%3Cdev.netbeans.apache.org%3E - lazy consensus thread on adopting this schedule
https://lists.apache.org/thread.html/ea5189b51477cfca2b18e9c122872d36ab3ef6d9babf27c4aa649c3d@%3Cdev.netbeans.apache.org%3E - discussion thread on this schedule
https://lists.apache.org/thread.html/903873879219d2852e0889b14e4e8d1e4135c15bbe68f370245d10ad@%3Cnetcat.netbeans.apache.org%3E - original discussion thread on quarterly releases
https://lists.apache.org/thread.html/cc5575ac4173b8a934e78d300b1063013606be00ffc7d8d30b00419b@%3Cdev.netbeans.apache.org%3E - another original discussion thread on quarterly releases
Time Based Release Plan - Apache Kafka
https://wiki.mozilla.org/Release_Management/Calendar - Firefox release schedule