---
title: "Connectors support in branches, ClickHouse® settings, and SDK updates"
seo_title: "Branch Connectors and ClickHouse® Settings"
excerpt: "See the physical operations ClickHouse® performs when executing your query, plus Kafka start/stop in branches and a big TypeScript SDK update"
date: "2026-02-13"
---

## Agent skills

The [Tinybird agent skills](https://github.com/tinybirdco/tinybird-agent-skills) were reorganized into three focused skills with clearer naming. Deep endpoint optimization rules were merged into a single `endpoint-optimization.md` file for easier consumption by AI coding assistants.

{% image src="/assets/changelog/agent-skills-install.png" alt="Installing Tinybird agent skills with npx skills add, showing the three available skills: tinybird, tinybird-cli-guidelines, and tinybird-typescript-sdk-guidelines" /%}

## Branches and connectors

### Start and stop Kafka ingestion

New CLI commands let you pause and resume Kafka ingestion in Forward branches:

```bash
tb --branch <branch-name> datasource stop my_kafka_source
tb --branch <branch-name> datasource start my_kafka_source
```

When you stop a Kafka Data Source, ingestion pauses immediately. When you start it again, the consumer skips any messages that accumulated while stopped and resumes from the latest offset. This prevents a flood of backlogged messages when you bring the connection back online.

The same capability is available via API:

```bash
curl -X POST "https://api.tinybird.co/v0/datasources/my_kafka_source/stop" \
  -H "Authorization: Bearer $TOKEN"

curl -X POST "https://api.tinybird.co/v0/datasources/my_kafka_source/start" \
  -H "Authorization: Bearer $TOKEN"
```

Requires CLI 3.3.0.

### Sample import for S3 and GCS connections

Import sample data from S3 or GCS connections in Forward branches with a new API endpoint. Import a small sample to validate your schema and transformations before deploying to production.

```bash
curl -X POST "https://api.tinybird.co/v0/datasources/my_s3_source/sample" \
  -H "Authorization: Bearer $TOKEN"
```

### `--with-connections` flag is now stable

The `--with-connections` flag for `tb build` and `tb dev` commands is now stable. Previously experimental, this flag activates connection-based Data Sources (S3, Kafka, GCS) in branches. Requires CLI 3.3.0.

## More ClickHouse® settings

### Query settings

You can now pass [query-level settings](/sql-reference#settings) to control execution behavior:

- `max_threads`
- `max_memory_usage`
- `max_execution_time`
- `use_skip_indexes`
- `optimize_move_to_prewhere`
- `query_plan_optimize_lazy_materialization`
- `min_bytes_to_use_direct_io`
- `enable_filesystem_cache`
- `use_query_cache`

### Table settings

At the table level, you can now set merge behavior via [`ENGINE_SETTINGS`](/sql-reference/engines/engine-settings) in your `.datasource` files:

- `min_age_to_force_merge_seconds`
- `min_age_to_force_merge_on_partition_only`
- `enable_replacing_merge_with_cleanup_for_min_age_to_force_merge`

For example, to force cleanup merges on a `ReplacingMergeTree` after 10 seconds:

```sql
ENGINE "ReplacingMergeTree"
ENGINE_SORTING_KEY "id"
ENGINE_SETTINGS "min_age_to_force_merge_seconds=10,enable_replacing_merge_with_cleanup_for_min_age_to_force_merge=1"
```

More settings will be available in future releases. If there's a specific setting you need, reach out to support.

### Action details in Explain

The Explain panel now includes an option to show action details. Select "Include action details" to see the physical operations ClickHouse performs when executing your query, including read ranges, projections used, and prewhere optimizations.


This corresponds to the `actions=1` setting in ClickHouse's `EXPLAIN` statement. Available in both Classic and Forward, and also via the [Query API](/api-reference/query-api#id4) using the `explain_settings` parameter.

{% image src="/assets/changelog/actions_in_explain.png" alt="Explain panel showing action details with read ranges, projections, and prewhere optimizations" /%}

## Deployment improvements

### Safer deployments

Deployments got a series of reliability improvements for Workspaces with Copy Pipes and Sink Pipes.

- **Copy Pipes keep running during deployments**. They are no longer blocked while a deployment is in progress.
- **Data replicated by Copy Pipes stays consistent** between the live and staging versions of your Data Sources during promotion.
- **Sink Pipes are updated incrementally**. Only sinks that actually changed are touched during promotion, leaving the rest undisrupted.

### Smarter deployment diffs

Deployment diffs now ignore cosmetic changes that don't affect behavior:

- **Blank lines in SQL**: Adding or removing blank lines in a Pipe's SQL no longer triggers a diff.
- **Indentation in descriptions**: Whitespace changes in Data Source or Pipe descriptions are ignored.
- **Templated parameter indentation**: Pipes with templated parameters no longer show false diffs after `tb pull`.

These changes reduce noise in your deployment previews and prevent unnecessary redeployments.

## TypeScript SDK

The [TypeScript SDK](https://github.com/tinybirdco/tinybird-sdk-typescript) got a big batch of updates this week.

**JWT token creation**: Create JWT tokens programmatically from the SDK. Useful for generating scoped tokens for frontend clients or third-party integrations.

**Data Source operations**: New `datasources.append` method for importing data from a URL or file. New `datasources.delete` and `datasources.truncate` APIs for managing Data Source lifecycle.

**Region selection**: The `init` and `login` commands now let you pick a region, with your current region pre-selected. Regions are sorted by provider (GCP first, then AWS).

**New CLI commands**:
- `info`: Shows details about your current Workspace, branch, and configuration.
- `open`: Opens the Tinybird dashboard in your browser.
- `preview`: Generates preview branch tokens for CI/CD workflows.
- `--branch` flag for `build`: Build against a specific branch.

**Config file support**: Projects can now use `tinybird.config.ts`, `tinybird.config.js`, or `tinybird.config.json` instead of `.tinyb`. TypeScript configs are loaded via esbuild.

**Deploy improvements**: The `deploy` command now shows a resource changes table and progress output matching the Python CLI style.

**MCP server**: The MCP server (`@tinybirdco/devtools-mcp`) gained `login`, `build`, `list_branches`, `list_resources`, and `get_resource` tools. It also supports the `TINYBIRD_TOKEN` environment variable directly.

**SDK API surface**: Pipes and SQL are now exposed as top-level project client entities. The `TinybirdApi` wrapper is publicly available with generic type parameters. `SHARED_WITH` is supported in the Data Source generator.

### Bug fixes and improvements

- [Forward]: Playground parameter values are now correctly passed to the Explain panel. Previously, the panel used default values instead of the values you set in the parameter bar.
- [Forward]: Tab key now completes autocomplete suggestions in the Time Series SQL editor when the dropdown is open.
- [Forward]: Deleting a shared Playground as a non-owner now returns a 403 Forbidden status code instead of an unhandled error.
- [Forward]: Accessing a Playground you're not a member of now returns 404 instead of an error.
- [Forward]: Deleting a Forward Workspace now correctly cleans up all associated branches.
- [Classic]: Fixed duplicate query IDs in Time Series requests.
- [All]: Fixed query overflow in the CodeMirror editor. Horizontal scrolling now works correctly for long queries.
- [CLI]: `tb pull` no longer adds a spurious `TYPE ENDPOINT` line to legacy Pipes.

### From the blog

**[How We Built Time Series](https://www.tinybird.co/blog/how-we-built-timeseries)**: A technical deep-dive into the SQL patterns behind Time Series visualizations. Filling time gaps with `arrayJoin`, adaptive granularity selection, and how we use Time Series to debug our own alerts.
