@graham.systems /dist-town/cli
0.3.0
all artifacts verified
0.3.0 — releases that say where they came from
Releases can now say where they came from — and this one does.
Source linking
A release can pin the git commit and annotated tag it was cut from, right in the immutable record. publish --tag v0.3.0 reads both hashes from your local checkout; since git is content-addressed, the tag object hash transitively pins the entire source tree. Names are labels, hashes are truth: force-moving a tag never moves a published claim.
Set your repository once with the new disttown project set --source, and every release inherits it. When the source is a record in your own atproto repo — a Tangled repository — the association is signed by the same key as the release itself, and release pages badge it same-repo. This is honest verification: it proves association, not build provenance.
Tangled artifacts are first-class
If your CI uploads artifacts to Tangled, dist.town now treats them as locations rather than rivals:
- At publish time, tag-matched Tangled artifacts are offered for attachment (
--attach-tangledfor CI). The CLI downloads and hashes every blob locally — each digest in your release is your own measurement, never the forge's claim. - Afterward, any Tangled upload whose bytes match a declared digest becomes an additional verified download location, including for releases published before the upload existed.
- Uploads that match nothing appear under an explicit "not in the record" caveat — visible, and honestly unverified.
Windows builds
This is the first release with Windows artifacts (amd64 and arm64, as zip archives), alongside Linux and macOS. The CLI is pure Go, so the whole matrix cross-compiles from one machine — tools/dist.sh in the repo is the two-line recipe. disttown --version now exists, stamped at build time.
Also
- Release pages show the source claim in the record rail: repo, tag, and commit, with copy-to-clipboard hashes.
project setupdates a project's display name, description, source, and website — only the flags you pass change.
Artifacts
- disttown-linux-amd64.tar.gz
sha-256
61ff14467123ffe4e29a48286cc701189e0fcfc1bb309031ac45aa65d4805d8b - disttown-linux-arm64.tar.gz
sha-256
7bff42cc65a7426dc4647c3a1fd9f530b445da0bb21118aa4fc2bbb7b83eeff5 - disttown-darwin-amd64.tar.gz
sha-256
4e6d13ef66ed32d574b4d1dadfba98a0d991a5b729d1dad5ee259f170eb36b36 - disttown-darwin-arm64.tar.gz
sha-256
c731147b38a7acad3b1fff5863c627498551ce4e9f5dd0f99f7b2312f47a0dd3 - disttown-windows-amd64.zip
sha-256
b7f05cdb52c497a210afe4a018e41e9ec1b73a8d6961e25d5c2492f7d9933813 - disttown-windows-arm64.zip
sha-256
b4938f477f2a8f55caa3e9773d145f7dd4794d3de78d6f0006a7cdf8eda70f38