Redpanda Connect v4.98.0 was published on June 26, 2026, with CDC fixes that matter for pipelines reading from DynamoDB Streams, PostgreSQL, and Oracle LogMiner. The most important change is DynamoDB Streams recovery from expired shard iterators, because that failure mode can stall a shard until a pod restart during backpressure or idle periods. It is not marked as a prerelease.
The full release notes and downloads are on the GitHub release page.
CDC recovery under stalled streams ¶
The DynamoDB Streams fix is the release item to check first for production consumers. aws_dynamodb_cdc now recovers from ExpiredIteratorException by getting a fresh iterator from the last read position. The prior behavior could retry a dead iterator indefinitely, which means an affected shard could sit stalled until a pod restart.
That failure can look quiet in a queue graph until consumers notice missing change events downstream. The notes say the shard resumes from the last read position without a data gap. That makes the fix relevant to prolonged backpressure and idle periods, not just transient AWS API errors. The change is tracked in #4545.
For rollout checks, watch shard lag, consumer restarts, and any dead letter output that was previously masking a stalled CDC input. This is a correctness fix, but it also changes the operational symptom. A stuck shard should recover inside the connector instead of waiting for an external restart.
PostgreSQL and Oracle CDC metadata ¶
postgres_cdc events now include commit_ts_ms for insert, update, and delete operations. That field gives downstream jobs the transaction commit timestamp, not the time the connector processed the record. It is useful for ordering logic, watermark logic, audit columns, and replay checks where processing time is the wrong clock. The PostgreSQL change is in #4554.
Oracle CDC gets two related changes. Snapshot messages from oracledb_cdc now include the current SCN in metadata, which brings snapshots closer to the same CDC contract as streamed changes. That matters when a downstream consumer has to compare snapshot output and later change events without relying on source specific side channels.
The streaming reconnect loop also fixes a goroutine leak and adds a time-to-first-row metric for LogMiner performance tracking. That metric should help separate slow LogMiner startup from connector side stalls. The Oracle reconnect fix is tracked in #4540, and the snapshot SCN metadata change is tracked in #4542.
File output validation catches bad paths ¶
The file output change is not a CDC feature, but it is operationally important for ETL jobs that materialize records to local or mounted paths. File output now rejects path characters that the target OS cannot use: colons on macOS, control characters and special characters on Windows, and NUL on every platform. The release notes call out silent data loss as the failure being avoided. That makes #4053 worth testing in any workload that builds output paths from message metadata.
If existing configs assemble paths from raw fields, add a check before rollout. This release moves invalid paths from a quiet sink problem into a visible validation problem. That is better for correctness, but it can expose bad path data earlier in the pipeline.
Cloud processor availability and Sentry maintenance ¶
try_catch is now available in cloud distributions alongside the other try and catch processors. That matters when the same pipeline pattern has to run in local and cloud targets without carrying a separate error handling branch. The cloud distribution change is in #4562.
The Sentry change is narrower. sentry_capture moves to sentry-go v0.47.0 and attaches extras as context because SetExtras was removed, as noted in #4549. Treat this as dependency maintenance unless your observability path depends on exact Sentry event shape. If it does, sample events after upgrade rather than assuming context fields land in the same place.
Where to get it ¶
- Release page: GitHub release page
- Repository: GitHub repository
- Tag:
v4.98.0