# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.1.0] - 2026-07-24 First public release: extraction of a battle-tested personal mechanism into a distributable plugin. ### Added - Bash engine: `coord-send.sh` (directed / broadcast / reply delivery), `coord-inbox.sh` (pending inbox + unseen broadcasts, formatted for context injection), `coord-done.sh` (archive without reply), all bash-3.2-safe, ASCII-only, zero dependencies. - `coord-selftest.sh`: 48 checks against a throwaway mailbox, including regression cover for filename sanitization, no-hang argument parsing, prompt-injection resistance, frontmatter hygiene, and broadcast ordering. - SessionStart hook (`hooks/scripts/session-start.mjs`): thin zero-dependency Node wrapper that injects the repo's pending mailbox as `additionalContext`. Always exits 0 — a broken mailbox never blocks a session. - `coord-send` skill: natural-language front door (English + Norwegian triggers) mapping intent to engine invocations, including bounded multi-target loops, deferred sends, and replies. ### Fixed - Frontmatter injection: CR/LF and control characters in `--subject`/`--from` are collapsed before writing, so fields can no longer inject frontmatter lines or a premature `---` terminator. - Broadcast loss: a per-repo seen set (`_broadcast/seen/`, one delivered filename per line) replaces the single high-water mark, which silently dropped a same-second broadcast whose filename sorted below one already seen. Upgrade note: a legacy watermark file is read as a one-entry seen set, so old broadcasts may be re-delivered once. ### Changed - Read-side protocol strings are English (`--- message:`, `-> reply:`, UNTRUSTED DATA framing); the forgery-resistance selftest checks pin the English tokens.