In mid-2018 2019 there was a decision to move towards a time-based, quarterly release schedule for Apache NetBeans releases. This schedule brings that into affect, starting started from Apache NetBeans 11.1, and retrospectively designates designated Apache NetBeans 11.0 as an LTS release.
End 2019 lazy decision to shift release At the end of 2019 the schedule was shifted back by one month, to avoid the end of year period.
Schedule
. At the end of 2020, master freezing was replaced by a move to a delivery and release branch mechanism.
In early 2021, a decision was made to review the process and requirements for LTS releases. No LTS release will be made in 2021. Subject to that review, the next LTS will not be until at least Feb 2022 (the second release after JDK 17).
Schedule
Date | 2020 | 2021 | 2022 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
January 15th | Feature freeze for next release. | ||||||||||||
February 7th - 15th | Voting | ||||||||||||
Date | Description for 1st cycle | 1st cycle | 2nd cycle | 3rd cycle | |||||||||
February 21st | NB <version+1>.0 merge window opens. | March 15th | Feature freeze. Merge window closes. Release branch <version+1>.0 created and beta build(s) made available. When Beta 1 is available, NetCAT testing phase starts. | April 30th | NetCAT testing ends. NetCAT community acceptance vote. | May 7th | NB <version+1>.0 voting candidate created and release vote commences. | ||||||
May February 15th - 31st | NB <version+1>.0 LTS released. | May 21st | 30th | Apache NetBeans release. | NetBeans 12.3 | NetBeans 13 or 13.0 (LTS?) | |||||||
April 15th | Feature freeze for next release. | ||||||||||||
May 7th - 15th | Voting | July 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??? | August 7th | NB <version>.1 votingcandidate created and release vote commences. | ||||||||
May 15th - | 31stNB <version>.1 released.30th | Apache NetBeans release. | NetBeans 12.1 (in 20200 LTS | )NetBeans 12.54(in 2021) | NetBeans 14 or 13.2 (in 2022) | August 21st | 1 | ||||||
July 15th | Feature freeze for next release. | ||||||||||||
August 7th - 15th | Voting | NB <version>.2 merge window opens. | October 15th | Branching for <version>.2 delivery branch created, version bump on master | October 22nd | delivery → master branch merge, delivery → release branch merge publish beta2 | October 29th | delivery → master branch merge, delivery → release branch merge publish beta3 | November 7th | candidate created and release vote commences. | |||
August 15th - 31st | Apache NetBeans release. | NetBeans 12.2 (in 2020)1 | NetBeans 12.6 5 (in 2021) | NetBeans 15 or 13.3 (in 2022) | November 15th - 30th | NB <version>.2 released. | January 15th | Release branch <version>.3 created and beta build(s) made available. Version bump on master | January 22nd | <release branch> → master merge publish beta2 | January 29th | <release branch> → master merge publish beta3 | 2 |
October 15th | Feature freeze for next release. | ||||||||||||
November 7th - 15th | Voting | February 7th | NB <version>.3 voting candidate created and release vote commences. | ||||||||||
February November 15th - 30th | NB <version>.3 released. (Start NetCAT with this release here? Answer: No, for 12.0. Reconsider for 13.0.)Apache NetBeans release. | NetBeans 12.3 (in 2021)LTS NetBeans 13.0 (in 2022) | NetBeans 13.4 (in 2022) |
...
2 | NetBeans 12.6 | NetBeans 16 or 13.3 |
Key points
- Four releases a year on known dates (within reason, weekends, blockers, etc.).Everything merged to master at all times is intended and ready to be included in the next scheduled release. No or minimal cherry-picking to release branches. Keep master releasable.
- Each release has a fixed and well known feature-freeze date. Features may be targetted targeted for releases, but no promises are made of features being included unless they have been merged to master by that date.
- Everything merged to master at all times prior to feature freeze is intended and ready to be included in the next scheduled release. Keep master releasable!
- Merging earlier rather than later in the merge window is to be encouraged!
- After the feature freeze date only , fixes intended for the release should be merged to master delivery until the next feature window opens. Aside from any release-specific commits, the release The delivery branch will be kept in sync with mastermerged to both master and release branches on a weekly schedule.
- All fixes merged to master delivery after the feature-freeze date should be made assessed and reviewed in accordance with the Bug Priority Guidelines
- Currently under review - One release a year is designated a long-term / extended support version -
Only this release has a full NetCAT process, and subsequently a much shorter (month less) merge window to accommodate it (and because the emphasis for this release should be on fully stabilising features added in the previous 3 releases).For 9 months of the year that means that people have a choice of two downloads (need to consider how to describe that, and what if any infrastructure concerns that brings?). NetBeans 11.0 remains available until April 2020.Minimal serious bug fixes might be backported to the LTS release and pushed via UC, taking into account the Bug Priority Guidelines (critical or blocker affecting significant users?) These should be done on the relevant release branch.Users needing features should be encouraged on to the faster release train, and help test those features before next LTS.Major version number is incremented for LTS. So NetBeans 12.0 would be in April 2020. Perhaps counter-intuitively the major version number would be increased for the versions with least new features. (Consider NetBeans 11.1 equivalent to NetBeans 11 feature update 1?)
Details, notes, and discussions: Notes and Discussions on the Release Schedule
...