releaselisted
Install: claude install-skill ahilles107/gravity
# Releasing Gravity
A release is an annotated `v*` tag on `main`; use the configured signing
identity for official tags. Pushing that tag runs
`.github/workflows/release.yml` on a GitHub-hosted macOS ARM64 runner, which
builds the desktop app, packages `gravityd`, and creates the GitHub release.
Signing, notarization and updater artifacts are configurable; see
`docs/public-builds.md` for the required variables and secrets. Verify that
configuration before releasing. For an existing distribution, preserve the
updater signing pair. When changing download endpoints, retain a compatibility
bridge for every endpoint embedded in existing installations.
Publishing `latest.json` makes configured running apps offer the update.
Verify the intended repository and existing publication authorization before
pushing a tag;
do not infer access to official signing credentials in a contributor fork.
## The rule that governs everything here
**The version lives in six files and the workflow refuses to build unless they
all agree with the tag.** The `Resolve version` step compares the tag name
(minus `v`) against `Cargo.toml`, `apps/desktop/src-tauri/Cargo.toml`,
`apps/desktop/package.json` and `apps/desktop/src-tauri/tauri.conf.json`; the
two `Cargo.lock` files must follow or the build dirties them. The desktop crate
sits outside the root workspace, so nothing propagates a version for you.
## 1. Pick the version
Look at what landed since the last tag — that is the whole changelog:
```bash