Skip to content

v2026.10.6.0

Choose a tag to compare

@synoet synoet released this 06 Oct 17:48
· 658 commits to main since this release
9e50b95

What's Changed

  • fix(agents): persist uploaded profile pictures by @ehayes2000 in #7345
  • fix(ui): remove getComputedStyle from theming system by @sedson in #7350
  • feat(projects): create projects with their properties in one request by @synoet in #7183
  • feat(crm): associate entities with CRM companies and contacts by @synoet in #7278
  • feat(soup): query items associated with CRM records by @synoet in #7279
  • fix(calendar): send only changed fields when updating reminders by @gbirman in #7337
  • fix(android): provision signing during release builds by @peterchinman in #7336
  • fix(email): unblock notification reads after unavailable archive replies by @peterchinman in #7355
  • feat(mentions): mention projects through Quick Access by @synoet in #7184
  • feat(crm): project-style company record with section tabs by @synoet in #7280
  • ci: faster Rust test builds (no dependency debuginfo, sccache stays up) by @404Wolf in #7354
  • feat(crm): project-style contact record with section tabs by @synoet in #7281
  • feat(calls): add persistent chat to video calls by @ehayes2000 in #7344
  • feat(projects): inherit agent assignments for incoming tasks by @ehayes2000 in #7356
  • feat(marketing): /tour mobile polish by @git-julia in #7368
  • fix(soup): make Done and Undo immediate with safe unarchive by @seanaye in #7300
  • fix(agents): keep assigned tasks current without discussion noise by @ehayes2000 in #7375
  • feat(reminders): unify Reminders with independent completion and schedule controls by @gbirman in #7329
  • feat(agents): include project context in task assignment prompts by @ehayes2000 in #7378
  • feat(slack): import archives by @whutchinson98 in #7311
  • feat(agents): bring the new agents experience to mobile by @404Wolf in #7134
  • feat(doppler): add slack import worker to doppler by @whutchinson98 in #7389
  • fix(infra): enable Slack import worker deployment in dev by @whutchinson98 in #7388
  • feat(databases): Macro Databases, end to end by @404Wolf in #7353
  • fix(md): improve highlight sync logic for md toc by @sedson in #7325
  • fix(channel): restore mount-time thread reply prefetch by @synoet in #7351
  • fix(nix): build and bundle Slack import worker for deployment by @whutchinson98 in #7394
  • fix(home): protect session row arrow styling from regression by @jbecke in #7371
  • fix(ui): preserve send button icon color on hover by @jbecke in #7232
  • fix(tasks): improve project assignment from task and project views by @gbirman in #7384
  • chore(agents): version persisted database audit-log payloads by @404Wolf in #7399
  • fix(ai): reserve generated image space before loading by @404Wolf in #7380
  • style(app): kill bento side panels, fix topbar spacings, add more tag editors to enitites by @sedson in #7382
  • feat(email): add a dedicated Reminders view with collection-owned clocks by @gbirman in #7381
  • fix(auth): clean up teams and use the fleet-wide internal key when deleting an account by @whutchinson98 in #7401
  • fix(agents): a private agent's channel watches its session, not steers it by @404Wolf in #7203
  • feat(ai): record Nano Banana image generation usage by @ehayes2000 in #7400
  • feat(ai): offer Sonnet 5.5 and Opus 5.5 while keeping Haiku 4.5 by @404Wolf in #7386
  • fix(databases): distinguish awareness peers across tabs by @404Wolf in #7403
  • feat(databases): add database listing and creation to Drive by @404Wolf in #7410
  • fix(databases): preserve Gemini tool JSON schemas by @404Wolf in #7409
  • fix(databases): let channel query controls handle clicks and Enter by @404Wolf in #7413
  • fix(databases): trace read causes and refresh failures by @404Wolf in #7411
  • fix(databases): consolidate UI ops and synchronize created schema by @404Wolf in #7392
  • chore(databases): consolidate database agent tools around SQL schema editing by @404Wolf in #7395
  • fix(databases): mark current column types and hide impossible conversions by @404Wolf in #7412
  • feat: add personal and team calendar scheduling by @jbecke in #6608
  • feat(github_pull_requests): add a crate that owns stored GitHub pull requests by @dev-rb in #7102
  • feat(github_pull_requests): store typed pull request columns in github_pull_request by @dev-rb in #7103
  • refactor(soup): list foreign entities through the github_pull_requests crate by @dev-rb in #7104
  • feat(soup): filter GitHub pull requests with a ghprf filter tree by @dev-rb in #7105
  • feat(github_pull_requests): add GitHub pull request facets endpoint by @dev-rb in #7106
  • refactor(github_pull_requests): match fef: me against the typed participant column by @dev-rb in #7107
  • feat(agent_session): link pull requests to agent sessions by @dev-rb in #7108
  • feat(auth): expose linked GitHub identity in status response by @dev-rb in #7109
  • feat(github_pull_requests): store assignees, labels, and reviews on pull request rows by @dev-rb in #7110
  • feat(github_pull_requests): filter by assignee, label, and review state; list oldest first by @dev-rb in #7111
  • feat(github_pull_requests): add a route that reads one pull request by @dev-rb in #7112
  • refactor(github_pull_requests): own pull request diff reading by @dev-rb in #7113
  • feat(github_pull_requests): serve pull request changes and share them with agent sessions by @dev-rb in #7114
  • feat(reviews): add GitHub pull request reviews by @dev-rb in #7115
  • fix(email): parse Outlook-style 'LastName, FirstName' sender names by @jbecke in #7429
  • feat(web): Add the next split router by @dev-rb in #7430
  • refactor(web): Run the app on the next split router by @dev-rb in #7431
  • feat(web): Stack panes on native mobile by @dev-rb in #7432
  • refactor(web): Replace the old split router with the next one by @dev-rb in #7433
  • fix(databases): recover sessions after harness crashes by @404Wolf in #7417
  • fix: enable calendar scheduling by default in dev by @synoet in #7437
  • fix(github): safely initialize verified pull request index rows by @dev-rb in #7438
  • fix(databases): preserve SQL context and Gemini tool replay by @404Wolf in #7439
  • feat(docx): collaborative DOCX editor with real-time sync by @jbecke in #7435
  • fix(docx): open uploaded DOCX files again by @jbecke in #7443
  • fix(collab-surface): reserve document ids and require ready surfaces for tokens by @synoet in #7192
  • Expand marketing demos: calls, reviews, agents, and company records by @jbecke in #7441
  • feat(projects): back project descriptions with a collab surface by @synoet in #7193
  • fix(docx): download the uploaded DOCX before seeding collaboration by @jbecke in #7447
  • refactor(projects): make a task's project its Project property by @synoet in #7424
  • feat(projects): give project descriptions the full markdown editor by @synoet in #7425
  • feat(pptx): collaborative PowerPoint editor with native engine and AI tools by @jbecke in #7440
  • fix(docx): undo typing, keep the app layout, center the page, open from Home by @jbecke in #7448
  • refactor(projects): edit a task's Project with the standard property UI by @synoet in #7450
  • fix(nix): keep pptx_engine's fonts and shape definitions in deploy sources by @synoet in #7451
  • fix(projects): projects ui polish by @synoet in #7453
  • feat(docx): let the agent read and edit uploaded Word documents by @jbecke in #7452
  • fix(projects): preserve sidebar when switching projects by @synoet in #7455
  • feat(docx): docx_engine for Word parsing, layout, and editing by @jbecke in #7466
  • Add folder creation dialog to Drive's New menu by @jbecke in #7464
  • fix(marketing): replace outdated homepage social preview image by @chaitbuilds in #7374
  • Scope inline preview panels to project content by @jbecke in #7468
  • feat(settings): open settings as an ordinary split view by @jbecke in #7469
  • feat(pptx): PowerPoint-level editing (Slide Master, SmartArt, equations, comments, Morph, Edit Points, animations, links, video) and working AI tools by @jbecke in #7449
  • feat(routines): add routine management and agent scheduling tools by @synoet in #7465
  • fix(auth): keep team cleanup retry-safe during account deletion (follow-up to #7401) by @whutchinson98 in #7405
  • Refactor XLSX codec into modular reader/writer with enhanced features by @jbecke in #7467
  • Figma (.fig) design editor: viewer, editor, multiplayer, design systems, and handoff by @jbecke in #7463
  • feat(ui): changes pane ui polish by @dev-rb in #7470
  • fix(fig): restore import and export fidelity for real Figma files by @jbecke in #7480
  • chore(iac): slack worker in prod by @whutchinson98 in #7481
  • feat(web): gate AI usage billing UI behind the enable-ai-usage-billing PostHog flag by @whutchinson98 in #7483
  • chore(db): retire legacy comment schema and final PDF column read by @gbirman in #7360
  • fix(calendar): restore access and clarify sync progress by @gbirman in #7398
  • feat(agents): steer a queued message and mark flush on send by @404Wolf in #7420
  • Add table drag-to-move and Ask Macro button to editors by @jbecke in #7487
  • fix: add shadow to menus in light mode by @jbecke in #7442
  • feat(calendar): create events from a thread on the user's approving reply by @404Wolf in #7359
  • Refactor settings navigation, calendar connections, and booking links by @jbecke in #7484
  • feat(sidebar): add mobile app download button to sidebar footer by @jbecke in #7490
  • fix(editor): avoid duplicate document rebuilds on undo by @404Wolf in #7205
  • chore(agents): cursor SSE ingest: diagnose body failures, survive stalled resumes, log MCP stream ends by @404Wolf in #7067
  • feat(tauri): add memory recording with correlated telemetry by @ehayes2000 in #7489
  • chore(agents): wire custom MCP servers through the agent egress proxy by @404Wolf in #7419
  • fix(web): drop Origin on hosted dev proxy requests so docs load over HTTPS by @404Wolf in #7243
  • feat(agents): enable coding agent dispatch by @ehayes2000 in #7407
  • feat: Import email signature from Gmail by @jbecke in #7444
  • refactor(changes): shared changes and diff view ui/utils by @dev-rb in #7488
  • feat(desktop): refresh app icon and name by @ehayes2000 in #7494
  • fix(ci): size macOS DMGs with filesystem headroom by @ehayes2000 in #7492
  • feat(ai-billing): price in-plan AI at cost with a 5% overage markup by @whutchinson98 in #7491
  • fix(mentions): offer @here in channel composers hosted outside a block by @404Wolf in #7486
  • fix(web): preserve cached tasks offline and unblock startup by @seanaye in #7499
  • chore(onboarding): add a staff Bypass button that skips onboarding by @404Wolf in #7207
  • feat(slack): support importing Slack channel shape into Macro by @whutchinson98 in #7485
  • style(web): restore glass rim on menus by @jbecke in #7502
  • feat(web): open Ask Macro in a bare agent split, add it to code and image blocks by @jbecke in #7506
  • feat(word): tracked changes and Word comments for agent DOCX edits by @jbecke in #7501
  • feat(ai-billing): load AI pricing from mandatory Doppler values by @whutchinson98 in #7508
  • feat(slack): x joined macro team email on slack import by @whutchinson98 in #7504
  • feat(macrod): native herdr integration — live Claude Code / Codex TUIs driven over ACP by @404Wolf in #7075
  • refactor(agents): group fold crates under crates/folds by @ehayes2000 in #7361
  • feat(agents): extract snapshot-tested Claude and Codex transcript folds by @ehayes2000 in #7362
  • feat(macrod): dispatch repositories into Herdr-managed worktrees by @ehayes2000 in #7363
  • feat(macrod): recover native sessions and observe local Herdr turns by @ehayes2000 in #7364
  • fix(macrod): harden native controls and configure Codex MCP by @ehayes2000 in #7365
  • feat(macrod): configure native Herdr sessions in the TUI by @ehayes2000 in #7366
  • fix(macrod): support native Herdr commands, models, and effort by @ehayes2000 in #7370
  • feat(fig): Figma shortcut parity, design palette, and no blank canvas on resize by @jbecke in #7509
  • feat(md): add slash command for inline doc creation by @sedson in #7505
  • chore(agents): add a Merge button to Magic Chip PR rows and the PR entity by @404Wolf in #7347
  • feat(marketing): add macOS download page by @ehayes2000 in #7497
  • feat(agents): keep unsent messages in session composers by @404Wolf in #7418
  • feat(ai): usage billing should acrue for users stripe subscription billing period by @whutchinson98 in #7498
  • fix(web): quiet offline refresh errors for cached sidebars by @seanaye in #7516
  • feat(onboarding): 30-day trial, layered onboarding + auth with isolated browser tests by @synoet in #7507
  • Add sidebar customization and More menu with stable drag reordering by @jbecke in #7406
  • feat(agent-harness): gzip responses by @404Wolf in #7520
  • feat(agent-session): fold the cached log from the GraphQL cache (comparison with #7150) by @404Wolf in #7206
  • fix(ci): notarize macOS release DMGs by @ehayes2000 in #7524
  • feat(agents): trace cold startup and first streamed text latency by @404Wolf in #7523
  • feat(ai-billing): bring back the Max plan and cap free users at $5/mo by @whutchinson98 in #7515
  • perf(fig): lift dragged layers, render wide blurs coarsely by @jbecke in #7519
  • style(app): move in split tabs to second row, unify more top bar styles by @sedson in #7522
  • feat(agents): owner approval for tool calls in turns someone else prompted by @404Wolf in #7173
  • fix(md): flx mention flashing by @sedson in #7526
  • fix(xtask): recreate reloaded services so they pick up the regenerated env by @404Wolf in #7530
  • feat: ai usage ui by @peterchinman in #7529
  • fix(onboarding): one click per step, and a sign-in link on sign-up by @synoet in #7544
  • fix(ci): make DMG artifacts writable for stapling by @ehayes2000 in #7543
  • fix(onboarding): land on Home, and stop flashing on the Google sign-up return by @synoet in #7549
  • feat(agent): Anthropic prompt caching for agent model calls by @404Wolf in #7546
  • fix channel height introduced by channel tabs by @sedson in #7553
  • refactor(databases): decouple core storage and UI from app entities by @404Wolf in #7527
  • perf(agent-harness): skip the lexical mentions call for prompts with no user mention by @404Wolf in #7540
  • feat(agents): trace a prompt from send to first agent output by @404Wolf in #7541
  • feat(lexical-service): run the lexical service on ECS behind the gateway by @404Wolf in #7547
  • Fix onboarding flashes and completion for licensed users by @synoet in #7559
  • feat(ai-usage): price prompt-cache reads and writes by @404Wolf in #7554
  • feat(agent-session): stream log rows over a GraphQL subscription by @404Wolf in #7531
  • perf(fig): improve loading, rendering, and editor interactions by @jbecke in #7560
  • feat(agent): lazy-load Macro's native tools by @404Wolf in #7552
  • perf(lexical): point every caller at the ECS lexical service by @404Wolf in #7548
  • chore(dev): temporarily allow all email signups in dev by @synoet in #7561
  • fix(agent-harness): say when a tool call waits for the owner; never leave a chat reply spinning by @404Wolf in #7562
  • chore: don't block inmem session/new on MCP listing by @404Wolf in #7563
  • feat(agent): measure first-response latency end to end; fix OpenAI token usage by @404Wolf in #7542
  • feat(fig): use Macro comments for design comments by @jbecke in #7567
  • feat(email-view): add Archived tab by @synoet in #7555
  • feat(web): replace the upload toast with a progress indicator by @jbecke in #7565
  • fix(agents): reduce latency before first streamed answer by @404Wolf in #7574
  • feat(agents): restore warm sessions and bounded MCP reuse by @404Wolf in #7580
  • fix(agents): replenish warm sessions after successful creation by @404Wolf in #7585
  • fix(agents): preserve sessions through navigation handoff by @404Wolf in #7584
  • perf(agents): reuse native tool definitions across turns by @404Wolf in #7581
  • perf(agents): preload transcript folding on composer focus by @404Wolf in #7582
  • feat(agents): measure first readable answer in the transcript by @404Wolf in #7583
  • Lazy-load views and emoji data to improve startup performance by @jbecke in #7573
  • Restyle the Slack archive importer and Slack/Pipedream connections to match settings by @whutchinson98 in #7587
  • fix(onboarding): preserve team inputs across query updates by @synoet in #7592
  • docs(agents): require conventional commit PR titles by @synoet in #7593
  • chore(web): unship the Getting Started page by @jbecke in #7550
  • perf(db): drop the duplicate DocumentPermission documentId index by @synoet in #7591
  • style(channels):make participants usable on mobile by @sedson in #7551
  • fix(md): use 'New Document' as placeholder, make home use reactive title by @sedson in #7599
  • fix(databases): reject unsafe integers before saving cell edits by @404Wolf in #7578
  • fix(files): upload dropped files into the open folder by @ehayes2000 in #7598
  • style(ui): undo bubble tabs by @sedson in #7602
  • fix(database-sql): respect pagination and DISTINCT in grouped reads by @404Wolf in #7576
  • fix(database-sql): preserve repeated selected column values by @404Wolf in #7577
  • fix(web): align loading shell theme and sidebar layout by @synoet in #7603
  • fix(databases): preserve initial values in import and starter history by @404Wolf in #7575
  • fix(databases): select the last option on initial ArrowUp by @404Wolf in #7579
  • Collaborative Photoshop (.psd) and Illustrator (.ai) editors by @jbecke in #7564
  • feat(onboarding): compare Free, Pro, and Max below the fold by @synoet in #7613
  • feat(crm): add contacts to GraphQL soup and People mentions by @gbirman in #7521
  • feat(web): bound email soup backfill to recent signal and noise threads by @dev-rb in #7614
  • fix(slack): use doppler for env vars by @whutchinson98 in #7620
  • Populate missing delivery timestamps before publishing sent email upd… by @seanaye in #7596

New Contributors

Full Changelog: v2026.10.1.0...v2026.10.6.0