Skip to content

Releases: A-Launch/agent-mcp-react

0.3.0

Choose a tag to compare

@nickkvasov nickkvasov released this 09 Sep 18:01

[0.3.0] — 2026-09-09

A behaviour change and one public type change, both in the same area. Notes:
docs/releases/0.3.0.md.

Changed

  • A refused declaration no longer unmounts your application. It was re-thrown from the provider's
    render, so an author who forgot to install a validator got a blank page — with the console message
    naming the exact import sitting underneath a tree that no longer rendered. MCP is a second control
    interface onto one application, and a misconfigured second interface must not take down the first.
    What has not changed is that the declaration is refused: the tool is absent from tools/list
    and callable by nobody. The refusal is now scoped to the declaration that earned it, so the other
    tools on the page survive it — previously one unvalidated tool cost you every tool.
  • onRegistration carries every refused declaration, with the code that says which: a missing
    validator, a duplicate name, a foreign name, a reserved prefix. It previously carried only the
    reserved prefix. A development build also writes the refusal to the console with the declaration
    site, for an author who wired no observer.
  • McpRegistrationEvent#prefix is optional. It is meaningless for three of the four causes, and a
    required field a consumer has to ignore is worse than an absent one. A TypeScript consumer reading
    event.prefix must now handle undefined
    — the one source change this release asks of you.
  • onUnexpectedState still receives what it received before. Its documentation no longer says setup
    failures throw, because they do not.

Fixed

  • The documentation pages that described the old behaviour — the design page, the API reference, the
    troubleshooting page, the state and dependency pages — say what happens now.

0.2.3

Choose a tag to compare

@nickkvasov nickkvasov released this 09 Sep 18:01

[0.2.3] — 2026-09-09

Added

  • The README opens with a recording of an agent composing a dashboard by calling the tools the page
    declared — a twenty-second excerpt inline, linking the full three minutes. The left pane is the
    agent's real tool calls.

Changed

  • docs/media/ is exempt from the citation and vocabulary rules of the publish check, and from
    nothing else. Compressed video is scanned like every other file and decodes to stray section marks
    and short tokens by chance — 161 and 1790 findings on one recording — which is noise by
    construction. credential, personal-path and copyright-owner still apply there, because those
    patterns do not arise by accident.

0.2.2

Choose a tag to compare

@nickkvasov nickkvasov released this 09 Sep 18:01

[0.2.2] — 2026-09-09

Documentation only. src/ is unchanged from 0.2.1.

Changed

  • The README carries two quickstarts — one for using the package, one for working on the library —
    and leads with the registry install, which is now the ordinary route. Released so that the README on
    the registry says what the repository says: npm serves the README from the published tarball, so a
    documentation change reaches a package page only by being published.
  • No document restates the package version. The packed tarball's name appeared in six places
    across three pages, each of which had to be swept at every release and was twice found stale.
    package.json owns the version and the pages no longer repeat it.

0.2.1

Choose a tag to compare

@nickkvasov nickkvasov released this 09 Sep 18:01

[0.2.1] — 2026-09-09

Fixed

  • 0.2.0 was published broken and is deprecated. Install 0.2.1. Its manifest declared every
    subpath as ./src/*.ts, and src/ is not in the package — so every import from it failed. The
    release workflow published the working tree with npm, and publishConfig field overrides, which
    rewrite the exports map to point at dist/, are a pnpm feature that npm publish does not
    apply. pnpm pack produced a correct tarball throughout, which is why every check was green: the
    artifact the checks validated was never the artifact being uploaded. The workflow now packs with
    pnpm, asserts that tarball resolves every export it declares, and publishes that same file.

0.2.0

Choose a tag to compare

@nickkvasov nickkvasov released this 09 Sep 18:01

[0.2.0] — 2026-09-09

The first release published from this repository, and the version its v0.2.0 tag names. Its notes
are in docs/releases/0.2.0.md.

Added

  • The repository is public. A contributor guide that owns every convention (CONTRIBUTING.md),
    a code of conduct, a security policy, issue and pull-request templates, a CI workflow whose gate
    job is the check branch protection requires, and a single pnpm gate script that runs the whole
    health gate. A publish check (pnpm verify:public) asserts that nothing in the tree cites a
    document that is not in it.
  • The design document. docs/design.md states every claim a page or a source
    comment relies on, under a stable heading, so a comment can link the design rather than a number.
  • Explanation and reference pages. Why MCP is a second control interface, why registration
    follows the commit, what an agent can and cannot reach, the full API, the capability reference and
    the error vocabulary — including the rule that a thrown handler message is replaced outside a
    development build, so guidance an agent should act on must be returned.
  • A second demonstrator. examples/composable-board on port 45030: a dashboard whose layout an
    agent composes from a closed catalog of panel kinds — table, metric, chart, form, map, timeline,
    pipeline — with per-panel tools and a real world map drawn from bundled geography with no network.
  • A conformance layer. tests/conformance/ pins every behaviour this library relies on in an
    adopted package — the portability shim and the MCP SDK server — against the real package, and a
    browser case asserts the same of the built bundle. An opt-in lane (pnpm test:e2e:native) runs the
    page against Chromium's own tool registry; docs/conformance.md records the
    findings and the divergences from the draft standard.
  • External consumability checks. pnpm verify:consumer installs the packed tarball into a project
    outside the repository, typechecks it against the shipped types and bundles it; pnpm verify:consumer:runs serves that bundle and asserts it mounts.
  • Transport documentation. docs/websocket-framing.md and
    docs/connection-lifecycle.md.

Changed

  • Validation under a strict Content-Security-Policy. The bundled validator compiles schemas with
    new Function and needs unsafe-eval; an application under a strict policy would expose no tools
    at all. The customer dashboard now ships a validator that needs no evaluation, and the defect and
    its options are recorded in
    docs/issues/validator-requires-unsafe-eval.md.
  • The README is written for a reader who has never seen the project: what it does, whether it
    fits, install, the minimal wiring, what you must supply, what will bite you.