Changelog
What changed in ZeroReach, by date.
Each entry is one merged batch of work. Ticket numbers (RO-...) refer to the internal board.
23 October 2026
- AI credit alerts, cost preview, member limits, usage breakdown, in-flight policy. RO-380..384
- Ask Zero names, choice form, run details, cheap small talk, chat orb, voice mode. RO-372..377
- Developer documentation site generated from code. RO-378
- Top bar, feedback, pins, credit cap, reply locks, draft-ahead, morning prep, plain-words lists, record view 2.0. RO-325, 314, 310, 326, 311, 369, 371, 341, 335
- Autonomy rule, deal room follow-ups, meeting prep, after-call. RO-361, 365-367, 338, 349
- Deal room, forecast, agent pause/tools/timezone. RO-350, 352, 362-364
- Agents hub, deal detail, pipeline settings, lists actions. RO-351, 357-360
- Deals, tasks, lists, planner token cut. RO-333, 334, 330, 332
- Landing, command menu, first run. RO-356, 342, 309
- UI v1 theme, Home, sidebar, appearance, rename. RO-353, 354, 355, 346 web
22 October 2026
- Zero full action coverage, attachments, scope guard. RO-322..324
- Calm Home, Zero chat app, model picker + lifecycle, AI credits and usage. RO-315..321
- Ember design, Zero assistant, morning-desk Home, help centre. RO-313
- Ask Zero chat assistant, human-only draft approval, locked compose sends. RO-301..305
- MCP assistant tools, personal export, mailbox pools, window-aware planner. RO-300, 295, 271, 272
- MCP OAuth connectors, instant sign-out, suspended AI jobs, super-admin management. RO-284, 296, 297, 289, 299
- Profile, team, workspaces, platform console. RO-291..294
21 October 2026
- RO-253 (lead/workspace language), RO-254 (language routes editor), RO-256 (WebSocket test connection), RO-223 (optional OTel + traceparent), RO-175 (a11y + smoke e2e). RO-253
- RO-246 (voice provider SSRF re-check), RO-245 (enrichment overrides, caller ID, search buckets in usage), RO-247 (duplicate merge, stricter compliance wins), RO-249 (voice fast path with cached prompts). RO-246
- RO-244 (SSRF re-check on every provider use), RO-243 (runner throughput 2.6x at 8 runners), RO-242 (per-member notification reads), RO-233 (KG graph explorer), RO-227 (KG recall/duplicates/retention/rebuild), RO-208 (company from call). RO-244
18 October 2026
- Postgres token-bucket limiters on every send/dial path, cross-channel contact pressure, deliverability health + DNS checks.
- Outbound webhooks (signed, retries, SSRF-pinned), privacy export/erasure + workspace deletion, UI audit log. RO-225
- RO-060 (Node 22, toolchain, audit), RO-085 (Playwright e2e, manual workflow), RO-100 (voice LLM budget), RO-134 (callbacks scheduler + handoff tasks), RO-221 (research on import + domain cache). RO-060
17 October 2026
- Post-call pipeline (transcript, calls.post_process job, AI analysis via /internal, timeline). RO-042
- Speed-to-lead (lead webhook -> compliance gate -> calls.speed_to_lead job -> LiveKit SIP dial). RO-041
- Opt-in enrichment jobs for imported leads on CSV commit.
- Prune dead Python functions and core-only settings (AI OpenAPI identical).
- Lead enrichment as a core job (ENRICHMENT_ASYNC, default off). RO-194
- Prune Python code only the removed public routes used (AI OpenAPI identical). RO-197
- Rust parity (zoneinfo time zones, NaN/Infinity JSON, pre-year-1 datetimes); RO-192 obsolete. RO-145
- Compose app profile uses the combined image. RO-198
- Job queue hardening (NOTIFY herd backoff + exclusive claim, cheap stats, per-kind policies, Python enqueue helper). RO-185
- RO-186 tx rollback on error, RO-183 CORS outer layer, RO-184 single unsubscribe module, RO-188 single internal token. RO-186
16 October 2026
- Run DB-backed cargo tests and the auth interop proof in the core CI job. RO-140
- Answer HEAD on Rust routes with FastAPI's 405 + Allow. RO-141
- Draft list context + approvals counts endpoint (no N+1). RO-110
- Voice-call service endpoints (per-call HMAC tokens, calls/meetings, opt-out, dial gate). RO-062
- Calling-window and call-frequency policy engine in can_contact. RO-032
- Make uuid7 monotonic within a process; deterministic list ordering in tests. RO-079
- Merge branch 'ro-103-follow-up-postal-address-in-onboarding-s' into ro-096-follow-up-web-settings-mailboxes-page-re. RO-096
- Merge main (0016 email drafts + lead imports). RO-103
- Approvals queue UI (AI emails + reply drafts, bulk approve, pending badge). RO-106
- CSV lead import (mapping, E.164 normalization, dedupe, suppression-aware) + import dialog. RO-027
- Free-tier AI providers (Groq/Gemini/OpenRouter/Ollama) with fail-closed quota guards. RO-099
- Onboarding wizard + workspace profile (ICP/offer/tone/persona); delivers RO-078. RO-050
- Reply classifier + grounded reply drafts (actions in code, approval-only sending). RO-038
- Sequence runner (SKIP LOCKED claims, idempotent sends, caps/windows/jitter, stop on reply) + worker cron. RO-036
- Enrichment (Apollo + PDL adapters, waterfall, credits ledger, cache, provenance, compliance-safe merge). RO-028
- Web leads table + lead detail with timeline (TanStack Query, workspace-scoped cache). RO-049
- Mailbox connection via Unipile (hosted auth, encrypted secrets, webhooks, compliant send). RO-034
- Sequences (steps, scheduling windows, templates, enrollment with compliance checks). RO-035
- Lead research agent (grounded hooks, Exa search, lead_research table). RO-030
- Consent ledger, suppressions, can_contact() decision engine. RO-031
- Web signup/login/logout, session refresh, same-site API proxy, workspace switcher. RO-047
- Lead timeline (append-only events, registry, timeline + notes routes). RO-026
- FK kb_documents/kb_chunks.workspace_id -> workspaces (cascade). RO-067
- Require auth + membership on KB routes (CurrentWorkspace). RO-069
- RBAC (require_role, members + workspace settings endpoints, last-owner protection). RO-020
- Companies + leads CRUD (workspace scoped, dedupe, cursor paging). RO-025
- Auth (signup/login, JWT access, rotating refresh tokens, rate limit, /me). RO-019
- Verified api image + compose; Dockerfile healthcheck follows $PORT; configurable Redis host port. RO-057
- Knowledge base (documents, crawl ingest, pgvector search). RO-024
- Workspaces, users, memberships. RO-018
- Typed API client generated from FastAPI OpenAPI. RO-048
- Board.py validate + tests, used by CI. RO-063
- Document accepted DATABASE_URL/REDIS_URL forms for hosted dev. RO-061
- Test call flow offline and document tools and API contract. RO-040
- GitHub Actions CI for all apps + board check. RO-016
- Database foundation (async SQLAlchemy, Alembic, mixins). RO-015
- Add app shell, placeholder pages, theme toggle and API helper. RO-012
- Require anthropic SDK 1.x. RO-023
- LiveKit voice worker scaffold. RO-013
- Api service in docker-compose (app profile). RO-056
- FastAPI api scaffold. RO-011
- Worker scaffold (arq + Redis). RO-014