v0.1.31
0.1.31 (2026-08-28)
Features
- billing: gate email labeling on a live paid subscription (f3ef807)
- desktop + gateway cost, correctness and reliability fixes (219b348)
- desktop,api: hermetic Gmail dogfooding, cheaper default model, full-page auth and settings (#227) (6f67778)
- desktop: integrate RFC 012 connector lifecycle (05c15c7)
- harden platform and add Oppulence Voice cloud service (cbcb60c)
- memory: index labeled email so the labels are searchable (6bcac69)
- promote develop to main — inference cost, Google connect, and reliability (62834ce)
- revenue: implement relationship assertion authority (d9fea83)
- x: embed in-process with ONNX Runtime, ahead of Ollama (bc20a58)
- x: integrate RFC 022 entity graph (5205f37)
- x: run memory embeddings on-device by default (09464d9)
- x: ship the embedding model with the app (bc659d5)
Bug Fixes
- approvals: bind endpoint query semantics (3dbe514)
- approvals: redeem completion codes over TLS (9f6eee0)
- BYOK labeling gate, e2e packager resources, and staging secret isolation (#234) (7eebc31)
- ci: gofmt the price table, and compare URL hosts instead of substrings (cdb5d83)
- ci: make Electron smoke artifact inspectable (8afea1b)
- ci: restore desktop and API quality gates (b949311)
- connectors: align desktop and hosted OAuth callbacks (165bed2)
- connectors: close RFC 012 quality gates (dbee152)
- deploy: reconcile connector broker contract (5d079d0)
- desktop: isolate approval MCP retries (24bb364)
- desktop: keep packaged V8 snapshot loadable (c58099d)
- entity: close RFC 022 adversarial findings (6a7d011)
- entity: harden RFC 022 convergence and privacy (5717faa)
- gmail: bound inline images in a snapshot, and match cids exactly (92326c0)
- google: a claim before the callback must not succeed or burn the ticket (dd0c63c)
- make the runs dir deterministic and stop the suite timing out on load (c899afc)
- oauth: complete a managed Google connect without the deep link (cf7ccf9)
- revenue: harden relationship authority rollout (bf71fb9)
- security: close CodeQL injection paths (7d367cb)
- x: agent notes — stop marking runs it never read, and back off failures (24475aa)
- x: back off failed graph files instead of re-detecting them forever (a6a94ad)
- x: bind MCP approvals to exact request (0011667)
- x: contain local-runtime failures instead of failing the index pass (848c7bc)
- x: delete old service logs instead of keeping every one (9da2c1e)
- x: don't let a bad models.json take every LLM service down (771d8ba)
- x: give every atomic write its own tmp file (acd1bba)
- x: give the memory failure its own outcome message (bc17097)
- x: guard the four JSON.parse sites that could take a feature down (cd90678)
- x: handle stream errors instead of leaking them to the global handler (d498f7e)
- x: let Google connect reach the local stack's http mock (2972da5)
- x: make the runs dir deterministic, and stop the suite timing out on load (6fb1eba)
- x: make toasts visible, and tell the truth when billing is unconfigured (2b91449)
- x: mint the gateway bearer at send time, not at queue time (a99ca59)
- x: prune processed events instead of keeping every one (5550759)
- x: prune run logs instead of keeping every run forever (aa4fcff)
- x: reap abandoned model downloads (b7dd2e8)
- x: securely resume approved MCP calls (256ebff)
- x: send the upgrade button to billing instead of the API root (7e1da8e)
- x: serialize config writes that read, await, then write (854bd11)
- x: stop a corrupt config file from disabling MCP and scheduling (b1928ae)
- x: stop leading email rows with tracking pixels and invisible padding (93606b4)
- x: stop one failed write from killing all service logging (5994bf8)
- x: stop re-billing email labels that never succeed (468a9ae)
- x: stop re-billing note tags that never succeed (4164c4a)
- x: stop reporting a failing retry loop as progress (0e897bc)
- x: stop the runs repo leaking an unhandled rejection, and steady two tests (ef96be0)
- x: survive first-run failures in background service init loops (8f572cc)
- x: write config files atomically, and repair without a no-config window (8c3e66e)
- x: write state files atomically so a crash can't reset them (2aa5124)
Performance
- agents: cache the repeated prompt prefix, and stop logging it (2e53a47)
- x: stop reading every email in full on every knowledge poll (36df618)
Refactors
- mcp: inject approval redemption repository (3244315)
This PR was generated with Release Please. See documentation.