What's Changed
- fix: add missing libxkbcommon0 to Docker runtime deps by @l33t0 in #426
- feat: desktop app sidecar, connection screen, and 3D orb by @jamiepine in #452
- feat: working memory system — temporal awareness for channels by @jamiepine in #454
- fix: keep setup mode usable when provider credentials are unavailable by @jamiepine in #422
- feat: worker orchestration screen by @jamiepine in #457
- fix: add provider prefix to zai-coding-plan default model by @tomasmach in #456
- fix: skill install 500 error and chart dimension warnings by @vsumner in #447
- feat: Add Mattermost channel support by @unverbraucht in #428
- fix: graceful browser shutdown and network error retries by @vsumner in #463
- fix: preserve nested task metadata updates by @jamiepine in #462
- Fix imap-proto build issues and update Nix dependencies by @vsumner in #465
- feat(deps): upgrade rig-core to v0.33 by @vsumner in #480
- fix(embed): use Array.isArray guard for agent data in OpenCode embed by @eibrahimov in #482
- fix: worker cancellation sets status to 'cancelled' instead of 'failed' by @l33t0 in #399
- fix: skip unresolvable channel bindings instead of crashing on startup by @l33t0 in #412
- fix(card): handle Card footer deserialization errors by @vsumner in #479
- feat(messaging): add signal configuration to web app by @ibhagwan in #392
- fix: add libxfixes3 to Docker runtime dependencies by @frizikk in #427
- fix: prevent unwanted scrollbars in Windows/Tauri desktop app by @TheDarkSkyXD in #471
- fix: prevent chat page layout shift hiding top navbar on Windows by @TheDarkSkyXD in #473
- fix: skip listen-only mode filtering for DMs in Slack by @ciaranashton in #484
- feat: elevate task system to instance-level global scope by @jamiepine in #468
- feat(card): add thumbnail, image, author, timestamp, footer icon_url by @vsumner in #467
- feat: OpenAPI Migration with Generated TypeScript Types by @jamiepine in #486
- feat: portal system, streaming, conversation & channel settings by @jamiepine in #506
- Add persisted webchat conversations and extract initial API client package by @jamiepine in #487
- fix(cron): persist scheduler state and delivery outcomes by @vsumner in #509
- feat: add complete Azure OpenAI provider support by @aspotton in #523
- fix: scope active channels by (agent_id, conversation_id) to prevent cron output leakage by @jamiepine in #526
- feat: add configurable tool-use enforcement by @jamiepine in #505
- Upgrade slack-morphism to 2.19 by @chandima in #516
New Contributors
- @unverbraucht made their first contribution in #428
- @eibrahimov made their first contribution in #482
- @frizikk made their first contribution in #427
- @TheDarkSkyXD made their first contribution in #471
- @aspotton made their first contribution in #523
- @chandima made their first contribution in #516
Full Changelog: v0.3.3...v0.4.0