api: v0.22.0
0.22.0 (2026-08-25)
Features
- agent-first harness β deterministic e2e testing, direct agent invocation, and a leaner CI (#877) (16d7e7e)
- agents: env-configurable custom dev LLM provider for cheap bulk testing (#891) (fc937af)
- agents: harness reliability, HIL approval fixes, tool discovery, and the permissions + usage UX around them (#881) (dfe4de9)
- agents: native image reading, persisted screenshots, URL download tool (#874) (4e5a38e)
- analytics: unify PostHog identity on stable user IDs and add core event capture (#1007) (45e843d)
- api: add operational account-deletion script (a7f4a13)
- api: development-only auth bypass for agent-driven testing (#861) (a69603d)
- api: nurture email sequence engine + lifecycle templates (GAIA-523) (#873) (73dc591)
- api: operational account-deletion script (#1081) (a7f4a13)
- api: provider-agnostic platform email service (#862) (f2d7baa)
- api: support E2B_DOMAIN for the EU cluster migration (#879) (acfff99)
- api: typed MongoDB repository layer for all 33 collections (#880) (b57249a)
- billing: Pro subscription tools, real checkout links, and the usage-wall fix that makes them deliverable (#1074) (7916035)
- bots: iMessage platform via Photon/Spectrum with Pro gating (#1016) (8b054d9)
- chat: remove composer char limit, paste-to-attachment, direct file uploads (#859) (9996471)
- cli: ship gaia bridge inside the published CLI and rework the device pairing page (#1069) (1038371)
- dev: flag-based dev auth bypass, real login by default (#883) (2c70109)
- device-bridge: secure local MCP + filesystem bridge for GAIA (#857) (a1c8399)
- devx: ci:local, ci:remote, pr:comments β agent-legible shipping gates (#1093) (efd45e0)
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- free-tier usage caps + pro cost-based limits (#855) (606b495)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
- hil: dynamic human-in-the-loop approvals for destructive tools (#856) (f63540f)
- infra: add JuiceFS metadata redis to dev stack (#933) (f7cf4eb)
- lints: baseline-free suppression governance β every suppression carries its why (#1066) (ccd693e)
- llm: DeepSeek V4 Flash 0731 as the default model for every tier (#910) (e6d4ffb)
- observability: wide-event enforcement across all surfaces β evlog gates, Babel bots scanner, min-score rework, gate simplification (#884) (5040dca)
- pricing: show platform icons inline in plan features and gate iMessage to Pro (#1059) (2889599)
- pricing: yearly plan gives 2 months free instead of 3 (#921) (88c23ca)
- web: founder's letter with early-bird discount offer (#1000) (6968a48)
- web: revamp the marketing site β homepage, footer, navbar, pricing, and demos (#858) (ce8cc09)
- workflows: explore workflows revamp β curated seed, custom icons, built-in cards (#1001) (2159fce)
- workflows: structured workflow-creator pipeline + integration discovery (#852) (6a7d694)
- workflows: workflow UX redesign and onboarding integration selection (#833) (174b1a0)
Bug Fixes
- agents: root-cause fixes for Telegram reply quality, memory hygiene, executor grounding and bot sessions (#1094) (11995af)
- agents: source the executor's verbatim request from the server, not the comms model (#1085) (f911fd7)
- agents: stop search_reminders_tool failing every call on datetime serialization (#1062) (31d3dc6)
- agents: stop unregistered custom_llm from killing every agent graph (c941fa1)
- agents: stop unregistered custom_llm from killing every agent graph (#1004) (68b6260)
- agents: summarize provider-subagent history; stop clobbering the workflow log namespace (f2d0972)
- agent: stop checkpointed threads accumulating a prompt stack per run (44e809f)
- agent: stop checkpointed threads accumulating a prompt stack per run (#972) (fa2b2a9)
- api,infra: redis juicefs metadata + worker memory headroom (c8bb7ef)
- api,infra: redis juicefs metadata + worker memory headroom (#896) (e9d3095)
- api,oauth: downgrade missing WorkOS auth code log to warning (48e3802)
- api,oauth: downgrade missing WorkOS auth code log to warning (#905) (f5c32b7)
- api,sandbox: prevent 404 when resuming evicted sandboxes (5b1ac68)
- api,sandbox: prevent 404 when resuming evicted sandboxes (#909) (bee6938)
- api: batch email trigger events instead of one agent run per message (#1082) (1cf2295)
- api: compact tool outputs into an LLM digest, JuiceFS link optional (#916) (#1065) (7632723)
- api: drop removed ast aliases so config schema dump works on Python 3.12+ (#878) (beebc92)
- api: extract calendar_events_endpoint() to fix all 8 call sites, not just 2 (e9bf9d7)
- api: gracefully handle Composio NotFoundError for unconnected accounts (#932) (4fa33a4)
- api: log 404s from deleted conversations as info (#906) (d70e3ca)
- api: record platform-delivered results in the conversation's langgraph thread (#1086) (c9f7a3b)
- api: repair lint errors newer ruff flags on master (a4054bd)
- api: reset-to-default left system workflows running their old prompt (#1090) (d9537dd)
- api: stop leaking host-side /users/ paths to the LLM (#1097) (acfe7af)
- api: URL-encode calendar IDs in calendar service to prevent 404s (5f2c23d)
- api: URL-encode calendar IDs in calendar service to prevent 404s (#930) (c3ce106)
- api: URL-encode calendar/event IDs at the two sites #930 missed (de62812)
- api: URL-encode calendar/event IDs at the two sites #930 missed (#969) (8d0d72d)
- bots: apply the daily cost wall to bot chat as well (970b62f)
- bots: keep the bot SSE socket alive through a proxy on long turns (#1055) (2d7ee43)
- bots: meter bot chat against the plan quota like web chat (3b2f8a3)
- bots: meter bot chat against the plan quota like web chat (#996) (b648c6d)
- chat: always surface LLM failures in the UI, and stop compounding retries (#1006) (4f6ae96)
- chromadb: disable all telemetry to prevent capture() crash (#1022) (fc6e1a4)
- chroma: limit concurrent _apply_put_ops to prevent ENFILE 24 (#920) (b95ebdb)
- chroma: make the put-batch write semaphore process-wide, not per-call (#1027) (15740ef)
- ci: mutate each module against every test file that covers it, not one (#1015) (4c973f3)
- ci: mutation gate skips comment-only diffs instead of demanding tests (8ee2776)
- imessage: show the number to text instead of an Apple-only deep link (#1046) (5587baa)
- limits: background workflow runs no longer send 'you hit your limit' emails, and don't run before onboarding (#1024) (a5794c9)
- logging: make log.set merge a namespace instead of replacing it (11e8009)
- logging: make log.set merge a namespace instead of replacing it (#995) (5630517)
- memory: bound embedding sidecar batches β OOM-proof request path (#918) (#1070) (5de975a)
- memory: let the repair script build the Postgres engine it needs (#1100) (a900d0f)
- memory: retire a memory's parent only when its child restates it (#1101) (75099e4)
- notifications: honour limit, drop phantom routes, unify the two hooks (#934) (c7f5915)
- oauth: Downgrade invalid OAuth state token log to warning (71b4c5e)
- oauth: Downgrade invalid OAuth state token log to warning (#919) (5a9c00a)
- observability: make alerts readable and actually fireable; add coverage for 6 unmonitored failures (#885) (a7c2d63)
- observability: restore error cause on gmail/send-json; waive wide-event on the dev LLM stub (280e40b)
- payments: a cache deletion that fails must fail the seed, not print success (128255c)
- payments: detect a failed cache clear without changing shared Redis semantics (d5ef40b)
- payments: dry run for payment_setup, no secrets in stdout, bust the plan cache (#999) (06d3ec9)
- payments: make the plan seed idempotent, typed, and loud on failure (87eb87e)
- payments: payment_setup gets a dry run, stops leaking secrets, busts the plan cache (f11f95b)
- reverted gmail config id to actual (#1076) (116e758)
- scripts: drop the E402 suppression master's juicefs rewrite added (bde66d9)
- security: remediate 192 of 196 Dependabot alerts (#860) (9984705)
- security: remediate audited SSRF/IDOR/auth/webhook findings across the monorepo (#848) (13f36fc)
- triggers: gracefully handle 410 Gone during Composio trigger deletion (#1018) (08752ea)
- triggers: sync all trigger schemas and slugs with live Composio API (#1096) (88d9a76)
- workflows: compare createdAt as a string in the dormancy activity signal (873c34b)
- workflows: JSON-safe tool payloads, reschedule-safe scheduled fires, break-sentinel variants (#1067) (0aa3d54)
- workflows: judge dormancy on every signal, not just web logins (6d5178f)
- workflows: refuse a non-positive dormancy threshold, annotate the sweep (c78c144)
- workflows: reject --apply --dry-run, bound the sweep, unmark new-feature tests (e316180)
- workflows: stop swallowing agent errors, pause dormant users' workflows (ade20ee)
- workflows: stop swallowing agent errors, pause dormant users' workflows (#992) (ef7a421)
Performance Improvements
- cache: keep the prompt prefix stable so conversations actually hit the provider cache (#1025) (a44916d)
- cache: stop three sources of prompt-prefix churn so conversations hit the provider cache (#1095) (9592d6e)
- ci: PR gate 13.4mβ8.9m; parallel gate-safe master docker phase; GHCR registry layer cache (#1064) (46b5ecc)
- Docker layer cache moves from type=gha to GHCR type=registry (46b5ecc)
Reverts
Documentation
- agent: docstring the async node twins for the docstring-coverage gate (4d82c9a)
- agents: add type-safety ratchet rules from the comms_agent outage (33f3304)
- api: note WorkOS dummy-creds and Windows IPv4 Redis gotchas for the dev bypass (#863) (c1d7d30)
- api: phrase the placement and casting rules as principles, not examples (be00a8d)
- legal: overhaul privacy policy and terms of service (#901) (07c76e3)
web: 0.23.0
0.23.0 (2026-08-25)
Features
- agent-first harness β deterministic e2e testing, direct agent invocation, and a leaner CI (#877) (16d7e7e)
- agents: env-configurable custom dev LLM provider for cheap bulk testing (#891) (fc937af)
- agents: harness reliability, HIL approval fixes, tool discovery, and the permissions + usage UX around them (#881) (dfe4de9)
- analytics: unify PostHog identity on stable user IDs and add core event capture (#1007) (45e843d)
- bots: iMessage platform via Photon/Spectrum with Pro gating (#1016) (8b054d9)
- chat: remove composer char limit, paste-to-attachment, direct file uploads (#859) (9996471)
- cli: ship gaia bridge inside the published CLI and rework the device pairing page (#1069) (1038371)
- dev: flag-based dev auth bypass, real login by default (#883) (2c70109)
- device-bridge: secure local MCP + filesystem bridge for GAIA (#857) (a1c8399)
- devx: ci:local, ci:remote, pr:comments β agent-legible shipping gates (#1093) (efd45e0)
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- free-tier usage caps + pro cost-based limits (#855) (606b495)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
- hil: dynamic human-in-the-loop approvals for destructive tools (#856) (f63540f)
- lints: baseline-free suppression governance β every suppression carries its why (#1066) (ccd693e)
- mobile: unified streaming tool chain with subagent + HIL visibility, card contract sweep (#1098) (0924ce2)
- observability: wide-event enforcement across all surfaces β evlog gates, Babel bots scanner, min-score rework, gate simplification (#884) (5040dca)
- pricing: show platform icons inline in plan features and gate iMessage to Pro (#1059) (2889599)
- pricing: yearly plan gives 2 months free instead of 3 (#921) (88c23ca)
- web: founder's letter with early-bird discount offer (#1000) (6968a48)
- web: revamp the marketing site β homepage, footer, navbar, pricing, and demos (#858) (ce8cc09)
- workflows: explore workflows revamp β curated seed, custom icons, built-in cards (#1001) (2159fce)
- workflows: structured workflow-creator pipeline + integration discovery (#852) (6a7d694)
- workflows: workflow UX redesign and onboarding integration selection (#833) (174b1a0)
Bug Fixes
- agents: root-cause fixes for Telegram reply quality, memory hygiene, executor grounding and bot sessions (#1094) (11995af)
- api: drop removed ast aliases so config schema dump works on Python 3.12+ (#878) (beebc92)
- api: gracefully handle Composio NotFoundError for unconnected accounts (#932) (4fa33a4)
- bots: stop truncating replies and losing bubbles; one splitter for message breaks (#1051) (c542095)
- chat: always surface LLM failures in the UI, and stop compounding retries (#1006) (4f6ae96)
- imessage: show the number to text instead of an Apple-only deep link (#1046) (5587baa)
- notifications: honour limit, drop phantom routes, unify the two hooks (#934) (c7f5915)
- quality: repair lint errors blocking the PR quality gate (#870) (d4b5605)
- security: remediate 192 of 196 Dependabot alerts (#860) (9984705)
- security: remediate audited SSRF/IDOR/auth/webhook findings across the monorepo (#848) (13f36fc)
- seo: single-brand titles, noindex utility pages, honest sitemap signals (#864) (4edde6d)
- triggers: sync all trigger schemas and slugs with live Composio API (#1096) (88d9a76)
- web,posthog: Prevent SecurityError from cross-origin status iframe (fd0b946)
- web,posthog: Prevent SecurityError from cross-origin status iframe (#899) (073efea)
- web: add iMessage to the Product nav dropdown (#1060) (dd6b19d)
- web: address CodeRabbit feedback on IndexedDB degradation (6b6e7b4)
- web: always render a workflow's chosen icon on cards (#1012) (a607efd)
- web: canvas.md viewer hit double /api/v1 prefix and always 404'd (#1078) (bf070ad)
- web: degrade IndexedDB layers to no-ops when the DB can't open (9a6ede3)
- web: degrade IndexedDB layers to no-ops when the DB can't open (#892) (4fcdb8d)
- web: drop non-first-party exceptions before error reporting (#893) (6994b30)
- web: eliminate React #418 hydration mismatch in shared Navbar (#904) (1030089)
- web: pin pnpm in the web Dockerfile via corepack (03a94d3)
- web: pin pnpm in the web Dockerfile via corepack (#960) (7a4db17)
- web: recover from stale-asset ChunkLoadError instead of leaving a broken route (#894) (fc4e03f)
- web: stop the infinite RSC prefetch loop on prod landing pages (#1023) (c36ec1e)
Performance Improvements
- cache: keep the prompt prefix stable so conversations actually hit the provider cache (#1025) (a44916d)
- ci: PR gate 13.4mβ8.9m; parallel gate-safe master docker phase; GHCR registry layer cache (#1064) (46b5ecc)
- Docker layer cache moves from type=gha to GHCR type=registry (46b5ecc)
Reverts
desktop: 0.6.0
0.6.0 (2026-08-25)
Features
- devx: ci:local, ci:remote, pr:comments β agent-legible shipping gates (#1093) (efd45e0)
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
Bug Fixes
- api: drop removed ast aliases so config schema dump works on Python 3.12+ (#878) (beebc92)
- quality: repair lint errors blocking the PR quality gate (#870) (d4b5605)
- security: remediate 192 of 196 Dependabot alerts (#860) (9984705)
- security: remediate audited SSRF/IDOR/auth/webhook findings across the monorepo (#848) (13f36fc)
mobile: 0.8.0
0.8.0 (2026-08-25)
Features
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- free-tier usage caps + pro cost-based limits (#855) (606b495)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
- hil: dynamic human-in-the-loop approvals for destructive tools (#856) (f63540f)
- mobile: unified streaming tool chain with subagent + HIL visibility, card contract sweep (#1098) (0924ce2)
- observability: wide-event enforcement across all surfaces β evlog gates, Babel bots scanner, min-score rework, gate simplification (#884) (5040dca)
Bug Fixes
- api: drop removed ast aliases so config schema dump works on Python 3.12+ (#878) (beebc92)
- api: gracefully handle Composio NotFoundError for unconnected accounts (#932) (4fa33a4)
- bots: stop truncating replies and losing bubbles; one splitter for message breaks (#1051) (c542095)
- mobile: chat streaming correctness, markdown parity, and conversation sync (#1077) (a4d1381)
- quality: repair lint errors blocking the PR quality gate (#870) (d4b5605)
- security: remediate 192 of 196 Dependabot alerts (#860) (9984705)
bots: 1.6.0
1.6.0 (2026-08-25)
Features
- agent-first harness β deterministic e2e testing, direct agent invocation, and a leaner CI (#877) (16d7e7e)
- analytics: unify PostHog identity on stable user IDs and add core event capture (#1007) (45e843d)
- bots: iMessage platform via Photon/Spectrum with Pro gating (#1016) (8b054d9)
- dev: flag-based dev auth bypass, real login by default (#883) (2c70109)
- devx: ci:local, ci:remote, pr:comments β agent-legible shipping gates (#1093) (efd45e0)
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
- mobile: unified streaming tool chain with subagent + HIL visibility, card contract sweep (#1098) (0924ce2)
- observability: wide-event enforcement across all surfaces β evlog gates, Babel bots scanner, min-score rework, gate simplification (#884) (5040dca)
Bug Fixes
- agents: root-cause fixes for Telegram reply quality, memory hygiene, executor grounding and bot sessions (#1094) (11995af)
- api: drop removed ast aliases so config schema dump works on Python 3.12+ (#878) (beebc92)
- bots: ship the grpc peer deps the photon sdk resolves at runtime (#1049) (f0e211b)
- bots: stop the imessage bundle colliding on createRequire (#1048) (dc94d99)
- bots: stop truncating replies and losing bubbles; one splitter for message breaks (#1051) (c542095)
- ci: publish versioned imessage bot images so the deploy can pin them (#1050) (19ec4c1)
- ci: register bot projects as docker releases so they get immutable tags (#1011) (2b1d208)
- quality: repair lint errors blocking the PR quality gate (#870) (d4b5605)
- security: remediate 192 of 196 Dependabot alerts (#860) (9984705)
- security: remediate audited SSRF/IDOR/auth/webhook findings across the monorepo (#848) (13f36fc)
- workflows: JSON-safe tool payloads, reschedule-safe scheduled fires, break-sentinel variants (#1067) (0aa3d54)
Performance Improvements
- cache: keep the prompt prefix stable so conversations actually hit the provider cache (#1025) (a44916d)
- ci: PR gate 13.4mβ8.9m; parallel gate-safe master docker phase; GHCR registry layer cache (#1064) (46b5ecc)
- Docker layer cache moves from type=gha to GHCR type=registry (46b5ecc)
Reverts
cli: 0.5.0
0.5.0 (2026-08-25)
Features
- cli: ship gaia bridge inside the published CLI and rework the device pairing page (#1069) (1038371)
- Extract PDF/DOCX/XLSX/PPTX/CSV locally via anydoc + pdf-inspector (#890) (e6c71c4)
- gmail: inbox summary tool, body normalization, and agent docs (#783) (0edf4a4)
- observability: wide-event enforcement across all surfaces β evlog gates, Babel bots scanner, min-score rework, gate simplification (#884) (5040dca)