diff --git a/RELEASE-NOTES/0.25.2.md b/RELEASE-NOTES/0.25.2.md new file mode 100644 index 0000000..b6927aa --- /dev/null +++ b/RELEASE-NOTES/0.25.2.md @@ -0,0 +1,35 @@ +commy plugin: release 0.25.2 + +Patch release of the commy plugin, **0.25.1 → 0.25.2**. + +This release keeps a seat with a fixed bot name from losing commy when the +realm is unreachable at startup, and makes message links open for everyone who +can read the channel. + +## Highlights + +- **A seat with `COMMY_BOT_NAME` set rides out a realm outage at startup.** + Until now, the server signed in before it answered Claude Code, and any + failure to sign in ended it. Claude Code remembers a failed MCP server for the + rest of the session, so the seat had no commy until it was restarted. The + server now answers Claude Code first and signs in afterwards. It keeps + retrying for as long as the realm cannot be reached, is rate-limiting, or is + behind a proxy reporting it down. Once it signs in, it picks up its + subscriptions and catches up as before. Rejected credentials and other + refusals still stop the server at once, with the same message as before. +- **Message links open for viewers who were not subscribed when the message + was sent.** A link commy handed out used to show an empty view to those + viewers. Links now name the channel and topic, as Zulip's own "Copy link to + message" does, and still find a message whose topic was renamed or resolved. + +No action required beyond updating the plugin. + +## Maintenance + +- Publish to npm from a dedicated GitHub environment. +- Dependency updates: `@modelcontextprotocol/sdk` 1.31.0, `hono`, `ws`, + `turbo`, `@biomejs/biome`, and lockfile maintenance. + +--- + +Eight-way version parity bumped in lockstep (enforced by `manifests.test.ts`). diff --git a/bun.lock b/bun.lock index f6db62c..1139f72 100644 --- a/bun.lock +++ b/bun.lock @@ -25,7 +25,7 @@ }, "clients/claude-code": { "name": "commy-plugin", - "version": "0.25.1", + "version": "0.25.2", "dependencies": { "@commy/mcp": "workspace:*", }, @@ -40,7 +40,7 @@ }, "packages/mcp": { "name": "@commy/mcp", - "version": "0.25.1", + "version": "0.25.2", "dependencies": { "@commy/core": "workspace:*", "@commy/zulip": "workspace:*", diff --git a/clients/claude-code/.claude-plugin/plugin.json b/clients/claude-code/.claude-plugin/plugin.json index bdeb2bd..5db45c9 100644 --- a/clients/claude-code/.claude-plugin/plugin.json +++ b/clients/claude-code/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "commy", "description": "Hexagonal MCP plugin exposing commy ports to Claude Code sessions. V1 hard-wired to the Zulip driven adapter.", - "version": "0.25.1", + "version": "0.25.2", "author": { "name": "Code For Breakfast", "email": "info@codeforbreakfast.co" diff --git a/clients/claude-code/.mcp.json b/clients/claude-code/.mcp.json index 6dec089..488cb87 100644 --- a/clients/claude-code/.mcp.json +++ b/clients/claude-code/.mcp.json @@ -2,7 +2,7 @@ "mcpServers": { "commy": { "command": "npx", - "args": ["-y", "@codeforbreakfast/commy-mcp@0.25.1"], + "args": ["-y", "@codeforbreakfast/commy-mcp@0.25.2"], "cwd": "${CLAUDE_PLUGIN_ROOT}", "env": { "ZULIP_SITE": "${user_config.ZULIP_SITE}", diff --git a/clients/claude-code/package.json b/clients/claude-code/package.json index bf5fe5d..8bbb756 100644 --- a/clients/claude-code/package.json +++ b/clients/claude-code/package.json @@ -1,6 +1,6 @@ { "name": "commy-plugin", - "version": "0.25.1", + "version": "0.25.2", "license": "Apache-2.0", "type": "module", "scripts": { diff --git a/clients/hermes/commy/plugin.yaml b/clients/hermes/commy/plugin.yaml index bf4683b..f2c31de 100644 --- a/clients/hermes/commy/plugin.yaml +++ b/clients/hermes/commy/plugin.yaml @@ -1,6 +1,6 @@ name: commy-platform kind: platform -version: 0.25.1 +version: 0.25.2 description: > commy gateway adapter for Hermes Agent (pattern B: inbound-axis consumer for non-Claude-Code hosts). Registers the `commy` platform. diff --git a/clients/hermes/pyproject.toml b/clients/hermes/pyproject.toml index 4116895..4ea62f9 100644 --- a/clients/hermes/pyproject.toml +++ b/clients/hermes/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "commy-hermes" -version = "0.25.1" +version = "0.25.2" description = "commy platform adapter for Hermes Agent (pattern B inbound-axis consumer)" readme = "README.md" license = "Apache-2.0" diff --git a/clients/hermes/uv.lock b/clients/hermes/uv.lock index ed3dd1c..f3508fd 100644 --- a/clients/hermes/uv.lock +++ b/clients/hermes/uv.lock @@ -170,7 +170,7 @@ wheels = [ [[package]] name = "commy-hermes" -version = "0.25.1" +version = "0.25.2" source = { editable = "." } [package.dev-dependencies] diff --git a/packages/mcp/mcp-server.ts b/packages/mcp/mcp-server.ts index 0409633..0952cd3 100644 --- a/packages/mcp/mcp-server.ts +++ b/packages/mcp/mcp-server.ts @@ -6,7 +6,7 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js' * enforced by manifests.test.ts. Update only via the `release-plugin` * skill, which edits all three sites and tags the result. */ -export const PLUGIN_VERSION = '0.25.1' +export const PLUGIN_VERSION = '0.25.2' /** * Echoed to every connected MCP client via the server `instructions:` diff --git a/packages/mcp/package.json b/packages/mcp/package.json index f150834..15ecf73 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@commy/mcp", - "version": "0.25.1", + "version": "0.25.2", "license": "Apache-2.0", "type": "module", "exports": {