Skip to content

Release Channels ​

Pythinker Code CLI is published through three npm release channels. Choose a channel by installing its npm dist-tag.

ChannelWhat it providesnpm dist-tagInstall commandStability promise
latestStable releaseslatestnpm i -g @pymodel/pythinker-code@latestRecommended for normal use
betaPrereleases for an upcoming stable versionbetanpm i -g @pymodel/pythinker-code@betaMay include incomplete or breaking changes
devNightly snapshots from the current main branchdevnpm i -g @pymodel/pythinker-code@devNo stability guarantee; a new version is published only when commits change

Running a Beta Cycle ​

Maintainers start a beta cycle with:

sh
pnpm changeset pre enter beta

Merge the generated release pull request to publish beta prereleases. When the beta is ready to become stable, leave prerelease mode and merge the resulting release pull request:

sh
pnpm changeset pre exit

Stable Update Rollout ​

The CLI checks a stable update manifest and assigns each device to a deterministic rollout bucket. A new stable version may therefore appear on one device before another. Eligible devices receive the update within 24 hours.

The update CDN at code.pythinker.com tracks only the stable latest channel. Beta and dev users install updates directly from their npm dist-tags.

Desktop update channels ​

Pythinker Desktop uses signed GitHub Releases in the dedicated desktop release repository.

ChannelSourceUpdate metadataGitHub release
StableA reviewed stable desktop package version on mainlatest.yml, latest-mac.ymlRelease
BetaA reviewed x.y.z-beta.n desktop package version on mainbeta.yml, beta-mac.ymlPrerelease
NightlyThe current main commitnightly.yml, nightly-mac.ymlPrerelease

The Nightly version is the next stable patch plus nightly.<main-commit-count>. The same commit has the same version, so the scheduled workflow does not rebuild an unchanged commit. All channels use the same macOS signing, notarization, Windows signing, manifest validation, and draft-first publish gates.

A manual Desktop Release workflow run is a rehearsal. Select Stable, Beta, or Nightly to build and validate that feed without publishing it.