Also in this release

MemHub
Improvements12
  • Session detail — the page is rebuilt around Transcript, Activity, Memory, and Contents tabs, with memory cards linked back to the episode that produced them and memory filterable by episode.
  • Session detail — Transcript is the default tab, tab bodies stay mounted so switching does not re-fetch, and the page can idle-warm instead of popping sections in one at a time.
  • Sessions — Summary does less hidden work at startup: inactive tabs wait for the active one to warm, the KPI-before-chart hop is gone, and duplicate session reads are reduced.
  • Sessions — Summary rows and KPI tiles speak the same population language, separating measured from started sessions and averaging against the matching denominator.
  • Sessions — the Summary PR tile and the List and Lanes linked-work column honour the GitHub availability flag consistently, instead of leaving half the GitHub UI switched on.
  • Sessions — List views grouped by engineer say when their counts are page-scoped at the 200-session cap, matching the honesty Lanes already had.
  • Sessions — lane backgrounds paint real local dawn and dusk rather than phasing off the current window, and day ticks across a DST boundary no longer repeat or drop a day.
  • Connected sources — a reconnect can offer to restore what was lost as soon as OAuth returns, rather than relying on a passive banner someone may never scroll to.
  • Connected sources — when a provider handoff never comes back, the Sources page explains what was attempted and offers a retry instead of claiming a failure it cannot know happened.
  • HubSpot — revoking a refresh token treats "already gone" as success and retries transient failures, leaving fewer stale installs that dead-end the next connect.
  • Usage digests — KPI deltas are neutral grey in both directions, so a quiet week is not coloured as a failure and a busy one is not graded as a win.
  • Install guides — the Cursor and host-plugin setup docs match the current Agents view, source states, and shared capture command.
Fixes8
  • Sessionsactive_seconds is an uncapped aggregate, so a long session over the span payload cap no longer reports one agent-hour figure in List and a larger one in Insights.
  • Sessions — a session whose capped page never reaches its first turn records its scalar activity as unknown rather than implying a measured zero.
  • Brains — Slack notification links point at /studio/brains/{id} instead of the removed /cbs/{id} route.
  • Slack notifications — a brain name containing a line break no longer breaks the link or the bold span around it, while ordinary spacing is preserved.
  • Sources/studio/sources no longer crashes when an early return changes the hook count after a connect attempt.
  • Connected sources — a successful provider return no longer races the abandoned-connect notice and wrongly reports that the connect never finished.
  • HubSpot — a second disconnect no longer warns that revoke failed when HubSpot is saying the token is already gone.
  • UI polish — the GitHub provider icon is visible in dark mode, and the Skills and Routines navigation icons use their intended glyphs.
Security1
  • Code execution sandbox — Pillow is updated from 11.0.0 to 12.3.0 in the agent jail, closing 17 published vulnerabilities (12 rated high). The affected image-handling paths are reachable from model-written code, and the upgrade was verified against the runtime surface that code actually uses.