2.2 KiB
Maintaining Nixvim
This file is intended as a reference for Nixvim's core maintainers, although it may be interesting for anyone curious how we do certain things.
Deprecation
We aim to guarantee a seamless experience for stable channel users by providing rename aliases, removal notices, and other warnings and assertions.
Deprecations should include a comment in the format of:
# TODO: Added YYYY-MM-DD, remove after <n+2>
where:
nis the current release; 25.05 at the time of writingn+1is the next release; 25.11 at the time of writingn+2is the release followingn+1; 26.05 at the time of writing
If a warning is created on release n, then:
- We should not remove it before
n+1is released unless there is a bug or it is plain wrong - We may remove it after
n+1is released, but only if it causes undue friction - We should remove it once
n+2is released, as routine cleanup
Releasing
Nixvim releases stable versions in sync with nixpkgs. A YY.05 version is released in May and a YY.11 version is released in November.
We do not need to wait for the release to come out of “beta” before creating a branch, however we should wait before updating links and references on the main branch.
Creating a stable branch may require temporarily disabling branch protection. This can only be done by an "admin" or "owner".
Once a stable branch is created, its flake inputs should be updated to point to the corresponding stable versions. The branch can be created before these exist, in which case they should be updated when the corresponding stable inputs become available.
Once a stable version is considered "out of beta", references to Nixvim's stable branch should be updated on the main branch to reference the new version.
version-info
The update workflow will automatically add info about stable branches to version-info.toml.
This is used by CI workflows like update-other and website to automatically list supported stable versions.
This should usually be handled automatically, however errors may show up if a version is added to version-info.toml before the corresponding Nixvim branch exists.