---
title: "CSV import fixes and TypeScript SDK generator"
excerpt: "Fixed NULL handling in CSV imports, new generator API in the TypeScript SDK, and several bug fixes."
date: "2026-03-06"
---

## CSV import fixes

Fixed several issues with how empty fields and `NULL` values were handled during CSV imports through ClickHouse®.

Previously, empty CSV fields in nullable columns could be incorrectly sent to quarantine instead of being stored as `NULL`. Empty fields in non-nullable columns (like integers) were also quarantined instead of receiving their type's default value (for example, 0 for `Int64`).

This also fixes `Array` columns in CSV imports, which were failing with a `TYPE_MISMATCH` error because of a conflict between the `Nullable(String)` intermediate representation and the `Array` target type.

If you've been working around CSV import quarantine issues, these fixes should resolve them without changes on your side.

## TypeScript SDK

The [TypeScript SDK](https://github.com/tinybirdco/tinybird-sdk-typescript) now includes a `tinybird generate` CLI command. It builds Tinybird resources (Data Sources, Pipes, Connections) from your TypeScript include paths and outputs a stable artifact contract that external tools and CI pipelines can consume.

Ingest calls now support automatic retries. Set `maxRetries` in your ingest options and the SDK handles HTTP 429 (rate limited) and 503 (service unavailable) responses automatically. 429 retries respect `Retry-After` and `X-RateLimit-Reset` headers. 503 retries use exponential backoff.

## API Endpoint charts removed

The Endpoint charts feature has been removed from the Classic UI. This was a rarely used feature for embedding chart visualizations of Endpoint results. If you were using Endpoint charts, you can build equivalent visualizations using the Endpoint responses directly.

## Bug fixes and improvements

- Requesting a missing Pipe node now correctly returns a 404 status code instead of 403.
- S3 import file size limits now correctly respect Workspace-level overrides, instead of always applying the default limits.
- `JSON` type columns are now parsed correctly during populate operations.

## From the blog

**[How Tinybird's storage architecture works: S3, local caching, and zero-copy replication](https://www.tinybird.co/blog/tinybird-architecture)**: How we run ClickHouse® on top of object storage with local SSD caching, zero-copy replication, and a packed part format that cuts S3 costs by 30-40%.

## Next week is Launch Week

Stay tuned. We have a lot to share. [tbrd.co/launch-week](https://tbrd.co/launch-week)
