Skip to content

Commit 0721e72

Browse files
committed
chore(release): cut v0.3.0
First release carrying the structured-error-envelope migration and the MCP_JSON_FORMAT_VERSION bump from '1' to '2'. Adds CHANGELOG.md (Keep-a-Changelog) and ships it in the published tarball so downstream consumers can diff behavior changes without trawling git history.
1 parent 15fcc57 commit 0721e72

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.3.0] — 2026-04-17
9+
10+
### Changed (breaking)
11+
12+
- `MCP_JSON_FORMAT_VERSION` bumped from `"1"` to `"2"`. All tool JSON responses
13+
now surface errors through the structured envelope rather than ad-hoc shapes.
14+
- `gateAuth` returns a structured `McpError` envelope on failure instead of a
15+
string/partial shape. Callers relying on the pre-2.0 shape must migrate.
16+
17+
### Added
18+
19+
- `McpError` envelope + helpers (`mkError`, `errorRespond`) in `src/server/json.ts`
20+
— uniform `{ code, message, retryable, suggestedFix? }` shape across all tools.
21+
- Octokit error classifier (`classifyError`) mapping HTTP status + rate-limit
22+
headers to canonical envelope codes (`AUTH_FAILED`, `PERMISSION_DENIED`,
23+
`NOT_FOUND`, `RATE_LIMITED`, `VALIDATION`, `UPSTREAM_FAILURE`, `INTERNAL`).
24+
25+
### Refactored
26+
27+
All tool error paths migrated to the envelope:
28+
29+
- `repo_status` — per-item errors embedded in envelope.
30+
- `my_work`, `pr_preflight`, `release_readiness`, `ci_diagnosis`, `org_pulse`
31+
— top-level errors routed through `errorRespond`.
32+
- `pin_drift` — per-pin failures surfaced via envelope.
33+
- `ecosystem_activity` — per-repo errors via envelope.
34+
- `module_pin_hint` — tool errors via envelope.
35+
36+
### Tests
37+
38+
- `pin-drift-tool.test.ts` tracks every `mkdtempSync` dir and cleans up in
39+
`afterAll`, preventing leaked `$TMPDIR/pin-drift-tool-test-*` directories
40+
across repeated runs.
41+
42+
### Docs
43+
44+
- `docs/mcp-tools.md` documents the error envelope contract and tool-level
45+
idempotency guarantees.
46+
47+
## [0.2.1] — prior
48+
49+
Baseline prior to the envelope migration. See git history for details.
50+
51+
## [0.2.0] — prior
52+
53+
Initial public tool surface: `repo_status`, `my_work`, `pr_preflight`,
54+
`release_readiness`, `ci_diagnosis`, `org_pulse`, `pin_drift`,
55+
`ecosystem_activity`, `module_pin_hint`.
56+
57+
[0.3.0]: https://github.com/Rethunk-AI/rethunk-github-mcp/releases/tag/v0.3.0
58+
[0.2.1]: https://github.com/Rethunk-AI/rethunk-github-mcp/releases/tag/v0.2.1
59+
[0.2.0]: https://github.com/Rethunk-AI/rethunk-github-mcp/releases/tag/v0.2.0

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@rethunk/github-mcp",
3-
"version": "0.2.1",
3+
"version": "0.3.0",
44
"description": "MCP stdio server: high-value GitHub rollup tools for LLMs — multi-repo dashboards, PR preflight, CI diagnosis, and more.",
55
"type": "module",
66
"private": false,
@@ -13,6 +13,7 @@
1313
"docs/install.md",
1414
"docs/mcp-tools.md",
1515
"AGENTS.md",
16+
"CHANGELOG.md",
1617
"HUMANS.md",
1718
"README.md",
1819
"LICENSE"

0 commit comments

Comments
 (0)