3.0.0 (2026-04-30)
⚠ BREAKING CHANGES
- cli: remove megamcp aggregate server and Composio plan (#363)
chore
Features
- cli,skills: generator-time MCP description enrichment from spec (#396) (2b7a51e), closes #384
- cli,skills: polish ledger per-item enforcement + AGENTS.md guidance (#389) (0320269)
- cli: add GraphQLEndpointPath and EndpointTemplateVars to APISpec (73d136f)
- cli: add tools-audit subcommand and merge polish into a single skill (#378) (e4a0089)
- cli: emit buildURL helper + Config.TemplateVars for templated endpoints (289e598)
- cli: emit MCP tools for novel CLI features via shell-out (#358) (7f248d5)
- cli: generator emits mcp:read-only on read-only novel commands (#401) (8525915)
- cli: MCP description overrides + tools-audit scoring + polish skill nibbles (#382) (e651d01)
- cli: MCP tool surface mirrors Cobra tree at runtime, with mcp-sync backfill (#367) (358ff78)
- cli: mcp-sync reads display_name from public library registry.json fallback (#391) (64f6798)
- cli: MCPB manifest and bundle support for generated CLIs (#355) (af21450)
- cli: per-resource base_url override in spec schema (#405) (6586c0a)
- cli: split BaseURL from GraphQLEndpointPath in GraphQL parser + client (699e8ed)
- cli: substitute EndpointTemplateVars from env at runtime (8b470bc)
- cli: substitute EndpointTemplateVars in client.do() + cache key (8cb57db)
- cli: tools-audit checks MCP descriptions in tools-manifest.json (#381) (fee6802)
- skills: add /printing-press-import to bring published CLIs into internal library (#398) (262ab87)
- skills: add divergence check to polish skill setup (#380) (6727d0d)
Bug Fixes
- ci: remove redundant generated compile work (#361) (a5ba1b4)
- ci: shard test lanes (#362) (95cf6c8)
- ci: speed up generated compile tests and caches (#360) (ddacddb)
- cli,skills: manifest display_name preservation + divergence-check exemptions (#390) (401bda5), closes #387
- cli: add source rate-limit guardrails (#366) (174d23c)
- cli: dogfood agent-context discovery reads stdout only (#407) (fe1e6d7)
- cli: keep template-var env names out of verifier auth discovery (a0e1bb4)
- cli: manifest description no longer doubles 'API' when display_name ends in 'API' (#397) (fae7e6e), closes #393
- cli: manifest emission no longer gated by stale mcp_ready label (#359) (2e892e3)
- cli: mcp-sync auto-fixes spec.yaml name drift for internal YAML specs (#400) (d1b9cd2)
- cli: mcp-sync bumps mcp-go pin when migrating to cobratree surface (#404) (7670fe9)
- cli: mcp-sync handles older library CLI drift (cliutil + name validation) (#369) (1a4bcae)
- cli: mcp-sync preserves manifest brand-casing and hand-edited descriptions (#373) (9f57c41)
- cli: mcp-sync refreshes .printing-press.json from spec.yaml (#375) (40d1ffa)
- cli: mcp-sync skips deliver/suggestFlag prolog blocks when absent (#376) (2b9f2fb)
- cli: OpenAPI parser prefers description over summary on operations (#411) (cb91024)
- cli: scorecard human output shows N/A for opt-out dimensions (#406) (0954bca)
- cli: tools-manifest.json classifies reclassified path params as path, not query (#394) (cdd9153)
- cli: transliterate spec strings to ASCII via Unidecode at every chokepoint (#371) (283c992)
- cli: wire auth.optional through CLIManifest to MCPB user_config Required (#374) (a158a62)
- skills: drop context: fork from polish so AskUserQuestion works natively (#410) (0683ef1)
- skills: polish loads AskUserQuestion via ToolSearch in forked context (#399) (2d9efda)
- skills: polish syncs novel_features; publish detects squash-zombie branches (#414) (fe5d65c)