v0.3.63
35 commits since v0.3.62. 53 files changed, +3082 / -750 lines.
✨ Features
2336e4f2/usage breakdown by provider and model: per-provider and per-model cost breakdowns with period filters (day/week/month/all)6c7a80d0image.vision.provider override: bypasses the enabled gate for vision-only providers354e482cTelegram flow logs via rich API: 32K-character processing-log blocks with HTML fallback for short messagesb77fdc23doc_gen image blocks: embed local PNG/JPEG inline in PDF and DOCX reports6cc83797Discord interactive components: select menus, modal forms, component TTL, role access, forum threadsd1faf9dfDiscord media gallery: batch generated files into one multi-attachment messagee086900dDiscord collapsible grouped tool calls: Expand/Collapse toggle on grouped blocks9bd7fda8Discord reaction turns and react-back: emoji reactions trigger agent turns, Slack/Telegram paritydfd90ed4Concurrent auto-approved tool batches: parallel execution of independent tool callsd4da1bbbPPTX style layer: brand templates, accent titles1206761bDOCX style layer: accent headings, page furniture, shaded tablesb2b48645XLSX style layer: header fill, zebra rows, freeze panesb3320c85default_provider and default_model config: new [agent] config keys for session fallback
🔧 Fixes
0a0ddf3dTelegram mid-turn guard: prevents double-processing on concurrent messages39dfe2e1Provider tool-call leak attribution: fixes parameter name leaks in attributed providers6c1982cbChannel attachments before final answer: send media attachments before the text response0b95b62bTelegram collapsed block previews: correct preview rendering in collapsed state695b8141Telegram flow block freezes: prevent freezing during long tool chains13415b9eTelegram leftover status bubble: delete status after flow completesd3c77bf4Provider element-style tool-call leaks: parse and recover malformed tool-call elements1f3fcb64Discord unread channel_id: drop stale channel references400f5a3dTelegram stale quip pool: delete leftover quips after session reset9c9432edTelegram status-draft loop: stop infinite edit loop on status messagesc5a5d6c7Telegram strip_html_tags: generic HTML stripping for all channel contexts0a1236e2Telegram RetryAfter handling: respect Telegram rate-limit backoffddfde517Telegram split_message char count: correct character counting for message splits
📖 Documentation
42d279aaclarify default_provider/default_model fallback-only behavior20b53933document security deny-by-default access modele8ec8a05document doc_gen image blocks inline in PDF and DOCX7e75f7f2document telegram flow logs via rich API (32K)68f3ab38document image.vision.provider config key03e43eaddocument /usage breakdown by provider and modelfa15ee84document discord feature parity with Slack (interactive components, media gallery, grouped tools, reactions)dcab09edclarify atomic issues in contributing guide
🧹 Miscellaneous
f3ff299cchore(logs): stop debug spam from flow-log channel
📊 Stats
- 35 commits since v0.3.62
- 53 files changed, +3082 / -750 lines
- 4680 tests (4680 passed, 0 failed, 29 ignored)
Full Changelog: v0.3.62...v0.3.63