Release policy
The first public release will be v0.1.0. Everything before that tag is unreleased development history. The public release starts with a fresh database; there is no supported import path from an earlier private installation.
Versions and changes
- Use
vMAJOR.MINOR.PATCHGit tags and matching versions in the root and all workspacepackage.jsonfiles. Keep the Nix version and NodeInfo version derived from the root package version. - Before
1.0.0, increment MINOR for incompatible changes and new features; increment PATCH for compatible fixes. From1.0.0, use MAJOR for incompatible changes, MINOR for compatible features, and PATCH for compatible fixes. - Maintain
CHANGELOG.mdunderUnreleasedwhile developing. Before tagging, move shipped items to a dated## [X.Y.Z] - YYYY-MM-DDsection. Include operator actions, configuration changes, and migration risks alongside user-facing changes. Explain breaking changes and their upgrade path. - Update
docs/ko/changelog.mdfor the same release, and update the Korean operator guides whenever their English instructions change. Build both locales withyarn docs:buildbefore tagging. - A release tag is immutable. If a release is faulty, publish a new version; never replace an existing tag or image version.
Release checklist
- Review dependencies, license notices, documentation, and the changes since the previous tag. Update all package versions and
CHANGELOG.md. - Run
yarn install --immutable,yarn typecheck,yarn lint:solid, andyarn test. Run the UI suite and Nix build when their inputs changed. - Check the release metadata with
yarn release:check vX.Y.Z. Commit the version and changelog changes, then tag that exact commitvX.Y.Z. - The tag workflow runs the full CI workflow before publishing the container image as
ghcr.io/moreal/rss2pub:vX.Y.Z. Thelatesttag follows only stable release tags. Verify the GHCR package is publicly readable. Operators should pin a version tag or digest. - Publish release notes from the matching changelog section. For any schema change, include the bundled
db:migratecommand, backup, and upgrade instructions from the migration policy.
Do not publish a tag while the quality gate is red. A successful container build alone is not a release check.
Documentation deploys separately on main through GitHub Pages. For domain setup and checks, see the documentation deployment guide.