Files
openclaw/docs/install/development-channels.md

75 lines
2.3 KiB
Markdown
Raw Normal View History

2026-01-20 13:33:31 +00:00
---
summary: "Stable, beta, and dev channels: semantics, switching, and tagging"
read_when:
- You want to switch between stable/beta/dev
- You are tagging or publishing prereleases
---
# Development channels
2026-01-21 06:00:50 +00:00
Last updated: 2026-01-21
2026-01-20 13:33:31 +00:00
Clawdbot ships three update channels:
2026-01-24 20:59:35 +00:00
- **stable**: npm dist-tag `latest`.
- **beta**: npm dist-tag `beta` (builds under test).
2026-01-20 13:33:31 +00:00
- **dev**: moving head of `main` (git). npm dist-tag: `dev` (when published).
2026-01-24 20:59:35 +00:00
We ship builds to **beta**, test them, then **promote a vetted build to `latest`**
without changing the version number — dist-tags are the source of truth for npm installs.
2026-01-20 13:33:31 +00:00
## Switching channels
Git checkout:
```bash
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
```
2026-01-24 20:59:35 +00:00
- `stable`/`beta` check out the latest matching tag (often the same tag).
2026-01-20 13:33:31 +00:00
- `dev` switches to `main` and rebases on the upstream.
npm/pnpm global install:
```bash
clawdbot update --channel stable
clawdbot update --channel beta
clawdbot update --channel dev
```
This updates via the corresponding npm dist-tag (`latest`, `beta`, `dev`).
2026-01-21 06:00:50 +00:00
When you **explicitly** switch channels with `--channel`, Clawdbot also aligns
the install method:
- `dev` ensures a git checkout (default `~/clawdbot`, override with `CLAWDBOT_GIT_DIR`),
updates it, and installs the global CLI from that checkout.
- `stable`/`beta` installs from npm using the matching dist-tag.
2026-01-20 13:33:31 +00:00
Tip: if you want stable + dev in parallel, keep two clones and point your gateway at the stable one.
## Plugins and channels
When you switch channels with `clawdbot update`, Clawdbot also syncs plugin sources:
- `dev` prefers bundled plugins from the git checkout.
- `stable` and `beta` restore npm-installed plugin packages.
2026-01-20 13:33:31 +00:00
## Tagging best practices
2026-01-24 20:59:35 +00:00
- Tag releases you want git checkouts to land on (`vYYYY.M.D` or `vYYYY.M.D-<patch>`).
2026-01-20 13:33:31 +00:00
- Keep tags immutable: never move or reuse a tag.
2026-01-24 20:59:35 +00:00
- npm dist-tags remain the source of truth for npm installs:
2026-01-20 13:33:31 +00:00
- `latest` → stable
2026-01-24 20:59:35 +00:00
- `beta` → candidate build
2026-01-20 13:33:31 +00:00
- `dev` → main snapshot (optional)
## macOS app availability
Beta and dev builds may **not** include a macOS app release. Thats OK:
- The git tag and npm dist-tag can still be published.
- Call out “no macOS build for this beta” in release notes or changelog.