# October 2026

> becca is now sanda, Streams with Postgres and stream graphs, numbers across tables in one answer, a region and an edition at signup, and security fixes.

## 7 October

**Streams**

- Streams have a page of their own, **Data · Streams**, just below **Modelling**, with three tabs: **Graphs**, **Streams in** and **Streams out**. Push is now **Streams out**: every push became a stream out, with its runs, its schedule and what it remembered of Salesforce, and the old addresses open the new pages. See [streams](https://docs.sanda-os.com.au/streams).
- Stream a PostgreSQL database into your warehouse every few minutes, with nothing to write or approve. Postgres is the first published source: sanda wrote the code that reads it, so every workspace has it. Connect the database (sanda signs in and reads one row before it keeps anything), choose its tables, read each by a cursor such as `updated_at` or whole, and pick a schedule. Every column lands typed by the column it came from. See [stream a Postgres database](https://docs.sanda-os.com.au/streams/postgres).
- A stream in can also land an app's records from its API: the sales from your point of sale, the bookings from your booking system, the jobs from your field service app. Ask cherry to build one. It reads the app's API documentation, writes a connector, tries it with the API key you paste into a form beside the conversation, and asks an owner or admin to approve what the connector may touch before anything runs. See [build a stream in with cherry](https://docs.sanda-os.com.au/streams/build-a-stream-in).
- Stream graphs land, model and send. Every time a stream in lands rows, a graph runs the task that models what they feed, then starts the streams out that send the result. Nothing is sent when the modelling didn't succeed, and the graph's page says why. See [stream graphs](https://docs.sanda-os.com.au/streams/graphs).
- Each run of a stream in reads only new and changed records, and lands each table or resource as a table of its own in your warehouse's `raw` schema, with a column per field. A record that hasn't changed is neither rewritten nor counted. See [streams in](https://docs.sanda-os.com.au/streams/in).
- A connector has no network of its own. sanda makes every request it asks for, only to the hosts an owner or admin approved, and attaches your credential itself, so the connector never sees it. A fixed connector is a new version, approved again. See [approve a connector](https://docs.sanda-os.com.au/streams/approve-a-connector).
- A stream keeps its own clock, off the 15 minute grid: as often as every 15 minutes on Standard, and every 5 minutes on Enterprise. A stream out can also run after a stream in lands, or when a stream graph has modelled what landed. For now a workspace's streams run one at a time, so a run may wait for its turn. See [how often a stream runs](https://docs.sanda-os.com.au/streams#how-often-a-stream-runs).
- Streams are on Standard and Enterprise, and in a trial. Standard holds up to 20 streams in and 1 out, and Enterprise any number. Each run that does its work is A$0.000182, on a new **Stream runs** line of the invoice. Each edition includes some rows moved every month (10,000,000 rows on Standard and 50,000,000 rows on Enterprise), and the rest are A$20 a million, on a new **Streams** line. Where you choose a stream's schedule, and on its page, sanda estimates what it costs a month. See [what streams cost](https://docs.sanda-os.com.au/streams#what-streams-cost).

**Connections**

- A connection's streams are now called tables, everywhere the console names them: the table picker, the **Tables** panel with **Edit tables**, the wizard's **Tables** step and **Tables in this run**. Its guide, [choose what to sync](https://docs.sanda-os.com.au/connections/choose-tables), has a new address, and the old one still opens it.

**MCP**

- Agents can see your streams, their runs and stream graphs, and estimate what a stream costs a month, with **May see connections and warehouses** (`workspace:read`). A new permission, **May run streams** (`streams:manage`), lets an agent run, pause and resume streams and stream graphs. Only an owner or admin can grant it. See [the MCP tool reference](https://docs.sanda-os.com.au/mcp/tools#streams).

**cherry**

- cherry builds streams in, under a new switch, **streams**, in **Settings · cherry**. Approving a connector and starting a stream in always ask first, whatever the mode. For a Postgres database, cherry sends you to **New stream in** rather than writing a connector. See [what cherry can do](https://docs.sanda-os.com.au/cherry/capabilities#streams-in).
- A password or API key pasted into a message to cherry is taken out of it before the message is kept or answered, and the message says so. See [memory and conversations](https://docs.sanda-os.com.au/cherry/memory-and-history#how-long-conversations-are-kept).

**Plans and billing**

- Signup asks which edition you want after your free trial: Basic or Standard, under **Edition after your trial**. Each choice shows its monthly fee and what it is for, and a **Start free · 7 days, no card** button on the pricing page opens the form with that card's edition already chosen. The trial is the same whichever you choose, and nothing is billed until you move to an edition. See [choose at signup](https://docs.sanda-os.com.au/billing/editions#choose-at-signup).
- Enterprise starts with a conversation rather than a trial. On the signup form, **Talk to us about Enterprise** opens the same enquiry as **Talk to us** on the pricing page's Enterprise card.
- During a trial, **Settings · Plan & budget** marks the edition you chose **picked at signup**, and **What you told us at signup** under **Settings · Workspace** lists it. Ask to move to it, or to any other edition, when you are ready. See [editions](https://docs.sanda-os.com.au/billing/editions).

## 6 October

**sanda**

- becca is now sanda. The name, the logo (three salmon circles) and the colours have changed across the website, the console, the reports portal, emails and these docs. Nothing else has: your workspace, warehouse, connections and credentials stay exactly as they were.
- sanda has new addresses, on sanda-os.com.au: the website is sanda-os.com.au, the console is console.sanda-os.com.au, and the MCP endpoint and OData feeds are under `https://console.sanda-os.com.au/api/`. The reports portal and these docs moved the same way. Every old becca-os.com address, and the same names on sanda-os.com, takes you to its new home, so bookmarks and links in old emails still work. A Claude connection or OData feed you set up on console.becca-os.com keeps working where it is; point it at the new address when you next touch it. You sign in again once, on the new console. Email moved too: sign-in links and reports now come from noreply@sanda-os.com.au, so if your IT team allows senders by name, add that one. Write to us at hello@sanda-os.com.au. See [connect Claude](https://docs.sanda-os.com.au/mcp/connect-claude) and [OData](https://docs.sanda-os.com.au/odata).
- Text is darker and easier to read everywhere, small print and labels most of all, and the dark panels are now a warm charcoal.
- sanda is now run by Sanda Technologies Pty Ltd (ABN 63 702 995 015, ACN 702 995 015). The terms and the privacy policy name the company from 6 October 2026, and the footer shows both numbers. The next time you open the console it asks you to read and accept the privacy policy again. Account holders are told by email before the updated terms apply to a workspace that signed up earlier. See [privacy](https://docs.sanda-os.com.au/workspace/privacy).
- Report colours have a new default, **salmon**, to match. A workspace that never picked its colours now draws reports in salmon. If you chose **cherry** before, it is still there and still yours. See [workspace settings](https://docs.sanda-os.com.au/workspace).
- An authenticator app set up from today lists your two-step code under sanda. One you set up earlier keeps the label it had, and its codes still work.

**Semantic fluid**

- Numbers measured on different tables sit in one answer everywhere sanda reads the semantic fluid, the OData feed and pushes included. Put `revenue`, summed over order lines, beside `order count`, counted over orders, and each order is counted once however many lines it has. A table counted this way needs its key columns set. See [query the fluid](https://docs.sanda-os.com.au/semantic-fluid/query-the-fluid#numbers-from-different-tables).
- A metric built from metrics on other tables runs wherever a relationship joins the tables. Each part is worked out on its own table, so `{revenue} / nullif({order count}, 0)` is revenue per order. See [metrics](https://docs.sanda-os.com.au/semantic-fluid/metrics#build-on-other-metrics).
- A metric's own condition applies to that number alone. Two metrics whose conditions disagree sit side by side instead of being refused, and a metric that counts only paid invoices no longer narrows the invoice count beside it. A metric built from others keeps each part's own condition. See [metrics](https://docs.sanda-os.com.au/semantic-fluid/metrics#filters-on-a-metric).
- A row whose relationship finds no match is kept, with `null` on the other side, rather than left out, so a breakdown still adds up to its total.
- Every question now goes straight to your warehouse. One asked again within a few seconds is answered from the first answer, and a report with many blocks fills in from the top. See [blocks](https://docs.sanda-os.com.au/reports/blocks#what-every-data-block-stores).

## 1 to 3 October

**Push**

- Push is in the console, under **Activate · Push**, once it is switched on for your console. Until then it isn't listed. Connect a Salesforce org by signing in to Salesforce as the user sanda writes as, then create a push: the object, how each record is found, and the sanda value for each field. Each run sends only the records whose values changed, and a run where nothing changed makes no Salesforce call. See [streams out](https://docs.sanda-os.com.au/streams/out).
- A new push opens with **Preview the next run**: how many records a run would send, the first twenty, and the rows that can't be sent as they stand. Saving sends nothing, so you can check the preview before the first run. Anyone who can open the console can preview, read-only members included.
- A push's **Runs** says what each run did. Open one to see the records it couldn't deliver, with Salesforce's own reason and sanda's hint beside it. See [runs and refusals](https://docs.sanda-os.com.au/streams/runs).
- Push to Salesforce is included on Standard and Enterprise, and in a trial. A workspace holds up to 1 on Standard and any number on Enterprise. The editions table, **Settings · Plan & budget** and the pricing page list it. See [editions](https://docs.sanda-os.com.au/billing/editions).

**Workspace and security**

- Settings is now six tabs across the top of the page instead of one long page: **Workspace**, **Plan & budget**, **Team**, **cherry**, **Security** and **Integrations**. Report colours have moved into **Workspace**, and closing or deleting the workspace is at the foot of that tab. The tab you are on is kept in the address, so a link or a reload opens the same one. See [workspace settings](https://docs.sanda-os.com.au/workspace).
- Signup asks where your data is held. Under **Data region**, you choose the region a new workspace lives in: its warehouse is created there, and loading and modelling run there. Workspaces can be created in Australia (Sydney). See [quickstart](https://docs.sanda-os.com.au/get-started/quickstart).
- A workspace stays in the region it was created in. **Settings · Workspace** now shows its **Data region** rather than offering a choice. See [workspace settings](https://docs.sanda-os.com.au/workspace#workspace).
- The global data plane, which was announced and never opened, is no longer listed on the pricing page or in Settings.
- Codes tried when turning off two-step sign-in now count toward the same hourly limit as codes tried at sign-in. See [two-step verification](https://docs.sanda-os.com.au/workspace/two-step).
- Connecting an assistant to a workspace that requires two-step sign-in now asks you to have it set up, even when you are signed in to a different workspace. See [Connect Claude](https://docs.sanda-os.com.au/mcp/connect-claude).
- A portal handoff link opened from another website no longer signs anyone in. See [the reports portal](https://docs.sanda-os.com.au/reports/portal).
- A closed workspace narrows every credential to the reading it already had. A credential that could only add rows or send reports can no longer do either. See [permissions and approvals](https://docs.sanda-os.com.au/mcp/permissions).
- Fixed: the SQL shell could be made to run a second statement after the first, so a read-only statement could commit a change. It now runs exactly one statement, as it says.
- Fixed: duplicating a private report, or saving it as a template, made a copy everyone in the workspace could open. The copy is now private. See [share a report](https://docs.sanda-os.com.au/reports/sharing).
- Fixed: the Report schedules page listed the schedules of private reports to people who could not open them.
- Fixed: a report's shared conversation could be reached from cherry's thread list by the person who typed first in it, after they lost access to the report.

**cherry**

- Only owners and admins add to or remove the workspace's memory. Everyone else keeps personal notes. See [memory and conversations](https://docs.sanda-os.com.au/cherry/memory-and-history).
- cherry no longer runs SQL of its own when the **sql** switch is off under **Settings · cherry**, even when a model asks to.
