Skip to content

chore(release): cut 0.6.0 - #897

Merged
bkeroack merged 3 commits into
release/0.6from
chore/release-0.6.0
Oct 6, 2026
Merged

bkeroack merged 3 commits into
release/0.6from
chore/release-0.6.0

Conversation

@bkeroack

@bkeroack bkeroack commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

The release commit for 0.6.0, into release/0.6 on top of rc1, #887 and #889. Once it merges, v0.6.0 and clients/go/v0.6.0 are tagged on the merge commit.

What changes

  • Version 0.6.0-rc1 → 0.6.0: workspace Cargo.toml and Cargo.lock, the satd-events-client pin on satd-events-proto, and the Go SDK's Version.
  • Release notes: docs/release-notes/0.6.0-pre.md → 0.6.0.md with the release date and tag header. The text is docs(release-notes): condense the 0.6.0 notes; refuse a release body GitHub would cut #889's condensed notes, unchanged. The index in docs/release-notes/README.md gains the 0.6.0 row.
  • CHANGELOG: the [Unreleased] list collapses into a 0.6.0 releases-table row. The compare link moves to v0.6.0...HEAD.
  • Examples: the illustrative version strings in the manual's Electrum chapter, the appliance README and the Warnet examples now say 0.6.0.
  • Release workflow: a final tag's generated PR list now compares with the previous final release.
    • GitHub's default base is the latest release with pre-releases included, so v0.6.0's list would have started at v0.6.0-rc1 and named only the three PRs since.
    • v0.1.0's release shows this already: its list compares against v0.1.0-rc1.
    • "Previous" is by version, not creation date, so a patch on an older line (a v0.5.3 after v0.6.0) never becomes the base for the next v0.6.x.
    • An -rc tag keeps GitHub's choice, and so does a failed lookup; the step does not fail.

Not in this PR

Verified

  • satd --version and sat-cli --version report 0.6.0 from a cargo build --locked --release.
  • build-release-notes.sh --tag v0.6.0 resolves 0.6.0.md without the -pre fallback. It writes a 34,487-byte body that ends with the About footer and contains no repo-relative links.
  • No reference to 0.6.0-pre.md remains in the tree.
  • The previous-tag lookup gives v0.5.2 for v0.6.0 (live, and on a re-run after the release exists), v0.6.0 for a v0.6.1 when a v0.5.3 was created later, v0.10.0 for v0.10.1, and GitHub's default for an -rc tag, an empty list or a failed lookup, without failing the step.
  • The Go SDK's version and compat tests pass.

After merge

  1. Tag v0.6.0 and clients/go/v0.6.0 on the merge commit.
  2. Once the release run finishes, check that the body is under 125,000 characters and ends with the About footer.
  3. Run sign-tarballs.sh v0.6.0.
  4. Dispatch the Appliance workflow with satd_version=0.6.0, flavor=both and publish=true, then run sign-tarballs.sh --images.
  5. Publish the SDK crates and bump the app-store pins.

🤖 Generated with Claude Code

bkeroack and others added 2 commits October 5, 2026 13:14
Rename docs/release-notes/0.6.0-pre.md to 0.6.0.md with a release date and
tag header, bump the workspace version 0.6.0-rc1 -> 0.6.0 (with the
satd-events-client pin on satd-events-proto and the Go SDK's Version), and
collapse the changelog's [Unreleased] list into a 0.6.0 releases-table row.
The release-notes index gains the 0.6.0 row, and the two illustrative
version strings in the manual and the appliance README now say 0.6.0.

The release workflow now compares a final tag's generated PR list with the
previous final release. GitHub's default base is the latest release with
pre-releases included, so v0.6.0's list would have started at v0.6.0-rc1
and named only the three PRs since. v0.1.0's list shows the same thing: it
compares against v0.1.0-rc1. An -rc tag keeps GitHub's choice, and a failed
lookup leaves it to GitHub as well.

Not touched, as for 0.5.2: the Umbrel and StartOS image pins, which name a
per-commit image digest that only exists once the tag has built it.

Verified: satd --version and sat-cli --version report 0.6.0;
build-release-notes.sh resolves 0.6.0.md without the -pre fallback and
writes a 34,487-byte body, under its 100,000-byte guard; no reference to
0.6.0-pre.md remains; the previous-tag lookup gives v0.5.2 for v0.6.0,
GitHub's default for an -rc tag, and GitHub's default when the lookup
fails, without failing the step.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…say 0.6.0

The previous-tag lookup took the most recently created final release. A
patch shipped on an older line after a newer release (a v0.5.3 after
v0.6.0) would then have become the compare base for the next v0.6.x, and
its generated PR list would have named every PR since the patch. The
lookup now sorts final vX.Y.Z tags by version, adds the current tag, and
takes the entry just below it.

Checked against a stub list in creation order v0.5.3, v0.6.0, v0.5.2 for a
v0.6.1 tag: the old lookup gave v0.5.3, the new one gives v0.6.0. The live
repo still gives v0.5.2 for v0.6.0; a re-run after v0.6.0's own release
exists also gives v0.5.2; v0.10.1 sorts above v0.9.x; an -rc tag, an empty
list and a failed lookup all leave the choice to GitHub.

The Warnet examples and README named the 0.5.2-warnet0 image while the
Dockerfile comment and render-confs.sh say 0.6.0-warnet0. The CI rigs
build their own satd-warnet:ci image and use their own network files, so
nothing they run changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The build command tagged the result 0.6.0-warnet0 but still set
SATD_IMAGE to ghcr.io/epochbtc/satd:0.5.2, so copying it built a
0.6.0-labelled image on a 0.5.2 base.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@bkeroack
bkeroack merged commit f068cca into release/0.6 Oct 6, 2026
69 of 71 checks passed
@bkeroack
bkeroack deleted the chore/release-0.6.0 branch October 6, 2026 00:19
bkeroack added a commit that referenced this pull request Oct 6, 2026
* chore(release): cut 0.6.0

Rename docs/release-notes/0.6.0-pre.md to 0.6.0.md with a release date and
tag header, bump the workspace version 0.6.0-rc1 -> 0.6.0 (with the
satd-events-client pin on satd-events-proto and the Go SDK's Version), and
collapse the changelog's [Unreleased] list into a 0.6.0 releases-table row.
The release-notes index gains the 0.6.0 row, and the two illustrative
version strings in the manual and the appliance README now say 0.6.0.

The release workflow now compares a final tag's generated PR list with the
previous final release. GitHub's default base is the latest release with
pre-releases included, so v0.6.0's list would have started at v0.6.0-rc1
and named only the three PRs since. v0.1.0's list shows the same thing: it
compares against v0.1.0-rc1. An -rc tag keeps GitHub's choice, and a failed
lookup leaves it to GitHub as well.

Not touched, as for 0.5.2: the Umbrel and StartOS image pins, which name a
per-commit image digest that only exists once the tag has built it.

Verified: satd --version and sat-cli --version report 0.6.0;
build-release-notes.sh resolves 0.6.0.md without the -pre fallback and
writes a 34,487-byte body, under its 100,000-byte guard; no reference to
0.6.0-pre.md remains; the previous-tag lookup gives v0.5.2 for v0.6.0,
GitHub's default for an -rc tag, and GitHub's default when the lookup
fails, without failing the step.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* release: pick the previous final release by version; warnet examples say 0.6.0

The previous-tag lookup took the most recently created final release. A
patch shipped on an older line after a newer release (a v0.5.3 after
v0.6.0) would then have become the compare base for the next v0.6.x, and
its generated PR list would have named every PR since the patch. The
lookup now sorts final vX.Y.Z tags by version, adds the current tag, and
takes the entry just below it.

Checked against a stub list in creation order v0.5.3, v0.6.0, v0.5.2 for a
v0.6.1 tag: the old lookup gave v0.5.3, the new one gives v0.6.0. The live
repo still gives v0.5.2 for v0.6.0; a re-run after v0.6.0's own release
exists also gives v0.5.2; v0.10.1 sorts above v0.9.x; an -rc tag, an empty
list and a failed lookup all leave the choice to GitHub.

The Warnet examples and README named the 0.5.2-warnet0 image while the
Dockerfile comment and render-confs.sh say 0.6.0-warnet0. The CI rigs
build their own satd-warnet:ci image and use their own network files, so
nothing they run changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(warnet): build the 0.6.0-warnet0 example on the 0.6.0 image

The build command tagged the result 0.6.0-warnet0 but still set
SATD_IMAGE to ghcr.io/epochbtc/satd:0.5.2, so copying it built a
0.6.0-labelled image on a 0.5.2 base.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
bkeroack added a commit that referenced this pull request Oct 6, 2026
* chore(release): cut 0.6.0

Rename docs/release-notes/0.6.0-pre.md to 0.6.0.md with a release date and
tag header, bump the workspace version 0.6.0-rc1 -> 0.6.0 (with the
satd-events-client pin on satd-events-proto and the Go SDK's Version), and
collapse the changelog's [Unreleased] list into a 0.6.0 releases-table row.
The release-notes index gains the 0.6.0 row, and the two illustrative
version strings in the manual and the appliance README now say 0.6.0.

The release workflow now compares a final tag's generated PR list with the
previous final release. GitHub's default base is the latest release with
pre-releases included, so v0.6.0's list would have started at v0.6.0-rc1
and named only the three PRs since. v0.1.0's list shows the same thing: it
compares against v0.1.0-rc1. An -rc tag keeps GitHub's choice, and a failed
lookup leaves it to GitHub as well.

Not touched, as for 0.5.2: the Umbrel and StartOS image pins, which name a
per-commit image digest that only exists once the tag has built it.

Verified: satd --version and sat-cli --version report 0.6.0;
build-release-notes.sh resolves 0.6.0.md without the -pre fallback and
writes a 34,487-byte body, under its 100,000-byte guard; no reference to
0.6.0-pre.md remains; the previous-tag lookup gives v0.5.2 for v0.6.0,
GitHub's default for an -rc tag, and GitHub's default when the lookup
fails, without failing the step.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* release: pick the previous final release by version; warnet examples say 0.6.0

The previous-tag lookup took the most recently created final release. A
patch shipped on an older line after a newer release (a v0.5.3 after
v0.6.0) would then have become the compare base for the next v0.6.x, and
its generated PR list would have named every PR since the patch. The
lookup now sorts final vX.Y.Z tags by version, adds the current tag, and
takes the entry just below it.

Checked against a stub list in creation order v0.5.3, v0.6.0, v0.5.2 for a
v0.6.1 tag: the old lookup gave v0.5.3, the new one gives v0.6.0. The live
repo still gives v0.5.2 for v0.6.0; a re-run after v0.6.0's own release
exists also gives v0.5.2; v0.10.1 sorts above v0.9.x; an -rc tag, an empty
list and a failed lookup all leave the choice to GitHub.

The Warnet examples and README named the 0.5.2-warnet0 image while the
Dockerfile comment and render-confs.sh say 0.6.0-warnet0. The CI rigs
build their own satd-warnet:ci image and use their own network files, so
nothing they run changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(warnet): build the 0.6.0-warnet0 example on the 0.6.0 image

The build command tagged the result 0.6.0-warnet0 but still set
SATD_IMAGE to ghcr.io/epochbtc/satd:0.5.2, so copying it built a
0.6.0-labelled image on a 0.5.2 base.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant