Changelog

The latest features and improvements shipped in OSO.

October 2026

Insights

Find favorited pages in the sidebar and command palette

Favorited static pages now appear in the sidebar's Favorites group right after your favorited notebooks, and in the command palette's Favorites group. The command palette (Ctrl+K, or Cmd+K on a Mac) also has a new Pages group that lists every page in your org, searchable by name or description. Changes to favorited pages now show up in the event log's high-relevance view, just like favorited notebooks.

Insights

Print the full report from a static page

Printing a static page now gives you the whole report, split across as many sheets as it needs, without the app's sidebar and header. Use the new Print button while viewing a page, or press Ctrl+P (Cmd+P on a Mac).

Integrations

See what's new with the product changelog

Browse everything we have shipped on the new public Changelog page, a month-by-month timeline you can filter by topic and open without logging in. Org members can also open "Changelog" from the account menu in the sidebar to see the latest updates in a "What's new" dialog, with a link to the full page.

Agents

The chat agent can navigate the app for you

The chat bubble now follows the agent when it takes you to another page, and agents can link you straight to the right settings screen when you ask how to change something. Links in agent questions are clickable, and the close tooltip reminds you that agents keep running in the background.

IntegrationsInsights

Read and reply to page comments from the MCP server

AI tools connected through the OSO MCP server can now work with static page comments just like notebook comments. They can list threads, start new ones, reply, edit, delete, resolve, and assign them.

Models

Write async Python UDMs

Python data models can now run asynchronously, so a single model can issue many queries and web requests at once instead of one at a time. Responses can also be streamed rather than loaded whole, which keeps large downloads manageable.

InsightsModels

Publish static pages from your data models

Turn the HTML your data models produce into a published static page, so you can share a report or dashboard with anyone through a link instead of exporting it by hand.

Agents

Phone navigation tray and device notifications

On phones, a bottom tray now gives you one-tap access to full-screen Chat, Notifications and Settings, with an unread badge. You can also turn on device notifications so new inbox items reach you while the app is open in the background, and the organization switcher is now searchable.

Insights

Redesigned static page viewer with details and lineage

The static page viewer has a cleaner single-title header, a Details panel, and a full screen mode on desktop and mobile. A new lineage view traces a page back through its data models and shows how fresh each upstream step is.

Integrations

Upload an image as your organization's avatar

Org admins can now upload an image file as the organization avatar in Settings, instead of having to host it and paste a URL. The avatar shows up in the sidebar and the org switcher, so your team can tell organizations apart at a glance.

Agents

See notifications from all your organizations in one Inbox

The Inbox now brings together notifications and agent questions from every organization you belong to, with a filter and org tags to narrow it down. You can open and act on an item from another organization without switching, on desktop and on your phone.

September 2026

Models

Store files in Python model DataFrames

Python models can write binary files such as images and documents into blob columns and stream them back in later runs, without loading them fully into memory. Blob columns appear in the materialized schema, and blobs left behind by failed runs are cleaned up automatically.

Integrations

Larger Google Sheets exports

Google Sheets export actions now stream results and limit an export by total cells (5 million) instead of 100,000 rows, so wide tables and long tables both fit better. An export over the limit fails clearly rather than being cut short.

AgentsIntegrations

Agent skills

Save skills as agent memories, filter your memories by kind and see validation errors on a skill as you edit it. Background agents load your organization's skills at the start of every session, and skills are also available to other tools through the OSO MCP server.

IntegrationsModels

Ingest XLSX, CSV, JSON, JSONL, Parquet and DOCX files

Upload spreadsheets, documents and data files as static datasets, or pull them in from Google Drive, in any of these formats. Drive uploads now appear in the file picker next to Google Sheets.

Models

Retry a run group from its detail page

Use Re-run all to start a fresh copy of a run group, or Retry failed to re-queue only its failed runs in place, straight from the run group page.

Integrations

OAuth applications for your organization

Publish OAuth applications and manage which organizations have authorized them from the new OAuth Apps tab in organization settings. Apps and MCP clients sign in through a consent screen where you choose the organization to grant, and you can authorize an app for more organizations later.

Integrations

Trigger a webhook, Slack message or Sheets export from a run group

Add actions to your catalog that run after a run group finishes: call a webhook, post a Slack message or export a model to Google Sheets. Choose which models trigger each action, run one on demand and see its last run at a glance.

IntegrationsModels

Share datasets directly with specific organizations

Share a dataset with another organization by name from the marketplace share dialog, see who has access and revoke it at any time. The recipient gets an Inbox notification and finds the dataset in their catalog marked as external, and a dataset can now be public and shared at the same time.

Integrations

Describe your secrets and share them with agents

Add a description to each secret in the web app, and agents connected through the OSO MCP server can see your secret names and descriptions. They know which credentials are available and what each one is for.

Models

Run upstream dependencies and read run groups more easily

Schedule a model or press Run in the catalog with the option to run its upstream dependencies first. Run groups now list runs in dependency order with blocked-by badges and show model names instead of repeated dataset names, so it is clear what ran and what it was waiting on.

August 2026

InsightsIntegrations

Share a public organization profile

Organizations now have a public profile with a description and avatar that you edit in settings. Visitors can browse the organization's public notebooks without being a member or signing in.

IntegrationsModels

Ingest GitHub repositories into a dataset

Connect GitHub once from the Integrations page, then pick a repository and the data to include, such as commits, events, branches, releases, and file contents. Each repository lands in its own dataset on a schedule, ready to query.

ModelsAgents

Define metrics once with the semantic layer

Define dimensions, measures, and relationships on your data models once, then query them without rewriting SQL. Browse and edit them in the new semantic model editor, or query them from the OSO MCP server and Python SDK. Agents now check the semantic layer first, and a background agent can clean up overlapping models and propose merges in your Inbox.

Agents

Agent chat now runs on tasks, with live streaming

Chats and background agents now share one task model, so a chat appears alongside your other tasks and you can jump between the two views. Responses and tool activity stream into the conversation as they happen.

Agents

Background agents can pause and wake themselves

A background agent waiting on something slow can now pause itself and be woken at a time it chooses, instead of polling and burning compute. Paused tasks show their wake time, and you can reply to one to resume it right away.

Agents

Search and sort Agent Memory

Find memories faster with search and sorting on the Agent Memory page. Previews now render markdown in a modern, GitHub-style layout.

July 2026

Agents

Inbox ownership and a real notification feed

Every Inbox item now has a single owner, and reassigning an agent moves its open items to the new owner. The notifications bell now shows a real feed with unread tracking instead of only invitations, and the Inbox question form has its free-text answer field back.

Agents

Agents now run on Claude Sonnet 5 and Opus 5

Background agents and agent chat now use Claude Sonnet 5 for the standard tier and Claude Opus 5 for the advanced tier.

IntegrationsModels

Ingest Slack public channels

Connect your Slack workspace from the Integrations page and ingest the history of its public channels as a dataset, including thread replies, users and reactions. OSO joins the public channels it needs to read them.

Models

Scheduled and recurring dataset runs

Set a cron schedule on a dataset from the Data Catalog and it runs on its own. The Runs page has a new Upcoming tab that shows what is scheduled next.

Agents

Recurring schedules for background agents

Dispatch a background agent on a recurring cron schedule instead of running it once. A new Scheduled tab on the agents page lists your recurring agents.

Agents

An Inbox for agent questions

A new Inbox page collects the questions your agents ask, grouped by what needs attention. Answer in place, or delegate a question to a teammate, with updates arriving in real time.

Integrations

Member and Reader organization roles

Organizations now support Member and Reader roles alongside admins. You can invite people as a Member or a Reader and set roles from the Members page, with Readers limited to viewing and only admins managing other members.

Agents

Attach images and PDFs to agent chats

Attach images and PDFs as context when you chat with the agent, or to the initial goal when you dispatch a background agent. The agent can read the files you attach.

Models

Dataset lineage, run history and preview

Dataset detail pages now show lineage, with the datasets a dataset depends on and the ones that depend on it. They also include run history with links to logs, and a preview of the data.

IntegrationsModels

Ingest YouTube Analytics data

Connect your Google account on the Integrations page, pick a YouTube channel, and create a dataset of its analytics reports. The data lands in your organization alongside your other datasets.

Agents

Choose whether the agent sees your current page

The agent chat bubble has a new "Using this page as context" toggle, so you decide whether the agent gets the page you are viewing. The agent also understands more about what each page shows when the toggle is on.

Models

Run details and in-app logs

Each run now has a detail page with its metadata, steps, and logs you can read in the app, both for the whole run and for each step. The Runs page also adds a Requested by column and fixes the status filters, the Schedule dialog's dataset list, and the "Unknown asset" label on runs that are not tied to a dataset.

Models

Runs page with run history and scheduling

A new Runs page in your organization lists every run in a paginated table, with status tabs that show counts. You can cancel a running run, open its logs from any row, and trigger a run on demand from the Schedule dialog.

Integrations

Sign in with an email link or code

Sign in without a password: enter your email and we send a magic link, or a one-time code you can type in on the sign-in page. New users are set up automatically the first time they sign in this way.

AgentsIntegrations

Manage background agents from the OSO MCP server

The OSO MCP server now exposes tools to list, dispatch and manage background agents, so you can drive agent tasks from any MCP client such as Claude Code.