It’s my pleasure to announce the release of Debezium 0.9.5.Final!
This is a recommended update for all users of earlier versions; besides bug fixes also a few new features are provide. The release contains 18 resolved issues overall.
Apache Kafka Update and New Features
This release has been built against and tested with Apache Kafka 2.2.0 (DBZ-1227). Earlier versions are continued to be supported as well.
For all the connectors it is possible now to specify the batch size when taking snapshots (DBZ-1247). The new connector option snapshot.fetch.size
has been introduced for that. This option replaces the earlier option rows.fetch.size
which existed in some of the connectors and which will be removed in Debezium 0.10. Existing connector instances should therefore be re-configured to use the new option.
Continuing the work from Debezium 0.9.4, the Postgres connector supports some more column types: MACADDR
and MACADDR8
(DBZ-1193) as well as INT4RANGE
, INT8RANGE
and NUMRANGE
(DBZ-1076).
Fixes
Amongst others, this release includes the following fixes:
-
Failing to specify value for
database.server.name
results in invalid Kafka topic name (DBZ-212) -
Postgres Connector times out in schema discovery for DBs with many tables (DBZ-1214)
-
Oracle connector: JDBC transaction can only capture single DML record (DBZ-1223)
-
Lost precision for timestamp with timezone (DBZ-1236)
-
NullpointerException due to optional value for commitTime (DBZ-1241)
-
Default value for datetime(0) is incorrectly handled (DBZ-1243)
-
Microsecond precision is lost when reading timetz data from Postgres (DBZ-1260)
Please refer to the release notes for the complete list of issues fixed in Debezium 0.9.5.
We’re very thankful to the following community members who contributed to this release: Addison Higham, Andrey Pustovetov, Jork Zijlstra, Krizhan Mariampillai, Mathieu Rozieres and Shubham Rawat.
Outlook
This release is planned to be the last in the 0.9 line.
We’re now going to focus on Debezium 0.10, whose main topic will be to clean up a few things: we’d like to remove a few deprecated options and features (e.g. the legacy DDL parser in the MySQL connector). We’re also planning to do a thorough review of the event structure of the different connectors; for instance in the source
block of CDC messages there are a some field names that should be unified. We believe users will benefit from a more consistent experience across the connectors.
Another focus area will be to migrate the existing Postgres connector to the framework classes established for the SQL Server and Oracle connectors. This will allow to expose some new features for the Postgres connector, e.g. the monitoring capabilities already rolled out for the other two connectors.
Gunnar Morling
Gunnar is a software engineer at Decodable and an open-source enthusiast by heart. He has been the project lead of Debezium over many years. Gunnar has created open-source projects like kcctl, JfrUnit, and MapStruct, and is the spec lead for Bean Validation 2.0 (JSR 380). He’s based in Hamburg, Germany.
About Debezium
Debezium is an open source distributed platform that turns your existing databases into event streams, so applications can see and respond almost instantly to each committed row-level change in the databases. Debezium is built on top of Kafka and provides Kafka Connect compatible connectors that monitor specific database management systems. Debezium records the history of data changes in Kafka logs, so your application can be stopped and restarted at any time and can easily consume all of the events it missed while it was not running, ensuring that all events are processed correctly and completely. Debezium is open source under the Apache License, Version 2.0.
Get involved
We hope you find Debezium interesting and useful, and want to give it a try. Follow us on Twitter @debezium, chat with us on Zulip, or join our mailing list to talk with the community. All of the code is open source on GitHub, so build the code locally and help us improve ours existing connectors and add even more connectors. If you find problems or have ideas how we can improve Debezium, please let us know or log an issue.