I’m very happy to announce the release of Debezium 0.5.2!
As the previous release, the 0.5.2 release fixes several bugs in the MySQL, Postgres and MongoDB connectors. But there are also several new features and options:
-
The
decimal.handling.mode
option already known from the MySQL connector is now also supported for PostgreSQL (DBZ-337). It lets you control howNUMERIC
andDECIMAL
columns are represented in change events (either using Kafka’sDecimal
type or asdouble
). -
The MongoDB connector supports the options
database.whitelist
anddatabase.blacklist
now (DBZ-302) -
The PostgreSQL connector can deal with array-typed columns as well as with quoted identifiers for tables, schemas etc. (DBZ-297, DBZ-298)
-
The Debezium Docker images run on Red Hat’s OpenShift cloud environment (DBZ-267)
Speaking about the Docker images, we’ve set up nightly tags for the Debezium images on Docker Hub, allowing you to grab the latest improvements even before an official release has been cut. The connector archives are also deployed to the Sonatype OSS Maven repository.
Finally, we’ve spent some time to extend the documentation on some things not covered before:
-
Avro Serialization describes how to use the use the Avro converter and the Confluent Schema Registry instead of the JSON converter instead of the default JSON converter for serializing change events, resulting in much smaller message sizes; The Avro converter itself has also been added to the Debezium Docker image for Kafka Connect, so you can use it right away
-
Topic Routing describes how to use Debezium’s
ByLogicalTableRouter
single message transformation (SMT) for routing the change events from multiple tables into a single topic, which for instance is very useful when working with sharded tables
Please refer to the changelog for an overview of all the 19 issues fixed in Debezium 0.5.2.
The following people from the community have sent in pull requests for this release: Emrul Islam, Eric S. Kreiser, Mario Mueller, Matteo Capitanio, Omar Al-Safi and Satyajit Vegesna.
Thanks a lot to you and everyone else in the community for contributing to Debezium via feature requests, bug reports, discussions and questions!
What’s next
The next version of Debezium will be 0.6 (planned for September). This release is planned to bring the upgrade to Kafka 0.11. We’ll also look into an SMT for transforming the change events emitted by Debezium into a flat representation, which for instance will be very useful in conjunction with the JDBC sink connector.
While 0.6 is planned to be more of a "stabilization release", 0.7 should bring a long-awaited major feature: we’ve planned to explore support for Oracle and hopefully will do an initial release of a Debezium connector for that database.
In other words, exciting times are ahead! If you’d like to get involved, let us know. Check out the details below on how to get in touch.
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.