FrontonGPT logo

FrontonGPT

Version 2.8.13

What’s new — features, improvements and fixes.

Guide Learn how to get the most out of FrontonGPT.
Read the guide

Every release bundles features, improvements, and fixes that ship to everyone in the organisation. The newest release is at the top.

When a new extension version is ready, you’ll see a notice with an Update button — install whenever suits you. If you ignore it, the extension quietly upgrades itself the next time your computer is idle.

v2.8.13

May 20, 2026
  • improvedGemini Flash, now on 3.5 ⚡ — the Gemini Flash entry in the model picker now routes to gemini-3.5-flash instead of gemini-2.5-flash. Same picker entry, same $ cost tier, same 1M-token context window, same image / PDF / inline-file support — just the newer, sharper model under the hood. No action needed on your side: existing threads pinned to Gemini Flash, automations, and @flash shortcuts all pick it up automatically on the next turn.

v2.8.12

May 8, 2026
  • featureSkills, on by default 🧠 — a skill is a small, self-contained bundle (markdown + optional scripts) that teaches the assistant how to do one specific thing the Frontiers way: checking whether a submission is in scope for a journal section, drafting an editorial decision letter in house style, writing SQL against the warehouse with our naming conventions, or crafting a marketing campaign aimed at the right audience. The assistant picks the relevant ones automatically based on the conversation and mentions them by name in its replies, so you always know what's been loaded. The Skills tool used to be off until you turned it on per thread, so most people never met it. It's now on by default for everyone, on every model that supports tool calling, with a per-member kill switch and a small visible cue when it's active.
    • Why skills matter — they're how org-specific know-how stops living in one person's head (or one buried Confluence page) and starts running consistently in every chat. Once a workflow is captured as a skill, the next person who asks gets the same in-house answer the expert would give — same conventions, same caveats, same references — without having to know which expert to ping. They turn one-off prompts into reusable, versioned playbooks, and they raise the floor of the assistant's output on the work Frontiers actually does day-to-day.
    • Browse the catalog at Settings > Skills — every skill currently available to the assistant is listed there, with descriptions and the commit it's synced from, so you can see what knowledge is loaded and propose edits or new ones.
    • Source of truth — GitHub — each skill lives as a folder in your organisation's GitHub repo under skills/. Everything is in version control, peer-reviewed via PRs, and auditable.
    • Automatic sync — changes merged to main flow through automatically. The commit shown on the Skills page reflects what's live in the assistant right now — no manual deploy, no waiting for the next release.
    • Shared with everyone — all members of the organisation use the same skills. There's no per-user override: if it's in the repo, the assistant has it; if it isn't, nobody does. One canonical source, the whole team aligned by default.
    • Default-on, server-side — when the chat panel asks the server for the model list, the server injects skills into each model's effective default tools only for models whose own allowlist already permits it — i.e. Auto, Sonnet, Opus, and the other tool-calling families. GPT, Gemini, and standalone Haiku stay untouched, so no model gets handed a tool it can't reliably use.
    • Opt-out switch in Settings > Extension — a new Skills tool toggle persists on your member profile (options_skills_tool_enabled). Flip it off and Skills stops getting auto-enabled on every new thread; flip it back on and the next picker refresh restores the behaviour. Per-thread overrides from the composer's tools menu still win — the toggle only governs the default.
    • "Skills enabled" pill on the welcome screen — when you open a fresh thread, a small blue pill sits in the top-right of the welcome screen, on the same baseline as the date, the moment Skills is active for the next message. Disappears the second the first user message lands (the welcome view does), or if you turn Skills off in the composer or Settings.

v2.8.11

May 6, 2026
  • improvedPersistent volumes 💾a very technical release on its own, but a key capability for what comes next. Workspaces now back onto e2b volumes: network-backed storage (multi-zone replicated) that mounts into a sandbox at any path and persists past the sandbox's life.
    • Durable, not just resumable — durable workspaces (v2.7.4) protect the VM; volumes protect the data. Mount the same volume in a fresh sandbox tomorrow on a different node and your files are right where you left them.
    • Shared across sandboxes — mount the same volume in several sandboxes at once for one shared dataset with many readers and writers: parallel jobs, shared working corpora, cross-thread caches.
    • Self-hosted, private — the file system, the orchestrator, the sandboxes, the encryption keys, and the network all live on our own infrastructure. Files written to a volume never leave Frontiers: not E2B's hosted service, not OpenAI, not any third party. The privacy guarantee FrontonGPT already gives chat (your prompts and tool outputs stay in our cluster) now extends to anything you persist across sessions — important for sensitive manuscripts, peer-review correspondence, embargoed data, and anything else that simply must not leave our perimeter.
    • Cross-product foundation — the same plumbing isn't just for the assistant; it's the durable file layer other Frontiers products can build on top of. Notably AIRA: anywhere it needs to keep a working corpus, a vector index, peer-review artefacts, or per-user scratch space across sessions and machines, it can mount the same kind of volume and stop reinventing storage. One shared substrate, multiple products.
  • fixRollout postmortem 🩹 — getting volumes live took two attempts on Wed May 6. The morning rollout was rough and the knock-on issues persisted throughout most of the working day: intermittent sandbox creation failures, dropped tracking on a number of user workspaces, and slow, sporadic recoveries as we worked the cluster back into shape. A second deployment in the evening landed cleanly and resolved the lingering problems. Painful in the moment, but an important learning for us as we scale this strategic capability across products. Apologies to everyone whose Wednesday was disrupted by "sandbox unreachable" errors — we owe you a calmer rollout next time.

v2.8.10

May 5, 2026
  • featureEmbeddings in the workspace 🧭 — every sandbox now boots with read-only access to our Pinecone indexes, so the assistant can semantically search Frontiers data end-to-end from inside sandboxed code: embed → query → join with BigQuery / Salesforce → write a CSV or chart. Ask it to "find recent CAR-T submissions across our portfolio", "surface board-quality reviewers for this cell-biology manuscript", or "show research topics adjacent to climate-resilient agriculture", and it runs an actual vector query instead of fudging it with keyword search.
    • What's indexed — ~1.2M Frontiers articles, ~126K researcher profiles, ~58K Research Topics, ~2.1K taxonomy labels, and a dedicated ~2.7M researcher insights index for high-recall reviewer / topic-editor shortlisting.
    • What it unlocks — reviewer & topic-editor shortlisting (with COI rules), near-duplicate detection on incoming manuscripts, scope-fit checks against a journal section, Research Topic landscaping and adjacency queries when commissioning new topics or journals.
    • How it worksPINECONE_API_KEY (read-only) is in every sandbox's env, the pinecone Python package is pre-installed, and the assistant's system prompt knows the catalog so it picks the right index, model, and namespace without you spelling it out.
    • New Settings > Embeddings page — browse the indexes, namespaces, models, hosts, and record counts in one screen. Useful when scoping a prompt or sharing what's available.
    • New shared integration in Settings > Credentials — Pinecone shows up as an org-managed integration so it's clear the access is shared and read-only.

v2.8.9

May 4, 2026
  • improvedFrontonGPT in Microsoft Teams — now the real thing 💬 — the existing FrontonGPT Teams bot has been rewired off the n8n webhook (which was a thin Google Vertex AI passthrough — no tools, no agents, no memory) and onto FrontonGPT directly. Same bot, same way to talk to it, far more capable underneath. Same entry point, full assistant.
    • Same assistant as the extension — Teams turns now run through the same pipeline as the chat panel, so you get the full toolset (web, profile, workspace, automations, image, frontiers/publishing connectors, …), all your agents, projects, and the same model picker. Whatever you can ask in chat, you can now ask in Teams.
    • Real memory across turns — every Teams conversation is pinned to its own FrontonGPT thread, so the model remembers what you said three messages ago — it doesn't every time. A reply-in-channel gets its own thread; a fresh DM continues the same one until you reset it.
    • Type /new, /reset, or /clear to start over — the live thread is archived and the next message starts fresh. The bot confirms with "Started a new conversation."
    • Streaming in 1:1 DMs — replies stream token-by-token into a single message that updates in place, the same UX as the chat panel. Group chats and channels fall back to a "…is typing" indicator and a single final message — Teams' streaming protocol doesn't behave well in group scopes.
    • Identity is your real Microsoft account — every Teams message is verified against the bot's Azure AD app and matched to your FrontonGPT user by email, so the agent answers as you: your personalization, your audit trail, your usage counts. Unknown senders get a polite refusal instead of being auto-provisioned silently.
    • Visible in your thread list — Teams conversations show up in the FrontonGPT sidebar like any other thread, so you can reopen a Teams chat in the extension to keep working in a richer surface (file uploads, the workspace sandbox, …) and the next Teams message picks up where you left off.
    • Generated images, exports & QR codes render inline — when the assistant produces an image (image.generate), exports a workspace file (export_file), or generates a QR code, Teams shows the actual image or download link directly in the message — no Auth0 login round-trip, no broken-image placeholder. Behind the scenes the Auth0-protected file URL is swapped for a 7-day pre-signed S3 URL just before the reply lands in Teams, so Microsoft's image proxy can fetch it anonymously. Live artifact / app wrappers (serve_artifact / serve_app) still prompt a one-time Microsoft sign-in per browser — they iframe a live sandbox tied to your member identity, so we keep the auth gate there.

v2.8.8

May 1, 2026
  • featureAnalytics, properly 📊Settings > Analytics is rebuilt around the questions you actually have: am I using FrontonGPT enough? do I use it like everyone else does? is everyone else getting more out of it than me? Each card now answers one of those directly.
    • You vs the org — your share of total messages, your multiplier vs the typical active user, and your rank (e.g. "#42, top 12% of 248").
    • Where you fall in the org — a density curve of every active user's message count, log-scaled so the long tail reads as a bell. Median dashed, you marked.
    • When the org prompts — a 7×24 day-of-week × hour heatmap (cool blue → hot orange) in your local timezone. Shows the rhythm of the working day at a glance — when the morning ramp kicks in, when lunch hits, when the afternoon push lands, when work tapers off.
    • Active users (DAU / WAU / MAU) — distinct users over the last 1 / 5 / 20 completed business days. Today is excluded so the numbers don't drift up over the day; weekends are excluded too. Stickiness shown as both DAU/WAU (the honest B2B anchor) and DAU/MAU (the consumer convention). Public holidays aren't excluded yet — a bank holiday inside the window will dilute slightly.
    • Usage concentration (Lorenz curve) — top 1% / top 10% message share, "top X% of users send 50%", and the Gini coefficient. Tells you whether usage is broad or concentrated in a handful of power users.
    • Department heatmaps + Org-level trend — the Adoption tab pairs nicely with the new bits: adoption heatmap (% engaged users per department × month), intensity heatmap (messages per active user per department × month), and the Org-level trend chart now plots a third teal line for Threads alongside Users and Messages — with a "vs prev month" delta on hover for all three.
  • improvedHeads-up about workspace auto-cleanup ⚠️ — the Settings > Workspaces page now carries an explicit warning that workspaces paused for more than 90 days are automatically destroyed by the nightly sweep. The cleanup job has been running for a while; the warning makes the policy visible so you don't lose a workspace you forgot to resume. Resume them periodically or delete the ones you don't need.
  • fixThreads no longer get stuck on "Tool result is missing" 🩹 — if a tool call started but never finished (you hit Stop mid-tool, the pod restarted, or a long-running workspace job got disconnected), the assistant message ended up with an orphan tool_use block and no matching result. Every subsequent retry then errored with "Tool result is missing for tool call toolu_…" and the thread was effectively dead until you forked or started a new one. The server now detects orphan tool calls when building the next prompt and synthesises a clean "that call didn't finish" result on the fly, so the next message you send picks the conversation right back up — no fork, no DB surgery, no lost context.

v2.8.7

April 30, 2026
  • featureEmails, calendar invites & checklists — as live cards 🪪 — ask for a follow-up email, a team sync, or a launch checklist and you get an actual card inside the chat, not a paragraph to re-parse: recipient / subject / body for email, time / attendees / location with add-to-calendar buttons for events, tickable action items for checklists. Nothing mutates until you click — send_email only goes to SES after explicit confirmation, invites only leave the chat when you hit add-to-calendar, checklist ticks stay local. Propose, review, ship — without ever copy-pasting out of a reply.
  • featureThe assistant can finally ask — properly 🗳️ — at a real fork in the road ("which framework? which region? which of these three files?"), it drops a multiple-choice form right into the thread — up to 3 questions, 2–8 options each, single- or multi-pick — instead of burying the question inside a paragraph. You click, your answers become the next turn, and the card stays answered across reloads. Taught to ask rarely and clearly — never for vibes, never for something a quick file read would answer. Works in chat, voice mode, automations, and subagents.
  • featureSubagents — proper workers now 🤖delegate to a subagent is type-driven: pick generalPurpose, explore (read-only recon), coder, or research and the right tools and model snap into place automatically. Runs stream reasoning, every tool call, and the final answer into a collapsible panel in-thread — no more single rolling "running…" label. Fire a fleet of delegate_task calls in parallel, or set run_in_background: true and resync later via the new subagent_await. Readonly mode and per-run model overrides ship too.
  • improvedKeyboard-first composer 🎹 — the topbar now answers to your hands. ⌘K pops the models & agents picker with live search and ↑↓ / nav, ⌘⇧O starts a new thread, ⌘⇧U reads the current page. Pick something and focus bounces straight back into the textarea — mouse optional from the first keystroke to the send.
  • improvedMinor fixes and improvements 🧹 — a round of smaller polish and plumbing work in preparation for the big things coming next. Nothing you have to learn; everything should just feel a bit snappier, tidier, and more predictable across Settings, the sidebar, and the workspace runtime. More will land in the next release.

v2.8.6

April 29, 2026
  • improvedWorkspaces now survive cluster shrinks 🪂 — the compute cluster can finally scale down, not just up. When a worker is retired, every workspace on it is paused and snapshotted first — same durable-pause you get at idle — so files, memory, and running processes survive. Reopen the thread, the workspace resumes, you pick up where you left off.
    • No more lost workspaces during scale events — retires the red apology from v2.8.4.
    • Fails safely: if the drain path is ever unavailable, AWS falls back to a normal shutdown after a 45-minute grace window instead of wedging the cluster.
    • With the guarantee in place, the cluster now ranges from 3 to 9 nodes — up to 144 vCPUs and 576 GB of RAM at peak. Quiet weekends are cheaper; busy afternoons still scale up within seconds. More than enough to run whatever unhinged Python you can dream up.
  • fixPersonal Salesforce credentials no longer silently expire 🔐 — if you connected your own Salesforce account via Sign in with Salesforce (shipped in v2.8.3), the refresh token could quietly stop working after a while, and tool calls would fall back to the shared read-only connection without telling you why. Fixed — the refresh flow is more resilient and surfaces a clear error when Salesforce genuinely needs you to re-authorise. If you're currently hitting the issue, head to Settings > Credentials > Salesforce, click Disconnect, then Connect with Salesforce again — you'll be good for another long stretch.

v2.8.4

April 28, 2026
  • featureBigQuery dataset catalog 🗂️ — a new Settings > Datasets page to browse the warehouse without leaving the assistant. All four ocean-breeze-tier-* projects in one searchable list, click a dataset for a drawer with its description (rendered as markdown), tables with real row + byte counts, and click any table to see its full column schema — including nested RECORD fields, partitioning, and clustering. Copy-FQN on every row. Read-only, org-shared, cached for 6 hours so it's instant after the first load.
  • featureNew thread, born in a project 📁 — projects in the sidebar now have a + button that appears on hover, right next to the three-dot menu. One click and you're already typing into a fresh thread that's attached to that project — no more "new chat, send message, open menu, Move to project" four-step dance.
    • Attached atomically on the first message — the client stamps the project_uid on the local thread and forwards it with the first completion request, so the thread row is born already grouped under the project rather than briefly appearing outside it and then hopping in.
    • Project auto-expands — the target project stays expanded so your new thread slots into place the moment the first assistant reply streams the thread:created broadcast.
    • Owned projects only — the + affordance is hidden on shared/read-only projects, matching the existing rename/delete/share permissions.
    Suggested byAAnonymous
  • featureConversation name in the browser tab title 🏷️ — running 4–6 threads in parallel? The full-tab view (Open in tab from the sidepanel) now shows the active conversation's name in the browser tab title, so ⌘ + number tab-jump and Chrome's tab search land you on the right thread instantly instead of cycling through "AssistantGPT • AI Assistant" × 6.
    • Live rename sync — when a fresh thread gets auto-named after your first message (or you rename it manually), every tab pointed at that thread re-titles itself immediately over the same websocket channel the sidebar uses.
    • ⏳ while streaming — the title is prefixed with an hourglass for the duration of an assistant reply, so a glance at the tab bar tells you which conversation is still thinking.
    • ✅ when the reply lands in a backgrounded tab — if you switched away mid-stream and the answer finished without you, the prefix flips to a green check and stays there until you focus the tab again. Built-in "this one's ready" indicator, no favicon tricks needed.
    • Standalone only — the sidepanel shell has no real browser tab to re-title, so the behaviour is scoped to the full-tab surface.
    Suggested byAAnonymous
  • featureKeep your agent when starting a new thread 🧷 — clicking New thread while you were inside a specific agent (or had pinned Opus / Sonnet / GPT-5) used to snap you back to your default model (typically Auto), so specialists who lived inside one agent had to re-select it on every fresh chat — friction that quietly broke months of "open agent → new thread → ask" muscle memory. There's now an opt-in switch in Settings > Extension > Keep current agent on new thread that flips the behaviour: with it on, New thread clears the messages but keeps your current agent, model, and enabled tools/connectors exactly as they were. The button becomes a "clear chat" for your current context instead of a reset.
    • Off by default — long-time users keep today's reset-to-default behaviour until they explicitly turn this on, so nothing changes under anyone's feet.
    • Per-member — the toggle lives on your member profile (not on the organisation), so your teammates can keep the old behaviour while you keep your agent sticky.
    • Existing threads unaffected — reopening an old thread still restores whatever agent/model that thread was last using. This only changes what happens when you click New thread from inside an agent or a pinned-model thread.
    Suggested byAAnonymous
  • featureCredit where credit is due 💛 — the Suggest a feature form now has a "Credit me in the release notes" checkbox, and this page now renders per-feature credits: when a request ticked that box and ships, the corresponding release note carries a small "Suggested by <avatar> <name>" pill right underneath it. Multiple requesters get stacked pills — if two people asked for the same thing, both get credit. Quietly gives the loudest users the badge they earned.
    • Opt-in — off by default. Your request stays anonymous unless you explicitly tick the box.
    • Retroactive credits — want credit for a feature that shipped before the checkbox existed? Ping us directly and I'll add you to the release note manually. The pill renders from a static credits field, so adding a missing requester is a one-line change.
  • improvedFaster, more reliable workspaces 🚀 — major infrastructure overhaul under the hood. Workspaces that were slow to resume or failed with "sandbox became unreachable" should now recover in seconds, not minutes.
    • Scaled compute cluster — increased the base node pool and enabled auto-scaling so the cluster adds new nodes automatically when demand grows.
    • Auto-scaling compute — the cluster now automatically adds new nodes when CPU or memory utilisation crosses the threshold (scale-out only — nodes are never removed automatically, so running workspaces are never interrupted). No more manual capacity planning during usage spikes. Automatic scale-down with graceful draining is coming in a future release.
    • Smarter crash recovery — if a brand-new workspace crashes on startup (e.g. from temporary resource pressure), the system now automatically destroys it and creates a fresh one instead of showing a confusing "paused but did not respond" error. The old error only appears for genuinely long-lived workspaces where your files need protecting.
    • Clearer error messages — when a workspace is temporarily unreachable, the message now says exactly that instead of exposing internal sandbox IDs and suggesting you destroy your files.
    • Upstream merge (e2b-dev/infra 2026.15) — pulled in 206 upstream commits including a thundering-herd fix for sandbox scheduling, race condition fixes, kernel I/O timeout improvements, and performance optimisations across the board.

    Note: During the scaling work, some running workspaces were lost and cannot be recovered. If your workspace is missing files from a previous session, please start a fresh thread — we apologise for the disruption.

v2.8.3

April 27, 2026
  • featureSign in to Salesforce with your own account ☁️ — Salesforce now connects via OAuth from Settings > Credentials, sitting on top of the existing shared connection rather than replacing it. The two modes have very different permission profiles, and the drawer surfaces both up front so the trade-off is never hidden:
    • Shared connection (default, no setup) — backed by the organisation's service-account Connected App and granted read-only access on every Salesforce object. Great for "look up this account", "show me my pipeline this quarter", "fetch the case history for opp X" — anything that's a SOQL SELECT. Cannot create, update, or delete records, by design. The credentials row shows "Using shared" so the state is never ambiguous.
    • Sign in with Salesforce (your own user) — click Connect with Salesforce, approve the Connected App, and the assistant queries Salesforce as you: exactly the read and write permissions your Salesforce user has, scoped by your role, profile, and sharing rules. Required for any update / insert / delete (create accounts, update opportunities, log tasks, close cases…) and for accessing records the shared service account can't see. Every action shows up in the standard Salesforce audit trail under your name, not a shared bot.
    • Per-user, encrypted, auto-refreshed — your access + refresh tokens are stored encrypted alongside your other credentials and refreshed automatically 5 minutes before expiry. The credentials drawer shows the connected account (display name + email) and the Salesforce instance URL.
    • Workspace sandbox auto-wired — whichever auth is active (shared or OAuth), every chat exposes SALESFORCE_ACCESS_TOKEN and SALESFORCE_INSTANCE_URL with a fresh token, so simple-salesforce and plain requests calls just work — no token juggling. The tool path (salesforce_soql_query) and the sandbox env vars always agree on the active identity.
    • Disconnect at any time — one click on Disconnect falls back to the shared read-only connection; revoke the upstream grant from Salesforce Setup > Connected Apps OAuth Usage if you want to fully cut access.

v2.8.2

April 27, 2026
  • featurePersonal Postgres database 🐘 — every member now gets their own managed PostgreSQL database, one click away in the new Settings > Databases page. It's the most requested workspace upgrade in one move: a durable, private place to persist data between conversations, instead of re-running the same pd.read_csv every time.
    • Per-member, isolated — one database + one role per (user, organisation), provisioned on demand. Your role can only touch your database; the admin role used to provision it is not a superuser, so the blast radius of anything going wrong is bounded to your own DB.
    • Shared across all your workspaces — every chat and sandbox you open connects to the same database, so data you write in one conversation is available in the next. No per-thread forks, no manual wiring.
    • Wired into the sandbox automatically — once provisioned, the standard PGHOST / PGUSER / PGPASSWORD env vars plus a full DATABASE_URL are exposed in every workspace. psycopg, sqlalchemy, and pandas.read_sql all pick them up with zero setup. Tell the assistant to "save these rows to my Postgres" and it just works.
    • Batteries-included extensions — every provisioned (and every reset) database comes with five extensions pre-installed: vector for pgvector embeddings (cosine / L2 / inner-product search over OpenAI/Anthropic vectors), pgcrypto for gen_random_uuid() + bytea hashing, citext for case-insensitive text columns, pg_trgm for fuzzy text search (% / similarity() + GIN indexes), and unaccent for accent-insensitive matching on non-ASCII text. Core Postgres already provides tsvector/tsquery full-text search and jsonb key/value storage, so no extension is needed for those. Heavy or sensitive extensions (PostGIS, FDWs, untrusted PLs) are deliberately left out.
    • Reset in one click — bad schema experiment? Click Reset database and we drop and recreate the DB with the same credentials, empty. Your sandbox's DATABASE_URL keeps pointing at it — no reconfig.
    • Email me the password — the password is never shown in the UI after provisioning, but a single click on the DB card emails your current credentials (host, port, user, password, and a ready-to-paste connection string) to your registered address, so you can hook up psql, DBeaver, TablePlus, Metabase, or your favourite BI tool. Rate-limited to once a minute per member.
    • Rotate password — if you suspect a credential has leaked, click Rotate password to generate a fresh random password without touching your data. The new password is written into the encrypted blob immediately and picked up by every new sandbox you open; currently-running sandboxes keep the old password in memory until you start a new chat. Follow it with Email me to retrieve the new credential.
    • Durable and backed up — data persists across sessions and automated snapshots of the shared instance cover every member's database for free.
    • Encrypted at rest — your connection password is stored encrypted alongside your other credentials and never shown to the UI after provisioning.
  • featureAWS credentials 🔑Settings > Credentials now has an AWS integration: paste your Access Key ID + Secret Access Key + region (eu-west-1 by default) and the workspace sandbox gets the standard AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION env vars set automatically. boto3 is pre-installed, so "list my S3 buckets", "query this Athena table", or "invoke this Bedrock model" all work out of the box. Long-lived IAM user access keys only for now — proper sts:AssumeRole / session-credential support is on the roadmap.

v2.8.1

April 23, 2026
  • featureDashboard links that never break 🔗 — the URLs the assistant hands you when it calls serve_artifact (interactive dashboards, DuckDB-wasm apps, static HTML) used to point straight at your sandbox — which meant the moment it idled off (~1h), the link errored out until someone manually woke the workspace. Fine for you; confusing for anyone you shared the link with. That era is over:
    • Permanent URLs — the link you share (or bookmark) is a branded assistant-ui URL, not an E2B host. No more 24-hour expiry sneaking up on Monday-morning reopens of a Friday-evening dashboard.
    • Auto-resume on click — if the workspace is paused, opening the link transparently wakes it and the dashboard loads 1–3 seconds later. No manual resume, no "Workspace paused" error page.
    • Org-scoped sharing — anyone in the same organisation as the thread owner can open the link. Non-members still get a clean "Access denied" message instead of a broken page, and thread-owner identity is shown up-top with name + avatar so viewers know whose workspace they're looking at.
    • Stays fresh while you watch — leave a dashboard tab open all afternoon and it keeps working, even across multiple idle-pause cycles. A background refresh silently rotates the underlying signed URL every few minutes.
    • Short-lived tokens under the hood — the signed sandbox URL lives only inside the iframe and rotates every 5 minutes, so leaks from browser history, referrer headers, or shoulder-surfing the address bar are worthless. Copy-link always gives you the permanent, auth-protected URL.
    Heads-up: this applies to newly-generated dashboard links. Old direct-E2B links your past self shared in Slack still expire on the old schedule — regenerate them from the thread to get the new behaviour.

v2.8.0

April 23, 2026
  • featureAuto ✨ — a new virtual model in the picker that routes each turn to the right concrete model for the task. Short prompts with no tools or files go to Claude Haiku (cheap and snappy). Routine chats and tool calls go to Claude Sonnet. Files, multi-tool turns, long prompts, or explicit "analyse / prove / derive / step-by-step" language escalate to Claude Opus. You'll see which concrete model actually ran right next to the assistant's reply ("Auto → Sonnet 4.6"), and billing follows the model that did the work — no surprise premium charges. Pick Auto from the model selector and leave the driving to the router.
  • featureCost guardrails 🛟 — a single toggle in Settings > Extension that turns on cost-aware guidance in two places:
    • Retrospective nudge — when a premium ($$$) turn finishes short (under ~6,000 chars in, under 500 tokens out, no tool calls), a small amber banner appears under the reply showing what this turn cost and what a cheaper model would have cost for the same token shape, with a one-click Switch button that flips the rest of the thread. The cheaper suggestion stays in-family: Opus and Sonnet 1M nudge to Sonnet, GPT-5 Pro nudges to GPT-5 Thinking. Dismissible per message.
    • Responsibility warning — picking a $$$ model as your thread-start default now shows a red card right under the model dropdown, spelling out the cost commitment and suggesting a $$ model as the default with premium reserved for hard turns via the sidebar picker. A ($$$) suffix is also added to premium entries in the dropdown so the tier is visible before you commit.
    Off by default — flip the switch on from Settings when you want the UI watching your back on cost. The per-message cost tooltips (Show cost estimates) live on their own switch right above it, so you can have numbers without nudges, or nudges without numbers, or both.
  • featureCost tiers on every model 💸 — the model picker now shows a tiny $ / $$ / $$$ pill next to each model so you can see at a glance what you're picking. Premium models also carry an amber caption spelling out what to avoid them for (drafting emails, rewriting, short translations — a $$ or $ model does those just as well at a fraction of the cost). Matching Sonnet-vs-Opus guidance now lives in Settings > Extension too.
  • featureCaveman mode 🦴 — three new behavioural roles in the Personalisation > Role tab that cut 65–90% of output tokens without losing a shred of technical accuracy. Because why use many token when few token do trick.
    • Caveman — drops articles, filler, pleasantries, and hedging. Fragment-friendly. "Inline obj prop. New ref. Re-render. useMemo fix."
    • Caveman Ultra — telegraphic. Abbreviates common terms (DB, auth, fn, conn, repo, deps…), strips conjunctions, replaces "causes / leads to / then" with arrows. One word per idea where possible.
    • Caveman 文言 (Wenyan-Ultra) — responds in ultra-compressed Classical Chinese, the most token-efficient written language humans ever invented, with code / commands / URLs / error messages kept verbatim in their original language and mixed inline. Roughly 80–90% character reduction versus English.
    Code, commands, file paths, numbers, identifiers and API names stay exact in all three tiers — only the fluff dies. Destructive confirmations and security warnings auto-drop back to plain prose so nothing important gets lost in the compression. Adapted from the excellent caveman Claude Code skill.
  • improvedYour default model stays put 📌 — picking a different model for a single thread used to silently get promoted to your new default as soon as you sent the first message. It doesn't anymore. Your default changes only when you change it from Settings > Extension; every other pick is a one-off that affects only the thread you're in. New, empty threads always start on your saved default.
  • featureModel shortcuts with @alias — type a short alias at the start of a message (e.g. @opus design a provably zero-downtime rebalance plan for our 5-shard orders table, flagging every invariant it would violate, @haiku tl;dr this, @flash summarise) to route that turn to the aliased model without opening the picker. The alias is stripped from what actually gets sent, so the model sees just your prompt. Choose how it behaves in Settings > Extension > Model commands behavior:
    • Permanent (default) — flips the thread's picker too, so follow-ups stay on the new model.
    • One-off — routes this one message only; the picker snaps back afterwards.
    Aliases are shown as faint @xxx pills next to each model in the picker so they're always discoverable.
  • featurePer-thread workspace config 🧰 — the Capabilities modal in the sidebar composer now has a Workspace tab where you can, for each thread:
    • Pick the workspace image — Standard (1 CPU / 1 GB) for most tasks, or Heavy (2 CPU / 2 GB) for bigger dataframes, ML models, and multi-process pipelines.
    • Flip durable vs ephemeral independently of your global default — some threads benefit from a clean slate each time; others want files and state to stick around.
    • Destroy the current sandbox inline — the trash icon next to the refresh button on the workspace block in the chat kills it cleanly. The picker unlocks immediately so you can switch image or lifecycle before the next turn spawns a fresh sandbox.
    New threads inherit your defaults from Settings > Workspaces, where you can now set the default image too (not just durable/ephemeral); existing threads keep whatever they had.
  • improvedBigger workspace uploads 📎 — the per-file cap for workspace uploads is now 200 MB (up from 100 MB), so larger datasets, PDFs, and exports go straight in without the old "file too large" wall.
  • improvedHuge attachments no longer choke the chat 📊 — attaching a massive Excel, CSV, PDF, or PowerPoint to a message used to force the server to parse the whole thing into memory just to show a small preview, which could slow replies or fail outright. The preview path is now bounded on every side:
    • Excel — only the first 10 sheets and first 100 rows per sheet are read; skipped sheets and rows are called out in the preview.
    • CSV — the parser stops after 200 rows instead of materialising the entire file just to slice it.
    • PowerPoint — capped at 50 slides in the preview, with the rest called out.
    • Anything genuinely too large (e.g. a 100 MB PDF, 50 MB CSV, 40 MB PPTX) now shows a clear note telling the assistant to open the file in the workspace with the right tool (pd.read_excel, pd.read_csv, pdfplumber, …) — so big files land in the right tool for the job and the rest of the thread stays snappy.
  • featureYour own Google Cloud & Salesforce creds 🔑 Settings > Credentials now lets you paste a personal Google Cloud service-account key (for BigQuery + Google sandbox tools) or a Salesforce JWT Bearer bundle (consumer key + username + private key) that takes precedence over your organisation's shared credentials. Each field individually falls back to the shared value if left blank, so you can override just the piece you want (typically the Salesforce username) without re-pasting the private key.

    Heads up — this isn't the end state. Pasting service-account keys and JWT bundles is a stopgap so teams that need personal creds today aren't blocked. The real answer is proper Sign in with Google and Sign in with Salesforce OAuth2 flows — one-click, no key juggling, tokens rotated for you — and both now carry a "coming soon" banner on their respective credential panels. We shipped the paste-in form because we needed it working now; we'll replace it with the OAuth flow once it lands, and your pasted creds will keep working in the meantime.

v2.7.4

April 22, 2026
  • featureYou own your profile 🪪 — the assistant now reads your full profile (name, role, bio, email signature, timezone — everything in Settings > Profile) to tailor its replies, but it can't change any of it. If you want to update your bio or signature, edit it yourself in Settings.
  • featureDurable workspaces are now on for everyone 💾 — no more opt-in. Every workspace now pauses when idle and resumes automatically on next use, so your files and state are always there when you come back to an old thread. You can still switch a workspace back to ephemeral from Settings > Workspaces if you prefer the old behavior.
  • improvedStay signed in for real 🔐 — you were being bounced back to the SSO screen roughly every 24 hours, right in the middle of long analyses. Not anymore. The extension now silently re-uses your active SSO session in the background whenever a token needs refreshing, so unless you explicitly sign out you stay signed in for weeks. If the token briefly can't refresh (network blip, server rolling), you see a calm "Reconnecting your session — your chat is safe" banner instead of a cryptic "Connection lost" error and a full SSO round-trip.
  • improvedChat that actually recovers 🔌 — a top-to-bottom pass on resilience. When the server redeploys, the network blips, your laptop wakes from sleep, or the model is overloaded, the chat now picks up where it left off instead of stranding you on a red error banner. In practice:
    • If a reply drops mid-stream, the extension quietly reconnects and resumes the same answer — no duplicated tokens, no lost partials.
    • If the provider is overloaded (Anthropic 529), the banner now explains what’s happening and tells you to wait a few seconds before clicking Retry, instead of a cryptic "Model error: Overloaded".
    • If we push a deploy while you’re in the middle of a turn, you see "Server restarting — reconnecting to a fresh instance…" instead of a connection-lost scare.
  • improvedStop really stops — clicking the stop icon now cancels the model generation server-side (not just the socket), so you stop paying for tokens you won’t read. Whatever was written before you clicked is preserved cleanly as the assistant reply.
  • improvedRetry button that just works — after an error, clicking Retry now always succeeds (or surfaces a real reason). Previously it could silently fail with a duplicate-id crash or get stuck because the retry request was missing its auth token. Both fixed.
  • fixA handful of smaller fixes
    • Fixed a race between the sidebar and the service worker that could (rarely) invalidate your session family and force a fresh SSO login. Token refreshes are now serialised through a true atomic lock across all extension contexts, so the sidebar, the standalone page, and background requests can’t trip over each other.
    • Your profile is no longer overwritten every time you sign in again. Custom profile pictures, edited display names, and assigned roles are preserved across sign-ins instead of being reset to whatever Auth0 sent.
    • Failed or aborted replies no longer leave zombie assistant bubbles in the thread history.
    • Fixed the typing animation "ghosting" across messages — after you stopped a reply and started a new one, both bubbles would animate as if still typing. Only the currently-streaming message animates now.
    • Fixed a 401 that could hit retries on long-lived sidebars — the chat transport now refreshes its auth token on every request the same way the rest of the app does.

v2.7.2

April 21, 2026
  • featureAutomations are live — agents can now run on their own, not just when you ask. Pick how they fire and they'll handle the rest in their own dedicated thread, so you can always read back exactly what happened.
    • On a schedule — "every weekday at 9am", "first of the month", whatever cadence fits. The agent wakes up, does the task, and is there waiting for you when you check in.
    • From a webhook — POST JSON to a unique URL and the agent reads the payload and acts on it. Great for connecting Zapier, n8n, GitHub Actions, or anything else you already have.
    • From an email — every automation gets its own email address. Forward a message there and the agent reads it (subject, body, attachments) and replies.
    • From a /command — bind an automation to a shortcut so triggering it is a three-keystroke affair.
    • Run history for everything — every fire is recorded with when it happened, how long it took, whether it succeeded, and what the agent produced. Replay, inspect, or pick up a thread to keep chatting with the result.
    • Optional email notifications — flip a switch per automation and get an email when a run finishes.
  • featurePersonal preferences in one place — pick your timezone (so automations can schedule in your local time), save an email signature, write a short bio, choose whether the Thinking reasoning block is expanded by default, and toggle per-message cost estimates. All under Settings > Profile.
  • improvedBigger workspaces 🔥 — you've been putting them through their paces, so we've bumped sandbox capacity across the board. More memory, more disk, more room for agents to run heavy jobs without bumping into limits.
  • improvedSmarter long threads — instead of hitting the model's memory ceiling and breaking, long threads now quietly summarise older messages into a rolling memory and keep going. Where compaction happens, you'll see a small "Memory compacted" note on the message so you know the summary just refreshed. Older messages stay in the thread for your reference — only the model's working memory is condensed.
  • improvedReleases page redesign — the page you're on now. Cleaner hero, product guide and feedback links up top, centred timeline, tasteful ❤️ button on each release. We read every heart.
  • fixLong provider names no longer push the sign-in buttons off-screen — labels truncate cleanly with ellipsis.

v2.6.0

April 20, 2026
  • featureCommands — the things you type every day, now as a shortcut. Type something short like /ty or /followup in any text field on any website — Gmail, Slack, Jira, LinkedIn — and it expands into the full message. Stop re-typing the same replies, signatures, and boilerplate.
    • Manage them from Settings > Commands. Stuck on what to write? Draft a command with AI from a quick description.
    • Share commands with your whole organisation so the team stays consistent.
    • Off by default. Flip the master switch in the extension sidebar when you're ready — password and one-time-code fields are always skipped.
  • featureCommands can ask you for the details — add fields like "recipient name" or "deadline" to a command, and a tiny form pops up right next to your cursor when you trigger the shortcut. Personal fields (your name, email, role, organisation) auto-fill from your profile, so you never have to type your own signature again.
  • featureCommands that think — let the AI generate the text for you. Perfect for shortcuts like rewrite this more concisely, translate to French, or summarise the selected text — just highlight, type the shortcut, and keep working.
  • featureRequest a feature — there's now a button at the top of this page. It opens a short form that goes straight to the product team with your name attached, so we can follow up. The best things we've shipped all started there — please use it.
  • featureDatabricks integration — connect your Databricks workspace from Settings > Credentials. The assistant can run SQL queries, explore Unity Catalog tables, and access workspace resources using your personal access token.
  • improvedEvery settings page has a detail drawer — click a workspace, skill, credential, or agent and a side panel slides in with everything about it in one place, plus the actions you need (pause, resume, disconnect, delete). No more hunting through nested pages for the right button.
  • improvedSettings that feel the same everywhere — every page in Settings now shares the same header, info card, and toolbar, so once you know one, you know them all.
  • improvedLess disruptive extension updates — new versions no longer reload in the middle of what you're doing. When an update is ready, you'll see a small notice with an Update button so you can install on your own terms — and if you ignore it, the extension quietly upgrades itself next time your computer is idle.
  • improvedYour answers survive our deployments — when we ship a new version of the assistant, ongoing chat completions are no longer cut off mid-sentence. The server now finishes any answer it's currently writing before shutting down, and if a connection does drop, the extension shows a small "Connection lost, resuming…" notice and picks up automatically — so you get your full answer instead of a truncated one.
  • fixSign-in hiccups in the extension are fixed. Expired tokens now refresh silently in the background, so chat and commands keep working without asking you to re-authenticate.

v2.5.1

April 17, 2026
  • featureDrag & drop — drag threads onto project folders to move them, and drag project folders to reorder them.
  • featureTool details toggle — tool input and output are now collapsed by default for a cleaner chat view. Toggle this in Settings > Extension.
  • fixFixed message cards overlapping the scroll navigation arrows.
  • fixFixed model/agent selector categories being inaccessible on narrow sidebars — replaced horizontal chip row with a scrollable side navigation.

v2.5.0

April 16, 2026
  • featureProjects — organise your threads into folders.
    • Create, rename, and delete projects from the sidebar
    • Move any thread into a project via right-click
    • Share a project with your entire organisation or specific people
    • Shared projects are read-only for viewers — they can browse but not modify
    • Visual icons distinguish owned, shared-with-org, and shared-with-user projects
    Suggested byAAnonymous
  • featureSidebar panel — a ChatGPT-style sidebar to manage all your threads.
    • Projects, pinned threads, and recent history in one unified panel
    • Search across everything — projects auto-expand to show matching threads
    • Right-click context menus for rename, pin, share, move, fork, and delete
    • New threads and name changes appear in real time via WebSocket
  • featureFork to my threads — duplicate any shared thread into your own history with a single click, so you can continue it independently.
  • featureGitHub credentials via OAuth2 — connect your GitHub account with a single click. No more copying personal access tokens — just authorize and go.
  • featureClaude Opus 4.7 — now available as a model option. Anthropic's most capable model for complex reasoning, long-context tasks, and nuanced writing.
  • featureTool input & output — tool calls now display both the input parameters and the returned output directly in the chat, so you can see exactly what was sent and what came back.
  • featureMicrosoft Teams & Mail integration — the workspace can now read and send emails, list Teams chats, and send messages in chats and channels via Microsoft Graph.
    • New permissions: Chat.ReadWrite, ChatMessage.Send, ChannelMessage.Send, Mail.ReadWrite
    • Re-authorization required — go to Settings > Credentials and reconnect your Microsoft 365 account to grant the new permissions
  • improvedModel & agent selector — replaced the bottom drawer with a clean, centered modal for picking models and agents.
  • improvedFeedback — downvote any individual message to submit feedback with a reason, directly from the chat.
  • improvedCleaner interface — unified icon styles across the sidebar and prompt bar, streamlined navigation rail, and a refreshed profile popover showing your org, plan, and extension version.

v2.4.0

April 16, 2026
  • featureDurable Workspaces — workspaces can now pause when idle and resume automatically. Enable it from Settings > Workspaces.
    • Pick up exactly where you left off — your files, data, and progress are still there when you come back
    • No more re-uploading files or re-running setup steps when resuming an old thread
    • Works seamlessly — just keep chatting and the workspace wakes up on its own
    • Pause and resume workspaces manually from settings when you want full control

v2.3.0

April 15, 2026
  • featureAgent builder — create custom AI agents tailored to your needs, directly from Settings.
    • Define a name, icon, system prompt, model, and tools
    • Choose "Base + custom" mode to inherit formatting, safety, and citation rules automatically — or go fully custom
    • Pick a behavioral role (General, Agentic, Writer, Explorer, Researcher, Executive)
    • Use "Draft with AI" to generate a first draft of your prompt from a short description
    • Auto-generate a description and conversation starters with one click
    • Duplicate agents to quickly create variants
    • Preview the full combined prompt in real-time
    • Your agents appear under "My Agents" in the extension's agent picker
  • featureThread memory — the assistant now remembers context from earlier in long threads, even after older messages fall out of the context window.
  • featureSkills catalog — browse your organisation's skills library from the new Skills settings page, with direct links to source and commit info.
  • featureAnalytics dashboard — view model usage, tool popularity, top users, and daily message trends. Toggle between 7, 30, and 90-day views with separate breakdowns for you and the whole organisation.
  • improvedSandboxes page now shows total running sandboxes across the organisation with a limit indicator.

v2.2.5

April 13, 2026
  • featureScroll navigation — quickly jump to the top or bottom of long threads with new scroll buttons in the chat area.
  • featureWorkspace folder navigation — click into directories, browse their contents, and navigate back with breadcrumb path and ".." entries.
  • improvedWorkspace uploads, downloads, and deletes now operate relative to the current folder.
  • improvedWorkspace — leaner, more token-efficient code generation. The assistant now writes shorter, tighter code by default with no unnecessary comments, boilerplate, or verbose variable names.
  • improvedWorkspace — extended execution timeouts from 5/10 minutes to 30 minutes for both Python and shell commands, so long-running data jobs complete without interruption.
  • improvedWorkspace — clear timeout error messages. When a command or script exceeds the time limit, the assistant now explains what happened and suggests how to fix it instead of showing a raw error.
  • fixFixed long-running workspace commands dropping with "network error" — added SSE keepalive pings to prevent idle connection timeouts from load balancers and proxies.

v2.2.2

March 27, 2026
  • featurePrompt queue — send multiple messages while the assistant is still generating. They are queued and executed sequentially once the previous response completes.
  • featureQueue indicator — a small badge next to the send button shows how many prompts are queued, with one-click clear.

v2.2.1

March 26, 2026
  • featureSubagents (Experimental) — the assistant can now delegate complex, multi-step tasks to isolated subagents that run in the background and share your workspace. This is an early feature and we're still evaluating how well it works.
  • featureSubagent live progress — see when a subagent is thinking, which tool it's running, and when it completes, all streamed directly into the chat.
  • featureWorkspace — LucidChart integration support

v2.1.3

March 25, 2026
  • featureWorkspace — Google BigQuery access with auto-configured GCP service account credentials
  • featureWorkspace — Salesforce access for SOQL queries and REST API (accounts, contacts, opportunities)
  • featureWorkspace — Confluence access to search and read pages, spaces, and comments
  • featureWorkspace — Jira access to search issues, projects, and boards
  • featureWorkspace — GitHub access to repos, issues, pull requests, and code (including private org repos)
  • featureWorkspace — Microsoft 365 access via Graph API (OneDrive, SharePoint, Outlook, Calendar)
  • featureWorkspace — n8n access to trigger automation workflows and webhooks
  • featureWorkspace — OpenAI API access for embeddings, completions, and other AI tasks
  • featureWorkspace — Google Search and Google Scholar via SerpAPI
  • featureWorkspace — web scraping via Browserless to fetch rendered content from any public URL
  • featureWorkspace — OpenAlex for publications, authors, institutions, topics, and publishers
  • featureWorkspace — PubMed / PMC for biomedical literature search, citations, abstracts, and full text
  • featureWorkspace — Dimensions for publications, grants, clinical trials, and patents
  • featureWorkspace — Crossref for DOIs, reference metadata, and citation counts
  • featureWorkspace — ORCID for researcher identity, publication lists, and affiliations
  • featureWorkspace — ROR (Research Organization Registry) for institutional data
  • featureWorkspace — DOAJ for open-access journal directory and compliance metadata
  • featureWorkspace — bioRxiv / arXiv for preprints and emerging research
  • featureWorkspace — NIH Reporter / CORDIS for funded grants by topic, region, and institution
  • featureWorkspace — Sherpa Romeo for publisher open-access policies
  • featureWorkspace — Altmetric for social and media attention per article
  • fixFixed AI_TypeValidationError — resolved type validation errors that could cause tool calls to fail