|
| 1 | +--- |
| 2 | +feature: nixos-release-schedule |
| 3 | +start-date: 2020-11-28 |
| 4 | +author: Jonathan Ringer (@jonringer) |
| 5 | +co-authors: Frederik Rietdijk (@FRidh) |
| 6 | +shepherd-team: @ryantm, @domenkozar and @garbas |
| 7 | +related-issues: |
| 8 | +--- |
| 9 | + |
| 10 | +# Summary |
| 11 | +[summary]: #summary |
| 12 | + |
| 13 | +NixOS is released twice a year; the current release schedule targets March |
| 14 | +and September for the release months. However, trying to provide a polished |
| 15 | +desktop-user experience is difficult and moving the target release months to |
| 16 | +May and November should minimize the amount of in-house work needed to |
| 17 | +cut a release. |
| 18 | + |
| 19 | +# Motivation |
| 20 | +[motivation]: #motivation |
| 21 | + |
| 22 | +By changing our release dates to follow those of certain upstream projects, |
| 23 | +we could reduce the amount of issues we encounter during stabilization. |
| 24 | +In particular, GNOME and KDE Plasma both have a release in September, which |
| 25 | +allows ample time for NixOS contributors to package and stabilize the |
| 26 | +desktop managers before the November release. For the May release, GNOME will |
| 27 | +have a similar stabilization period; while Plasma, which has a four month |
| 28 | +release cadence, will have a slightly older but still supported non-LTS |
| 29 | +release. Using LTS releases is not feasible as there is no guarantee that |
| 30 | +they will be compatible with the version of systemd during branch-off. |
| 31 | + |
| 32 | +The current March and September release months may be the worst months for |
| 33 | +GNOME and Plasma, as the release available during stabilization would be |
| 34 | +End-of-Life a few weeks after the target release date. Also, this period marks |
| 35 | +the greatest potential dependency "drift" from development on unstable. For example, |
| 36 | +many of the 20.09 release blockers were related to issues with systemd-246 and plasma-5.18, |
| 37 | +however, plasma-5.19 and the yet-released 5.20 both supported systemd-246 with |
| 38 | +zero additional effort. |
| 39 | + |
| 40 | +Choosing branch-off points in master where the major desktop manager use |
| 41 | +cases should be well stabilized will allow for release stabilization to |
| 42 | +focus on failing builds and minor issues. |
| 43 | + |
| 44 | +## Core changes |
| 45 | + |
| 46 | +The 21.03 release will be delayed until 21.05, and the current 20.09 release |
| 47 | +will be supported until June 2021. After the initial 21.05 release, all subsequent |
| 48 | +releases will occur six months apart following a YY.05 and YY.11 convention. |
| 49 | + |
| 50 | +# Drawbacks |
| 51 | +[drawbacks]: #drawbacks |
| 52 | + |
| 53 | +There will be some initial confusion with stable users as to why the 21.03 |
| 54 | +release was delayed. |
| 55 | + |
| 56 | +# Alternatives |
| 57 | +[alternatives]: #alternatives |
| 58 | + |
| 59 | +## Maintain the status quo regarding release dates |
| 60 | + |
| 61 | +We could keep the release dates in March and September. However, we |
| 62 | +would need some other way to minimize the work and risk from trying to |
| 63 | +provide a polished experience for 60,000+ packages, 17 desktop managers, |
| 64 | +and 30+ window managers. |
| 65 | + |
| 66 | +# Future work |
| 67 | +[future]: #future-work |
| 68 | + |
| 69 | +- Update .version on master to 21.05 |
| 70 | +- Update unstable osinfo-db entry to 21.05pre |
| 71 | +- Document the release schedule in the NixOS manual. |
| 72 | +- Announce the various deadlines on the mailing list (Discourse). |
0 commit comments