Synchronoid is in private beta. New workspaces open in small batches every few weeks. Join the waitlist →
Product

Synchronoid v0.14: change feeds, cost insights and new connectors

ST
The Synchronoid Team
Synchronoid

Version 0.14 is the biggest beta release since launch. Change feeds are now in beta for every workspace, cost insights arrive as a preview, there are four new connectors, and the syn command line tool is noticeably faster. Here is what changed. The full list is in the changelog.

Highlights

Change feeds in beta

Change detection has been part of Synchronoid for a while: we diff snapshots of a source and emit business-level events such as "company address changed". Until now, getting those events to your applications meant using the API directly. Change feeds fix that. A feed is a named, ordered stream of change events that downstream systems can subscribe to.

You can consume a feed in three ways: webhooks for simple integrations, Apache Kafka for high-volume streams, or a pull API when you want to control the pace. Every event carries the provenance of the new value, so a consumer can tell which source and run produced it.

synchronoid.yaml
feeds:
  company_address_changes:
    asset: companies_current
    events: ["company.address_changed"]
    kafka:
      brokers: ["kafka-1.internal:9093"]
      topic: "companies.address-changes"

Feeds are in beta for Team and Enterprise workspaces. Delivery is at-least-once with an ordering guarantee per record key, so consumers should be idempotent. We wrote about why in our post on replay-safe steps. See the change feeds guide and the product page for details.

Beta means it can still change

The event envelope is stable, but we may add fields and rename a few options before general availability. We will announce every change in the changelog and keep old option names working for at least one minor version.

Cost insights preview

The most common question from teams in the beta was "what does this pipeline cost?". Cost insights is our first answer. In the control room, each asset and source now shows step-runs, compute time and request counts, attributed to the pipeline that caused them.

The preview covers:

It is a preview, so figures are estimates and may differ slightly from your invoice. We use it internally to find wasteful steps, and it found several of ours within a day. A longer description lives on the cost insights page. You can switch it on in synchronoid.yaml:

synchronoid.yaml
workspace: acme
insights:
  cost:
    enabled: true
    window_days: 30

New connectors

ClickHouse

Read from and write to ClickHouse tables, with batched inserts and automatic type mapping.

DuckDB

Use DuckDB files as a lightweight destination, which is handy for local development with syn dev.

Redshift

Load published assets into Redshift with a staged copy and an atomic swap.

OpenTelemetry

Export run and step traces and metrics to any OpenTelemetry collector.

Browse all of them in the integrations directory. As always, a new source is a short configuration plus, where needed, a small connector.

CLI improvements

We spent a good part of this cycle on the command line, because it is where developers spend their time.

terminal
$ pip install --upgrade synchronoid
$ syn --version
syn 0.14.2
$ syn runs list --status failed --json | jq '.[].id'

Other changes

Upgrading

Upgrading the SDK is a normal pip upgrade. Workspaces are updated by us, and there is nothing to migrate. One thing to check: the sy.Retry default for backoff is now "exponential" where it used to be "fixed". If you relied on the old default, set it explicitly.

The current patch release is v0.14.2. Tell us what you think through the community page, and see what is planned next on the roadmap.

Ready to stop babysitting pipelines?

Synchronoid is in private beta. Tell us about your data and we will get you a workspace.