v0.7.0
What's New
Model Fallback (#62)
When a model returns a capacity, rate limit, or availability error, the bridge automatically tries alternative models from a configurable fallback chain. Supports both auto-detected chains (same-family downgrades) and explicit fallbackModels in config. The working model is saved to channel preferences.
Loop Detection (#68)
Detects when the Copilot session enters a tool-call repeating the same tool with identical arguments. Warns at 5 repetitions and forces a new session at 10. Resets on /new.loop
Init Wizard Improvements (#63)
- Config now always generates named
botsobjects (clearer structure, easier to add bots later) - After writing config, detects if the bridge is running as a service and suggests the appropriate restart command
/resume Prefix Matching (#64)
/resume now accepts a prefix of a previous session ID instead of requiring the full ID.
Streaming UX (#65)
- Thinking/reasoning events suppressed (no more message churn from chain-of-thought)
- Verbose tool output preserved through stream lifecycle instead of being lost on finalization
Permission Auto-Deny + Requeue (#67)
When unrecognized text arrives during a permission prompt, the pending permission is auto-denied and the text is requeued as a normal no more silent drops.message
Mattermost 11 (#61)
Upgraded @mattermost/client and @mattermost/types to 11.4.0. No API changes required.
Bug Fixes
data.content)
- Fixed flaky
checkCopilotCLItest timeout in CI (Node 20)
Documentation
- Updated config.sample.json, README, AGENTS.md, setup.md, and configuration.md for all new features
- config.sample.json now uses named bots as the primary pattern
Test Coverage
253 tests across 14 test files. New test files for model fallback (55), loop detection (12), session prefix (6), stream formatter (8), and steering (6).