Redpanda Connect v4.107.1 shipped on 28 August 2026 as a patch for change data capture inputs. The tag closes snapshot barrier, checkpoint, and silent stall bugs that could skip rows or retry forever after a crash or a failed flush. Operators running mssqlserver_cdc or oracledb_cdc should treat this as a correctness patch, not a feature bump.
The full release notes and downloads are on the GitHub release page.
Snapshot barriers on SQL Server and Oracle ¶
mssqlserver_cdc and oracledb_cdc both persisted a post snapshot position while snapshot batches could still be unacked downstream. A crash in that window made the restart skip the snapshot and drop the undelivered rows. #4677 and #4675 gate the post snapshot LSN or SCN on downstream acks, flush the leftover batch, and keep batch tracking in the same order as the flush.
The same pair of inputs also rebuilt publisher state after failures in a way that could livelock retries. The notes call out snapshot barrier behavior, batch ordering, and publisher lifecycle as the three failure classes. After a failed send the publisher is now treated as poisoned, rebuilt on reconnect, and resumed from the last durable checkpoint.
mssqlserver_cdc had a second stall that #4729 closes. With period only batching the timed flush loop is the only flusher. A dispatch error in that loop exited the goroutine with no log and no reconnect signal. The pipeline sat idle until SQL Server CDC retention walked past the checkpoint LSN, which turned a stall into loss at the next restart. ReadBatch now watches the publisher stop channel, tears the session down on a poisoned stop, and returns so Connect can rebuild from the last durable LSN.
Checkpoint persistence on DynamoDB, Spanner, MongoDB, and PostgreSQL ¶
gcp_spanner_cdc wrote each batch commit timestamp straight into the partition watermark. With max_in_flight greater than 1, a later ack could persist while an earlier batch was still open. A crash in that window skipped the earlier records on restart. #4686 persists only the contiguous prefix watermark and discards partition batchers from the previous subscriber session so reconnect does not reuse stale buffers.
The MongoDB and PostgreSQL CDC inputs get nack contract, marshal error recovery, and streaming checkpoint persistence in #4676. Marshal failures on PostgreSQL WAL rows used to drop the poison row and the rest of its batch while the stream kept running and checkpointed past them. Nacks now follow the documented auto_replay_nacks contract instead of pinning the tracker until the in flight limit filled.
aws_dynamodb_cdc had an infinite retry when a shard iterator expired after the shard was already deleted. The Streams API ResourceNotFoundException was treated as transient and retried on poll_interval forever. #4727 classifies that error as permanent, marks the shard exhausted, and returns. A separate lint rule compared the snapshot_throttle duration string to a numeric literal, so any config that set the field failed validation. #4723 parses the duration first.
SFTP host key negotiation with OpenSSH ¶
The sftp component failed host key negotiation against modern OpenSSH servers when an RSA host key was pinned. The client advertised ssh-rsa, the SHA-1 signature algorithm that OpenSSH 8.8 and later disable by default. Servers that only offer rsa-sha2-256 and rsa-sha2-512 had no common algorithm even when both sides held the same key. #4725 advertises the rsa-sha2 algorithms for pinned RSA keys. Verification of the pinned key itself is unchanged.
Upgrade notes ¶
This is a patch tag, not a prerelease. The one explicit behavior change is on oracledb_cdc: #4696 removes snapshot primary key ordering. Oracle heap tables are not stored in primary key order, so an ordered snapshot turned a full table scan into random block reads. The PR reports an AWS bench moving from about 9.8 MB/s after cache warm to about 98 MB/s. The tradeoff is that snapshot row order is no longer primary key order. Downstream jobs that assumed ordered snapshot output need to sort themselves.
The CDC fixes prefer duplicates over loss. A restart after a crash can redeliver a partially published transaction. That is the intended at least once contract.
Configs that set snapshot_throttle on aws_dynamodb_cdc now lint cleanly. SFTP pipelines that pin an RSA host key against OpenSSH 8.8 or later handshake again.
The changelog is in CHANGELOG.md.
Where to get it ¶
- GitHub release page
- Repository
- Tag
v4.107.1