Release Notes for Debezium 2.6

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

Release 2.6.2.Final (May 30th 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.7.0 and has been tested with version 3.7.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 2.6.2.Final 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 2.6.2.Final plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.2.Final 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

There are no breaking changes in this release.

New features

  • Debezium oracle connectors needs to support IN clause for log miner query for more than 1000 tables as it creates performance issue DBZ-7847

Fixes

  • After the initial deployment of Debezium, if a new table is added to MSSQL, its schema is was captured DBZ-7697

  • NO_DATA snapshot mode validation throw DebeziumException on restarts if snapshot is not completed DBZ-7780

  • DDL statement couldn’t be parsed DBZ-7788

  • old class reference in ibmi-connector services DBZ-7795

  • Ad-hoc blocking snapshot not working through file channeling without inserting a row in the database. DBZ-7806

  • Postgres: Potential data loss on connector restart DBZ-7816

  • Sql Server incorrectly applying quoted snapshot statement overrides DBZ-7828

  • Debezium JDBC Sink not handle order correctly DBZ-7830

  • Debezium MySQL Snapshot Connector Fails DBZ-7858

  • Support Oracle DDL Alter Audit Policy DBZ-7864

  • Support Oracle DDL Create Audit Policy DBZ-7865

  • Default value of error retries not interpreted correctly DBZ-7870

  • Avro schema compatibility issues when upgrading from Oracle Debezium 2.5.3.Final to 2.6.1.Final DBZ-7880

  • ParsingException (MySQL 8): create trigger if exists DBZ-7881

  • Debezium can’t handle columns with # in its name DBZ-7893

  • Oracle interval default values are not properly parsed DBZ-7898

Other changes

  • Add c3p0 timeout configuration example to JDBC sink DBZ-7822

  • in the Cassandra documentation, there is a typo which should have been disable not Dusable. DBZ-7851

  • Too much logs after Debezium update DBZ-7871

Release 2.6.1.Final (April 12nd 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.7.0 and has been tested with version 3.7.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 2.6.1.Final 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 2.6.1.Final plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.1.Final 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

There are no breaking changes in this release.

New features

  • Introduce RawToString transform for converting GUIDs stored in Oracle RAW(16) columns to Guid string DBZ-7753

Fixes

  • Incremental Snapshot: read duplicate data when database has 1000 tables DBZ-7716

  • SQLServerConnectorIT.shouldNotStreamWhenUsingSnapshotModeInitialOnly check an old log message DBZ-7729

  • Snapshot fails with an error of invalid lock DBZ-7732

  • Column CON_ID queried on V$THREAD is not available in Oracle 11 DBZ-7737

  • Redis NOAUTH Authentication Error when DB index is specified DBZ-7740

  • Getting oldest transaction in Oracle buffer can cause NoSuchElementException with Infinispan DBZ-7741

  • The MySQL Debezium connector is not doing the snapshot after the reset. DBZ-7743

  • MongoDb connector doesn’t work with Load Balanced cluster DBZ-7744

  • Pod Security Context not set from template DBZ-7749

  • Apply MySQL binlog client version 0.29.1 - bugfix: read long value when deserializing gtid transaction’s length DBZ-7757

  • Change streaming exceptions are swallowed by BufferedChangeStreamCursor DBZ-7759

  • Sql-Server connector fails after initial start / processed record on subsequent starts DBZ-7765

  • Valid resume token is considered invalid which leads to new snapshot with some snapshot modes DBZ-7770

Other changes

There are no other changes in this release.

Release 2.6.0.Final (April 2nd 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.7.0 and has been tested with version 3.7.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 2.6.0.Final 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 2.6.0.Final plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.0.Final 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

There are no breaking changes in this release.

New features

  • Add documentation for Cassandra conncetor event.order.guarantee.mode property DBZ-7720

Fixes

  • JDBC Storage does not support connection recovery DBZ-7258

  • Full incremental snapshot on SQL Server Table skipping block of 36 records DBZ-7359

  • Snapshot skipping records DBZ-7585

  • AsyncEmbeddedEngine doesn’t shut down threads properly DBZ-7661

  • RedisSchemaHistoryIT fails randomly DBZ-7692

  • RedisSchemaHistoryIT#testRedisConnectionRetry can run into infinite retry loop DBZ-7701

  • Fix system tests error when using Kafka 3.6.0 or less. DBZ-7708

  • Adjust fakeDNS starting to work both on Docker Desktop and Podman Desktop DBZ-7711

  • Fix mysql and postgresql system test assert failures DBZ-7713

  • Fix errors when runing system testsuite with mysql and jdbc tests together DBZ-7714

  • whitespace in filename of debezium-connector-ibmi DBZ-7721

Other changes

  • Create Debezium design document for new implementation of DebeziumEngine DBZ-7073

  • Provide a generic snapshot mode configurable via connector properties DBZ-7497

  • Create JDBC sink connector system tests DBZ-7592

  • Bump up versions of dependencies in system testsuite DBZ-7630

  • Align snapshot modes for Informix DBZ-7699

  • Add tag for system test mongodb sharded replica_set mode DBZ-7706

  • Remove unneeded records copying from RecordProcessors DBZ-7710

  • Example-mongodb image - fix init script for images with base mongo:6.0 DBZ-7712

  • Remove dependency for mysql-connector test-jar in Redis tests DBZ-7723

Release 2.6.0.CR1 (March 25th 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.7.0 and has been tested with version 3.7.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 2.6.0.CR1 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 2.6.0.CR1 plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.0.CR1 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

SQL Server by mistake did not honor store.only.captured.tables setting on the first connector start. This is rectified and the connector by default takes the snapshot of all table schemas (DBZ-7593).

Vitess connector origninally used the timestamp of BEGIN message as the source timestamp. This has been changed to the usage of the COMMIT timestamp to reflect the behaviour of othe connectors (DBZ-7628).

Debezium MySQL connector is upgraded to 8.3.0 JDBC driver. This driver is no longer compatible with MySQL 5. If you still need to use older MySQL versions please downgrade the driver after the installation (DBZ-7652).

New features

  • Add XML support for OpenLogReplicator DBZ-6896

  • Use TRACE level log for Debezium Server in build time DBZ-7369

  • Implement Versioned interfaces in Transformation and Converter plugins DBZ-7618

  • Performance Issue in Cassandra Connector DBZ-7622

  • Provide partition mode to guarantee order of events in same partition DBZ-7631

  • Support empty debezium.sink.redis.user and debezium.sink.redis.password DBZ-7646

Fixes

  • Log Mining Processor advances SCN incorrectly if LogMiner query returns no rows DBZ-6679

  • Oracle connector unable to find SCN after Exadata maintenance updates DBZ-7389

  • Oracle LOB requery on Primary Key change does not work for all column types DBZ-7458

  • Incorrect value of TIME(n) replicate from MySQL if the original value is negative DBZ-7594

  • Re-select Post Processor not working for complex types DBZ-7596

  • Null instead of toast placeholder written for binary types when "hex" mode configured DBZ-7599

  • Poor snapshot performance during schema snapshot DDL processing DBZ-7608

  • Re-select post processor performance DBZ-7611

  • Uncaught exception during config validation in Engine DBZ-7614

  • Enhanced event timestamp precision combined with ExtractNewRecordState not working DBZ-7615

  • Incremental snapshot query doesn’t honor message.key.columns order DBZ-7617

  • Metric ScnFreezeCount never increases DBZ-7619

  • JDBC connector does not process ByteBuffer field value DBZ-7620

  • Cassandra can have misaligned Jackson dependencies DBZ-7629

  • Numerci value without mantissa cannot be parsed DBZ-7643

  • Missing test annotation in PostgresConnectorIT DBZ-7649

  • Update QOSDK and Quarkus to fix vcs-url annotation CVE DBZ-7664

  • MySQL connector fails to parse DDL with RETURNING keyword DBZ-7666

  • Schema history comparator doesn’t handle SERVER_ID_KEY and TIMESTAMP_KEY properly DBZ-7690

  • Duplicate envar generated in operator bundle DBZ-7703

Other changes

  • debezium-connector-jdbc occurred java.sql.SQLException: ORA-01461: can bind a LONG value only DBZ-6900

  • Align snapshot modes for MongoDB DBZ-7304

  • Align snapshot modes for DB2 DBZ-7305

  • Align all snapshot mode on all connectors DBZ-7308

  • Remove LogMiner continuous mining configuration option DBZ-7610

  • Update Quarkus Outbox to Quarkus 3.8.2 DBZ-7623

  • Upgrade Debezium Server to Quarkus 3.2.10 DBZ-7624

  • MongoDbReplicaSet and MongoDbShardedCluster should not create a new network for each builder instance by default DBZ-7626

  • Remove forgotten lombok code from system tests DBZ-7634

  • Add JDBC connector to artifact server image preparation DBZ-7644

  • Revert removal of Oracle LogMiner continuous mining DBZ-7645

  • Add documentation for MongoDB capture.mode.full.update.type property DBZ-7647

  • Fix MySQL image fetch for tests DBZ-7651

  • RedisSchemaHistoryIT continually fails DBZ-7654

  • Upgrade Quarkus Outbox Extension to Quarkus 3.8.3 DBZ-7656

  • Bump SQL Server test image to SQL Server 2022 DBZ-7657

  • Upgrade Debezium Server to Quarkus 3.2.11.Final DBZ-7662

  • Exclude jcl-over-slf4j dependency DBZ-7665

Release 2.6.0.Beta1 (March 6th 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.7.0 and has been tested with version 3.7.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 2.6.0.Beta1 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 2.6.0.Beta1 plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.0.Beta1 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

Debezium Oracle connector required manual installation of Oracle JDBC driver. This is no longer needed as the driver is packaged into the connector (DBZ-7364).

The handling of MAVEN_DEP_DESTINATION environment has changed in connect-base container image. It is no longer used for downloading all dependencies including connectors but only for general purpose Maven Central located dependencies (DBZ-7551).

New features

  • DB2/AS400 CDC using free jt400 library DBZ-2002

  • Use row value constructors to speed up multi-column queries for incremental snapshots DBZ-5071

  • Add metadata to watermarking signals DBZ-6858

  • Provide the Redo SQL as part of the change event DBZ-6960

  • Introduce a new microsecond/nanosecond precision timestamp in envelope DBZ-7107

  • Append LSN to txID DBZ-7454

  • Defer transaction capture until the first DML event occurs DBZ-7473

  • Support arbitrary payloads with outbox event router on debezium server DBZ-7512

  • Allow XStream error ORA-23656 to be retried DBZ-7559

  • Upgrade PostgreSQL driver to 42.6.1 DBZ-7571

  • Improved logging in case of PostgreSQL failure DBZ-7581

Fixes

  • PostgreSQL connector doesn’t restart properly if database if not reachable DBZ-6236

  • NullPointerException in MongoDB connector DBZ-6434

  • Cassandra-4: Debezium connector stops producing events after a schema change DBZ-7363

  • Callout annotations rendered multiple times in downstream User Guide DBZ-7418

  • PreparedStatement leak in Oracle ReselectColumnsProcessor DBZ-7479

  • Allow special characters in signal table name DBZ-7480

  • Poor snapshot performance with new reselect SMT DBZ-7488

  • Debezium Oracle Connector ParsingException on XMLTYPE with lob.enabled=true DBZ-7489

  • Db2ReselectColumnsProcessorIT does not clean-up after test failures DBZ-7491

  • Completion callback called before connector stop DBZ-7496

  • Fix MySQL 8 event timestamp resolution logic error where fallback to seconds occurs erroneously for non-GTID events DBZ-7500

  • Remove incubating from Debezium documentation DBZ-7501

  • LogMinerHelperIT test shouldAddCorrectLogFiles randomly fails DBZ-7504

  • MySQl ReadOnlyIncrementalSnapshotIT testStopSnapshotKafkaSignal fails randomly DBZ-7508

  • Multi-threaded snapshot can enqueue changes out of order DBZ-7534

  • AsyncEmbeddedEngineTest#testTasksAreStoppedIfSomeFailsToStart fails randomly DBZ-7535

  • MongoDbReplicaSetAuthTest fails randomly DBZ-7537

  • ReadOnlyIncrementalSnapshotIT#testStopSnapshotKafkaSignal fails randomly DBZ-7553

  • Wait for Redis server to start DBZ-7564

  • Fix null event timestamp possible from FORMAT_DESCRIPTION and PREVIOUS_GTIDS events in MySqlStreamingChangeEventSource::setEventTimestamp DBZ-7567

  • AsyncEmbeddedEngineTest.testExecuteSmt fails randomly DBZ-7568

  • Debezium fails to compile with JDK 21 DBZ-7569

  • Redis tests fail randomly with JedisConnectionException: Unexpected end of stream DBZ-7576

  • RedisOffsetIT.testRedisConnectionRetry fails randomly DBZ-7578

  • Unavailable Toasted HSTORE Json Storage Mode column causes serialization failure DBZ-7582

  • Oracle Connector REST Extension Tests Fail DBZ-7597

  • Serialization of XML columns with NULL values fails using Infinispan Buffer DBZ-7598

Other changes

  • MySQL config values validated twice DBZ-2015

  • Implement Hybrid Mining Strategy for Oracle, seamless DDL tracking with online catalog performance DBZ-3401

  • Tests in RHEL system testsuite throw errors without ocp cluster DBZ-7002

  • Move timeout configuration of MongoDbReplicaSet into Builder class DBZ-7054

  • Several Oracle tests fail regularly on Testing Farm infrastructure DBZ-7072

  • Remove obsolete MySQL version from TF DBZ-7173

  • Add Oracle 23 to CI test matrix DBZ-7195

  • Refactor sharded mongo ocp test DBZ-7221

  • Implement Snapshotter SPI Oracle DBZ-7302

  • Align snapshot modes for SQLServer DBZ-7303

  • Update snapshot mode documentation DBZ-7309

  • Upgrade ojdbc8 to 21.11.0.0 DBZ-7365

  • Document relation between column type and serializers for outbox DBZ-7368

  • Test testEmptyChangesProducesHeartbeat tends to fail randomly DBZ-7453

  • Align snapshot modes for PostgreSQL, MySQL, Oracle DBZ-7461

  • Document toggling MariaDB mode DBZ-7487

  • Add informix to main repository CI workflow DBZ-7490

  • Disable Oracle Integration Tests on GitHub DBZ-7494

  • Unify and adjust thread time outs DBZ-7495

  • Add "IF [NOT] EXISTS" DDL support for Oracle 23 DBZ-7498

  • Deployment examples show attribute name instead of its value DBZ-7499

  • Add ability to parse Map<String, Object> into ConfigProperties DBZ-7503

  • Support Oracle 23 SELECT without FROM DBZ-7505

  • Add Oracle 23 Annotation support for CREATE/ALTER TABLE statements DBZ-7506

  • TestContainers MongoDbReplicaSetAuthTest randomly fails DBZ-7507

  • Add Informix to Java Outreach DBZ-7510

  • Disable parallel record processing in DBZ server tests against Apicurio DBZ-7515

  • Add Start CDC hook in Reselect Columns PostProcessor Tests DBZ-7516

  • Remove the unused 'connector' parameter in the createSourceTask method in EmbeddedEngine.java DBZ-7517

  • Update commons-compress to 1.26.0 DBZ-7520

  • Promote JDBC sink from Incubating DBZ-7521

  • Allow to download containers also from Docker Hub DBZ-7524

  • Update rocketmq version DBZ-7525

  • signalLogWithEscapedCharacter fails with pgoutput-decoder DBZ-7526

  • Move RocketMQ dependency to debezium server DBZ-7527

  • Rework shouldGenerateSnapshotAndContinueStreaming assertions to deal with parallelization DBZ-7530

  • SQLServer tests taking long time due to database bad state DBZ-7541

  • Explicitly import jakarta dependencies that are excluded via glassfish filter DBZ-7545

  • Include RocketMQ and Redis container output into test log DBZ-7557

  • Numeric default value decimal scale mismatch DBZ-7562

  • Documentation conflict DBZ-7565

  • Upgrade Kafka to 3.7.0 DBZ-7574

  • Oracle connector always brings OLR dependencies DBZ-7579

  • Correct JDBC connector dependencies DBZ-7580

  • Reduce debug logs on tests DBZ-7588

  • Server SQS sink doesn’t support quick profile DBZ-7590

Release 2.6.0.Alpha2 (February 13rd 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.6.1 and has been tested with version 3.6.1 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 2.6.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 2.6.0.Alpha2 plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.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

In 2.6, the task config format for Vitess connector was changed because the previous approach could de-stabilize Kafka Connect cluster (DBZ-7250). In some cases, when upgrading this change will cause NullPointerException and the error Couldn’t instantiate task <task-id> because it has an invalid task configuration. This task will not execute until reconfigured.. To fix this, delete & recreate each connector, using the same name & config. The connector(s) will start up and reuse the offsets last stored since they are using the same connector name (but will not try to reuse old task configs, which causes the error).

New features

  • Add Number of records captured and processed as metrics for Debezium MongoDB Connector DBZ-6432

  • Add timezone conversion to metadata in Timezone Converter SMT DBZ-7022

  • Create new implementation of DebeziumEngine DBZ-7024

  • Error when fail converting value with internal schema DBZ-7143

  • Provide alternative direct query for faster execution DBZ-7273

  • MongoDb connector doesn’t use post-images DBZ-7299

  • Support DECFLOAT in Db2 connector DBZ-7362

  • Create PubSub example for DS deployed via operator DBZ-7370

  • Support connector scoped trustore/keystore for MongoDB DBZ-7379

  • Put transaction id in offsets only when it’s present DBZ-7380

  • Replace additional rolebinding definition in kubernetes.yml with @RBACRule DBZ-7381

  • Reduce size of docker image for Debezium 2.6 and up DBZ-7385

  • Allow the C3P0ConnectionProvider to be customized via configuration DBZ-7431

  • Need to be able to set an ordering key value DBZ-7435

  • Evaluate container image size for Debezium UI served by nginx DBZ-7447

  • Support UUID as document key for incremental snapshotting DBZ-7451

  • Consolidate version management DBZ-7455

Fixes

  • Connector is getting stopped while processing bulk update(50k) records in debezium server 2.0.1.Final DBZ-6955

  • Debezium fails after table split operation DBZ-7360

  • Informix-Connector breaks on table with numerical default value DBZ-7372

  • MSSQL wrong default values in db schema for varchar, nvarchar, char columns DBZ-7374

  • Fix mysql version in mysql-replication container images DBZ-7384

  • Duplicate Debezium SMT transform DBZ-7416

  • Kinesis Sink Exception on PutRecord DBZ-7417

  • ParsingException (MariaDB Only): alterSpec drop foreign key with 'tablename.' prefix DBZ-7420

  • Poor performance with incremental snapshot with long list of tables DBZ-7421

  • Oracle Snapshot mistakenly uses LogMiner Offset Loader by default DBZ-7425

  • Reselect columns should source key values from after Struct when not using event-key sources DBZ-7429

  • Stopwatch throw NPE when toString is called without having statistics DBZ-7436

  • ReselectColumnsPostProcessor filter not use exclude predicate DBZ-7437

  • Adhoc snapshots are not triggered via File channel signal when submitted before the start of the application DBZ-7441

  • LogMiner batch size does not increase automatically DBZ-7445

  • Reduce string creation during SQL_REDO column read DBZ-7446

  • Oracle connector does not ignore reselection for excluded clob/blob columns DBZ-7456

  • The expected value pattern for table.include.list does not align with the documentation DBZ-7460

  • SQL Server queries with special characters fail after applying DBZ-7273 DBZ-7463

  • Signals actions are not loaded for SQLServer DBZ-7467

  • MySQL connector cannot parse table with WITH SYSTEM VERSIONING PARTITION BY SYSTEM_TIME DBZ-7468

  • Postgres images require clang-11 DBZ-7475

  • Make readiness and liveness proble timouts configurable DBZ-7476

  • Snapshotter SPI wrongly loaded on Debezium Server DBZ-7481

Other changes

  • Remove obsolete MySQL version from TF DBZ-7173

  • Correctly handle METADATA records DBZ-7176

  • Move Snapshotter interface to core module as SPI DBZ-7300

  • Implement Snapshotter SPI MySQL/MariaDB DBZ-7301

  • Update the Debezium UI repo with local development infra and readme file. DBZ-7353

  • Update QOSDK to the latest version DBZ-7361

  • Upstream artefact server image preparation job failing DBZ-7371

  • Tests in RHEL system testsuite fail to initialize Kafka containers DBZ-7373

  • Fix logging for schema only recovery mode in mysql connector DBZ-7376

  • Records from snapshot delivered out of order DBZ-7382

  • Upgrade json-path to 2.9.0 DBZ-7383

  • Remove the use of Lombok in Debezium testsuite DBZ-7386

  • Use Java 17 as compile-time dependency DBZ-7387

  • Upgrade Outbox Extension to Quarkus 3.7.0 DBZ-7388

  • Add dependancy update bot to the UI Repo DBZ-7392

  • Fix the unit test cases DBZ-7423

  • Adopt Oracle 23 to Testing Farm DBZ-7439

  • Upgrade protobuf to 3.25.2 DBZ-7442

  • Correct debezium.sink.pubsub.flowcontrol.* variable names in Debezium Server docs site DBZ-7443

  • Upgrade Quarkus for Debezium Server to 3.2.9.Final DBZ-7449

  • Fix TimescaleDbDatabaseTest to run into test container DBZ-7452

  • Upgrade example-mongo image version to 6.0 DBZ-7457

  • Test Db2ReselectColumnsProcessorIT randomly fails DBZ-7471

Release 2.6.0.Alpha1 (January 18th 2024)

Kafka compatibility

This release has been built against Kafka Connect 3.6.1 and has been tested with version 3.6.1 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 2.6.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 2.6.0.Alpha1 plugin files, and restart the connector using the same configuration. Upon restart, the 2.6.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

MongoDB no longer supports replica_set connection mode (DBZ-7260).

Re-select columns post-processor used for the key defined by message.key.columns for query building. This is not correct for most tables with primary key. The default behaviour has changed and the table primary key is used by default. A new configuration option was introduced to allow user to choose is primary key or generated key should be used (DBZ-7358).

New features

  • Provide a public API from the connector implementations to retrieve the list of matching collections or tables based on the different include-/exclude lists DBZ-7167

  • Notifications are Missing the ID field in log channel DBZ-7249

  • Provide config option to customize CloudEvents.data schema name DBZ-7284

  • Clarify comment on serialization of document ids DBZ-7287

  • Unittest for hasCommitAlreadyBeenHandled in CommitScn Class DBZ-7288

  • Oracle Infinispan abandoned trasactions minor enhancements DBZ-7313

  • Add support for NEW_ROW_AND_OLD_VALUES value capture type. DBZ-7348

Fixes

  • Empty object sent to GCP Pub/Sub after DELETE event DBZ-7098

  • Debezium-ddl-parser crashes on parsing MySQL DDL statement (subquery with UNION) DBZ-7259

  • Oracle DDL parsing error in PARTITION REFERENCE DBZ-7266

  • Enhance Oracle’s CREATE TABLE for Multiple Table Specifications DBZ-7286

  • PostgreSQL ad-hoc blocking snapshots fail when snapshot mode is "never" DBZ-7311

  • Ad-hoc blocking snapshot dies with "invalid snapshot identifier" immediately after connector creation DBZ-7312

  • Specifying a table include list with spaces between elements cause LogMiner queries to miss matches DBZ-7315

  • Debezium heartbeat.action.query does not start before writing to WAL: part 2 DBZ-7316

  • errors.max.retries is not used to stop retrying DBZ-7342

  • Oracle connector is ocasionally unable to find SCN DBZ-7345

  • Initial snapshot notifications should use full identifier. DBZ-7347

  • MySqlJdbcSinkDataTypeConverterIT#testBooleanDataTypeMapping fails DBZ-7355

Other changes

  • Add service loader manifests for all Connect plugins DBZ-7298

  • Update Groovy version to 4.x DBZ-7340

  • Upgrade Antora to 3.1.7 DBZ-7344

  • Upgrade Outbox Extension to Quarkus 3.6.5 DBZ-7352