Release Notes for Debezium 2.0

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

Release 2.0.0.Alpha1 (April 28th 2022)

Kafka compatibility

This release has been built against Kafka Connect 3.1.0 and has been tested with version 3.1.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.0.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.0.0.Alpha1 plugin files, and restart the connector using the same configuration. Upon restart, the 2.0.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 DockerHub.

Breaking changes

Java 11 is required to run Debezium in any form: Kafka Connect plug-in, Debezium engine and Debezium Server (DBZ-4949).

Maven 3.8.4 is required to build Debezium (DBZ-5064).

PostgreSQL connector no longer supports old versions of protobuf decoding plug-in that do not have transaction and default value support (DBZ-703).

PostgreSQL connector no longer supports wal2json decoding plug-in (dehttps://issues.redhat.com/browse/DBZ-4156[DBZ-4156]). pgoutput decoding plug-in is recommended as the replacement.

Legacy implementation of MySQL connector was removed (DBZ-4950).

Confluent Avro converters are no longer present in ebezium container images (DBZ-4952).

JDBC legacy date/time properties support was removed from MySQL connector (DBZ-4965).

New features

  • Implement Pub/Sub Lite change consumer DBZ-4450

  • Include Instant Client in Docker build for Oracle in Tutorial examples DBZ-1013

  • Add Google Pub/Sub emulator support DBZ-4491

  • Making Postgres PSQLException: This connection has been closed. retriable DBZ-4948

  • ORA-04030: out of process memory when trying to allocate 65568 bytes (Logminer LCR c,krvxrib:buffer) DBZ-4963

  • Should store event header timestamp in HistoryRecord DBZ-4998

  • DBZ-UI: In the Edit/Duplicate connector flow make the access/secret key/password/Client Secret filed as editable. DBZ-5001

  • adjust LogMiner batch size based on comparison with currently used batch size DBZ-5005

Fixes

  • Connector throws java.lang.ArrayIndexOutOfBoundsException DBZ-3848

  • Document no relevant tables should be in the SYS or SYSTEM tablespaces. DBZ-4762

  • Getting java.sql.SQLException: ORA-01291: missing logfile while running with archive log only DBZ-4879

  • Debezium uses wrong LCR format for Oracle 12.1 DBZ-4932

  • Oracle duplicates on connector restart DBZ-4936

  • Oracle truncate causes exception DBZ-4953

  • NPE caused by io.debezium.connector.oracle.antlr.listener.ColumnDefinitionParserListener.resolveColumnDataType DBZ-4976

  • Oracle connector may throw NullPointerException when stopped after an unsuccessful startup DBZ-4978

  • NPE for non-table related DDLs DBZ-4979

  • CTE statements aren’t parsed by MySQL connector DBZ-4980

  • Missing SSL configuration option in the debezium mongodb connector UI DBZ-4981

  • Unsupported MySQL Charsets during Snapshotting for fields with custom converter DBZ-4983

  • Outbox Transform does not allow expanded payload with additional fields in the envelope DBZ-4989

  • Redis Sink - clientSetname is taking place before auth DBZ-4993

  • CLOB with single quotes causes parser exception DBZ-4994

  • Oracle DDL parser fails on references_clause with no column list DBZ-4996

  • Can’t use 'local' database through mongos DBZ-5003

  • Triggering Incremental Snapshot on MongoDB connector throws json parsing error DBZ-5015

  • Jenkins jobs fail to download debezium-bom DBZ-5017

  • Redis Sink - Check if client is not null before closing it DBZ-5019

  • Cassandra 3 handler does not process partition deletions correctly DBZ-5022

  • Keyspaces should be initialised in all schema change listeners on sessions startup. DBZ-5023

  • SQL Server in multi-partition mode fails if a new database is added to an existing configuration DBZ-5033

  • Mysql tests start before MySQL DB constainer is running DBZ-5054

  • Debezium server configuration properties not rendered correctly DBZ-5058

Other changes

  • Add integration test for Oracle database.url configurations DBZ-3318

  • Build Cassandra 3.x connector with Java 11 DBZ-4910

  • Add ignoreSnapshots build option to release pipeline DBZ-4957

  • Update Pulsar client version used by Debezium Server DBZ-4961

  • Intermittent failure of RedisStreamIT.testRedisConnectionRetry DBZ-4966

  • Add triggers for 2.x paths in Github CI DBZ-4971

  • Debezium raised an exception and the task was still running DBZ-4987

  • Nexus Staging Maven plugin is incompatible with OpenJDK 17 DBZ-5025

  • Duplicate definition of Maven plugins DBZ-5026

  • OracleOffsetContextTest should be scoped to LogMiner only DBZ-5028

  • Scope several new Oracle tests to LogMiner only DBZ-5029

  • Failure in jdk outreach jobs DBZ-5041

  • Update artifact server job listing script DBZ-5051

  • Add FAQ about ORA-01882 and Oracle 11 to documentation DBZ-5057

  • Upgrade to Quarkus 2.8.2.Final DBZ-5062