What's Changed
- build(sidecar): enable whatsapp-web,channel-matrix features when staging core by @jwalin-shah in #742
- feat(notifications): webview notifications end-to-end (Phase 7) by @jwalin-shah in #741
- feat(onboarding): expand SkillsStep to Gmail+Calendar+Drive+Notion with fallback by @jwalin-shah in #743
- feat(imessage): testable tick harness + fix scanner never ingested by @jwalin-shah in #746
- fix(autocomplete): guard Ctrl+Tab / Shift+Tab / Cmd+Tab from triggering accept + drop low-quality suggestions by @jwalin-shah in #753
- refactor(chat): extract bubble components and helpers from Conversations.tsx by @jwalin-shah in #755
- feat(observability): Sentry release tracking, source maps, and end-to-end DSN plumbing by @CodeGhost21 in #734
- Prune obsolete config API keys by @senamakel in #739
- feat(routing): pluggable local inference (MLX, llama.cpp, LM Studio) + openhuman:// deep-link + OpenSSL 3 PKCS12 fix by @jwalin-shah in #750
- feat(webview): zero-injection CDP migration for 5 providers by @senamakel in #751
- fix(voice): friendly STT error with direct settings link by @graycyrus in #761
- fix(onboarding): remove referral code step from onboarding flow by @graycyrus in #772
- fix(composio): keep chat integrations cache in sync on Windows by @CodeGhost21 in #776
- feat(memory): LLM-based NER + importance signal with cheap-signals short-circuit (#708) by @sanil-23 in #775
- feat(memory): source trees + bucket-seal foundation (#709) by @sanil-23 in #789
- feat(memory): global activity digest tree (#709) by @sanil-23 in #798
- feat(memory): topic trees (lazy hotness-driven materialisation) (#709) by @sanil-23 in #799
- feat(agents): add pr-manager agent for review comment triage by @senamakel in #808
- feat(skills): SKILL.md skills UI — browse, create, install from URL (#681) by @oxoxDev in #740
- feat(composio): inject connected identities into agent prompts by @M3gA-Mind in #774
- [codex] Add stub-level webhooks ingress E2E coverage by @jwalin-shah in #795
- feat(webview): native OS notifications from embedded webview apps (#714) by @M3gA-Mind in #727
- feat(privacy): backend-backed capability privacy metadata + PrivacyPanel by @jwalin-shah in #760
- feat(e2e): agent-observable artifact capture slice by @jwalin-shah in #762
- refactor(core): move CLI adapters out of src/core/ into per-domain cli modules by @jwalin-shah in #758
- ci(e2e): add narrow Linux workflow for agent-review spec by @jwalin-shah in #763
- fix(onboarding): show onboarding immediately after bootstrap by @M3gA-Mind in #777
- feat(onboarding,ui): trust-first onboarding + Button primitive + honest privacy surface by @jwalin-shah in #759
- docs: rename Referral-doc.md to docs/referral-doc.md by @senamakel in #811
- feat(homebrew): add homebrew-core formula by @senamakel in #810
- feat(agents): add pr-manager-lite for already-checked-out PR branches by @senamakel in #813
- fix(recovery): prompt users to download latest build after crash loops by @M3gA-Mind in #778
- feat(agents): add pr-reviewer for CodeRabbit-style PR reviews by @senamakel in #815
- feat(notifications): in-app notification center (Phase 1b of #395) by @jwalin-shah in #769
- fix(rewards): add retry on snapshot load failure + tab-switch logging by @jwalin-shah in #768
- feat(pr-manager): post deferred items as GitHub PR review comments by @senamakel in #816
- feat(notifications): native OS banners for agent/chat/socket events (Phase 1c of #395) by @jwalin-shah in #780
- test(threads): harden JSON-RPC validation coverage by @jwalin-shah in #790
- refactor(threads, tool_timeout): extract pure helpers for testability by @jwalin-shah in #784
- test(app): expand frontend regression coverage for store slices and core RPC by @jwalin-shah in #787
- chore(docs,env): contributor notes + VITE_CONSUMER_FIRST_SESSION example by @jwalin-shah in #802
- chore(claude-rules): add paths frontmatter for conditional loading by @jwalin-shah in #804
- test(e2e): add webhooks tunnel flow coverage by @jwalin-shah in #793
- test(frontend): lock provider regression coverage by @jwalin-shah in #791
- test(rpc,core,billing,team): harden registry + RPC helpers with edge-case coverage by @jwalin-shah in #786
- test(e2e): add cron jobs cross-process flow spec by @jwalin-shah in #783
- refactor(agent): move debug dump into domain and extract dump writer by @jwalin-shah in #764
- polish(settings): trust-surface visual pass — Connections + Recovery Phrase by @jwalin-shah in #766
- [codex] Refactor config runtime dir resolution for testability by @jwalin-shah in #794
- [codex] Harden threads schema parse contract tests by @jwalin-shah in #797
- [codex] Add daemon lifecycle retry and visibility tests by @jwalin-shah in #796
- Feat: add email login auth by @YellowSnnowmann in #832
- chore(release): increase Node.js memory limit for builds by @YellowSnnowmann in #838
- feat(core): memory namespaces, recall citations, provider_surfaces RPC by @jwalin-shah in #803
- feat(notifications): core→shell DomainEvent bridge (Phase 1d of #395) by @jwalin-shah in #782
- feat(home): next-steps card + drop stub /agents route by @jwalin-shah in #788
- fix(webhooks,cron): wire trigger pipeline so agents auto-respond reliably by @graycyrus in #747
- test(memory_tree): unit tests for retrieval RPC handlers (#710) by @sanil-23 in #839
- feat(scripts/review): yarn review CLI for sync/review/fix/merge with LLM-summarised squash bodies by @senamakel in #849
- chore(github): add CODEOWNERS to auto-request maintainer reviews by @senamakel in #848
- refactor(config): extract env lookup seam for testability by @jwalin-shah in #792
- feat(skills): agentic loop wiring for SKILL.md bodies (#781) by @oxoxDev in #807
- ci(release): drop duplicate vite build and raise node heap to 8GB by @senamakel in #865
- feat(memory_tree): Phase 4 retrieval tools for hierarchical memory (#710) by @sanil-23 in #831
- ci: enable sccache and disable incremental in rust test job by @jwalin-shah in #866
- feat(ui,webview): compact tab bar, hide inactive tabs, harden CEF link handling by @senamakel in #868
- feat(notifications): native OS notifications via CEF shim + scanner fallback by @M3gA-Mind in #850
- chore: drop dead crypto + stale rules, Windows doctor disk probe by @jwalin-shah in #856
- test(e2e): channels smoke spec (Telegram + Discord) by @jwalin-shah in #859
- fix(security): command injection in npm postinstall + weak RNG fallback by @jwalin-shah in #837
- docs: environment contract roadmap + hypernym/cognee spike plan by @jwalin-shah in #836
- feat(webview_apis): WebSocket bridge for live-webview APIs, Gmail first by @senamakel in #869
- feat(commands): ⌘K palette + keyboard system + chat UX polish by @jwalin-shah in #745
- feat(redirect_links): SQLite-backed URL shortener for token-heavy links by @senamakel in #870
- feat(skills): uninstall for user-scope SKILL.md skills (#781) by @oxoxDev in #833
- feat(accounts): Zoom webview account + zoomus:// deep-link rewrite (#657) by @oxoxDev in #853
- feat(webview): in-page screen-share picker for getDisplayMedia (#713) by @oxoxDev in #809
- feat(notifications): bridge CEF providers into core ingest pipeline with dedup by @M3gA-Mind in #874
- fix(ux): add confirmation dialog before deleting a thread by @graycyrus in #888
- feat(gmessages): scaffold Google Messages Web scanner (Windows, read-only IDB) by @jwalin-shah in #735
- fix(install.sh): dry-run exits 0 when platform asset missing by @obchain in #877
- fix(cef): preflight cache-lock check on macOS (#864) by @oxoxDev in #879
- feat(app): memory citations UI, respond queue, silent ingest refresh by @jwalin-shah in #800
- fix(webview): avoid data url placeholder for child accounts (#884) by @M3gA-Mind in #891
- feat(notifications): add dismiss/stats RPC, DomainEvents, and triage bus integration by @M3gA-Mind in #875
- fix(devops): upload Rust debug symbols to Sentry during Tauri build by @unn-Known1 in #890
- fix(tests): run webview_apis mock bridge on a dedicated runtime by @senamakel in #893
- chore: migrate from yarn to pnpm by @VectorJet in #886
- ci: parallelize rust tests, dedupe typecheck/clippy/sentry across workflows by @senamakel in #895
- fix(install.sh): fix Python regex escaping and improve pattern matching by @unn-Known1 in #896
- fix(cron): spawn scheduler loop at startup so scheduled jobs auto-fire by @graycyrus in #873
- feat(linux-arm): add ARM Linux build support and GTK init fix by @VectorJet in #840
- test: add 196 tests across MCP, services, utils, autocomplete by @jwalin-shah in #855
- feat(notifications): unify notification slices, dismiss action, stats panel, unified Notifications page by @M3gA-Mind in #876
- refactor(rewards): copy/share referral code flow with app download link and test coverage by @YellowSnnowmann in #871
- fix(app): make linux CEF deb package runnable by @VectorJet in #902
- test(notifications): add Phase 4 RPC and dismiss reducer coverage by @M3gA-Mind in #878
- feat(accounts): loading overlay for first-time webview opens (#867) by @oxoxDev in #887
- feat(ux): lock UI to welcome agent until chat onboarding completes (#883) by @oxoxDev in #892
- feat(welcome): split onboarding tool + detect gmail/webview logins by @senamakel in #894
- feat(tools): add curl + gitbooks agent tools by @senamakel in #907
- fix(core-update): support versioned tarball/zip release assets by @senamakel in #908
- feat(app-update): wire up tauri shell auto-updater by @senamakel in #909
- chore(updater): rotate signing pubkey to working key 7494D291DAB5B3E1 by @senamakel in #910
- chore(release): remove updater pubkey/endpoint override + gate signed artifacts by @senamakel in #912
- feat(integrations): stock-price tools and expanded Parallel surface by @senamakel in #911
- feat(onboarding): rework desktop onboarding and welcome timing by @senamakel in #915
- feat(conversations): remove suggested-question prompt bubbles by @senamakel in #918
- Scope CEF data to OpenHuman user profiles by @senamakel in #917
- feat(welcome): rework welcome agent — 5-step checklist, in-app modals, faster model by @senamakel in #919
New Contributors
- @obchain made their first contribution in #877
- @unn-Known1 made their first contribution in #890
- @VectorJet made their first contribution in #886
Full Changelog: v0.52.28...v0.53.0