FrontiersOS logo

FrontiersOS

What’s new — features, improvements and fixes.

Guide Learn how to get the most out of FrontiersOS.
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.11.5

July 20, 2026

“Search finally looks inside your conversations, your workspaces, agents and models are one SSH away, and your workflows get a proper home.”

  • featureSearch across every conversation 🔎 — the thread search box now looks inside your chats, not just at their titles. Type a couple of characters and we search message content, thread names and summaries, highlight the matching words, and show a snippet from the message that hit. It’s wired up everywhere you browse threads — the extension sidebar and chat history, Settings > Threads, and a project’s Threads tab (scoped to that project). You only ever search threads you own or have editor access to. This is a deliberately simple first version — we’ll keep an eye on how it performs and revisit the approach if it doesn’t scale well.
  • featureSSH into FrontiersOS — your workspaces, agents and models, from your own terminal 🔑 — a new Settings > Security page lets you register the public half of an SSH key, then reach three kinds of things with a typed username, ssh <kind>:<id>@ssh.frontiersin.io:
    • A workspace shellssh workspace:<workspace-id>@ssh.frontiersin.io drops you into the same sandbox your assistant uses (files, packages, secrets all there). A paused workspace resumes automatically, and you can run one-off commands too: ssh workspace:<id>@… 'ls -la'. Needs editor access.
    • A chat with an agentssh agent:<agent-identifier>@ssh.frontiersin.io opens an interactive conversation right in your terminal — or pipe a one-shot prompt for scripts: ssh agent:<id>@… 'summarize the Q3 report'.
    • A chat with a raw modelssh model:<model-identifier>@ssh.frontiersin.io, the same REPL without an agent’s instructions or tools.
    Chats over SSH are real conversations — saved as threads you can reopen later — and the REPL supports /new, /help and /exit, with Ctrl-C to interrupt a reply. Add a labelled key (paste your ~/.ssh/id_ed25519.pub), see its fingerprint and last-used time, and remove it anytime — public keys only, we never ask for your private key. The same page also lists the connected accounts you sign in with.
  • featureYour workflows, now in Settings ⚙️Settings > Workflows grows from an explainer into a live hub. It lists the workflows from your organisation’s n8nsearch them, see each one’s Active/Inactive badge, whether it’s personal or a team project and when it was last updated, and open it in n8n — then click a row for its details. A new Connect n8n button mints your personal API key automatically so the assistant can open and run them; just sign in to n8n once first.
  • featureThe Desktop App now runs on macOS 🍎 — the Desktop App (your commands, forms and {ai} snippets expanding in any native app — Outlook, Teams, Word, Slack, your IDE) is no longer Windows-only. The macOS build is signed, notarized and auto-updating, so once you’re on it new versions install themselves. Grab it and see what’s supported under Settings > Desktop.
  • improvedA cleaner Credentials page 🧭Settings > Credentials is redesigned around a searchable list of integrations with clear status pills. Click any one to open a panel explaining what it unlocks, whether it uses your own account or a shared fallback, and to connect or disconnect — no more hunting through a long form.
  • improvedMarketplace is now Plugins 🧩 — the skill Marketplace has a clearer name and home at Settings > Plugins. Same thing — the public skill libraries the assistant can browse and borrow from for inspiration — just easier to find.
  • improvedShare a project without leaving the sidebar 🤝 — the extension gains a Share project dialog: search your teammates by name or email, add them as a Viewer or Editor, see who already has access, and revoke it — all inline. The web app’s project Sharing page now uses the same invite dialog for a consistent flow.
  • fixGPT-5 replies come back when the workspace is on 🐍 — GPT-5 models (including Thinking and Pro) could return an empty response whenever the workspace tool was enabled: OpenAI rolled out a change that reserves the name of our built-in python tool for its own use, so their API started rejecting those turns before they even began — which showed up as a reply that ended without producing any output. We now expose the code-execution tools under OpenAI-safe names for these models, so GPT-5 chats with the workspace on work normally again. Other models and all of your older conversations are unaffected.

v2.11.4

July 17, 2026

“Projects grow into a proper workspace — shared knowledge, memory and instructions behind every thread — and a Catalog to see everything the organisation is building.”

  • featureProjects become a real workspace, not just a folder of chats 🗂️ — every project now has its own home under Projects with a proper set of tabs, so the context you build up is shared by every thread inside it — and, when you choose, by your teammates too.
    • Knowledge the assistant actually reads — a Context tab where you drag in files or paste links; each one is read into text and injected into every chat in the project, with a live capacity meter so you can see how much of the budget you’re using.
    • Instructions & memory that stick — set per-project Instructions (a system prompt applied to every thread) and the assistant keeps durable memory — facts it remembers across all of the project’s threads, not just the current one.
    • Threads & scheduled work in one place — browse every thread filed under the project, and set up scheduled automations that run against it.
    • Share it by role — a Sharing tab lets the owner invite specific people as a Viewer (browse the project’s details, context and threads) or an Editor (also change details, context, instructions and memory). Only the owner can delete the project or manage sharing, and projects stay private until you say otherwise.
  • featureA Catalog for everything your organisation is building 🔭 — a new Catalog portal gives you one place to see what’s being built across the org, with a tab per kind: Agents, Skills and Commands for everyone, plus Automations, Projects and Artifacts & Apps for supervisors. Open any entry to see who owns it, how much it’s used and the details behind it — so good work is easy to find, reuse and rate instead of getting buried in individual threads.
  • improvedGive any thread a name that sticks ✏️ — a conversation no longer has to keep whatever title it was born with. In the extension you can now rename a thread two ways: right-click it in the sidebar → Rename, or click its title in the chat header to open Thread details, where you can also file it under one of your projects. The new name shows up instantly across every open window. Only the thread’s owner can rename it.
  • improvedFork a thread and branch off without touching the original 🍴 — copy a conversation into a brand-new thread that’s yours, leaving the original untouched. Two ways to do it: right-click a read-only shared thread → Fork to my threads to continue someone else’s conversation in your own space, or hover any assistant reply and hit Fork from here to branch off from a specific point (everything up to that message comes with you). The fork appears in your sidebar right away and you’re dropped straight into it.
  • improvedEdit a message and pick up from there ✍️ — hover one of your own messages and choose Edit message to rewrite it inline. Saving rewrites that turn, drops everything that came after it, and re-runs the assistant from that point — so you can correct a typo or change your ask without starting a whole new chat. Your attached files are kept; only the text is replaced.
  • improvedDictate in your language 🌍 — the chat mic and the Voice tab now let you pick the transcription language instead of assuming English. Choose from Auto (let it detect), English, French, German, Italian, Spanish, Portuguese, Dutch, Japanese or Chinese from the caret next to the mic (or the dropdown in the Voice tab). Your choice is remembered and shared between chat and Voice, and switching mid-dictation keeps whatever you’ve already said in the box.
  • fixChats no longer stop dead with no explanation 🩹 — when a turn errored, was interrupted, or came back empty, the stream used to just stop with no message and no error — nothing was saved, so on reload the reply had simply vanished. Now we persist a clear marker in its place (“This response ended without producing any output” or “…was interrupted before it finished — please retry”), so the outcome survives a reload and any feedback you leave points at a real message. These silent mid-stream failures are now reported to our monitoring too, so we catch them faster.
  • fixAn over-sized image can’t sink the whole message 🖼️ — attaching an image that was too large (even after compression), unreadable, or no longer downloadable used to make the model reject the entire request with a generic error, taking your whole message down with it. Now the offending attachment is dropped and replaced with a short note saying which file was skipped and why, so the rest of your message goes through. We also hardened thread naming against odd pasted text (stray characters from PDFs/OCR) that could crash the save.

v2.11.3

July 14, 2026

“Talk back to the things the assistant builds, give your commands a real filing cabinet, and a couple of sharp edges filed down.”

  • featureComment on any artifact the assistant serves 💬 — every served artifact and app now has a Comments panel. Open one, hit the new Comments button in the header, and a side panel slides in where you can leave a comment, reply to someone in a thread, and delete your own. It’s the natural place to ask a question, flag something, or sign off on a dashboard without leaving the page it’s about.
    • Scoped to the thread — comments live with the artifact’s owning thread, so only people with access to that thread can read or post them.
    • Pinned to the exact thing — a comment is tied to the specific served path you’re looking at, so feedback stays attached to the right artifact.
  • featureCommands get a proper filing cabinet — and a per-person on/off switch 🗂️Settings > Commands swaps the flat row of folder chips for a real tree and reworks how commands turn on.
    • Two roots, nested folders — everything lives under Personal (private to you) or Organisation (shared with everyone). Build nested folders under either, rename or delete them inline, and move a command between folders or across roots with the new Move action — publishing or un-publishing it in one step. The editor’s old folder dropdown plus “publish” checkbox becomes a single Location picker, so a command’s folder and who-can-see-it can never drift apart. Unfiled commands land in an auto-created Personal folder.
    • You choose what’s active — enabling a command is now per person: switch on the ones you want and they join your shortcut index, leave the rest off. It works the same whether you wrote the command or someone shared it — so one person toggling a shared command never changes it for anyone else.
    • No more acronym clashes — because activation is per-person, two people can point the same trigger (say :fc) at different commands, and you can rebind a shared command to your own alias when its acronym is already taken in your list.
  • improvedCommands can format dates however you like 📅 — the format option on a {formdate} field now actually applies, and {=today()} takes an optional format too. Mix tokens like YYYY, YY, MM, DD, MMM, HH and mm — so {formdate: name=when; format=YYMMDD} renders 260714 and {=today("DD/MM/YYYY")} gives 14/07/2026. Previously the format was ignored and every date came out as YYYY-MM-DD.
  • fixVolume mounts can’t clobber your workspace root 💽 — when mounting a volume from Workspaces > Configuration, pointing it at the workspace home (/home/user) would have hidden the sandbox’s own files. That path is now rejected with a clear inline error, so a mount can’t accidentally shadow your working directory.
  • fixDesktop keeps rich-text snippets on one line 🖥️ — in the Desktop app, expanding a command into a rich-text field (e.g. a Salesforce note) could shove the inserted text onto its own new line thanks to block-level clipboard markup. Snippets now paste inline, right where your cursor is.

v2.11.2

July 9, 2026

“Your workspaces get a proper control room — persistent volumes, your own secrets, hands-on thread management, and a feedback lens on who&rsquo;s shaping the product.”

  • featureWorkspaces get a proper control room 🖥️Settings > Workspaces is no longer one long page. It now opens on a clean Overview of your own active and paused sandboxes (broken down by image), with three more tabs alongside it:
    • All workspaces — browse every workspace you own, search by thread, id or template and filter by state (running/paused), lifecycle (durable/ephemeral) and image, then open any one straight in the extension. A standing reminder that paused workspaces left unused for 90 days are cleaned up keeps surprises away.
    • Configuration — choose which provider/cluster hosts your workspaces and mount volumes (below) onto them.
    • Manage — admins get a live, org-wide count of active workspaces across every configured provider.
  • featureVolumes — storage that outlives any sandbox 💽 (beta) — a new Settings > Volumes page introduces persistent volumes: first-class storage that keeps its files even after every workspace using it is paused or destroyed. Create, browse and delete them here, then mount one onto your workspaces from Workspaces > Configuration. Volumes are provider-scoped — they live on the cluster they were created on and can only be mounted by sandboxes there — and available on providers that support them. Each volume holds up to 4 exabytes — that’s roughly 4 billion cat videos, the entire internet circa 2004, or roughly one all-hands-meeting PowerPoint — you know the one: 400 slides, 12 embedded 4K videos, a hi-res photo of every single employee, and an org chart so large it has its own weather system — so go ahead, we dare you to fill it.
  • featureBring your own secrets to every workspace 🔐 — the new Settings > Secrets page lets you store custom KEY=VALUE secrets that are injected as environment variables into every workspace you run — so anything the assistant runs (Python, the shell tool, dev servers) can read them via os.environ["MY_KEY"] or $MY_KEY. They’re per-user, encrypted at rest and write-only (you see a name, never the value), and names reserved by built-in connections (e.g. OPENAI_API_KEY) are rejected so a secret can’t shadow one. Changes apply on the next tool call in each active workspace.
  • improvedSee who’s shaping the product 💬Settings > Insights > Builders gains a Feedback tab that tracks the people giving feedback: headline counts of feedback givers, total feedback and average per giver, a breakdown by source, and a month-by-month trend of feedback submitted alongside the new givers weighing in for the first time.
  • improvedOpenAI models move to GPT-5.6 🤖 — the three OpenAI entries in the model picker now run the latest GPT-5.6 family under the hood: GPT-5.6 Luna on gpt-5.6-luna, GPT-5.6 Terra on gpt-5.6-terra, and GPT-5.6 Sol on gpt-5.6-sol. All three now expose the full reasoning-effort range — none, low, medium, high, xhigh and the new max — with Luna gaining a reasoning-effort selector for the first time. Same picker entries, same cost tiers, same image / PDF / inline-file support — no action needed on your side.
  • soonOne workspace, many threads 🔗 — right now every thread gets its own sandbox. Soon you’ll be able to reuse the same workspace across multiple threads, so the files, installed tools and state you build up in one conversation are there waiting in the next — no re-cloning, no re-setup — while each thread keeps its own chat.

v2.11.1

July 6, 2026

“A quick follow-up to the big 2.11 drop — a home for your projects, threads and artifacts, notifications you can tune (with tasks landing in them), a full activity trail on every task, workflows that pause for a human, and a batch of fixes.”

  • featureManage your projects and threads in Settings 🗂️ — two new pages give you a proper home for everything you’ve created. Settings > Projects lets you create and share the folders that group related chats, and Settings > Threads lists every conversation you’ve had — search them, rename, file one under a project, star the ones you return to, or clean up the rest. You can only rename, move or delete threads you own, and deleting a project simply un-files its threads rather than removing them.
  • featureA home for the artifacts you’ve served 📦 — the dashboards, reports and pages the assistant publishes from a thread (via serve_artifact) now have somewhere to live. A new Artifacts tab in the extension sidebar lists everything you’ve served — click any one to reopen it — and Settings > Artifacts gives you the full view: search by title or path, see the thread each came from and how many times it’s been opened. There’s nothing to create here — artifacts appear automatically the moment an agent serves one.
  • featureEvery task now keeps a full activity trail 🧾 — open any task in Settings > Tasks and a new Activity section shows its complete, timestamped history — created, field changes, status decisions, completed, delegated, deleted, and even the automated resume callback firing — with who did it (a person, the assistant, or an automation) on every line. The trail is append-only and survives even if the task is later removed.
  • featurePause an automation on a human, then pick right back up ✅ — the new FrontiersOS n8n nodes can now hand a decision to a person and wait. A workflow creates a task (typically an approval or review), parks itself, and the moment someone approves, rejects or completes that task — from the web app, the sidebar, or the assistant — the workflow resumes automatically right where it left off, with the outcome and who decided it. True human-in-the-loop, no polling.
  • featureNotifications you can tune — and tasks that reach you 🔔 — the old Inbox is now Settings > Notifications, the single place everything that needs your eyes lands, live. Two upgrades in this release:
    • Task activity now shows up here — get notified when a task is assigned to you, an approval is waiting on your decision, delegated work moves to review, or one of your tasks is approved or rejected. Each one deep-links straight to the task so you can act without hunting for it.
    • Choose how each kind reaches you — a new Preferences panel lets you decide, per category (automations, tasks, messages, system), whether it arrives in-app, as a live toast, or by email. Turn a category off entirely, or just silence its pop-ups. Email delivery is coming soon — your choice is saved and applied to every notification now.
  • improvedStar a thread once, see it everywhere instantly ⭐ — pin (or un-pin) a conversation from Settings > Threads and it now hops in or out of the Pinned list in the extension sidebar in real time, on every open window — no refresh, no waiting for the next sync.
  • improvedFind the right assignee, even in a big org 🔍 — the Assignee picker in Settings > Tasks used to only load the first slice of members, so people further down the list were impossible to pick. It now searches your whole member directory as you type, and always keeps the task’s current assignee visible even when they fall outside the latest results.
  • improvedAgents on n8n webhook routing show their route 🔌 — the read-only model pill in the composer (from v2.11.0) now displays a proper name and icon for agents wired to the HTTP or Stream n8n webhook routes, instead of a bare identifier — so it’s clear at a glance which agents are backed by an n8n workflow.
  • fix“Load more” in notifications keeps working 🔔 — paging through your notifications could silently return nothing once you’d deleted one, because the “next page” marker pointed at the row you just removed. Pagination now uses a stable marker, so Load more keeps fetching older notifications reliably no matter what you clear along the way.

v2.11.0

July 3, 2026

“FrontiersOS grows up — tasks you can approve, track and hand off, live everywhere you work, plus agents you build just by asking.”

  • featureSpin up a personal agent by chatting 🛠️ — you no longer have to open Settings and fill in a form to create an agent. Just tell the assistant what you want — “make me a support-triage agent with the web tool”, “add Mail to my research agent”, “delete my old draft” — and it builds, tweaks, or removes the agent for you on the spot.
    • Knows what you already have — it can see your own agents (and your projects/folders) by name, so “give my research agent the same tools as my writing one” just works.
    • Safe by design — anything it creates is a private draft owned by you. It can’t publish, share, or hand out elevated access; when a draft is ready, you still publish it yourself from Settings > Agents (submit for review, an admin approves).
    • Turn it on per agent — flip the new Management tool on for an agent in Settings > Agents.
  • featureYour automations, right in the sidebar ⚡ — the extension gets a new Automations tab so you can manage the jobs you’ve set up without switching to the web app. See each one at a glance — its trigger, its next (or last) run, and which agent it uses — then enable or disable it with a toggle, Run now to fire it off immediately, or jump straight to its bound thread to read what it did. Hit Sync now to pull the latest from the web app.
  • featureCustom FrontiersOS nodes for n8n — workflows built the Frontiers way ⚙️ — we started building our own n8n nodes so you can wire up automations tailored to Frontiers, plugged straight into FrontiersOS’ own capabilities instead of gluing together generic HTTP calls. Drop them into any workflow to have n8n act as you, with your permissions.
    • FrontiersOS — create, update and list tasks, and run your agents right inside a workflow.
    • Frontiers Publishing — reach articles, journals, research topics, sections and users from the publishing platform, with a trigger to kick workflows off on publishing events.
    • Frontiers Knowledge — search the research graph: publications, researchers, patents, grants and clinical trials.
    • Frontiers Intelligence — pull ranked recommendations to drive the next step.
  • featureA real to-do list the assistant can run for you 📋 — meet Tasks: durable to-dos that live outside any single conversation, so they don’t vanish when a chat ends. Give one a title and notes, pick a type (to-do, approval, review or reminder), set a status, a priority and a due date, hand it to a teammate, and file it under a project. Then just ask in plain language — “add a task to draft the Q3 report”, “what’s on my list?”, “assign this to Jane”, “mark it done” — and the assistant creates, lists, assigns and completes them for you.
    • Everywhere you work — manage the full list from Settings > Tasks, or add, tick off, edit and delete tasks straight from the new Tasks tab in the extension sidebar — quick-add with a title and press Enter, then hover any row for its edit (opens the web app) and delete actions.
    • Yours and your assignees’ — you see the tasks you created plus anything assigned to you; both the creator and the assignee can edit, and only the creator can delete.
    • Types & approvals ✅ — a task can be a plain to-do, or an approval, review or reminder. Approval tasks swap the checkbox for Approve / Reject actions (in the web app and the sidebar) and settle into a clear approved or rejected state — so a task can drive a lightweight sign-off, not just a tick.
    • Live everywhere, instantly ⚡ — create, edit, complete, approve or delete a task and it updates in real time across the web app and every open sidebar — including changes the assistant makes for you, or a teammate makes to a task you share. No more Sync now.
    • Delegate a task to an agent 🤖 (preview) — hand any task to one of your agents straight from the sidebar. It opens a chat thread seeded with the task and works it live while you watch, then hands the result back as a review for you to approve or send back. This is an early preview — it runs live in the chat for now; background runs are coming soon.
    • Turn it on per agent — flip the new Tasks tool on for an agent in Settings > Agents.
  • featureFresh skills — new things the assistant knows how to do 🧠 — a batch of new skills (the playbooks that teach it to do a job the Frontiers way) landed. It loads the relevant ones automatically, so you just ask in plain language.
    • Your Microsoft 365, hands-on — four new skills put your connected M365 to work: Calendar (daily briefs, meeting prep, find-a-time, book/move/cancel), Outlook (triage the inbox, summarise threads, draft & send, work shared mailboxes), Teams (catch up on chats & channels, build a digest, post replies), and SharePoint / OneDrive (find sites and files, pull data out of Word/Excel/PowerPoint, save files back). Connect Microsoft in Settings > Credentials to switch them on.
      • Now with write access — the Microsoft connection now asks for permission to manage your calendar and files (Calendars.ReadWrite, Calendars.ReadWrite.Shared and Files.ReadWrite.All), so it can actually book, move and cancel meetings and save files back to SharePoint/OneDrive rather than just read them. Already connected? Reconnect Microsoft in Settings > Credentials to grant the new access.
    • Scholarly data & author discovery — a scholarly-data skill taps external bibliometrics (OpenAlex, Crossref, PubMed) plus Frontiers’ own AIRAK database for publications, citations, authors and institutions, and an author-discovery skill turns that into diversity-aware, ranked shortlists of editorial-board members, Topic Editors and reviewers — with conflicts and existing Frontiers roles flagged.
    • FrontiersOS product guide — a frontiersos skill so the assistant can explain the platform itself: what each surface (agents, skills, apps, automations, workflows, commands, tools) does and how to get more out of it. Just ask “what can FrontiersOS do?”
  • improvedBrowse the skill Marketplace in Settings 🛒 — the Marketplace that lets agents borrow ready-made skills from the wider community now has its own home at Settings > Marketplace, listing the public libraries the assistant can pull from. It picks up a third source — Superpowers (obra/superpowers), a set of engineering & workflow skills — alongside K-Dense and Anthropic, plus a curated list of more libraries worth exploring for inspiration.
  • improvedA tidier extension sidebar 🧹 — the sidebar’s tabs now read consistently. The Commands tab lists your commands — each shortcut, its name and a preview of what it expands to — instead of just a count; click any to edit it in the web app. The Automations tab gains a search box to filter long lists, and its row actions (open thread, run now) — like the Tasks tab’s — now appear on hover to keep things clean. Every tab shares a single Manage in web app button.
  • featureThe company KPIs everyone should know, live 📊 — a new Settings > About > Company KPIs page puts the headline editorial numbers in one place, pulled live from the reporting mart and business-certified against the official KPI glossary.
    • The editorial funnel at a glance — Submitted → Reviewable → Accepted as a tapering funnel with the pass-through rate between each stage, plus a table with last-12-months, year-to-date and previous-year columns.
    • Daily submitted volume — a 12-month bar chart with total, daily average and peak day, so you can see the trend and the busy spikes.
    • Slice by journal — a journal picker re-scopes every number to a single journal (or all of them).
  • featureSign in to Google Cloud with OAuth 🔐 — connecting Google Cloud in Settings > Credentials no longer means creating and pasting a service-account key. It now leads with a Connect with Google button that runs a proper OAuth sign-in, so the assistant queries BigQuery and the other Google Cloud tools as you — with exactly your own IAM permissions — and refreshes the token automatically in the background.
    • Service-account key still works — the key fields are right there under “or paste a service account key”, and existing key connections keep working untouched.
    • Shared fallback intact — connect nothing and the assistant keeps using the organisation’s shared service account, exactly as before. A one-click Disconnect falls back to it.
  • improvedSee what an agent can do, right in the composer 🔧 — pick an agent in the extension and the composer now shows two read-only pills next to the input: the model that powers it, and a Tools pill listing everything it can use. Hover the Tools pill for the full list, or click it to open the same tools & connectors panel you already know — just view-only, since an agent runs a fixed set you don’t toggle. No more guessing which capabilities an agent brings to the conversation.
  • improvedSharper voice-to-text in the chat mic 🎙️ — the dictation button in the chat composer no longer relies on the browser’s built-in speech recogniser. It now runs the same high-quality realtime transcription that powers the Voice tab, so what you say lands in the box far more accurately and streams in as you speak. It even shares one session with the Voice tab — start dictating in chat, switch to Voice, and it keeps the same recording and transcript going instead of starting over.
  • improvedThe assistant actually sees the whole page now 🔗 — when it opens a web page, the links and images on that page used to get mangled or dropped: relative links became dead ends and lazy-loaded images came through blank. Reading a page now keeps links and images intact with proper, clickable URLs (including images that only load as you scroll), so answers can point you to the real source and pull in the right visuals.
  • improvedBuilders insights now count what people ship 📈 — the Settings > Insights > Builders view from v2.10.6 now goes beyond agents. A new Artifact builders tab tracks who publishes workspace artifacts, the Overview gains Artifacts and Threads headline numbers plus a “Threads & artifacts created over time” chart, and clicking anyone now opens a drawer with everything they’ve built — agents, automations and artifacts — in one place. Artifact names stay hidden for privacy.
  • improvedSee who builds the skills 🧠Settings > Insights > Builders gains a Skill builders tab that ranks people by how many skills they author (from each skill’s author field), with headline counts of skills and builders. Click anyone to expand the skills they’ve written — each links straight to its page.
  • improvedA roadmap for where FrontiersOS is heading 🧭 — a new Settings > Roadmap page lays out the journey to the 2030 goal: the guiding principles (6× output, not 6× headcount; self-service building; humans in & on the loop), the systems it will orchestrate, the building blocks people create on it, and a phased timeline from Now through 2030. Think we’ve got something wrong? Hit Suggest a revision.
  • fixMore accurate chat vs. automation usage 📊 — the usage breakdown in Settings > Billing could undercount interactive chat by only counting part of it. Chat and automation totals now add up correctly.
  • fixConversations survive an update — and don’t get stuck 🔄 (experimental) — when we ship a new version, any reply that was mid-generation used to get cut off, and the thread could stay “busy” for several minutes so you couldn’t send your next message. Now a reply in progress is given time to finish before a restart, and if one does get interrupted the thread frees itself almost immediately so you can pick up right where you left off. We’re rolling this out as an experiment — if a message ever seems stuck after an update, a quick retry should just work.

v2.10.10

July 2, 2026

“See exactly which skills the assistant is leaning on — and jump straight to any of them.”

  • improvedWatch the skills load, live 🧠 — that quiet blue dot next to the composer used to only tell you skills could run. Now, the moment the assistant actually pulls a skill into a conversation, the dot grows into a “N Skills” pill that counts them as they arrive. Hover it and you get the full list — every skill loaded in this thread by name — so you can see precisely which playbooks are shaping the answer instead of guessing.
    • Per-thread, always accurate — the count follows each conversation, so switching threads shows that thread’s own set (or the bare dot again when nothing has loaded yet).
    • Click through to any skill — each name in the tooltip is a link straight to that skill’s page in Settings > Skills, so you can read what it actually tells the assistant in one hop.
  • improvedShareable links into Settings > Skills 🔗 — the Skills page now understands URL anchors and keeps the address bar in sync as you browse. Open a skill’s drawer, a change under review, or a domain and the URL updates to match — copy it and send it to a colleague and it opens on exactly the same spot. Land on #<skill-name>, #pr-<number> or #domain-<prefix> and it jumps you straight there.

v2.10.9

July 2, 2026

“Open the assistant already knowing where you are — and a simpler way to hand off a task.”

  • featureLaunch the assistant already up to speed 🧭 — when the assistant lives inside another page (the extension sidebar or an embedded widget), that page can now open it already knowing what you’re looking at. Start a chat with an agent or model and it opens on a clean, empty chat — nothing typed, nothing sent — but quietly pre-loaded with the context of where you came from: the article, the record, the step you’re on. Your very first message just works, with no need to re-explain the situation.
    • A blank page, not a canned message — unlike sending a starter prompt, this leaves the chat empty and waiting for you. The context rides along invisibly on whatever you ask first, then steps out of the way.
    • Works when you draft too — the “draft this for me, let me review before sending” flow can now pre-pick the right agent or model and carry the same context, so a one-click “reply to this” button lands you in exactly the right place with the draft ready to tweak.
    • See it live — every one of these is wired up on the extension feature tour.
  • featureBorrow skills from the wider community 🧩 — a new Marketplace lets the assistant reach beyond your organisation’s own skills and pull in ready-made ones published openly on the web. It launches with two libraries: K-Dense’s scientific skills and Anthropic’s official skills (handling Word, PDF, PowerPoint and Excel files, plus specialised research workflows). Ask for something it doesn’t already know how to do and it can browse the library, pick a fitting skill, and put it to work on the spot — no install, no setup on your part. Switch the Marketplace tool on for an agent in Settings > Agents.
  • featureAsk it to double-check its own work ✅ — when a task really has to be right — a report, a figure, a piece of analysis — the assistant can now run a second pass over its own output with a dedicated reviewer. The reviewer re-reads the claims, confirms the sources actually say what’s cited, re-runs the numbers, and makes one round of corrections before the result comes back to you. It adds a little time, so it’s reserved for the high-stakes work where getting it wrong is expensive.
  • improvedStop a background helper mid-run ⏹️ — hand a long job to the assistant to work on in the background and change your mind? Each running background helper now shows a Stop button right on its card in the chat, so you can call it off on the spot instead of waiting for it to finish or starting the conversation over.

v2.10.8

July 1, 2026

“Publish your best agents to the whole org — and Claude Sonnet moves to Sonnet 5.”

  • featurePublish an agent to the whole org — no back-office magic 🚀 — the agents you build are private to you by default. Now there’s a real, self-serve path to share one with everyone. Put an agent forward with Submit for review from Settings > Agents, a reviewer approves it, and it appears in every member’s agent picker automatically — no database edits, no manual allowlist.
    • A quick readiness checklist — before submitting, the wizard asks you to confirm the basics: the agent can explain what it does, it copes with plain requests (not just exact IDs), and it won’t leak its instructions or credentials — plus a maintainer and no-secrets sign-off.
    • Review, right in the Catalog — reviewers (holders of the new agents:publish permission) open an agent in the Catalog and get the submitter’s justification alongside Approve & publish, Reject (with a note back to the owner), and Unpublish.
    • Clear lifecycle & scope — every agent now shows its status — Draft, Pending review, Published, Rejected, Archived — and its distribution — Organisation or Global — with matching filters so you can jump straight to what’s waiting on you.
  • improvedClaude Sonnet, now on Sonnet 5 🧠 — the Claude Sonnet entry in the model picker (plus the @sonnet shortcut and everything Auto routes to Sonnet) now runs claude-sonnet-5 under the hood, up from Sonnet 4.6. Same picker entry, same $$ cost tier, same image / PDF / inline-file support, and the same Extended thinking toggle — just a sharper, more capable model doing the work. No action needed on your side: existing threads pinned to Sonnet, automations, subagents, and the Auto router all pick it up automatically on their next turn.
  • improvedMail can find your folders now 📁 — the Mail tool from v2.9.3 can already read any folder you can access, but it had to be told the exact name. It can now browse the folder tree itself — list the top-level folders of a mailbox, then drill into nested subfolders (e.g. a custom “PROC - SaaS” filing folder) — so “check my Archive” or “what’s in the team accounting subfolders?” just works without you spelling out the path.

v2.10.7

June 30, 2026

“Pull attendance and transcripts straight from your Teams meetings.”

  • featureTeams meeting attendance & transcripts 📊 — the Microsoft integration can now pull meeting attendance (participants, join/leave times, duration) and transcripts from Teams, unlocking L&D and meeting-reporting workflows. Reconnect Microsoft in Settings > Credentials to grant the new permissions.

v2.10.6

June 29, 2026

“See who&rsquo;s building agents, rate them, and pick the right image engine.”

  • featureBuilders — see who’s actually building 🛠️ — a new insight at Settings > Insights > Builders answers a question analytics never quite did: who in the org is creating their own personal agents, and is that habit spreading?
    • Overview — headlines the number of creators, total personal agents, and the share of power builders (people who’ve built more than one), then charts new agents and brand-new creators month over month — so you can tell whether experimentation is catching on or plateauing.
    • Agent builders — a dedicated tab that charts the agent-creation trend and ranks the top 50 people by what they’ve made. Click anyone to open a drawer listing every agent they’ve built, with status and creation date.
    • Open to everyone — no special permission needed; any member of the org can see who’s building.
  • featurePick your image engine 🎨generate_image and edit_image are no longer tied to a single model. The assistant now chooses the right engine for the job — Nano Banana Pro (Gemini 3 Pro) for the highest quality and for images with real text in them, Nano Banana 2 (Gemini 3.1 Flash) for quick iterations, and Imagen 4.0 / Ultra / Fast for photoreal stills — and the extension now shows which engine produced each image. Editing still runs on the Gemini engines, since Imagen can’t modify existing images.
  • featureRate the org’s agents ⭐ — the Catalog now carries five-star ratings on every agent, so quality — not just usage — becomes something the whole team can see at a glance. Each row shows the average and how many people have weighed in; open the detail panel to drop your own rating with a single click (click it again to clear it). You can only rate what you can already see, so ratings inherit the same visibility rules as the rest of the Catalog.
  • improvedA sharper FrontiersOS story 🧭 — the Settings > FrontiersOS about page was reworked around the 6×-output North Star: grow throughput without growing headcount by giving everyone a team of agents that works where you work. The Analytics tab also trims “AI Adoption” down to just Adoption.

v2.10.5

June 18, 2026

“Connect Jira and Confluence with one click — OAuth lands, and Jira Cloud joins the party.”

  • featureSign in to Jira & Confluence with OAuth 🔐 — connecting Jira and Confluence in Settings > Credentials no longer means hunting for a Personal Access Token. Each now leads with a Connect button that runs a proper OAuth 2.0 sign-in against your Data Center instance, so the assistant acts as you with your own project and space access — and refreshes the token automatically in the background.
    • PAT still works — the personal-access-token field is right there under “or use a personal access token”, and existing token connections keep working untouched.
    • Clear at a glance — a connected integration shows whether it’s on OAuth or a token, and a one-click Disconnect revokes it.
  • featureJira Cloud — a dedicated integration ☁️ — on Atlassian Cloud rather than self-hosted Data Center? There’s now a separate Jira Cloud entry in Settings > Credentials that connects via Atlassian’s 3-legged OAuth (3LO). It picks the right cloud site for you, talks to the Cloud REST API on your behalf, and runs side by side with the Data Center Jira connection without stepping on it.

v2.10.4

June 18, 2026

“Test-drive a proposed skill before it merges — straight from the review screen.”

  • featureTry in agent — review a skill by actually using it 🧪 — reviewing a proposed skill in Settings > Skills is hands-on now. Open a skill pull request and the detail drawer gains a Try in agent button that loads the unmerged skill straight off its PR branch into a fresh chat — no waiting for the merge, no copy-paste. The composer is pre-seeded with a review prompt, and the skill chip is flagged · PR #N so you always know you’re driving a not-yet-merged proposal rather than the live version.
    • Always the latest commit — the skill is fetched fresh from the PR branch each turn, so you’re testing exactly what the author last pushed, not a stale snapshot.
    • One PR, many skills — a pull request that touches several skills shows a dropdown so you can pick which one to load.
    • Knows it’s a preview — the agent is told the skill comes from a PR under review, so the PR number stays pure provenance and never leaks into its answers.
    • Graceful fallback — already-merged or unresolvable branches quietly fall back to the canonical published skill, and if the extension isn’t installed you get the install hint instead of a silent no-op.

v2.10.3

June 15, 2026

“The assistant can drive your browser tab now — not just website widgets.”

  • featureHost Events come to the extension sidebar 🕹️ — the host-event bridge we shipped for website widgets in v2.10.0 now works straight from the browser-extension sidebar too. With the renamed Host Events tool enabled, the assistant can reach out of the chat and drive the active browser tab it’s attached to — scroll to a section, prefill a form, open a modal, switch a tab — and read page state back to keep going. The same tool now spans both surfaces: the widget’s host page and the page behind the sidebar.
    • Fire-and-forgetemit_host_event({ name: 'scroll_to_contact' }) for pure DOM side effects, no return value.
    • Two-wayrequest_host_event({ name: 'read_page' }) asks the page a question; your handler calls reply(payload) and the assistant uses the answer in its next turn (first reply wins).
    • Any sidebar chat can do it — host events aren’t limited to processPrompt-driven conversations, and they’re delivered to whichever tab is active when the event fires.
    • Subscribe once — host pages listen with AssistantGPT('on', 'event', (name, data, reply) => …). Enable the tool per agent in Settings > Agents.
  • featureExtended thinking — turn Claude’s reasoning on or off 🧠 — Claude Opus and Sonnet now expose a dedicated Extended thinking switch in the composer’s reasoning settings, so you can let the model deliberate before it answers — or switch it off for snappy, direct replies — per thread. Flip it from the settings panel, or straight from the / palette with the new Thinking: On / Off action. Opus thinks by default; Sonnet stays off until you ask for it.
  • featureMemory has an off switch 🧠 — the long-term memory we introduced in v2.10.1 now has a clean per-member toggle in Settings > Extension. It’s on by default and now active across every memory-capable model (Auto, Sonnet, Opus, …); turn it off and the assistant stops capturing durable facts and stops pulling them into new threads — a true kill switch, not just a UI hide. Models that don’t support it ignore the setting.
  • improvedA pinned thread title in the extension chat 📌 — every conversation now carries a slim header pinned to the top of the chat showing the thread’s title, so you always know which thread you’re in when juggling several at once. The scroll-to-top / previous-turn / next-turn / scroll-to-bottom controls and the linked-automation chip move up into this bar, and a live “Name is responding…” dot shows when a collaborator is mid-reply on a shared thread.
  • fixThe sidebar rail no longer hides Settings 🧭 — on short or zoomed windows, or orgs with lots of tabs, the navigation rail could push the Settings icon and your profile avatar off the bottom with no way to reach them. The middle tab list now scrolls on its own (scrollbar hidden to keep the rail clean) while Settings and the avatar stay pinned to the bottom. The avatar also falls back to your initials when no picture is set or the image fails to load, instead of rendering a broken, invisible button.

v2.10.2

June 12, 2026

“Roles, groups and a permission catalog. The plumbing for who-can-do-what is in.”

  • featureIdentity & access management — roles, permissions and groups arrive 🔐 — the foundation for proper access control lands in two new admin pages. Define roles, choose which of 56 fine-grained permissions each one grants, and assign them to members — directly or to a whole group at once. Built so that, as we grow, who-can-do-what is something you configure, not something hard-wired into the product.

    This is a foundation release — configure now, enforce later. You can set up roles, groups and assignments today, but they don’t yet change who can do what: access is still governed by the existing admin / member flag. The next phase wires these grants into the API routes so they start doing real work. Nothing you rely on changes in this release.
    • Roles & Permissions — manage everything from Settings > Roles & Permissions. Browse the seeded system roles, spin up your own custom roles with exactly the permissions they need, assign roles to a member (with an optional expiry and optional resource scope), and review an append-only audit log of every change.
    • Groups — bundle members into teams or departments in Settings > Groups and grant a role to the whole group — every member inherits it. Add a person to the group and they pick up the access; remove them and it’s gone.
    • Six roles out of the boxSuper Admin and Organisation Admin (everything), Member (use agents / models / tools and manage your own threads, automations and commands), plus three resource roles for sharing a single agent or thread: Agent Editor, Thread Editor and Thread Viewer. System roles are shared across organisations and are read-only — clone the idea into a custom role when you need something bespoke.
    • Your current access carried over automatically — every existing admin is mapped to Organisation Admin and every other member to Member, so the new model already reflects reality from day one. New sign-ups get the same treatment automatically.
    • Full audit trail — every role assignment, revocation and group change is recorded with who did it and when.

    Heads-up for admins: the two new pages are admin-only. Thread sharing still uses its own viewer / editor model on the Sharing tab for now — it isn’t wired to the new resource roles yet.
  • soonPermission enforcement, end to end 🛡️ — the next IAM phase takes the roles and groups you set up today and actually enforces them: a single resolver computes a member’s effective permissions (direct grants + group inheritance, honouring scope and expiry) and the ad-hoc admin / member checks scattered across the product migrate onto it one by one. That’s when custom roles, group inheritance and resource-scoped grants start gating real features.

v2.10.1

June 11, 2026

“It remembers you now. Set a goal and walk away. Pull a teammate into the thread.”

  • featureLong-term memory — it stops forgetting you 🧠 — the assistant now has a durable memory that follows you across every conversation, so you don’t have to re-explain your preferences, your projects, and your context in each new thread. As you chat it quietly distills the durable facts worth keeping (a standing preference, an ongoing project, a decision you’ve made) and leaves the throwaway task details behind. At the start of a new conversation your memories are slipped into context automatically — no prompting required.

    This is the first version. Today it brings your saved memories into context, but it doesn’t yet rank or select them by how relevant they are to the conversation you’re actually having — that smarter, per-conversation relevance is what we’re building next.
    • Learned automatically — a background pass extracts durable facts from your chats. You can also just tell it “remember that I prefer TypeScript and pnpm” and it will.
    • You stay in control — review, edit, add, pin (★ pinned memories always make it into context first), or forget anything in Settings > Memory.
    • Private by default — your memories are yours alone and never shared with other members. The assistant can share a fact org-wide only when you explicitly ask it to.
    • Never stores secrets — credentials and sensitive personal data are deliberately kept out of memory.
  • featureGoal mode — point it at an objective and let it run 🎯 — the Plan / Agent toggle in the composer gains a third setting: Goal. Pick it, describe the outcome you want, and the assistant works turn after turn on its own — building, running, checking its own output — and only stops once the success condition is genuinely met (the build passes, the tests are green, the dashboard renders). Under the hood it keeps a live plan, verifies its own work each loop, and calls a single goal_complete signal to halt — no babysitting, no "are you sure?" prompts mid-run.
    • Autonomous, but bounded — a hard iteration cap and your Stop button are always in reach, so an over-eager loop can’t run away from you.
    • Plan / Agent / Goal, side by side — Plan researches read-only then proposes, Agent builds with the full toolset, Goal pursues an objective across turns. Each thread remembers which one you left it in.
  • featureCollaborative threads — editors can post now 👥 — the foundation we laid in v2.9.0 (named viewers, three roles) pays off: an Editor on a shared thread can finally send messages into it, not just read along. Hand a half-finished investigation to a colleague and have them carry it forward in the same conversation, same workspace, same context — no forking required.
    • Name is responding…” — when someone else is mid-reply, everyone watching the thread sees a live presence indicator, so two people don’t talk over each other.
    • One turn at a time — a per-thread lock serialises sends (a second person, another tab, or an automation racing a human gets a gentle “this thread is generating — try again in a moment” instead of two replies clobbering each other).
    • Everyone’s view stays fresh — when a turn finishes, the other participants’ open threads refetch the completed answer automatically.
  • featureThe / command palette ⌨️ — type / at the start of the composer and a searchable palette of chat actions drops in: New chat, Clear chat, Stop generating, switch Models or Agents (jumps straight to the right tab of the Cmd/Ctrl+K picker), switch to Plan / Agent / Goal, set reasoning effort, toggle any tool on or off, Read page / Screenshot (on the platform sidebar), open Capabilities / Personalization / Status / Credentials, Send feedback, and Compact memory. Everything you used to hunt for in a menu is now one keystroke and a filter away — and the list adapts to the active model’s real capabilities. Picking a skill from the palette also preloads it straight into the workspace so the assistant skips the fetch round-trip.
  • featureWebhook-triggered automations — fire from anything 🪝 — you can now create a Webhook automation straight from Settings > Automations. Each one gets a stable URL with a rotatable secret; have n8n, Zapier, GitHub Actions, your submission system, or a plain curl POST anything to it and the automation runs. The request body is piped into your prompt as {=webhook_body}, and JSON fields are addressable as {=webhook_json.fieldName}.
    • Copy the URL the moment you create it — the new-automation drawer now stays open after saving a webhook so you can grab the URL and secret right away.
    • Rotate on leak — one click mints a fresh secret and invalidates the old URL immediately.
    • Your own host — admins can set a custom inbound webhook domain in Settings > Organisation so webhook URLs live on a branded hostname.
  • improvedCompact memory, on demand 🗜️ — the new Compact memory action (in the / palette) lets you summarise older messages and reclaim context whenever a long thread starts to feel heavy — instead of waiting for the automatic compaction to kick in. The “Memory compacted” badge updates live the moment it runs.
  • improvedContact & location cards 📇 — two new inline cards join the email and calendar previews. Ask for someone’s details and the assistant can render a contact card with an Add to contacts (.vcf) button plus mail/call quick links; ask about a place and it renders a location card with Open in Maps / Directions deep-links for both Google and Apple. Both are preview-only — nothing is written to your address book or sent anywhere.

v2.10.0

June 10, 2026

“Widgets grew hands. They take files, drive your page, and tap visitors on the shoulder.”

  • featureWidgets — the assistant, on every Frontiers page 🌐 — Today we ship the embeddable widget: the same FrontonGPT pipeline that powers internal chat, bound to a public widget key, embeddable on any Frontiers property via a one-line snippet. Drop it on the homepage, journal landings, the publishing platform, or a partner site, and visitors chat without logging in — scoped per widget to whichever knowledge corpus, agent, and tools you wire up.

    What the widget is for. Most of the moments that decide a submission — a reader noticing the right journal, an author weighing APC tiers, a reviewer hunting for the right form — happen on pages where no human is around to help. The widget puts an expert at every visitor's elbow, on every page, around the clock, in every language we run. This is our first customer-facing AI surface — until now every assistant we've shipped has been employee-only.

    Why it matters. Strategically, this is the customer-side lever toward the 500,000 acceptances by 2030 goal: the same agents that already draft peer-review replies and edit manuscripts alongside our staff can now greet, qualify, and assist the authors, readers, and reviewers who decide whether a paper enters our pipeline at all. Every Frontiers page becomes a touchpoint where the right answer is one question away.

    What today's release ships. The widget can chat, take files visitors hand it, drive the host page on their behalf (scroll, prefill, open modals), read state back from the host page (cart, role, reading list, form values), and proactively engage through a small bubble next to the launcher. Everything stitched together with every event and tool wired live on the new Feature tour. Configure widgets, pinned agents, branding, and feature flags in Settings > Widgets.
  • featureFile uploads on the widget 📎 — visitors can now paperclip-attach files (drag-and-drop, file picker, or paste an image) directly into the embedded chat composer. Each file is uploaded via the assistant's own server, isolated to that visitor's thread, and handed to the agent as a normal attachment — the same way uploads work inside the extension. Off by default; flip Allow file uploads on a widget key in Settings > Widgets to enable it. A daily cron prunes attachments older than 30 days so a hot widget can't balloon storage without supervision.
  • featureDrive the host page from chat 🎯 — a new Widget Host Events tool lets a widget-pinned agent emit named events from inside the iframe up to the host page so customer JavaScript can react. Visitor asks "take me to the pricing section" → the agent calls emit_host_event({ name: 'show_pricing' }) → your handler scrolls. Same wiring works for prefilling forms (prefill_submission), opening modals, switching tabs, adding to a cart, anything. Subscribe with AssistantGPT('on', 'event', (name, data) => …). Enable the tool per agent in Settings > Agents.
  • feature...and read state back from the page too 🔄 — the same tool ships a second function for round-trip RPC: request_host_event({ name: 'read_cart' }). The host's handler picks up a third reply(payload) argument and the agent uses the returned value in its next turn. Cart contents, the visitor's logged-in role, the current saved-articles list, a half-completed form — anything the page knows that the chat needs. 10s default timeout, Redis pub/sub on the server so it works across replicas.
  • featureProactive nudges next to the launcher 💬 — a new JSAPI command AssistantGPT('nudge', { message, delay_ms, prefill }) pops a small white speech bubble above the launcher FAB after a delay. Click the bubble → the chat opens with the (optional) prefill question pre-typed in the composer, ready to send. Click the × → it tucks away and stays dismissed for the rest of the browser session (per widget, in sessionStorage). Intercom-style proactive outreach without an extra service.
  • featureWidget feature tour 🎢 — a new Frontiers-themed demo at /playground/widget exercises every widget capability against handlers wired up live: scroll-to-section, APC tier highlights, manuscript-submission prefill, reading-list round-trip, identity lookup, modal control, and the new nudge — plus a sticky event sink at the bottom-left that prints every event the agent fires. Best place to dogfood new tool wiring before pasting the snippet on a real customer page.
  • featureText-stream events on the extension JSAPI ⌨️ — host pages that use AssistantGPT.processPrompt(...) now see a full three-event stream that mirrors AI SDK v5's part naming: 'text-start' (once at the open of a turn), 'text-delta' (per token), and 'text-end' (once when the turn completes — cleanly or on error). All three carry { id } so you can correlate against the originating call. Useful for flipping a "typing…" indicator next to your own UI, locking a form while the assistant is responding, or timing response latencies for analytics — without having to debounce on the delta stream. Wired up live on the extension JSAPI demo (the transcript card's status badge flips between idle and typing…).
  • improvedPer-widget upload quotas ⚖️ — the new file-upload feature is gated by three knobs in the widget drawer so a hot widget can't blow through your S3 budget: max file size (default 20 MB, up to 200 MB), max files per message (default 3, up to 10), and daily bytes per widget (default 100 MB, up to 10 GB). The daily counter is a Redis-backed sliding window keyed by widget, so heavy days throttle gracefully instead of failing the visitor with a generic error.
  • improvedOrigin allow-list is now fail-closed 🛡️ — an empty allowed_origins list now means "no host can embed this widget" instead of the previous "allow any host". A new explicit * token opts into wildcard mode if you really want it (use sparingly — typically dev only). Subdomain wildcards (*.acme.com) keep working as before. Existing widgets are unchanged; new ones default to fail-closed so an accidentally-published key can't be embedded anywhere until you add an origin.

v2.9.3

June 8, 2026

“Stream many threads at once. Plus shared team mailboxes.”

  • featureStream many threads at once 🧵 — navigating between threads in the extension sidebar no longer interrupts the reply you were watching. Each thread holds its own live stream, so you can fire off a long Opus prompt in one thread, flip to another to ask a quick question, jump into a third to re-read an earlier answer, then come back — and find every reply exactly where it should be. Working with the assistant in parallel finally feels like working with a team of them.

    Live indicators in the history. Each thread row in the projects/history sidebar and the history drawer now gets a small status dot when something is going on:
    • 🔵 Blue, pulsing — generating right now in the background.
    • 🟢 Green — finished while you were on another thread. Dismisses when you click in.
    • 🔴 Red — errored out and needs a retry.
    Per-thread workspace state. The composer’s draft text, attached files, picked model / agent, enabled tools / connectors, Plan vs Agent mode, and model settings (temperature, reasoning effort) are all snapshotted per thread now — switching back drops you exactly where you left off, instead of dragging the previous thread’s setup across with you.

    Recoverability when something drops. If the connection blips mid-stream (laptop sleeps, network flips, extension reloaded), the server keeps the answer buffered for up to 10 minutes. Re-opening that thread auto-resumes the stream from where it dropped instead of leaving you with a half-finished reply. The WS-reconnect logic now also retries every errored background thread in one sweep after an outage, not just the one you happen to be looking at. The standalone Open in tab view also picks up a ⏳ (N) badge in the tab title when other threads are still working, so a quick glance at your tab strip tells you what’s cooking even when that tab isn’t focused.
  • featureMicrosoft Mail & Shared Mailboxes 📬 — a new integration in Settings > Credentials that lets the assistant work with the mailboxes you’ve been granted access to — your own Outlook inbox and shared/team mailboxes (e.g. a team accounting inbox). Connect once with your Frontiers account (OAuth — nothing to paste).

    Paired with the new Mail tool, an agent can now:
    • Read any folder of a mailbox you can access — including a team Junk folder.
    • Send as yourself or a shared/team address you have Send As on (e.g. accounts.receivable@frontiersin.org).
    • Forward an existing message — optionally from a different team address.
    • Move / mark not-junk — shuffle messages between folders (Junk → Inbox rescues a misfiled author email).
    Example: “rescue the genuine author emails from the accounting Junk folder, forward each to accounting@ sent as accounts.receivable@, then mark them not-junk” now runs end to end.

    Access is gated. This uses a dedicated Azure app that only assigned users can use — if you’re not whitelisted, sign-in fails. Raise an IT Service Desk ticket to be granted access, then connect. The Mail tool is also opt-in per agent — enable it in Settings > Agents. Recipients stay restricted to approved Frontiers domains.
  • improvedClearer email sending 📧send_email now always sends from the assistant’s generic FrontonGPT sender — ideal for notifications and system messages where the sender identity doesn’t matter. When a message needs to come from a real person or team mailbox, the assistant reaches for the new Mail tool instead. Tighter tool instructions mean it picks the right one without you having to spell it out.
  • improvedClear chat — keeps your agent 🧷 — the composer topbar in the extension has a new icon next to New thread: Clear chat (keep agent). Tap it and the messages are gone but your current agent / model / tool selection sticks around — for specialists who live inside one agent and want a quick reset without losing context. The existing New thread button still resets everything (or respects your Settings > Extension preference); the new button is the "clear, but keep my workspace" shortcut.Suggested byElizabeth DelgadoElizabeth Delgado
  • improvedLinked-automation chip on the chat header 🔗 — when a thread is the home of an automation (scheduled, webhook, email-triggered, or manual), the composer topbar now shows a small chip that deep-links straight into the automation's settings row. Companion to the "View in chat" link we already had on the executions drawer — the round-trip between automation and its thread is now one click each way.Suggested byMathew WilliamsMathew Williams
  • improvedVoice transcripts, auto-organised 📝 — a new Organise button next to Copy / Download / Clear / Send on the Voice tab runs your raw transcript through a single Gemini Flash pass and returns three crisp markdown sections: Key ideas, Action items, Next steps. Useful for brain-dumps where you don't want to ship a wall of "um, you know, and then we should…" — tap, wait a second, send the structured version to chat (or copy it out). A small toggle flips between the raw and organised views so you don't lose the original.Suggested byTrica ThompsonTrica Thompson
  • improvedBrowser tab title = conversation name 🏷️ — opening a thread on the web (/organisations/…/threads/…) now sets the browser tab title to the conversation name instead of the static FrontonGPT. Running four or five threads in parallel? ⌘+1-style tab-switching now lands you on the right one. The extension's standalone Open in tab view already did this — the web threads page just caught up.Suggested byShabir DatooShabir Datoo
  • improvedStep forward / back through your turns ⏭️ — the right-edge scroll cluster in the extension chat picks up two new buttons between Scroll to top and Scroll to bottom: Previous turn and Next turn, with a small 3/12-style counter showing where you are. Each "turn" is one of your user messages — quick way to jump back to "the question I asked four turns ago about the SQL join" without scrolling by eye. Counter advances as you scroll naturally, too.Suggested byMatthew RichardsonMatthew Richardson
  • improvedThreads & history, easier to find 📂 — the sidebar toggle at the top of the extension's nav rail used to say "Toggle sidebar" on hover. Now it says "Threads & history", and the search bar inside reads "Search threads & projects…". Reported because the existing label was opaque enough that some users genuinely thought the history feature had been removed — it hadn't, but if the icon doesn't say what it is, that's on us.Suggested byIlaria PreteIlaria Prete
  • improvedClearer n8n guidance for the workspace 🤖 — the system prompt the assistant sees for the workspace sandbox now spells out the right surface for n8n work. "Edit my FrontonGPT automation" requests route to the chat-level automations_* tools (no per-user credentials, no sandbox needed). "Talk to n8n directly" requests use the workspace env vars; if those aren't set, the assistant now tells you to connect n8n in Settings > Credentials and offers to do the edit via automations_update instead if that was what you wanted.Suggested byMathew WilliamsMathew Williams
  • fix"Tool result is missing for tool call…" — fixed for good 🔧 — the Anthropic Vertex 400 that turned half a dozen of your chats into bricks. When a tool call was in flight and the connection closed (you hit Stop mid-tool, the tab navigated away, the pod restarted, the provider 5xx'd), the assistant message was persisted with a tool_use block but no matching tool_result. The very next message you tried to send 400d the provider with "Tool result is missing for tool call toolu_vrtx_…" and the conversation was dead until you forked or started a new thread. Three-part fix landing in one go:
    • New persistence guard — every save path now terminalises in-flight tool parts to output-error: cancelled with a sanitizer-cancelled marker before the row ever hits the DB. No more poisoned messages going forward.
    • 30-day repair migration — every assistant message from the last 30 days that already carried orphan tool_use parts has been rewritten in place to the new terminal shape. Every previously-stuck chat that's still in scope is unblocked — try it.
    • New retry banner — when one of these synthetic terminals is the most-recent turn, the chat now surfaces a friendly "Tool was interrupted — Retry" banner instead of leaving a silent red Error chip on the tool card. One click picks up where the assistant left off.
    Suggested byMathew WilliamsMathew WilliamsSophie WilsonSophie Wilson
  • fixAutomations can update themselves ⚙️ — telling an automation's thread "change my schedule to every Tuesday at 9am" used to look like it worked: the assistant would cheerfully confirm "Got it — switched to Tuesdays at 9am", but nothing actually changed in Settings > Automations because (a) the automation-runner agent didn't have the automations tool and (b) automations_update was owner-only so the runner wouldn't have been allowed to use it anyway. Both fixed: the runner can now edit itself (and only itself — it can't pivot to edit other automations). Same goes for rename, prompt edits, schedule changes, enabling/disabling, model swaps.Suggested byMathew WilliamsMathew Williams
  • fixRun now, twice 🔁 — clicking the manual Run now button on an automation a second time used to silently no-op, replaying the previous execution's result instead of firing afresh. Root cause: the Temporal workflow_run_id was reused across consecutive signals on the same long-running workflow, and the dedup branch matched against it. Now each manual fire gets a unique id (runId-N per iteration), so iterate-and-test loops actually iterate.Suggested byAlexander StephensAlexander Stephens
  • fixVoice dictation that restarts cleanly 🎙️ — fixed two issues with the composer’s Start / Stop transcription mic. The microphone now stops automatically when you send a message, instead of staying hot afterwards. And once stopped, pressing Start transcription again now resumes properly — previously it did nothing, and the only way out was to close and reopen the thread. The button also stays in sync if the browser ends the session on its own.Suggested byTrica ThompsonTrica Thompson

v2.9.2

June 5, 2026

“Smarter routing, a Desktop app that stays out of your way, and the keys to the publishing platform.”

  • featureConnect your Frontiers Publishing Platform account 🟢 — a new Frontiers Publishing Platform integration in Settings > Credentials. Sign in once with your Frontiers account (OAuth — no tokens to paste, clean one-click disconnect) and your FPP access is wired into the workspace, scoped to your own permissions. This is the connection only. There are no skills or actions yet — the assistant can't do anything useful with it on its own today. This is purely the plumbing: it's the first step that lets us build real editorial and submission workflows on top of it next.
  • featureDesktop app — the first genuinely usable release 🖥️ — a quick reminder of what the Desktop app (preview) is for: it puts your commands — text-expansion shortcuts you author once in Settings > Commandsanywhere you can type, not just the browser. It’s opt-in and still in preview: a few teams are putting it through its paces before we open it up more widely. Want in early? There’s no direct download — head to Settings > Desktop and opt in to request access. Type a short trigger like :rv-thanks in Outlook, Teams, Word, Salesforce or your IDE and it expands in place into the full saved snippet — so the canned replies, boilerplate, signatures, acronyms to expand, standard phrasings, and other repeated text your team relies on stop living in a doc you copy-paste from. Author and edit them in the web app; the desktop app syncs and fires them globally.

    Who this is for: we built it with publishing teams in mind — the people who send the same kinds of author emails, decision letters, review reminders, and editorial responses all day. The hope is to take the friction out of all that templated text so a reply that used to mean hunting for the right wording becomes a few keystrokes, in whatever tool you happen to be working in.

    Earlier builds were rough — this is the first release we'd actually call usable:
    • Updates without an admin password — it now installs and self-updates per-user, so on a locked-down managed laptop it no longer dead-ends standard users waiting for IT to type an admin password.
    • Expansions that actually fire — back-to-back expansions now type reliably on Windows across Outlook, Teams, Word and the rest, instead of dropping or garbling characters.
  • improvedAuto routes text chores to Gemini Flash ✍️ — the Auto model now sends everyday writing tasks to Gemini 3.5 Flash instead of a pricey Claude tier. When your message reads like a text duty, Auto picks Flash, which is fast, cheap, and great at exactly these jobs. Why it matters: the cheapest tier finally gets used for the asks it handles best, so routine drafting and summarising costs a fraction of what it used to — with no change on your end.
    • Flash for text dutiesdraft an email, reply to / respond to this, summarise, translate, reword / rephrase / proofread, make it shorter, and similar one-shot writing chores.
    • Opus for the hard stuff — anything asking for real depth (analyse, investigate, derive, step-by-step or multi-step plans), an attached file, or a very long prompt still escalates to Claude Opus.
    • Sonnet for everything else — general chat, coding, and tool-driven work stay on Claude Sonnet, the all-round workhorse.
    • You stay in control — pin a specific model from the picker (or with shortcuts like @opus) any time you want to override the choice.

v2.9.1

June 2, 2026

“Plan mode: see the plan before it drops a database.”

  • featurePlan mode for the workspace 🧭 — coding threads now have a Plan / Agent toggle right in the composer. Plan mode runs the assistant read-only: it investigates your files and structure, then lays out a numbered, step-by-step plan for you to approve — it won't write code, run commands, install packages, or send anything until you say go. Agent mode is the full build loop you already know, now with a live checklist it keeps ticking off as it works.
    • Read-only really means read-only — in Plan mode the server strips every write/execute tool (Python, shell, file writes, image generation, automations, sub-agents, sending email) for the turn, so a planning pass can't have side effects even if the model gets eager.
    • One tap to build — a freshly proposed plan shows an Execute plan button. Click it and the thread flips to Agent mode and carries the approved plan straight into the build.
    • A real, living plan — not a throwaway checklist — the plan renders as a single evolving card with per-step status (pending / in progress / done / cancelled). The assistant keeps it honest as scope changes; you can Copy plan at any time.
    • Remembered per thread — each thread remembers whether you last left it in Plan or Agent mode. New threads start in Agent.
  • featureYour workspace knows who it's working for 🪪 — every sandbox now boots with the thread owner's and the current caller's identity available as environment variables — OWNER_NAME / OWNER_EMAIL / OWNER_ROLE and the matching USER_* set. Apps and scripts the assistant builds can greet you by name, stamp your details onto a document, or branch on your role without you pasting any of it in. On a shared thread the USER_* values reflect whoever is actually chatting. Update your name, role, or photo in Settings > Profile and the running workspace picks the change up within about a second.
  • improvedSettings, reorganised — and two new surfaces 🗂️ — the settings sidebar is now grouped into clear sections (Account, Organisation, Surfaces, Capabilities…) instead of one ever-growing list. Two new pages join it:
    • Organisation (admin only) — set your org's name, logo, the copy shown in the extension, and external links in one place. Changes apply to every member.
    • Mobile (maybe) — an idea we're floating for an iOS / Android app. Whether we build it depends entirely on whether you'd use it, so the page is really a request for your input.
  • improvedSharing roles, tightened 🔐 — a fast follow on yesterday's share-a-thread launch that draws the boundaries between the three roles much more crisply. Who can do what is now enforced consistently on the server and spelled out on the page.
    • Managing access is owner-only — inviting people, changing roles, removing access, minting or revoking the share link all belong to the thread owner now. Editors keep their workspace and content privileges; the access list itself stays with you. The Copy share link button is hidden for anyone who can't manage access (it used to be clickable and then silently fail).
    • Viewers are read-only, for real — viewers no longer browse the workspace files or open the thread's insights. They still see the conversation and the artifacts and apps it produced. (The little header "is the sandbox alive?" dot stays visible — opening an artifact already implies the workspace is up.)
    • Deleting a thread is owner-only — the delete endpoint now properly checks for owner access instead of just "are you logged in".
    • A clearer role primer — the Sharing tab now lays the three roles out as a side-by-side Owner / Editor / Viewer comparison matrix, with a check / dash / "coming soon" legend. Your own column is highlighted with a YOU badge, and each person's role pill (crown / pencil / eye) points straight at the column that says what they can do. The per-thread header role pill is gone — role education now lives in one permanent home instead of being scattered across every tab.
    • Tighter share links — the network response for a share page no longer leaks the full link token, so a viewer can't reconstruct a working invite URL from it.
  • improvedGitHub CLI in the workspace 🐙 — every sandbox now ships with the gh command-line tool preinstalled. If you've connected GitHub in Settings > Credentials, it's already authenticated (your token lands in GITHUB_TOKEN), so the assistant can open and review PRs, read issues, inspect CI runs, or clone a private repo straight from sandboxed code — no manual login step.
  • fixReconnecting an integration takes effect immediately 🔄 — when you reconnect Microsoft 365, Salesforce, Frontiers, Lucidchart, Sprinklr or GitHub (or update a manual credential), the running workspace now picks up the fresh tokens within about a second instead of carrying the stale ones for up to 30 minutes. Previously a reconnect could leave the assistant hitting InvalidAuthenticationToken errors it couldn't recover from until the cache aged out — or until you destroyed and rebuilt the workspace. The cache is now cleared the moment you save a new connection (and the same applies to your profile name, role, and photo).

v2.9.0

June 1, 2026

“Your suggestions wrote this release. (And the next four. We're catching up.)”

  • featureShare a thread with specific people 🔐 — like a Google Doc, but for FrontonGPT conversations, artifacts and apps. Threads are now private by default — only you can see one until you explicitly share it, and every viewer is now named: the Sharing tab on every thread is the authoritative list of who has access, so you always know exactly who's in the room.

    ⚠️ All previously shared links have been invalidated. The old links handed out anonymous "anyone with the link" access — we don't do that any more. Re-share from the new Sharing tab on the threads that still need an audience.
    • One tap from the extension. The composer topbar in the extension build shipping with this release now carries a Sharing icon, alongside the existing Insights and Workspace icons. One click deep-links you to the thread's Sharing page — copy the link, or add a teammate by name — no detour through the sidebar menu.
    • Share a link — every click becomes a named viewer. Copy share link, paste in Slack or email. When a teammate opens it, they land on the thread and get added to your Sharing tab as a viewer in one step — no more anonymous link-holders you can't see. Revoke the link, or revoke any individual viewer, any time.
    • Invite by name — same panel. Pick a member from a search-as-you-type list, choose Viewer or Editor, done. Change role or remove access from any row.
    • Three rolesowner (you: full control over the thread, the workspace, and who has access), editor (a trusted teammate who can read everything and edit the workspace files — posting in chat and managing the access list stay with the owner), viewer (read-only access to the conversation and the artifacts and apps the thread produced — viewers don't see the workspace files or thread insights). The Sharing tab on every thread is the place that lays all this out; the matrix there highlights your column so what you can do is obvious at a glance.
    Why the rework now. This is the foundation for collaborative chats — once every participant is a named member of the thread, the next step is letting editors post into it too, not just read along.
  • featureVoice transcription, right in the sidebar 🎙️ — tap the Voice button on the extension's left rail and a transcription scratchpad opens next to chat. Speak, see your words land in real time, edit them inline, then send the result straight to your chat prompt. Great for dictating long messages, capturing a meeting, or just thinking out loud.
    • Real-time, accurate, multilingual — English / French / German / Italian / Spanish / Portuguese / Dutch / Japanese / Chinese, or just let it auto-detect.
    • Built for long sessions — record for an hour or more without babysitting. Brief network blips (Wi-Fi to cellular, lift loss-of-signal) reconnect automatically and the transcript stays one continuous document.
    • Keeps recording while you do other things — switch to chat to look something up, come back five minutes later, every word you said is there waiting. A small red dot on the Voice nav icon reminds you a recording is in progress from any tab.
    • Send, copy, download — one click pushes the transcript into your chat prompt; copy and .txt download are right next to it.
    • First time? Chrome sometimes doesn't show the mic prompt inside the sidebar. If that happens, click the Open in tab icon at the bottom of the sidebar (top-right arrow), allow microphone permission once from the full-tab view, then come back to the sidebar — you're set for every session after that.
  • improvedClaude Opus, now on 4.8 🧠 — the Claude Opus entry in the model picker now routes to claude-opus-4.8 instead of claude-opus-4.7. Same picker entry, same $$$ cost tier, same context window, same tool support — Anthropic's newest flagship under the hood, with sharper reasoning on long, multi-step work and more reliable tool sequencing. No action needed on your side: existing threads pinned to Opus, the @opus shortcut, the Auto router's premium escalations, and every agent built on Opus pick it up automatically on the next turn.
  • improved"Extension out of date" nudge 🔔 — if your installed extension drifts below the minimum version the organisation supports, a warning banner now sits at the top of chat with a Check now button. One click asks Chrome to re-poll the Web Store on the spot; if Chrome still insists nothing newer exists, a follow-up button opens chrome://extensions so you can force a refresh from there. Built for users whose corporate Chrome / Edge policy holds back auto-update for days at a time — you no longer have to find out from a colleague that you've been running a stale build.Suggested byMathew WilliamsMathew Williams
  • improvedSelect all on multi-choice prompts ☑️ — when the assistant asks you a question with multiple checkbox answers, the form footer now shows a Select all / Clear all button next to Continue. One tap fills (or empties) every option across all multi-pick questions in the form. Radio-style questions are unaffected.Suggested byNathan MastersNathan Masters
  • improved"Fortnightly" understood by the schedule helper 🗓️ — the AI helper that turns plain English into an automation schedule now knows "every other Monday at 9am" and "fortnightly on Fridays". Under the hood it produces the right FREQ=WEEKLY;INTERVAL=2 rule — the scheduler already supported it, the helper just wasn't demonstrating it to itself.Suggested byMathew WilliamsMathew Williams
  • improvedMore agent categories 🏷️ — agent creation now offers Finance, Engineering, Publishing, Marketing, Operations, Research alongside General. Pick the one that fits when you create or edit an agent from Settings > Agents; existing agents are unchanged until you re-categorise them.Suggested byAAnonymous
  • improved"+ New thread" inside empty projects 📁 — projects with no threads yet now show a permanent + New thread button right where the empty state used to just say No threads. Previously the action was hover-only on the project row, which made it invisible on touch devices and easy to miss on desktop. The hover-only icon stays for non-empty projects.Suggested byHelder Da SilvaHelder Da Silva
  • improvedNew thread shortcut drops you in the prompt ⌨️ — hitting Cmd+Shift+O (or Ctrl+Shift+O) now creates a new thread and moves the caret straight into the composer so you can start typing immediately. Same fix applies to the "+ New thread" button at the top of the sidebar and the per-project ones, so every entry point behaves the same.Suggested byAAnonymous
  • fixSkills tool back on by default 🧠 — when Skills first rolled out (v2.8.12) the per-member setting was meant to default to on, but the migration shipped with the wrong default and quietly turned it off for every existing and new member instead. Fixed: the column default is now correctly true, and members whose toggle was silently false from the bug have been switched back on. The toggle in Settings > Extension still lets you turn it off if you prefer.Suggested byNathan MastersNathan Masters
  • fixChrome Web Store button now actually goes to the Web Store 🔗 — the Available in the Chrome Web Store button on the public landing page used to open Microsoft Teams for off-VPN visitors because of a misconfigured URL on the organisation record. Corrected; clicking it now drops you on the real Chrome Web Store listing.Suggested byAAnonymous

v2.8.15

May 29, 2026

“SkillsOps. Vlad got buried in your skill suggestions. He built his way out.”

  • featureSkills page — Open PRs & richer drawers 📚 — the Settings > Skills catalogue from v2.8.12 grows up. You can finally see the work in flight, not just what's shipped — and clicking any skill or PR opens a rich detail drawer with the full context in one screen.
    • Open PRs tab — every open pull request on the skills repo, with the moral requester (who asked for it, even when the bot opened the PR on their behalf), the skill folders it touches (chips link straight back to the skill page), draft / comments / reviewer counts, and last-activity time.
    • Domains tab — the domain prefix map from the repo README, grouped with skill counts, owner attribution, and an "unassigned" bucket for skills whose name prefix doesn't match any registered domain.
    • PR detail drawer — slide-out with a consolidated header (status badges + skill chips + author + branch in one block), a vertical reviewer list (✓ approved / ⚠ changes requested / 💬 commented, with timestamps), and an activity timeline rail connecting each comment and review summary in order. Bot comments are colour-coded so it's obvious which feedback came from the auto-reviewers vs humans.
    • Markdown-rendered PR comments — every comment body in the timeline is rendered as proper markdown (code blocks, lists, links). Hover on any "5h ago" for the precise date.
    • Stickier background sync — the GitHub PR sync now retries transient errors (5xx, rate-limits) automatically, so the Open PRs list stays accurate even when GitHub is having a bad day.
  • improvedDrag-and-drop uploads in the workspace 📁 — drop files anywhere on the workspace file tree to upload. Multiple files at once, up to 200 MB each. Right-click any folder for create / upload / rename / delete with the path landing exactly where you expect. Small thing, real every-day improvement.
  • improvedStay logged in across tabs 🔓 — closing the web app tab used to log you out. It doesn't any more; your session sticks until your token genuinely expires (24h). Full set-and-forget login (refresh tokens, same setup the extension already has) lands in the next release.
  • improvedWorkflows on the status page 🟢/status now shows the Workflows (Temporal) layer alongside FrontonGPT and the two Workspaces clusters. Same probe model as the others — real check every 5 minutes, 90-day rollup. Now you can see the automation layer's health the same way you already see chat and sandboxes.

v2.8.14

May 22, 2026

“Built the scoreboard ourselves. Now we have to win on it.”

  • featureWorkspaces — SLA-backed cluster 🌥️ — a brand-new, self-hosted sandbox cluster with a real SLA behind it is now available alongside the best-effort cluster that's carried the load all year. Opt in from the new Provider card in Settings > Workspaces.

    Why now. FrontonGPT is starting to ship inside Frontiers platform products, which means workspaces stop being a chat-only nicety and become part of products we have to commit to a real SLA on. The best-effort cluster can't carry that — no SLA, several incidents this year where durable workspaces didn't come back (the v2.8.11 rollout was only the most visible one). The SLA-backed cluster is the rebuild, with every lesson from the year baked in and the uptime guarantee the platform products need.

    ⚠️ Read this before you switch — there is no data migration. The next time the assistant runs a tool in any of your threads after you switch, it spawns a brand-new, empty workspace. For every thread you care about, before switching:
    • Download artifacts you still need — CSVs, PDFs, generated images, exports.
    • Snapshot live dashboards or apps (Next.js / Evidence). The next turn rebuilds them from scratch in an empty sandbox.
    • Re-import uploaded data (Excel, Parquet, custom corpora). The new workspace starts blank.
    • Stash unfinished code or notebooks. Anything not on GitHub or downloaded is gone the moment the new sandbox boots.
    The confirmation modal repeats this checklist and forces you to tick an acknowledgement before the Switch button activates.

    🚀 This is coming for everyone. The best-effort cluster is being retired. We haven't set a date, but at some point we'll force-migrate every account that hasn't moved. Switching on your own schedule means you decide when you save things out — calmly, one thread at a time. Waiting means the cutover happens on ours.

    The rules.
    • Default stays best-effort — for now. No automatic migration today.
    • One-way switch. No path back from this page.
    • Beta label on the SLA-backed cluster. It's a fresh deployment, so it carries a beta badge while the first wave shakes it out — switch now to help us harden it, wait to let others confirm it's genuinely better first.
    • Roadmap. Once it's soaked enough real traffic without drama, the SLA-backed cluster gets promoted to a hardened production-SLA cluster, and the best-effort one is shut down. We'll signal both moves clearly in advance.
  • featureStatus page 🟢 — a new /status page (also linked from the Settings sidebar) shows live availability for FrontonGPT and Workspaces, with a 90-day uptime grid per service and a headline banner that turns amber/red the moment anything degrades. The surface that the SLA on the new cluster above will be measured against. Real checks now wired up — no more all-green placeholder:
    • FrontonGPT — every 5 minutes, an external HTTPS probe hits the public /api/v1/health endpoint from outside the cluster. Exercises the full user path — DNS, LB, ingress, TLS, app — not just the in-process handler. Response time over 3s flips the day to degraded; non-2xx or timeout flips it to outage.
    • Workspaces — one row per cluster — the page now lists each E2B provider separately (best-effort / SLA-backed), so you can tell at a glance which cluster is healthy. Every 5 minutes, each cluster gets a real end-to-end probe: spin up a brand-new ephemeral sandbox, run echo ok via envd, then kill it. Validates the full control-plane round-trip including container start. Slow probes (>20s) flag the cluster as degraded; failures as outage.
    • 90-day rollup, worst-status-wins — within each daily bar, the worst probe outcome of the day wins (so a single 5-minute outage in an otherwise green day shows red, not green). The banner up top reflects the worst current service across all rows. Uptime % only counts days we actually have data for, so a fresh deploy reads honestly instead of inflating itself with empty greens.

v2.8.13

May 20, 2026

“We changed one digit. You'll notice.”

  • 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

“Skills, on by default. Like they always should have been.”

  • 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

“Persistent volumes — shipped persistently. (Twice. Sorry about Wednesday.)”

  • 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 the embeddable widget: 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

“Search by vibe, powered by math. (We finally stopped pretending grep was enough.)”

  • 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

“The Teams bot has been faking it for months. We finally caught it.”

  • 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

“Analytics that finally answer the question you actually have.”

  • 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

“Click more. Type less. Delegate everything.”

  • 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

“Scaling up was easy. Scaling down took six months.”

  • 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

“Power-user polish. Plus one more workspace apology, while we're here.”

  • 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

“Salesforce. Now blamable directly on you.”

  • 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

“Your own elephant. Your own cloud. Try not to wreck them.”

  • 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

“Dashboards that wake themselves up. (Unlike everyone before noon.)”

  • 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

“Auto-router. Cost guardrails. Caveman fluency. We finally noticed your bill.”

  • 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 nudges 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