Development channels
Pllan ships three update channels:- stable: npm dist-tag
latest. Recommended for most users. - beta: npm dist-tag
beta(builds under test). - dev: moving head of
main(git). npm dist-tag:dev(when published). Themainbranch is for experimentation and active development. It may contain incomplete features or breaking changes. Do not use it for production gateways.
latest
without changing the version number — dist-tags are the source of truth for npm installs.
Switching channels
--channel persists your choice in config (update.channel) and aligns the
install method:
stable/beta(package installs): updates via the matching npm dist-tag.stable/beta(git installs): checks out the latest matching git tag.dev: ensures a git checkout (default~/pllan, override withPLLAN_GIT_DIR), switches tomain, rebases on upstream, builds, and installs the global CLI from that checkout.
One-off version or tag targeting
Use--tag to target a specific dist-tag, version, or package spec for a single
update without changing your persisted channel:
--tagapplies to package (npm) installs only. Git installs ignore it.- The tag is not persisted. Your next
pllan updateuses your configured channel as usual. - Downgrade protection: if the target version is older than your current version,
Pllan prompts for confirmation (skip with
--yes).
Dry run
Preview whatpllan update would do without making changes:
Plugins and channels
When you switch channels withpllan update, Pllan also syncs plugin
sources:
devprefers bundled plugins from the git checkout.stableandbetarestore npm-installed plugin packages.- npm-installed plugins are updated after the core update completes.
Checking current status
Tagging best practices
- Tag releases you want git checkouts to land on (
vYYYY.M.Dfor stable,vYYYY.M.D-beta.Nfor beta). vYYYY.M.D.beta.Nis also recognized for compatibility, but prefer-beta.N.- Legacy
vYYYY.M.D-<patch>tags are still recognized as stable (non-beta). - Keep tags immutable: never move or reuse a tag.
- npm dist-tags remain the source of truth for npm installs:
latest-> stablebeta-> candidate builddev-> main snapshot (optional)
macOS app availability
Beta and dev builds may not include a macOS app release. That is 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.