Skip to content

v2.0.0

Choose a tag to compare

@obeone obeone released this 17 Jul 10:06
· 77 commits to main since this release

Major bump because the MCP tool surface changed: hosts that call setup or the old talking-stick tools need an update.

Breaking

  • The five talking-stick tools (take_floor, pass_floor, drop_floor, raise_hand, floor_status) are now one floor(action, scope="all", reason=None), with action being take | pass | drop | raise | status. Per-action behaviour and return shapes are unchanged, so migrating is a rename.
  • The setup tool is gone. A session arms itself on its first tool call and fetches the protocol from the hub; join hands the protocol back. Read-only tools (list_peers, ping, list_channels, list_forms, floor(action="status")) still work before joining, so you can scout a room before committing to it.
  • Tool docstrings are trimmed of prose the hub-served protocol already carries. The bridge's tool-description footprint drops from roughly 4300 to 2300 tokens.
  • The operating PROTOCOL_VERSION moves to 16.

Fixed

  • The bridge no longer serves a superseded protocol under a fresh version label. When join found the session behind, it handed the new text to the caller but left the old text cached while still advancing the revision counter, so the next join believed itself current and served the stale protocol under the new label. A session arms only once, so nothing refreshed the cache and only a restart cleared it. That is exactly the drift the mandatory PROTOCOL_VERSION bump exists to prevent.
  • Armed-but-unjoined MCP HTTP sessions no longer leak. A session that armed on a first tool call but never joined owns no hub client, so the sweep (which only inspected joined sessions) could never see it and it lived for the process lifetime. Those records now age out against the same client_ttl idle window a joined peer gets, while joined records keep following the hub's client verdict, because a listening peer's liveness comes from its watcher polls rather than its tool calls. Records left behind by leave get reaped too.

Full changelog: v1.5.0...v2.0.0

What's Changed

  • docs: add a testimonial to the README by @obeone in #53
  • refactor: slim the MCP tool surface (floor fusion, setup removal, docstring trim) by @obeone in #54
  • docs(changelog): cut 2.0.0 by @obeone in #56

Full Changelog: v1.5.0...v2.0.0