Release Critical Packages
These packages are deemed "sufficiently complex" in the package ecosystem to
warrant treating them differently when stabilizing the package set leading up to
a stable release. Generally, these packages will be closely related to stdenv
or fundamental to NixOS (e.g. systemd
). The implications of
RFC 0085
are that these packages can not have breaking changes applied to them for six weeks
leading up to a release date. This delay allows for changes in these packages to be
sufficiently stabilized through usage on unstable, and allows for many staging
iterations for these fixes to be applied.
List of Release Critical Packages:
binutils
gcc
glibc
llvm
systemd
Process for Modifying Release Critical Packages
A release retrospective will take place after a release occured; one of the topics of discussion will be to modify the list of critical packages. Packages may be added if they caused a significant amount of pain, or packages may be removed if their updates cause little to no pain. Pain in this case is defined as causing failing builds, regressions in downstream packages, or regressions in user experience.