Also in this release

MemHub
Features5
  • Integrations — disconnecting a source tells admins what routines and access will break before they remove it, disables dependent routines honestly, remembers the grants that were destroyed, and offers to restore routines and access when the source is reconnected.
  • Slack — MemHub can now infer "send this to a teammate" from natural wording like "let Felix know…", and asks you to confirm before it DMs anyone under the recipient's grants. This replaces the send-without-confirmation behaviour announced on 2026-08-12; an explicit @MemHub dm <teammate> still sends immediately.
  • Routines — an agent routine can post to a Slack channel instead of DMing every member.
  • MCP serveradd_directive lets a client author a directive outright instead of waiting for extraction to notice a rule, and task-start recall can serve procedure memories before a task begins.
  • Terms — Studio shows a Terms-of-Service update notice, collects re-consent, and switches from a dismissible banner to a required modal once the terms take effect.
Improvements13
  • HubSpot — connecting grants the default workspace and queues the first import, so a newly connected CRM is usable without a separate "Import" step.
  • HubSpot sync — unchanged records skip re-ingestion while still stamping last_synced_at, making shorter refresh cadences affordable when nothing has changed.
  • Connected sources — disconnect warnings use product language like "Linear teams," "repositories," and "Notion pages" instead of internal grant-table vocabulary.
  • Connected sources — dependent-routine warnings always name routines a human would recognise, collapsing generated fallback names so the dialog stays readable.
  • Connected sources — disconnect warnings say the app is still installed on the provider and that the next connect may fail until you remove it, and HubSpot's names the exact screen to remove it on.
  • Sessions — sessions from Cursor and Codex carry their own platform badge.
  • Sessions — time charts support minute grains and a calendar-month grain, and cap buckets based on chart size rather than a fixed 92-day window.
  • Sessions — Summary can group a named engineer selection by user, with full turns, tokens, tool calls, agent time, and PR metrics in one read.
  • Usage digests — subjects name the reporting window, daily digests drop the one-bar chart and the "active 1 of 1 days" line, and your own empty activity is hidden without removing the team section.
  • Usage digests — unsubscribing preserves your cadence and channels, so re-subscribing returns you to your previous schedule instead of resetting to weekly.
  • Usage digests — notification settings use the app's themed toasts and silently correct your UTC offset on load.
  • Brains — a capped brain manifest says 5000+ facts rather than presenting a truncated enumeration as an exact count.
  • Slack — inferred relays show the model teammate names rather than Slack ids, resolve the recipient server-side, and say so plainly when the intended teammate is ambiguous.
Fixes24
  • Sessions — Summary and Lanes count sessions, turns, agent hours, tokens, and PRs from the workspaces where session turns actually live, so the list and the aggregate no longer disagree by an order of magnitude.
  • Sessions — Studio chat, MCP add_memory, team message ingest, and imports stamp event_date where available, so more sessions become measurable instead of showing turns with no tokens or agent time.
  • Sessions — empty session shells are hidden from the feed by default, matching the population the aggregates use.
  • Sessions — Lanes draws its day and night bands on the viewer's own calendar day, so overnight work no longer appears in the daylight band.
  • Session detail — the transcript is the flat message view again, and Contents reveals its sections together rather than one at a time.
  • Session detail — memory routes retry into the session's brain partition when a conv_id read would otherwise return an empty page from personal LTM.
  • Session detail — facts are linked back to the episode that produced them, lifting conversation-memory provenance from roughly two thirds of linkable facts to almost all of them.
  • Routines — a brainless routine with outbound delivery can fire on GitHub and Linear events instead of only working from "Run now."
  • Routines — a brainless routine lands in a workspace that actually holds the GitHub or Linear grants it needs, rather than the org default.
  • Routines — malformed config in one routine no longer aborts the event fan-out for its siblings.
  • Routines — anatomy generation clamps near-miss copy length and outcome counts instead of discarding the whole card when the model overshoots by a few characters.
  • Routines — chat-authored goals tell the model who the caller is, so "my decision" isn't rewritten to the wrong teammate.
  • Brains — creating a private brain on Pro and Free no longer fails by trying to home it in a plan-forbidden personal workspace.
  • HubSpot — OAuth connection sends token to HubSpot introspection instead of access_token, fixing installs that failed as missing_hub_id.
  • Integrations — GitHub repo grants are counted in disconnect previews, and routines without names get usable labels instead of (unnamed) or None.
  • Integrations — deleting a CRM integration cleans up the documents only that integration authorised, leaving sibling-connection content alone.
  • Onboarding — invited admins see onboarding, and the tour is no longer spent before it appears or skipped because a desktop window is narrow.
  • Terms — a pre-ticked consent box can no longer record re-consent to terms you didn't read.
  • Terms — the notice banner no longer blocks clicks across the full bottom of the viewport outside its visible card.
  • Connections — the OAuth landing no longer drops a parameter it needed or reports an error that didn't happen.
  • Account — the terms flow no longer requires a /settings/export step, and the dead email link that pointed at it is gone.
  • Digests — a test send covers the last N days rather than the last closed period, and preheaders stop advertising personal activity the recipient won't find in the message.
  • Scheduler — housekeeping loops wait for schema readiness before their first tick and retry a failed maintenance tick after five minutes instead of sleeping for the full cadence.
  • Imports — NUL-bearing agentic transcripts no longer kill pending-record appends.
Security3
  • Slack — relay confirmation buttons fail closed when SLACK_SIGNING_SECRET is unset, so Studio never shows a button whose click can't be verified.
  • Slack — relay confirmation payloads are signed rather than trusted from mutable button values, so a forged recipient or question can't become a DM.
  • HubSpot — introspection failures log allow-listed diagnostics only and scrub the access token, preserving the useful error without leaking the credential.