惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
V
Visual Studio Blog
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
D
Docker
MyScale Blog
MyScale Blog
小众软件
小众软件
云风的 BLOG
云风的 BLOG
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
docs(release): fix sequential patch numbering · openclaw/...
vincentkoc · 2026-06-11 · via Recent Commits to openclaw:main

@@ -10,12 +10,15 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

1010

## Respect release guardrails

11111212

- Do not change version numbers without explicit operator approval.

13+

- Versions use `YYYY.M.PATCH`, where `PATCH` is the sequential release-train number within the month, not the calendar day.

14+

- Choose a new beta train from stable and beta releases only. Alpha-only tags do not consume or advance the beta/stable patch number. Continue the highest existing unpublished/published beta train with the next `beta.N` when appropriate; otherwise increment the highest stable/beta patch by one and start at `beta.1`.

15+

- Example: after stable `2026.6.5`, the next new beta train is `2026.6.6-beta.1`, even if automated alpha-only tags such as `2026.6.10-alpha.1` exist.

1316

- Ask permission before any npm publish or release step.

1417

- This skill should be sufficient to drive the normal release flow end-to-end.

1518

- Use the private maintainer release docs for credentials, recovery steps, and mac signing/notary specifics, and use `docs/reference/RELEASING.md` for public policy.

1619

- Core `openclaw` publish is manual `workflow_dispatch`; creating or pushing a tag does not publish by itself.

1720

- Normal release work happens on a branch cut from `main`, not directly on

18-

`main`. Use `release/YYYY.M.D` for the branch name.

21+

`main`. Use `release/YYYY.M.PATCH` for the branch name.

1922

- If the operator asks for a release without saying stable/full, default to

2023

beta only. Continue from beta to stable only when the operator explicitly asks

2124

for the full release or an automated beta-and-stable train.

@@ -92,7 +95,7 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

9295

## Keep release channel naming aligned

93969497

- `stable`: tagged releases only, published to npm `beta` by default; operators may target npm `latest` explicitly or promote later

95-

- `beta`: prerelease tags like `vYYYY.M.D-beta.N`, with npm dist-tag `beta`

98+

- `beta`: prerelease tags like `vYYYY.M.PATCH-beta.N`, with npm dist-tag `beta`

9699

- Prefer `-beta.N`; do not mint new `-1` or `-2` beta suffixes

97100

- `dev`: moving head on `main`

98101

- When using a beta Git tag, publish npm with the matching beta version suffix so the plain version is not consumed or blocked

@@ -108,7 +111,7 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

108111

- `docs/install/updating.md`

109112

- Peekaboo Xcode project and plist version fields

110113

- Before creating a release tag, make every version location above match the version encoded by that tag.

111-

- For fallback correction tags like `vYYYY.M.D-N`, the repo version locations still stay at `YYYY.M.D`.

114+

- For fallback correction tags like `vYYYY.M.PATCH-N`, the repo version locations still stay at `YYYY.M.PATCH`.

112115

- “Bump version everywhere” means all version locations above except `appcast.xml`.

113116

- Release signing and notary credentials live outside the repo in the private maintainer docs.

114117

- Every stable OpenClaw release ships the npm package, macOS app, and signed

@@ -129,19 +132,19 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

129132

tagged commit when the delta is mac packaging, signing, workflow, or

130133

validation-only release machinery. If mac packaging needs release-branch-only

131134

fixes after the stable npm package or GitHub tag is already published, do not

132-

create a `vYYYY.M.D-N` correction tag just to change the workflow source.

133-

Dispatch the private mac workflows for the original `tag=vYYYY.M.D` with

134-

`source_ref=release/YYYY.M.D` and `public_release_branch=release/YYYY.M.D`;

135+

create a `vYYYY.M.PATCH-N` correction tag just to change the workflow source.

136+

Dispatch the private mac workflows for the original `tag=vYYYY.M.PATCH` with

137+

`source_ref=release/YYYY.M.PATCH` and `public_release_branch=release/YYYY.M.PATCH`;

135138

provenance checks must prove the source SHA descends from the tag and

136-

validation/preflight use the same source. Reserve `vYYYY.M.D-N` correction

139+

validation/preflight use the same source. Reserve `vYYYY.M.PATCH-N` correction

137140

tags for emergency hotfixes that must publish a new npm package/release

138141

identity, not for ordinary mac-only packaging recovery.

139142

- The production Sparkle feed lives at `https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml`, and the canonical published file is `appcast.xml` on `main` in the `openclaw` repo.

140143

- That shared production Sparkle feed is stable-only. Beta mac releases may

141144

upload assets to the GitHub prerelease, but they must not replace the shared

142145

`appcast.xml` unless a separate beta feed exists.

143-

- For fallback correction tags like `vYYYY.M.D-N`, the repo version still stays

144-

at `YYYY.M.D`, but the mac release must use a strictly higher numeric

146+

- For fallback correction tags like `vYYYY.M.PATCH-N`, the repo version still stays

147+

at `YYYY.M.PATCH`, but the mac release must use a strictly higher numeric

145148

`APP_BUILD` / Sparkle build than the original release so existing installs

146149

see it as newer.

147150

- Stable Windows Hub release closeout requires the signed

@@ -151,7 +154,7 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

151154

workflow after the matching `openclaw/openclaw-windows-node` release exists;

152155

it verifies Authenticode signatures on Windows before uploading assets.

153156

- Website Windows Hub download links should target exact canonical

154-

`openclaw/openclaw/releases/download/vYYYY.M.D/...` assets for the current

157+

`openclaw/openclaw/releases/download/vYYYY.M.PATCH/...` assets for the current

155158

stable release, or `releases/latest/download/...` only after verifying the

156159

redirect resolves to that same tag, so the installable signed Windows artifact

157160

is visible from both the GitHub release page and openclaw.ai.

@@ -165,7 +168,7 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

165168

beta release tag as the base, then inspect every commit through the target

166169

release SHA.

167170

- The changelog rewrite is not optional for beta reruns: any `beta.N` after a

168-

rebase or backport must refresh the same stable-base `## YYYY.M.D` section

171+

rebase or backport must refresh the same stable-base `## YYYY.M.PATCH` section

169172

before the new version/tag commit.

170173

- Include both merged PR commits and direct commits on `main`. Direct commits

171174

matter: infer notes from their subject, body, touched files, linked issues,

@@ -188,11 +191,11 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

188191

- Changelog entries should be user-facing, not internal release-process notes.

189192

- GitHub release and prerelease bodies must use the full matching

190193

`CHANGELOG.md` version section, not highlights or an excerpt. When creating

191-

or editing a release, extract from `## YYYY.M.D` through the line before the

194+

or editing a release, extract from `## YYYY.M.PATCH` through the line before the

192195

next level-2 heading and use that complete block as the release notes.

193196

- To update an existing GitHub Release body, resolve the numeric release id and

194197

patch that resource with the notes file as the `body` field:

195-

`gh api repos/openclaw/openclaw/releases/tags/vYYYY.M.D --jq .id`, then

198+

`gh api repos/openclaw/openclaw/releases/tags/vYYYY.M.PATCH --jq .id`, then

196199

`gh api -X PATCH repos/openclaw/openclaw/releases/<id> -F body=@/tmp/notes.md`.

197200

Do not trust `gh release edit --notes-file` or `--input` JSON if verification

198201

disagrees; verify with `gh api repos/openclaw/openclaw/releases/<id>` because

@@ -205,10 +208,10 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

205208

record's `docsPath` or `/plugins/compatibility` when no more specific

206209

deprecation page exists.

207210

- When cutting a mac release with a beta GitHub prerelease:

208-

- tag `vYYYY.M.D-beta.N` from the release commit

209-

- create a prerelease titled `openclaw YYYY.M.D-beta.N`

211+

- tag `vYYYY.M.PATCH-beta.N` from the release commit

212+

- create a prerelease titled `openclaw YYYY.M.PATCH-beta.N`

210213

- use release notes from the stable base `CHANGELOG.md` version section

211-

(`## YYYY.M.D`), not a beta-specific heading

214+

(`## YYYY.M.PATCH`), not a beta-specific heading

212215

- attach at least the zip and dSYM zip, plus dmg if available

213216

- Keep the top version entries in `CHANGELOG.md` sorted by impact:

214217

- `### Changes` first

@@ -218,10 +221,10 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

218221219222

Use the OpenClaw account's existing release-post style:

220223221-

- Format: `OpenClaw YYYY.M.D 🦞` or `🦞 OpenClaw YYYY.M.D is live`, blank line,

224+

- Format: `OpenClaw YYYY.M.PATCH 🦞` or `🦞 OpenClaw YYYY.M.PATCH is live`, blank line,

222225

then 3-4 emoji-led bullets, blank line, one short punchline, then the release

223226

link.

224-

- For beta: say `OpenClaw YYYY.M.D-beta.N 🦞` or `OpenClaw YYYY.M.D beta N is

227+

- For beta: say `OpenClaw YYYY.M.PATCH-beta.N 🦞` or `OpenClaw YYYY.M.PATCH beta N is

225228

live`; keep it clearly beta and avoid implying stable promotion.

226229

- Lead with user-visible capabilities, then important integrations, then

227230

reliability/security/install fixes. Compress "lots of fixes" into one

@@ -332,8 +335,8 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

332335

```

333336334337

- This verifies the published registry install path in a fresh temp prefix.

335-

- For stable correction releases like `YYYY.M.D-N`, it also verifies the

336-

upgrade path from `YYYY.M.D` to `YYYY.M.D-N` so a correction publish cannot

338+

- For stable correction releases like `YYYY.M.PATCH-N`, it also verifies the

339+

upgrade path from `YYYY.M.PATCH` to `YYYY.M.PATCH-N` so a correction publish cannot

337340

silently leave existing global installs on the old base stable payload.

338341

- Treat install smoke as a pack-budget gate too. `pnpm test:install:smoke`

339342

now fails the candidate update tarball when npm reports an oversized

@@ -480,7 +483,7 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

480483

`npm login --auth-type=legacy`, then confirm `npm whoami` reports

481484

`steipete`.

482485

- Promote with a fresh OTP:

483-

`npm dist-tag add openclaw@YYYY.M.D latest --otp "$OTP"`.

486+

`npm dist-tag add openclaw@YYYY.M.PATCH latest --otp "$OTP"`.

484487

- Verify with a cache-bypassed registry read, for example:

485488

`npm view openclaw dist-tags --json --prefer-online --cache /tmp/openclaw-npm-cache-verify-$$`

486489

and `npm view openclaw@latest version dist.tarball --json --prefer-online`.

@@ -506,7 +509,7 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

506509

the npm version is already published.

507510

- npm validation-only preflight may still be dispatched from ordinary branches

508511

when testing workflow changes before merge. Release checks and real publish

509-

use only `main` or `release/YYYY.M.D`.

512+

use only `main` or `release/YYYY.M.PATCH`.

510513

- `.github/workflows/macos-release.yml` in `openclaw/openclaw` is now a

511514

public validation-only handoff. It validates the tag/release state and points

512515

operators to the private repo. It still rebuilds the JS outputs needed for

@@ -531,7 +534,7 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

531534

waives the full gate; mac beta validation is still only required when

532535

requested.

533536

- Real publish runs may be dispatched from `main` or from a

534-

`release/YYYY.M.D` branch. For release-branch runs, the tag must be contained

537+

`release/YYYY.M.PATCH` branch. For release-branch runs, the tag must be contained

535538

in that release branch, and the real publish must reuse a successful preflight

536539

from the same branch.

537540

- The release workflows stay tag-based; rely on the documented release sequence

@@ -599,8 +602,8 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

599602

4. Pull latest `main` and confirm current `main` CI is green.

600603

5. Run `/changelog` for the stable base target version on `main`, commit the

601604

changelog rewrite immediately, push, and pull/rebase. For beta releases,

602-

keep the changelog heading as `## YYYY.M.D`, not `## YYYY.M.D-beta.N`.

603-

6. Create `release/YYYY.M.D` from that post-changelog `main` commit.

605+

keep the changelog heading as `## YYYY.M.PATCH`, not `## YYYY.M.PATCH-beta.N`.

606+

6. Create `release/YYYY.M.PATCH` from that post-changelog `main` commit.

604607

7. Make every repo version location match the beta tag before creating it.

605608

8. Commit release preparation changes on the release branch and push the branch.

606609

9. Immediately dispatch Actions > `OpenClaw Performance` from `main` with