ingestr v1.1.0 - MySQL CDC Correctness and Merge Controls


ingestr v1.1.0, published on July 16, 2026, concentrates on correctness in MySQL CDC pipelines. The main change covers unsigned integers, time zones, termination, and schema drift, with related work on merge behavior and schema evolution across BigQuery, Snowflake, and Iceberg.

The full release notes and downloads are on the GitHub release page.

The MySQL CDC changes address four separate failure modes in one release. Unsigned integer handling affects value fidelity. Time zone handling affects temporal data. Termination behavior determines whether an orchestrator can stop and restart an ingestion job cleanly. Schema drift determines how the stream reacts when the source table changes.

Those fixes matter more than a broad feature count. A CDC job can continue running while writing values with the wrong numeric range or time interpretation. A clean process exit also matters during deploys, retries, and scheduled shutdowns, where a stuck worker can hold resources or delay the next run.

The release also improves MySQL to PostgreSQL ingestion performance. The notes do not include a benchmark, test shape, or throughput figure, so there is no basis for a numerical claim. Operators should measure the path with their own table widths, change volume, network latency, and PostgreSQL write settings before changing capacity plans.

BigQuery merge loads now support an incremental predicate. This gives pipeline authors a way to constrain the merge operation with a predicate, which is relevant when only a bounded portion of a large target needs comparison during an incremental load.

The release notes do not name a configuration key or show the predicate syntax. Existing jobs should therefore keep their current behavior until the predicate is configured deliberately and tested against representative partitions. The useful operational check is simple: confirm the affected row set, inspect the generated merge behavior, and compare query cost before making the predicate the default.

This change is narrowly scoped. It does not claim a general BigQuery performance improvement, and it does not replace source side filtering. It adds another control to the merge stage.

Snowflake merge loads now cast the source value to the target type when the two types differ. The same set of changes includes Snowflake type change handling and preserves cluster_by. Together, these changes make the target schema the explicit type boundary while retaining the existing clustering definition.

The cast does not remove the need for data quality checks. Values that cannot satisfy the target type still need to be found before they reach a production merge. Teams with active type changes should test representative nulls, numeric limits, and timestamp values against the target table.

For Iceberg, data columns are now nullable by default. That is a more permissive generated schema, but it changes the contract for teams that expected required columns without adding them explicitly. Compare newly created table schemas with catalog expectations after the upgrade.

The release also strengthens schema evolution contracts. The notes describe this as contract work rather than a new operator interface, so it is best read as tighter internal behavior around schema changes, not as a new migration mechanism.