Skip to content
/ rfcs Public
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/rfcs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: eee65998c1d3
Choose a base ref
...
head repository: NixOS/rfcs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 123e94a3bf55
Choose a head ref
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Dec 17, 2020

  1. [RFC 0080] Change NixOS releases to YY.05,YY.11 (#80)

    Jonathan Ringer authored Dec 17, 2020
    1

    Verified

    This commit was signed with the committer’s verified signature.
    Copy the full SHA
    123e94a View commit details
Showing with 72 additions and 0 deletions.
  1. +72 −0 rfcs/0080-nixos-release-schedule.md
72 changes: 72 additions & 0 deletions rfcs/0080-nixos-release-schedule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
feature: nixos-release-schedule
start-date: 2020-11-28
author: Jonathan Ringer (@jonringer)
co-authors: Frederik Rietdijk (@FRidh)
shepherd-team: @ryantm, @domenkozar and @garbas
related-issues:
---

# Summary
[summary]: #summary

NixOS is released twice a year; the current release schedule targets March
and September for the release months. However, trying to provide a polished
desktop-user experience is difficult and moving the target release months to
May and November should minimize the amount of in-house work needed to
cut a release.

# Motivation
[motivation]: #motivation

By changing our release dates to follow those of certain upstream projects,
we could reduce the amount of issues we encounter during stabilization.
In particular, GNOME and KDE Plasma both have a release in September, which
allows ample time for NixOS contributors to package and stabilize the
desktop managers before the November release. For the May release, GNOME will
have a similar stabilization period; while Plasma, which has a four month
release cadence, will have a slightly older but still supported non-LTS
release. Using LTS releases is not feasible as there is no guarantee that
they will be compatible with the version of systemd during branch-off.

The current March and September release months may be the worst months for
GNOME and Plasma, as the release available during stabilization would be
End-of-Life a few weeks after the target release date. Also, this period marks
the greatest potential dependency "drift" from development on unstable. For example,
many of the 20.09 release blockers were related to issues with systemd-246 and plasma-5.18,
however, plasma-5.19 and the yet-released 5.20 both supported systemd-246 with
zero additional effort.

Choosing branch-off points in master where the major desktop manager use
cases should be well stabilized will allow for release stabilization to
focus on failing builds and minor issues.

## Core changes

The 21.03 release will be delayed until 21.05, and the current 20.09 release
will be supported until June 2021. After the initial 21.05 release, all subsequent
releases will occur six months apart following a YY.05 and YY.11 convention.

# Drawbacks
[drawbacks]: #drawbacks

There will be some initial confusion with stable users as to why the 21.03
release was delayed.

# Alternatives
[alternatives]: #alternatives

## Maintain the status quo regarding release dates

We could keep the release dates in March and September. However, we
would need some other way to minimize the work and risk from trying to
provide a polished experience for 60,000+ packages, 17 desktop managers,
and 30+ window managers.

# Future work
[future]: #future-work

- Update .version on master to 21.05
- Update unstable osinfo-db entry to 21.05pre
- Document the release schedule in the NixOS manual.
- Announce the various deadlines on the mailing list (Discourse).