Everything from Launch Week March 2026. Five days, five releases.
CLI 4.0¶
A better workflow for both coding agents and humans.
Configure your environment once in tinybird.config.json, and tb build and tb deploy just work. No more --cloud, --branch, or --local flags.
tb init # scaffold your project and dev env tb build # builds against your configured environment tb deploy # deploys to production
Three modes:
branch:tb buildreads your git branch and targets an isolated Tinybird branch. Creates it if it doesn't exist.local:tb buildruns against Tinybird Local.tb deployroutes to Cloud production.manual: Same as CLI 3.x. Pass--cloud,--local, or--branchexplicitly.
Also new: SDK bridges for TypeScript and Python projects (auto-generates datafiles before build/deploy/preview), clear command boundaries (tb workspace, tb branch, tb local), and zero AI dependencies (the embedded agent module is gone, ~5,500 lines removed).
Read the full post: CLI 4.0: a better workflow
Python SDK¶
Define Data Sources, Pipes, Endpoints, connections, Materialized Views, and Copy Pipes as Python code.
from tinybird import datasource, types as t, engine
page_views = datasource(
"page_views",
schema={
"timestamp": t.DateTime(),
"session_id": t.String(),
"pathname": t.String(),
},
engine=engine.MergeTree(sorting_key=["pathname", "timestamp"]),
)
Full type support with IDE autocomplete. Works with Pydantic (BaseModel as a datasource schema). Typed ingestion catches wrong fields or types before runtime via mypy/pyright. Full ClickHouse® type system with chainable modifiers: .nullable(), .low_cardinality(), .default(), .codec().
Incremental migration: tb migrate converts existing .datasource and .pipe files to Python. Both formats work side by side.
uv add tinybird-python-sdk
Read the full post: Tinybird, now Python-native too
A redesigned UI¶
A faster, information-dense UI to understand, observe, and operate your Tinybird Workspaces.
Overview page. Your Workspace landing page now shows project resources, errors from the last 7 days, usage metrics (vCPU, requests, ingested rows), last deployment status, and an AI-generated Workspace summary. An Integrate section has tabs for API host, MCP server URL, ClickHouse® interface, and a copy-pasteable AI prompt describing your Workspace.
Unified Resources page. Every Data Source, Pipe, Endpoint, and connection in one table with inline metrics. Filter by type, errors, deployment ID, or usage conditions like Avg latency > 100ms. Toggle between list view and lineage view.
Split-screen inspection. Click any resource to open its detail panel to the right. Browse the list on the left, inspect on the right. Filters and scroll position preserved.
Collapsible sidebar. Cmd+B collapses the sidebar to 12px. Full viewport for queries, data flows, and Explorations.
Header breadcrumb. Organization / Workspace / Environment. Switch between Cloud, Local, or any branch without leaving the page.
Read the full post: A redesigned Tinybird UI for developers and operators
Unified logs¶
A single Logs page that merges Endpoint requests, Data Source operations, Kafka activity, sink executions, and job runs into one timeline.
Composable filters. Time range (15 minutes to 30 days), source toggles, errors only, specific HTTP status codes, free-text search. All filters persist in the URL for sharing and bookmarking.
Split-screen detail. Click any log entry to open the resource panel or a structured detail view with formatted values (durations in ms, row counts with separators, bytes in human units).
tb logs in the CLI. Same unified view from your terminal. Queries all 9 service Data Sources at once.
tb logs --start -30m --source '*'
Supports --expand, --verbose, --output json, relative times (-1h, -7d), and up to 1,000 rows.
Read the full post: A unified logs viewer for your entire Tinybird Workspace
Data previews¶
Every PR gets its own isolated Tinybird environment.
One command in CI creates a Cloud branch per PR, builds your resources, and deploys them:
- run: tinybird preview
env:
TINYBIRD_TOKEN: ${{ secrets.TINYBIRD_TOKEN }}
The TypeScript and Python SDKs detect preview environments and resolve the correct branch token automatically. Your Vercel preview app queries the Tinybird preview branch without extra env vars or token wiring.
Supported out of the box: Vercel, GitHub Actions, GitLab CI, CircleCI, Azure Pipelines, Bitbucket Pipelines, Travis CI, Jenkins.
The full cycle: tb build locally, push, CI validates and creates preview, Vercel preview auto-resolves to the Tinybird branch, reviewer sees the result with real data, merge to main, tinybird deploy to production.
Read the full post: Data Previews
Bug fixes and improvements¶
- [All]: Fixed partition quoting for
FixedStringcolumns. - [All]: Fixed CSV import delimiter not being applied when the API sets
delimiter=None. - [All]: Fixed invalid
schedule_cronvalues not being caught during validation. - [All]: Kafka connections now support
json_with_schemaas a value format. - [All]:
PREWHEREis now allowed in initial Workspace setup in Tinybird Local. - [Forward]: Pending jobs are now correctly marked as
ERRORwhen the parent Workspace is deleted. - [Forward]: Fixed Playground export not considering parameter values when exporting JSON/CSV.
Still on Tinybird Classic? Migrate to Forward.