Releasing
This document describes how SMALL Protocol releases are created and verified.
Tag policy
- Keep
v1.0.0forever. It is the first stable contract tag and main reference point. - Keep
v1.0.1forever. It is the patch that fixesgo installresolution and packaging consistency. - Use SemVer and never move public tags.
Release process
Releases are automated via GitHub Actions when a version tag is pushed.
bash
git tag -a vX.Y.Z -m "SMALL vX.Y.Z"
git push origin vX.Y.Z
The release workflow:
- Runs
go mod tidy - Syncs embedded schemas
- Builds binaries for supported platforms
- Publishes archives plus
checksums.txtto GitHub Releases
Release assets (stable naming)
small-vX.Y.Z-darwin-amd64.tar.gzsmall-vX.Y.Z-darwin-arm64.tar.gzsmall-vX.Y.Z-linux-amd64.tar.gzsmall-vX.Y.Z-linux-arm64.tar.gzsmall-vX.Y.Z-windows-amd64.zipsmall-vX.Y.Z-windows-arm64.zipchecksums.txt
Verifying downloads
bash
curl -LO https://github.com/justyn-clark/small-protocol/releases/download/v1.0.2/small-v1.0.2-darwin-arm64.tar.gz
curl -LO https://github.com/justyn-clark/small-protocol/releases/download/v1.0.2/checksums.txt
shasum -a 256 -c checksums.txt --ignore-missing
Installer paths
- curl installer endpoint:
https://smallprotocol.dev/install.sh - npm package:
@small-protocol/small
Both install paths verify SHA256 using checksums.txt before install.
npm publish policy (OIDC-only)
@small-protocol/small publish is OIDC-only and must produce provenance.
- Required workflow environment: Node 24 and npm 11.10.1
- Required publish command:
npm publish --provenance --access public - Required workflow permissions:
id-token: write - Required source alignment: Git tag
vX.Y.Zmust match package versionX.Y.Z
Token-based publish (NPM_TOKEN) is not part of the standard release path.
Examples:
- Git tag:
v1.0.3 - npm version:
1.0.3
See release checklist for the full sequence.