PUBLISH PRE-RELEASE VERSIONS
This guide shows you how to publish pre-release extension versions through the beta and rc channels, and promote them to stable after validation.
Prerequisites
- A published extension (see Create and Publish)
- A Swamp account with membership in the extension's namespace collective
Push a beta version
Pass --channel beta to publish to the beta channel:
$ swamp extension push extensions/behaviors/manifest.yaml --channel betaThe version is published to the beta channel. Stable consumers are unaffected —
swamp extension pull @name continues to resolve the latest stable version.
Pull the beta for testing
In a CI environment or test repo, pull the beta version:
$ swamp extension pull @mycollective/my-ext --channel betaThis installs the latest beta version. The lockfile records the channel, so
subsequent swamp extension update checks stay within beta.
To install a specific version, use the @name@version form. Add --channel
with the channel the version is on, so update follows that channel:
$ swamp extension pull @mycollective/my-ext@2026.06.10.1 --channel betaWithout --channel, the version still installs, but pull warns that
swamp extension update keeps following stable:
extension·pull: @mycollective/my-ext@2026.06.10.1 is a beta release, and --channel was not passed: swamp extension update keeps following stable for @mycollective/my-ext. Run swamp extension pull @mycollective/my-ext --channel beta to follow beta.swamp extension list tags such an install [beta, following stable].
Promote beta to rc
After integration tests pass, promote the version to the rc channel:
$ swamp extension promote @mycollective/my-ext 2026.06.10.1 --channel rcThe archive content does not change. The version is now visible to
--channel rc consumers.
Promote to stable
After validation, promote to stable:
$ swamp extension promote @mycollective/my-ext 2026.06.10.1 --channel stableThe version is now the latest stable release. Default consumers (pull without
--channel) receive it on their next update.
This works from either rc or beta — a beta version can skip rc and promote directly to stable.
From the extension's checkout, pass the manifest instead of the name and version; the registry reports which channel the version is on:
$ swamp extension promote extensions/behaviors/manifest.yaml --channel stableRunning swamp extension push --channel stable interactively on a version
already published to beta offers the same promotion as its first choice.
Search for pre-release versions
To find extensions with pre-release versions available:
$ swamp extension search my-ext --channel rc --channel beta--channel is repeatable — pass it multiple times to include results from more
than one channel. Omitting --channel returns stable-only results.
Related
- Extensions Reference — release channel overview and content types
- Publishing Commands —
pushandpromoteflag reference - Management —
pull,search, andinfoflag reference