Maintainer guide
Release channels
mainis the stable channel.edgeis the release candidate for upcoming changes.- Version tags use Semantic Versioning and the form
vMAJOR.MINOR.PATCH.
The unified architecture was promoted to main as v1.0.0 on August 30, 2026.
Compatibility policy
Public flake outputs, module options, and library functions introduced in 1.x remain usable throughout 1.x. Renames and moves require:
- A compatibility alias with an evaluation warning.
- A direct replacement in the warning and migration guide.
- Contract coverage for the old and new names.
- Removal only in the next major release.
Security fixes may override this policy when preserving behavior would leave users exposed. Document the exception in the release notes.
Release process
- Confirm
edgepasses every required CI job. - Review deprecation warnings and the migration guide.
- Build generated documentation with
nix build .#docs. - Merge the tested edge release into
mainwithout unrelated changes. - Create an annotated version tag on the stable commit.
- Push the tag. The release workflow validates the commit and publishes generated release notes.
- Verify a fresh consumer can evaluate each supported host integration.
Do not edit generated release notes or generated option documentation in source. Fix their inputs instead.
Supported systems
CI evaluates all declared systems and builds on x86_64 Linux, ARM Linux, Intel macOS, and Apple Silicon macOS. A system is supported only when its native CI job is required and passing.
Intel macOS uses the Nixpkgs 26.05 Darwin branch, which receives security fixes through the end of 2026. Reassess its support plan before that maintenance window closes.