Release Notes for Debezium 3.1

All notable changes for Debezium releases are documented in this file. Release numbers follow Semantic Versioning.

Release 3.1.0.Alpha2 (February 20th 2025)

Kafka compatibility

This release has been built against Kafka Connect 3.9.0 and has been tested with version 3.9.0 of the Kafka brokers. See the Kafka documentation for compatibility with other versions of Kafka brokers.

Upgrading

Before upgrading any connector, be sure to check the backward-incompatible changes that have been made since the release you were using.

When you decide to upgrade one of these connectors to 3.1.0.Alpha2 from any earlier versions, first check the migration notes for the version you’re using. Gracefully stop the running connector, remove the old plugin files, install the 3.1.0.Alpha2 plugin files, and restart the connector using the same configuration. Upon restart, the 3.1.0.Alpha2 connectors will continue where the previous connector left off. As one might expect, all change events previously written to Kafka by the old connector will not be modified.

If you are using our container images, then please do not forget to pull them fresh from Quay.io.

Breaking changes

The documentation of schema.history.internal.store.only.captured.databases.ddl provided incorrect default value. While this is not real breaking change, you should evaluate whether your deployment depends on the different default value or not (DBZ-8558).

Debezium Vitess Connector had a rare but critical data loss bug that existed since its first PR–5 years ago. If a primary key update is the last operation in a transaction, records may be lost. Affects all prior versions. This is recommendation for an immediate update (DBZ-8594).

Deprecated Oracle JMX metrics were removed (DBZ-8647).

When Oracle LOB processing was enabled then the column re-selector did not emit LOB columns. This has been changed and the LOB columns are emitted by the reselector regradless of the configuration setting (DBZ-8653).

New features

  • Error handling mode in ReselectColumnsPostProcessors DBZ-8336

  • Provide full data types coverage for TinyGo Wasm SMT DBZ-8586

  • Add predicates support in Transformation UI DBZ-8590

  • Mention write permission on signaling data collection for incremental snapshot DBZ-8596

  • Publish Debezium platform snapshot artifact DBZ-8603

  • Include Current Archive log been processed in JMX metrics DBZ-8644

  • All text cols with binary collation should still be output as strings DBZ-8679

  • SQL Server - Errors related to schema validation should provide more details DBZ-8692

Fixes

  • Reduced record buffer doesn’t handle RECORD_VALUE with primary key fields DBZ-8593

  • Events for tables with generated columns fail when using hybrid mining strategy DBZ-8597

  • ANTLR DDL Parsing error DBZ-8600

  • MySQL master and replica images fail to start DBZ-8633

  • Remove misleading log entry about undo change failure DBZ-8645

  • Oracle metric OldestScnAgeInMilliseconds does not account for database timezone DBZ-8646

  • Using RECORD_VALUE with a DELETE event causes NullPointerException DBZ-8648

  • Downstream JDBC system tests fails DBZ-8651

  • Batch size calculation is incorrectly using min-batch-size DBZ-8652

  • Mysql example images for replication don’t work DBZ-8655

  • Oracle performance drop when transaction contains many constraint violations DBZ-8665

  • Upstream system tests fail DBZ-8678

  • Skip empty transactions with commit with redo thread equal to 0 DBZ-8681

  • DDL statement couldn’t be parsed: GRANT SENSITIVE_VARIABLES_OBSERVER DBZ-8685

Other changes

  • Link old jdbc connector to new home and mark as retired DBZ-8225

  • Align MySQL and MariaDB grammars with upstream versions DBZ-8270

  • Add transformations and predicates support in conductor DBZ-8459

  • Documentation version-picker redirects to overview page DBZ-8483

  • Add note to connector docs to inform users about future removal of Containerfile deployment instructions DBZ-8566

  • HIghlight that Debezium containers are not production ready DBZ-8580

  • Change schema history producer configurations DBZ-8598

  • Update Debezium Server and Operator to Quarkus 3.15.3 LTS DBZ-8601

  • Allow optional removal of ehcache form Oracle package DBZ-8602

  • Change snapshot pipeline to publish conductor artifacts DBZ-8604

  • Build conductor snapshot image DBZ-8605

  • Build stage snapshot image DBZ-8606

  • Publish stage/conductor nightly images to image registry DBZ-8607

  • Upgrade AssertJ-DB DBZ-8609

  • Prepare Logical message decoder SMT docs for productization DBZ-8641

  • Remove push from github workflow in container-images repo DBZ-8649

  • Update QOSDK to 6.9.3 DBZ-8654

  • Document PostgreSQL snapshot.isolation.mode property DBZ-8659

  • Integration tests should verify truncation of all data types DBZ-8663

  • Upgrade protoc from 1.4 to 1.5 for postgres container images DBZ-8670

  • Snapshot tests fails with Kafka 3.8.0 DBZ-8688

  • Enable formatting checks on all project durinig PRs DBZ-8698

  • Disable ARM images for PostgreSQL DBZ-8713

Release 3.1.0.Alpha1 (January 20th 2025)

Kafka compatibility

This release has been built against Kafka Connect 3.9.0 and has been tested with version 3.9.0 of the Kafka brokers. See the Kafka documentation for compatibility with other versions of Kafka brokers.

Upgrading

Before upgrading any connector, be sure to check the backward-incompatible changes that have been made since the release you were using.

When you decide to upgrade one of these connectors to 3.1.0.Alpha1 from any earlier versions, first check the migration notes for the version you’re using. Gracefully stop the running connector, remove the old plugin files, install the 3.1.0.Alpha1 plugin files, and restart the connector using the same configuration. Upon restart, the 3.1.0.Alpha1 connectors will continue where the previous connector left off. As one might expect, all change events previously written to Kafka by the old connector will not be modified.

If you are using our container images, then please do not forget to pull them fresh from Quay.io.

Breaking changes

Source info block schema was not versioned in past Debezium versions. This could lead to schema compatibility issue when changed. The schema version is now set to 1 and will be incremented with future changes (DBZ-8499).

Debeizum intoroduce SparseVector datatype for PostgreSQL sparsevec data. This release introduces support for Oracle vector datatypes and SparseVector was renamed so it became cross-connector type (DBZ-8585).

New features

  • Support new non adaptive temporal values DBZ-6387

  • Add MariaDB SSL support DBZ-8482

  • Update the pipeline designer flow UI to remove the multi moving circle to just have one instead. DBZ-8532

  • Sqlserver connector requires unbounded memory to process big transactions DBZ-8557

  • Use enum set strings flag available in Vitess v20 for decoding enums/sets DBZ-8561

  • Pulsar Producer Batcher Builder - Key Based Batching DBZ-8563

  • Prototype support of WASM in Debezium transformation DBZ-8568

  • S3 storage can force path-style addressing DBZ-8569

  • Support MySQL and PostgreSQL vector data types DBZ-8571

Fixes

  • Exception during commit offsets won’t trigger retry logic. DBZ-2386

  • Fix invalid gtid error on startup when ordered tx metadata enabled DBZ-8541

  • Debezium operator generate wrong offset and schema history properties DBZ-8543

  • A recent log switch may be seen as consistent during log gathering DBZ-8546

  • Content-based routing expression variable headers is singular in code DBZ-8550

  • MongoDataConverter does not recognize nested empty array DBZ-8572

  • Fix issues in Transformation UI sections DBZ-8575

  • ORA-65040 occurs on log switches when log.mining.restart.connection is enabled and connection defaults to PDB rather than CDB$ROOT DBZ-8577

Other changes

  • Remove mongo-initiator images DBZ-8487

  • Support storages supported by Debezium operator for pipeline in Debezium platform DBZ-8512

  • Setup minimum CI pipeline for debezium-platform-conductor DBZ-8527

  • Missing quick profile in test containers module DBZ-8545

  • Upgrade MongoDB driver to 5.2 DBZ-8554

  • Move to Quarkus 3.17.7 for the Outbox Extension DBZ-8583

  • Use latest tag instead of nightly for conductor image DBZ-8589