v0.117.0
What's Changed
- ci: catch changelog entries filed under an already-dated heading by @mabry1985 in #2304
- fix(fleet): stop must not report a stop it didn't achieve (closes #2286) by @mabry1985 in #2307
- feat(network): warn when a single-IP bind excludes loopback (closes #2147) by @mabry1985 in #2308
- fix(plugins): structured error envelope for plugin endpoints (closes #2259) by @mabry1985 in #2309
- feat(ci): reconcile team-ready against open PR claims (closes #2278) by @mabry1985 in #2310
- feat(desktop): open a real second window instead of denying it (closes #1706) by @mabry1985 in #2317
- fix(console): category filter strip must scroll, not spill out of the panel by @mabry1985 in #2319
- feat(v1): session continuity + defined disconnect semantics (closes #2119) by @mabry1985 in #2312
- fix(watches): decouple from goal mode — the poller skipped every watch when goal mode was off (ADR 0067) by @mabry1985 in #2320
- feat(archetypes): declare a capability contract, check it against bound tools (closes #2277) by @mabry1985 in #2315
- feat(plugins): detect a symlinked plugin serving mixed code (closes #2298) by @mabry1985 in #2311
- feat(watches): make the config surface real — watches.interval, Settings fields, default ON (ADR 0067) by @mabry1985 in #2321
- feat(changelog): news fragments in changelog.d/ (closes #2322) by @mabry1985 in #2324
- feat(watches): retire finished watches instead of accumulating them forever (ADR 0067) by @mabry1985 in #2323
- feat(keybindings): postMessage bridge for sandboxed plugin views (closes #1457) by @mabry1985 in #2318
- feat(acp): surface stopReason so a coder can declare a dead end (closes #2279) by @mabry1985 in #2313
- feat(watches): let an agent give a watch a lifetime — interval/expiry/stall on create_watch (ADR 0067) by @mabry1985 in #2325
- feat(plugins): host-vs-runtime scope for requires_pip (closes #2246) by @mabry1985 in #2314
- feat(soul): opt-in semantic drift judge for doctrine_leak (closes #2272) by @mabry1985 in #2316
- chore(changelog): require a changelog.d/ fragment — retire the transitional CHANGELOG.md path (#2322) by @mabry1985 in #2326
- feat(watches): show a watch's cadence, expiry and stall threshold in the console (ADR 0067) by @mabry1985 in #2327
- feat(watches): edit a live watch in place instead of clear-and-recreate (ADR 0067) by @mabry1985 in #2328
- chore(changelog): consolidate [Unreleased] into one heading per kind by @mabry1985 in #2329
- fix(release): stage the fragment deletions collate makes by @mabry1985 in #2331
Full Changelog: v0.116.0...v0.117.0