
What’s new — features, improvements and fixes.
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.
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.skills/. Everything is in version control, peer-reviewed via PRs, and auditable.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.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.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.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.PINECONE_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, /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."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.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.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.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.↑↓ / ↵ 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.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.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.⌘ + number tab-jump and Chrome's tab search land you on the right thread instantly instead of cycling through "AssistantGPT • AI Assistant" × 6.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.
SELECT. Cannot create, update, or delete records, by design. The credentials row shows "Using shared" so the state is never ambiguous.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.pd.read_csv every time.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.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.DATABASE_URL keeps pointing at it — no reconfig.psql, DBeaver, TablePlus, Metabase, or your favourite BI tool. Rate-limited to once a minute per member.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.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:→ arrows. One word per idea where possible.@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:@xxx pills next to each model in the picker so they're always discoverable.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./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.