release: 0.10.4 - #209
release: 0.10.4#209
Conversation
Bumps the version to 0.10.4. On merge, auto-release.yml tags v0.10.4, cuts the GitHub release from the new CHANGELOG section and dispatches publish.yml to npm. The Windows EPERM lock-guard fix (#197) is the only change to shipped code since 0.10.3, and it reaches users only in a release. The pinned version in the docs and issue templates moves with it; docker/ stays on 0.10.3 until 0.10.4 is on npm.
sprayberry-secondread
left a comment
There was a problem hiding this comment.
Automated review from the Sprayberry Labs fleet code reviewer.
Reviewed by the Claude second-opinion lane (independent second read; the gating review is posted separately).
Verdict: no blocking issues. The release bump is consistent, and the CHANGELOG section will be picked up by auto-release.yml.
What I checked (head 69e6e3f)
- Version is consistent.
package.json:3and bothversionfields inpackage-lock.json(root andpackages[""]) go from0.10.3to0.10.4. The redstamp dependency pin is unchanged. - No stray
0.10.3references. On a clone of the head,grep -rn 0.10.3outside.git/andCHANGELOG.mdfinds onlydocker/package.json:8anddocker/package-lock.json:12,35-36. The body says why those stay: the image installs@askalf/truecopyfrom npm, and.github/dependabot.yml:13-14has an npm entry ondirectory: /dockerthat will pick up 0.10.4 once it's published. - Release notes will extract. I ran the regex from
auto-release.yml(the "Extract release notes from CHANGELOG" step) against the headCHANGELOG.mdwithVERSION=0.10.4. It matches the new## [0.10.4] - 2026-09-25section and returns about 1.26k chars. The lookahead stops at## [0.10.3], so older entries don't leak in.## [Unreleased]stays in place, empty, above the new section. - "Only shipped-code change since 0.10.3" is accurate. Comparing
v0.10.3...69e6e3fshows 48 commits ahead (47 plus this one). The only file changed undersrc/(the package'sfileslist is["src"]) issrc/lock.mjs, from #197. That matches the single Fixed entry, and that entry sits under the new heading as expected. - The watch figure matches the source.
WATCH.mdon thewatchbranch reads "2026-09-25 — 314 plugins · 2442 skills scanned · 0 under review · 475 advisories". That matches theREADME.md:75edit and the Changed bullet. - Pinned install strings are updated.
docs/claude-code.md:21(github:askalf/truecopy#v0.10.4) anddocs/commands.md:7(@0.10.4) both point at the tag and version this merge will create. The two issue-template placeholders are updated too. - CI: at this head, test on ubuntu/macos/windows × Node 20/22,
verify pinned skills,analyzeandtriageare all green.
One heads-up (not a defect): until auto-release.yml pushes the v0.10.4 tag and publish.yml publishes to npm, the docs/claude-code.md hook snippet (#v0.10.4) and the docs/commands.md pin point at a tag and version that don't exist yet. That window runs from merge to the release job finishing, and it's normal for a release PR. If the release job fails, those two lines are the first place users will hit it.
What's good: one commit (replacing #208), a short diff, and the docker/ exception explained up front instead of left for a reviewer to find.
sprayberry-redline
left a comment
There was a problem hiding this comment.
Automated review from the Sprayberry Labs fleet code reviewer.
Reviewed by the GPT gating lane (gating review).
Approve: no blocking issues found at 69e6e3fb0badca08aed77b3c4e2165b5236515a9.
Reviewed all eight changed files, the PR description and the release commit. The package and lockfile versions agree on 0.10.4, the documented pins and issue-template placeholders match, and the new CHANGELOG section retains the existing Windows fix entry. The README snapshot figures match the published 2026-09-25 watch report. I also checked the existing auto-release workflow's version trigger and release-note section selection against this change.
Required CI is green, including CodeQL and Node 20/22 tests on Linux, macOS and Windows. No tests were run locally, and npm publication itself was not exercised.
The change is limited to release metadata and documentation; leaving the Docker npm pin for the post-publication update avoids referencing an unpublished package.
What this changes
Bumps
versionto 0.10.4. When this merges,auto-release.ymltagsv0.10.4, cuts the GitHub release from the new CHANGELOG section and dispatchespublish.ymlto npm.package.json/package-lock.json: 0.10.3 to 0.10.4CHANGELOG.md:[Unreleased]cut as[0.10.4] - 2026-09-25(the Windows lock fix under Fixed, plus a Changed note for the README)docs/claude-code.md(hook snippet),docs/commands.md(pinned install) and the bug / false-positive issue-template placeholdersdocker/stays on 0.10.3 on purpose. It installs from npm, so it can't move until 0.10.4 is published, and dependabot's/dockernpm entry will bump it from there.Why
npm is still on 0.10.3 (2026-08-05), 47 commits behind master:
EPERMlock-guard fix (lock: a guard mid-release reads as EPERM on Windows — treat it as contention #197) is the only change to shipped code since then, and it only reaches users in a release.How it was verified
npm test: 270 tests, 269 pass, 0 fail, 1 skippedauto-release.ymluses finds the[0.10.4]CHANGELOG section (1,262 chars)grep -rn 0.10.3finds no leftover references outsideCHANGELOG.mdanddocker/(explained above)Replaces #208 with the same change as one commit.