What's Changed
- feat(security): add non_cli_excluded_tools config for channel tool filtering by @ecschoye in #1127
- fix(release): skip blacksmith rust-cache on windows jobs by @willsarg in #1195
- fix(release): run matrix build step with bash shell by @willsarg in #1196
- fix(release): remove conflicting cosign oidc issuer override by @willsarg in #1198
- fix(release): emit sigstore bundles during artifact signing by @willsarg in #1201
- fix(config): HttpRequestConfig::default() zero-initializes numeric fields by @xero7689 in #1197
- feat(gateway): add embedded web dashboard with React frontend by @ZekiKod in #966
- fix(release): check ghcr tag availability with anonymous token by @willsarg in #1207
- fix(provider): support multimodal payloads for vision-capable OpenAI-compatible providers by @chumyin in #1199
- feat: add runtime trace diagnostics for tool-call and model replies by @chumyin in #1194
- fix(observability): add OTLP paths to OTel endpoints by @cybershang in #1205
- fix(matrix): persist e2ee keys across daemon restarts by @chumyin in #1203
- feat(onboard): preserve existing config in interactive provider updates by @chumyin in #1204
- fix(install): support guided prompts when installer stdin is piped by @chumyin in #1209
- fix(tools): support '*' allowed_domains wildcard for browser_open/http_request by @chumyin in #1210
- fix(onboard): add Signal to interactive channel setup by @chumyin in #1213
- feat(agent): add draft progress streaming for tool call execution by @AllenHyang in #1212
- fix(cli): use Cargo.toml version instead of hardcoded string by @BenedictKing in #1216
- fix(tests): remove duplicate non_cli_excluded_tools initializer by @chumyin in #1221
- fix: clarify outside-workspace access via allowed_roots by @chumyin in #1219
- feat: add Telnyx AI inference provider and ClawdTalk voice channel by @a692570 in #236
- fix(onboard): add Nextcloud Talk interactive setup by @chumyin in #1224
- ci: add accelerated release build via cargo-slicer (27% faster fresh builds) by @yijunyu in #818
- fix(onboard,skills): resolve workspace layout mismatch and open-skills detection by @chumyin in #1231
- refactor(auth): add Gemini OAuth and consolidate OAuth utilities (DRY) by @zverozabr in #1229
- fix: restore Nextcloud Talk interactive onboarding initialization by @chumyin in #1227
- feat(provider): add first-class SGLang provider by @chumyin in #1232
- fix(provider,channels): enable OpenRouter vision and rollback failed image turns by @chumyin in #1233
- docs(readme): unify social media badge matrix across all languages by @chumyin in #1236
- Config refactor by @InuDial in #1228
- docs(readme): swap WeChat and X badge order in social matrix by @chumyin in #1237
- fix: route vercel provider to AI Gateway endpoint by @chumyin in #1235
- fix(agent): add cross-alias close tag resolution and GLM shortened body parsing by @vernonstinebaker in #1234
- fix(security): harden shell path and variable expansion checks by @fettpl in #616
- feat: natural-language scenario model routing and delegate profile config by @chumyin in #1244
- fix(agent): stabilize tool-call loop dedupe and fallback tool_call_id mapping by @chumyin in #1243
- fix(security): enforce cron tool autonomy and approval gates by @fettpl in #632
- fix(security): enforce schedule cron and command policy gates by @fettpl in #650
- fix(ci): make cargo-slicer fast-build resilient to nightly API drift by @chumyin in #1251
- fix(channel/qq): preserve QQ image attachments in inbound messages by @chumyin in #1252
- fix(ci): avoid push false-fail on workflow-owner gate by @chumyin in #1253
- ci(security): add manual Vorpal reviewdog workflow by @willsarg in #1256
- feat(tool): add content_search tool for regex-based file content search by @reidliu41 in #1240
- ci: remove cargo-slicer from fast build workflow by @chumyin in #1258
- security: block input redirection path-policy bypass by @lawyered0 in #653
- feat(channels): immediate randomized ack reactions for telegram/discord/lark by @chumyin in #1260
- feat(skills): add built-in static security audit for skill packages by @chumyin in #1200
- feat(security): implement OTP + estop phase 1 core by @chumyin in #1218
- fix(tool): harden content_search parsing, safety, and registry coverage by @chumyin in #1257
- fix(provider): clamp gpt-5-codex reasoning effort by @chumyin in #1132
- chore(license): normalize repo to MIT OR Apache-2.0 by @willsarg in #1271
- ci(policy): restrict root license file edits to owners by @willsarg in #1273
- fix(docker): ensure embedded web assets path exists in image build by @willsarg in #1275
New Contributors
- @ZekiKod made their first contribution in #966
- @cybershang made their first contribution in #1205
- @BenedictKing made their first contribution in #1216
- @a692570 made their first contribution in #236
- @yijunyu made their first contribution in #818
Full Changelog: v0.1.1...v0.1.2