@@ -63,8 +63,8 @@ generated commit-subject dump is a fallback for patch releases, not a substitute
6363## 1. Bump, gate, commit and tag
6464
6565``` bash
66- scripts/prepare-release.sh 0.19.1 --dry-run # look at the diff; nothing is committed
67- scripts/prepare-release.sh 0.19.1 # for real
66+ scripts/prepare-release.sh 0.20.0 --dry-run # look at the diff; nothing is committed
67+ scripts/prepare-release.sh 0.20.0 # for real
6868```
6969
7070What it does, in order:
@@ -78,15 +78,15 @@ What it does, in order:
78785 . Runs ` scripts/check-version.sh --tag vX.Y.Z ` , ` scripts/check-repo-refs.sh ` , ` make check ` .
79796 . Commits ` chore: release vX.Y.Z ` and creates the tag. ** It does not push.**
8080
81- For ** v0.19.1 specifically** , the version and the changelog entry are already in the tree,
81+ For ** v0.20.0 specifically** , the version and the changelog entry are already in the tree,
8282so the script reports * "No file changes needed — proceeding as a tag-only release"* , runs
8383the gate, and creates the tag with no release commit. That is correct.
8484
8585Review before pushing:
8686
8787``` bash
8888git show --stat HEAD
89- git tag -v v0.19.1 2> /dev/null || git show v0.19.1 --stat | head
89+ git tag -v v0.20.0 2> /dev/null || git show v0.20.0 --stat | head
9090```
9191
9292---
@@ -95,7 +95,7 @@ git tag -v v0.19.1 2>/dev/null || git show v0.19.1 --stat | head
9595
9696``` bash
9797git push origin main
98- git push origin v0.19.1 # this is what starts the release
98+ git push origin v0.20.0 # this is what starts the release
9999```
100100
101101Pushing the tag is the point of no return for the automation. Everything before it is
@@ -131,10 +131,10 @@ served "Studio not built" to every user without failing.
131131Published artifacts:
132132
133133```
134- slmcode_0.19.1_darwin_arm64 slmcode_0.19.1_windows_amd64 .exe
135- slmcode_0.19.1_darwin_amd64 slmcode_0.19.1_windows_arm64 .exe
136- slmcode_0.19.1_linux_arm64 install.sh install.ps1 install.cmd
137- slmcode_0.19.1_linux_amd64 SHA256SUMS
134+ slmcode_0.20.0_darwin_arm64 slmcode_0.20.0_windows_amd64 .exe
135+ slmcode_0.20.0_darwin_amd64 slmcode_0.20.0_windows_arm64 .exe
136+ slmcode_0.20.0_linux_arm64 install.sh install.ps1 install.cmd
137+ slmcode_0.20.0_linux_amd64 SHA256SUMS
138138```
139139
140140---
@@ -147,18 +147,18 @@ CI verifies the bytes. These are the things only a human on a real machine can c
147147
148148``` bash
149149cd " $( mktemp -d) "
150- curl -fsSLO https://github.com/UnicoLab/smlcode/releases/download/v0.19.1 /SHA256SUMS
151- curl -fsSLO https://github.com/UnicoLab/smlcode/releases/download/v0.19.1 /slmcode_0.19.1_darwin_arm64
150+ curl -fsSLO https://github.com/UnicoLab/smlcode/releases/download/v0.20.0 /SHA256SUMS
151+ curl -fsSLO https://github.com/UnicoLab/smlcode/releases/download/v0.20.0 /slmcode_0.20.0_darwin_arm64
152152shasum -a 256 -c SHA256SUMS --ignore-missing # must say OK
153- chmod +x slmcode_0.19.1_darwin_arm64
154- ./slmcode_0.19.1_darwin_arm64 version --json # version 0.19.1 , real commit, real built
153+ chmod +x slmcode_0.20.0_darwin_arm64
154+ ./slmcode_0.20.0_darwin_arm64 version --json # version 0.20.0 , real commit, real built
155155```
156156
157157** The install one-liner, on a machine that has never had slmcode:**
158158
159159``` bash
160160curl -fsSL https://raw.githubusercontent.com/UnicoLab/smlcode/main/scripts/install-remote.sh | bash
161- slmcode version # 0.19.1
161+ slmcode version # 0.20.0
162162slmcode doctor
163163```
164164
@@ -174,7 +174,7 @@ cd "$(mktemp -d)" && slmcode init && slmcode studio
174174# "Studio not built" means CI shipped a placeholder: pull the release (step 6 below).
175175```
176176
177- ** Homebrew** — only after the ` chore: sync Homebrew formula checksums for v0.19.1 `
177+ ** Homebrew** — only after the ` chore: sync Homebrew formula checksums for v0.20.0 `
178178commit has landed on ` main ` (CI step 14). Before that, the formula carries all-zero
179179placeholder checksums and ` brew install ` will refuse; that is expected, not a break-in.
180180
@@ -193,15 +193,15 @@ slmcode version
193193```
194194
195195Confirm ` -> Checksum OK (sha256 …) ` appears. This path had no checksum verification at all
196- before 0.19.1 , so it is worth watching once.
196+ before 0.20.0 , so it is worth watching once.
197197
198198** Self-update from the previous release:**
199199
200200``` bash
201201# on a machine still running 0.16.0
202- slmcode update --check # must report v0.19.1 is available
202+ slmcode update --check # must report v0.20.0 is available
203203slmcode update --yes
204- slmcode version # 0.19.1
204+ slmcode version # 0.20.0
205205```
206206
207207---
@@ -213,11 +213,11 @@ slmcode version # 0.19.1
213213 The four ` sha256 ` lines should now read ` sha256 "<hex>" # vX.Y.Z ` with X.Y.Z equal to the
214214 release you just cut — that label is what ` check-version.sh ` gates on, and the reason a
215215 rebase can no longer leave the previous release's digests under the new version line
216- (which is exactly what happened between v0.18.3 and v0.19.1 ).
216+ (which is exactly what happened between v0.18.3 and v0.20.0 ).
217217- Confirm the docs site rebuilt (` .github/workflows/docs.yml ` ) and that
218218 [ Install] ( docs/install.md ) , [ Migration notes] ( docs/migration.md ) and
219219 [ Changelog] ( docs/changelog.md ) render.
220- - Announce the ** breaking behaviour changes** , not the feature list. For 0.19.1 those are:
220+ - Announce the ** breaking behaviour changes** , not the feature list. For 0.20.0 those are:
221221 hooks fail closed, project ` mcp_servers ` ignored, the tiered shell allowlist,
222222 ` slmcode apply ` interactive, HITL gates blocking when attended, the Studio session token,
223223 and the new ` .slmcode/memory ` + ` .slmcode/evolve ` directories.
@@ -229,15 +229,15 @@ slmcode version # 0.19.1
229229** Before the tag is pushed** — nothing has happened:
230230
231231``` bash
232- git tag -d v0.19.1
232+ git tag -d v0.20.0
233233git reset --hard origin/main
234234```
235235
236236** After the tag is pushed but CI failed** — no release exists, so just fix and re-tag:
237237
238238``` bash
239- git push --delete origin v0.19.1
240- git tag -d v0.19.1
239+ git push --delete origin v0.20.0
240+ git tag -d v0.20.0
241241# fix, commit, then repeat from step 1
242242```
243243
0 commit comments