Skip to content

v2026.11.5.0

Choose a tag to compare

@synoet synoet released this 05 Nov 17:27
· 267 commits to main since this release
dac67be

What's Changed

  • fix(crm): add admin discovery for removed people by @gbirman in #9505
  • fix(crm): restore saved board order and clarify cards by @gbirman in #8852
  • refactor(crm): remove Apollo enrichment and legacy access by @gbirman in #9386
  • fix(web): restore ordinary hyperlink colors by @gbirman in #9508
  • fix(crm): remove duplicate sharing visibility toggles by @gbirman in #9511
  • fix(agent-reviews): keep PresentReview's schema root free of unions by @404Wolf in #9516
  • fix(channels): focus video playback when opening the viewer by @gbirman in #9519
  • fix(ai-tools): reject unsupported root schema composition by @gbirman in #9515
  • fix(mcp): give ChatGPT the standard tools under ai-code-mode by @ehayes2000 in #9513
  • feat(mcp): let ChatGPT users pick how to sign in by @ehayes2000 in #9514
  • fix(emoji): render only visible rows in the emoji picker by @ehayes2000 in #9389
  • feat(mcp): add OpenAI domain verification endpoint by @ehayes2000 in #8581
  • feat(auth): add agent accounts by @ehayes2000 in #9520
  • fix(email): keep follow-ups, calendar changes and key mail in Focus by @synoet in #9517
  • feat(email): compose new emails inside the Email view on desktop by @peterchinman in #9501
  • fix(pipedream_mcp): list Connect apps Pipedream doesn't have by @ehayes2000 in #9496
  • fix(pipedream_mcp): overlays hide Pipedream grants, not Connect's by @ehayes2000 in #9500
  • feat(routines): trigger on task property values by @ehayes2000 in #9494
  • fix(connections): stop labeling Macro Connect grants as Pipedream by @ehayes2000 in #9524
  • feat(email-focus): show new mail in open Focus tabs within seconds by @synoet in #9521
  • feat(sdk): return web urls from agent sessions and other linkable entities by @404Wolf in #9321
  • feat(email): list Focus newest first under pinned day headers by @synoet in #9510
  • feat(ai-editing): edit database answers, charts and embedded databases by @404Wolf in #9333
  • fix(agents): persist new-conversation drafts on the Agents page by @404Wolf in #9504
  • fix(agents): give agents the current date so date chips read today by @404Wolf in #9186
  • refactor(agents): project the transcript with Solid's keyed reconcile by @404Wolf in #9474
  • feat(tasks): link task sources in the composer by @dev-rb in #9481
  • build(code-mode): generate the Deno SDK bundle and docs at build time by @404Wolf in #9527
  • feat(email): say why each Focus row is there and quiet its meter by @synoet in #9512
  • feat(agents): remove Send next from the agent queue by @404Wolf in #9455
  • feat(agent-session): list a session only for the people who prompt it directly by @404Wolf in #9218
  • fix(agents): keep LoadTools-loaded tools callable across turns by @404Wolf in #9210
  • fix(agents): show the agent API key as optional by @404Wolf in #9454
  • fix(markdown): show an editor error when a document has no initial state by @404Wolf in #9415
  • fix(convert): keep LibreOffice scratch files from filling the task disk by @synoet in #9546
  • fix(dynamic-ui): stop Gemini rejecting the DisplayResults view schema by @synoet in #9540
  • build(sdk-docs): delete the unused committed SDK reference by @404Wolf in #9530
  • fix(search): report OpenSearch transport failures with their cause by @synoet in #9532
  • perf(search): build Soup's local search pool only when search has text by @404Wolf in #9424
  • perf(entity): keep list row layout inputs independently reactive by @404Wolf in #9427
  • perf(activity): keep overview date math on plain UTC dates by @404Wolf in #9422
  • feat(auth): route-based agent signup and setup page by @ehayes2000 in #9544
  • fix(nix): update the Darwin node_modules hash after @date-fns/utc by @404Wolf in #9556
  • fix(tabs): switch to the background tab holding a selected entity by @ehayes2000 in #9548
  • fix(desktop): recover from booking links that strand the app by @ehayes2000 in #9538
  • feat(agents): route SDK areas per turn with their agent guidance by @404Wolf in #9552
  • feat(sdk): edit documents and tasks by instructions by @404Wolf in #9435
  • fix(channels): expose formatting in mobile message composers by @peterchinman in #9526
  • feat(email): edit shared inbox signatures from settings by @gbirman in #9559
  • fix(comments): keep expanded comments and Open Session inside the card by @gbirman in #9551
  • fix(auth): keep native sign-in alive through app update reloads by @gbirman in #9273
  • fix(agents): remember the last picked effort for new conversations by @ehayes2000 in #9560
  • fix(agents): let owners delete external agent sessions by @ehayes2000 in #9561
  • fix(desktop): upload large pasted files from Rust by @ehayes2000 in #9562
  • ci(android): publish Play releases from main's copy of the workflows by @peterchinman in #9563
  • feat(web): rename settings and navigation commands in Cmd+K by @gbirman in #9558
  • feat(routines): add once routines that run at an exact time by @404Wolf in #9336
  • feat(forms): show or skip a section based on earlier answers by @404Wolf in #9436
  • fix(web): paste clipboard screenshots and space name tooltips in Safari by @peterchinman in #9575
  • fix(email): open the clicked email when clicking a sender by @gbirman in #9555
  • fix(agent-reviews): keep review cards live without locking during saves by @404Wolf in #9571
  • feat(agents): load the user's skills a request needs before each turn by @404Wolf in #9550
  • feat(email): press b to create a calendar event from a thread by @gbirman in #9534
  • fix(channels): keep a thread's document mention off the whole channel by @peterchinman in #7348
  • fix(channels): scope deletion to owners and team admins by @peterchinman in #9539
  • feat(channels): improve sidebar sharing and interactions by @dev-rb in #9498
  • feat(crm): unify archive and restore controls by @gbirman in #9572
  • feat(calls): improve chat layout and mobile call controls by @dev-rb in #9076
  • fix(email-view): bring back the Focus importance meter's colors and score by @synoet in #9588
  • fix(databases): share agent-created databases with the channel they were made in by @404Wolf in #9568
  • feat(routines): let routine prompts mention agents without invoking them by @ehayes2000 in #9589
  • fix(monitoring): reduce long-running transaction monitor noise (alerts 615, 621) by @synoet in #9553
  • fix(graphics): tolerate canvas node kinds from newer clients by @ehayes2000 in #9593
  • fix(settings): show the catalog logo on connected app rows by @ehayes2000 in #9585
  • fix(graphql-cache): stop failing native cache commands that still commit by @synoet in #9537
  • fix(tabs): size desktop tabs like browser tabs with even padding by @ehayes2000 in #9364
  • feat(external-chat): create a task from a WhatsApp message by @404Wolf in #9595
  • fix(markdown): render document mentions that omit documentName by @404Wolf in #9567
  • fix(comments): stop commenter sessions writing the shared document by @404Wolf in #9576
  • feat(feed): share paging, hydration and acknowledgment between feeds by @synoet in #8715
  • feat(graphics): add artifact shape kind by @ehayes2000 in #9602
  • feat(channel): copy and download on hover for inline images by @peterchinman in #7385
  • feat(email-focus): move importance over time at a rate set per thread by @synoet in #9570
  • fix(web): let agents select text on the setup page by @ehayes2000 in #9587
  • feat(crm): require fields before entering pipeline stages by @gbirman in #8850
  • fix(calendar): stop one unreadable Outlook event blocking calendar sync by @gbirman in #9573
  • fix(email): show b on the composer's Create event and a quiet loading spinner by @gbirman in #9604
  • feat(notification-inbox): serve the notifications inbox over GraphQL by @synoet in #8716
  • feat(notifications-inbox): add the unified Notifications view behind a flag by @synoet in #8719
  • fix(channels): restore all channels sidebar section by @dev-rb in #9611
  • feat(agent-reviews): push review card updates through the session log by @404Wolf in #9610
  • fix(crm): load contact files without an email address by @gbirman in #9613
  • feat(canvas): run artifacts in a sandboxed frame behind a flag by @ehayes2000 in #9615
  • fix(comments): fold an outside press and compact Open session by @gbirman in #9590
  • fix(tauri): route native fetches by service and origin, not by name by @peterchinman in #9597
  • feat(channels): let people ask to join private and team channels by @peterchinman in #8576
  • docs(readme): clarify connected workspace capabilities by @chaitbuilds in #9086
  • fix(crm): align restore and record metadata controls by @gbirman in #9614
  • fix(email): recover attachments whose upload never finished by @synoet in #9599
  • fix(notifications-inbox): keep channel join requests out of the inbox by @synoet in #9631
  • fix(home): show new notification rows live in notified_at lists by @synoet in #9626
  • feat(canvas): share styles and components across a canvas's artifacts by @ehayes2000 in #9628
  • feat(email): show the day a Focus thread is due by @synoet in #9574
  • feat(email): share threads at edit and let editors reply from own inbox by @jbecke in #9503
  • feat(canvas): present artifacts full screen in order by @ehayes2000 in #9642
  • fix(calendar): stop an unmapped mailbox zone blocking Outlook discovery by @gbirman in #9621
  • feat(whatsapp): trace how senders are named by @404Wolf in #9629
  • feat(canvas): let AI create and edit artifacts behind the flag by @ehayes2000 in #9645
  • fix(calendar): log Outlook sync error changes for calendar caches by @gbirman in #9633
  • fix(channels): preserve favorite drop targets on release by @dev-rb in #9651
  • feat(web-search): Tavily-backed web search and fetch for every agent and the SDK by @404Wolf in #9725
  • feat(macrod): configure runtimes on the web and keep macrod.toml machine-local by @404Wolf in #9156
  • test(teams): stop invite reminder tests rounding past the due time by @synoet in #9763
  • fix(agent-harness): free the context lease before answering a reset by @synoet in #9768
  • fix(ci): give sccache a minute to start against a slow cache backend by @synoet in #9784
  • fix(whatsapp): stop a group added as its first message arrives waiting by @synoet in #9765
  • ci(tauri): check lockfiles with cargo, vendor only when inputs change by @synoet in #9716
  • ci(nix): cut the node_modules check to one build on a faster Mac by @synoet in #9717
  • ci(infra): let Pulumi preview read the Nix binary cache by @synoet in #9761
  • test(scheduled-action): stop assuming ids minted together sort in order by @synoet in #9806
  • chore(deps): accept the unmaintained pin-utils advisory by @synoet in #9813
  • ci(path-check): cut 22 s from every PR by reusing the registry and filter build by @synoet in #9742
  • ci(test): keep test Postgres data in shared memory by @synoet in #9807
  • ci(rust): run test and check on 32 CPUs without a compile limit by @synoet in #9754
  • ci(macrod): build the update test without debug info on macOS and Windows by @synoet in #9766
  • ci(code-mode): stop rebuilding assets on most Rust jobs by sharing them through a remote cache by @synoet in #9743
  • ci(test): cut the Deno step from minutes to seconds by reusing the test build by @synoet in #9720
  • ci: cut about 20 s of waiting from the Rust check and test jobs by @synoet in #9744
  • ci(test): build the test job without workspace debug info by @synoet in #9753
  • refactor(sqs_client): stop depending on the email domain crate by @synoet in #9811
  • perf(document-storage): stop compiling the whole service in its lib test by @synoet in #9819
  • ci(rust): stop stalled PR jobs and fail the required check on a timeout by @synoet in #9773
  • perf(web): delete retired assets in batches on deploy by @synoet in #9698
  • perf(sync-service): skip the worker deploy when its inputs are already live by @synoet in #9709
  • perf(nix): let Lambda builds reuse the shared dependency layer by @synoet in #9737
  • ci(web): get the web PR checks under five minutes by @synoet in #9718
  • fix(graphql-cache): stop a dropped link repair stalling the mutation queue by @synoet in #9771
  • ci(web): skip the generated code check when no schema can change by @synoet in #9757
  • feat(desktop): show more text in tabs and add shift+cmd+arrow tab hotkeys by @ehayes2000 in #9383
  • feat(auth): cap and rate limit profile picture uploads by @ehayes2000 in #9523
  • feat(mcp): let any https MCP client connect after user consent by @ehayes2000 in #9385
  • fix(view-shell): remember every sidebar's resized width by @peterchinman in #9830
  • feat(sdk): search every item type, browse the workspace and read AI chats in code mode by @404Wolf in #9582
  • fix(pr): close the details sheet when opening linked work on touch by @ehayes2000 in #9373
  • feat(agents): collapse the Archived sidebar section by default by @ehayes2000 in #9380
  • perf(agents): keep recently viewed agent sessions open across switches by @ehayes2000 in #9356
  • fix(favorites): show unread notification indicators by @dev-rb in #9609
  • fix(external-chat): keep an older page when the timeline refreshes by @synoet in #9764
  • fix(channels): open Chat sidebar search without crashing the rail by @peterchinman in #9835
  • fix(collab): stop a sync reset from erasing collaborators' edits by @synoet in #9564
  • fix(sync): keep editors registered with the sync service after a reconnect by @synoet in #9554
  • fix(databases): paint grid rows opaque over the row lines by @synoet in #9650
  • fix(email-search): stop 500s on threads with no sender (alerts 642/644) by @synoet in #9617
  • fix(search-processing): resend OpenSearch requests on dropped connections (alert 701) by @synoet in #9719
  • fix(soup): omit email threads when the CRM domain scope is rejected by @synoet in #9606
  • fix(convert): send docx job updates only for jobs a client tracks by @synoet in #9566
  • fix(monitoring): size the RDS freeable memory floor for small instances by @synoet in #9608
  • fix(monitoring): retune graphql soup volume and websocket surge monitors by @synoet in #9547
  • fix(bots): enable configured agents for mention dispatch by @404Wolf in #9759
  • fix(forms): remove the show results option from polls by @404Wolf in #9627
  • fix(connection-gateway): skip and retire malformed connection rows on read by @404Wolf in #9726
  • fix(ui): redraw the connector plug to match its dock neighbors by @404Wolf in #9732
  • fix(agent_trigger): keep attachment-only messages in agent context by @404Wolf in #9741
  • fix(pipedream_mcp): turn an app on when it is connected again by @404Wolf in #9747
  • fix(macrod): report a prompt stopped before delivery as not delivered by @404Wolf in #9649
  • fix(hotkeys): stop the g leader's timeout from stealing focus by @404Wolf in #9733
  • fix(agent-harness): dispatch queued prompts when macrod reattaches a session by @404Wolf in #9779
  • fix(channels): create DMs on the first message, not when opening a person by @synoet in #9341
  • fix(kanban): improve card surface contrast by @dev-rb in #9828
  • feat(tasks): add a Customer / Contact property to task creation by @synoet in #9635
  • fix(forms): share forms an agent presents in a channel reply by @404Wolf in #9565
  • fix(agents): move the hidden routine runs toggle into the filter menu by @ehayes2000 in #9837
  • feat(databases): open the full table from a row clicked in a document by @404Wolf in #9778

Full Changelog: v2026.11.3.1...v2026.11.5.0