v2.3.0
Added
missedon the send result.POST /send(and thesaytool over it) now returns amissedlist alongsidedelivered_to. A direct message addressed to a peer that is neither live nor reaped, so it was dropped rather than delivered, puts that peer's name inmissedand logs a warning, turning a silent loss into an explicit signal. Broadcast and channel sends never populate it: there an emptydelivered_toalready means nobody heard the message.
Fixed
- Stale
ping()protocol guidance. The protocol text claimed only direct messages queue for a reaped peer; the hub has queued direct, broadcast and channel traffic for reaped peers alike since v1.0.0. The wording now matches the behaviour, and clarifies that "absent" means past the grace window. BumpsPROTOCOL_VERSIONto 17.
Full changelog: v2.2.0...v2.3.0
What's Changed
- ci: install the locked toolchain instead of re-resolving to latest by @obeone in #60
- feat(hub): surface undeliverable direct sends via a missed field by @obeone in #52
- chore(deps): bump mcp from 1.28.0 to 1.28.1 by @dependabot[bot] in #55
- Add Claude Code GitHub Workflow by @obeone in #63
- docs(changelog): cut 2.3.0, backfill 2.1.0/2.2.0, mandate continuous updates by @obeone in #62
Full Changelog: v2.2.0...v2.3.0