---
summary: "Enrichment channel on read tools, error-code refinement, MCPB bundling, plugin manifests, framework ^0.9.16, and dev-dep bumps."
breaking: false
security: false
---

# 2.1.0 — 2026-05-30

## Added

- **Enrichment channel on `ntfy_search_emoji_tags`** — `enrichment { effectiveQuery, totalCount, truncated, notice }` reaches both `structuredContent` and `content[]`; `output` reduced to `{ matches }`.
- **Enrichment channel on `ntfy_fetch_messages`** — `enrichment { topic, since, count, truncated, appliedFilters, notice }` with `enrichmentTrailer` for `appliedFilters`; `output` reduced to `{ messages }`.
- **MCPB bundling** — `manifest.json`, `.mcpbignore`, and `bundle` + `lint:packaging` scripts; builds `dist/ntfy-mcp-server.mcpb` via `@anthropic-ai/mcpb`.
- **Plugin manifests** — `.claude-plugin/plugin.json` (Claude Code) and `.codex-plugin/plugin.json` + `.codex-plugin/mcp.json` (Codex).
- **`AGENTS.md`** — byte-identical twin of `CLAUDE.md`; enforced by `check-docs-sync`.
- **Scripts** `scripts/lint-packaging.ts`, `scripts/list-skills.ts` synced from framework.
- **Skills** `skills/code-simplifier/SKILL.md`, `skills/git-wrapup/SKILL.md` added; 14 existing skills updated from framework.
- **`.env.example`** — documents `MCP_HTTP_MAX_BODY_BYTES` and `MCP_GC_PRESSURE_INTERVAL_MS`.

## Changed

- **`ntfy_search_emoji_tags` structuredContent field renames** — `query → effectiveQuery`, `total → totalCount`. Data still present; now under the enrichment schema. Integrators keying on the old field names must update.
- **`ntfy_fetch_messages` structuredContent field rename** — `filters → appliedFilters`. Same note applies.
- **Error codes** — contract reasons `invalid_since` (fetch), `payload_too_large` + `unverified_contact` (publish) recoded from `InvalidParams` to `ValidationError` for accurate semantic signal.
- **Framework** — `@cyanheads/mcp-ts-core` `^0.9.1 → ^0.9.16`.
- **Dev deps** — `@biomejs/biome` `2.4.15 → 2.4.16`, `@types/node` `25.8.0 → 25.9.1`, `vitest` `4.1.6 → 4.1.7`.
- **Skills removed** — `skills/migrate-mcp-ts-template/SKILL.md` removed (superseded upstream).
