Changelog

What's new in Zipline

Version history, new connectors, performance improvements, and breaking changes. Subscribe to get release notes in your inbox.

Apr 15, 2026
v2.4.0 · Latest
Exactly-once for Kafka 3.8 · DynamoDB source GA
Breaking change
Schema registry endpoint changed from /v1/schemas to /v2/registry. Update your zipline.yaml and any direct API integrations before upgrading. The v1 endpoint will serve 410 Gone after 2026-06-01.
New
  • Exactly-once delivery for Kafka 3.8 using transaction IDs and idempotent producers. Zero duplicate messages across broker failover and leader election events.
  • DynamoDB CDC source now generally available - was beta since v2.2. Supports DynamoDB Streams with per-shard parallelism and exactly-once checkpoint semantics.
  • zipline estimate CLI command - predict monthly event volume from source database statistics before deploying. Shows per-table write rates, estimated egress, and projected cost.
  • Schema registry v2 with merge strategies and conflict detection. Supports backward, forward, and full compatibility modes. Conflict alerts fire to PagerDuty and Slack webhooks.
Improved
  • 23% throughput improvement on Postgres CDC for tables with wide rows (>64 columns). Achieved by batching column reads and compressing WAL events before forwarding.
  • 18% reduction in memory footprint in high-cardinality table scenarios. Connectors no longer cache full schema snapshots in heap when schema registry is available.
Fixed
  • Fixed rare race condition in Postgres connector where two workers could claim the same WAL segment during scaling events.
  • Fixed zipline status showing stale lag metrics for connectors that had been paused and resumed.
  • Fixed MySQL binlog connector failing silently on GTID mode when the source had more than 8,192 active transactions.
View full release notes
Mar 28, 2026
v2.3.1 · Patch
Hotfix: Postgres WAL slot leak on connector restart

When a Zipline connector was restarted while the Postgres source was under heavy write load, the previous replication slot was not reliably cleaned up before the new slot was created. In some topologies, this caused replication slot accumulation - up to one new slot per restart - which could block VACUUM and eventually cause disk exhaustion on the source database.

The fix adds a synchronous cleanup step before slot creation and a slot-count guard that alerts when more than 2 slots exist for the same connector name. Upgrading to v2.3.1 is strongly recommended for all Postgres source users.

Fixed
  • WAL replication slot leak on connector restart under high write load. Previous slot now synchronously dropped before new slot creation.
  • Added max_replication_slots guard - connector now alerts and refuses to create more than 2 slots per connector name, preventing silent accumulation.
View full release notes
Mar 12, 2026
v2.3.0
ClickHouse sink · Replay API · Terraform 2.0 provider
Deprecation notice
Terraform resource names zipline_connector and zipline_pipeline are deprecated in favor of zipline_source_connector and zipline_sink_connector. Old names will be removed in v2.5.0. Run zipline tf migrate to auto-update your HCL.
New
  • ClickHouse sink - native ReplicatedMergeTree support with automatic schema creation, nullable column inference, and batch insert optimization. Sustains >400k events/sec per connector.
  • Replay API - replay any time range from any table via POST /v2/replay or zipline replay --from=2026-03-01 --to=2026-03-12. Replayed events are tagged with X-Zipline-Replay: true.
  • Terraform provider v2.0 - new resource types, import support for existing connectors, and a data source for reading connector metrics in Terraform.
Improved
  • BigQuery sink throughput 2× - switched from streaming inserts to Storage Write API with automatic table partitioning by _zipline_ts.
View full release notes
Feb 18, 2026
v2.2.0
Pulsar source · OTel 2.0 · Multi-region active-active
New
  • Apache Pulsar source connector - subscribe to Pulsar topics as a CDC source. Supports shared, exclusive, and key-shared subscription modes with exactly-once via Pulsar transactions.
  • OpenTelemetry 2.0 support - all pipeline spans, metrics, and logs now export via OTLP. Native integrations for Datadog, Grafana Tempo, and Honeycomb.
  • Multi-region active-active replication - replicate Postgres across AWS us-east-1, eu-west-1, and ap-southeast-1 simultaneously. Configurable conflict resolution: last-write-wins, field-level merge, or custom resolver function.
Deployed to 400+ clusters in week 1
View full release notes
Jan 22, 2026
v2.1.0
CockroachDB source GA · SCIM provisioning · Audit log export
New
  • CockroachDB source generally available - uses CHANGEFEED with Avro schema encoding. Full support for multi-region CockroachDB topologies and serializable isolation.
  • SCIM 2.0 user provisioning - sync users and groups from Okta, Azure AD, and Google Workspace. Role assignments sync automatically when group membership changes.
  • Audit log export - every Zipline configuration change, deploy, and pipeline event written to an immutable audit trail. Export to S3, GCS, or Splunk. Required for SOC 2 Type II and FedRAMP.
View full release notes
Dec 10, 2025
v2.0.0 · Major
Zipline 2.0: new pipeline engine, 3× faster CDC
Migration required
Zipline 2.0 introduces a new YAML format and pipeline engine that is not backward-compatible with v1.x configurations. Before upgrading, read the v1 → v2 migration guide and run zipline migrate --dry-run to preview all configuration changes. Allow 30–60 minutes for large deployments.
What's new
  • New pipeline engine - complete rewrite in Go with a lock-free event bus. 3× higher CDC throughput on equivalent hardware. Startup time reduced from 8s to under 800ms.
  • New YAML format - unified connector schema replaces the v1 source/sink split. Pipelines now expressed as a directed graph with explicit edge declarations.
  • Breaking API changes - REST API versioned at /v2/. Old /v1/ endpoints return 410 Gone. All SDKs updated to 2.0.0.
  • Native exactly-once primitives - moved from advisory locks to WAL-level transaction IDs. Eliminates the need for downstream deduplication in most sink types.
Read the v2.0 announcement
Engineering blog
Deep Dive
How we achieved exactly-once at 1.2M events/sec

A detailed look at the WAL-to-sink transaction ID chaining that powers Zipline's exactly-once guarantees. We cover Kafka idempotent producers, checkpoint fencing, and what happens when a broker crashes mid-batch at 1.2M events per second.

Apr 10, 2026 · 18 min read
Read
Engineering
Building a zero-downtime connector migration system

When Shopify needed to migrate 42 connectors from v1 to v2 without interrupting their Black Friday pipelines, we built a shadow-mode migration system. Here's how it works: dual-write, lag comparison, and the automated cutover that took 11 seconds per connector.

Mar 25, 2026 · 14 min read
Read
Debugging
The anatomy of a WAL slot leak: debugging Postgres CDC in production

After a customer's Postgres source ran out of disk space due to replication slot accumulation, we traced the issue through 14 layers of indirection. This post walks through our debugging process, the fix in v2.3.1, and how to detect slot leaks before they become incidents.

Mar 20, 2026 · 22 min read
Read

Get release notes in your inbox