On behalf of the Debezium community it’s my great pleasure to announce the release of Debezium 0.10.0.Final!
As you’d expect it, there were not many changes since last week’s CR2, one exception being a performance fix for the pgoutput
plug-in of the Postgres connector, which may have suffered from slow processing when dealing with many small transactions in a short period of time (DBZ-1515).
This release finalizes the work of overall eight preview releases. We have discussed the new features and changes in depth in earlier announcements, but here are some highlights of Debezium 0.10:
-
Incubating CDC support for Apache Cassandra via our first community-led connector
-
Support for the
pgoutput
logical decoding plug-in of Postgres 10 and later; support for "exported" snapshots with Postgres -
Extended and more unified metrics across the different connectors
-
More consistent and improved
source
structure in change events -
Significantly less memory usage in the SQL Server connector
-
Many improvements and bugfixes to the DDL parser of the MySQL connector
-
Lots of improvements to the SMTs for routing outbox events and extracting the "after" state from change events
-
Customizable message keys
-
Reworked website and restructured documentation, organized by releases
In addition, we also removed some previously deprecated options and did some clean-up of the message structures produced by the Debezium connectors, e.g. in regards to certain type mappings. When upgrading from earlier releases, please make sure to carefully study the release notes, which discuss in detail any changed or removed functionality, as well as options which for instance allow to keep the original source
structure for some time.
Pleas refer to the orignal announcements for more details (Alpha1, Alpha2, Beta1, Beta2, Beta3, Beta4, CR1, CR2). Altogether, a whopping 171 issues were resolved in Debezium 0.10.
Such effort would not nearly be possible without all the fantastic people in the Debezium community. Until today, almost 130 people have contributed to the main Debezium code repository, plus some more to the incubator and container image repositories. But submitting pull requests with code changes is not the only way to help, we’re equally thankful for each bug report, feature request, suggestions in the chat rooms etc.
Another great thing to observe is the growing number of blog posts, conference presentations and other material covering Debezium in one way or another. We maintain a list of Debezium-related resources on the website; if you know of other contents which should be linked there, please file a PR for adding it.
I can’t begin to express how lucky we feel about all these amazing contributions, no matter whether small or large!
Coming Next: Debezium 1.0!
With Debezium 0.10.0.Final being done, the question is: what’s next? If you thought 0.11, then we got to disappoint you — we’re finally setting course towards Debezium 1.0!
With all the community feedback we got (in parts from huge deployments with hundreds of Debezium connectors), and with the clean-up changes done for 0.10, we feel that it’s finally about time for the 1.0 release and the even increased expectations towards it in regards to compatibility and stability.
We don’t expect many new functionality for 1.0 in comparison over 0.10 (with exception of the incubating connectors), the focus will primarily be on further bug fixing, stability and usability improvements. In the good old tradition of open source, we don’t specify any timeline other than "it’s done, when it’s done". But it should be safe to say that it will be done quicker than 0.10: going forward, we’d like to increase the release cadence and publish new minor releases more often, for sure doing less than eight preview releases as in 0.10. Any contributions, input on the roadmap and other feedback will be very welcomed of course.
Upwards and onwards!
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.