ingestr v1.0.78 - CDC State and Streaming Mode Changes


ingestr v1.0.78 was published on July 16, 2026. The main operator facing change is stronger PostgreSQL CDC state handling, backed by added coverage for TRUNCATE events and stress cases.

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

The PostgreSQL CDC work covers state, TRUNCATE, and stress testing. Those are related failure surfaces: CDC state determines where processing resumes, while TRUNCATE must be represented without treating it like an ordinary row mutation. Stress coverage exercises the same path under sustained activity.

The notes describe this work as hardening. They do not claim a new checkpoint format or document a change to PostgreSQL setup. Operators should therefore treat it as a correctness update, not as evidence that existing source configuration can be removed. The useful validation target is restart behavior around state persistence, plus a table truncation during an active CDC run.

Streaming mode selection was also consolidated. The ?mode= URI parameter is now deprecated, and the internal runStream mode parameter was removed after the streaming modes were merged. A separate change neutralizes the rejection message associated with mode=stream.

This reduces the number of mode paths inside the program, but the deprecated URI parameter still matters to automation. Connection strings in secrets, job definitions, and scheduler variables may still contain ?mode=stream. This release is the point to inventory those values. The notes do not give a removal version, so there is no basis for assigning a deadline beyond the deprecation itself.

Nested Arrow values are now normalized as JSON. That is the data shape change most likely to be visible beyond the source connector. Destinations that previously encountered nested Arrow structures may now receive a JSON representation at the normalization boundary.

This can improve consistency across destinations that do not share the same nested type support. It can also affect consumers that inspect inferred types or compare serialized values. A staging run should include arrays, nested objects, null values, and mixed nesting from a representative source. Compare both destination schema and stored values before promoting the release.

The release also moves the project to Go 1.26 and ADBC 1.11. The notes do not list a specific ADBC bug fix or behavior change, so the practical concern is compatibility. Teams that compile ingestr from source need the updated Go toolchain, while teams using ADBC backed destinations should run their usual driver and type conversion checks against the new dependency version.

v1.0.78 adds a FastSpring source. This expands the set of systems that ingestr can read from, but the release notes do not enumerate streams, authentication fields, pagination behavior, or incremental cursor support.

That missing detail sets the right scope for adoption testing. Start with source discovery, then verify record counts and repeat runs before putting the connector on a schedule. For finance related exports, compare identifiers, timestamps, currency fields, refunds, and subscription state with the upstream system. Do not infer incremental guarantees from the source entry alone.

The clear migration item is the deprecated ?mode= URI parameter. Search deployed connection URIs and configuration stores for that parameter, remove mode selection where testing confirms equivalent behavior, and retain rollback copies of changed secrets or job definitions.

The Go 1.26 move also affects local builds and CI images. Pin the intended toolchain in build jobs rather than relying on whatever version an image currently provides. If nested Arrow values feed schema sensitive models, run a sample load and inspect the resulting JSON fields before the regular production window.

The v1.0.78 release page is the source of record for the compact changelog. It does not mark this version as a prerelease.