CDC-to-Kafka 4.0.0
The primary focus of this new version was to adopt Kafka transactions to improve the reliability of exactly-once producing, and also to ensure that messages produced to "unified" topics have the same guarantees as those produced to the corresponding single-table topics. Some breaking changes, noted below, led to the major-version bump:
- In the config options, "whitelist" / "blacklist" language has been removed, in favor of "include" / "exclude". So e.g., the option
TABLE_WHITELIST_REGEX
is nowTABLE_INCLUDE_REGEX
. - To support the use of Kafka transactions, a new required config parameter
KAFKA_TRANSACTIONAL_ID
has been added. You should set this to something that will remain stable across restarts of a particularly-configured instance of this process. - If you are currently using the
KafkaReporter
as one of the metrics reporters configured inMETRICS_REPORTERS
, be aware that the Avro schema of the messages it produces has changed in a breaking way in this release. You may wish to switch to a new metrics topic, or to temporarily relax schema compatibility checking in the schema registry for your existing metrics topic.
Other changes:
- Improved type checking in code; now passes mypy analysis.
- Upgraded to Python 3.11 for the Docker image
- Upgraded 3rd-party dependencies
- Faster startup time
- Improvements in validation/testing scripts