On-demand compute for copy jobs

Copy jobs can now run on on-demand compute instances. If a Copy Pipe hits memory limits on your main compute (either shared or dedicated), you can offload it to a dedicated instance with a single flag.

In the CLI (4.4.0+):

tb copy run my_copy_pipe --on-demand-compute

Or via the API by passing on_demand_compute=true to the copy job endpoint.

This is available on all paid plans, just like on-demand compute for populates. Previously gated behind a feature flag, on-demand compute for copies is now generally available.

CLI 4.4.0 is required. Update with tb update.

optimize_aggregation_in_order in API queries

You can now pass optimize_aggregation_in_order as a query setting in API requests. This ClickHouse® setting can speed up aggregation queries on tables where the Sorting Key matches the GROUP BY columns, by reading data in order and producing partial results without a full hash table.

Useful for time-series aggregations over large Data Sources with a matching Sorting Key.

TypeScript SDK updates

Several improvements landed in the TypeScript SDK (v0.0.62–0.0.64):

  • --last-partition flag for branch creation. When creating a branch with tb build or tb dev, you can now pass --last-partition to only copy the most recent partition into the branch, making branch creation faster for large Data Sources.
  • ingestBatch method on Data Source accessors. Typed Data Source accessors now expose ingestBatch directly, so you don't need to call it through the client.
  • Better error messages. Build and dev failures now show the actual error instead of undefined.
  • Multiline Connection parser fix. Connection files with multiline values (like KAFKA_SSL_CA_PEM using > continuation syntax) now parse correctly during migration.
  • Nullable + LowCardinality fix. Fixed a bug where nullable modifiers were incorrectly set when nullable was embedded inside a LowCardinality type string.

Deployment validation improvements

Two new validations catch configuration errors before they reach ClickHouse®:

  • Sorting Key column validation. Deployments now fail early if the Sorting Key references a column that doesn't exist in the Data Source schema.
  • TTL validation with fromUnixTimestamp64 functions. TTL expressions using fromUnixTimestamp64Milli, fromUnixTimestamp64Micro, or fromUnixTimestamp64Nano are now validated correctly during deployment.

system.data_skipping_indices

You can now query system.data_skipping_indices System Table to inspect the data-skipping indices defined on your Data Sources.

UI improvements

  • Organization domain warnings. When signing up or logging in via CLI, a warning now appears if your email domain matches an existing Organization, so you can join it instead of creating a duplicate.
  • Playground navigation. The playground header no longer disappears when clicking between nodes, and the sidebar overflow button is properly sized.
  • Job details panel. Fixed overflow in the job details split-screen panel.
  • Organization banner. The Organization banner is now sticky at the bottom of the page.

Deprecation of BI and billing service Data Sources

Action required: The following service Data Sources will stop working on Wednesday, April 1, 2026.

The following service Data Sources are deprecated and will be removed:

  • organization.bi_stats_rt and tinybird.bi_stats_rt
  • organization.bi_stats and tinybird.bi_stats
  • organization.processed_data

Deadline: Wednesday, April 1, 2026. After this date, queries against these Data Sources will fail. You must migrate any dependencies before then.

Migration path

Use ClickHouse® system tables instead. All deprecated tables were built on views over system tables—query them directly:

  • system.query_log — query execution logs including API queries, BI connector queries, and internal queries
  • system.query_views_log — materialized view execution logs

Always restrict system.query_log and system.query_views_log with a time filter on event_time—unbounded scans are slow and will time out.

Example replacements

To replace tinybird.bi_stats_rt and organization.bi_stats_rt

SELECT
  event_time_microseconds as start_datetime,
  current_database as database,
  query_id,
  query,
  normalizeQuery(query) as query_normalized,
  exception_code,
  exception,
  query_duration_ms as duration,
  read_bytes,
  read_rows,
  result_bytes,
  result_rows
FROM system.query_log
WHERE
  type > 1
  AND event_time >= now() - INTERVAL 1 DAY
  AND http_user_agent = 'postgres'

Materialized View execution logs

SELECT
  event_time,
  view_name,
  view_target,
  view_duration_ms,
  read_rows,
  read_bytes,
  written_rows,
  written_bytes,
  peak_memory_usage,
  exception_code,
  exception
FROM system.query_views_log
WHERE
  event_time >= now() - INTERVAL 1 DAY
  AND view_type = 2
  AND status > 1

API query usage

SELECT
  event_date as date,
  current_database as database,
  http_user_agent as user_agent,
  sum(read_bytes) as read_bytes,
  sum(written_bytes) as written_bytes
FROM system.query_log
WHERE
  type > 1
  AND event_time >= now() - INTERVAL 1 DAY
  AND notEmpty(http_user_agent)
GROUP BY database, user_agent, date

Materialized View usage

SELECT
  event_date as date,
  splitByChar('.', view_name)[1] as database,
  sum(read_bytes) as read_bytes,
  sum(written_bytes) as written_bytes
FROM system.query_views_log
WHERE
  event_time >= now() - INTERVAL 1 DAY
  AND view_type = 2
  AND status > 1
  AND splitByChar('.', view_name)[1] NOT IN ('default', 'system')
GROUP BY database, date

For column-level detail and querying patterns, see How to debug queries using system.query_log.

Bug fixes and improvements

  • [Classic]: Google Cloud Scheduler connections are now hidden from the /v0/connectors API, consistent with Forward behavior.

From the blog

Smarter deployments: faster schema changes for the most common operations: Most schema changes don't need a full table rebuild. ALTER TABLE support in deployments means simple changes deploy in seconds, not minutes.

Maple: an open-source observability platform built with Tinybird's TypeScript SDK: David Granzin built Maple, an observability platform for metrics, logs, and traces, using Tinybird's TypeScript SDK. Zero infrastructure to manage, AI agents accelerating development.

Still on Tinybird Classic? Migrate to Forward.