What's Changed
- feat(observability): centralize error reporting with Sentry tags across core by @senamakel in #1264
- feat(profile): mirror connected-account profiles into PROFILE.md by @senamakel in #1262
- feat(local-ai): off by default, scoped usage flags, faster auto-updates by @senamakel in #1263
- Agent harness: USD cost tracking, stop hooks, per-tool result caps by @senamakel in #1268
- fix(tauri): clean shutdown + orphan reap (#1060) by @oxoxDev in #1248
- docs(gmeet-parity): row 15 codec-gap status post #1251 build infra (#1223) by @oxoxDev in #1282
- feat(settings): move Notification Routing into Developer Options by @graycyrus in #1283
- feat(webview-accounts): faster + clearer cold opens (#1233 #1284) by @oxoxDev in #1285
- feat(walkthrough): end guided tour on chat page with pre-seeded welcome message by @graycyrus in #1287
- feat(onboarding): allow moving profile-building to background after 10s by @graycyrus in #1295
- fix(macos/plist): add Bluetooth + privacy keys to prevent Gmeet sign-in crash (#1288) by @oxoxDev in #1297
- feat(dev): Windows dev environment for
pnpm dev:app:winby @sanil-23 in #1302 - feat(deploy): one-click cloud deployment for OpenHuman Core (closes #1280) by @CodeGhost21 in #1304
- fix(settings): resolve overlapping text in Memory Data panel by @graycyrus in #1305
- Add new mascot animations (12 compositions) by @NeilDesign1 in #1307
- feat(channels): expose WhatsApp Web data to agent via structured RPC API by @M3gA-Mind in #1308
- fix(welcome): include bearer token in core RPC test-connection probe by @sanil-23 in #1301
- test(settings): dev-options + data-management E2E coverage (#969) by @oxoxDev in #1220
- fix(onboarding): make Connect your apps toggles start auth and reflect real connection state by @graycyrus in #1226
- feat(logging): rotate embedded core + shell logs to ~/.openhuman/logs by @senamakel in #1278
- feat(config): RPC bootstrap hardening, socket alignment, and exhaustive tests by @M3gA-Mind in #1313
- fix(tauri): disable GPU compositing on Intel macOS to prevent SIGABRT crash by @M3gA-Mind in #1315
- fix(webview/slack): first-load + Google auth (#1036) by @oxoxDev in #1249
- Extract composer send-gating logic from Conversations page by @jwalin-shah in #1239
- fix(webview/meet): gate orchestrator handoff on user opt-in (#1299) by @oxoxDev in #1310
- feat(boot): gate launch on core mode pick + version check by @senamakel in #1316
- feat(memory): graph view, raw archive, Gemma defaults, pipeline polish by @senamakel in #1317
- Feat/1012 intel crash fix by @M3gA-Mind in #1320
- fix(boot): unblock cold-boot core start on dev hosts by @senamakel in #1324
- feat(settings): group settings menu into labeled sections by @graycyrus in #1286
- Fix segmented chat response reconciliation by @jwalin-shah in #1261
- SYM-208: add PR checklist local preflight by @jwalin-shah in #1270
- SYM-206: fix Vitest mock API port collisions by @jwalin-shah in #1271
- SYM-212: add foundational thread RPC query hooks by @jwalin-shah in #1272
- fix(stt): rewrite stale-sidecar voice error + e2e registration guard by @obchain in #1298
- feat(tools/computer): humanize MouseTool cursor motion (#682) by @oxoxDev in #1309
- fix(webview/cdp): replace wall-clock load timeout with idle-watchdog (#1213) by @oxoxDev in #1312
- SYM-231: lock security policy registry route by @jwalin-shah in #1311
- Make Twitter OAuth failures actionable by @jwalin-shah in #1318
- [codex] SYM-95 duplicate PR cleanup guidance by @jwalin-shah in #1323
- fix(local-ai): fix false-negative Ollama diagnostics (binary + model detection) by @M3gA-Mind in #1327
- fix(channels): fix WhatsApp structured ingest pipeline + Memory page sync status by @M3gA-Mind in #1326
- Add black mascot animation variants (15 compositions) by @NeilDesign1 in #1343
- fix(memory): graceful empty statuses when DB unavailable (#1292) by @M3gA-Mind in #1328
- Make Context Ready onboarding non-blocking by @jwalin-shah in #1322
- fix(webview-accounts): zoom Sign in with Google escapes to system browser (#1294) by @oxoxDev in #1329
- fix(chat): sanitize agent/cron failures and add user-safe error fallback with Sentry reporting by @YellowSnnowmann in #1332
- fix(windows): suppress console flash for netstat/taskkill spawns by @M3gA-Mind in #1338
- feat(subconscious): memory-context-aware reflection threads + dedupe gates (#623) by @sanil-23 in #1344
- feat(agent): enforce subagent role contract with concise delegated outputs by @YellowSnnowmann in #1336
- fix(integrations): propagate backend error body in non-2xx responses (#1296) by @oxoxDev in #1330
- feat(composio): granular trigger triage settings — per-toolkit + global toggle by @YellowSnnowmann in #1334
- feat(redirect-links): stage util to append ?u= on openhm.xyz URLs (#1164) by @oxoxDev in #1184
- feat(memory_tree): scale summariser for cloud — bigger batches, parallel workers, prose output by @senamakel in #1348
- feat(meet): join Google Meet calls with mascot virtual camera by @senamakel in #1350
- feat(memory): kind-aware raw layout, _source.md mirror, source/ tag by @senamakel in #1351
- fix(store): keep coreMode unscoped so the local/cloud picker persists by @senamakel in #1352
- feat(memory_tree/jobs): JobOutcome::Defer + mark_deferred (#1256) by @sanil-23 in #1345
- feat(composio/slack): port Gmail-style ingest pipeline, retire memory/slack_ingestion by @senamakel in #1354
- fix(memory_tree): gate ingest on source_id so summariser tree never sees a source twice by @senamakel in #1353
- feat(mascot): switch runtime assets from APNG to animated WebP by @senamakel in #1349
- feat(meet_agent): live note-taking agent for Google Meet (listen + speak) by @senamakel in #1355
- feat(meet_agent): real LLM turns + tuned TTS for live meet voice by @senamakel in #1358
- feat(meet_video): mascot canvas as outbound camera in Google Meet by @senamakel in #1359
- Refine remotion mascot variants by @senamakel in #1361
- feat(memory): self-identity tagging via Composio identity registry (#1365) by @sanil-23 in #1381
- feat(boot): cloud-mode picker auth + reload-resilient core mode by @CodeGhost21 in #1357
- fix(memory_tree/jobs): scrub credentials from worker error logs by @obchain in #1363
- fix(agent/triage): tiered cloud → retry → local → defer fallback by @obchain in #1367
- test(proxy): drop env-leaking runtime_proxy assertion in clear test by @obchain in #1362
- fix(webview): LinkedIn "Sign in with Google" — keep GSI popup in-app by @YellowSnnowmann in #1368
- feat(heartbeat): deliver durable proactive meeting/reminder notifications with dedup + category controls by @YellowSnnowmann in #1369
- fix(ci): staging builds resolve to prod API URL — bake VITE vars into build.yml by @YellowSnnowmann in #1371
- feat(tools/whatsapp_data): expose local WhatsApp store to agent (#1341) by @oxoxDev in #1373
- fix(meet_call): abort scanner on close to unblock 60-second navigation stall by @YellowSnnowmann in #1380
- perf(agent): orchestrator harness efficiency improvements by @M3gA-Mind in #1314
- debug(meet_video): instrument mascot frame pipeline + off-screen meet window by @senamakel in #1382
- docs: rewrite README + gitbooks around current product, add Developing section by @senamakel in #1384
- docs: gitbooks v3 — flatten frontend/tauri-shell, kill product/, fix links, default app env to production by @senamakel in #1385
- docs(gitbooks v5): restructure features, simplify subconscious, README polish, default auto-fetch to 20 min by @senamakel in #1386
- Feat/docs v6 by @senamakel in #1387
- Enhance UI-first feature description in README by @senamakel in #1388
- Feat/docs v7 by @senamakel in #1390
- Feat/docs v8 by @senamakel in #1391
- Feat/docs v9 by @senamakel in #1392
Full Changelog: v0.53.17...v0.53.22