# 21.05 Release Schedule

**URL:** https://discourse.nixos.org/t/21-05-release-schedule/12528
**Category:** Uncategorized
**Created:** [April 17, 2021, 9:13pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528 "2021-04-17T21:13:18Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [April 17, 2021, 9:13pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/1 "2021-04-17T21:13:18Z")

</div>

Hello everyone, you’re friendly neighborhood release manager here.

Just wanted to bring some clarity around what the release schedule timeline will before the 21.05 release. This is heavily based upon [RFC 85](https://github.com/NixOS/rfcs/blob/fd559bdb8276901711e8813cbbf45a1f02578833/rfcs/0085-nixos-release-stablization.md) which aims at decreasing the amount of potential breakages going into a release by limiting changes to `staging` to just minor bumps and bugfixes. Large breaking changes right before release has caused many issues in the past, and they should be avoided.

For simplicity, I broke out the events into two tables, one for the release centric events, and one for “restricting” breaking changes done to the `staging` branch.

| Date | Release Event |
| --- | --- |
| May 7th | Zero Hydra Failures (ZHF) Begins, targets master |
| May 21st | Branch-off, move to “backport” ZHF workflow targeting release-21.05 |
| May 28th | 21.05 Release, ZHF Ends |

| Date | Staging / Staging-next Event |
| --- | --- |
| April 16th | Breaking changes to [release critical packages](https://nixos.github.io/release-wiki/Release-Critical-Packages.html) are not allowed to be merged |
| April 30th | Breaking changes to any package which needs to target `staging` is disallowed |
| May 6th | Merge `staging-next` PR, begin ZHF next day |
| May 14th | Merge first stable `staging-next` PR\* |
| May 14th | Start second stable `staging-next` PR\* |
| May 14th | Open `staging` up to any breaking changes, these changes will not land in the release |
| May 21st | Merge second stabilizing `staging-next` PR |
| May 21st | Branch-off, release development will follow `release-21.05` |
| May 28th | 21.05 Release, ZHF Ends |

\*: `stable staging-next PR` just means a `staging-next` PR whose changes will be included in the release.  
ZHF: Zero Hydra Failures, a period in time in which we try to fix as many failing builds and tests as reported by [Hydra](https://hydra.nixos.org/jobset/nixpkgs/trunk).

## FAQ:

Does this mean we don’t have to backport PRs for the first two weeks of ZHF?

- Yes, part of the motivation was to make ZHF less tedious for both contributors, and reviewers. The first two weeks usually takes care of most of the “low hanging fruit” for fixing builds and tests, only a minority of fixes will need to be backported after the branch-off.

Will my contributions to `master` be affected?

- No, as long as you are “green to green” (package and downstream packages still work) or “red to green” (fixed a package or downstream issue), you will not see any impedance. This is largely the case for most contributions targeting `master` already.

Why limit breaking changes to only `staging`?

- Staging remains to be the “Achilles’ Heel”(weakspot) of nixpkgs. Changes which target `staging` generally affect several hundred to thousands of packages. Trying to capture these effects is difficult for any distribution; and generally handled by seldomly updating these types of packages (e.g. Debian 10 vs Debian 11). For the stable release, I wanted to mitigate the number of “new failures” which may had already been fixed in previous ZHF PRs.
- PRs targeting master are essentially “small enough” in scope that the changes can be mostly captured, thus these PRs do not need to be restricted and likely trying to restrict them in some manner will likely cause more issues than it will solve.

Can I add a new version of a package that would normally warrant a staging PR?

- Yes. For example, if gcc11 were to be released, you will be able to add `gcc11` and `gcc11Stdenv` into nixpkgs; however, you would not be able to bump the default `stdenv` or `gcc`, as this would cause a mass rebuild and likely introduce many regressions. You could also view the PR to add `gcc11` as a PR which would target `master`, therefore doesn’t warrant any breaking changes restrictions.

---

<div class="post-metadata">

### Author: ![ryantm](https://discourse.nixos.org/user_avatar/discourse.nixos.org/ryantm/32/900_2.png) [@ryantm](https://discourse.nixos.org/u/ryantm)
#### Post date: [April 17, 2021, 9:15pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/2 "2021-04-17T21:15:57Z")

</div>



---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [May 21, 2021, 5:07pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/3 "2021-05-21T17:07:52Z")

</div>

Branch-off will occur when `x86_64-darwin` builds get below \<6k, which is usually a large number of leaf packages. (haskell alone is ~6k).

Other interesting point. In the week that we had aarch64-darwin builds (M1 builds), [we now](https://hydra.nixos.org/eval/1671830?filter=aarch64-darwin&compare=1671723&full=#tabs-still-succeed) surpass [homebrew](https://repology.org/repository/homebrew) in up-to-date package count, and have roughly 3x the package count 🙂 . Obviously quantity isn’t everything, but I think it’s a testament to nixpkgs that a new architecture can be onboarded so quickly, and make great use of a lot of prior packaging work.

Want to thank @thefloweringash for enabling the aarch64-darwin bootstrap and additional stabilization. Thanks to @grahamc for enabling this scenario on the infra side :).

---

<div class="post-metadata">

### Author: ![domenkozar](https://discourse.nixos.org/user_avatar/discourse.nixos.org/domenkozar/32/38357_2.png) [@domenkozar](https://discourse.nixos.org/u/domenkozar)
#### Post date: [May 21, 2021, 7:39pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/4 "2021-05-21T19:39:53Z")

</div>

And thanks to Rob for getting us 6 M1 mac minis months ago 🙂

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [May 23, 2021, 1:34am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/5 "2021-05-23T01:34:28Z")

</div>

`release-21.05` has been created, and branch-off has occurred. ZHF will now transition to a backports workflow. More details with be in the ZHF issue.

One week til release (assuming nothing catastrophic happens).

---

<div class="post-metadata">

### Author: ![Elorm](https://discourse.nixos.org/user_avatar/discourse.nixos.org/elorm/32/2192_2.png) [@Elorm](https://discourse.nixos.org/u/Elorm)
#### Post date: [May 28, 2021, 7:34am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/6 "2021-05-28T07:34:06Z")

</div>

Release happening today, as originally planned?

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [May 28, 2021, 3:38pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/7 "2021-05-28T15:38:51Z")

</div>

Unfortunately, there’s still about 12k queued builds for x86\_64-darwin. [Hydra - nixpkgs:staging-next-21.05](https://hydra.nixos.org/jobset/nixpkgs/staging-21.05). It will probably be finalized on Monday.

cc @garbas@domenkozar@vcunat

---

<div class="post-metadata">

### Author: ![vcunat](https://discourse.nixos.org/user_avatar/discourse.nixos.org/vcunat/32/11_2.png) [@vcunat](https://discourse.nixos.org/u/vcunat)
#### Post date: [May 28, 2021, 4:07pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/8 "2021-05-28T16:07:59Z")

</div>

Speaking of the announcement… I guess aarch64-darwin won’t be “officially announced” yet and remain in some kind of experimental mode? (I think ATM it’s built in no jobset but `staging-next` and there’s no channel.)

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [May 28, 2021, 4:17pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/9 "2021-05-28T16:17:02Z")

</div>

M1 is supported in regards to: people don’t have to bootstrap their system, apple SDK 13 has been added, big sur is supported (IIRC). There is still on going discussions around what level of support we will have going forward; currently there is only a `staging-next` jobset building their builds, which means that updates to master or `release-21.05` won’t have new builds until the `staging-next` branches get merged.

cc @thefloweringash for specific details on M1  
cc @grahamc on nixpkgs support

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [May 30, 2021, 8:30pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/10 "2021-05-30T20:30:42Z")

</div>

Seeing as the darwin package set has made little progress, and that darwin is a lesser supported platform; I will be cutting the release regardless on Monday.

The majority of stabilization that we will see in this release has already been applied; and the linux package sets have been completed since Thursday.

If anyone would like to make the case on blocking the NixOS release on darwin build progress, please do so here. I already mentioned boosting darwin resources for the next ZHF period, but that’s not feasible to do for this release.

I think delaying the release 3 days was a warranted compromise, and any further delay would be detrimental to the NixOS release. It will be the first release since 17.03 which will have released in the month it was intended.

---

<div class="post-metadata">

### Author: ![grahamc](https://discourse.nixos.org/user_avatar/discourse.nixos.org/grahamc/32/75_2.png) [@grahamc](https://discourse.nixos.org/u/grahamc)
#### Post date: [May 31, 2021, 12:30pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/11 "2021-05-31T12:30:09Z")

</div>

I am in favor of releasing as is, let’s do a retrospective after the release to figure out how to do better next time.

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [June 1, 2021, 4:36am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/12 "2021-06-01T04:36:46Z")

</div>

21.05 has been released! The tag [has been created](https://github.com/NixOS/nixpkgs/releases/tag/21.05). And the [channels](https://channels.nixos.org/) now have 21.05.

I was having some [issues](https://github.com/NixOS/nixos-homepage/pull/717) creating the nixos-homepage PR, so there will be an official announcement tomorrow when @garbas is available.

---

<div class="post-metadata">

### Author: ![Mapybara](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/8dc957/32.png) [@Mapybara](https://discourse.nixos.org/u/Mapybara)
#### Post date: [June 1, 2021, 5:22am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/13 "2021-06-01T05:22:55Z")

</div>

Thank you very much indeed for all your work!

---

<div class="post-metadata">

### Author: ![craige](https://discourse.nixos.org/user_avatar/discourse.nixos.org/craige/32/1413_2.png) [@craige](https://discourse.nixos.org/u/craige)
#### Post date: [June 1, 2021, 6:08am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/14 "2021-06-01T06:08:16Z")

</div>

Thank you Jon and everyone involved in this release! 🙂

---

<div class="post-metadata">

### Author: ![twoolie](https://discourse.nixos.org/user_avatar/discourse.nixos.org/twoolie/32/2544_2.png) [@twoolie](https://discourse.nixos.org/u/twoolie)
#### Post date: [June 1, 2021, 11:59am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/15 "2021-06-01T11:59:52Z")

</div>

Congrats on a huge, on-time release! 🎉

---

<div class="post-metadata">

### Author: ![richard](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/r/f0a364/32.png) [@richard](https://discourse.nixos.org/u/richard)
#### Post date: [June 1, 2021, 12:18pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/16 "2021-06-01T12:18:37Z")

</div>

When updating using [nixos-21.05 release nixos-21.05.4737.022caabb5f2](https://nixos.org/channels/nixos-21.05), `nixos-version` returns `21.05beta555.d25ea6a0d2a`: is there something missing in the release or the channel is not updated yet?

---

<div class="post-metadata">

### Author: ![Elorm](https://discourse.nixos.org/user_avatar/discourse.nixos.org/elorm/32/2192_2.png) [@Elorm](https://discourse.nixos.org/u/Elorm)
#### Post date: [June 1, 2021, 1:02pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/17 "2021-06-01T13:02:24Z")

</div>

Noticed as well, went with small instead [21.05-small](https://releases.nixos.org/nixos/21.05-small/nixos-21.05.599.7e9b0dff974)

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [June 1, 2021, 2:32pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/18 "2021-06-01T14:32:36Z")

</div>

> [@richard](#):
>
> `21.05beta555.d25ea6a0d2a` : is there something missing in the release or the channel is not updated yet?

The stable tag has been created, and the channels have been marked with `stableBranch`. Just need the jobset to complete again. For example, nixos-small has already completed: [nixos-21.05-small release nixos-21.05.608.4eb41db7d8f](https://releases.nixos.org/nixos/21.05-small/nixos-21.05.608.4eb41db7d8f)

---

<div class="post-metadata">

### Author: ![wkral](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/w/b19c9b/32.png) [@wkral](https://discourse.nixos.org/u/wkral)
#### Post date: [June 1, 2021, 4:29pm UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/19 "2021-06-01T16:29:10Z")

</div>

Thanks for all the hard work on this release. I just want to say that having watched, and participated (lightly) in a couple different releases, this one seemed a lot smoother overall and I think that’s largely due to the changes in the release process. I think it’s been a big improvement, including unstable being a lot more stable through the process.

I know a lot of people are responsible for this so thanks to all of you.

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [June 2, 2021, 6:46am UTC](https://discourse.nixos.org/t/21-05-release-schedule/12528/20 "2021-06-02T06:46:31Z")

</div>

21.05 has now been officially released: [21.05 Has been Released!](https://discourse.nixos.org/t/21-05-has-been-released/13407)
