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.