All notable changes are documented in this file. Release numbers follow Semantic Versioning
August 16, 2016 - Detailed release notes
- New MongoDB connector supports capturing changes from a MongoDB replica set or a MongoDB sharded cluster. See the documentation for details. DBZ-2
- Upgraded to Kafka 0.10.0.1, which means that the Debezium connectors can only be used with Kafka Connect 0.10.0.1. Check Kafka documentation for compatibility with other versions of Kafka brokers. DBZ-62, DBZ-80
- By default the MySQL connector now represents temporal values with millisecond, microsecond, or nanosecond precision based upon the precision of the source database columns. This changes the schema name of these fields to Debezium-specific constants, and the meaning/interpretation of the literal values now depends on this schema name. To enable previous behavior that always used millisecond precision using only Kafka Connect logical types, set
time.precision.mode
connector property toconnect
. DBZ-91 - Removed several methods in the
GtidSet
class inside the MySQL connector. The class was introduced in 0.2. This change will only affect applications explicitly using the class (by reusing the MySQL connector JAR), and will not affect how the MySQL connector works. Changed in 0.2.2. DBZ-79 - The
source
field within each MySQL change event now contains the binlog position of that event (rather than the next event). Events persisted by earlier versions of the connector are unaffected. This change may adversely clients that are directly using the position within thesource
field. Changed in 0.2.2. DBZ-76 - Correted the names of the Avro-compliant Kafka Connect schemas generated by the MySQL connector for the
before
andafter
fields in its data change events. Consumers that require knowledge (by name) of the particular schemas used in 0.2 events may have trouble consuming events produced by the 0.2.1 (or later) connector. Fixed in 0.2.1. DBZ-72
- MySQL snapshots records DDL statements as separate events on the schema change topic. DBZ-97
- MySQL connector tolerates binlog filename missing from ROTATE events in certain situations. DBZ-95
- Stream result set rows when taking snapshot of MySQL databases to prevent out of memory problems with very large databases. Fixed in 0.2.4. DBZ-94
- Add more verbose logging statements to the MySQL connector to show progress and activity. Fixed in 0.2.4. DBZ-92
- Corrected potential error during graceful MySQL connector shutdown. Fixed in 0.2.4. DBZ-103
- The Kafka Connect schema names used in the MySQL connector's change events are now always Avro-compatible schema names DBZ-86
- Corrected parsing errors when MySQL DDL statements are generated by Liquibase. Fixed in 0.2.3. DBZ-83
- Corrected support of MySQL
TINYINT
andSMALLINT
types. Fixed in 0.2.3. DBZ-84, DBZ-87 - Corrected support of MySQL temporal types, including
DATE
,TIME
, andTIMESTAMP
. Fixed in 0.2.3. DBZ-85 - Corrected support of MySQL
ENUM
andSET
types. DBZ-100 - Corrected call to MySQL
SHOW MASTER STATUS
so that it works on pre-5.7 versions of MySQL. Fixed in 0.2.3. DBZ-82 - Correct how the MySQL connector records offsets with multi-row MySQL events so that, even if the connector experiences a non-graceful shutdown (i.e., crash) after committing the offset of some of the rows from such an event, upon restart the connector will resume with the remaining rows in that multi-row event. Previously, the connector might incorrectly restart at the next event. Fixed in 0.2.2. DBZ-73
- Shutdown of the MySQL connector immediately after a snapshot completes (before another change event is reccorded) will now be properly marked as complete. Fixed in 0.2.2. DBZ-77
- The MySQL connector's plugin archive now contains the MySQL JDBC driver JAR file required by the connector. Fixed in 0.2.1. DBZ-71
August 16, 2016 - Detailed release notes
- Stream result set rows when taking snapshot of MySQL databases to prevent out of memory problems with very large databases. DBZ-94
- Add more verbose logging statements to the MySQL connector to show progress and activity during snapshots. DBZ-92
- Corrected potential error during graceful MySQL connector shutdown. DBZ-103
July 26, 2016 - Detailed release notes
None
- Corrected parsing errors when MySQL DDL statements are generated by Liquibase. DBZ-83
- Corrected support of MySQL
TINYINT
andSMALLINT
types. DBZ-84, DBZ-87 - Corrected support of MySQL temporal types, including
DATE
,TIME
, andTIMESTAMP
. DBZ-85 - Corrected call to MySQL
SHOW MASTER STATUS
so that it works on pre-5.7 versions of MySQL. DBZ-82
June 22, 2016 - Detailed release notes
- Removed several methods in the
GtidSet
class inside the MySQL connector. The class was introduced in 0.2. This change will only affect applications explicitly using the class (by reusing the MySQL connector JAR), and will not affect how the MySQL connector works. DBZ-79 - The
source
field within each MySQL change event now contains the binlog position of that event (rather than the next event). Events persisted by earlier versions of the connector are unaffected. This change may adversely clients that are directly using the position within thesource
field. DBZ-76
- Correct how the MySQL connector records offsets with multi-row MySQL events so that, even if the connector experiences a non-graceful shutdown (i.e., crash) after committing the offset of some of the rows from such an event, upon restart the connector will resume with the remaining rows in that multi-row event. Previously, the connector might incorrectly restart at the next event. DBZ-73
- Shutdown of the MySQL connector immediately after a snapshot completes (before another change event is reccorded) will now be properly marked as complete. DBZ-77
June 10, 2016 - Detailed release notes
- Correted the names of the Avro-compliant Kafka Connect schemas generated by the MySQL connector for the
before
andafter
fields in its data change events. Consumers that require knowledge (by name) of the particular schemas used in 0.2 events may have trouble consuming events produced by the 0.2.1 (or later) connector. (DBZ-72)
- The MySQL connector's plugin archive now contains the MySQL JDBC driver JAR file required by the connector.(DBZ-71)
June 8, 2016 - Detailed release notes
- MySQL connector supports high availability MySQL cluster topologies. See the documentation for details. (DBZ-37)
- MySQL connector now by default starts by performing a consistent snapshot of the schema and contents of the upstream MySQL databases in its current state. See the documentation for details about how this works and how it impacts other database clients. (DBZ-31)
- MySQL connector can be configured to exclude, truncate, or mask specific columns in events. (DBZ-29)
- MySQL connector events can be serialized using the Confluent Avro converter or the JSON converter. Previously, only the JSON converter could be used. (DBZ-29, DBZ-63, DBZ-64)
- Completely redesigned the structure of event messages produced by MySQL connector and stored in Kafka topics. Events now contain an envelope structure with information about the source event, the kind of operation (create/insert, update, delete, read), the time that Debezium processed the event, and the state of the row before and/or after the event. The messages written to each topic have a distinct Avro-compliant Kafka Connect schema that reflects the structure of the source table, which may vary over time independently from the schemas of all other topics. See the documentation for details. This envelope structure will likely be used by future connectors. (DBZ-50, DBZ-52, DBZ-45, DBZ-60)
- MySQL connector handles deletion of a row by recording a delete event message whose value contains the state of the removed row (and other metadata), followed by a tombstone event message with a null value to signal Kafka's log compaction that all prior messages with the same key can be garbage collected. See the documentation for details. (DBZ-44)
- Changed the format of events that the MySQL connector writes to its schema change topic, through which consumers can access events with the DDL statements applied to the database(s). The format change makes it possible for consumers to correlate these events with the data change events. (DBZ-43, DBZ-55)
- DDL parsing framework identifies table affected by statements via a new listener callback. (DBZ-38)
- The
database.binlog
configuration property was required in version 0.1 of the MySQL connector, but in 0.2 it is no longer used because of the new snapshot feature. If provided, it will be quietly ignored. (DBZ-31)
- MySQL connector now properly parses
COMMIT
statements, theREFERENCES
clauses ofCREATE TABLE
statements, and statements withCHARSET
shorthand ofCHARACTER SET
. (DBZ-48, DBZ-49, DBZ-57) - MySQL connector properly handles binary values that are hexadecimal strings (DBZ-61)
March 17, 2016 - Detailed release notes
- MySQL connector for ingesting change events from MySQL databases. (DBZ-1)
- Kafka Connect plugin archive for MySQL connector. (DBZ-17)
- Simple DDL parsing framework that can be extended and used by various connectors. (DBZ-1)
- Framework for embedding a single Kafka Connect connector inside an application. (DBZ-8)