From c462bcc50e0558c20e5b91f1f2699e84a71ac7c8 Mon Sep 17 00:00:00 2001 From: Deniffer Date: Mon, 21 Sep 2026 11:03:32 +0800 Subject: [PATCH] chore: prepare wbot 0.2.0 stable release with synchronized plugin versions and migration notes --- bun.lock | 2 +- packages/wbot/CHANGELOG.md | 30 +++++++++++++++++++ packages/wbot/package.json | 2 +- packages/wbot/wbot-release-policy.test.ts | 3 +- .../claude/.claude-plugin/marketplace.json | 2 +- .../claude/wbot/.claude-plugin/plugin.json | 2 +- plugins/claude/wbot/.mcp.json | 2 +- plugins/codex/wbot/.codex-plugin/plugin.json | 2 +- plugins/codex/wbot/.mcp.json | 2 +- 9 files changed, 38 insertions(+), 9 deletions(-) diff --git a/bun.lock b/bun.lock index 620a491..194d447 100644 --- a/bun.lock +++ b/bun.lock @@ -14,7 +14,7 @@ }, "packages/wbot": { "name": "@celados/wbot", - "version": "0.2.0-rc.1", + "version": "0.2.0", "bin": { "wbot": "./wbot-cli.ts", }, diff --git a/packages/wbot/CHANGELOG.md b/packages/wbot/CHANGELOG.md index b5ce389..9df3d58 100644 --- a/packages/wbot/CHANGELOG.md +++ b/packages/wbot/CHANGELOG.md @@ -4,6 +4,36 @@ All notable changes to the public wbot client are documented in this file. ## Unreleased +## 0.2.0 - 2026-09-21 + +### Breaking Changes + +- Replaced the legacy message `media` projection with the unified `attachment` projection used by + the active Platform contract. +- Added required `capabilities` and `captureFreshness` properties to conversation results and a + required `captureFreshness` property to message-update results. +- Added current `nudge`, conversation avatar, target identity, and attachment descriptor variants + to the exported result types. + +### Added + +- Validated successful Platform responses at the HTTP boundary while tolerating unknown additive + fields. +- Added the sanitized `PlatformContractError` with machine code `invalid_platform_response`. +- Surfaced Platform API deprecation and sunset metadata on stderr without contaminating CLI JSON or + MCP protocol output. +- Added one release identity across the package, CLI, MCP server, Plugins, tags, and artifacts. +- Added curated changelog release notes and a stable-release compatibility gate against the current + test Platform. + +### Migration + +- Read message binary state from `attachment` instead of `media`. +- Handle the required conversation capabilities and capture freshness fields, including empty + message-update pages. +- Consumers upgrading from `0.1.x` must handle the result changes above. +- Consumers already using `0.2.0-rc.1` have no additional API migration steps. + ## 0.2.0-rc.1 - 2026-08-11 ### Breaking Changes diff --git a/packages/wbot/package.json b/packages/wbot/package.json index 1a4c201..085c894 100644 --- a/packages/wbot/package.json +++ b/packages/wbot/package.json @@ -1,6 +1,6 @@ { "name": "@celados/wbot", - "version": "0.2.0-rc.1", + "version": "0.2.0", "private": true, "description": "Agent-first, read-only access to wbot conversations", "license": "MIT", diff --git a/packages/wbot/wbot-release-policy.test.ts b/packages/wbot/wbot-release-policy.test.ts index e5f354a..22f5375 100644 --- a/packages/wbot/wbot-release-policy.test.ts +++ b/packages/wbot/wbot-release-policy.test.ts @@ -466,7 +466,7 @@ describe("功能 2:版本号表达公开契约影响", () => { ); }); - test("场景 2.3:公开结果增加必填属性属于破坏性变化", async () => { + test("场景 2.3:公开结果增加必填属性属于破坏性变化", () => { expect( readReleaseImpact(`### Breaking Changes @@ -479,7 +479,6 @@ describe("功能 2:版本号表达公开契约影响", () => { - Conversation results may include an optional avatar. `), ).toBe("compatible"); - expect((await createFixture()).expectedVersion).toBe("0.2.0-rc.1"); }); test.each([ diff --git a/plugins/claude/.claude-plugin/marketplace.json b/plugins/claude/.claude-plugin/marketplace.json index 37b1eba..6cc138f 100644 --- a/plugins/claude/.claude-plugin/marketplace.json +++ b/plugins/claude/.claude-plugin/marketplace.json @@ -8,7 +8,7 @@ "name": "wbot", "source": "./wbot", "description": "Read authorized WeChat conversations through wbot.", - "version": "0.2.0-rc.1" + "version": "0.2.0" } ] } diff --git a/plugins/claude/wbot/.claude-plugin/plugin.json b/plugins/claude/wbot/.claude-plugin/plugin.json index 521386e..7d66dc1 100644 --- a/plugins/claude/wbot/.claude-plugin/plugin.json +++ b/plugins/claude/wbot/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "wbot", - "version": "0.2.0-rc.1", + "version": "0.2.0", "description": "Read authorized WeChat conversations through wbot.", "author": { "name": "Celados" diff --git a/plugins/claude/wbot/.mcp.json b/plugins/claude/wbot/.mcp.json index 3a5c43d..6427d6d 100644 --- a/plugins/claude/wbot/.mcp.json +++ b/plugins/claude/wbot/.mcp.json @@ -5,7 +5,7 @@ "args": [ "--bun", "--package", - "@celados/wbot@https://github.com/celados/wbot/releases/download/v0.2.0-rc.1/wbot-0.2.0-rc.1.tgz", + "@celados/wbot@https://github.com/celados/wbot/releases/download/v0.2.0/wbot-0.2.0.tgz", "wbot", "mcp" ] diff --git a/plugins/codex/wbot/.codex-plugin/plugin.json b/plugins/codex/wbot/.codex-plugin/plugin.json index 8eb7284..eadb887 100644 --- a/plugins/codex/wbot/.codex-plugin/plugin.json +++ b/plugins/codex/wbot/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "wbot", - "version": "0.2.0-rc.1", + "version": "0.2.0", "description": "Read authorized WeChat conversations through wbot.", "author": { "name": "Celados" diff --git a/plugins/codex/wbot/.mcp.json b/plugins/codex/wbot/.mcp.json index 3a5c43d..6427d6d 100644 --- a/plugins/codex/wbot/.mcp.json +++ b/plugins/codex/wbot/.mcp.json @@ -5,7 +5,7 @@ "args": [ "--bun", "--package", - "@celados/wbot@https://github.com/celados/wbot/releases/download/v0.2.0-rc.1/wbot-0.2.0-rc.1.tgz", + "@celados/wbot@https://github.com/celados/wbot/releases/download/v0.2.0/wbot-0.2.0.tgz", "wbot", "mcp" ]