From 6cb12e85b0df86aa8010dda61459a1b436d58ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josejulio=20Mart=C3=ADnez?= Date: Fri, 15 Mar 2024 06:44:14 -0600 Subject: [PATCH 1/8] RHCLOUD-29056 Upgrade debezium to 2.5 --- event-streams/Dockerfile | 6 +++--- event-streams/connector.json | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/event-streams/Dockerfile b/event-streams/Dockerfile index d6708be6..3c14a6be 100644 --- a/event-streams/Dockerfile +++ b/event-streams/Dockerfile @@ -3,8 +3,8 @@ USER root ENV EXTRA_PLUGINS=/deps/plugins \ EXTRA_LIBS=/deps/libs \ - DEBEZIUM_VERSION=1.9.7.Final \ - DEBEZIUM_CHECKSUM=161e362568163639fcde39da27e29456 \ + DEBEZIUM_VERSION=2.5.2.Final \ + DEBEZIUM_CHECKSUM=d8469bc48682fc57d75e66547c42febb \ CONFIG_PROVIDERS_VERSION=0.1.0 \ CONFIG_PROVIDERS_CHECKSUM=108e0bf4148a37676bed866ff45e1199 @@ -16,7 +16,7 @@ ADD schema/run.host.event.yaml /src RUN microdnf install gzip # Taken from https://github.com/debezium/docker-images/blob/master/connect-base/1.9/docker-maven-download.sh -# Debezium PostgreSQL checksum from https://github.com/debezium/container-images/blob/main/connect/1.9/Dockerfile +# Debezium PostgreSQL checksum from https://github.com/debezium/container-images/blob/main/connect/2.5/Dockerfile RUN mkdir -p $EXTRA_PLUGINS $EXTRA_LIBS && \ MAVEN_DEP_DESTINATION=$EXTRA_PLUGINS /src/docker-maven-download.sh debezium postgres ${DEBEZIUM_VERSION} ${DEBEZIUM_CHECKSUM} && \ MAVEN_DEP_DESTINATION=$EXTRA_LIBS /src/docker-maven-download.sh central com/redhat/insights/kafka config-providers ${CONFIG_PROVIDERS_VERSION} ${CONFIG_PROVIDERS_CHECKSUM} diff --git a/event-streams/connector.json b/event-streams/connector.json index b3bd84e5..cda1a374 100644 --- a/event-streams/connector.json +++ b/event-streams/connector.json @@ -4,16 +4,16 @@ "connector.class": "io.debezium.connector.postgresql.PostgresConnector", "tasks.max": "1", - "database.hostname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.host}", - "database.port": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.port}", - "database.user": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.user}", - "database.password": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.password}", - "database.dbname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.name}", + "driver.hostname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.host}", + "driver.port": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.port}", + "driver.user": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.user}", + "driver.password": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.password}", + "driver.dbname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.name}", "slot.name": "debezium", "plugin.name": "pgoutput", "slot.max.retries": 999999999, - "database.server.name": "playbook-dispatcher", + "topic.prefix": "playbook-dispatcher", "table.include.list": "public.runs,public.run_hosts", "tombstones.on.delete": false, From 10ad5729c33ad713ca947bdd131c8b441a48d781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josejulio=20Mart=C3=ADnez?= Date: Fri, 15 Mar 2024 14:25:08 -0600 Subject: [PATCH 2/8] `database.` is still used for these fields --- event-streams/connector.json | 10 +- .../debezium-connector-postgres/CHANGELOG.md | 5282 +++++++++++++++++ .../debezium-connector-postgres/CONTRIBUTE.md | 262 + .../debezium-connector-postgres/COPYRIGHT.txt | 573 ++ .../LICENSE-3rd-PARTIES.txt | 2493 ++++++++ .../debezium-connector-postgres/LICENSE.txt | 202 + .../foo/debezium-connector-postgres/README.md | 184 + .../debezium-connector-postgres/README_JA.md | 172 + .../debezium-connector-postgres/README_ZH.md | 177 + .../debezium-api-1.9.8.Final.jar | Bin 0 -> 20723 bytes ...ebezium-connector-postgres-1.9.8.Final.jar | Bin 0 -> 356935 bytes .../debezium-core-1.9.8.Final.jar | Bin 0 -> 954415 bytes .../failureaccess-1.0.1.jar | Bin 0 -> 4617 bytes .../guava-30.1.1-jre.jar | Bin 0 -> 2874025 bytes .../debezium-connector-postgres/postgres.json | 662 +++ .../postgresql-42.3.5.jar | Bin 0 -> 1041066 bytes .../protobuf-java-3.19.6.jar | Bin 0 -> 1664824 bytes 17 files changed, 10012 insertions(+), 5 deletions(-) create mode 100644 event-streams/foo/debezium-connector-postgres/CHANGELOG.md create mode 100644 event-streams/foo/debezium-connector-postgres/CONTRIBUTE.md create mode 100644 event-streams/foo/debezium-connector-postgres/COPYRIGHT.txt create mode 100644 event-streams/foo/debezium-connector-postgres/LICENSE-3rd-PARTIES.txt create mode 100644 event-streams/foo/debezium-connector-postgres/LICENSE.txt create mode 100644 event-streams/foo/debezium-connector-postgres/README.md create mode 100644 event-streams/foo/debezium-connector-postgres/README_JA.md create mode 100644 event-streams/foo/debezium-connector-postgres/README_ZH.md create mode 100644 event-streams/foo/debezium-connector-postgres/debezium-api-1.9.8.Final.jar create mode 100644 event-streams/foo/debezium-connector-postgres/debezium-connector-postgres-1.9.8.Final.jar create mode 100644 event-streams/foo/debezium-connector-postgres/debezium-core-1.9.8.Final.jar create mode 100644 event-streams/foo/debezium-connector-postgres/failureaccess-1.0.1.jar create mode 100644 event-streams/foo/debezium-connector-postgres/guava-30.1.1-jre.jar create mode 100644 event-streams/foo/debezium-connector-postgres/postgres.json create mode 100644 event-streams/foo/debezium-connector-postgres/postgresql-42.3.5.jar create mode 100644 event-streams/foo/debezium-connector-postgres/protobuf-java-3.19.6.jar diff --git a/event-streams/connector.json b/event-streams/connector.json index cda1a374..5be43e4b 100644 --- a/event-streams/connector.json +++ b/event-streams/connector.json @@ -4,11 +4,11 @@ "connector.class": "io.debezium.connector.postgresql.PostgresConnector", "tasks.max": "1", - "driver.hostname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.host}", - "driver.port": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.port}", - "driver.user": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.user}", - "driver.password": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.password}", - "driver.dbname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.name}", + "database.hostname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.host}", + "database.port": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.port}", + "database.user": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.user}", + "database.password": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.password}", + "database.dbname": "${file:/opt/kafka/external-configuration/playbook-dispatcher-db/db.name}", "slot.name": "debezium", "plugin.name": "pgoutput", diff --git a/event-streams/foo/debezium-connector-postgres/CHANGELOG.md b/event-streams/foo/debezium-connector-postgres/CHANGELOG.md new file mode 100644 index 00000000..1745bd05 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/CHANGELOG.md @@ -0,0 +1,5282 @@ +# Change log + +All notable changes are documented in this file. Release numbers follow [Semantic Versioning](http://semver.org) + +## 1.9.8.Final +December 15th 2023 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12398106) + +### New features since 1.9.7.Final + +* Postgres existing publication is not updated with the new table [DBZ-3921](https://issues.redhat.com/browse/DBZ-3921) +* Improve LogMiner query performance by reducing REGEXP_LIKE disjunctions [DBZ-5648](https://issues.redhat.com/browse/DBZ-5648) +* Restart SQL Server task on "Cannot continue the execution because the session is in the kill state" exception [DBZ-5777](https://issues.redhat.com/browse/DBZ-5777) +* Replace obsolete DebeziumDownload attribute [DBZ-5835](https://issues.redhat.com/browse/DBZ-5835) +* Support logical decoding from Postgres 16 stand-bys [DBZ-7181](https://issues.redhat.com/browse/DBZ-7181) + + +### Breaking changes since 1.9.7.Final + +None + + +### Fixes since 1.9.7.Final + +* MongoConnector's field exclusion configuration does not work with fields with the same name but from different collections [DBZ-4846](https://issues.redhat.com/browse/DBZ-4846) +* ORA-01003: no statement parsed [DBZ-5352](https://issues.redhat.com/browse/DBZ-5352) +* NullPointerException thrown during snapshot of tables in Oracle source connector [DBZ-5738](https://issues.redhat.com/browse/DBZ-5738) +* Exclude Oracle Compression Advisor tables from capture to avoid infinite loop [DBZ-5756](https://issues.redhat.com/browse/DBZ-5756) +* Using DBMS_LOB.ERASE by itself can lead to an unexpected UPDATE with null BLOB value [DBZ-5773](https://issues.redhat.com/browse/DBZ-5773) +* No table filters found for filtered publication [DBZ-5949](https://issues.redhat.com/browse/DBZ-5949) + + + +## 1.9.7.Final +October 25th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12397192) + +### New features since 1.9.6.Final + +* MySqlErrorHandler should handle SocketException [DBZ-5486](https://issues.redhat.com/browse/DBZ-5486) + + +### Breaking changes since 1.9.6.Final + +None + + +### Fixes since 1.9.6.Final + +* ORA-01289: cannot add duplicate logfile [DBZ-5276](https://issues.redhat.com/browse/DBZ-5276) +* Using snapshot boundary mode "all" causes DebeziumException on Oracle RAC [DBZ-5302](https://issues.redhat.com/browse/DBZ-5302) +* Missing snapshot pending transactions [DBZ-5482](https://issues.redhat.com/browse/DBZ-5482) +* Outbox pattern nested payload leads to connector crash [DBZ-5654](https://issues.redhat.com/browse/DBZ-5654) +* Keyword virtual can be used as an identifier [DBZ-5674](https://issues.redhat.com/browse/DBZ-5674) +* MongoDB Connector with DocumentDB errors with "{$natural: -1} is not supported" [DBZ-5677](https://issues.redhat.com/browse/DBZ-5677) +* Function DATE_ADD can be used as an identifier [DBZ-5679](https://issues.redhat.com/browse/DBZ-5679) +* UNIQUE INDEX with NULL value throws exception when lob.enabled is true [DBZ-5682](https://issues.redhat.com/browse/DBZ-5682) +* MySqlConnector parse create view statement failed [DBZ-5708](https://issues.redhat.com/browse/DBZ-5708) +* Debezium Server 1.9.6 is using MSSQL JDBC 7.2.2 instead of 9.4.1 [DBZ-5711](https://issues.redhat.com/browse/DBZ-5711) +* Vitess: Handle Vstream error: unexpected server EOF [DBZ-5722](https://issues.redhat.com/browse/DBZ-5722) +* ParsingException: DDL statement couldn't be parsed (index hints) [DBZ-5724](https://issues.redhat.com/browse/DBZ-5724) +* Oracle SQL parsing error when collation used [DBZ-5726](https://issues.redhat.com/browse/DBZ-5726) +* Unparseable DDL statement [DBZ-5734](https://issues.redhat.com/browse/DBZ-5734) +* Remove note from snapshot metrics docs file that flags incremental snapshots as TP feature [DBZ-5748](https://issues.redhat.com/browse/DBZ-5748) + + +### Other changes since 1.9.6.Final + +* SQL Server connector docs should mention multi-task support [DBZ-5714](https://issues.redhat.com/browse/DBZ-5714) +* Remove downstream TP designation for RAC content in Oracle connector docs [DBZ-5735](https://issues.redhat.com/browse/DBZ-5735) +* Update Pulsar client to 2.10.1 [DBZ-5737](https://issues.redhat.com/browse/DBZ-5737) +* Debezium connectors ship with an old version of google-protobuf vulnerable to CVE-2022-3171 [DBZ-5747](https://issues.redhat.com/browse/DBZ-5747) + + + +## 1.9.6.Final +September 23rd 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12391578) + +### New features since 1.9.5.Final + +* Read Debezium Metrics From Debezium Server Consumer [DBZ-5235](https://issues.redhat.com/browse/DBZ-5235) +* Treat SQLServerException with "Broken pipe (Write failed)" exception message as a retriable exception [DBZ-5292](https://issues.redhat.com/browse/DBZ-5292) +* Add INITIAL_ONLY to Db2 snapshot mode [DBZ-5429](https://issues.redhat.com/browse/DBZ-5429) +* Unsupported non-relational tables should be gracefully skipped by the connector during streaming [DBZ-5441](https://issues.redhat.com/browse/DBZ-5441) +* Restart SQL Server task on "Socket closed" exception [DBZ-5478](https://issues.redhat.com/browse/DBZ-5478) +* Handle Vstream Connection reset [DBZ-5551](https://issues.redhat.com/browse/DBZ-5551) +* Improve documentation editing experience by setting attributes for the preview [DBZ-5576](https://issues.redhat.com/browse/DBZ-5576) +* Traditional snapshot process setting source.ts_ms [DBZ-5591](https://issues.redhat.com/browse/DBZ-5591) +* Support for seting stats_sample_pages=default in alter table statements [DBZ-5631](https://issues.redhat.com/browse/DBZ-5631) +* support for using any expression in kill statements [DBZ-5636](https://issues.redhat.com/browse/DBZ-5636) + + +### Breaking changes since 1.9.5.Final + +None + + +### Fixes since 1.9.5.Final + +* System test-suite instabilties in CI [DBZ-3862](https://issues.redhat.com/browse/DBZ-3862) +* Source info of incremental snapshot events exports wrong data [DBZ-4329](https://issues.redhat.com/browse/DBZ-4329) +* Redis Sink config properties are not passed to DB history [DBZ-5035](https://issues.redhat.com/browse/DBZ-5035) +* Memory leak in EventDeserializer caused by tableMapEventByTableId [DBZ-5126](https://issues.redhat.com/browse/DBZ-5126) +* Postgres Incremental Snapshot on parent partitioned table not working [DBZ-5240](https://issues.redhat.com/browse/DBZ-5240) +* Lob type data is inconsistent between source and sink, after modifying the primary key [DBZ-5295](https://issues.redhat.com/browse/DBZ-5295) +* HTTP sink not retrying failing requests [DBZ-5307](https://issues.redhat.com/browse/DBZ-5307) +* Caused by: java.io.EOFException: Failed to read next byte from position 2005308603 [DBZ-5333](https://issues.redhat.com/browse/DBZ-5333) +* Unsigned tinyint conversion fails for MySQL 8.x [DBZ-5343](https://issues.redhat.com/browse/DBZ-5343) +* NullPointerException thrown when unique index based on both system and non-system generated columns [DBZ-5356](https://issues.redhat.com/browse/DBZ-5356) +* AWS DocumentDB (with MongoDB Compatibility) Connect Fail [DBZ-5371](https://issues.redhat.com/browse/DBZ-5371) +* Debezium Cassandra 4 Connector not working with 1.9.4 release BUT works with 1.9.2 release [DBZ-5380](https://issues.redhat.com/browse/DBZ-5380) +* org.postgresql.util.PSQLException: Bad value for type timestamp/date/time: CURRENT_TIMESTAMP [DBZ-5384](https://issues.redhat.com/browse/DBZ-5384) +* Missing "previousId" property with parsing the rename statement in kafka history topic [DBZ-5386](https://issues.redhat.com/browse/DBZ-5386) +* Check constraint introduces a column based on constraint in the schema change event. [DBZ-5390](https://issues.redhat.com/browse/DBZ-5390) +* Clarify which database name to use for signal.data.collection when using Oracle with pluggable database support [DBZ-5399](https://issues.redhat.com/browse/DBZ-5399) +* Timestamp with time zone column's default values not in GMT [DBZ-5403](https://issues.redhat.com/browse/DBZ-5403) +* Upgrade to Kafka 3.1 broke build compatibility with Kafka 2.x and Kafka 3.0 [DBZ-5404](https://issues.redhat.com/browse/DBZ-5404) +* PostgresConnectorIT#shouldRecoverFromRetriableException fails randomly [DBZ-5408](https://issues.redhat.com/browse/DBZ-5408) +* OracleConnectorIT waitForCurrentScnToHaveBeenSeenByConnector method can produce a NumberFormatException [DBZ-5428](https://issues.redhat.com/browse/DBZ-5428) +* OffsetStore not stopped if it fails to fully start [DBZ-5433](https://issues.redhat.com/browse/DBZ-5433) +* Translation from mongodb document to kafka connect schema fails when nested arrays contain no elements [DBZ-5434](https://issues.redhat.com/browse/DBZ-5434) +* Duplicate SCNs on same thread Oracle RAC mode incorrectly processed [DBZ-5439](https://issues.redhat.com/browse/DBZ-5439) +* Typo in sqlserver document. [DBZ-5440](https://issues.redhat.com/browse/DBZ-5440) +* Typo in postgresql document. [DBZ-5450](https://issues.redhat.com/browse/DBZ-5450) +* Create Index DDL fails to parse when using TABLESPACE clause with quoted identifier [DBZ-5472](https://issues.redhat.com/browse/DBZ-5472) +* Outbox doesn't check array consistecy properly when it detemines its schema [DBZ-5475](https://issues.redhat.com/browse/DBZ-5475) +* Misleading statistics written to the log [DBZ-5476](https://issues.redhat.com/browse/DBZ-5476) +* Debezium connector task didn't retry when failover in mongodb 5 [DBZ-5479](https://issues.redhat.com/browse/DBZ-5479) +* Oracle DATADUMP DDL cannot be parsed [DBZ-5488](https://issues.redhat.com/browse/DBZ-5488) +* Mysql connector parser the ddl statement failed when including keyword "buckets" [DBZ-5499](https://issues.redhat.com/browse/DBZ-5499) +* duplicate call to config.validateAndRecord() in RedisDatabaseHistory [DBZ-5506](https://issues.redhat.com/browse/DBZ-5506) +* DDL statement couldn't be parsed : mismatched input 'ENGINE' [DBZ-5508](https://issues.redhat.com/browse/DBZ-5508) +* LogMiner DML parser incorrectly interprets concatenation operator inside quoted column value [DBZ-5521](https://issues.redhat.com/browse/DBZ-5521) +* Mysql Connector DDL Parser does not parse all privileges [DBZ-5522](https://issues.redhat.com/browse/DBZ-5522) +* SQL Server random test failures - EventProcessingFailureHandlingIT [DBZ-5525](https://issues.redhat.com/browse/DBZ-5525) +* CREATE TABLE with JSON-based CHECK constraint clause causes MultipleParsingExceptions [DBZ-5526](https://issues.redhat.com/browse/DBZ-5526) +* SQL Server test failure - verifyOffsets [DBZ-5527](https://issues.redhat.com/browse/DBZ-5527) +* Support EMPTY column identifier [DBZ-5550](https://issues.redhat.com/browse/DBZ-5550) +* Use TCCL as the default classloader to load interface implementations [DBZ-5561](https://issues.redhat.com/browse/DBZ-5561) +* max.queue.size.in.bytes is invalid [DBZ-5569](https://issues.redhat.com/browse/DBZ-5569) +* Vitess: Handle VStream close unepectedly [DBZ-5579](https://issues.redhat.com/browse/DBZ-5579) +* Oracle connector parsing SELECT_LOB_LOCATOR event missing constant `unavailable.value.placeholder` [DBZ-5581](https://issues.redhat.com/browse/DBZ-5581) +* Field validation errors are misleading for positive, non-zero expectations [DBZ-5588](https://issues.redhat.com/browse/DBZ-5588) +* LIST_VALUE_CLAUSE not allowing TIMESTAMP LITERAL [DBZ-5592](https://issues.redhat.com/browse/DBZ-5592) +* Orcale DDL does not support comments on materialized views [DBZ-5595](https://issues.redhat.com/browse/DBZ-5595) +* Message with LSN foo larger than expected LSN bar [DBZ-5597](https://issues.redhat.com/browse/DBZ-5597) +* Oracle DDL does not support DEFAULT ON NULL [DBZ-5605](https://issues.redhat.com/browse/DBZ-5605) +* Datatype mdsys.sdo_geometry not supported [DBZ-5609](https://issues.redhat.com/browse/DBZ-5609) +* MySQL connector cannot parse default value of decimal colum enclosed in double quotes [DBZ-5630](https://issues.redhat.com/browse/DBZ-5630) +* Continuously WARNs about undo transactions when LOB is enabled [DBZ-5635](https://issues.redhat.com/browse/DBZ-5635) +* Literal "${project.version}" in the source record instead of the actual version [DBZ-5640](https://issues.redhat.com/browse/DBZ-5640) +* TABLE_TYPE keyword can be used as identifier [DBZ-5643](https://issues.redhat.com/browse/DBZ-5643) +* Large numbers of ROLLBACK transactions can lead to memory leak when LOB is not enabled. [DBZ-5645](https://issues.redhat.com/browse/DBZ-5645) + + +### Other changes since 1.9.5.Final + +* Clean-up unused documentation variables [DBZ-2595](https://issues.redhat.com/browse/DBZ-2595) +* Oracle SCAN VIP support [DBZ-3987](https://issues.redhat.com/browse/DBZ-3987) +* Intermittent test failures on CI: EventProcessingFailureHandlingIT [DBZ-4004](https://issues.redhat.com/browse/DBZ-4004) +* Downstream test for outbox event routing SMT [DBZ-4266](https://issues.redhat.com/browse/DBZ-4266) +* No documentation for snapshot.include.collection.list property for Db2 connector [DBZ-4345](https://issues.redhat.com/browse/DBZ-4345) +* Improve Filter SMT documentation / examples [DBZ-4417](https://issues.redhat.com/browse/DBZ-4417) +* Update instructions for deploying Debezium on RHEL (downstream-only change) [DBZ-5293](https://issues.redhat.com/browse/DBZ-5293) +* Build stable branches for connector-specific repos [DBZ-5409](https://issues.redhat.com/browse/DBZ-5409) +* Address User guide review comments for Oracle connector [DBZ-5418](https://issues.redhat.com/browse/DBZ-5418) +* OracleSchemaMigrationIT fails on non-pluggable (non-CDB) databases [DBZ-5419](https://issues.redhat.com/browse/DBZ-5419) +* Update link format in shared tutorial file [DBZ-5422](https://issues.redhat.com/browse/DBZ-5422) +* Remove community conditionalization in signaling doc for Oracle incremental and ad hoc snapshots content [DBZ-5458](https://issues.redhat.com/browse/DBZ-5458) +* MySQL read.only property incorrectly appears in downstream documentation [DBZ-5555](https://issues.redhat.com/browse/DBZ-5555) +* Upgrade binary log client to 0.27.2 [DBZ-5620](https://issues.redhat.com/browse/DBZ-5620) + + + +## 1.9.5.Final +July 8th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12390730) + +### New features since 1.9.4.Final + +* Correct documentation of Event Router in expand.json mode [DBZ-5296](https://issues.redhat.com/browse/DBZ-5296) +* Allow the maven version is greater than the current 3.8.4 [DBZ-5299](https://issues.redhat.com/browse/DBZ-5299) + + +### Breaking changes since 1.9.4.Final + +None + + +### Fixes since 1.9.4.Final + +* Data duplication problem using postgresql source on debezium server [DBZ-5070](https://issues.redhat.com/browse/DBZ-5070) +* Dupicate SCNs on Oracle RAC installations incorrectly processed [DBZ-5245](https://issues.redhat.com/browse/DBZ-5245) +* NPE when using Debezium Embedded in Quarkus [DBZ-5251](https://issues.redhat.com/browse/DBZ-5251) +* No changes to commit_scn when oracle-connector got new lob data [DBZ-5266](https://issues.redhat.com/browse/DBZ-5266) +* database.history.store.only.captured.tables.ddl not suppressing logs [DBZ-5270](https://issues.redhat.com/browse/DBZ-5270) +* Debezium server fail when connect to Azure Event Hubs [DBZ-5279](https://issues.redhat.com/browse/DBZ-5279) +* ORA-01086 savepoint never established raised when database history topic cannot be created or does not exist [DBZ-5281](https://issues.redhat.com/browse/DBZ-5281) +* Enabling database.history.store.only.captured.tables.ddl does not restrict history topic records [DBZ-5285](https://issues.redhat.com/browse/DBZ-5285) +* Snapshot fails when table's relational model is created using an abstract data type as unique index [DBZ-5300](https://issues.redhat.com/browse/DBZ-5300) +* Incremental Snapshot: Oracle table name parsing does not support periods in DB name [DBZ-5336](https://issues.redhat.com/browse/DBZ-5336) +* Support PostgreSQL default value function calls with schema prefixes [DBZ-5340](https://issues.redhat.com/browse/DBZ-5340) +* Log a warning when an unsupported LogMiner operation is detected for a captured table [DBZ-5351](https://issues.redhat.com/browse/DBZ-5351) +* MySQL Connector column hash v2 does not work [DBZ-5366](https://issues.redhat.com/browse/DBZ-5366) +* Outbox JSON expansion fails when nested arrays contain no elements [DBZ-5367](https://issues.redhat.com/browse/DBZ-5367) +* docker-maven-plugin needs to be upgraded for Mac Apple M1 [DBZ-5369](https://issues.redhat.com/browse/DBZ-5369) + + +### Other changes since 1.9.4.Final + +* Document use of JAR artifact to build Debezium scripting SMT into Kafka Connect [DBZ-5227](https://issues.redhat.com/browse/DBZ-5227) +* Build Oracle connector by default without Maven profiles [DBZ-5234](https://issues.redhat.com/browse/DBZ-5234) +* Remove reference to removed case insensitive option in Oracle README.md [DBZ-5250](https://issues.redhat.com/browse/DBZ-5250) +* LogMinerHelperIT tests fail when executed against a multi-node Oracle RAC cluster [DBZ-5301](https://issues.redhat.com/browse/DBZ-5301) +* Support skipping tests based on whether V$OPTION is enabled or disabled [DBZ-5303](https://issues.redhat.com/browse/DBZ-5303) +* Upgrade to Apache Kafka 3.2.0 [DBZ-5346](https://issues.redhat.com/browse/DBZ-5346) +* Oracle GitHub actions workflow no longer run tests on pushes [DBZ-5349](https://issues.redhat.com/browse/DBZ-5349) + + + +## 1.9.4.Final +June 21st 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12389859) + +### New features since 1.9.3.Final + +* Include event scn in Oracle records [DBZ-5225](https://issues.redhat.com/browse/DBZ-5225) +* Redis Store does not work with GCP Managed Redis [DBZ-5268](https://issues.redhat.com/browse/DBZ-5268) + + +### Breaking changes since 1.9.3.Final + +None + + +### Fixes since 1.9.3.Final + +* Incorrect loading of LSN from offsets [DBZ-3942](https://issues.redhat.com/browse/DBZ-3942) +* Database history recovery will retain old tables after they've been renamed [DBZ-4451](https://issues.redhat.com/browse/DBZ-4451) +* Adding new table with incremental snapshots not working [DBZ-4834](https://issues.redhat.com/browse/DBZ-4834) +* BigDecimal has mismatching scale value for given Decimal schema [DBZ-4890](https://issues.redhat.com/browse/DBZ-4890) +* Debezium has never found starting LSN [DBZ-5031](https://issues.redhat.com/browse/DBZ-5031) +* Cursor fetch is used for all results during connection [DBZ-5084](https://issues.redhat.com/browse/DBZ-5084) +* io.debezium.text.ParsingException: DDL statement couldn't be parsed [DBZ-5200](https://issues.redhat.com/browse/DBZ-5200) +* Debezium does NOT support "unix_timestamp() as DEFAULT value [DBZ-5201](https://issues.redhat.com/browse/DBZ-5201) +* Oracle io.debezium.DebeziumException: io.debezium.DebeziumException: Failed to get transaction id for current SCN [DBZ-5202](https://issues.redhat.com/browse/DBZ-5202) +* Debezium Postgres v1.9.3 fails in Materialize CI [DBZ-5204](https://issues.redhat.com/browse/DBZ-5204) +* Oracle Connector failing due to ALTER TABLE for adding column with foreign key [DBZ-5210](https://issues.redhat.com/browse/DBZ-5210) +* DDL statement couldn't be parsed - Oracle connector 1.9.3.Final [DBZ-5211](https://issues.redhat.com/browse/DBZ-5211) +* DDL statement couldn't be parsed 2 - Oracle connector 1.9.3.Final [DBZ-5230](https://issues.redhat.com/browse/DBZ-5230) +* Cannot convert field type tinyint(1) unsigned to boolean [DBZ-5236](https://issues.redhat.com/browse/DBZ-5236) +* Oracle unparsable ddl create table [DBZ-5237](https://issues.redhat.com/browse/DBZ-5237) +* Character set influencers are not properly parsed on default values [DBZ-5241](https://issues.redhat.com/browse/DBZ-5241) +* Oracle LogMiner may fail with an in-progress transaction in an archive log that has been deleted [DBZ-5256](https://issues.redhat.com/browse/DBZ-5256) +* Order of source block table names in a rename schema change event is not deterministic [DBZ-5257](https://issues.redhat.com/browse/DBZ-5257) +* Debezium fails to connect to replicaset if a node is down [DBZ-5260](https://issues.redhat.com/browse/DBZ-5260) +* io.debezium.text.ParsingException: DDL statement couldn't be parsed [DBZ-5271](https://issues.redhat.com/browse/DBZ-5271) +* Deadlock during snapshot with Mongo connector [DBZ-5272](https://issues.redhat.com/browse/DBZ-5272) +* Mysql parser is not able to handle variables in KILL command [DBZ-5273](https://issues.redhat.com/browse/DBZ-5273) + + +### Other changes since 1.9.3.Final + +* Confusing example for schema change topic [DBZ-4713](https://issues.redhat.com/browse/DBZ-4713) +* Update cache-invalidation example [DBZ-4754](https://issues.redhat.com/browse/DBZ-4754) +* MBean name registrations no longer correct in documentation [DBZ-5153](https://issues.redhat.com/browse/DBZ-5153) +* Use ubi9 as the base image for Debezium UI [DBZ-5199](https://issues.redhat.com/browse/DBZ-5199) +* Restore deleted topic heading in mongodb-outbox-event-router.adoc [DBZ-5219](https://issues.redhat.com/browse/DBZ-5219) +* Create shared adoc fragments for specifying MBean name format in connector metrics sections [DBZ-5233](https://issues.redhat.com/browse/DBZ-5233) +* Several Oracle tests do not get database name from TestHelper [DBZ-5258](https://issues.redhat.com/browse/DBZ-5258) + + + +## 1.9.3.Final +June 2nd 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12385477) + +### New features since 1.9.2.Final + +* Allow mongodb-connector to decode Binary payloads [DBZ-4600](https://issues.redhat.com/browse/DBZ-4600) +* ORA-04030: out of process memory when trying to allocate 65568 bytes (Logminer LCR c,krvxrib:buffer) [DBZ-4963](https://issues.redhat.com/browse/DBZ-4963) +* Include heartbeat table to the heartbeat process in the Debezium Oracle Connector [DBZ-5119](https://issues.redhat.com/browse/DBZ-5119) +* Avoid reading entire schema history file into memory in the test suite [DBZ-5129](https://issues.redhat.com/browse/DBZ-5129) +* Expose more useful exception info with building the field default value schema [DBZ-5172](https://issues.redhat.com/browse/DBZ-5172) + + +### Breaking changes since 1.9.2.Final + +None + + +### Fixes since 1.9.2.Final + +* Error and connector stops when DDL contains lateral [DBZ-4780](https://issues.redhat.com/browse/DBZ-4780) +* Schema changes should flush SCN to offsets if there are no other active transactions [DBZ-4782](https://issues.redhat.com/browse/DBZ-4782) +* Connector stops streaming after a re-balance [DBZ-4792](https://issues.redhat.com/browse/DBZ-4792) +* MySQL connector increment snapshot failed parse datetime column lenth when connector set "snapshot.fetch.size": 20000 [DBZ-4939](https://issues.redhat.com/browse/DBZ-4939) +* [MySQL Debezium] DDL Parsing error - CREATE OR REPLACE TABLE [DBZ-4958](https://issues.redhat.com/browse/DBZ-4958) +* InstanceAlreadyExistsException during MongoDb connector metrics registration [DBZ-5011](https://issues.redhat.com/browse/DBZ-5011) +* DateTimeParseException: Text 'infinity' could not be parsed in Postgres connector [DBZ-5014](https://issues.redhat.com/browse/DBZ-5014) +* Fix inconsistent transaction id when handling transactional messages in Vitess connector [DBZ-5063](https://issues.redhat.com/browse/DBZ-5063) +* Debezium MCS Error when changing Postgres port [DBZ-5067](https://issues.redhat.com/browse/DBZ-5067) +* 4 Connections per connector (postgres) [DBZ-5074](https://issues.redhat.com/browse/DBZ-5074) +* Oracle documentation refers to archive_log_target rather than archive_lag_target [DBZ-5076](https://issues.redhat.com/browse/DBZ-5076) +* 'ALTER TABLE mytable DROP FOREIGN KEY IF EXISTS mytable_fk' no viable alternative at input 'ALTER TABLE mytable DROP FOREIGN KEY IF' [DBZ-5077](https://issues.redhat.com/browse/DBZ-5077) +* Oracle Logminer: records missed during switch from snapshot to streaming mode [DBZ-5085](https://issues.redhat.com/browse/DBZ-5085) +* Interrupting a snapshot process can hang for some JDBC drivers [DBZ-5087](https://issues.redhat.com/browse/DBZ-5087) +* Debezium fails to undo change event due to transaction id ending in ffffffff with LogMiner [DBZ-5090](https://issues.redhat.com/browse/DBZ-5090) +* Postgresql connector does not retry one some errors when postgres is taken offline [DBZ-5097](https://issues.redhat.com/browse/DBZ-5097) +* Parsing zero day fails [DBZ-5099](https://issues.redhat.com/browse/DBZ-5099) +* Cannot Set debezium.sink.kafka.producer.ssl.endpoint.identification.algorithm to empty value [DBZ-5105](https://issues.redhat.com/browse/DBZ-5105) +* Debezium connector failed with create table statement [DBZ-5108](https://issues.redhat.com/browse/DBZ-5108) +* Current version of surefire/failsafe skips tests on failure in BeforeAll [DBZ-5112](https://issues.redhat.com/browse/DBZ-5112) +* Test IncrementalSnapshotIT##schemaChanges fails randomly [DBZ-5131](https://issues.redhat.com/browse/DBZ-5131) +* Cannot parse default value 0.000000000000000000 for bigint column [DBZ-5134](https://issues.redhat.com/browse/DBZ-5134) +* MilliSecondsBehindSource is not reported by SQL Server connector [DBZ-5137](https://issues.redhat.com/browse/DBZ-5137) +* Restarting mysql connector task fails with: java.lang.RuntimeException: Unable to register the MBean [DBZ-5138](https://issues.redhat.com/browse/DBZ-5138) +* No raising of "WARN Event for transaction X has already been processed, skipped." [DBZ-5140](https://issues.redhat.com/browse/DBZ-5140) +* Oracle connector restarts after ORA-01291 [DBZ-5148](https://issues.redhat.com/browse/DBZ-5148) +* TestContainers method DebeziumContainer#getConnectorTaskState can raise a NullPointerException [DBZ-5159](https://issues.redhat.com/browse/DBZ-5159) +* ExtractNewRecordState SMT Replaces Null Value with Column's Default Value [DBZ-5166](https://issues.redhat.com/browse/DBZ-5166) +* Oracle connector metrics tracking of rollback and abandoned transactions may cause high memory usage [DBZ-5179](https://issues.redhat.com/browse/DBZ-5179) +* Debezium official documentation typo [DBZ-5040](https://issues.redhat.com/browse/DBZ-5040) +* Should be sleep with REGISTRATION_RETRY_DELAY when registry MBean failed [DBZ-5141](https://issues.redhat.com/browse/DBZ-5141) + + +### Other changes since 1.9.2.Final + +* Restructure documentation for custom converters [DBZ-4588](https://issues.redhat.com/browse/DBZ-4588) +* Document *xmin.fetch.interval.ms* property for Postgres connector [DBZ-4734](https://issues.redhat.com/browse/DBZ-4734) +* Add FAQ about ORA-01882 and Oracle 11 to documentation [DBZ-5057](https://issues.redhat.com/browse/DBZ-5057) +* Rename "Mysql" to "MySql" in related MysqlFieldReader interface [DBZ-5078](https://issues.redhat.com/browse/DBZ-5078) +* Remove auto-generation and default values for MySQL database.server.id [DBZ-5101](https://issues.redhat.com/browse/DBZ-5101) +* Upgrade Jackson Databind to 2.13.2.2 [DBZ-5107](https://issues.redhat.com/browse/DBZ-5107) +* Switch to released version of Fixture5 extension in System testsuite [DBZ-5114](https://issues.redhat.com/browse/DBZ-5114) +* Use range to activate jdk11 profile [DBZ-5118](https://issues.redhat.com/browse/DBZ-5118) +* Misc edits to prepare Oracle connector docs for GA [DBZ-5132](https://issues.redhat.com/browse/DBZ-5132) +* Pro-actively detect issues with LogMiner records [DBZ-5147](https://issues.redhat.com/browse/DBZ-5147) +* Align Postgresql driver with Quarkus [DBZ-5060](https://issues.redhat.com/browse/DBZ-5060) + + + +## 1.9.2.Final +April 29th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12385310) + +### New features since 1.9.1.Final + +* adjust LogMiner batch size based on comparison with currently used batch size [DBZ-5005](https://issues.redhat.com/browse/DBZ-5005) + + +### Breaking changes since 1.9.1.Final + +None + + +### Fixes since 1.9.1.Final + +* Connector throws java.lang.ArrayIndexOutOfBoundsException [DBZ-3848](https://issues.redhat.com/browse/DBZ-3848) +* Document no relevant tables should be in the SYS or SYSTEM tablespaces. [DBZ-4762](https://issues.redhat.com/browse/DBZ-4762) +* Unable to mine Oracle source table which have "/" in table names [DBZ-5006](https://issues.redhat.com/browse/DBZ-5006) +* SQL Server in multi-partition mode fails if a new database is added to an existing configuration [DBZ-5033](https://issues.redhat.com/browse/DBZ-5033) +* Debezium Server tarball 1.9.1 does not work [DBZ-5037](https://issues.redhat.com/browse/DBZ-5037) +* Mysql tests start before MySQL DB constainer is running [DBZ-5054](https://issues.redhat.com/browse/DBZ-5054) +* Debezium server configuration properties not rendered correctly [DBZ-5058](https://issues.redhat.com/browse/DBZ-5058) + + +### Other changes since 1.9.1.Final + +None + + + +## 1.9.1.Final +April 21st 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12384300) + +### New features since 1.9.0.Final + +* Extract component preparation from test-suite job [DBZ-4601](https://issues.redhat.com/browse/DBZ-4601) +* Making Postgres `PSQLException: This connection has been closed.` retriable [DBZ-4948](https://issues.redhat.com/browse/DBZ-4948) + + +### Breaking changes since 1.9.0.Final + +None + + +### Fixes since 1.9.0.Final + +* Simplify and clean up system testsuite job [DBZ-4570](https://issues.redhat.com/browse/DBZ-4570) +* Getting java.sql.SQLException: ORA-01291: missing logfile while running with archive log only [DBZ-4879](https://issues.redhat.com/browse/DBZ-4879) +* Debezium uses wrong LCR format for Oracle 12.1 [DBZ-4932](https://issues.redhat.com/browse/DBZ-4932) +* Oracle duplicates on connector restart [DBZ-4936](https://issues.redhat.com/browse/DBZ-4936) +* Oracle truncate causes exception [DBZ-4953](https://issues.redhat.com/browse/DBZ-4953) +* NPE caused by io.debezium.connector.oracle.antlr.listener.ColumnDefinitionParserListener.resolveColumnDataType [DBZ-4976](https://issues.redhat.com/browse/DBZ-4976) +* Oracle connector may throw NullPointerException when stopped after an unsuccessful startup [DBZ-4978](https://issues.redhat.com/browse/DBZ-4978) +* NPE for non-table related DDLs [DBZ-4979](https://issues.redhat.com/browse/DBZ-4979) +* CTE statements aren't parsed by MySQL connector [DBZ-4980](https://issues.redhat.com/browse/DBZ-4980) +* Unsupported MySQL Charsets during Snapshotting for fields with custom converter [DBZ-4983](https://issues.redhat.com/browse/DBZ-4983) +* Outbox Transform does not allow expanded payload with additional fields in the envelope [DBZ-4989](https://issues.redhat.com/browse/DBZ-4989) +* Redis Sink - clientSetname is taking place before auth [DBZ-4993](https://issues.redhat.com/browse/DBZ-4993) +* CLOB with single quotes causes parser exception [DBZ-4994](https://issues.redhat.com/browse/DBZ-4994) +* Oracle DDL parser fails on references_clause with no column list [DBZ-4996](https://issues.redhat.com/browse/DBZ-4996) +* Can't use 'local' database through mongos [DBZ-5003](https://issues.redhat.com/browse/DBZ-5003) +* Triggering Incremental Snapshot on MongoDB connector throws json parsing error [DBZ-5015](https://issues.redhat.com/browse/DBZ-5015) +* Redis Sink - Check if client is not null before closing it [DBZ-5019](https://issues.redhat.com/browse/DBZ-5019) + + +### Other changes since 1.9.0.Final + +* QE jenkins jobs consolidation [DBZ-4235](https://issues.redhat.com/browse/DBZ-4235) +* Create trigger job for connector jobs [DBZ-4558](https://issues.redhat.com/browse/DBZ-4558) +* Debezium UI dependency updates [DBZ-4881](https://issues.redhat.com/browse/DBZ-4881) +* Read-only incremental snapshots blog post [DBZ-4917](https://issues.redhat.com/browse/DBZ-4917) +* Update Pulsar client version used by Debezium Server [DBZ-4961](https://issues.redhat.com/browse/DBZ-4961) +* Intermittent failure of RedisStreamIT.testRedisConnectionRetry [DBZ-4966](https://issues.redhat.com/browse/DBZ-4966) +* Debezium raised an exception and the task was still running [DBZ-4987](https://issues.redhat.com/browse/DBZ-4987) +* Nexus Staging Maven plugin is incompatible with OpenJDK 17 [DBZ-5025](https://issues.redhat.com/browse/DBZ-5025) +* OracleOffsetContextTest should be scoped to LogMiner only [DBZ-5028](https://issues.redhat.com/browse/DBZ-5028) +* Scope several new Oracle tests to LogMiner only [DBZ-5029](https://issues.redhat.com/browse/DBZ-5029) + + + +## 1.9.0.Final +April 5th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12379896) + +### New features since 1.9.0.CR1 + +* Ability to support all Redis connection schemes [DBZ-4511](https://issues.redhat.com/browse/DBZ-4511) +* pass SINK config properties to OffsetStore and DatabaseHistory adapters [DBZ-4864](https://issues.redhat.com/browse/DBZ-4864) +* Migrate test-suite fixtures to JUnit extension [DBZ-4892](https://issues.redhat.com/browse/DBZ-4892) +* Use Jedis' clientSetname when establishing Redis connections [DBZ-4911](https://issues.redhat.com/browse/DBZ-4911) + + +### Breaking changes since 1.9.0.CR1 + +None + + +### Fixes since 1.9.0.CR1 + +* MySQL connector fails to parse default integer value expressed as decimal [DBZ-3541](https://issues.redhat.com/browse/DBZ-3541) +* Cannot use Secrets in Debezium server connector config [DBZ-4742](https://issues.redhat.com/browse/DBZ-4742) +* spatial_ref_sys table should be excluded in Postgres connector [DBZ-4814](https://issues.redhat.com/browse/DBZ-4814) +* Oracle: Parsing failed for SEL_LOB_LOCATOR sql: 'DECLARE [DBZ-4862](https://issues.redhat.com/browse/DBZ-4862) +* Oracle connector stops calling logminer without any error message [DBZ-4884](https://issues.redhat.com/browse/DBZ-4884) +* Single quotes replication [DBZ-4891](https://issues.redhat.com/browse/DBZ-4891) +* Oracle keeps trying old scn even if it had no changes [DBZ-4907](https://issues.redhat.com/browse/DBZ-4907) +* Redis Sink - using Transaction does not work in sharded Redis [DBZ-4912](https://issues.redhat.com/browse/DBZ-4912) +* Oracle connector page have typo since version 1.5. [DBZ-4913](https://issues.redhat.com/browse/DBZ-4913) +* CVE-2022-26520 jdbc-postgresql: postgresql-jdbc: Arbitrary File Write Vulnerability [rhint-debezium-1] [DBZ-4916](https://issues.redhat.com/browse/DBZ-4916) +* Kafka topics list throw exception [DBZ-4920](https://issues.redhat.com/browse/DBZ-4920) +* Spelling mistake in doc about Oracle metrics [DBZ-4926](https://issues.redhat.com/browse/DBZ-4926) +* MariaDB Trigger Parsing Error [DBZ-4927](https://issues.redhat.com/browse/DBZ-4927) +* NPE during snapshotting MySQL database if custom converters present and column is null [DBZ-4933](https://issues.redhat.com/browse/DBZ-4933) +* Avro converter requires Guava in lib directory [DBZ-4935](https://issues.redhat.com/browse/DBZ-4935) +* Debezium Server 1.9 Fails to start up when transferring 1.8 offsets [DBZ-4937](https://issues.redhat.com/browse/DBZ-4937) +* Missing images for 1.9.0.Beta1 and 1.9.0.CR1 releases [DBZ-4943](https://issues.redhat.com/browse/DBZ-4943) + + +### Other changes since 1.9.0.CR1 + +* Document "schema.include.list"/"schema.exclude.list" for SQL Server connector [DBZ-2793](https://issues.redhat.com/browse/DBZ-2793) +* Align decimal.handling.mode documentation for Oracle like other connectors [DBZ-3317](https://issues.redhat.com/browse/DBZ-3317) +* Use Red Hat Maven repo for custom build image in docs [DBZ-4392](https://issues.redhat.com/browse/DBZ-4392) +* Upgrade postgres driver to version 42.3.3 [DBZ-4919](https://issues.redhat.com/browse/DBZ-4919) +* Update Quality Outreach workflow to official Oracle Java GH action [DBZ-4924](https://issues.redhat.com/browse/DBZ-4924) +* Bump jackson to 2.13.2 [DBZ-4955](https://issues.redhat.com/browse/DBZ-4955) + + + +## 1.9.0.CR1 +March 25th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12379895) + +### New features since 1.9.0.Beta1 + +* Add support for Cassandra 4.x [DBZ-2514](https://issues.redhat.com/browse/DBZ-2514) +* Exclude dummy events from database history [DBZ-3762](https://issues.redhat.com/browse/DBZ-3762) +* Define how MCS container images should be build [DBZ-4006](https://issues.redhat.com/browse/DBZ-4006) +* Document kafka-connect-offset related properties [DBZ-4014](https://issues.redhat.com/browse/DBZ-4014) +* Update UI dependency and it's configuration accordingly  [DBZ-4636](https://issues.redhat.com/browse/DBZ-4636) +* Save and load database history in Redis [DBZ-4771](https://issues.redhat.com/browse/DBZ-4771) +* Provide the Federated module UI component for DBZ Connector edit Flow [DBZ-4785](https://issues.redhat.com/browse/DBZ-4785) +* Switch to fabric8 model provided by Apicurio team [DBZ-4790](https://issues.redhat.com/browse/DBZ-4790) +* Merge the Data and Runtime option page in federated component. [DBZ-4804](https://issues.redhat.com/browse/DBZ-4804) +* Add task id and partition to the logging context for multi-partition connectors [DBZ-4809](https://issues.redhat.com/browse/DBZ-4809) +* run.sh is not working in windows environment [DBZ-4821](https://issues.redhat.com/browse/DBZ-4821) +* Log the tableId is null when filter out some tables [DBZ-4823](https://issues.redhat.com/browse/DBZ-4823) +* Debezium Mysql connector can't handle CREATE INDEX IF NOT EXISTS (MariaDB) [DBZ-4841](https://issues.redhat.com/browse/DBZ-4841) +* Postgresql connector prints uninformative log on snapshot phase [DBZ-4861](https://issues.redhat.com/browse/DBZ-4861) + + +### Breaking changes since 1.9.0.Beta1 + +None + + +### Fixes since 1.9.0.Beta1 + +* SchemaNameAdjuster is too restrictive by default [DBZ-3535](https://issues.redhat.com/browse/DBZ-3535) +* CVE-2022-21363 mysql-connector-java: Difficult to exploit vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Connectors [rhint-debezium-1] [DBZ-4758](https://issues.redhat.com/browse/DBZ-4758) +* java.lang.NullPointerException while handling DROP column query [DBZ-4786](https://issues.redhat.com/browse/DBZ-4786) +* Not reading the keystore/truststore when enabling MySQL SSL authentication [DBZ-4787](https://issues.redhat.com/browse/DBZ-4787) +* "DebeziumException: Unable to find primary from MongoDB connection" post upgrade to 1.8.1 [DBZ-4802](https://issues.redhat.com/browse/DBZ-4802) +* Oracle TO_DATE cannot be parsed when NLS parameter is provided [DBZ-4810](https://issues.redhat.com/browse/DBZ-4810) +* Oracle test FlushStrategyIT fails [DBZ-4819](https://issues.redhat.com/browse/DBZ-4819) +* Mysql: Getting ERROR `Failed due to error: connect.errors.ConnectException: For input string: "false"` [DBZ-4822](https://issues.redhat.com/browse/DBZ-4822) +* Expect the null value with snapshot CapturedTables metric when skipping snapshotting [DBZ-4824](https://issues.redhat.com/browse/DBZ-4824) +* MySQL 5.7 - no viable alternative at input 'ALTER TABLE ORD_ALLOCATION_CONFIG CHANGE RANK' [DBZ-4833](https://issues.redhat.com/browse/DBZ-4833) +* missing notes on using db2 connector [DBZ-4835](https://issues.redhat.com/browse/DBZ-4835) +* ParsingException when adding a new table to an existing oracle connector [DBZ-4836](https://issues.redhat.com/browse/DBZ-4836) +* Supplemental log check fails when restarting connector after table dropped [DBZ-4842](https://issues.redhat.com/browse/DBZ-4842) +* CREATE_TOPIC docker image regression [DBZ-4844](https://issues.redhat.com/browse/DBZ-4844) +* Logminer mining session stopped due to several kinds of SQL exceptions [DBZ-4850](https://issues.redhat.com/browse/DBZ-4850) +* DDL statement couldn't be parsed [DBZ-4851](https://issues.redhat.com/browse/DBZ-4851) +* Gracefully pass unsupported column types from DDL parser as OracleTypes.OTHER [DBZ-4852](https://issues.redhat.com/browse/DBZ-4852) +* Debezium oracle connector stopped because of Unsupported column type: LONG [DBZ-4853](https://issues.redhat.com/browse/DBZ-4853) +* Compilation of SqlServerConnectorIntegrator fails [DBZ-4856](https://issues.redhat.com/browse/DBZ-4856) +* Maven cannot compile debezium-microbenchmark-oracle [DBZ-4860](https://issues.redhat.com/browse/DBZ-4860) +* oracle connector fails because of Supplemental logging not properly configured [DBZ-4869](https://issues.redhat.com/browse/DBZ-4869) +* Re-read incremental snapshot chunk on DDL event [DBZ-4878](https://issues.redhat.com/browse/DBZ-4878) +* oracle connector fails because of unsupported column type nclob [DBZ-4880](https://issues.redhat.com/browse/DBZ-4880) +* Debezium throws CNFE for Avro converter [DBZ-4885](https://issues.redhat.com/browse/DBZ-4885) + + +### Other changes since 1.9.0.Beta1 + +* OpenShift deployment instruction improvements [DBZ-2594](https://issues.redhat.com/browse/DBZ-2594) +* Add Kubernetes version of deployment page [DBZ-2646](https://issues.redhat.com/browse/DBZ-2646) +* Log DML replication events instead of throwing an error [DBZ-3949](https://issues.redhat.com/browse/DBZ-3949) +* Review SqlServerConnector properties [DBZ-4052](https://issues.redhat.com/browse/DBZ-4052) +* Promote Outbox Quarkus extension to stable [DBZ-4430](https://issues.redhat.com/browse/DBZ-4430) +* Restructure Oracle connector documentation [DBZ-4436](https://issues.redhat.com/browse/DBZ-4436) +* Downstream docs for outbox event routing SMTs [DBZ-4652](https://issues.redhat.com/browse/DBZ-4652) +* Promote incremental snapshots to stable and GA [DBZ-4655](https://issues.redhat.com/browse/DBZ-4655) +* Remove legacy --zookeeper option from example instructions [DBZ-4660](https://issues.redhat.com/browse/DBZ-4660) +* Use JdbcConfiguration instead of Configuration for JDBC config values [DBZ-4801](https://issues.redhat.com/browse/DBZ-4801) +* Don't set truststore/keystore parameters to system variables [DBZ-4832](https://issues.redhat.com/browse/DBZ-4832) +* Docs: JDBC driver should go to Oracle connector dir [DBZ-4883](https://issues.redhat.com/browse/DBZ-4883) + + + +## 1.9.0.Beta1 +March 3rd 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12379893) + +### New features since 1.9.0.Alpha2 + +* Support Knative Eventing [DBZ-2097](https://issues.redhat.com/browse/DBZ-2097) +* Provide UI option to view the configuration of the registered Debezium connector [DBZ-3137](https://issues.redhat.com/browse/DBZ-3137) +* Handle out of order transaction start event [DBZ-4287](https://issues.redhat.com/browse/DBZ-4287) +* Partition-scoped metrics for the SQL Server connector [DBZ-4478](https://issues.redhat.com/browse/DBZ-4478) +* Save and load offsets in Redis [DBZ-4509](https://issues.redhat.com/browse/DBZ-4509) +* Debezium Deploy Snapshots job is blocked for a long time [DBZ-4628](https://issues.redhat.com/browse/DBZ-4628) +* Change DBZ UI Frontend to use new `data_shape` fields for Kafka message format [DBZ-4714](https://issues.redhat.com/browse/DBZ-4714) +* Expect plain value instead of scientific exponential notation when using decimal string mode [DBZ-4730](https://issues.redhat.com/browse/DBZ-4730) + + +### Breaking changes since 1.9.0.Alpha2 + +None + + +### Fixes since 1.9.0.Alpha2 + +* Long running transaction in Debezium 1.2.0 (PostgreSQL) [DBZ-2306](https://issues.redhat.com/browse/DBZ-2306) +* "snapshot.include.collection.list" doesn't work with the new MySQL connector implementation [DBZ-3952](https://issues.redhat.com/browse/DBZ-3952) +* When running the NPM build I always end up with an updated/diverged package-lock.json [DBZ-4622](https://issues.redhat.com/browse/DBZ-4622) +* Upgrade of Oracle connector causes NullPointerException [DBZ-4635](https://issues.redhat.com/browse/DBZ-4635) +* Oracle-Connector fails parsing a DDL statement (external tables) [DBZ-4641](https://issues.redhat.com/browse/DBZ-4641) +* oracle-connector DDL statement couldn't be parsed [DBZ-4662](https://issues.redhat.com/browse/DBZ-4662) +* Oracle parsing error for ALTER TABLE EXT_SIX LOCATION [DBZ-4706](https://issues.redhat.com/browse/DBZ-4706) +* MySQL unparseable DDL - CREATE PROCEDURE [DBZ-4707](https://issues.redhat.com/browse/DBZ-4707) +* Source timestamp timezone differs between snapshot and streaming records [DBZ-4715](https://issues.redhat.com/browse/DBZ-4715) +* Document that Oracle Xstream emits DBMS_LOB method calls as separate events [DBZ-4716](https://issues.redhat.com/browse/DBZ-4716) +* ORA-00308 raised due to offset SCN not being updated in a low traffic environment [DBZ-4718](https://issues.redhat.com/browse/DBZ-4718) +* Property "log.mining.view.fetch.size" does not take effect [DBZ-4723](https://issues.redhat.com/browse/DBZ-4723) +* Postgres debezium send wrong value of column has default NULL::::character varying in kafka message [DBZ-4736](https://issues.redhat.com/browse/DBZ-4736) +* Oracle Logminer: streaming start offset is off by one [DBZ-4737](https://issues.redhat.com/browse/DBZ-4737) +* Apache Pulsar example doesn't work [DBZ-4739](https://issues.redhat.com/browse/DBZ-4739) +* Oracle dbname/signal with dots parsed incorrectly [DBZ-4744](https://issues.redhat.com/browse/DBZ-4744) +* Oracle DDL statement couldn't be parsed [DBZ-4746](https://issues.redhat.com/browse/DBZ-4746) +* Overly verbose Debezium Server Redis logs [DBZ-4751](https://issues.redhat.com/browse/DBZ-4751) +* DDL statement couldn't be parsed [DBZ-4752](https://issues.redhat.com/browse/DBZ-4752) +* Redis runs OOM log in wrong scenario [DBZ-4760](https://issues.redhat.com/browse/DBZ-4760) +* Relax parsing of Heap and Index organized DDL clauses [DBZ-4763](https://issues.redhat.com/browse/DBZ-4763) +* java.lang.NoSuchMethodError: org.apache.kafka.clients.admin.NewTopic [DBZ-4773](https://issues.redhat.com/browse/DBZ-4773) +* Connection validation fails for Db2 [DBZ-4777](https://issues.redhat.com/browse/DBZ-4777) +* Test suite unable to run due to jackson dependency overlaps [DBZ-4781](https://issues.redhat.com/browse/DBZ-4781) + + +### Other changes since 1.9.0.Alpha2 + +* Improve rendering of linked option names [DBZ-4301](https://issues.redhat.com/browse/DBZ-4301) +* Oracle connector downstream docs for 1.9 [DBZ-4325](https://issues.redhat.com/browse/DBZ-4325) +* Use images from quay.io in docs and examples [DBZ-4440](https://issues.redhat.com/browse/DBZ-4440) +* Create an internal FAQ for Oracle Connector [DBZ-4557](https://issues.redhat.com/browse/DBZ-4557) +* Improve documentation about max_replication_slots [DBZ-4603](https://issues.redhat.com/browse/DBZ-4603) +* Connector doc formatting and link fixes [DBZ-4606](https://issues.redhat.com/browse/DBZ-4606) +* Add a backend service for UI to fetch the connector configuration [DBZ-4627](https://issues.redhat.com/browse/DBZ-4627) +* Update downstream Getting Started guide to describe revised deployment mechanism [DBZ-4632](https://issues.redhat.com/browse/DBZ-4632) +* Update downstream OCP Installation guide to describe revised deployment mechanism [DBZ-4633](https://issues.redhat.com/browse/DBZ-4633) +* Changes config for renovate bot to auto-merge only for non-major update [DBZ-4719](https://issues.redhat.com/browse/DBZ-4719) +* Incorrect connector version in Debezium RHEL Installation Guide [DBZ-4721](https://issues.redhat.com/browse/DBZ-4721) +* Verify Debezium connector can be used with MongoDB Atlas [DBZ-4731](https://issues.redhat.com/browse/DBZ-4731) +* Remove NATS example [DBZ-4738](https://issues.redhat.com/browse/DBZ-4738) +* Upgrade to Quarkus 2.7.1.Final [DBZ-4743](https://issues.redhat.com/browse/DBZ-4743) +* UI layout fixes [DBZ-4748](https://issues.redhat.com/browse/DBZ-4748) +* Upgrade MySQL JDBC driver to 8.0.28 [DBZ-4759](https://issues.redhat.com/browse/DBZ-4759) +* Nightly build artifacts not published [DBZ-4766](https://issues.redhat.com/browse/DBZ-4766) +* Clarify need for link attributes in docs [DBZ-4776](https://issues.redhat.com/browse/DBZ-4776) + + +## 1.9.0.Alpha2 +February 9th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12379892) + +### New features since 1.9.0.Alpha1 + +* Use main repo workflow for CI/CD checks in Debezium UI repository checks [DBZ-3143](https://issues.redhat.com/browse/DBZ-3143) +* Build and deploy Debezium OpenAPI / JSON Schema definitions with every Debezium release [DBZ-4394](https://issues.redhat.com/browse/DBZ-4394) +* Redis sink - Retry in case of connection error/OOM [DBZ-4510](https://issues.redhat.com/browse/DBZ-4510) +* Make KAFKA_QUERY_TIMEOUT configurable [DBZ-4518](https://issues.redhat.com/browse/DBZ-4518) +* MySQL history topic creation needs DESCRIBE_CONFIGS at the Cluster level [DBZ-4547](https://issues.redhat.com/browse/DBZ-4547) +* Redis Sink - change records should be streamed in batches [DBZ-4637](https://issues.redhat.com/browse/DBZ-4637) +* Link for apicurio-registry-distro-connect-converter packege is broken [DBZ-4659](https://issues.redhat.com/browse/DBZ-4659) +* Extend Debezium Schema Generator [DBZ-4665](https://issues.redhat.com/browse/DBZ-4665) + + +### Breaking changes since 1.9.0.Alpha1 + +* Add bytes support for blob and binary types in Vitess connector [DBZ-4705](https://issues.redhat.com/browse/DBZ-4705) + + +### Fixes since 1.9.0.Alpha1 + +* Database.include.list results in tables being returned twice [DBZ-3679](https://issues.redhat.com/browse/DBZ-3679) +* Suspected inconsistent documentation for 'Ad-hoc read-only Incremental snapshot' [DBZ-4171](https://issues.redhat.com/browse/DBZ-4171) +* CVE-2021-2471 mysql-connector-java: unauthorized access to critical [rhint-debezium-1] [DBZ-4283](https://issues.redhat.com/browse/DBZ-4283) +* Rhel preparation jenkins job pushes extra image [DBZ-4296](https://issues.redhat.com/browse/DBZ-4296) +* Oracle Logminer: snapshot->stream switch misses DB changes in ongoing transactions [DBZ-4367](https://issues.redhat.com/browse/DBZ-4367) +* Incremental snapshots does not honor column case sensitivity [DBZ-4584](https://issues.redhat.com/browse/DBZ-4584) +* JSON data corrupted in update events [DBZ-4605](https://issues.redhat.com/browse/DBZ-4605) +* nCaused by: Multiple parsing errors\nio.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira [DBZ-4609](https://issues.redhat.com/browse/DBZ-4609) +* Jenkins job for creating image snapshot does not update gitlab certificate correctly [DBZ-4611](https://issues.redhat.com/browse/DBZ-4611) +* Update the UI README node and npm requirements [DBZ-4630](https://issues.redhat.com/browse/DBZ-4630) +* Parse including keyword column table ddl error [DBZ-4640](https://issues.redhat.com/browse/DBZ-4640) +* Nightly installation links do not use snapshot repository download links [DBZ-4644](https://issues.redhat.com/browse/DBZ-4644) +* schema_only_recovery mode not working for FileDatabaseHistory [DBZ-4646](https://issues.redhat.com/browse/DBZ-4646) +* SQL Server ad-hoc snapshot - SnapshotType is case sensitive [DBZ-4648](https://issues.redhat.com/browse/DBZ-4648) +* DDL parsing issue: ALTER TABLE ... MODIFY PARTITION ... [DBZ-4649](https://issues.redhat.com/browse/DBZ-4649) +* Mark incompatible Xstream tests as LogMiner only [DBZ-4650](https://issues.redhat.com/browse/DBZ-4650) +* DDL statement couldn't be parsed mismatched input '`encrypted` [DBZ-4661](https://issues.redhat.com/browse/DBZ-4661) +* debezium-examples fail when using confluentinc/cp-schema-registry:7.0.0 [DBZ-4666](https://issues.redhat.com/browse/DBZ-4666) +* DDL parsing exception [DBZ-4675](https://issues.redhat.com/browse/DBZ-4675) +* JdbcConnection#executeWithoutCommitting commits when auto-commit is enabled [DBZ-4701](https://issues.redhat.com/browse/DBZ-4701) +* OracleSchemaMigrationIT fails with Xstream adapter [DBZ-4703](https://issues.redhat.com/browse/DBZ-4703) +* Cannot expand JSON payload with nested arrays of objects [DBZ-4704](https://issues.redhat.com/browse/DBZ-4704) + + +### Other changes since 1.9.0.Alpha1 + +* Possible performance issue after Debezium 1.6.1 upgrade (from 1.5) [DBZ-3872](https://issues.redhat.com/browse/DBZ-3872) +* Upgrade Jenkins and Introduce JCasC to jnovotny [DBZ-3980](https://issues.redhat.com/browse/DBZ-3980) +* Random test failure - ZZZGtidSetIT#shouldProcessPurgedGtidSet [DBZ-4294](https://issues.redhat.com/browse/DBZ-4294) +* Verify compatibility with Oracle 21c (21.3.0.0.0) [DBZ-4305](https://issues.redhat.com/browse/DBZ-4305) +* Add metadata to OracleConnectorConfig for Debezium UI [DBZ-4314](https://issues.redhat.com/browse/DBZ-4314) +* Release pipeline should check existence of GA version [DBZ-4623](https://issues.redhat.com/browse/DBZ-4623) +* Release pipeline - conditionalize and parameterize backport check [DBZ-4624](https://issues.redhat.com/browse/DBZ-4624) +* Migrating UI from webpack-dev-server v3 to v4 [DBZ-4642](https://issues.redhat.com/browse/DBZ-4642) +* Don't run checkstyle/dependency check on documentation-only pull requests or commits [DBZ-4645](https://issues.redhat.com/browse/DBZ-4645) +* Cron-based Github Action to notify documentation changes in last x days [DBZ-4653](https://issues.redhat.com/browse/DBZ-4653) +* Oracle DDL parser failure with supplemental log group clause with a custom name [DBZ-4654](https://issues.redhat.com/browse/DBZ-4654) +* Build MCS container images for Debezium 1.9.0.Alpha1 and deploy to RHOAS quay container registry [DBZ-4656](https://issues.redhat.com/browse/DBZ-4656) +* Upgrade postgres driver to version 42.3.2 [DBZ-4658](https://issues.redhat.com/browse/DBZ-4658) +* Make sure right protoc version is applied [DBZ-4668](https://issues.redhat.com/browse/DBZ-4668) +* Build trigger issues [DBZ-4672](https://issues.redhat.com/browse/DBZ-4672) +* MongoUtilIT test failure - unable to connect to primary [DBZ-4676](https://issues.redhat.com/browse/DBZ-4676) +* Upgrade to Quarkus 2.7.0.Final [DBZ-4677](https://issues.redhat.com/browse/DBZ-4677) +* Update shared UG deployment file for use with downstream OCP Install Guide [DBZ-4700](https://issues.redhat.com/browse/DBZ-4700) +* Indicate ROWID is not supported by XStream [DBZ-4702](https://issues.redhat.com/browse/DBZ-4702) + + + +## 1.9.0.Alpha1 +January 26th 2022 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12375781) + +### New features since 1.8.0.Final + +* Debezium MySQL connector encounter latency in large DML of MySQL [DBZ-3477](https://issues.redhat.com/browse/DBZ-3477) +* Add create/update/delete event seen metrics for monitor upstream dml operation [DBZ-4351](https://issues.redhat.com/browse/DBZ-4351) +* Allow additional config options for Debezium Server Pubsub Connector [DBZ-4375](https://issues.redhat.com/browse/DBZ-4375) +* Allow adhoc snapshots using signals in Oracle versions prior to 12c [DBZ-4404](https://issues.redhat.com/browse/DBZ-4404) +* Fail MongoDB start when oplog is used for MongoDB 5+ [DBZ-4415](https://issues.redhat.com/browse/DBZ-4415) +* Deprecated TruncateHandlingMode config property in favor of skipped_operations [DBZ-4419](https://issues.redhat.com/browse/DBZ-4419) +* Introduce interfaces and default implementations for change event source metrics [DBZ-4459](https://issues.redhat.com/browse/DBZ-4459) +* Create a Debezium schema generator for Debezium connectors (follow-up work) [DBZ-4460](https://issues.redhat.com/browse/DBZ-4460) +* Make connector task partition readability for logs [DBZ-4472](https://issues.redhat.com/browse/DBZ-4472) +* Remove unused brackets in MySqlParser [DBZ-4473](https://issues.redhat.com/browse/DBZ-4473) +* Document DB permissions for Oracle Connector [DBZ-4494](https://issues.redhat.com/browse/DBZ-4494) +* Add support for extra gRPC headers in Vitess connector [DBZ-4532](https://issues.redhat.com/browse/DBZ-4532) +* Mining session stopped due to 'No more data to read from socket' [DBZ-4536](https://issues.redhat.com/browse/DBZ-4536) +* A failure to register JMX metrics should fail the connector [DBZ-4541](https://issues.redhat.com/browse/DBZ-4541) +* Debezium Engine should use topic names for conversion [DBZ-4566](https://issues.redhat.com/browse/DBZ-4566) +* Allow user to define custom retriable message [DBZ-4577](https://issues.redhat.com/browse/DBZ-4577) +* Implement Renovate to fix legacy-peer-deps issue with npm [DBZ-4585](https://issues.redhat.com/browse/DBZ-4585) +* Typo in connect README [DBZ-4589](https://issues.redhat.com/browse/DBZ-4589) +* Unsupported column type 'ROWID' error [DBZ-4595](https://issues.redhat.com/browse/DBZ-4595) +* Cleanup project management in testsuite job [DBZ-4602](https://issues.redhat.com/browse/DBZ-4602) + + +### Breaking changes since 1.8.0.Final + +* Deprecate wal2json support [DBZ-3953](https://issues.redhat.com/browse/DBZ-3953) +* Oracle Logminer: LOB truncated in streaming mode [DBZ-4366](https://issues.redhat.com/browse/DBZ-4366) +* Remove CVE affected files from log4j 1.x JAR [DBZ-4568](https://issues.redhat.com/browse/DBZ-4568) + + +### Fixes since 1.8.0.Final + +* NPE on PostgreSQL Domain Array [DBZ-3657](https://issues.redhat.com/browse/DBZ-3657) +* MysqlSourceConnector issue with latin1 tables [DBZ-3700](https://issues.redhat.com/browse/DBZ-3700) +* JSON Payload not expanding when enabling it [DBZ-4457](https://issues.redhat.com/browse/DBZ-4457) +* Kafka Connect REST extension cannot be built with 1.9 [DBZ-4465](https://issues.redhat.com/browse/DBZ-4465) +* DDL statement couldn't be parsed [DBZ-4485](https://issues.redhat.com/browse/DBZ-4485) +* Parse multiple signed/unsigned keyword from ddl statement failed [DBZ-4497](https://issues.redhat.com/browse/DBZ-4497) +* Set the correct binlog serverId & threadId [DBZ-4500](https://issues.redhat.com/browse/DBZ-4500) +* Null out query in read-only incremental snapshot [DBZ-4501](https://issues.redhat.com/browse/DBZ-4501) +* R/O incremental snapshot can blocks the binlog stream on restart [DBZ-4502](https://issues.redhat.com/browse/DBZ-4502) +* Drop the primary key column getting exception [DBZ-4503](https://issues.redhat.com/browse/DBZ-4503) +* [MySQL Debezium] DDL Parsing error - curdate() & cast() [DBZ-4504](https://issues.redhat.com/browse/DBZ-4504) +* Extra file checker-qual in PostgreSQL package [DBZ-4507](https://issues.redhat.com/browse/DBZ-4507) +* website-builder image is not buildable [DBZ-4508](https://issues.redhat.com/browse/DBZ-4508) +* Job for creating gold image not reading credentials correctly [DBZ-4516](https://issues.redhat.com/browse/DBZ-4516) +* Replication stream retries are not configured correctly [DBZ-4517](https://issues.redhat.com/browse/DBZ-4517) +* Add backend errors among retriable for Postgres connector [DBZ-4520](https://issues.redhat.com/browse/DBZ-4520) +* Infinispan doesn't work with underscores inside cache names [DBZ-4526](https://issues.redhat.com/browse/DBZ-4526) +* Connector list should update immediately when a connector is deleted [DBZ-4538](https://issues.redhat.com/browse/DBZ-4538) +* Mongo filters page show nulls in namespace name [DBZ-4540](https://issues.redhat.com/browse/DBZ-4540) +* LogMinerHelperIT fails when running Oracle CI with a fresh database [DBZ-4542](https://issues.redhat.com/browse/DBZ-4542) +* Oracle-Connector fails parsing a DDL statement (VIRTUAL keyword) [DBZ-4546](https://issues.redhat.com/browse/DBZ-4546) +* DatabaseVersionResolver comparison logic skips tests unintendedly [DBZ-4548](https://issues.redhat.com/browse/DBZ-4548) +* io.debezium.text.ParsingException when column name is 'seq' [DBZ-4553](https://issues.redhat.com/browse/DBZ-4553) +* MySQL `FLUSH TABLE[S]` with empty table list not handled [DBZ-4561](https://issues.redhat.com/browse/DBZ-4561) +* Debezium apicurio version is not aligned with Quarkus [DBZ-4565](https://issues.redhat.com/browse/DBZ-4565) +* Oracle built-in schema exclusions should also apply to DDL changes [DBZ-4567](https://issues.redhat.com/browse/DBZ-4567) +* mongo-source-connector config database.include.list does not work [DBZ-4575](https://issues.redhat.com/browse/DBZ-4575) +* Can't process column definition with length exceeding Integer.MAX_VALUE [DBZ-4583](https://issues.redhat.com/browse/DBZ-4583) +* Oracle connector can't find the SCN [DBZ-4597](https://issues.redhat.com/browse/DBZ-4597) + + +### Other changes since 1.8.0.Final + +* Set up CI for Oracle [DBZ-732](https://issues.redhat.com/browse/DBZ-732) +* Migrate logger used for tests to Logback [DBZ-2224](https://issues.redhat.com/browse/DBZ-2224) +* Update downstream docs in regards to deprecated elements [DBZ-3881](https://issues.redhat.com/browse/DBZ-3881) +* Broken links to the Transaction metadata topics from descriptions for provide.transaction.metadata property [DBZ-3997](https://issues.redhat.com/browse/DBZ-3997) +* Add script to check for missing backports [DBZ-4063](https://issues.redhat.com/browse/DBZ-4063) +* Protect release from using invalid version name [DBZ-4072](https://issues.redhat.com/browse/DBZ-4072) +* Upgrade to Quarkus 2.6.2.Final [DBZ-4117](https://issues.redhat.com/browse/DBZ-4117) +* Use Postgres 10 by default [DBZ-4131](https://issues.redhat.com/browse/DBZ-4131) +* Give debezium-builder user privileges to access internal issues [DBZ-4271](https://issues.redhat.com/browse/DBZ-4271) +* Point to supported versions in connector pages [DBZ-4300](https://issues.redhat.com/browse/DBZ-4300) +* Allow for additional custom columns in an outbox table [DBZ-4317](https://issues.redhat.com/browse/DBZ-4317) +* Log problematic values if they cannot be processed [DBZ-4371](https://issues.redhat.com/browse/DBZ-4371) +* Run Jenkins CI on weekends too [DBZ-4373](https://issues.redhat.com/browse/DBZ-4373) +* Update Postgres JDBC driver to 42.3.1 [DBZ-4374](https://issues.redhat.com/browse/DBZ-4374) +* Release pipeline should use Jira API token [DBZ-4383](https://issues.redhat.com/browse/DBZ-4383) +* Remove log.mining.log.file.query.max.retries configuration property [DBZ-4408](https://issues.redhat.com/browse/DBZ-4408) +* Add Debezium Server example using Postgres and Pub/Sub [DBZ-4438](https://issues.redhat.com/browse/DBZ-4438) +* Document Outbox SMT behaviour with postgres bytea_output = escape [DBZ-4461](https://issues.redhat.com/browse/DBZ-4461) +* Run formatting check in the same connector/module workflows [DBZ-4462](https://issues.redhat.com/browse/DBZ-4462) +* Upgrade SQL Server driver to 9.4 [DBZ-4463](https://issues.redhat.com/browse/DBZ-4463) +* Add snapshot repository to Vitess connector [DBZ-4464](https://issues.redhat.com/browse/DBZ-4464) +* REST extension tests must not depend on source code version [DBZ-4466](https://issues.redhat.com/browse/DBZ-4466) +* snapshotPreceededBySchemaChange should not be tested for Db2 [DBZ-4467](https://issues.redhat.com/browse/DBZ-4467) +* Debezium Server workflow should build PG connector without tests [DBZ-4468](https://issues.redhat.com/browse/DBZ-4468) +* PostgresShutdownIT must not depend on Postgres version [DBZ-4469](https://issues.redhat.com/browse/DBZ-4469) +* Updating jenkins job creating image snapshots [DBZ-4486](https://issues.redhat.com/browse/DBZ-4486) +* Set jenkins jobs to store last 10 builds [DBZ-4506](https://issues.redhat.com/browse/DBZ-4506) +* Provide a script to generate release notes section [DBZ-4513](https://issues.redhat.com/browse/DBZ-4513) +* Remove INTERNAL_KEY_CONVERTER and INTERNAL_VALUE_CONVERTER env vars [DBZ-4514](https://issues.redhat.com/browse/DBZ-4514) +* Bump protobuf version to the latest 3.x [DBZ-4527](https://issues.redhat.com/browse/DBZ-4527) +* Document automatic log-switch setting for low-frequency change systems [DBZ-4528](https://issues.redhat.com/browse/DBZ-4528) +* Organize properties of Db2 connector [DBZ-4537](https://issues.redhat.com/browse/DBZ-4537) +* Update release procedure to cover required documentation config changes [DBZ-4539](https://issues.redhat.com/browse/DBZ-4539) +* Module debezium-testing-testcontainers tests are not executed [DBZ-4544](https://issues.redhat.com/browse/DBZ-4544) +* Check Debezium user logging after auth change [DBZ-4545](https://issues.redhat.com/browse/DBZ-4545) +* Fix links to connector incremental snapshots topic [DBZ-4552](https://issues.redhat.com/browse/DBZ-4552) +* Vitess connector image cannot be built [DBZ-4559](https://issues.redhat.com/browse/DBZ-4559) +* Reduce GitHub action build times with formatting [DBZ-4562](https://issues.redhat.com/browse/DBZ-4562) +* Doc updates to address downstream build issues [DBZ-4563](https://issues.redhat.com/browse/DBZ-4563) +* Upgrade Avro converter to 7.0.1 and Apicurio to 2.1.5.Final [DBZ-4569](https://issues.redhat.com/browse/DBZ-4569) +* Older degree of parallelism DDL syntax causes parsing exception [DBZ-4571](https://issues.redhat.com/browse/DBZ-4571) +* Conditionalize note about outbox event router incompatibility [DBZ-4573](https://issues.redhat.com/browse/DBZ-4573) +* Update description of snapshot.mode in postgresql.adoc [DBZ-4574](https://issues.redhat.com/browse/DBZ-4574) +* Avoid build warning about maven-filtering missing plugin descriptor [DBZ-4580](https://issues.redhat.com/browse/DBZ-4580) +* Fix build failure when xstream missing when building the micro benchmark for Oracle [DBZ-4581](https://issues.redhat.com/browse/DBZ-4581) +* Update shared UG deployment file to clarify that connectors can use existing KC instance [DBZ-4582](https://issues.redhat.com/browse/DBZ-4582) +* Test Failure - RecordsStreamProducerIT [DBZ-4592](https://issues.redhat.com/browse/DBZ-4592) +* Upgrade Kafka to 3.1.0 [DBZ-4610](https://issues.redhat.com/browse/DBZ-4610) +* Server transformation properties should refer to "type" rather than "class" [DBZ-4613](https://issues.redhat.com/browse/DBZ-4613) + + +## 1.8.0.Final +December 16th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12377386) + +### New features since 1.8.0.CR1 + +* Allow to configure custom Hibernate user types for Quarkus outbox extension [DBZ-3552](https://issues.redhat.com/browse/DBZ-3552) +* Create a Debezium schema generator for Debezium connectors (initial work) [DBZ-4393](https://issues.redhat.com/browse/DBZ-4393) + +### Breaking changes since 1.8.0.CR1 + +* MongoDB ExtractNewDocumentState SMT overwrites existing document ID field [DBZ-4413](https://issues.redhat.com/browse/DBZ-4413) + + +### Fixes since 1.8.0.CR1 + +* Outbox Event Router not working in Oracle Connector [DBZ-3940](https://issues.redhat.com/browse/DBZ-3940) +* some data type is not working for sending signals to a Debezium connector [DBZ-4298](https://issues.redhat.com/browse/DBZ-4298) +* Debezium UI - Connector create fails if topic group defaults not specified [DBZ-4378](https://issues.redhat.com/browse/DBZ-4378) + + +### Other changes since 1.8.0.CR1 + +* Intermittent test failure: SqlServerChangeTableSetIT#readHistoryAfterRestart() [DBZ-3306](https://issues.redhat.com/browse/DBZ-3306) +* Upgrade to Apicurio Registry 2.0 (QE, docs) [DBZ-3629](https://issues.redhat.com/browse/DBZ-3629) +* Oracle upstream tests in internal CI [DBZ-4185](https://issues.redhat.com/browse/DBZ-4185) +* Document MongoDB source format [DBZ-4420](https://issues.redhat.com/browse/DBZ-4420) +* Missing log message for snapshot.locking.mode = none [DBZ-4426](https://issues.redhat.com/browse/DBZ-4426) +* Caching not working in formatting job [DBZ-4429](https://issues.redhat.com/browse/DBZ-4429) +* Optionally assemble Oracle connector distribution without Infinispan [DBZ-4446](https://issues.redhat.com/browse/DBZ-4446) +* Simplify the implementation of method duration in debezium/util/Strings.java [DBZ-4423](https://issues.redhat.com/browse/DBZ-4423) +* Exclude log4j from Debezium Server distribution in 1.8 [DBZ-4452](https://issues.redhat.com/browse/DBZ-4452) + + +## 1.8.0.CR1 +December 9th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12377385) + +### New features since 1.8.0.Beta1 + +* Implement incremental snapshotting for MongoDB [DBZ-3342](https://issues.redhat.com/browse/DBZ-3342) +* Add schema descriptors for the UI JSON Schema for SQL Server Connector [DBZ-3697](https://issues.redhat.com/browse/DBZ-3697) +* Optionally add OPTION(RECOMPILE) to incremental snapshot queries [DBZ-4249](https://issues.redhat.com/browse/DBZ-4249) +* Log count of changed records sent [DBZ-4341](https://issues.redhat.com/browse/DBZ-4341) +* Add support for truncate in oracle connector [DBZ-4385](https://issues.redhat.com/browse/DBZ-4385) +* Support binary_handling_mode for Oracle connector [DBZ-4400](https://issues.redhat.com/browse/DBZ-4400) +* Enforce consistent vgtid representation in vitess connector [DBZ-4409](https://issues.redhat.com/browse/DBZ-4409) + + +### Breaking changes since 1.8.0.Beta1 + +* Fix source fields and keyspace field in vitess connector [DBZ-4412](https://issues.redhat.com/browse/DBZ-4412) +* Fix issues with blob and uint64 types in Vitess connector [DBZ-4403](https://issues.redhat.com/browse/DBZ-4403) +* Clean up "source" strucure for Vitess connector [DBZ-4428](https://issues.redhat.com/browse/DBZ-4428) + + +### Fixes since 1.8.0.Beta1 + +* Parallel write can be lost during catch-up phase [DBZ-2792](https://issues.redhat.com/browse/DBZ-2792) +* None of log files contains offset SCN (SCN offset is no longer available in the online redo logs) [DBZ-3635](https://issues.redhat.com/browse/DBZ-3635) +* [Debezium Server] Event Hubs exporter slow/Event data was too large [DBZ-4277](https://issues.redhat.com/browse/DBZ-4277) +* NullPointer exception on Final stage of snapshot for Oracle connector [DBZ-4376](https://issues.redhat.com/browse/DBZ-4376) +* Oracle pipeline matrix docker conflict [DBZ-4377](https://issues.redhat.com/browse/DBZ-4377) +* System testsuite unable to pull apicurio operator from quay [DBZ-4382](https://issues.redhat.com/browse/DBZ-4382) +* Oracle DDL Parser Error [DBZ-4388](https://issues.redhat.com/browse/DBZ-4388) +* DDL couldn't be parsed: 'analyze table schema.table estimate statistics sample 5 percent;' [DBZ-4396](https://issues.redhat.com/browse/DBZ-4396) +* MySQL: DDL Statement could not be parsed 'GRANT' [DBZ-4397](https://issues.redhat.com/browse/DBZ-4397) +* Support keyword CHAR SET for defining charset options [DBZ-4402](https://issues.redhat.com/browse/DBZ-4402) +* Xstream support with LOB unavailable value placeholder support is inconsistent [DBZ-4422](https://issues.redhat.com/browse/DBZ-4422) +* Oracle Infinispan buffer fails to serialize unavailable value placeholders [DBZ-4425](https://issues.redhat.com/browse/DBZ-4425) +* VStream gRPC connection closed after being idle for a few minutes [DBZ-4389](https://issues.redhat.com/browse/DBZ-4389) + + +### Other changes since 1.8.0.Beta1 + +* Oracle testing in system-level testsuite [DBZ-3963](https://issues.redhat.com/browse/DBZ-3963) +* Upgrade to Quarkus 2.5.0.Final [DBZ-4035](https://issues.redhat.com/browse/DBZ-4035) +* Document incremental chunk size setting [DBZ-4127](https://issues.redhat.com/browse/DBZ-4127) +* Complete CDC implementation based on MongoDB Change Streams [DBZ-4205](https://issues.redhat.com/browse/DBZ-4205) +* Record video demo showing Kafka topics creation and transformation UIs [DBZ-4260](https://issues.redhat.com/browse/DBZ-4260) +* Add Oracle 12.2.0.1 to internal CI Oracle job [DBZ-4322](https://issues.redhat.com/browse/DBZ-4322) +* OracleClobDataTypeIT shouldNotStreamAnyChangesWhenLobEraseIsDetected may fail randomly [DBZ-4384](https://issues.redhat.com/browse/DBZ-4384) +* Upgrade impsort-maven-plugin from 1.6.0 to 1.6.2 [DBZ-4386](https://issues.redhat.com/browse/DBZ-4386) +* Upgrade formatter-maven-plugin from 2.15.0 to 2.16.0 [DBZ-4387](https://issues.redhat.com/browse/DBZ-4387) +* Unstable test for online DDL changes [DBZ-4391](https://issues.redhat.com/browse/DBZ-4391) +* Create Debezium Kafka Connect REST Extension [DBZ-4028](https://issues.redhat.com/browse/DBZ-4028) + + + +## 1.8.0.Beta1 +November 30th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12375780) + +### New features since 1.8.0.Alpha2 + +* Support pg_logical_emit_message [DBZ-2363](https://issues.redhat.com/browse/DBZ-2363) +* Outbox Event Router for MongoDB [DBZ-3528](https://issues.redhat.com/browse/DBZ-3528) +* Improve interval type support in Oracle [DBZ-1539](https://issues.redhat.com/browse/DBZ-1539) +* money data type should be controlled by decimal.handling.mode [DBZ-1931](https://issues.redhat.com/browse/DBZ-1931) +* Support for Multiple Databases per SQL Server Connector [DBZ-2975](https://issues.redhat.com/browse/DBZ-2975) +* Debezium server stops with wrong exit code (0) [DBZ-3570](https://issues.redhat.com/browse/DBZ-3570) +* Change Debezium UI configurations property names [DBZ-4066](https://issues.redhat.com/browse/DBZ-4066) +* Extend configuration support for Infinispan caches [DBZ-4169](https://issues.redhat.com/browse/DBZ-4169) +* Support schema changes during incremental snapshot [DBZ-4196](https://issues.redhat.com/browse/DBZ-4196) +* Handle login failure during instance upgrade as retriable [DBZ-4285](https://issues.redhat.com/browse/DBZ-4285) +* Modify the type of aggregateid in MongoDB Outbox Event Router [DBZ-4318](https://issues.redhat.com/browse/DBZ-4318) +* Explicit the MS SQL Materialized view limitation [DBZ-4330](https://issues.redhat.com/browse/DBZ-4330) + + +### Breaking changes since 1.8.0.Alpha2 + +* Support passing an unavailable placeholder value for CLOB/BLOB column types [DBZ-4276](https://issues.redhat.com/browse/DBZ-4276) +* Remove vtctld dependency in Vitess connector [DBZ-4324](https://issues.redhat.com/browse/DBZ-4324) + + +### Fixes since 1.8.0.Alpha2 + +* PostgresConnector does not allow a numeric slot name [DBZ-1042](https://issues.redhat.com/browse/DBZ-1042) +* False empty schema warning for snapshot mode never [DBZ-1344](https://issues.redhat.com/browse/DBZ-1344) +* Tutorial shows incorrectly shows "op": "c" for initial change events [DBZ-3786](https://issues.redhat.com/browse/DBZ-3786) +* SQL Server fails to read CDC events if there is a schema change ahead [DBZ-3992](https://issues.redhat.com/browse/DBZ-3992) +* Once user click on "Review and finish" button that step in link in not enabled in wizard side menu. [DBZ-4119](https://issues.redhat.com/browse/DBZ-4119) +* DDL statement couldn't be parsed [DBZ-4224](https://issues.redhat.com/browse/DBZ-4224) +* The lastOffset variable in MySqlStreamingChangeEventSource is always null [DBZ-4225](https://issues.redhat.com/browse/DBZ-4225) +* Unknown entity: io.debezium.outbox.quarkus.internal.OutboxEvent [DBZ-4232](https://issues.redhat.com/browse/DBZ-4232) +* Signal based incremental snapshot is failing when launched right after a schema change [DBZ-4272](https://issues.redhat.com/browse/DBZ-4272) +* SQL Server connector doesn't handle multiple capture instances for the same table with equal start LSN [DBZ-4273](https://issues.redhat.com/browse/DBZ-4273) +* Debezium UI - some issues with browser support for replaceAll [DBZ-4274](https://issues.redhat.com/browse/DBZ-4274) +* AbstractDatabaseHistory.java has typo [DBZ-4275](https://issues.redhat.com/browse/DBZ-4275) +* OracleConnectorIT - two tests fail when using Xstream [DBZ-4279](https://issues.redhat.com/browse/DBZ-4279) +* ParsingException: DDL statement couldn't be parsed [DBZ-4280](https://issues.redhat.com/browse/DBZ-4280) +* Topic Group UI step does not refresh correctly after setting properties [DBZ-4293](https://issues.redhat.com/browse/DBZ-4293) +* Add MariaDB specific username for MySQL parser [DBZ-4304](https://issues.redhat.com/browse/DBZ-4304) +* NullPointerException may be thrown when validating table and column lengths [DBZ-4308](https://issues.redhat.com/browse/DBZ-4308) +* RelationalChangeRecordEmitter calls "LoggerFactory.getLogger(getClass())" for each instance of the emitter [DBZ-4309](https://issues.redhat.com/browse/DBZ-4309) +* support for JSON function in MySQL index [DBZ-4320](https://issues.redhat.com/browse/DBZ-4320) +* Avoid holding table metadata lock in read-only incremental snapshots [DBZ-4331](https://issues.redhat.com/browse/DBZ-4331) +* Convert mysql time type default value error [DBZ-4334](https://issues.redhat.com/browse/DBZ-4334) +* Wrong configuration option name for MongoDB Outbox SMT [DBZ-4337](https://issues.redhat.com/browse/DBZ-4337) +* Incremental Snapshot does not pick up table [DBZ-4343](https://issues.redhat.com/browse/DBZ-4343) +* Oracle connector - Cannot parse column default value 'NULL ' to type '2' [DBZ-4360](https://issues.redhat.com/browse/DBZ-4360) + + +### Other changes since 1.8.0.Alpha2 + +* Add canonical URL links to older doc versions [DBZ-3897](https://issues.redhat.com/browse/DBZ-3897) +* Set up testing job for MongoDB 5.0 [DBZ-3938](https://issues.redhat.com/browse/DBZ-3938) +* Misc. documentation changes for the Debezium MySQL connector [DBZ-3974](https://issues.redhat.com/browse/DBZ-3974) +* Promote Outbox SMT to GA [DBZ-4012](https://issues.redhat.com/browse/DBZ-4012) +* Test failure: SchemaHistoryTopicIT::schemaChangeAfterSnapshot() [DBZ-4082](https://issues.redhat.com/browse/DBZ-4082) +* Jenkins job for creating image snapshot used by new Jenkins nodes [DBZ-4122](https://issues.redhat.com/browse/DBZ-4122) +* Use SMT/Transformation UI backend endpoint [DBZ-4146](https://issues.redhat.com/browse/DBZ-4146) +* Create GH Action for tearing down abandoned website preview environments [DBZ-4214](https://issues.redhat.com/browse/DBZ-4214) +* Unify Memory and Infinispan event processor implementations [DBZ-4236](https://issues.redhat.com/browse/DBZ-4236) +* Update system-level testsuite CI job [DBZ-4267](https://issues.redhat.com/browse/DBZ-4267) +* Upgrade MySQL JDBC driver to 8.0.27 [DBZ-4286](https://issues.redhat.com/browse/DBZ-4286) +* Only build debezium-core and dependences in cross-repo builds [DBZ-4289](https://issues.redhat.com/browse/DBZ-4289) +* Reduce log verbosity [DBZ-4291](https://issues.redhat.com/browse/DBZ-4291) +* Vitess connector should expose vstream flags [DBZ-4295](https://issues.redhat.com/browse/DBZ-4295) +* Vitess connector should allow client to config starting VGTID [DBZ-4297](https://issues.redhat.com/browse/DBZ-4297) +* Layout glitch on docs landing page [DBZ-4299](https://issues.redhat.com/browse/DBZ-4299) +* Provide outbox routing example for MongoDB [DBZ-4302](https://issues.redhat.com/browse/DBZ-4302) +* Fix wrong option names in examples [DBZ-4311](https://issues.redhat.com/browse/DBZ-4311) +* Update functional test CI to work with downstream source archive [DBZ-4316](https://issues.redhat.com/browse/DBZ-4316) +* Provide example showing usage of remote Infinispan cache [DBZ-4326](https://issues.redhat.com/browse/DBZ-4326) +* Provide CI for MongoDB 4.4 [DBZ-4327](https://issues.redhat.com/browse/DBZ-4327) +* Test case for schema migration in Vitess connector [DBZ-4353](https://issues.redhat.com/browse/DBZ-4353) +* Enable transaction metadata for vitess connector [DBZ-4355](https://issues.redhat.com/browse/DBZ-4355) +* io.debezium.data.VerifyRecord.isValid(SourceRecord) is a no-op [DBZ-4364](https://issues.redhat.com/browse/DBZ-4364) +* SignalsIT times out after 6h on CI [DBZ-4370](https://issues.redhat.com/browse/DBZ-4370) +* Document incremental chunk size setting [DBZ-4127](https://issues.redhat.com/browse/DBZ-4127) + + + +## 1.8.0.Alpha2 +November 11th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12377154) + +### New features since 1.8.0.Alpha1 + +* TableChangesSerializer ignored defaultValue and enumValues [DBZ-3966](https://issues.redhat.com/browse/DBZ-3966) +* Support for heartbeat action queries for MySQL [DBZ-4029](https://issues.redhat.com/browse/DBZ-4029) +* Expose the transaction topicname as a config [DBZ-4077](https://issues.redhat.com/browse/DBZ-4077) +* Improvement to the topic creation step [DBZ-4172](https://issues.redhat.com/browse/DBZ-4172) +* Process transaction started/committed in MySQL read-only incremental snapshot [DBZ-4197](https://issues.redhat.com/browse/DBZ-4197) +* Ability to use base image from authenticated registry with KC build mechanism [DBZ-4227](https://issues.redhat.com/browse/DBZ-4227) +* Remove SqlServerConnector database.user Required Validator [DBZ-4231](https://issues.redhat.com/browse/DBZ-4231) +* Specify database hot name as 0.0.0.0 for Oracle connector tests CI [DBZ-4242](https://issues.redhat.com/browse/DBZ-4242) +* Suport all charsets in MySQL parser [DBZ-4261](https://issues.redhat.com/browse/DBZ-4261) + + +### Breaking changes since 1.8.0.Alpha1 + +* Store buffered events in separate Infinispan cache [DBZ-4159](https://issues.redhat.com/browse/DBZ-4159) + + +### Fixes since 1.7.0.Alpha1 + +* "table" is null for table.include.list and column.include.list [DBZ-3611](https://issues.redhat.com/browse/DBZ-3611) +* Debezium server crashes when deleting a record from a SQLServer table (redis sink) [DBZ-3708](https://issues.redhat.com/browse/DBZ-3708) +* Invalid default value error on captured table DDL with default value [DBZ-3710](https://issues.redhat.com/browse/DBZ-3710) +* Incremental snapshot doesn't work without primary key [DBZ-4107](https://issues.redhat.com/browse/DBZ-4107) +* Error: PostgresDefaultValueConverter - Cannot parse column default value 'NULL::numeric' to type 'numeric'. Expression evaluation is not supported. [DBZ-4137](https://issues.redhat.com/browse/DBZ-4137) +* Container images for Apache Kafka and ZooKeeper fail to start up [DBZ-4160](https://issues.redhat.com/browse/DBZ-4160) +* Debezium 1.7 image disables unsecure algorithms. Breaks unpatched databases [DBZ-4167](https://issues.redhat.com/browse/DBZ-4167) +* DDL statement couldn't be parsed - Modify Column [DBZ-4174](https://issues.redhat.com/browse/DBZ-4174) +* DML statement couldn't be parsed [DBZ-4194](https://issues.redhat.com/browse/DBZ-4194) +* Debezium log miner processes get terminated with ORA-04030 error in idle database environment. [DBZ-4204](https://issues.redhat.com/browse/DBZ-4204) +* DDL with Oracle SDO_GEOMETRY cannot be parsed [DBZ-4206](https://issues.redhat.com/browse/DBZ-4206) +* DDL with Oracle sequence as default for primary key fails schema generation [DBZ-4208](https://issues.redhat.com/browse/DBZ-4208) +* io.debezium.text.ParsingException: DDL statement couldn't be parsed. Please open a Jira issue with the statement 'DROP TABLE IF EXISTS condition' [DBZ-4210](https://issues.redhat.com/browse/DBZ-4210) +* Support MySQL Dual Passwords in DDL Parser [DBZ-4215](https://issues.redhat.com/browse/DBZ-4215) +* Debezium Metrics not being set correctly [DBZ-4222](https://issues.redhat.com/browse/DBZ-4222) +* CREATE PROCEDURE DDL throws ParsingException [DBZ-4229](https://issues.redhat.com/browse/DBZ-4229) +* Exception ORA-00310 is not gracefully handled during streaming [DBZ-4230](https://issues.redhat.com/browse/DBZ-4230) +* CHAR / NCHAR precision is not correctly derived from DDL statements [DBZ-4233](https://issues.redhat.com/browse/DBZ-4233) +* Oracle connector parses NUMBER(*,0) as NUMBER(0,0) in DDL [DBZ-4240](https://issues.redhat.com/browse/DBZ-4240) +* Signal based incremental snapshot is failing if database name contains dash [DBZ-4244](https://issues.redhat.com/browse/DBZ-4244) +* SQL Server connector doesn't handle retriable errors during database state transitions [DBZ-4245](https://issues.redhat.com/browse/DBZ-4245) +* Does Debezium support database using charset GB18030? [DBZ-4246](https://issues.redhat.com/browse/DBZ-4246) +* Broken anchors in Debezium Documentation [DBZ-4254](https://issues.redhat.com/browse/DBZ-4254) +* Reduce verbosity of logging Oracle memory metrics [DBZ-4255](https://issues.redhat.com/browse/DBZ-4255) +* When Debezium executes `select *` in the snapshot phase, it does not catch the sql exception, resulting in confusing exceptions and logs [DBZ-4257](https://issues.redhat.com/browse/DBZ-4257) + + +### Other changes since 1.8.0.Alpha1 + +* Rename "master" branches to "main" for remaining repos [DBZ-3626](https://issues.redhat.com/browse/DBZ-3626) +* Support Oracle Logminer docker image in system level test-suite [DBZ-3929](https://issues.redhat.com/browse/DBZ-3929) +* Missing documentation for max.iteration.transactions option [DBZ-4129](https://issues.redhat.com/browse/DBZ-4129) +* Use topic auto-creation UI backend endpoint [DBZ-4148](https://issues.redhat.com/browse/DBZ-4148) +* Remove superfluous build triggers [DBZ-4200](https://issues.redhat.com/browse/DBZ-4200) +* Tag debezium/tooling:1.2 version [DBZ-4238](https://issues.redhat.com/browse/DBZ-4238) +* Rework MySqlTimestampColumnIT test [DBZ-4241](https://issues.redhat.com/browse/DBZ-4241) +* Remove unused code [DBZ-4252](https://issues.redhat.com/browse/DBZ-4252) +* Optimize tooling image [DBZ-4258](https://issues.redhat.com/browse/DBZ-4258) +* Change DB2 image in testsuite to use private registry [DBZ-4268](https://issues.redhat.com/browse/DBZ-4268) + + + +## 1.8.0.Alpha1 +October 27th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12355606) + +### New features since 1.7.0.Final + +* Provide MongoDB CDC implementation based on 4.0 change streams [DBZ-435](https://issues.redhat.com/browse/DBZ-435) +* No option fullDocument for the connection to MongoDB oplog.rs [DBZ-1847](https://issues.redhat.com/browse/DBZ-1847) +* Make antora playbook_author.yml use current branch [DBZ-2546](https://issues.redhat.com/browse/DBZ-2546) +* Support Kerberos for Debezium MS SQL plugin [DBZ-3517](https://issues.redhat.com/browse/DBZ-3517) +* Make "snapshot.include.collection.list" case insensitive like "table.include.list" [DBZ-3895](https://issues.redhat.com/browse/DBZ-3895) +* Exclude usernames at transaction level [DBZ-3978](https://issues.redhat.com/browse/DBZ-3978) +* [oracle] Add the SCHEMA_ONLY_RECOVERY snapshot mode [DBZ-3986](https://issues.redhat.com/browse/DBZ-3986) +* Support parse table and columns comment [DBZ-4000](https://issues.redhat.com/browse/DBZ-4000) +* Upgrade postgres JDBC driver to version 42.2.24 [DBZ-4046](https://issues.redhat.com/browse/DBZ-4046) +* Support JSON logging formatting [DBZ-4114](https://issues.redhat.com/browse/DBZ-4114) +* Upgrade mysql-binlog-connector-java to v0.25.4 [DBZ-4152](https://issues.redhat.com/browse/DBZ-4152) +* Wrong class name in SMT predicates documentation [DBZ-4153](https://issues.redhat.com/browse/DBZ-4153) +* Log warning when table/column name exceeds maximum allowed by LogMiner [DBZ-4161](https://issues.redhat.com/browse/DBZ-4161) +* Add Redis to debezium-server-architecture.png [DBZ-4190](https://issues.redhat.com/browse/DBZ-4190) +* wrong variable naming in an unit test for Outbox Event Router SMT [DBZ-4191](https://issues.redhat.com/browse/DBZ-4191) +* MongoDB connector support user defined topic delimiter [DBZ-4192](https://issues.redhat.com/browse/DBZ-4192) +* Parse the "window" keyword for agg and nonagg function in mysql8 [DBZ-4193](https://issues.redhat.com/browse/DBZ-4193) +* wrong field on change event message example in MongoDB Connector documentation [DBZ-4201](https://issues.redhat.com/browse/DBZ-4201) +* Add a backend service for UI to fetch the SMT and topic auto-creation configuration properties [DBZ-3874](https://issues.redhat.com/browse/DBZ-3874) + + +### Breaking changes since 1.7.0.Final + +None + + +### Fixes since 1.7.0.Final + +* Debezium build is unstable for Oracle connector [DBZ-3807](https://issues.redhat.com/browse/DBZ-3807) +* Row hashing in LogMiner Query not able to differentiate between rows of a statement. [DBZ-3834](https://issues.redhat.com/browse/DBZ-3834) +* The chunk select statement is incorrect for combined primary key in incremental snapshot [DBZ-3860](https://issues.redhat.com/browse/DBZ-3860) +* Crash processing MariaDB DATETIME fields returns empty blob instead of null (Snapshotting with useCursorFetch option) [DBZ-4032](https://issues.redhat.com/browse/DBZ-4032) +* column.the mask.hash.hashAlgorithm.with.... data corruption occurs when using this feature [DBZ-4033](https://issues.redhat.com/browse/DBZ-4033) +* Compilation of MySQL grammar displays warnings [DBZ-4034](https://issues.redhat.com/browse/DBZ-4034) +* Infinispan SPI throws NPE with more than one connector configured to the same Oracle database [DBZ-4064](https://issues.redhat.com/browse/DBZ-4064) +* Extra double quotes on Kafka message produced by Quarkus Outbox Extension [DBZ-4068](https://issues.redhat.com/browse/DBZ-4068) +* Debezium Server might contain driver versions pulled from Quarkus [DBZ-4070](https://issues.redhat.com/browse/DBZ-4070) +* Connection failure while reading chunk during incremental snapshot [DBZ-4078](https://issues.redhat.com/browse/DBZ-4078) +* Postgres 12/13 images are not buildable [DBZ-4080](https://issues.redhat.com/browse/DBZ-4080) +* Postgres testsuite hangs on PostgresConnectorIT#exportedSnapshotShouldNotSkipRecordOfParallelTx [DBZ-4081](https://issues.redhat.com/browse/DBZ-4081) +* CloudEventsConverter omits payload data of deleted documents [DBZ-4083](https://issues.redhat.com/browse/DBZ-4083) +* Database history is constantly being reconfigured [DBZ-4106](https://issues.redhat.com/browse/DBZ-4106) +* projectId not being set when injecting a custom PublisherBuilder [DBZ-4111](https://issues.redhat.com/browse/DBZ-4111) +* Oracle flush table should not contain multiple rows [DBZ-4118](https://issues.redhat.com/browse/DBZ-4118) +* Can't parse DDL for View [DBZ-4121](https://issues.redhat.com/browse/DBZ-4121) +* SQL Server Connector fails to wrap in flat brackets [DBZ-4125](https://issues.redhat.com/browse/DBZ-4125) +* Oracle Connector DDL Parsing Exception [DBZ-4126](https://issues.redhat.com/browse/DBZ-4126) +* Debezium deals with Oracle DDL appeared IndexOutOfBoundsException: Index: 0, Size: 0 [DBZ-4135](https://issues.redhat.com/browse/DBZ-4135) +* Oracle connector throws NPE during streaming in archive only mode [DBZ-4140](https://issues.redhat.com/browse/DBZ-4140) +* debezium-api and debezium-core jars missing in NIGHTLY Kafka Connect container image libs dir [DBZ-4147](https://issues.redhat.com/browse/DBZ-4147) +* Trim numerical defaultValue before converting [DBZ-4150](https://issues.redhat.com/browse/DBZ-4150) +* Possible OutOfMemoryError with tracking schema changes [DBZ-4151](https://issues.redhat.com/browse/DBZ-4151) +* DDL ParsingException - not all table compression modes are supported [DBZ-4158](https://issues.redhat.com/browse/DBZ-4158) +* Producer failure NullPointerException [DBZ-4166](https://issues.redhat.com/browse/DBZ-4166) +* DDL Statement couldn't be parsed [DBZ-4170](https://issues.redhat.com/browse/DBZ-4170) +* In multiple connect clusters monitoring, no matter which cluster is selected from the dropdown list, the detailed information is always for the first cluster. [DBZ-4181](https://issues.redhat.com/browse/DBZ-4181) +* Remove MINUSMINUS operator [DBZ-4184](https://issues.redhat.com/browse/DBZ-4184) +* OracleSchemaMigrationIT#shouldNotEmitDdlEventsForNonTableObjects fails for Xstream [DBZ-4186](https://issues.redhat.com/browse/DBZ-4186) +* Certain LogMiner-specific tests are not being skipped while using Xstreams [DBZ-4188](https://issues.redhat.com/browse/DBZ-4188) +* Missing debezium/postgres:14-alpine in Docker Hub [DBZ-4195](https://issues.redhat.com/browse/DBZ-4195) +* nulls for some MySQL properties in the connector-types backend response [DBZ-3108](https://issues.redhat.com/browse/DBZ-3108) + + +### Other changes since 1.7.0.Final + +* Test with new deployment mechanism in AMQ Streams [DBZ-1777](https://issues.redhat.com/browse/DBZ-1777) +* Incorrect documentation for message.key.columns [DBZ-3437](https://issues.redhat.com/browse/DBZ-3437) +* Re-enable building PostgreSQL alpine images [DBZ-3691](https://issues.redhat.com/browse/DBZ-3691) +* Upgrade to Quarkus 2.2.3.Final [DBZ-3785](https://issues.redhat.com/browse/DBZ-3785) +* Document awareness of Oracle database tuning [DBZ-3880](https://issues.redhat.com/browse/DBZ-3880) +* Publish website-builder and tooling images once per week [DBZ-3907](https://issues.redhat.com/browse/DBZ-3907) +* Intermittent test failure on CI - RecordsStreamProducerIT#shouldReceiveHeartbeatAlsoWhenChangingNonWhitelistedTable() [DBZ-3919](https://issues.redhat.com/browse/DBZ-3919) +* Please fix vulnerabilites [DBZ-3926](https://issues.redhat.com/browse/DBZ-3926) +* Error processing binlog event [DBZ-3989](https://issues.redhat.com/browse/DBZ-3989) +* Upgrade Java version for GH actions [DBZ-3993](https://issues.redhat.com/browse/DBZ-3993) +* Replace hard-coded version of MySQL example image with getStableVersion() [DBZ-4005](https://issues.redhat.com/browse/DBZ-4005) +* Handle SCN gap [DBZ-4036](https://issues.redhat.com/browse/DBZ-4036) +* Upgrade to Apache Kafka 3.0 [DBZ-4045](https://issues.redhat.com/browse/DBZ-4045) +* Recreate webhook for linking PRs to JIRA issues [DBZ-4065](https://issues.redhat.com/browse/DBZ-4065) +* Recipient email address should be a variable in all Jenkins jobs [DBZ-4071](https://issues.redhat.com/browse/DBZ-4071) +* Allow [ci] tag as commit message prefix [DBZ-4073](https://issues.redhat.com/browse/DBZ-4073) +* Debezium Docker build job fails on rate limiter [DBZ-4074](https://issues.redhat.com/browse/DBZ-4074) +* Add Postgresql 14 container image (Alpine) [DBZ-4075](https://issues.redhat.com/browse/DBZ-4075) +* Add Postgresql 14 container image [DBZ-4079](https://issues.redhat.com/browse/DBZ-4079) +* Fail Docker build scripts on error [DBZ-4084](https://issues.redhat.com/browse/DBZ-4084) +* Display commit SHA in page footer [DBZ-4110](https://issues.redhat.com/browse/DBZ-4110) +* Handle large comparisons results from GH API to address missing authors in release workflow [DBZ-4112](https://issues.redhat.com/browse/DBZ-4112) +* Add debezium-connect-rest-extension module to GH workflows [DBZ-4113](https://issues.redhat.com/browse/DBZ-4113) +* Display commit SHA in documentation footer [DBZ-4123](https://issues.redhat.com/browse/DBZ-4123) +* Add Debezium Kafka Connect REST Extension to Debezium Kafka Connect NIGHTLY container image [DBZ-4128](https://issues.redhat.com/browse/DBZ-4128) +* Migrate from Gitter to Zulip [DBZ-4142](https://issues.redhat.com/browse/DBZ-4142) +* Postgres module build times out after 6h on CI [DBZ-4145](https://issues.redhat.com/browse/DBZ-4145) +* Misc. MongoDB connector docs fixes [DBZ-4149](https://issues.redhat.com/browse/DBZ-4149) +* Document Oracle buffering solutions [DBZ-4157](https://issues.redhat.com/browse/DBZ-4157) +* Close open file handle [DBZ-4164](https://issues.redhat.com/browse/DBZ-4164) +* Outreach jobs should test all connectors [DBZ-4165](https://issues.redhat.com/browse/DBZ-4165) +* Broken link in MySQL docs [DBZ-4199](https://issues.redhat.com/browse/DBZ-4199) +* Expose outbox event structure at level of Kafka Connect messages [DBZ-1297](https://issues.redhat.com/browse/DBZ-1297) + + + +## 1.7.0.Final +September 30th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12374879) + +### New features since 1.7.0.CR2 + +* DBZ-UI - Provide list of configurations [DBZ-3960](https://issues.jboss.org/browse/DBZ-3960) +* add ProtobufConverter for Cassandra CDC [DBZ-3906](https://issues.redhat.com/browse/DBZ-3906) + + +### Breaking changes since 1.7.0.CR2 + +* Cassandra UUID handling [DBZ-3885](https://issues.jboss.org/browse/DBZ-3885) + + +### Fixes since 1.7.0.CR2 + +* java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed [DBZ-3346](https://issues.jboss.org/browse/DBZ-3346) +* Oracle connector unable to start in archive only mode [DBZ-3712](https://issues.jboss.org/browse/DBZ-3712) +* DDL statement couldn't be parsed [DBZ-4026](https://issues.jboss.org/browse/DBZ-4026) +* Question about handling Raw column types [DBZ-4037](https://issues.jboss.org/browse/DBZ-4037) +* Fixing wrong log dir location in Kafka container image [DBZ-4048](https://issues.jboss.org/browse/DBZ-4048) +* Incremental snapshotting of a table can be prematurely terminated after restart [DBZ-4057](https://issues.jboss.org/browse/DBZ-4057) +* Documentation - Setting up Db2 - Step 10 (Start the ASN agent) is not accurate [DBZ-4044](https://issues.jboss.org/browse/DBZ-4044) +* Debezium Server uses MySQL driver version as defined in Quarkus not in Debezium [DBZ-4049](https://issues.jboss.org/browse/DBZ-4049) +* Events are missed with Oracle connector due to LGWR buffer not being flushed to redo logs [DBZ-4067](https://issues.jboss.org/browse/DBZ-4067) +* Postgres JDBC Driver version causes connection issues on some cloud Postgres instances [DBZ-4060](https://issues.jboss.org/browse/DBZ-4060) +* Postgres JDBC Driver version causes connection issues on some cloud Postgres instances [DBZ-4060](https://issues.redhat.com/browse/DBZ-4060) +* UI final connector configuration includes some default values [DBZ-3967](https://issues.redhat.com/browse/DBZ-3967) + + +### Other changes since 1.7.0.CR2 + +* Oracle IncrementalSnapshotIT invalid table test fails [DBZ-4040](https://issues.jboss.org/browse/DBZ-4040) +* Document how to enable schema for JSON messages [DBZ-4041](https://issues.jboss.org/browse/DBZ-4041) +* Trigger contributor check action only when PR is opened [DBZ-4058](https://issues.jboss.org/browse/DBZ-4058) +* Provide JMH benchmark for ChangeEventQueue [DBZ-4050](https://issues.jboss.org/browse/DBZ-4050) +* Commit message action fails for multi-line commit messages [DBZ-4047](https://issues.jboss.org/browse/DBZ-4047) + + + +## 1.7.0.CR2 +Spetember 23rd 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12374333) + +### New features since 1.7.0.CR1 + +* Support read-only MySQL connection in incremental snapshot [DBZ-3577](https://issues.jboss.org/browse/DBZ-3577) + + +### Breaking changes since 1.7.0.CR1 + +None + + +### Fixes since 1.7.0.CR1 + +* Connection failure after snapshot wasn't executed for a while [DBZ-3951](https://issues.jboss.org/browse/DBZ-3951) +* Oracle-Connector fails parsing a DDL statement [DBZ-3977](https://issues.jboss.org/browse/DBZ-3977) +* Oracle connector fails after error ORA-01327 [DBZ-4010](https://issues.jboss.org/browse/DBZ-4010) +* Incorrect incremental snapshot DDL triggers snapshot that generates unending* inserts against signalling table [DBZ-4013](https://issues.jboss.org/browse/DBZ-4013) +* Oracle-Connector fails parsing a DDL statement (truncate partition) [DBZ-4017](https://issues.jboss.org/browse/DBZ-4017) + + +### Other changes since 1.7.0.CR1 + +* Jenkins build node is based on RHEL 8.0 and requires upgrade [DBZ-3690](https://issues.jboss.org/browse/DBZ-3690) +* Remove `GRANT ALTER ANY TABLE` from Oracle documentation [DBZ-4007](https://issues.jboss.org/browse/DBZ-4007) +* Update deploy action configuration for v3 [DBZ-4009](https://issues.jboss.org/browse/DBZ-4009) +* Website preview via surge.sh [DBZ-4011](https://issues.jboss.org/browse/DBZ-4011) +* Automate contributor check in COPYRIGHT.txt [DBZ-4023](https://issues.jboss.org/browse/DBZ-4023) +* Provide an example of usage of snapshot.select.statement.overrides [DBZ-3603](https://issues.jboss.org/browse/DBZ-3603) +* Throughput Bottleneck and Inefficient Batching in ChangeEventQueue [DBZ-3887](https://issues.jboss.org/browse/DBZ-3887) +* Performance Bottleneck in TableIdParser String Replacement [DBZ-4015](https://issues.jboss.org/browse/DBZ-4015) + + + +## 1.7.0.CR1 +September 16th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12373513) + +### New features since 1.7.0.Beta1 + +None + + +### Breaking changes since 1.7.0.Beta1 + +* Migrate to Fedora base image [DBZ-3939](https://issues.jboss.org/browse/DBZ-3939) + + +### Fixes since 1.7.0.Beta1 + +* RedisStreamChangeConsumer - handleBatch - client.xadd should be wrapped with a try catch block [DBZ-3713](https://issues.jboss.org/browse/DBZ-3713) +* Incorrect information in documentation about supplemental logging [DBZ-3776](https://issues.jboss.org/browse/DBZ-3776) +* DML statement couldn't be parsed [DBZ-3892](https://issues.jboss.org/browse/DBZ-3892) +* DEBEZIUM producer stops unexpectedly trying to change column in table which does not exist [DBZ-3898](https://issues.jboss.org/browse/DBZ-3898) +* "binary.handling.mode": "hex" setting works incorrectly for values with trailing zeros [DBZ-3912](https://issues.jboss.org/browse/DBZ-3912) +* System test-suite is unable to work with unreleased Apicurio versions [DBZ-3924](https://issues.jboss.org/browse/DBZ-3924) +* CI support for running Apicurio registry tests [DBZ-3932](https://issues.jboss.org/browse/DBZ-3932) +* Incorrect validation of truncate handling mode [DBZ-3935](https://issues.jboss.org/browse/DBZ-3935) +* protobuf decoder has sends unsigned long as signed for Postgres 13 [DBZ-3937](https://issues.jboss.org/browse/DBZ-3937) +* Field#description() should return a proper java.lang.String when documentation/description is not set [DBZ-3943](https://issues.jboss.org/browse/DBZ-3943) +* MySQL example image not working after upgrade to 8.0 [DBZ-3944](https://issues.jboss.org/browse/DBZ-3944) +* Fix empty high watermark check [DBZ-3947](https://issues.jboss.org/browse/DBZ-3947) +* Oracle Connector replicating data from all PDBs. Missing PDB filter during replication. [DBZ-3954](https://issues.jboss.org/browse/DBZ-3954) +* Oracle connector Parsing Exception: DDL statement couldn't be parsed [DBZ-3962](https://issues.jboss.org/browse/DBZ-3962) +* FormSwitchComponent not working correctly in case of duplicate STM form [DBZ-3968](https://issues.jboss.org/browse/DBZ-3968) +* Strings with binary collation shouldn't be parsed as Types.BINARY by MySqlAntlrDdlParser. [DBZ-3969](https://issues.jboss.org/browse/DBZ-3969) +* Openshift pods list image preview not found [DBZ-3970](https://issues.jboss.org/browse/DBZ-3970) +* MySqlValueConvertes.java has typo [DBZ-3976](https://issues.jboss.org/browse/DBZ-3976) +* Mysql-Connector fails parsing invalid decimal format DDL statement [DBZ-3984](https://issues.jboss.org/browse/DBZ-3984) +* Connection Factory is not used when validating SQL Server Connector [DBZ-4001](https://issues.jboss.org/browse/DBZ-4001) + + +### Other changes since 1.7.0.Beta1 + +* Promote Outbox SMT to GA [DBZ-3584](https://issues.jboss.org/browse/DBZ-3584) +* Clarify lifecycle of snapshot metrics [DBZ-3613](https://issues.jboss.org/browse/DBZ-3613) +* Explore on building non-core repos with corresponding PR branch of core repo and vice-versa [DBZ-3748](https://issues.jboss.org/browse/DBZ-3748) +* Upgrade to binlog-client 0.25.3 [DBZ-3787](https://issues.jboss.org/browse/DBZ-3787) +* RelationalSnapshotChangeEventSource should accept a RelationalDatabaseSchema [DBZ-3818](https://issues.jboss.org/browse/DBZ-3818) +* Create GH Action that flags "octocat" commits [DBZ-3822](https://issues.jboss.org/browse/DBZ-3822) +* Publish Maven repo with downstream artifacts [DBZ-3861](https://issues.jboss.org/browse/DBZ-3861) +* CI preparation for Apicurio Registry downstream [DBZ-3908](https://issues.jboss.org/browse/DBZ-3908) +* Specify branch name on push/pull_request step in all GH action workflows [DBZ-3913](https://issues.jboss.org/browse/DBZ-3913) +* Consistently order releases from new to old on the website [DBZ-3917](https://issues.jboss.org/browse/DBZ-3917) +* Update RELEASING.md [DBZ-3918](https://issues.jboss.org/browse/DBZ-3918) +* Update antora.yml file with new values for SMT attributes [DBZ-3922](https://issues.jboss.org/browse/DBZ-3922) +* Documentation update should not trigger staging workflow build [DBZ-3923](https://issues.jboss.org/browse/DBZ-3923) +* Upgrade to Jackson Databind version 2.10.5.1 [DBZ-3927](https://issues.jboss.org/browse/DBZ-3927) +* Add top-level Transformation menu node for downstream docs [DBZ-3931](https://issues.jboss.org/browse/DBZ-3931) +* Docker image serving plugin artifacts over HTTP for new Strimzi deployment mechanism [DBZ-3934](https://issues.jboss.org/browse/DBZ-3934) +* Upgrade MySQL example image to 8.0 [DBZ-3936](https://issues.jboss.org/browse/DBZ-3936) +* Gracefully handle DB history file stored in a sym-linked directory [DBZ-3958](https://issues.jboss.org/browse/DBZ-3958) +* Update docs to specify that connectors track metadata only for transactions that occur after deployment [DBZ-3961](https://issues.jboss.org/browse/DBZ-3961) +* Update and automate Jenkis Node setup [DBZ-3965](https://issues.jboss.org/browse/DBZ-3965) +* Hyper-link references between options in the Outbox SMT options table [DBZ-3920](https://issues.jboss.org/browse/DBZ-3920) +* Generify exclusion of columns from snapshotting [DBZ-2525](https://issues.jboss.org/browse/DBZ-2525) +* PoC for adding transformations / SMT steps to the Debezium UI [DBZ-3698](https://issues.jboss.org/browse/DBZ-3698) +* Use No match found of pf Empty state component in filter page. [DBZ-3888](https://issues.jboss.org/browse/DBZ-3888) +* Update the "Skip to review" implementation as per PF new documented standard design pattern [DBZ-3916](https://issues.jboss.org/browse/DBZ-3916) +* Set up MongoDB 5.0 image [DBZ-3973](https://issues.jboss.org/browse/DBZ-3973) + + + +## 1.7.0.Beta1 +August 25th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12359667) + +### New features since 1.7.0.Alpha1 + +* Sink adapter for Nats Streaming [DBZ-3815](https://issues.jboss.org/browse/DBZ-3815) +* Debezium Server's run.sh startup script fails on msys or cygwin bash [DBZ-3840](https://issues.jboss.org/browse/DBZ-3840) +* Upgrade Debezium Server Pravega sink to 0.9.1 [DBZ-3841](https://issues.jboss.org/browse/DBZ-3841) + + +### Breaking changes since 1.7.0.Alpha1 + +* Upgrade MySQL driver dependency to latest version [DBZ-3833](https://issues.jboss.org/browse/DBZ-3833) + + +### Fixes since 1.7.0.Alpha1 + +* Create example for using self-managed Debezium with MK [DBZ-2947](https://issues.jboss.org/browse/DBZ-2947) +* Exception when validating `field.exclude.list` for Mongo DB connectors [DBZ-3028](https://issues.jboss.org/browse/DBZ-3028) +* In case of `/api/connectors/1` takes longer time(more than pooling) to fail spinner keeps on loading. [DBZ-3313](https://issues.jboss.org/browse/DBZ-3313) +* SQL Server CDC event timestamps do not get converted to UTC [DBZ-3479](https://issues.jboss.org/browse/DBZ-3479) +* Debezium snapshot.select.statement.overrides overrides not used [DBZ-3760](https://issues.jboss.org/browse/DBZ-3760) +* Server name pattern is unnecessarily restrictive. [DBZ-3765](https://issues.jboss.org/browse/DBZ-3765) +* Crash when processing MySQL 5.7.28 TIME fields returns empty blob instead of null [DBZ-3773](https://issues.jboss.org/browse/DBZ-3773) +* Debezium UI and CDC [DBZ-3781](https://issues.jboss.org/browse/DBZ-3781) +* Disable "Next" if any field value is changed after the validation. [DBZ-3783](https://issues.jboss.org/browse/DBZ-3783) +* Add DEFAULT to partition option engine [DBZ-3784](https://issues.jboss.org/browse/DBZ-3784) +* Initiating MongoDB connector causes oplog table scan [DBZ-3788](https://issues.jboss.org/browse/DBZ-3788) +* SRCFG00014: The config property debezium.sink.pravega.scope is required but it could not be found in any config source [DBZ-3792](https://issues.jboss.org/browse/DBZ-3792) +* LSN component of Postgres sequence numbers is not updated [DBZ-3801](https://issues.jboss.org/browse/DBZ-3801) +* Debezium 1.6.1 expecting database.port even when database.url is provided in config. [DBZ-3813](https://issues.jboss.org/browse/DBZ-3813) +* Postgres numeric default value throwing exception [DBZ-3816](https://issues.jboss.org/browse/DBZ-3816) +* SQL Server connector doesn't handle retriable errors during task start [DBZ-3823](https://issues.jboss.org/browse/DBZ-3823) +* Debezium OpenShift integration test-suite failure [DBZ-3824](https://issues.jboss.org/browse/DBZ-3824) +* Debezium Server Kinesis Sink Cannot Handle Null Events [DBZ-3827](https://issues.jboss.org/browse/DBZ-3827) +* Timeout when reading from MongoDB oplog cannot be controlled [DBZ-3836](https://issues.jboss.org/browse/DBZ-3836) +* Snapshot locking mode "minimal_percona" incorrectly resets transaction & isolation state [DBZ-3838](https://issues.jboss.org/browse/DBZ-3838) +* Properly skip tests when minor/patch are not specified [DBZ-3839](https://issues.jboss.org/browse/DBZ-3839) +* Truncate validation should verify key schema is null and not value schema [DBZ-3842](https://issues.jboss.org/browse/DBZ-3842) +* System test-suite fails if CRD already exist within the cluster [DBZ-3846](https://issues.jboss.org/browse/DBZ-3846) +* Incorrect test-tags for OcpAvroDB2ConnectorIT [DBZ-3851](https://issues.jboss.org/browse/DBZ-3851) +* System test-suite CI job does not have RHEL image parameter [DBZ-3852](https://issues.jboss.org/browse/DBZ-3852) +* Typo with prodname asciidoc attribute usage [DBZ-3856](https://issues.jboss.org/browse/DBZ-3856) +* SQL Server Connector finds tables for streaming but not snapshot [DBZ-3857](https://issues.jboss.org/browse/DBZ-3857) +* Signaling table id column too small in example [DBZ-3867](https://issues.jboss.org/browse/DBZ-3867) +* Oracle unparsable DDL issue [DBZ-3877](https://issues.jboss.org/browse/DBZ-3877) +* Support AS clause in GRANT statement [DBZ-3878](https://issues.jboss.org/browse/DBZ-3878) +* Error Parsing Oracle DDL dropping PK [DBZ-3886](https://issues.jboss.org/browse/DBZ-3886) +* Q3 docs referencing Service Registry 2.0 docs [DBZ-3891](https://issues.jboss.org/browse/DBZ-3891) +* EMPTY_CLOB() and EMPTY_BLOB() should be treated as empty LOB values [DBZ-3893](https://issues.jboss.org/browse/DBZ-3893) +* Oracle DDL parsing issue [DBZ-3896](https://issues.jboss.org/browse/DBZ-3896) + + +### Other changes since 1.7.0.Alpha1 + +* Debezium UI participating in upstream releases -- follow-up [DBZ-3169](https://issues.jboss.org/browse/DBZ-3169) +* Discuss SMT predicates in docs [DBZ-3227](https://issues.jboss.org/browse/DBZ-3227) +* Test failure for SqlServerConnectorIT#excludeColumnWhenCaptureInstanceExcludesColumns [DBZ-3228](https://issues.jboss.org/browse/DBZ-3228) +* Adjust to changed Strimzi CRDs [DBZ-3385](https://issues.jboss.org/browse/DBZ-3385) +* Create a smoke test for Debezium with Kafka on RHEL [DBZ-3387](https://issues.jboss.org/browse/DBZ-3387) +* Promote Debezium support on RHEL to GA [DBZ-3406](https://issues.jboss.org/browse/DBZ-3406) +* Oracle Docs for TP [DBZ-3407](https://issues.jboss.org/browse/DBZ-3407) +* Upgrade to Kafka 2.8 [DBZ-3444](https://issues.jboss.org/browse/DBZ-3444) +* Update Debezium on RHEL documentation for GA [DBZ-3462](https://issues.jboss.org/browse/DBZ-3462) +* Options in outbox router docs not linked [DBZ-3649](https://issues.jboss.org/browse/DBZ-3649) +* Create Kafka related images based on UBI-8 for RHEL certification [DBZ-3650](https://issues.jboss.org/browse/DBZ-3650) +* Error in description of the property column.mask.hash._hashAlgorithm_.with.salt._salt_ [DBZ-3802](https://issues.jboss.org/browse/DBZ-3802) +* Debezium does not provide up-to-date container images [DBZ-3809](https://issues.jboss.org/browse/DBZ-3809) +* Change DBZ kafka image , so its start script can be used on QA Rhel kafka [DBZ-3810](https://issues.jboss.org/browse/DBZ-3810) +* Test with Apicurio Registry 2.0 in system level test-suite [DBZ-3812](https://issues.jboss.org/browse/DBZ-3812) +* Upgrade commons-compress from 1.20 to 1.21 [DBZ-3819](https://issues.jboss.org/browse/DBZ-3819) +* Update jenkins job configuration to incorporate recent system-testsuite changes [DBZ-3825](https://issues.jboss.org/browse/DBZ-3825) +* Test Failure - RecordsStreamProducerIT#testEmptyChangesProducesHeartbeat [DBZ-3828](https://issues.jboss.org/browse/DBZ-3828) +* Upgrade UI proxy connectors to 1.6.1.Final [DBZ-3837](https://issues.jboss.org/browse/DBZ-3837) +* Improperly constructed links generating downstream build errors [DBZ-3858](https://issues.jboss.org/browse/DBZ-3858) +* CI Failure in VitessConnectorIT.shouldOutputRecordsInCloudEventsFormat [DBZ-3863](https://issues.jboss.org/browse/DBZ-3863) +* CI Failure for StreamingSourceIT.shouldFailOnSchemaInconsistency [DBZ-3869](https://issues.jboss.org/browse/DBZ-3869) +* Extract new top-level menu node for SMTs [DBZ-3873](https://issues.jboss.org/browse/DBZ-3873) +* Introduce documentation variables for AMQ [DBZ-3879](https://issues.jboss.org/browse/DBZ-3879) +* Don't log error when dropping non-existent replication slot in tests [DBZ-3889](https://issues.jboss.org/browse/DBZ-3889) +* Intermittent test failures on CI: VitessConnectorIT::shouldUseUniqueKeyAsRecordKey [DBZ-3900](https://issues.jboss.org/browse/DBZ-3900) +* Intermittent test failures on CI: IncrementalSnapshotIT#updatesWithRestart [DBZ-3901](https://issues.jboss.org/browse/DBZ-3901) +* Test shouldNotEmitDdlEventsForNonTableObjects randomly fails [DBZ-3902](https://issues.jboss.org/browse/DBZ-3902) +* VOLUME instruction causes issue with recent Docker versions [DBZ-3903](https://issues.jboss.org/browse/DBZ-3903) +* Provide ability to denote UI order in field metadata [DBZ-3904](https://issues.jboss.org/browse/DBZ-3904) +* Make relocation.dir and offset.dir configs required. [DBZ-2251](https://issues.jboss.org/browse/DBZ-2251) +* Create Debezium API Spec Generator and static API definitions for connectors [DBZ-3364](https://issues.jboss.org/browse/DBZ-3364) +* Improve incremental snapshot metrics [DBZ-3688](https://issues.jboss.org/browse/DBZ-3688) +* Import Pattern-fly CSS from @patternfly/patternfly [DBZ-3779](https://issues.jboss.org/browse/DBZ-3779) +* Allow system testsuite to produce Strimzi image for arbitrary released version of Debezium [DBZ-3826](https://issues.jboss.org/browse/DBZ-3826) +* PostgreSQL - Minor Performance bottleneck in PostgresChangeRecordEmitter [DBZ-3870](https://issues.jboss.org/browse/DBZ-3870) +* Oracle - Provide a more user-friendly way to update SCN [DBZ-3876](https://issues.jboss.org/browse/DBZ-3876) +* Test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent [DBZ-2398](https://issues.jboss.org/browse/DBZ-2398) +* Test failure for SqlServerConnectorIT#EventProcessingFailureHandlingIT [DBZ-3229](https://issues.jboss.org/browse/DBZ-3229) +* Remove underscore from Debezium Server NATS sink Java package name [DBZ-3910](https://issues.jboss.org/browse/DBZ-3910) +* LogMinerDatabaseStateWriter causes a SQLException [DBZ-3911](https://issues.jboss.org/browse/DBZ-3911) +* Maven release fails due to debezium-testing version handling [DBZ-3909](https://issues.jboss.org/browse/DBZ-3909) +* Zookeeper image should not use archive.apache.org [DBZ-3914](https://issues.jboss.org/browse/DBZ-3914) + + + +## 1.7.0.Alpha1 +July 30th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12354171) + +### New features since 1.6.0.Final + +* Implement incremental snapshotting for Oracle [DBZ-3692](https://issues.jboss.org/browse/DBZ-3692) +* Implement a LogMiner event buffer SPI [DBZ-3752](https://issues.jboss.org/browse/DBZ-3752) +* Remove `artifacts.url` property from UI config.js [DBZ-3209](https://issues.jboss.org/browse/DBZ-3209) +* Do not mark offset for commit log files with error [DBZ-3366](https://issues.jboss.org/browse/DBZ-3366) +* Support read-only MySQL connection in incremental snapshot [DBZ-3577](https://issues.jboss.org/browse/DBZ-3577) +* CloudEventsConverter does not support Oracle, Db2, or Vitess [DBZ-3668](https://issues.jboss.org/browse/DBZ-3668) +* Allow usernames to be excluded in logminer query [DBZ-3671](https://issues.jboss.org/browse/DBZ-3671) +* Track Oracle session PGA memory consumption [DBZ-3756](https://issues.jboss.org/browse/DBZ-3756) +* Performance issue due to inefficient ObjectMapper initialization [DBZ-3770](https://issues.jboss.org/browse/DBZ-3770) +* Add more smoke tests [DBZ-3789](https://issues.jboss.org/browse/DBZ-3789) + + +### Breaking changes since 1.6.0.Final + +None + + +### Fixes since 1.6.0.Final + +* UI frontend build fails for exported checkout which has no .git dir [DBZ-3265](https://issues.jboss.org/browse/DBZ-3265) +* Broken links in Avro and Outbox Event Router documentation [DBZ-3430](https://issues.jboss.org/browse/DBZ-3430) +* Cassandra connector generates invalid schema name for its CDC records [DBZ-3590](https://issues.jboss.org/browse/DBZ-3590) +* Support invisible columns with MySql 8.0.23+ [DBZ-3623](https://issues.jboss.org/browse/DBZ-3623) +* Db2Connector is unable to establish validation connection [DBZ-3632](https://issues.jboss.org/browse/DBZ-3632) +* Status stays in RUNNING for Postgres Connector after Postgres is stopped [DBZ-3655](https://issues.jboss.org/browse/DBZ-3655) +* Change connection validation log level for better visibility [DBZ-3677](https://issues.jboss.org/browse/DBZ-3677) +* OracleSchemaMigrationIT can throw false positive test failures if test artifacts remain [DBZ-3684](https://issues.jboss.org/browse/DBZ-3684) +* MySQL Connector error after execute a "create role" statement [DBZ-3686](https://issues.jboss.org/browse/DBZ-3686) +* ERROR in Entry module not found: Error: Can't resolve './src' [DBZ-3716](https://issues.jboss.org/browse/DBZ-3716) +* Error parsing query, even with database.history.skip.unparseable.ddl [DBZ-3717](https://issues.jboss.org/browse/DBZ-3717) +* Support for TABLE_TYPE missing form MySQL grammar [DBZ-3718](https://issues.jboss.org/browse/DBZ-3718) +* Oracle LogMiner DdlParser Error [DBZ-3723](https://issues.jboss.org/browse/DBZ-3723) +* Debezium mysql connector plugin throws SQL syntax error during incremental snapshot [DBZ-3725](https://issues.jboss.org/browse/DBZ-3725) +* DDL statement couldn't be parsed [DBZ-3755](https://issues.jboss.org/browse/DBZ-3755) +* Debezium Oracle connector stops with DDL parsing error [DBZ-3759](https://issues.jboss.org/browse/DBZ-3759) +* Exception thrown from getTableColumnsFromDatabase [DBZ-3769](https://issues.jboss.org/browse/DBZ-3769) +* Incorrect regex parsing in start script of kafka image [DBZ-3791](https://issues.jboss.org/browse/DBZ-3791) +* Dropdown items list visibility blocked by wizard footer [DBZ-3794](https://issues.jboss.org/browse/DBZ-3794) +* Permission issues with DB2 example image [DBZ-3795](https://issues.jboss.org/browse/DBZ-3795) + + +### Other changes since 1.6.0.Final + +* Make consumer of outbox example more resilient [DBZ-1709](https://issues.jboss.org/browse/DBZ-1709) +* Set up CI for debezium-examples repo [DBZ-1749](https://issues.jboss.org/browse/DBZ-1749) +* Refactor LogMinerHelper and SqlUtils [DBZ-2552](https://issues.jboss.org/browse/DBZ-2552) +* Implement tests for UI components [DBZ-3050](https://issues.jboss.org/browse/DBZ-3050) +* Add documentation about new capturing implementation for the MySQL connector to downstream product [DBZ-3140](https://issues.jboss.org/browse/DBZ-3140) +* Remove JSimpleParser [DBZ-3155](https://issues.jboss.org/browse/DBZ-3155) +* Ability to build KC image with Apicurio converters [DBZ-3433](https://issues.jboss.org/browse/DBZ-3433) +* Remove `log.mining.history.xxx` deprecated options [DBZ-3581](https://issues.jboss.org/browse/DBZ-3581) +* Un-document deprecated options and metrics [DBZ-3681](https://issues.jboss.org/browse/DBZ-3681) +* Capture changes made by connector user & document that SYS/SYSTEM changes are not captured [DBZ-3683](https://issues.jboss.org/browse/DBZ-3683) +* Use Debezium thread factory for PG keep-alive [DBZ-3685](https://issues.jboss.org/browse/DBZ-3685) +* Time for another community newsletter [DBZ-3695](https://issues.jboss.org/browse/DBZ-3695) +* Improve signalling documentation [DBZ-3699](https://issues.jboss.org/browse/DBZ-3699) +* Example end-to-end fails due to an API incompatibility with Maven 3.6+ [DBZ-3705](https://issues.jboss.org/browse/DBZ-3705) +* Example debezium-server-name-mapper fails due to an API incompatibility with Maven 3.6+ [DBZ-3706](https://issues.jboss.org/browse/DBZ-3706) +* Doc clarification on connector rewrite [DBZ-3711](https://issues.jboss.org/browse/DBZ-3711) +* Support RHEL deployments in system-test tooling [DBZ-3724](https://issues.jboss.org/browse/DBZ-3724) +* Misc. tutorial updates [DBZ-3747](https://issues.jboss.org/browse/DBZ-3747) +* Update Oracle connector deployment instructions for consistency [DBZ-3772](https://issues.jboss.org/browse/DBZ-3772) + + +## 1.6.0.Final +June 30th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12358966) + +### New features since 1.6.0.CR1 + +* Allow specifying of Oracle archive log location [DBZ-3661](https://issues.redhat.com/browse/DBZ-3661) + + +### Breaking changes since 1.6.0.CR1 + +None + + +### Fixes since 1.6.0.CR1 + +* Fix connect container build to be compatible with Oracle Instant Client [DBZ-2547](https://issues.redhat.com/browse/DBZ-2547) +* Schema change events of excluded databases are discarded [DBZ-3622](https://issues.redhat.com/browse/DBZ-3622) +* Provide a descriptive error when enabling log.mining.archive.log.only.mode with an offset SCN that isn't yet in an archive log. [DBZ-3665](https://issues.redhat.com/browse/DBZ-3665) +* When LOB support is disabled, use legacy SCN mining algorithm [DBZ-3676](https://issues.redhat.com/browse/DBZ-3676) + + +### Other changes since 1.6.0.CR1 + +* Oracle connector error with tables using unique index keys: "key must not be null" [DBZ-1211](https://issues.redhat.com/browse/DBZ-1211) +* Database history properties missing in connector docs [DBZ-3459](https://issues.redhat.com/browse/DBZ-3459) +* Oracle connector doc fixes [DBZ-3662](https://issues.redhat.com/browse/DBZ-3662) +* Change the reached max batch size log message to DEBUG level [DBZ-3664](https://issues.redhat.com/browse/DBZ-3664) +* Remove unused code [DBZ-3672](https://issues.redhat.com/browse/DBZ-3672) +* Update deprecated config for debezium smt [DBZ-3673](https://issues.redhat.com/browse/DBZ-3673) +* Align Antlr versions used during testing [DBZ-3675](https://issues.redhat.com/browse/DBZ-3675) + + + +## 1.6.0.CR1 +June 24th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12358695) + +### New features since 1.6.0.Beta2 + +* Implement SKIPPED_OPERATIONS for SQLServer [DBZ-2697](https://issues.redhat.com/browse/DBZ-2697) +* Handling database connection timeout during schema recovery [DBZ-3615](https://issues.redhat.com/browse/DBZ-3615) +* Scope mined DDL events to include/exclude lists if provided [DBZ-3634](https://issues.redhat.com/browse/DBZ-3634) +* Support heartbeats during periods of low change event activity [DBZ-3639](https://issues.redhat.com/browse/DBZ-3639) + + +### Breaking changes since 1.6.0.Beta2 + +None + + +### Fixes since 1.6.0.Beta2 + +* Fix exception on not found table [DBZ-3523](https://issues.redhat.com/browse/DBZ-3523) +* Transaction commit event dispatch fails if no active transaction in progress. [DBZ-3593](https://issues.redhat.com/browse/DBZ-3593) +* Additional unique index referencing columns not exposed by CDC causes exception [DBZ-3597](https://issues.redhat.com/browse/DBZ-3597) +* GRANT/REVOKE for roles is not working [DBZ-3610](https://issues.redhat.com/browse/DBZ-3610) +* ParsingException for ALTER TABLE against a table that is unknown to the connector. [DBZ-3612](https://issues.redhat.com/browse/DBZ-3612) +* Oracle connector continually logging warnings about already processed transactions. [DBZ-3616](https://issues.redhat.com/browse/DBZ-3616) +* StringIndexOutOfBoundsException thrown while handling UTF-8 characters [DBZ-3618](https://issues.redhat.com/browse/DBZ-3618) +* DDL ParsingException - "SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS" [DBZ-3619](https://issues.redhat.com/browse/DBZ-3619) +* Oracle transaction reconciliation fails to lookup primary key columns if UPDATE sets columns to only NULL [DBZ-3631](https://issues.redhat.com/browse/DBZ-3631) +* Oracle DDL parser fails on CREATE TABLE: mismatched input 'maxtrans' expecting {'AS', ';'} [DBZ-3641](https://issues.redhat.com/browse/DBZ-3641) +* Antlr version mismatch [DBZ-3646](https://issues.redhat.com/browse/DBZ-3646) +* SQL Agent does not start in SqlServer image when deployed to openshift [DBZ-3648](https://issues.redhat.com/browse/DBZ-3648) +* Java UBI image is lacking gzip utility [DBZ-3659](https://isssues.redhat.com/browse/DBZ-3659) + +### Other changes since 1.6.0.Beta2 + +* Upgrade to Apicurio Registry 2.0 [DBZ-3171](https://issues.redhat.com/browse/DBZ-3171) +* Vitess: rename "master" branch to "main" [DBZ-3275](https://issues.redhat.com/browse/DBZ-3275) +* Formatting updates to correct errors in documentation builds [DBZ-3518](https://issues.redhat.com/browse/DBZ-3518) +* Prepare test-suite for Kafka on RHEL [DBZ-3566](https://issues.redhat.com/browse/DBZ-3566) +* Upgrade to Quarkus 2.0.0.Final [DBZ-3602](https://issues.redhat.com/browse/DBZ-3602) +* Some dependencies are broken in ocp testsuite after BOM introduction [DBZ-3625](https://issues.redhat.com/browse/DBZ-3625) +* Handle updated json schema for connector passwords [DBZ-3637](https://issues.redhat.com/browse/DBZ-3637) +* MySQL SourceInfo should be public [DBZ-3638](https://issues.redhat.com/browse/DBZ-3638) +* Change CLOB/BLOB data type support to an opt-in feature [DBZ-3645](https://issues.redhat.com/browse/DBZ-3645) +* Denote BLOB support as incubating [DBZ-3651](https://issues.redhat.com/browse/DBZ-3651) + + + +## 1.6.0.Beta2 +June 10th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12358021) + +### New features since 1.6.0.Beta1 + +* Clarification on MySQL vs MariaDb Usage [DBZ-1145](https://issues.jboss.org/browse/DBZ-1145) +* Pravega sink for Debezium Server [DBZ-3546](https://issues.jboss.org/browse/DBZ-3546) +* Postgres - Column default values are not extracted [DBZ-2790](https://issues.jboss.org/browse/DBZ-2790) +* Add support for snapshot.include.collection.list [DBZ-3062](https://issues.jboss.org/browse/DBZ-3062) +* Apply filters with empty filter changes 'Exclude' selection to 'Include' [DBZ-3102](https://issues.jboss.org/browse/DBZ-3102) +* Adjust OpenShift tests to support new version of Strimzi CRDs [DBZ-3475](https://issues.jboss.org/browse/DBZ-3475) +* Remove SchemaProcessor From Cassandra Connector [DBZ-3506](https://issues.jboss.org/browse/DBZ-3506) +* Provide a `snapshot.locking.mode` option for Oracle [DBZ-3557](https://issues.jboss.org/browse/DBZ-3557) +* Implement support for JSON function in MySQL parser [DBZ-3559](https://issues.jboss.org/browse/DBZ-3559) + + +### Breaking changes since 1.6.0.Beta1 + +None + + +### Fixes since 1.6.0.Beta1 + +* AbstractConnectorTest should work in environment with longer latency [DBZ-400](https://issues.jboss.org/browse/DBZ-400) +* PostgreSQL connector task fails to resume streaming because replication slot is active [DBZ-3068](https://issues.jboss.org/browse/DBZ-3068) +* SQL Server connector buffers all CDC events in memory if more than one table is captured [DBZ-3486](https://issues.jboss.org/browse/DBZ-3486) +* SQLServer low throughput tables increase usage of TempDB [DBZ-3515](https://issues.jboss.org/browse/DBZ-3515) +* Incorrectly identifies primary member of replica set [DBZ-3522](https://issues.jboss.org/browse/DBZ-3522) +* Cannot enable binlog streaming when INITIAL_ONLY snapshot mode configured [DBZ-3529](https://issues.jboss.org/browse/DBZ-3529) +* Connector CRD name and database.server.name cannot use the same value in OCP test-suite [DBZ-3538](https://issues.jboss.org/browse/DBZ-3538) +* SelectLobParser checks for lowercase "is null" instead of uppercase "IS NULL" [DBZ-3545](https://issues.jboss.org/browse/DBZ-3545) +* DDL ParsingException "mismatched input 'sharing'" for create table syntax. [DBZ-3549](https://issues.jboss.org/browse/DBZ-3549) +* DDL ParsingException on alter table [DBZ-3554](https://issues.jboss.org/browse/DBZ-3554) +* ORA-00310 when online redo log is archived and replaced by redo log with new sequence [DBZ-3561](https://issues.jboss.org/browse/DBZ-3561) +* Server name pattern is unnecessarily restrictive [DBZ-3562](https://issues.jboss.org/browse/DBZ-3562) +* ORA-01289 error encountered on Oracle RAC when multiple logs are mined with same sequence number [DBZ-3563](https://issues.jboss.org/browse/DBZ-3563) +* MySQL metrics documentation refers to legacy implementation [DBZ-3572](https://issues.jboss.org/browse/DBZ-3572) +* Update downstream MySQL doc to reference streaming metrics vs. binlog metrics [DBZ-3582](https://issues.jboss.org/browse/DBZ-3582) +* No viable alternative at input "add COLUMN optional" [DBZ-3586](https://issues.jboss.org/browse/DBZ-3586) +* NPE when OracleValueConverters get unsupported jdbc type [DBZ-3587](https://issues.jboss.org/browse/DBZ-3587) +* SelectLobParser throws NullPointerException when parsing SQL for an unknown table [DBZ-3591](https://issues.jboss.org/browse/DBZ-3591) +* Pulsar sink tries to convert null key to string [DBZ-3595](https://issues.jboss.org/browse/DBZ-3595) +* Oracle RAC URL does not correctly substitute node IP addresses [DBZ-3599](https://issues.jboss.org/browse/DBZ-3599) +* Oracle Connector - got InputMismatchException mismatched input 'CASCADE' expecting {'AS', 'PURGE', ';'} [DBZ-3606](https://issues.jboss.org/browse/DBZ-3606) + + +### Other changes since 1.6.0.Beta1 + +* Unsupported column types should be ignored as with other connectors [DBZ-814](https://issues.jboss.org/browse/DBZ-814) +* Make outbox extensions dependency on tracing extension optional [DBZ-2834](https://issues.jboss.org/browse/DBZ-2834) +* Avoid copying in DML handling [DBZ-3328](https://issues.jboss.org/browse/DBZ-3328) +* Document impact of using --hostname when starting Connect container [DBZ-3466](https://issues.jboss.org/browse/DBZ-3466) +* Update external link to AMQ Streams documentation [DBZ-3502](https://issues.jboss.org/browse/DBZ-3502) +* Update external links in downstream docs to AMQ Streams deployment information [DBZ-3525](https://issues.jboss.org/browse/DBZ-3525) +* Debezium Server Core builds plugin artifact [DBZ-3542](https://issues.jboss.org/browse/DBZ-3542) +* List contributors script fails when name contains a "/" character [DBZ-3544](https://issues.jboss.org/browse/DBZ-3544) +* Upgrade to Quarkus 2.0.0.CR3 [DBZ-3550](https://issues.jboss.org/browse/DBZ-3550) +* Reduce DB round-trips for LOB handling [DBZ-3556](https://issues.jboss.org/browse/DBZ-3556) +* Oracle benchmark does not execute LogMiner parser performance tests [DBZ-3560](https://issues.jboss.org/browse/DBZ-3560) +* Clarify purpose of database.history.retention.hours [DBZ-3565](https://issues.jboss.org/browse/DBZ-3565) +* Improve documentation related to signalling table DDL [DBZ-3568](https://issues.jboss.org/browse/DBZ-3568) +* cassandra-driver-core 3.5.0 managed in Debezium BOM too old for testcontainers 1.15.3 [DBZ-3589](https://issues.jboss.org/browse/DBZ-3589) +* Remove some dead code in Postgres connector [DBZ-3596](https://issues.jboss.org/browse/DBZ-3596) +* Debezium server sink oracle database to pulsar without default namespace "public/default" [DBZ-3601](https://issues.jboss.org/browse/DBZ-3601) +* Document OffsetContext.incrementalSnapshotEvents() [DBZ-3607](https://issues.jboss.org/browse/DBZ-3607) +* Database skipping logic isn't correct [DBZ-3608](https://issues.jboss.org/browse/DBZ-3608) + + + +## 1.6.0.Beta1 +May 20th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12357565) + +### New features since 1.6.0.Alpha1 + +* Support ad hoc snapshots on MySQL connector [DBZ-66](https://issues.jboss.org/browse/DBZ-66) +* Support DDL operations [DBZ-2916](https://issues.jboss.org/browse/DBZ-2916) +* Add support for RAW, LONG, LONG RAW, BLOB, and CLOB data types [DBZ-2948](https://issues.jboss.org/browse/DBZ-2948) +* Update Doc For Cassandra Connector [DBZ-3092](https://issues.jboss.org/browse/DBZ-3092) +* Document log.mining.strategy for Oracle connector [DBZ-3393](https://issues.jboss.org/browse/DBZ-3393) +* Update DOC with the new NUM_OF_CHANGE_EVENT_QUEUES parameter [DBZ-3480](https://issues.jboss.org/browse/DBZ-3480) +* Use date format model that does not depend on client NLS settings in integration tests [DBZ-3482](https://issues.jboss.org/browse/DBZ-3482) +* Provide Japanese translation of README.md [DBZ-3503](https://issues.jboss.org/browse/DBZ-3503) +* Better handling of invalid SQL Server connector configuration [DBZ-3505](https://issues.jboss.org/browse/DBZ-3505) +* Allow table.include.list and table.exclude.list to be updated after a connector is created [DBZ-1263](https://issues.jboss.org/browse/DBZ-1263) +* Allow retry when SQL Server is down temporarily [DBZ-3339](https://issues.jboss.org/browse/DBZ-3339) + + +### Breaking changes since 1.6.0.Alpha1 + +* Rename table stores only a fragment of DDL in schema history [DBZ-3399](https://issues.jboss.org/browse/DBZ-3399) + + +### Fixes since 1.6.0.Alpha1 + +* Database name should not be converted to lower case if tablenameCaseInsensitive=True in Oracle Connector [DBZ-2203](https://issues.jboss.org/browse/DBZ-2203) +* Not able to configure Debezium Server via smallrye/microprofile environment variables [DBZ-2622](https://issues.jboss.org/browse/DBZ-2622) +* Upgrading from debezium 1.2.2 to 1.4.0 stopped snapshotting new tables [DBZ-2944](https://issues.jboss.org/browse/DBZ-2944) +* oracle logminer cannot add duplicate logfile [DBZ-3266](https://issues.jboss.org/browse/DBZ-3266) +* Oracle connector does not correctly handle partially committed transactions [DBZ-3322](https://issues.jboss.org/browse/DBZ-3322) +* Data loss when MongoDB snapshot take longer than the Oplog Window [DBZ-3331](https://issues.jboss.org/browse/DBZ-3331) +* First online log query does not limit results to those that are available. [DBZ-3332](https://issues.jboss.org/browse/DBZ-3332) +* Connector crashing after running for some time [DBZ-3377](https://issues.jboss.org/browse/DBZ-3377) +* Broken links in downstream Monitoring chapter [DBZ-3408](https://issues.jboss.org/browse/DBZ-3408) +* Broken links in User guide table of routing SMT configuration options [DBZ-3410](https://issues.jboss.org/browse/DBZ-3410) +* Broken link to basic configuration example in downstream content-based routing topic [DBZ-3412](https://issues.jboss.org/browse/DBZ-3412) +* Cassandra connector does not react on schema changes properly [DBZ-3417](https://issues.jboss.org/browse/DBZ-3417) +* Debezium mapped diagnostic contexts doesn't work [DBZ-3438](https://issues.jboss.org/browse/DBZ-3438) +* source.timestamp.mode=commit imposes a significant performance penalty [DBZ-3452](https://issues.jboss.org/browse/DBZ-3452) +* Timezone difference not considered in `LagFromSourceInMilliseconds` calculation [DBZ-3456](https://issues.jboss.org/browse/DBZ-3456) +* "Found null value for non-optional schema" error when issuing TRUNCATE from Postgres on a table with a PK [DBZ-3469](https://issues.jboss.org/browse/DBZ-3469) +* Connector crashes when table name contains '-' character [DBZ-3485](https://issues.jboss.org/browse/DBZ-3485) +* Kafka Clients in Debezium Server is not aligned with Debezium Kafka version [DBZ-3498](https://issues.jboss.org/browse/DBZ-3498) +* ReadToInsertEvent SMT needs to set ConfigDef [DBZ-3508](https://issues.jboss.org/browse/DBZ-3508) +* Debezium configuration can be modified after instantiation [DBZ-3514](https://issues.jboss.org/browse/DBZ-3514) +* Oracle redo log switch not detected when using multiple archiver process threads [DBZ-3516](https://issues.jboss.org/browse/DBZ-3516) +* Cannot enable binlog streaming when INITIAL_ONLY snapshot mode configured [DBZ-3529](https://issues.jboss.org/browse/DBZ-3529) +* Missing schema function in DDL Parser [DBZ-3543](https://issues.jboss.org/browse/DBZ-3543) +* Retry logic for "No more data to read from socket" is too strict [DBZ-3472](https://issues.jboss.org/browse/DBZ-3472) + + +### Other changes since 1.6.0.Alpha1 + +* Document new source block and fix formatting issues [DBZ-1614](https://issues.jboss.org/browse/DBZ-1614) +* Re-connect after "too many connections" [DBZ-2300](https://issues.jboss.org/browse/DBZ-2300) +* Modularize doc for MongoDB component [DBZ-2334](https://issues.jboss.org/browse/DBZ-2334) +* Rebase Postgres snapshot modes on exported snapshots [DBZ-2337](https://issues.jboss.org/browse/DBZ-2337) +* Enable continuous JFR recording [DBZ-3082](https://issues.jboss.org/browse/DBZ-3082) +* Remove deprecated Oracle connector option "database.tablename.case.insensitive" [DBZ-3240](https://issues.jboss.org/browse/DBZ-3240) +* Improve Oracle redo logs query to avoid de-duplication step [DBZ-3256](https://issues.jboss.org/browse/DBZ-3256) +* Migrate Jenkins CI to OCP 4.0 in PSI cloud [DBZ-3396](https://issues.jboss.org/browse/DBZ-3396) +* Remove Antlr-based DML Parser [DBZ-3400](https://issues.jboss.org/browse/DBZ-3400) +* Update Oracle driver version [DBZ-3460](https://issues.jboss.org/browse/DBZ-3460) +* Incremental snapshot follow-up tasks [DBZ-3500](https://issues.jboss.org/browse/DBZ-3500) +* Unnecessary NPE due to autoboxing [DBZ-3519](https://issues.jboss.org/browse/DBZ-3519) +* Upgrade actions/cache to v2 version for formatting check [DBZ-3520](https://issues.jboss.org/browse/DBZ-3520) +* Improve documentation for Oracle supplemental logging requirements [DBZ-3521](https://issues.jboss.org/browse/DBZ-3521) +* SignalsIT leave table artifacts that cause other tests to fail [DBZ-3533](https://issues.jboss.org/browse/DBZ-3533) +* Mark xstream dependency as provided [DBZ-3539](https://issues.jboss.org/browse/DBZ-3539) +* Add test for Oracle table without PK [DBZ-832](https://issues.jboss.org/browse/DBZ-832) + + + +## 1.6.0.Alpha1 +May 6th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12353176) + +### New features since 1.5.0.Final + +* Sink adapter for Apache Kafka [DBZ-3382](https://issues.jboss.org/browse/DBZ-3382) +* Optimisation on MongoDB and MySQL connector for skipped.operations [DBZ-3403](https://issues.jboss.org/browse/DBZ-3403) +* Incremental snapshotting [DBZ-3473](https://issues.jboss.org/browse/DBZ-3473) + + +### Breaking changes since 1.5.0.Final + +* Build Debezium with Java 11 [DBZ-2870](https://issues.jboss.org/browse/DBZ-2870) + + +### Fixes since 1.5.0.Final + +* io.debezium.text.ParsingException: no viable alternative at input 'IDNUMBER(4)GENERATEDBY' [DBZ-1721](https://issues.jboss.org/browse/DBZ-1721) +* SKIPPED_OPERATIONS is added to CommonConnectorConfig.CONFIG_DEFINITION although it's not implemented in all connectors [DBZ-2699](https://issues.jboss.org/browse/DBZ-2699) +* Snapshot fails when reading TIME, DATE, DATETIME fields in mysql from ResultSet [DBZ-3238](https://issues.jboss.org/browse/DBZ-3238) +* Update to fabric8 kube client 5.x [DBZ-3349](https://issues.jboss.org/browse/DBZ-3349) +* An exception in resolveOracleDatabaseVersion if system language is not English [DBZ-3397](https://issues.jboss.org/browse/DBZ-3397) +* Change strimzi branch in jenkins openshift-test job to main [DBZ-3404](https://issues.jboss.org/browse/DBZ-3404) +* Broken link in downstream Monitoring chapter 7.3 [DBZ-3409](https://issues.jboss.org/browse/DBZ-3409) +* Broken link in content-based routing chapter to page for downloading the SMT scripting archive [DBZ-3411](https://issues.jboss.org/browse/DBZ-3411) +* LogMinerDmlParser mishandles double single quotes in WHERE clauses [DBZ-3413](https://issues.jboss.org/browse/DBZ-3413) +* Incorrectly formatted links in downstream automatic topic creation doc [DBZ-3414](https://issues.jboss.org/browse/DBZ-3414) +* SMT acronym incorrectly expanded in Debezium User Guide [DBZ-3415](https://issues.jboss.org/browse/DBZ-3415) +* MariaDB -- support privilege DDL in parser [DBZ-3422](https://issues.jboss.org/browse/DBZ-3422) +* Change oc apply in jenkins openshift-test job to oc create [DBZ-3423](https://issues.jboss.org/browse/DBZ-3423) +* SQL Server property (snapshot.select.statement.overrides) only matches 1st entry if comma-separated list also contains spaces [DBZ-3429](https://issues.jboss.org/browse/DBZ-3429) +* Permission issue when running docker-compose or docker build as user not having uid 1001 [DBZ-3453](https://issues.jboss.org/browse/DBZ-3453) +* no viable alternative at input 'DROP TABLE IF EXISTS group' (Galera and MariaDB) [DBZ-3467](https://issues.jboss.org/browse/DBZ-3467) +* Debezium MySQL connector does not process tables with partitions [DBZ-3468](https://issues.jboss.org/browse/DBZ-3468) +* The building tools' version in README doc is outdated [DBZ-3478](https://issues.jboss.org/browse/DBZ-3478) +* MySQL DATE default value parser rejects timestamp [DBZ-3497](https://issues.jboss.org/browse/DBZ-3497) +* MySQL8 GRANT statement not parsable [DBZ-3499](https://issues.jboss.org/browse/DBZ-3499) + + +### Other changes since 1.5.0.Final + +* Config validation for Db2 [DBZ-3118](https://issues.jboss.org/browse/DBZ-3118) +* Add smoke test for UI [DBZ-3133](https://issues.jboss.org/browse/DBZ-3133) +* Create new metric "CapturedTables" [DBZ-3161](https://issues.jboss.org/browse/DBZ-3161) +* Handle deadlock issue for MySql build stuck for 6h [DBZ-3233](https://issues.jboss.org/browse/DBZ-3233) +* Document using Connect REST API for log level changes [DBZ-3270](https://issues.jboss.org/browse/DBZ-3270) +* User Guide corrections for SQL Server connector [DBZ-3297](https://issues.jboss.org/browse/DBZ-3297) +* User Guide corrections for Db2 connector [DBZ-3298](https://issues.jboss.org/browse/DBZ-3298) +* User Guide corrections for MySQL connector [DBZ-3299](https://issues.jboss.org/browse/DBZ-3299) +* User Guide corrections for MongoDB connector [DBZ-3300](https://issues.jboss.org/browse/DBZ-3300) +* Allow building the Oracle connector on CI [DBZ-3365](https://issues.jboss.org/browse/DBZ-3365) +* Add tests for Protobuf Converter [DBZ-3369](https://issues.jboss.org/browse/DBZ-3369) +* Use current SQL Server container image for testing and examples [DBZ-3379](https://issues.jboss.org/browse/DBZ-3379) +* Reword prereq in downstream SQL Server connector doc [DBZ-3392](https://issues.jboss.org/browse/DBZ-3392) +* Duplicate entry in MySQL connector properties table for `mysql-property-skipped-operations` [DBZ-3402](https://issues.jboss.org/browse/DBZ-3402) +* Docs clarification around tombstone events [DBZ-3416](https://issues.jboss.org/browse/DBZ-3416) +* Validate logical server name contains only alpha-numerical characters [DBZ-3427](https://issues.jboss.org/browse/DBZ-3427) +* Provide a "quick" build profile [DBZ-3449](https://issues.jboss.org/browse/DBZ-3449) +* Avoid warning about superfluous exclusion during packaging [DBZ-3458](https://issues.jboss.org/browse/DBZ-3458) +* Upgrade binlog client [DBZ-3463](https://issues.jboss.org/browse/DBZ-3463) + + + +## 1.5.0.Final +April 7th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12354718) + +### New features since 1.5.0.CR1 + +* Add support for Redis Streams target in Debezium Server [DBZ-2879](https://issues.jboss.org/browse/DBZ-2879) +* Provide LSN coordinates as standardized sequence field [DBZ-2911](https://issues.jboss.org/browse/DBZ-2911) + + +### Breaking changes since 1.5.0.CR1 + +None + +### Fixes since 1.5.0.CR1 + +* Do not mine Data Guard archive log entries [DBZ-3341](https://issues.jboss.org/browse/DBZ-3341) +* Debezium stuck in an infinite loop on boot [DBZ-3343](https://issues.jboss.org/browse/DBZ-3343) +* Schema change SourceRecords have null partition [DBZ-3347](https://issues.jboss.org/browse/DBZ-3347) +* LogMiner can incorrectly resolve that SCN is available [DBZ-3348](https://issues.jboss.org/browse/DBZ-3348) +* The event.deserialization.failure.handling.mode is documented incorrectly [DBZ-3353](https://issues.jboss.org/browse/DBZ-3353) +* DB2 Function wrong [DBZ-3362](https://issues.jboss.org/browse/DBZ-3362) +* LogMiner parser incorrectly parses UNISTR function [DBZ-3367](https://issues.jboss.org/browse/DBZ-3367) +* Invalid Decimal schema: scale parameter not found [DBZ-3371](https://issues.jboss.org/browse/DBZ-3371) + + +### Other changes since 1.5.0.Beta2 + +* Allow Debezium Server to be used with Apicurio converters [DBZ-2388](https://issues.jboss.org/browse/DBZ-2388) +* Remove connector properties from descriptors on the /connector-types response [DBZ-3316](https://issues.jboss.org/browse/DBZ-3316) +* Literal attribute rendered in deployment instructions for the downstream PostgreSQL connector [DBZ-3338](https://issues.jboss.org/browse/DBZ-3338) +* Fix test failures due to existing database object artifacts [DBZ-3344](https://issues.jboss.org/browse/DBZ-3344) +* Use correct repository level PAT for building debezium website [DBZ-3345](https://issues.jboss.org/browse/DBZ-3345) +* Document configuration of max.request.size [DBZ-3355](https://issues.jboss.org/browse/DBZ-3355) +* Use Java 8 for Cassandra workflow [DBZ-3357](https://issues.jboss.org/browse/DBZ-3357) +* Trigger workflow on workflow definition update [DBZ-3358](https://issues.jboss.org/browse/DBZ-3358) +* Prefer DDL before logical schema in history recovery [DBZ-3361](https://issues.jboss.org/browse/DBZ-3361) +* Add missing space and omitted command to PostgreSQL connector doc [DBZ-3372](https://issues.jboss.org/browse/DBZ-3372) +* Wrong badge on Docker Hub [DBZ-3383](https://issues.jboss.org/browse/DBZ-3383) + + + +## 1.5.0.CR1 +March 24th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12354265) + +### New features since 1.5.0.Beta2 + +* Promote Oracle connector from "Incubating" to "Stable" [DBZ-3290](https://issues.jboss.org/browse/DBZ-3290) +* Handle large SCN values in Offsets and SourceInfo block [DBZ-2994](https://issues.jboss.org/browse/DBZ-2994) + + +### Breaking changes since 1.5.0.Beta2 + +* Upgrade to Apache Kafka 2.7.0 [DBZ-2872](https://issues.jboss.org/browse/DBZ-2872) +* Add more parameters to TLS support [DBZ-3262](https://issues.jboss.org/browse/DBZ-3262) + + +### Fixes since 1.5.0.Beta2 + +* Debezium logs "is not a valid Avro schema name" can be too verbose [DBZ-2511](https://issues.jboss.org/browse/DBZ-2511) +* message.key.columns Regex Validation Time Complexity [DBZ-2957](https://issues.jboss.org/browse/DBZ-2957) +* OID values don't fit to INT32 schema [DBZ-3033](https://issues.jboss.org/browse/DBZ-3033) +* Connector automatically restart on ORA-26653 [DBZ-3236](https://issues.jboss.org/browse/DBZ-3236) +* UI container has no assets (JS artifacts, fonts, etc) and randomly fails building [DBZ-3247](https://issues.jboss.org/browse/DBZ-3247) +* Revert Clob behavior for Oracle LogMiner to avoid null values [DBZ-3257](https://issues.jboss.org/browse/DBZ-3257) +* SQL Server misses description for decimal.handling.mode [DBZ-3267](https://issues.jboss.org/browse/DBZ-3267) +* Oracle connector ignores time.precision.mode and just uses adaptive mode [DBZ-3268](https://issues.jboss.org/browse/DBZ-3268) +* commons-logging JAR is missing from Debezium Server distro [DBZ-3277](https://issues.jboss.org/browse/DBZ-3277) +* MongoDB timeouts crash the whole connector [DBZ-3278](https://issues.jboss.org/browse/DBZ-3278) +* Prefer archive logs over redo logs of the same SCN range [DBZ-3292](https://issues.jboss.org/browse/DBZ-3292) +* LogMiner mining query may unintentionally skip records [DBZ-3295](https://issues.jboss.org/browse/DBZ-3295) +* IndexOutOfBoundsException when LogMiner DML update statement contains a function as last column's value [DBZ-3305](https://issues.jboss.org/browse/DBZ-3305) +* Out of memory with mysql snapshots (regression of DBZ-94) [DBZ-3309](https://issues.jboss.org/browse/DBZ-3309) +* Keyword ORDER is a valid identifier in MySQL grammar [DBZ-3310](https://issues.jboss.org/browse/DBZ-3310) +* DDL statement couldn't be parsed for ROW_FORMAT=TOKUDB_QUICKLZ [DBZ-3311](https://issues.jboss.org/browse/DBZ-3311) +* LogMiner can miss a log switch event if too many switches occur. [DBZ-3319](https://issues.jboss.org/browse/DBZ-3319) +* Function MOD is missing from MySQL grammar [DBZ-3333](https://issues.jboss.org/browse/DBZ-3333) +* Incorrect SR label names in OCP testusite [DBZ-3336](https://issues.jboss.org/browse/DBZ-3336) +* DB2 upstream tests are still using master as the default branch [DBZ-3337](https://issues.jboss.org/browse/DBZ-3337) + + +### Other changes since 1.5.0.Beta2 + +* Demo: Exploring non-key joins of Kafka Streams 2.4 [DBZ-2100](https://issues.jboss.org/browse/DBZ-2100) +* Publish Debezium BOM POM [DBZ-2145](https://issues.jboss.org/browse/DBZ-2145) +* Use BigInteger as SCN rather than BigDecimal [DBZ-2457](https://issues.jboss.org/browse/DBZ-2457) +* Document ChangeConsumer usage for Debezium Engine [DBZ-2520](https://issues.jboss.org/browse/DBZ-2520) +* Add check that target release is set [DBZ-2536](https://issues.jboss.org/browse/DBZ-2536) +* Consolidate multiple JMX beans during Oracle streaming with LogMiner [DBZ-2537](https://issues.jboss.org/browse/DBZ-2537) +* Create script for listing all contributors of a release [DBZ-2592](https://issues.jboss.org/browse/DBZ-2592) +* Explicitly mention Debezium Engine database history config for different connectors [DBZ-2665](https://issues.jboss.org/browse/DBZ-2665) +* Cleanup by restructuring Debezium UI REST API structure [DBZ-3031](https://issues.jboss.org/browse/DBZ-3031) +* Make Debezium main repo build checks artifacts for CI/CD checks in sibling repositories available on Maven Central [DBZ-3142](https://issues.jboss.org/browse/DBZ-3142) +* Handle duplicate warnings for deprecated options [DBZ-3218](https://issues.jboss.org/browse/DBZ-3218) +* Upgrade Jackson as per AK 2.7 [DBZ-3221](https://issues.jboss.org/browse/DBZ-3221) +* Document the need of qualified names in snapshot.include.collection.list [DBZ-3244](https://issues.jboss.org/browse/DBZ-3244) +* Add snapshot.select.statement.override options to Oracle documentation [DBZ-3250](https://issues.jboss.org/browse/DBZ-3250) +* Remove all possible backend calls from non-validation mode [DBZ-3255](https://issues.jboss.org/browse/DBZ-3255) +* Document delayed TX END markers [DBZ-3261](https://issues.jboss.org/browse/DBZ-3261) +* Extended scripting SMT docs with handling of non-data events [DBZ-3269](https://issues.jboss.org/browse/DBZ-3269) +* Unify column inclusion/exclusion handling [DBZ-3271](https://issues.jboss.org/browse/DBZ-3271) +* Downstream conditional spans topic boundary in db2 doc [DBZ-3272](https://issues.jboss.org/browse/DBZ-3272) +* Add info about languge dependencies into scripting SMTs [DBZ-3280](https://issues.jboss.org/browse/DBZ-3280) +* Copyright check script should take additional connector repos into consideration [DBZ-3281](https://issues.jboss.org/browse/DBZ-3281) +* Intermittent failure of MyMetricsIT.testStreamingOnlyMetrics [DBZ-3304](https://issues.jboss.org/browse/DBZ-3304) +* Remove references to supported configurations from Db2 connector documentation [DBZ-3308](https://issues.jboss.org/browse/DBZ-3308) +* Use separate API calls to get the connector info(name, id etc) and details(Properties) [DBZ-3314](https://issues.jboss.org/browse/DBZ-3314) +* Documentation updates should trigger a website build [DBZ-3320](https://issues.jboss.org/browse/DBZ-3320) +* Cassandra connector is not part of core CI build [DBZ-3335](https://issues.jboss.org/browse/DBZ-3335) + + + +## 1.5.0.Beta2 +March 12th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12354047) + +### New features since 1.5.0.Beta1 + +* Detect and skip non-parent index-organized tables [DBZ-3036](https://issues.jboss.org/browse/DBZ-3036) +* Capture additional JMX metrics for LogMiner [DBZ-3038](https://issues.jboss.org/browse/DBZ-3038) +* Incorrect information in Debezium connector for Postgres documentation [DBZ-3197](https://issues.jboss.org/browse/DBZ-3197) +* Add support for SET column type [DBZ-3199](https://issues.jboss.org/browse/DBZ-3199) +* Improve relocation logic for processed commitLog files [DBZ-3224](https://issues.jboss.org/browse/DBZ-3224) +* Disable log.mining.transaction.retention.hours logic by default [DBZ-3242](https://issues.jboss.org/browse/DBZ-3242) +* Provide a signalling table [DBZ-3141](https://issues.jboss.org/browse/DBZ-3141) +* Update sensitive env vars for connect-base image [DBZ-3223](https://issues.jboss.org/browse/DBZ-3223) +* Support specifying kinesis endpoint in debezium server [DBZ-3246](https://issues.jboss.org/browse/DBZ-3246) +* Add log4j.properties file [DBZ-3248](https://issues.jboss.org/browse/DBZ-3248) + + +### Breaking changes since 1.5.0.Beta1 + +* LogMiner does not process NUMBER(1) data [DBZ-3208](https://issues.jboss.org/browse/DBZ-3208) +* Use LogMiner adapter by default for Oracle connector [DBZ-3241](https://issues.jboss.org/browse/DBZ-3241) + + +### Fixes since 1.5.0.Beta1 + +* Error in LSN [DBZ-2417](https://issues.jboss.org/browse/DBZ-2417) +* Connector restarts with an SCN that was previously processed. [DBZ-2875](https://issues.jboss.org/browse/DBZ-2875) +* Misleading error message for filtered publication with misconfigured filters [DBZ-2885](https://issues.jboss.org/browse/DBZ-2885) +* There are still important problems with Oracle LogMiner [DBZ-2976](https://issues.jboss.org/browse/DBZ-2976) +* Don't execute initial statements upon connector validation [DBZ-3030](https://issues.jboss.org/browse/DBZ-3030) +* Forever stuck with new binlog parser (1.3 and later) when processing big JSON column data [DBZ-3106](https://issues.jboss.org/browse/DBZ-3106) +* Change Events are not captured after initial load [DBZ-3128](https://issues.jboss.org/browse/DBZ-3128) +* Repeating Unknown schema error even after recent schema_recovery [DBZ-3146](https://issues.jboss.org/browse/DBZ-3146) +* CloudEvent value id field is not unique [DBZ-3157](https://issues.jboss.org/browse/DBZ-3157) +* Oracle connector fails when using database.tablename.case.insensitive=true [DBZ-3190](https://issues.jboss.org/browse/DBZ-3190) +* DML parser IndexOutOfRangeException with where-clause using "IS NULL" [DBZ-3193](https://issues.jboss.org/browse/DBZ-3193) +* ORA-01284 file cannot be opened error when file locked by another process [DBZ-3194](https://issues.jboss.org/browse/DBZ-3194) +* CommitThroughput metrics can raise division by zero error [DBZ-3200](https://issues.jboss.org/browse/DBZ-3200) +* Update MongoDB driver version [DBZ-3212](https://issues.jboss.org/browse/DBZ-3212) +* Extra connectors are not buildable unless main Debezium is built locally [DBZ-3213](https://issues.jboss.org/browse/DBZ-3213) +* Docker image debezium/server:1.5 won't start [DBZ-3217](https://issues.jboss.org/browse/DBZ-3217) +* Debezium Oracle Connector not excluding table columns [DBZ-3219](https://issues.jboss.org/browse/DBZ-3219) +* LogMiner parse failure with Update DML with no where condition [DBZ-3235](https://issues.jboss.org/browse/DBZ-3235) +* Debezium 1.4.2.Final and onwards unable to parse sasl.jaas.config from env var [DBZ-3245](https://issues.jboss.org/browse/DBZ-3245) +* Debezium engine should call stop on task even when start fails [DBZ-3251](https://issues.jboss.org/browse/DBZ-3251) +* No meaningful message provided when oracle driver is missing [DBZ-3254](https://issues.jboss.org/browse/DBZ-3254) + + +### Other changes since 1.5.0.Beta1 + +* Discuss capture job configuration as a tuning option for SQL Server and Db2 [DBZ-2122](https://issues.jboss.org/browse/DBZ-2122) +* Prepare customizing auto-created topics doc for downstream [DBZ-2654](https://issues.jboss.org/browse/DBZ-2654) +* Wrong warning about deprecated options [DBZ-3084](https://issues.jboss.org/browse/DBZ-3084) +* Have non-validating mode in the UI [DBZ-3088](https://issues.jboss.org/browse/DBZ-3088) +* Move container image builds to GH Actions [DBZ-3131](https://issues.jboss.org/browse/DBZ-3131) +* Exclude CommonConnectorConfig.PROVIDE_TRANSACTION_METADATA from connectors not supporting it [DBZ-3132](https://issues.jboss.org/browse/DBZ-3132) +* Add example for Debezium UI to debezium-examples repo [DBZ-3134](https://issues.jboss.org/browse/DBZ-3134) +* Clarify required privileges for using pgoutput [DBZ-3138](https://issues.jboss.org/browse/DBZ-3138) +* Do not rely on Max SCN seed value w/LogMiner [DBZ-3145](https://issues.jboss.org/browse/DBZ-3145) +* Postgres documentation improvements [DBZ-3149](https://issues.jboss.org/browse/DBZ-3149) +* Support running Oracle test suite in non-CDB (no PDB name) mode [DBZ-3154](https://issues.jboss.org/browse/DBZ-3154) +* Update Oracle documentation [DBZ-3156](https://issues.jboss.org/browse/DBZ-3156) +* Move the Oracle connector to the main repostory [DBZ-3166](https://issues.jboss.org/browse/DBZ-3166) +* Minor editorial update to PostgreSQL connector documentation [DBZ-3192](https://issues.jboss.org/browse/DBZ-3192) +* Incorrect link/anchor pair for truncate.handling.mode property in PG properties documentation [DBZ-3195](https://issues.jboss.org/browse/DBZ-3195) +* Update oracle-vagrant-box [DBZ-3206](https://issues.jboss.org/browse/DBZ-3206) +* Update Oracle versions tested [DBZ-3215](https://issues.jboss.org/browse/DBZ-3215) +* Oracle test suite does not always clean-up tables after tests [DBZ-3237](https://issues.jboss.org/browse/DBZ-3237) +* Update Oracle tutorial example [DBZ-3239](https://issues.jboss.org/browse/DBZ-3239) +* Avoid reference to upstream Docker set-up [DBZ-3259](https://issues.jboss.org/browse/DBZ-3259) + + + +## 1.5.0.Beta1 +February 23rd 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12353830) + +### New features since 1.5.0.Alpha1 + +* Make field descriptions consistent for time values (milliseconds, ms, sec, seconds, etc) [DBZ-2858](https://issues.jboss.org/browse/DBZ-2858) +* DebeziumEngine RecordChangeEvents cannot be modified [DBZ-2897](https://issues.jboss.org/browse/DBZ-2897) +* Add license headers and related checkstyle checks for Debezium UI files [DBZ-2985](https://issues.jboss.org/browse/DBZ-2985) +* Display commit SHA of UI frontend/backend somewhere in the footer [DBZ-3052](https://issues.jboss.org/browse/DBZ-3052) +* Implement UX suggestions for display of connector type [DBZ-3054](https://issues.jboss.org/browse/DBZ-3054) +* SqlServerConnector does not implement validate [DBZ-3056](https://issues.jboss.org/browse/DBZ-3056) +* Database History Producer does not close with a timeout [DBZ-3075](https://issues.jboss.org/browse/DBZ-3075) +* Improve DML parser performance [DBZ-3078](https://issues.jboss.org/browse/DBZ-3078) +* Connector list table UI improvement desktop/mobile [DBZ-3079](https://issues.jboss.org/browse/DBZ-3079) +* Vitess Connector adds support for Vitess 9.0.0 GA [DBZ-3100](https://issues.jboss.org/browse/DBZ-3100) +* Improve layout for Column Truncate - Mask Component [DBZ-3101](https://issues.jboss.org/browse/DBZ-3101) +* Improve layout for Data options component and main wizard nav [DBZ-3105](https://issues.jboss.org/browse/DBZ-3105) +* Add ability to skip tests based on available database options [DBZ-3110](https://issues.jboss.org/browse/DBZ-3110) +* Support for Transaction Metadata in MySql connector [DBZ-3114](https://issues.jboss.org/browse/DBZ-3114) +* Add support for JSON column type [DBZ-3115](https://issues.jboss.org/browse/DBZ-3115) +* Add support for ENUM column type [DBZ-3124](https://issues.jboss.org/browse/DBZ-3124) +* Enable easy downloading of Camel Kafka Connectors [DBZ-3136](https://issues.jboss.org/browse/DBZ-3136) +* Capture LogMiner session parameters when session fails to start [DBZ-3153](https://issues.jboss.org/browse/DBZ-3153) +* Process special values in temporal datatypes [DBZ-2614](https://issues.jboss.org/browse/DBZ-2614) + + +### Breaking changes since 1.5.0.Alpha1 + +* Document JSON column parsing regression for MySQL connector [DBZ-3130](https://issues.jboss.org/browse/DBZ-3130) +* Replace MySQL connector option with SMT for mitigating wrong op flag [DBZ-2788](https://issues.jboss.org/browse/DBZ-2788) +* Avoid dependency to JAXB classes [DBZ-3165](https://issues.jboss.org/browse/DBZ-3165) +* Remove build deprecation warnings [DBZ-3034](https://issues.jboss.org/browse/DBZ-3034) + + +### Fixes since 1.5.0.Alpha1 + +* Negative timestamps are converted to positive during snapshot [DBZ-2616](https://issues.jboss.org/browse/DBZ-2616) +* Wrong reference to KafkaConnector in setting up Debezium [DBZ-2745](https://issues.jboss.org/browse/DBZ-2745) +* Oracle Connector(Using Logminer) with Oracle RDS (v12) does not capture changes [DBZ-2754](https://issues.jboss.org/browse/DBZ-2754) +* Oracle connector causes ORA-65090 when connecting to an Oracle instance running in non-CDB mode [DBZ-2795](https://issues.jboss.org/browse/DBZ-2795) +* Warnings and notifications from PostgreSQL are ignored by the connector until the connection is closed [DBZ-2865](https://issues.jboss.org/browse/DBZ-2865) +* Add support for MySQL to UI Backend [DBZ-2950](https://issues.jboss.org/browse/DBZ-2950) +* ExtractNewRecord SMT incorrectly extracts ts_ms from source info [DBZ-2984](https://issues.jboss.org/browse/DBZ-2984) +* Replication terminates with ORA-01291: missing log file [DBZ-3001](https://issues.jboss.org/browse/DBZ-3001) +* Kafka Docker image the HEAP_OPTS variable is not used [DBZ-3006](https://issues.jboss.org/browse/DBZ-3006) +* Support multiple schemas with Oracle LogMiner [DBZ-3009](https://issues.jboss.org/browse/DBZ-3009) +* Function calls does not allow parentheses for functions with non-mandatory parentheses [DBZ-3017](https://issues.jboss.org/browse/DBZ-3017) +* Complete support for properties that contain hyphens [DBZ-3019](https://issues.jboss.org/browse/DBZ-3019) +* UI issues with connectors table row expansion state [DBZ-3049](https://issues.jboss.org/browse/DBZ-3049) +* SQLException for Global temp tables from OracleDatabaseMetaData.getIndexInfo() makes Debezium snapshotting fail [DBZ-3057](https://issues.jboss.org/browse/DBZ-3057) +* Cassandra Connector doesn't support Cassandra version >=3.11.5 [DBZ-3060](https://issues.jboss.org/browse/DBZ-3060) +* Make Cassandra Connector work with CommitLogTransfer better [DBZ-3063](https://issues.jboss.org/browse/DBZ-3063) +* no viable alternative at input 'create or replace index' [DBZ-3067](https://issues.jboss.org/browse/DBZ-3067) +* Connect image propagates env vars starting with CONNECT prefix [DBZ-3070](https://issues.jboss.org/browse/DBZ-3070) +* PgOutputMessageDecoder doesn't order primary keys [DBZ-3074](https://issues.jboss.org/browse/DBZ-3074) +* Strange transaction metadata for Oracle logminer connector [DBZ-3090](https://issues.jboss.org/browse/DBZ-3090) +* Getting RejectedExecutionException when checking topic settings from KafkaDatabaseHistory.checkTopicSettings [DBZ-3096](https://issues.jboss.org/browse/DBZ-3096) +* Environment Variables with spaces are truncated when written to properties file [DBZ-3103](https://issues.jboss.org/browse/DBZ-3103) +* Error: Supplemental logging not configured for table. Use command: ALTER TABLE [DBZ-3109](https://issues.jboss.org/browse/DBZ-3109) +* Uncaught (in promise) TypeError: Cannot read property 'call' of undefined [DBZ-3125](https://issues.jboss.org/browse/DBZ-3125) +* Final stage of snapshot analyzes tables not present in table.include.list thus stumbles upon unsupported XMLTYPE table [DBZ-3151](https://issues.jboss.org/browse/DBZ-3151) +* Missing Prometheus port in kafka network policy [DBZ-3170](https://issues.jboss.org/browse/DBZ-3170) +* XStream does not process NUMER(1) data [DBZ-3172](https://issues.jboss.org/browse/DBZ-3172) + + +### Other changes since 1.5.0.Alpha1 + +* Setup CI job for DB2 [DBZ-2235](https://issues.jboss.org/browse/DBZ-2235) +* Integration with Service Registry promoted to GA [DBZ-2815](https://issues.jboss.org/browse/DBZ-2815) +* Remove DECIMAL string sanitisation once Vitess upstream bug is fixed [DBZ-2908](https://issues.jboss.org/browse/DBZ-2908) +* Review format and configuration options for Db2 for GA [DBZ-2977](https://issues.jboss.org/browse/DBZ-2977) +* Test with Postgres 13 [DBZ-3022](https://issues.jboss.org/browse/DBZ-3022) +* Prepare Debezium UI to participate in upstream releases [DBZ-3027](https://issues.jboss.org/browse/DBZ-3027) +* Upgrade testcontainers to 1.15.1 [DBZ-3066](https://issues.jboss.org/browse/DBZ-3066) +* Use new deployment endpoint for releases to Maven Central [DBZ-3069](https://issues.jboss.org/browse/DBZ-3069) +* Remove obsolete Awestruct container image [DBZ-3072](https://issues.jboss.org/browse/DBZ-3072) +* "JDBC driver" doesn't make sense for non-relational connectors [DBZ-3076](https://issues.jboss.org/browse/DBZ-3076) +* Replace RecordMakers with MySqlChangeRecordEmitter [DBZ-3077](https://issues.jboss.org/browse/DBZ-3077) +* Make CI builds resilient against disconnects on GH Actions infrastructure [DBZ-3083](https://issues.jboss.org/browse/DBZ-3083) +* Separate SourceInfo and MySQL offset context [DBZ-3086](https://issues.jboss.org/browse/DBZ-3086) +* Remove zero-width whitespace from option names [DBZ-3087](https://issues.jboss.org/browse/DBZ-3087) +* Adapt UI for MySQL connector type [DBZ-3091](https://issues.jboss.org/browse/DBZ-3091) +* Change MySQL database schema contract to support separate parsing and processing phase [DBZ-3093](https://issues.jboss.org/browse/DBZ-3093) +* MySQL build stuck for 6h [DBZ-3095](https://issues.jboss.org/browse/DBZ-3095) +* Rewrite legacy reader tests [DBZ-3099](https://issues.jboss.org/browse/DBZ-3099) +* Intermittent test failure in Postgres PostgresConnectorIT#customSnapshotterSkipsTablesOnRestart [DBZ-3107](https://issues.jboss.org/browse/DBZ-3107) +* Remove duplicate anchor links in Connector properties [DBZ-3111](https://issues.jboss.org/browse/DBZ-3111) +* Upgrade to Quarkus 1.12.0.Final [DBZ-3116](https://issues.jboss.org/browse/DBZ-3116) +* Config validation for Vitess [DBZ-3117](https://issues.jboss.org/browse/DBZ-3117) +* Config validation for Oracle [DBZ-3119](https://issues.jboss.org/browse/DBZ-3119) +* Avoid naming conflict between connection classes [DBZ-3147](https://issues.jboss.org/browse/DBZ-3147) +* Set up commit message check for Vitess [DBZ-3152](https://issues.jboss.org/browse/DBZ-3152) +* Put IIDR license requirement into NOTE box [DBZ-3163](https://issues.jboss.org/browse/DBZ-3163) +* Consistent logging of connection validation failure [DBZ-3164](https://issues.jboss.org/browse/DBZ-3164) +* Remove COLUMN_BLACK_LIST option in Oracle connector [DBZ-3167](https://issues.jboss.org/browse/DBZ-3167) + + + +## 1.5.0.Alpha1 +February 4th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12351487) + +### New features since 1.4.1.Final + +* Support emitting TRUNCATE events in PostgreSQL pgoutput plugin [DBZ-2382](https://issues.jboss.org/browse/DBZ-2382) +* Migrate DebeziumContainer enhancements for DBZ-2950 and DBZ-2952 into main repository [DBZ-3024](https://issues.jboss.org/browse/DBZ-3024) +* Implement meta tags [DBZ-2620](https://issues.jboss.org/browse/DBZ-2620) +* Improve performance for very large postgres schemas [DBZ-2575](https://issues.jboss.org/browse/DBZ-2575) + + +### Breaking changes since 1.4.1.Final + +* Move MySQL connector to base framework [DBZ-1865](https://issues.jboss.org/browse/DBZ-1865) + + +### Fixes since 1.4.1.Final + +* Extra connectors are not buildable unless main Debezium is built locally [DBZ-2901](https://issues.jboss.org/browse/DBZ-2901) +* java.sql.SQLException: ORA-01333: failed to establish Logminer Dictionary [DBZ-2939](https://issues.jboss.org/browse/DBZ-2939) +* Add support for connector/task lifecycle ops to UI backend [DBZ-2951](https://issues.jboss.org/browse/DBZ-2951) +* Cassandra CDC failed to deserialize list column correct [DBZ-2974](https://issues.jboss.org/browse/DBZ-2974) +* Debezium Oracle Connector will appear stuck on large SCN jumps [DBZ-2982](https://issues.jboss.org/browse/DBZ-2982) +* Invalid regex patterns should fail validation when validation database.include/exclude.list properties for MySQL connector [DBZ-3008](https://issues.jboss.org/browse/DBZ-3008) +* Fix repository config for Jenkis snapshot deployment [DBZ-3011](https://issues.jboss.org/browse/DBZ-3011) +* Unable to parse non-constant SIGNAL option value [DBZ-3018](https://issues.jboss.org/browse/DBZ-3018) +* Cannot parse expression in DEFAULT column definition [DBZ-3020](https://issues.jboss.org/browse/DBZ-3020) +* Key being used as value in pubsub batch handler [DBZ-3037](https://issues.jboss.org/browse/DBZ-3037) +* Table creation DDL with `CHARACTER SET = DEFAULT` causes MySQL connector failure [DBZ-3023](https://issues.jboss.org/browse/DBZ-3023) +* Missing some MariaDB existence predicates in ALTER TABLE [DBZ-3039](https://issues.jboss.org/browse/DBZ-3039) + + +### Other changes since 1.4.1.Final + +* Improved resiliency of release process against OSS failures [DBZ-2274](https://issues.jboss.org/browse/DBZ-2274) +* Pull up HOSTNAME, PORT, DATABASE_NAME, USER and PASSWORD to RelationalDatabaseConnectorConfig [DBZ-2420](https://issues.jboss.org/browse/DBZ-2420) +* Db2 Connector doesn't declare database related config options [DBZ-2424](https://issues.jboss.org/browse/DBZ-2424) +* Fix build status badge in README files [DBZ-2802](https://issues.jboss.org/browse/DBZ-2802) +* Merge and complete web components PR [DBZ-2804](https://issues.jboss.org/browse/DBZ-2804) +* IBM Db2 Connector promoted to GA [DBZ-2814](https://issues.jboss.org/browse/DBZ-2814) +* Document several Oracle frequently encountered problems [DBZ-2970](https://issues.jboss.org/browse/DBZ-2970) +* No syntax highlighting on website listings [DBZ-2978](https://issues.jboss.org/browse/DBZ-2978) +* Admonition icons missing [DBZ-2986](https://issues.jboss.org/browse/DBZ-2986) +* Improve logging for Logminer adapter [DBZ-2999](https://issues.jboss.org/browse/DBZ-2999) +* CI build not required for changes in README files [DBZ-3012](https://issues.jboss.org/browse/DBZ-3012) +* Execute ZZZGtidSetIT as the last test [DBZ-3047](https://issues.jboss.org/browse/DBZ-3047) +* Capture and report LogMiner state when mining session fails to start [DBZ-3055](https://issues.jboss.org/browse/DBZ-3055) + + + +## 1.4.1.Final +January 28th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12353181) + +### New features since 1.4.0.Final + +* Clarify information in Debezium connector for SQL Server doc [DBZ-2675](https://issues.jboss.org/browse/DBZ-2675) +* Add support for binary.handling.mode to the SQL Server connector [DBZ-2912](https://issues.jboss.org/browse/DBZ-2912) +* Use collation to get charset when charset is not set [DBZ-2922](https://issues.jboss.org/browse/DBZ-2922) +* Additional logging for number and type of sql operations [DBZ-2980](https://issues.jboss.org/browse/DBZ-2980) +* Retry on "The server failed to resume the transaction" [DBZ-2959](https://issues.jboss.org/browse/DBZ-2959) + + + + +### Breaking changes since 1.4.0.Final + +None + + +### Fixes since 1.4.0.Final + +* Debezium Connectors are failing while reading binlog: Unknown event type 100 [DBZ-2499](https://issues.jboss.org/browse/DBZ-2499) +* Some column default values are not extracted correctly while reading table structure [DBZ-2698](https://issues.jboss.org/browse/DBZ-2698) +* Supplemental logging is required for entire database rather than per monitored table [DBZ-2711](https://issues.jboss.org/browse/DBZ-2711) +* Missing log file error when current SCN differs from snapshotted in Oracle connector and Logminer [DBZ-2855](https://issues.jboss.org/browse/DBZ-2855) +* GitHub action for "Build Testing Workflow" is using old artifacts and not building missing dependencies [DBZ-2861](https://issues.jboss.org/browse/DBZ-2861) +* Deadlock in the XStream handler and offset commiter call concurrently [DBZ-2891](https://issues.jboss.org/browse/DBZ-2891) +* Sanitise DECIMAL string from VStream [DBZ-2906](https://issues.jboss.org/browse/DBZ-2906) +* Vitess Connector download link missing on website [DBZ-2907](https://issues.jboss.org/browse/DBZ-2907) +* DML statements longer than 4000 characters are incorrectly combined from V$LOGMNR_CONTENTS [DBZ-2920](https://issues.jboss.org/browse/DBZ-2920) +* Default database charset is not recorded [DBZ-2921](https://issues.jboss.org/browse/DBZ-2921) +* Instable test: PostgresConnectorIT#testCustomSnapshotterSnapshotCompleteLifecycleHook() [DBZ-2938](https://issues.jboss.org/browse/DBZ-2938) +* Snapshot causes ORA-08181 exception [DBZ-2949](https://issues.jboss.org/browse/DBZ-2949) +* Postgres connector config validation fails because current connector is occupying replication slot [DBZ-2952](https://issues.jboss.org/browse/DBZ-2952) +* Labeled create procedure's body is not parsed [DBZ-2972](https://issues.jboss.org/browse/DBZ-2972) +* Debezium swallows DML exception in certain cases [DBZ-2981](https://issues.jboss.org/browse/DBZ-2981) + + +### Other changes since 1.4.0.Final + +* Migrate website build to Hugo [DBZ-575](https://issues.jboss.org/browse/DBZ-575) +* Test binary/varbinary datatypes [DBZ-2174](https://issues.jboss.org/browse/DBZ-2174) +* Implement Scn as a domain type [DBZ-2518](https://issues.jboss.org/browse/DBZ-2518) +* Fix docs for message.key.columns and skipped.operations [DBZ-2572](https://issues.jboss.org/browse/DBZ-2572) +* Upgrade to Apache Kafka Connect 2.6.1 [DBZ-2630](https://issues.jboss.org/browse/DBZ-2630) +* Centralize postgres image name for test container tests [DBZ-2764](https://issues.jboss.org/browse/DBZ-2764) +* Add missing connector options for Postgres connector [DBZ-2807](https://issues.jboss.org/browse/DBZ-2807) +* Importing TestDatabase as QuarkusTestResource for IT tests [DBZ-2868](https://issues.jboss.org/browse/DBZ-2868) +* Set up Pulsar via Testcontainers in PulsarIT [DBZ-2915](https://issues.jboss.org/browse/DBZ-2915) +* Remove blacklist and whitelist from anchor link text in documentation [DBZ-2918](https://issues.jboss.org/browse/DBZ-2918) +* Instable test: PostgresShutdownIT#shouldStopOnPostgresFastShutdown() [DBZ-2923](https://issues.jboss.org/browse/DBZ-2923) +* Rename whitelist/blacklist configs in examples to include/exclude [DBZ-2925](https://issues.jboss.org/browse/DBZ-2925) +* Misspelling in readme for db2 connector [DBZ-2940](https://issues.jboss.org/browse/DBZ-2940) +* Fetch correct Apicurio version for ApicurioRegistryTest [DBZ-2945](https://issues.jboss.org/browse/DBZ-2945) +* Incorrect link IDs in SQL Server connector snapshot metrics table [DBZ-2958](https://issues.jboss.org/browse/DBZ-2958) + + + +## 1.4.0.Final +January 7th 2021 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12352766) + +### New features since 1.4.0.CR1 + +* Improve error reporting from DDL parser [DBZ-2366](https://issues.jboss.org/browse/DBZ-2366) +* Support TNS Names and full RAC connection strings [DBZ-2859](https://issues.jboss.org/browse/DBZ-2859) +* Add more comprehensible logs to FIELD event [DBZ-2873](https://issues.jboss.org/browse/DBZ-2873) + + +### Breaking changes since 1.4.0.CR1 + +None + + +### Fixes since 1.4.0.CR1 + +* AWS RDS has different role names which make connector validation fail [DBZ-2800](https://issues.jboss.org/browse/DBZ-2800) +* Archive Log mining does not work with Logminer [DBZ-2825](https://issues.jboss.org/browse/DBZ-2825) +* MySQL parser error for comments starting with tab [DBZ-2840](https://issues.jboss.org/browse/DBZ-2840) +* Connector fails when using '$' sign in column name. [DBZ-2849](https://issues.jboss.org/browse/DBZ-2849) +* Connection adapter not passed to Surefire tests [DBZ-2856](https://issues.jboss.org/browse/DBZ-2856) +* Unsupported MariaDB syntax for generated columns [DBZ-2882](https://issues.jboss.org/browse/DBZ-2882) +* SLF4J API should not be included in Oracle distirbution [DBZ-2890](https://issues.jboss.org/browse/DBZ-2890) +* Vitess distro contains unaligned deps [DBZ-2892](https://issues.jboss.org/browse/DBZ-2892) +* Changing base packages does not always trigger full builds [DBZ-2896](https://issues.jboss.org/browse/DBZ-2896) +* LogMiner causes DataException when DATE field is specified as NOT NULL [DBZ-2784](https://issues.jboss.org/browse/DBZ-2784) + + +### Other changes since 1.4.0.CR1 + +* Remove LegacyDdlParser and related code [DBZ-2167](https://issues.jboss.org/browse/DBZ-2167) +* Add MongoDB connector interface [DBZ-2808](https://issues.jboss.org/browse/DBZ-2808) +* `sanitize.field.names` support for Vitess Connector [DBZ-2851](https://issues.jboss.org/browse/DBZ-2851) +* Explicitly declare to Quarkus that ORM XML mapping is required for the outbox extension [DBZ-2860](https://issues.jboss.org/browse/DBZ-2860) +* Upgrade MySQL JDBC driver to 8.0.21 [DBZ-2887](https://issues.jboss.org/browse/DBZ-2887) +* Upgrade Guava library to 30.0 [DBZ-2888](https://issues.jboss.org/browse/DBZ-2888) +* Avoid exception when payload id field not present [DBZ-2889](https://issues.jboss.org/browse/DBZ-2889) + + + +## 1.4.0.CR1 +December 16th 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12352696) + +### New features since 1.4.0.Beta1 + +* Documentation of the Logminer implementation needs improvement [DBZ-2799](https://issues.jboss.org/browse/DBZ-2799) +* Update Vitess Connector documentation [DBZ-2854](https://issues.jboss.org/browse/DBZ-2854) +* Add Cassandra to tutorial Compose set-up [DBZ-1463](https://issues.jboss.org/browse/DBZ-1463) +* Add support for Vitess gRPC static authentication [DBZ-2852](https://issues.jboss.org/browse/DBZ-2852) + + +### Breaking changes since 1.4.0.Beta1 + +None + + +### Fixes since 1.4.0.Beta1 + +* Document "database.oracle.version" option [DBZ-2603](https://issues.jboss.org/browse/DBZ-2603) +* Remove link in MySQL docs section that points to the same section [DBZ-2710](https://issues.jboss.org/browse/DBZ-2710) +* Oracle schema history events fail on partitioned table [DBZ-2841](https://issues.jboss.org/browse/DBZ-2841) +* outbox extension emits UPDATE events when delete is disabled [DBZ-2847](https://issues.jboss.org/browse/DBZ-2847) + + +### Other changes since 1.4.0.Beta1 + +* Move Cassandra connector to separate repository [DBZ-2636](https://issues.jboss.org/browse/DBZ-2636) +* Invalid column name should fail connector with meaningful message [DBZ-2836](https://issues.jboss.org/browse/DBZ-2836) +* Fix typos in downstream ModuleID declarations in monitoring.adoc [DBZ-2838](https://issues.jboss.org/browse/DBZ-2838) +* Duplicate anchor ID in partials/ref-connector-monitoring-snapshot-metrics.adoc [DBZ-2839](https://issues.jboss.org/browse/DBZ-2839) +* Fix additional typo in ModuleID declaration in monitoring.adoc [DBZ-2843](https://issues.jboss.org/browse/DBZ-2843) +* Edit modularization annotations in logging.adoc [DBZ-2846](https://issues.jboss.org/browse/DBZ-2846) +* Update Groovy version to 3.0.7 [DBZ-2850](https://issues.jboss.org/browse/DBZ-2850) + + + +## 1.4.0.Beta1 +December 9th 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12352306) + +### New features since 1.4.0.Alpha2 + +* Add support for distributed tracing [DBZ-559](https://issues.jboss.org/browse/DBZ-559) +* Outbox Quarkus extension: Support OpenTracing [DBZ-1818](https://issues.jboss.org/browse/DBZ-1818) +* Upgrade MongoDB driver to 4.x to run in native mode in GraalVM (for Quarkus extension) [DBZ-2138](https://issues.jboss.org/browse/DBZ-2138) +* Allow snapshot records be generated either as create or read for MySQL connector [DBZ-2775](https://issues.jboss.org/browse/DBZ-2775) +* Support in Db2 connector for lowercase table and schema names [DBZ-2796](https://issues.jboss.org/browse/DBZ-2796) +* option to kill process when engine run crashes [DBZ-2785](https://issues.jboss.org/browse/DBZ-2785) +* Add support for using Vitess primary key as Kafka message key [DBZ-2578](https://issues.jboss.org/browse/DBZ-2578) +* Add support for Nullable columns [DBZ-2579](https://issues.jboss.org/browse/DBZ-2579) +* Tablespace name LOGMINER_TBS should not be hardcoded in the Java code [DBZ-2797](https://issues.jboss.org/browse/DBZ-2797) + + +### Breaking changes since 1.4.0.Alpha2 + +None + + +### Fixes since 1.4.0.Alpha2 + +* DDL parser: Allow stored procedure variables in LIMIT clause [DBZ-2692](https://issues.jboss.org/browse/DBZ-2692) +* Wrong mysql command in openshift dpeloyment docs [DBZ-2746](https://issues.jboss.org/browse/DBZ-2746) +* long running transaction will be abandoned and ignored [DBZ-2759](https://issues.jboss.org/browse/DBZ-2759) +* MS SQL Decimal with default value not matching the scale of the column definition cause exception [DBZ-2767](https://issues.jboss.org/browse/DBZ-2767) +* Cassandra Connector doesn't shut down completely [DBZ-2768](https://issues.jboss.org/browse/DBZ-2768) +* MySQL Parser fails for BINARY collation shortcut [DBZ-2771](https://issues.jboss.org/browse/DBZ-2771) +* PostgresConnectorIT.shouldResumeStreamingFromSlotPositionForCustomSnapshot is failing for wal2json on CI [DBZ-2772](https://issues.jboss.org/browse/DBZ-2772) +* Connector configuration property "database.out.server.name" is not relevant for Logminer implementation but cannot be omitted [DBZ-2801](https://issues.jboss.org/browse/DBZ-2801) +* CHARACTER VARYING mysql identifier for varchar is not supported in debezium [DBZ-2821](https://issues.jboss.org/browse/DBZ-2821) +* try-with-resources should not be used when OkHttp Response object is returned [DBZ-2827](https://issues.jboss.org/browse/DBZ-2827) +* EmbeddedEngine does not shutdown when commitOffsets is interrupted [DBZ-2830](https://issues.jboss.org/browse/DBZ-2830) +* Rename user command parsing fails [DBZ-2743](https://issues.jboss.org/browse/DBZ-2743) + + +### Other changes since 1.4.0.Alpha2 + +* Fix splitter annotations that control how content is modularized downstream [DBZ-2824](https://issues.jboss.org/browse/DBZ-2824) +* VerifyRecord#isValid() compares JSON schema twice instead of Avro [DBZ-735](https://issues.jboss.org/browse/DBZ-735) +* Don't rely on deprecated JSON serialization functionality of MongoDB driver [DBZ-1322](https://issues.jboss.org/browse/DBZ-1322) +* Move website build to GitHub Actions [DBZ-1984](https://issues.jboss.org/browse/DBZ-1984) +* Move Db2 connector to separate repository [DBZ-2001](https://issues.jboss.org/browse/DBZ-2001) +* Modularize doc for SQL Server component [DBZ-2335](https://issues.jboss.org/browse/DBZ-2335) +* Upgrade apicurio to 1.3.2.Final [DBZ-2561](https://issues.jboss.org/browse/DBZ-2561) +* Remove obsolete logging files from /partials directory [DBZ-2740](https://issues.jboss.org/browse/DBZ-2740) +* Remove obsolete monitoring files from /partials directory [DBZ-2741](https://issues.jboss.org/browse/DBZ-2741) +* Increase Oracle CI frequency [DBZ-2744](https://issues.jboss.org/browse/DBZ-2744) +* Make Debezium example work with Podman instead of Docker [DBZ-2753](https://issues.jboss.org/browse/DBZ-2753) +* Disable log mining history by default [DBZ-2763](https://issues.jboss.org/browse/DBZ-2763) +* Upgrade -setup-java action to the latest 1.4.3 [DBZ-2770](https://issues.jboss.org/browse/DBZ-2770) +* Trigger non-core connector tests when core or DDL parser module are changed [DBZ-2773](https://issues.jboss.org/browse/DBZ-2773) +* Add support for unsigned integer types [DBZ-2776](https://issues.jboss.org/browse/DBZ-2776) +* Update JDK action workflow matrix with JDK 16.0.0-ea.24 [DBZ-2777](https://issues.jboss.org/browse/DBZ-2777) +* Auto resolve latest JDK EA release number [DBZ-2781](https://issues.jboss.org/browse/DBZ-2781) +* Update content in modularized SQL Server connector doc [DBZ-2782](https://issues.jboss.org/browse/DBZ-2782) + + + +## 1.4.0.Alpha2 +November 16th 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12351542) + +### New features since 1.4.0.Alpha1 + +* Move testcontainers changes on DebeziumContainer from UI PoC backend to Debezium main repo [DBZ-2602](https://issues.jboss.org/browse/DBZ-2602) +* Add ability to map new name for the fields and headers [DBZ-2606](https://issues.jboss.org/browse/DBZ-2606) +* Add close call to the Snapshotter interface [DBZ-2608](https://issues.jboss.org/browse/DBZ-2608) +* Overriding Character Set Mapping [DBZ-2673](https://issues.jboss.org/browse/DBZ-2673) +* Support PostgreSQL connector retry when database is restarted [DBZ-2685](https://issues.jboss.org/browse/DBZ-2685) +* Cassandra connector documentation typos [DBZ-2701](https://issues.jboss.org/browse/DBZ-2701) +* Fix typo in converters doc [DBZ-2717](https://issues.jboss.org/browse/DBZ-2717) +* Add tests for DBZ-2617: PG connector does not enter FAILED state on failing heartbeats [DBZ-2724](https://issues.jboss.org/browse/DBZ-2724) +* DBZ-2662 Control ChangeEventQueue by the size in bytes [DBZ-2662](https://issues.jboss.org/browse/DBZ-2662) + + +### Breaking changes since 1.4.0.Alpha1 + +None + + +### Fixes since 1.4.0.Alpha1 + +* Oracle throw "no snapshot found based on specified time" when running flashback query [DBZ-1446](https://issues.jboss.org/browse/DBZ-1446) +* Exception when PK definition precedes column definition [DBZ-2580](https://issues.jboss.org/browse/DBZ-2580) +* Patroni can't stop PostgreSQL when Debezium is streaming [DBZ-2617](https://issues.jboss.org/browse/DBZ-2617) +* ChangeRecord informations don't connect with the TableSchema [DBZ-2679](https://issues.jboss.org/browse/DBZ-2679) +* MySQL connector fails on a zero date [DBZ-2682](https://issues.jboss.org/browse/DBZ-2682) +* Oracle LogMiner doesn't support partition tables [DBZ-2683](https://issues.jboss.org/browse/DBZ-2683) +* DB2 doesn't start reliably in OCP [DBZ-2693](https://issues.jboss.org/browse/DBZ-2693) +* Dropped columns cause NPE in SqlServerConnector [DBZ-2716](https://issues.jboss.org/browse/DBZ-2716) +* Timestamp default value in 'yyyy-mm-dd' format fails MySQL connector [DBZ-2726](https://issues.jboss.org/browse/DBZ-2726) +* Connection timeout on write should retry [DBZ-2727](https://issues.jboss.org/browse/DBZ-2727) +* No viable alternative at input error on "min" column [DBZ-2738](https://issues.jboss.org/browse/DBZ-2738) +* SQLServer CI error in SqlServerConnectorIT.whenCaptureInstanceExcludesColumnsAndColumnsRenamedExpectNoErrors:1473 [DBZ-2747](https://issues.jboss.org/browse/DBZ-2747) +* debezium-connector-db2: DB2 SQL Error: SQLCODE=-206 on DB2 for z/OS [DBZ-2755](https://issues.jboss.org/browse/DBZ-2755) +* no viable alternative at input 'alter table `order` drop CONSTRAINT' [DBZ-2760](https://issues.jboss.org/browse/DBZ-2760) +* Tests are failing on macos [DBZ-2762](https://issues.jboss.org/browse/DBZ-2762) + + +### Other changes since 1.4.0.Alpha1 + +* Move CI to Github Actions for all repositories [DBZ-1720](https://issues.jboss.org/browse/DBZ-1720) +* Privileges missing from setup in documentation - Oracle LogMiner connector [DBZ-2628](https://issues.jboss.org/browse/DBZ-2628) +* Add validation that replication slot doesn't exist [DBZ-2637](https://issues.jboss.org/browse/DBZ-2637) +* Update OpenJDK Quality Outreach jobs [DBZ-2638](https://issues.jboss.org/browse/DBZ-2638) +* Re-unify monitoring content in the operations/monitoring.adoc file [DBZ-2659](https://issues.jboss.org/browse/DBZ-2659) +* Pull oracle specific changes for reading table column metadata into debezium-core [DBZ-2690](https://issues.jboss.org/browse/DBZ-2690) +* Intermittent test failure on CI - PostgresConnectorIT#shouldRegularlyFlushLsnWithTxMonitoring [DBZ-2704](https://issues.jboss.org/browse/DBZ-2704) +* Topic routing doc formatting fix [DBZ-2708](https://issues.jboss.org/browse/DBZ-2708) +* Re-unify logging content in the operations/logging.adoc file [DBZ-2721](https://issues.jboss.org/browse/DBZ-2721) +* Incorporate Oracle LogMiner implementation updates [DBZ-2729](https://issues.jboss.org/browse/DBZ-2729) +* Upgrade Vitess docker image to Vitess 8.0.0 [DBZ-2749](https://issues.jboss.org/browse/DBZ-2749) +* Intermittent SQL Server test failure on CI - SqlServerConnectorIT [DBZ-2625](https://issues.jboss.org/browse/DBZ-2625) +* Change initial.sync.max.threads to snapshot.max.threads [DBZ-2742](https://issues.jboss.org/browse/DBZ-2742) + + + +## 1.4.0.Alpha1 +October 22nd, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12350728) + +### New features since 1.3.0.Final + +* Allow to specify subset of captured tables to be snapshotted [DBZ-2456](https://issues.jboss.org/browse/DBZ-2456) +* Implement snapshot select override behavior for MongoDB [DBZ-2496](https://issues.jboss.org/browse/DBZ-2496) +* Asciidoc block titles are rendered the same as regular text [DBZ-2631](https://issues.jboss.org/browse/DBZ-2631) +* Allow closing of hung JDBC connection [DBZ-2632](https://issues.jboss.org/browse/DBZ-2632) +* Hide stacktrace when default value for SQL Server cannot be parsed [DBZ-2642](https://issues.jboss.org/browse/DBZ-2642) +* Implement a CDC connector for Vitess [DBZ-2463](https://issues.jboss.org/browse/DBZ-2463) +* SqlServer - Skip processing of LSNs not associated with change table entries. [DBZ-2582](https://issues.jboss.org/browse/DBZ-2582) + + +### Breaking changes since 1.3.0.Final + +None + + +### Fixes since 1.3.0.Final + +* Cant override environment variables [DBZ-2559](https://issues.jboss.org/browse/DBZ-2559) +* Inconsistencies in PostgreSQL Connector Docs [DBZ-2584](https://issues.jboss.org/browse/DBZ-2584) +* ConcurrentModificationException during exporting data for a mongodb collection in a sharded cluster [DBZ-2597](https://issues.jboss.org/browse/DBZ-2597) +* Mysql connector didn't pass the default db charset to the column definition [DBZ-2604](https://issues.jboss.org/browse/DBZ-2604) +* [Doc] "registry.redhat.io/amq7/amq-streams-kafka-25: unknown: Not Found" error occurs [DBZ-2609](https://issues.jboss.org/browse/DBZ-2609) +* [Doc] "Error: no context directory and no Containerfile specified" error occurs [DBZ-2610](https://issues.jboss.org/browse/DBZ-2610) +* SqlExceptions using dbz with Oracle on RDS online logs and logminer [DBZ-2624](https://issues.jboss.org/browse/DBZ-2624) +* Mining session stopped - task killed/SQL operation cancelled - Oracle LogMiner [DBZ-2629](https://issues.jboss.org/browse/DBZ-2629) +* Unparseable DDL: Using 'trigger' as table alias in view creation [DBZ-2639](https://issues.jboss.org/browse/DBZ-2639) +* Antlr DDL parser fails to interpret BLOB([size]) [DBZ-2641](https://issues.jboss.org/browse/DBZ-2641) +* MySQL Connector keeps stale offset metadata after snapshot.new.tables is changed [DBZ-2643](https://issues.jboss.org/browse/DBZ-2643) +* WAL logs are not flushed in Postgres Connector [DBZ-2653](https://issues.jboss.org/browse/DBZ-2653) +* Debezium server Event Hubs plugin support in v1.3 [DBZ-2660](https://issues.jboss.org/browse/DBZ-2660) +* Cassandra Connector doesn't use log4j for logging correctly [DBZ-2661](https://issues.jboss.org/browse/DBZ-2661) +* Should Allow NonAsciiCharacter in SQL [DBZ-2670](https://issues.jboss.org/browse/DBZ-2670) +* MariaDB nextval function is not supported in grammar [DBZ-2671](https://issues.jboss.org/browse/DBZ-2671) +* Sanitize field name do not santize sub struct field [DBZ-2680](https://issues.jboss.org/browse/DBZ-2680) +* Debezium fails if a non-existing view with the same name as existing table is dropped [DBZ-2688](https://issues.jboss.org/browse/DBZ-2688) + + +### Other changes since 1.3.0.Final + +* Merge MySQL doc source files into one again [DBZ-2127](https://issues.jboss.org/browse/DBZ-2127) +* Metrics links duplicate anchor IDs [DBZ-2497](https://issues.jboss.org/browse/DBZ-2497) +* Slim down Vitess container image [DBZ-2551](https://issues.jboss.org/browse/DBZ-2551) +* Modify release peipeline to support per-connector repos e.g. Vitess [DBZ-2611](https://issues.jboss.org/browse/DBZ-2611) +* Add Vitess connector to Kafka Connect container image [DBZ-2618](https://issues.jboss.org/browse/DBZ-2618) +* User Guide Documentation corrections for PostgreSQL [DBZ-2621](https://issues.jboss.org/browse/DBZ-2621) +* Checkstyle should be built as a part of GH check formatting action [DBZ-2623](https://issues.jboss.org/browse/DBZ-2623) +* Upgrade MySQL JDBC driver to version 8.0.19 [DBZ-2626](https://issues.jboss.org/browse/DBZ-2626) +* Add support for multiple shard GTIDs in VGTID [DBZ-2635](https://issues.jboss.org/browse/DBZ-2635) +* Add documentation for Vitess connector [DBZ-2645](https://issues.jboss.org/browse/DBZ-2645) +* Restrict matrix job configurations to run only on Slaves [DBZ-2648](https://issues.jboss.org/browse/DBZ-2648) +* Upgrade JUnit to 4.13.1 [DBZ-2658](https://issues.jboss.org/browse/DBZ-2658) +* Avoid parsing generated files in Checkstyle [DBZ-2669](https://issues.jboss.org/browse/DBZ-2669) +* Update debezium/awestruct image to use Antora 2.3.4 [DBZ-2674](https://issues.jboss.org/browse/DBZ-2674) +* Fix doc typos and minor format glitches for downstream rendering [DBZ-2681](https://issues.jboss.org/browse/DBZ-2681) +* Intermittent test failure on CI - RecordsStreamProducerIT#shouldReceiveHeartbeatAlsoWhenChangingNonWhitelistedTable() [DBZ-2344](https://issues.jboss.org/browse/DBZ-2344) + + + +## 1.3.0.Final +October 1st, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12350725) + +### New features since 1.3.0.CR1 + +* Allow configurable CONNECT_LOG4J_LOGGERS in connect images [DBZ-2541](https://issues.jboss.org/browse/DBZ-2541) +* MySQL connector - ignore statement-based logs [DBZ-2583](https://issues.jboss.org/browse/DBZ-2583) +* Add a configuration which sanitizes values in mongodb [DBZ-2585](https://issues.jboss.org/browse/DBZ-2585) + + +### Breaking changes since 1.3.0.CR1 + +None + + +### Fixes since 1.3.0.CR1 + +* Sqlserver connector block cdc cleanup job [DBZ-1285](https://issues.jboss.org/browse/DBZ-1285) +* Upgrade Guava library due to GuavaCompatibility errors [DBZ-2008](https://issues.jboss.org/browse/DBZ-2008) +* mongodb-connector NPE in process of MongoDataConverter [DBZ-2316](https://issues.jboss.org/browse/DBZ-2316) +* Error with UUID-typed collection column [DBZ-2512](https://issues.jboss.org/browse/DBZ-2512) +* event.processing.failure.handling.mode doesn't skip unparseable data events [DBZ-2563](https://issues.jboss.org/browse/DBZ-2563) +* decoderbufs Segmentation fault on timestamp with infinity [DBZ-2565](https://issues.jboss.org/browse/DBZ-2565) +* MongoDB ExtractNewDocumentState can not extract array of array [DBZ-2569](https://issues.jboss.org/browse/DBZ-2569) +* New MySQL 8 ALTER USER password options not supported [DBZ-2576](https://issues.jboss.org/browse/DBZ-2576) +* MariaDB ANTLR parser issue for grant syntax [DBZ-2586](https://issues.jboss.org/browse/DBZ-2586) +* Debezium Db2 connector fails with tables using BOOLEAN type [DBZ-2587](https://issues.jboss.org/browse/DBZ-2587) +* db2 connector doesn't allow to reprocess messages [DBZ-2591](https://issues.jboss.org/browse/DBZ-2591) +* Missing links in filter and content-based SMT doc [DBZ-2593](https://issues.jboss.org/browse/DBZ-2593) +* Format error in doc for topic routing and event flattening SMTs [DBZ-2596](https://issues.jboss.org/browse/DBZ-2596) +* Debezium refers to database instead of schema in Postgres config [DBZ-2605](https://issues.jboss.org/browse/DBZ-2605) +* NullPointerException thrown when calling getAllTableIds [DBZ-2607](https://issues.jboss.org/browse/DBZ-2607) + + +### Other changes since 1.3.0.CR1 + +* Coordinate docs work for downstream 1.2 release [DBZ-2272](https://issues.jboss.org/browse/DBZ-2272) +* Gracefully handle server-side filtered columns [DBZ-2495](https://issues.jboss.org/browse/DBZ-2495) +* Schema change events fail to be dispatched due to inconsistent case [DBZ-2555](https://issues.jboss.org/browse/DBZ-2555) +* Use dedicated functional interface for struct generators [DBZ-2588](https://issues.jboss.org/browse/DBZ-2588) +* Remove obsolete note from docs [DBZ-2590](https://issues.jboss.org/browse/DBZ-2590) +* Intermittent test failure on CI - ReplicationConnectionIT#shouldResumeFromLastReceivedLSN [DBZ-2435](https://issues.jboss.org/browse/DBZ-2435) +* Intermittent test failure on CI - PostgresConnectorIT#shouldExecuteOnConnectStatements [DBZ-2468](https://issues.jboss.org/browse/DBZ-2468) +* Intermittent test failure on CI - AbstractSqlServerDatatypesTest#stringTypes() [DBZ-2474](https://issues.jboss.org/browse/DBZ-2474) +* Intermittent test failure on CI - PostgresConnectorIT#customSnapshotterSkipsTablesOnRestart() [DBZ-2544](https://issues.jboss.org/browse/DBZ-2544) +* Intermittent test failure on CI - SQLServerConnectorIT#verifyOffsets [DBZ-2599](https://issues.jboss.org/browse/DBZ-2599) + + + +## 1.3.0.CR1 +September 24th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12350459) + +### New features since 1.3.0.Beta2 + +* Describe configurations options for auto-created change data topics [DBZ-78](https://issues.jboss.org/browse/DBZ-78) + + +### Breaking changes since 1.3.0.Beta2 + +* Extract scripting SMTs into a separate module with separate installation package [DBZ-2549](https://issues.jboss.org/browse/DBZ-2549) + + +### Fixes since 1.3.0.Beta2 + +* Outbox | Heartbeat not working when using ByteBufferConverter [DBZ-2396](https://issues.jboss.org/browse/DBZ-2396) +* Catch up streaming before snapshot may duplicate messages upon resuming streaming [DBZ-2550](https://issues.jboss.org/browse/DBZ-2550) +* Fix Quarkus datasource configuration for Quarkus 1.9 [DBZ-2558](https://issues.jboss.org/browse/DBZ-2558) + + +### Other changes since 1.3.0.Beta2 + +* Show custom images instead of S2I in docs [DBZ-2236](https://issues.jboss.org/browse/DBZ-2236) +* Add Db2 tests to OpenShift test-suite and CI [DBZ-2383](https://issues.jboss.org/browse/DBZ-2383) +* Implement connection retry support for Oracle [DBZ-2531](https://issues.jboss.org/browse/DBZ-2531) +* Format updates in doc for topic routing and event flattening SMTs [DBZ-2554](https://issues.jboss.org/browse/DBZ-2554) +* Coordinate docs work for downstream 1.3 release [DBZ-2557](https://issues.jboss.org/browse/DBZ-2557) +* Extend connect image build script with ability to add extra libraries [DBZ-2560](https://issues.jboss.org/browse/DBZ-2560) +* Invalid use of AppProtocol instead of protocol field in OpenShiftUtils service creation method [DBZ-2562](https://issues.jboss.org/browse/DBZ-2562) +* Doc format updates for better downstream rendering [DBZ-2564](https://issues.jboss.org/browse/DBZ-2564) +* Prepare revised SMT docs (filter and content-based routing) for downstream [DBZ-2567](https://issues.jboss.org/browse/DBZ-2567) +* Swap closing square bracket for curly brace in downstream title annotations [DBZ-2577](https://issues.jboss.org/browse/DBZ-2577) + + + +## 1.3.0.Beta2 +September 16th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12347109) + +### New features since 1.3.0.Beta1 + +* Ingest change data from Oracle databases using LogMiner [DBZ-137](https://issues.redhat.com/browse/DBZ-137) +* Server-side column filtering in SQL Server connector [DBZ-1068](https://issues.redhat.com/browse/DBZ-1068) +* Introduce column.include.list for MySQL Connector [DBZ-2508](https://issues.redhat.com/browse/DBZ-2508) + + +### Breaking changes since 1.3.0.Beta1 + +* Avoid divisive language in docs and option names in incubator connectors [DBZ-2462](https://issues.redhat.com/browse/DBZ-2462) + + +### Fixes since 1.3.0.Beta1 + +* Increase Maven version in enforcer plugin [DBZ-2281](https://issues.redhat.com/browse/DBZ-2281) +* JSON functions in MySQL grammar unsupported [DBZ-2453](https://issues.redhat.com/browse/DBZ-2453) +* PostgresStreamingChangeEventSource's replicationStream flushLsn after closed [DBZ-2461](https://issues.redhat.com/browse/DBZ-2461) +* Fix link rendering for include.list and exclude.list properties [DBZ-2476](https://issues.redhat.com/browse/DBZ-2476) +* CVE-2019-10172 - security vulnerability [DBZ-2509](https://issues.redhat.com/browse/DBZ-2509) +* ArrayIndexOutOfBoundsException with excluded column from CDC table [DBZ-2522](https://issues.redhat.com/browse/DBZ-2522) +* maven-surefire-plugin versions defined twice in parent pom [DBZ-2523](https://issues.redhat.com/browse/DBZ-2523) +* Connector Type properties has missing displayName property [DBZ-2526](https://issues.redhat.com/browse/DBZ-2526) + + +### Other changes since 1.3.0.Beta1 + +* Allow Postgres snapshotter to set streaming start position [DBZ-2094](https://issues.redhat.com/browse/DBZ-2094) +* Ability to include Db2 driver in downstream image [DBZ-2191](https://issues.redhat.com/browse/DBZ-2191) +* Unify representation of events in the documentation [DBZ-2226](https://issues.redhat.com/browse/DBZ-2226) +* CloudEvents remains TP but has avro support downstream [DBZ-2245](https://issues.redhat.com/browse/DBZ-2245) +* Document new SMTs: content-based-routing and filtering [DBZ-2247](https://issues.redhat.com/browse/DBZ-2247) +* Document new Schema Change Topics [DBZ-2248](https://issues.redhat.com/browse/DBZ-2248) +* Change db2 version in Dockerfile from latest [DBZ-2257](https://issues.redhat.com/browse/DBZ-2257) +* Prepare DB2 connector doc for TP [DBZ-2403](https://issues.redhat.com/browse/DBZ-2403) +* Strimzi cluster operator no longer exposes service to access prometheus metrics endpoint [DBZ-2407](https://issues.redhat.com/browse/DBZ-2407) +* Clarify include/exclude filters for MongoDB are lists of regexps [DBZ-2429](https://issues.redhat.com/browse/DBZ-2429) +* Mongo SMT dose not support `add.fields=patch` [DBZ-2455](https://issues.redhat.com/browse/DBZ-2455) +* Prepare message filtering SMT doc for product release [DBZ-2460](https://issues.redhat.com/browse/DBZ-2460) +* Avoid divisive language in docs and option names in incubator connectors [DBZ-2462](https://issues.redhat.com/browse/DBZ-2462) +* Intermittent test failure on CI - FieldRenamesIT [DBZ-2464](https://issues.redhat.com/browse/DBZ-2464) +* Adjust outbox extension to updated Quarkus semantics [DBZ-2465](https://issues.redhat.com/browse/DBZ-2465) +* Add a locking mode which doesn't conflict with DML and existing reads on Percona Server [DBZ-2466](https://issues.redhat.com/browse/DBZ-2466) +* Ignore SSL issues during release job [DBZ-2467](https://issues.redhat.com/browse/DBZ-2467) +* Fix Debezium Server documentation for transformations and Google Pub/Sub [DBZ-2469](https://issues.redhat.com/browse/DBZ-2469) +* Remove unnecessary include/exclude database configuration in order to ensure backwards compatibility in OCP test-suite [DBZ-2470](https://issues.redhat.com/browse/DBZ-2470) +* Edit the features topic [DBZ-2477](https://issues.redhat.com/browse/DBZ-2477) +* False negatives by commit message format checker [DBZ-2479](https://issues.redhat.com/browse/DBZ-2479) +* Document outbox event router SMT [DBZ-2480](https://issues.redhat.com/browse/DBZ-2480) +* Error when processing commitLogs related to frozen type collections [DBZ-2498](https://issues.redhat.com/browse/DBZ-2498) +* Doc tweaks required to automatically build Db2 content in downstream user guide [DBZ-2500](https://issues.redhat.com/browse/DBZ-2500) +* Unify representation of events - part two - update other connector doc [DBZ-2501](https://issues.redhat.com/browse/DBZ-2501) +* Ability to specify kafka version for OCP ci job [DBZ-2502](https://issues.redhat.com/browse/DBZ-2502) +* Add ability to configure prefix for the add.fields and add.headers [DBZ-2504](https://issues.redhat.com/browse/DBZ-2504) +* Upgrade apicurio to 1.3.0.Final [DBZ-2507](https://issues.redhat.com/browse/DBZ-2507) +* Add more logs to Cassandra Connector [DBZ-2510](https://issues.redhat.com/browse/DBZ-2510) +* Create Configuration Fields for datatype.propagate.source.type and column.propagate.source.type [DBZ-2516](https://issues.redhat.com/browse/DBZ-2516) +* Prepare content-based router SMT doc for product release [DBZ-2519](https://issues.redhat.com/browse/DBZ-2519) +* Add missing ListOfRegex validator to all regex list fields and remove legacy whitelist/blacklist dependents [DBZ-2527](https://issues.redhat.com/browse/DBZ-2527) +* Add annotations to support splitting files for downstream docs [DBZ-2539](https://issues.redhat.com/browse/DBZ-2539) + + + +## 1.3.0.Beta1 +August 28th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12346874) + +### New features since 1.3.0.Alpha1 + +* Improve error handling in Cassandra Connector [DBZ-2410](https://issues.jboss.org/browse/DBZ-2410) +* Add few MySql8 privileges support [DBZ-2413](https://issues.jboss.org/browse/DBZ-2413) +* Add support for MySql Dynamic Privileges [DBZ-2415](https://issues.jboss.org/browse/DBZ-2415) +* Support for MySql8 invisible / visible index [DBZ-2425](https://issues.jboss.org/browse/DBZ-2425) +* Hitting "Unable to unregister the MBean" when stopping an embedded engine [DBZ-2427](https://issues.jboss.org/browse/DBZ-2427) + + +### Breaking changes since 1.3.0.Alpha1 + +* Avoid divisive language in docs and option names in core connectors [DBZ-2171](https://issues.jboss.org/browse/DBZ-2171) + + +### Fixes since 1.3.0.Alpha1 + +* Adding new table to cdc causes the sqlconnector to fail [DBZ-2303](https://issues.jboss.org/browse/DBZ-2303) +* LSNs in replication slots are not monotonically increasing [DBZ-2338](https://issues.jboss.org/browse/DBZ-2338) +* Transaction data loss when process restarted [DBZ-2397](https://issues.jboss.org/browse/DBZ-2397) +* java.lang.NullPointerException in ByLogicalTableRouter.java [DBZ-2412](https://issues.jboss.org/browse/DBZ-2412) +* Snapshot fails if table or schema contain hyphens [DBZ-2452](https://issues.jboss.org/browse/DBZ-2452) + + +### Other changes since 1.3.0.Alpha1 + +* Upgrade OpenShift guide [DBZ-1908](https://issues.jboss.org/browse/DBZ-1908) +* Refactor: Add domain type for LSN [DBZ-2200](https://issues.jboss.org/browse/DBZ-2200) +* Entries in metrics tables should be linkable [DBZ-2375](https://issues.jboss.org/browse/DBZ-2375) +* Update some doc file names [DBZ-2402](https://issues.jboss.org/browse/DBZ-2402) +* Asciidoc throw warnings while building documentation [DBZ-2408](https://issues.jboss.org/browse/DBZ-2408) +* Upgrade to Kafka 2.6.0 [DBZ-2411](https://issues.jboss.org/browse/DBZ-2411) +* Confusing way of reporting incorrect DB credentials [DBZ-2418](https://issues.jboss.org/browse/DBZ-2418) +* Default value for database port isn't honoured [DBZ-2423](https://issues.jboss.org/browse/DBZ-2423) +* Update to Quarkus 1.7.1.Final [DBZ-2454](https://issues.jboss.org/browse/DBZ-2454) + + + +## 1.3.0.Alpha1 +August 6th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12345155) + +### New features since 1.2.1.Final + +* Postgres and possibly other DB connections are not properly shutdown when the task encounters thread interrupt [DBZ-2133](https://issues.redhat.com/browse/DBZ-2133) +* More flexible connection options for MongoDB [DBZ-2225](https://issues.redhat.com/browse/DBZ-2225) +* Sink adapter for Azure Event Hubs [DBZ-2282](https://issues.redhat.com/browse/DBZ-2282) +* Implement new snapshot mode - initial_only [DBZ-2379](https://issues.redhat.com/browse/DBZ-2379) + + +### Breaking changes since 1.2.1.Final + +* Deprecate `mongodb.poll.interval.sec` and add `mongodb.poll.interval.ms`. [DBZ-2400](https://issues.redhat.com/browse/DBZ-2400) + + +### Fixes since 1.2.1.Final + +* Ignore non-existing table reported on Aurora via SHOW TABLES [DBZ-1939](https://issues.redhat.com/browse/DBZ-1939) +* Cassandra connector not getting events [DBZ-2086](https://issues.redhat.com/browse/DBZ-2086) +* PubSub Sink sends empty records [DBZ-2277](https://issues.redhat.com/browse/DBZ-2277) +* Skipping LSN is inefficient and does not forward slot position [DBZ-2310](https://issues.redhat.com/browse/DBZ-2310) +* message size is at least 68x larger for changes with bit varying columns [DBZ-2315](https://issues.redhat.com/browse/DBZ-2315) +* Change events lost when connnector is restarted while processing transaction with PK update [DBZ-2329](https://issues.redhat.com/browse/DBZ-2329) +* Error when processing commitLogs related to list-type columns [DBZ-2345](https://issues.redhat.com/browse/DBZ-2345) +* Fix dependency groupId on Outbox Quarkus Extension documentation [DBZ-2367](https://issues.redhat.com/browse/DBZ-2367) +* Cannot detect Azure Sql Version [DBZ-2373](https://issues.redhat.com/browse/DBZ-2373) +* ParallelSnapshotReader sometimes throws NPE [DBZ-2387](https://issues.redhat.com/browse/DBZ-2387) + + +### Other changes since 1.2.1.Final + +* Column default values are not extracted while reading table structure [DBZ-1491](https://issues.redhat.com/browse/DBZ-1491) +* DataException("Struct schemas do not match.") when recording cellData [DBZ-2103](https://issues.redhat.com/browse/DBZ-2103) +* Provide container image for Debezium Server [DBZ-2147](https://issues.redhat.com/browse/DBZ-2147) +* Update binlog client [DBZ-2173](https://issues.redhat.com/browse/DBZ-2173) +* PostgreSQL test matrix runs incorrect test-suite [DBZ-2279](https://issues.redhat.com/browse/DBZ-2279) +* Use ARG with defaults for Kafka's versions and sha when building Kafka Docker image [DBZ-2323](https://issues.redhat.com/browse/DBZ-2323) +* Test failures on Kafka 1.x CI job [DBZ-2332](https://issues.redhat.com/browse/DBZ-2332) +* Modularize doc for PostgreSQL component [DBZ-2333](https://issues.redhat.com/browse/DBZ-2333) +* Add configurable restart wait time and connection retires [DBZ-2362](https://issues.redhat.com/browse/DBZ-2362) +* Support data types from other database engines [DBZ-2365](https://issues.redhat.com/browse/DBZ-2365) +* Featured posts list broken [DBZ-2374](https://issues.redhat.com/browse/DBZ-2374) +* Add ProtoBuf support for Debezium Server [DBZ-2381](https://issues.redhat.com/browse/DBZ-2381) +* Intermittent test failure on CI - SqlServerChangeTableSetIT#addDefaultValue [DBZ-2389](https://issues.redhat.com/browse/DBZ-2389) +* Intermittent test failure on CI - TablesWithoutPrimaryKeyIT#shouldProcessFromStreaming [DBZ-2390](https://issues.redhat.com/browse/DBZ-2390) +* Include Azure PostgreSQL guidance in the docs [DBZ-2394](https://issues.redhat.com/browse/DBZ-2394) +* Update JSON Snippet on MongoDB Docs Page [DBZ-2395](https://issues.redhat.com/browse/DBZ-2395) + + +## 1.2.1.Final +July 16th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12346704) + +### New features since 1.2.0.Final + +* Document content based routing and filtering for MongoDB [DBZ-2255](https://issues.jboss.org/browse/DBZ-2255) +* Handle MariaDB syntax add column IF EXISTS as part of alter table DDL [DBZ-2219](https://issues.jboss.org/browse/DBZ-2219) +* Add Apicurio converters to Connect container image [DBZ-2083](https://issues.jboss.org/browse/DBZ-2083) + + +### Breaking changes since 1.2.0.Final + +None + + +### Fixes since 1.2.0.Final + +* MongoDB connector is not resilient to Mongo connection errors [DBZ-2141](https://issues.jboss.org/browse/DBZ-2141) +* MySQL connector should filter additional DML binlog entries for RDS by default [DBZ-2275](https://issues.jboss.org/browse/DBZ-2275) +* Concurrent access to a thread map [DBZ-2278](https://issues.jboss.org/browse/DBZ-2278) +* Postgres connector may skip events during snapshot-streaming transition [DBZ-2288](https://issues.jboss.org/browse/DBZ-2288) +* MySQL connector emits false error while missing a required data [DBZ-2301](https://issues.jboss.org/browse/DBZ-2301) +* io.debezium.engine.spi.OffsetCommitPolicy.PeriodicCommitOffsetPolicy can't be initiated due to NoSuchMethod error [DBZ-2302](https://issues.jboss.org/browse/DBZ-2302) +* Allow single dimension DECIMAL in CAST [DBZ-2305](https://issues.jboss.org/browse/DBZ-2305) +* MySQL JSON functions are missing from the grammar [DBZ-2318](https://issues.jboss.org/browse/DBZ-2318) +* Description in documentation metrics tables is bold and shouldn't be [DBZ-2326](https://issues.jboss.org/browse/DBZ-2326) +* ALTER TABLE with `timestamp default CURRENT_TIMESTAMP not null` fails the task [DBZ-2330](https://issues.jboss.org/browse/DBZ-2330) + + +### Other changes since 1.2.0.Final + +* Unstable tests in SQL Server connector [DBZ-2217](https://issues.jboss.org/browse/DBZ-2217) +* Intermittent test failure on CI - SqlServerConnectorIT#verifyOffsets() [DBZ-2220](https://issues.jboss.org/browse/DBZ-2220) +* Intermittent test failure on CI - MySQL [DBZ-2229](https://issues.jboss.org/browse/DBZ-2229) +* Intermittent test failure on CI - SqlServerChangeTableSetIT#readHistoryAfterRestart() [DBZ-2231](https://issues.jboss.org/browse/DBZ-2231) +* Failing test MySqlSourceTypeInSchemaIT.shouldPropagateSourceTypeAsSchemaParameter [DBZ-2238](https://issues.jboss.org/browse/DBZ-2238) +* Intermittent test failure on CI - MySqlConnectorRegressionIT#shouldConsumeAllEventsFromDatabaseUsingBinlogAndNoSnapshot() [DBZ-2243](https://issues.jboss.org/browse/DBZ-2243) +* Use upstream image in ApicurioRegistryTest [DBZ-2256](https://issues.jboss.org/browse/DBZ-2256) +* Intermittent failure of MongoDbConnectorIT.shouldConsumeTransaction [DBZ-2264](https://issues.jboss.org/browse/DBZ-2264) +* Intermittent test failure on CI - MySqlSourceTypeInSchemaIT#shouldPropagateSourceTypeByDatatype() [DBZ-2269](https://issues.jboss.org/browse/DBZ-2269) +* Intermittent test failure on CI - MySqlConnectorIT#shouldNotParseQueryIfServerOptionDisabled [DBZ-2270](https://issues.jboss.org/browse/DBZ-2270) +* Intermittent test failure on CI - RecordsStreamProducerIT#testEmptyChangesProducesHeartbeat [DBZ-2271](https://issues.jboss.org/browse/DBZ-2271) +* Incorrect dependency from outbox to core module [DBZ-2276](https://issues.jboss.org/browse/DBZ-2276) +* Slowness in FieldRenamesTest [DBZ-2286](https://issues.jboss.org/browse/DBZ-2286) +* Create GitHub Action for verifying correct formatting [DBZ-2287](https://issues.jboss.org/browse/DBZ-2287) +* Clarify expectations for replica identity and key-less tables [DBZ-2307](https://issues.jboss.org/browse/DBZ-2307) +* Jenkins worker nodes must be logged in to Docker Hub [DBZ-2312](https://issues.jboss.org/browse/DBZ-2312) +* Upgrade PostgreSQL driver to 4.2.14 [DBZ-2317](https://issues.jboss.org/browse/DBZ-2317) +* Intermittent test failure on CI - PostgresConnectorIT#shouldOutputRecordsInCloudEventsFormat [DBZ-2319](https://issues.jboss.org/browse/DBZ-2319) +* Intermittent test failure on CI - TablesWithoutPrimaryKeyIT#shouldProcessFromStreaming [DBZ-2324](https://issues.jboss.org/browse/DBZ-2324) +* Intermittent test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent [DBZ-2325](https://issues.jboss.org/browse/DBZ-2325) +* Intermittent test failure on CI - SnapshotIT#takeSnapshotWithOldStructAndStartStreaming [DBZ-2331](https://issues.jboss.org/browse/DBZ-2331) + + + +## 1.2.0.Final +June 24th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12345052) + +### New features since 1.2.0.CR2 + +None + +### Breaking changes since 1.2.0.CR2 + +None + + +### Fixes since 1.2.0.CR2 + +* Test failure due to superfluous schema change event emitted on connector start [DBZ-2211](https://issues.jboss.org/browse/DBZ-2211) +* Intermittent test failures on CI [DBZ-2232](https://issues.jboss.org/browse/DBZ-2232) +* Test SimpleSourceConnectorOutputTest.shouldGenerateExpected blocked [DBZ-2241](https://issues.jboss.org/browse/DBZ-2241) +* CloudEventsConverter should use Apicurio converter for Avro [DBZ-2250](https://issues.jboss.org/browse/DBZ-2250) +* Default value is not properly set for non-optional columns [DBZ-2267](https://issues.jboss.org/browse/DBZ-2267) + + +### Other changes since 1.2.0.CR2 + +* Diff MySQL connector 0.10 and latest docs [DBZ-1997](https://issues.jboss.org/browse/DBZ-1997) +* Remove redundant property in antora.yml [DBZ-2223](https://issues.jboss.org/browse/DBZ-2223) +* Binary log client is not cleanly stopped in testsuite [DBZ-2221](https://issues.jboss.org/browse/DBZ-2221) +* Intermittent test failure on CI - Postgres [DBZ-2230](https://issues.jboss.org/browse/DBZ-2230) +* Build failure with Kafka 1.x [DBZ-2240](https://issues.jboss.org/browse/DBZ-2240) +* Intermittent test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent() [DBZ-2261](https://issues.jboss.org/browse/DBZ-2261) +* Test failure BinlogReaderIT#shouldFilterAllRecordsBasedOnDatabaseWhitelistFilter() [DBZ-2262](https://issues.jboss.org/browse/DBZ-2262) + + + +## 1.2.0.CR2 +June 18th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12346173) + +### New features since 1.2.0.CR1 + +* DB2 connector documentation ambiguous regarding licensing [DBZ-1835](https://issues.jboss.org/browse/DBZ-1835) +* Optimize SQLServer connector query [DBZ-2120](https://issues.jboss.org/browse/DBZ-2120) +* Documentation for implementing StreamNameMapper [DBZ-2163](https://issues.jboss.org/browse/DBZ-2163) +* Update architecture page [DBZ-2096](https://issues.jboss.org/browse/DBZ-2096) + + +### Breaking changes since 1.2.0.CR1 + +* Debezium server distro has been moved [DBZ-2212](https://issues.jboss.org/browse/DBZ-2212) + + +### Fixes since 1.2.0.CR1 + +* Encountered error when snapshotting collection type column [DBZ-2117](https://issues.jboss.org/browse/DBZ-2117) +* Missing dependencies for Debezium Server Pulsar sink [DBZ-2201](https://issues.jboss.org/browse/DBZ-2201) +* Intermittent test failure -- Multiple admin clients with same id [DBZ-2228](https://issues.jboss.org/browse/DBZ-2228) +* Adapt to changed TX representation in oplog in Mongo 4.2 [DBZ-2216](https://issues.jboss.org/browse/DBZ-2216) + + +### Other changes since 1.2.0.CR1 + +* Tests Asserting No Open Transactions Failing [DBZ-2176](https://issues.jboss.org/browse/DBZ-2176) +* General test harness for End-2-End Benchmarking [DBZ-1812](https://issues.jboss.org/browse/DBZ-1812) +* Add tests for datatype.propagate.source.type for all connectors [DBZ-1916](https://issues.jboss.org/browse/DBZ-1916) +* Productize CloudEvents support [DBZ-2019](https://issues.jboss.org/browse/DBZ-2019) +* [Doc] Add Debezium Architecture to downstream documentation [DBZ-2029](https://issues.jboss.org/browse/DBZ-2029) +* Transaction metadata documentation [DBZ-2069](https://issues.jboss.org/browse/DBZ-2069) +* Inconsistent test failures [DBZ-2177](https://issues.jboss.org/browse/DBZ-2177) +* Add Jandex plugin to Debezium Server connectors [DBZ-2192](https://issues.jboss.org/browse/DBZ-2192) +* Ability to scale wait times in OCP test-suite [DBZ-2194](https://issues.jboss.org/browse/DBZ-2194) +* CI doesn't delete mongo and sql server projects on successful runs [DBZ-2195](https://issues.jboss.org/browse/DBZ-2195) +* Document database history and web server port for Debezium Server [DBZ-2198](https://issues.jboss.org/browse/DBZ-2198) +* Do not throw IndexOutOfBoundsException when no task configuration is available [DBZ-2199](https://issues.jboss.org/browse/DBZ-2199) +* Upgrade Apicurio to 1.2.2.Final [DBZ-2206](https://issues.jboss.org/browse/DBZ-2206) +* Intermitent test failures [DBZ-2207](https://issues.jboss.org/browse/DBZ-2207) +* Increase Pulsar Server timeouts [DBZ-2210](https://issues.jboss.org/browse/DBZ-2210) +* Drop distribution from Debezium Server artifact name [DBZ-2214](https://issues.jboss.org/browse/DBZ-2214) + + + +## 1.2.0.CR1 +June 10th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12345858) + +### New features since 1.2.0.Beta2 + +* Restrict the set of tables with a publication when using pgoutput [DBZ-1813](https://issues.jboss.org/browse/DBZ-1813) +* Support configuring different encodings for binary source data [DBZ-1814](https://issues.jboss.org/browse/DBZ-1814) +* Add API for not registering metrics MBean into the platform MBean server [DBZ-2089](https://issues.jboss.org/browse/DBZ-2089) +* Unable to handle UDT data [DBZ-2091](https://issues.jboss.org/browse/DBZ-2091) +* Improve SQL Server reconnect during shutdown and connection resets [DBZ-2106](https://issues.jboss.org/browse/DBZ-2106) +* OpenShift tests for SQL Server connector before GA [DBZ-2113](https://issues.jboss.org/browse/DBZ-2113) +* OpenShift tests for MongoDB Connector before GA [DBZ-2114](https://issues.jboss.org/browse/DBZ-2114) +* Log begin/end of schema recovery on INFO level [DBZ-2149](https://issues.jboss.org/browse/DBZ-2149) +* Allow outbox EventRouter to pass non-String based Keys [DBZ-2152](https://issues.jboss.org/browse/DBZ-2152) +* Introduce API checks [DBZ-2159](https://issues.jboss.org/browse/DBZ-2159) +* Bump mysql binlog version [DBZ-2160](https://issues.jboss.org/browse/DBZ-2160) +* Postgresql - Allow for include.unknown.datatypes to return string instead of hash [DBZ-1266](https://issues.jboss.org/browse/DBZ-1266) +* Consider Apicurio registry [DBZ-1639](https://issues.jboss.org/browse/DBZ-1639) +* Debezium Server should support Google Cloud PubSub [DBZ-2092](https://issues.jboss.org/browse/DBZ-2092) +* Sink adapter for Apache Pulsar [DBZ-2112](https://issues.jboss.org/browse/DBZ-2112) + + +### Breaking changes since 1.2.0.Beta2 + +* Change table.whitelist/table.blacklist format [DBZ-1312](https://issues.jboss.org/browse/DBZ-1312) + + +### Fixes since 1.2.0.Beta2 + +* Transaction opened by Debezium is left idle and never committed [DBZ-2118](https://issues.jboss.org/browse/DBZ-2118) +* Don't call markBatchFinished() in finally block [DBZ-2124](https://issues.jboss.org/browse/DBZ-2124) +* kafka SSL passwords need to be added to the Sensitive Properties list [DBZ-2125](https://issues.jboss.org/browse/DBZ-2125) +* Intermittent test failure on CI - SQL Server [DBZ-2126](https://issues.jboss.org/browse/DBZ-2126) +* CREATE TABLE query is giving parsing exception [DBZ-2130](https://issues.jboss.org/browse/DBZ-2130) +* Misc. Javadoc and docs fixes [DBZ-2136](https://issues.jboss.org/browse/DBZ-2136) +* Avro schema doesn't change if a column default value is dropped [DBZ-2140](https://issues.jboss.org/browse/DBZ-2140) +* Multiple SETs not supported in trigger [DBZ-2142](https://issues.jboss.org/browse/DBZ-2142) +* Don't validate internal database.history.connector.* config parameters [DBZ-2144](https://issues.jboss.org/browse/DBZ-2144) +* ANTLR parser doesn't handle MariaDB syntax drop index IF EXISTS as part of alter table DDL [DBZ-2151](https://issues.jboss.org/browse/DBZ-2151) +* Casting as INT causes a ParsingError [DBZ-2153](https://issues.jboss.org/browse/DBZ-2153) +* Calling function UTC_TIMESTAMP without parenthesis causes a parsing error [DBZ-2154](https://issues.jboss.org/browse/DBZ-2154) +* Could not find or load main class io.debezium.server.Main [DBZ-2170](https://issues.jboss.org/browse/DBZ-2170) +* MongoDB connector snapshot NPE in case of document field named "op" [DBZ-2116](https://issues.jboss.org/browse/DBZ-2116) + + +### Other changes since 1.2.0.Beta2 + +* Adding tests and doc updates around column masking and truncating [DBZ-775](https://issues.jboss.org/browse/DBZ-775) +* Refactor/use common configuration parameters [DBZ-1657](https://issues.jboss.org/browse/DBZ-1657) +* Develop sizing recommendations, load tests etc. [DBZ-1662](https://issues.jboss.org/browse/DBZ-1662) +* Add performance test for SMTs like filters [DBZ-1929](https://issues.jboss.org/browse/DBZ-1929) +* Add banner to older doc versions about them being outdated [DBZ-1951](https://issues.jboss.org/browse/DBZ-1951) +* SMT Documentation [DBZ-2021](https://issues.jboss.org/browse/DBZ-2021) +* Instable integration test with Testcontainers [DBZ-2033](https://issues.jboss.org/browse/DBZ-2033) +* Add test for schema history topic for Oracle connector [DBZ-2056](https://issues.jboss.org/browse/DBZ-2056) +* Random test failures [DBZ-2060](https://issues.jboss.org/browse/DBZ-2060) +* Set up CI jobs for JDK 14/15 [DBZ-2065](https://issues.jboss.org/browse/DBZ-2065) +* Introduce Any type for server to seamlessly integrate with Debezium API [DBZ-2104](https://issues.jboss.org/browse/DBZ-2104) +* Update AsciiDoc markup in doc files for downstream reuse [DBZ-2105](https://issues.jboss.org/browse/DBZ-2105) +* Upgrade to Quarkus 1.5.0.Final [DBZ-2119](https://issues.jboss.org/browse/DBZ-2119) +* Additional AsciiDoc markup updates needed in doc files for downstream reuse [DBZ-2129](https://issues.jboss.org/browse/DBZ-2129) +* Refactor & Extend OpenShift test-suite tooling to prepare for MongoDB and SQL Server [DBZ-2132](https://issues.jboss.org/browse/DBZ-2132) +* OpenShift tests are failing when waiting for Connect metrics to be exposed [DBZ-2135](https://issues.jboss.org/browse/DBZ-2135) +* Support incubator build in product release jobs [DBZ-2137](https://issues.jboss.org/browse/DBZ-2137) +* Rebase MySQL grammar on the latest upstream version [DBZ-2143](https://issues.jboss.org/browse/DBZ-2143) +* Await coordinator shutdown in embedded engine [DBZ-2150](https://issues.jboss.org/browse/DBZ-2150) +* More meaningful exception in case of replication slot conflict [DBZ-2156](https://issues.jboss.org/browse/DBZ-2156) +* Intermittent test failure on CI - Postgres [DBZ-2157](https://issues.jboss.org/browse/DBZ-2157) +* OpenShift pipeline uses incorrect projects for Mongo and Sql Server deployment [DBZ-2164](https://issues.jboss.org/browse/DBZ-2164) +* Incorrect polling timeout in AbstractReader [DBZ-2169](https://issues.jboss.org/browse/DBZ-2169) + + + +## 1.2.0.Beta2 +May 19th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12345708) + +### New features since 1.2.0.Beta1 + +* Add JDBC driver versions to docs [DBZ-2031](https://issues.jboss.org/browse/DBZ-2031) +* Add a few more loggings for Cassandra Connector [DBZ-2066](https://issues.jboss.org/browse/DBZ-2066) +* Provide ready-to-use standalone application based on the embedded engine [DBZ-651](https://issues.jboss.org/browse/DBZ-651) +* Add option to skip LSN timestamp queries [DBZ-1988](https://issues.jboss.org/browse/DBZ-1988) +* Add option to logical topic router for controlling placement of table information [DBZ-2034](https://issues.jboss.org/browse/DBZ-2034) +* Add headers and topic name into scripting transforms [DBZ-2074](https://issues.jboss.org/browse/DBZ-2074) +* Filter and content-based router SMTs should be restrictable to certain topics [DBZ-2024](https://issues.jboss.org/browse/DBZ-2024) + + +### Breaking changes since 1.2.0.Beta1 + +* Remove deprecated features [DBZ-1828](https://issues.jboss.org/browse/DBZ-1828) +* Db2: Replace `initial_schema_only` with `schema_only` [DBZ-2051](https://issues.jboss.org/browse/DBZ-2051) +* DebeziumContainer should allow for custom container images [DBZ-2070](https://issues.jboss.org/browse/DBZ-2070) + + +### Fixes since 1.2.0.Beta1 + +* Avro schema doesn't change if a column default value changes from 'foo' to 'bar' [DBZ-2061](https://issues.jboss.org/browse/DBZ-2061) +* DDL statement throws error if compression keyword contains backticks (``) [DBZ-2062](https://issues.jboss.org/browse/DBZ-2062) +* Error and connector stops when DDL contains algorithm=instant [DBZ-2067](https://issues.jboss.org/browse/DBZ-2067) +* Debezium Engine advanced record consuming example broken [DBZ-2073](https://issues.jboss.org/browse/DBZ-2073) +* Unable to parse MySQL ALTER statement with named primary key [DBZ-2080](https://issues.jboss.org/browse/DBZ-2080) +* Missing schema-serializer dependency for Avro [DBZ-2082](https://issues.jboss.org/browse/DBZ-2082) +* TinyIntOneToBooleanConverter doesn't seem to work with columns having a default value. [DBZ-2085](https://issues.jboss.org/browse/DBZ-2085) + + +### Other changes since 1.2.0.Beta1 + +* Add ability to insert fields from op field in ExtractNewDocumentState [DBZ-1791](https://issues.jboss.org/browse/DBZ-1791) +* Test with MySQL 8.0.20 [DBZ-2041](https://issues.jboss.org/browse/DBZ-2041) +* Update debezium-examples/tutorial README docker-compose file is missing [DBZ-2059](https://issues.jboss.org/browse/DBZ-2059) +* Skip tests that are no longer compatible with Kafka 1.x [DBZ-2068](https://issues.jboss.org/browse/DBZ-2068) +* Remove additional Jackson dependencies as of AK 2.5 [DBZ-2076](https://issues.jboss.org/browse/DBZ-2076) +* Make EventProcessingFailureHandlingIT resilient against timing issues [DBZ-2078](https://issues.jboss.org/browse/DBZ-2078) +* Tar packages must use posix format [DBZ-2088](https://issues.jboss.org/browse/DBZ-2088) +* Remove unused sourceInfo variable [DBZ-2090](https://issues.jboss.org/browse/DBZ-2090) + + + +## 1.2.0.Beta1 +May 7th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12345561) + +### New features since 1.2.0.Alpha1 + +* Don't try to database history topic if it exists already [DBZ-1886](https://issues.jboss.org/browse/DBZ-1886) +* Deleted database history should be detected for all connectors [DBZ-1923](https://issues.jboss.org/browse/DBZ-1923) +* Provide anchors to connector parameters [DBZ-1933](https://issues.jboss.org/browse/DBZ-1933) +* move static methods TRUNCATE_COLUMN and MASK_COLUMN as attributes to RelationalDatabaseConnectorConfig [DBZ-1972](https://issues.jboss.org/browse/DBZ-1972) +* Implement SKIPPED_OPERATIONS for mysql [DBZ-1895](https://issues.jboss.org/browse/DBZ-1895) +* User facing schema history topic for SQL Server [DBZ-1904](https://issues.jboss.org/browse/DBZ-1904) +* Multiline stack traces can be collapsed into a single log event [DBZ-1913](https://issues.jboss.org/browse/DBZ-1913) +* Introduce column.whitelist for Postgres Connector [DBZ-1962](https://issues.jboss.org/browse/DBZ-1962) +* Add support for Postgres time, timestamp array columns [DBZ-1969](https://issues.jboss.org/browse/DBZ-1969) +* Add support for Postgres Json and Jsonb array columns [DBZ-1990](https://issues.jboss.org/browse/DBZ-1990) +* Content-based topic routing based on scripting languages [DBZ-2000](https://issues.jboss.org/browse/DBZ-2000) + + +### Breaking changes since 1.2.0.Alpha1 + +* Remove obsolete metrics from downstream docs [DBZ-1947](https://issues.jboss.org/browse/DBZ-1947) +* Outbox: Remove eventType field [DBZ-2014](https://issues.jboss.org/browse/DBZ-2014) +* Upgrade Postgres driver to 42.2.12 [DBZ-2027](https://issues.jboss.org/browse/DBZ-2027) +* Support different converters for key/value in embedded engine [DBZ-1970](https://issues.jboss.org/browse/DBZ-1970) + + +### Fixes since 1.2.0.Alpha1 + +* bit varying column has value that is too large to be cast to a long [DBZ-1949](https://issues.jboss.org/browse/DBZ-1949) +* PostgreSQL Sink connector with outbox event router and Avro uses wrong default io.confluent schema namespace [DBZ-1963](https://issues.jboss.org/browse/DBZ-1963) +* Stop processing new commitlogs in cdc folder [DBZ-1985](https://issues.jboss.org/browse/DBZ-1985) +* [Doc] Debezium User Guide should provide example of DB connector yaml and deployment instructions [DBZ-2011](https://issues.jboss.org/browse/DBZ-2011) +* ExtractNewRecordState SMT spamming logs for heartbeat messages [DBZ-2036](https://issues.jboss.org/browse/DBZ-2036) +* MySQL alias `FLUSH TABLE` not handled [DBZ-2047](https://issues.jboss.org/browse/DBZ-2047) +* Embedded engine not compatible with Kafka 1.x [DBZ-2054](https://issues.jboss.org/browse/DBZ-2054) + + +### Other changes since 1.2.0.Alpha1 + +* Blog post and demo about Debezium + Camel [DBZ-1656](https://issues.jboss.org/browse/DBZ-1656) +* Refactor connector config code to share the configuration definition [DBZ-1750](https://issues.jboss.org/browse/DBZ-1750) +* DB2 connector follow-up refactorings [DBZ-1753](https://issues.jboss.org/browse/DBZ-1753) +* Oracle JDBC driver available in Maven Central [DBZ-1878](https://issues.jboss.org/browse/DBZ-1878) +* Align snapshot/streaming semantics in MongoDB documentation [DBZ-1901](https://issues.jboss.org/browse/DBZ-1901) +* Add MySQL 5.5 and 5.6 to test matrix. [DBZ-1953](https://issues.jboss.org/browse/DBZ-1953) +* Upgrade to Quarkus to 1.4.1 release [DBZ-1975](https://issues.jboss.org/browse/DBZ-1975) +* Version selector on releases page should show all versions [DBZ-1979](https://issues.jboss.org/browse/DBZ-1979) +* Upgrade to Apache Kafka 2.5.0 and Confluent Platform 5.5.0 [DBZ-1981](https://issues.jboss.org/browse/DBZ-1981) +* Fix broken link [DBZ-1983](https://issues.jboss.org/browse/DBZ-1983) +* Update Outbox Quarkus extension yaml [DBZ-1991](https://issues.jboss.org/browse/DBZ-1991) +* Allow for simplified property references in filter SMT with graal.js [DBZ-1993](https://issues.jboss.org/browse/DBZ-1993) +* Avoid broken cross-book references in downstream docs [DBZ-1999](https://issues.jboss.org/browse/DBZ-1999) +* Fix wrong attribute name in MongoDB connector [DBZ-2006](https://issues.jboss.org/browse/DBZ-2006) +* Upgrade formatter and Impsort plugins [DBZ-2007](https://issues.jboss.org/browse/DBZ-2007) +* Clarify support for non-primary key tables in PostgreSQL documentation [DBZ-2010](https://issues.jboss.org/browse/DBZ-2010) +* Intermittent test failure on CI [DBZ-2030](https://issues.jboss.org/browse/DBZ-2030) +* Cleanup Postgres TypeRegistry [DBZ-2038](https://issues.jboss.org/browse/DBZ-2038) +* Upgrade to latest parent pom and checkstyle [DBZ-2039](https://issues.jboss.org/browse/DBZ-2039) +* Reduce build output to avoid maximum log length problems on CI [DBZ-2043](https://issues.jboss.org/browse/DBZ-2043) +* Postgres TypeRegistry makes one query per enum type at startup [DBZ-2044](https://issues.jboss.org/browse/DBZ-2044) + + + +## 1.2.0.Alpha1 +April 16th, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12344691) + +### New features since 1.1.0.Final + +* Expose original value for PK updates [DBZ-1531](https://issues.redhat.com/browse/DBZ-1531) +* New column masking mode: consistent hashing [DBZ-1692](https://issues.redhat.com/browse/DBZ-1692) +* Provide a filtering SMT [DBZ-1782](https://issues.redhat.com/browse/DBZ-1782) +* Support converters for embedded engine [DBZ-1807](https://issues.redhat.com/browse/DBZ-1807) +* Enhance MongoDB connector metrics [DBZ-1859](https://issues.redhat.com/browse/DBZ-1859) +* SQL Server connector: support reconnect after the database connection is broken [DBZ-1882](https://issues.redhat.com/browse/DBZ-1882) +* Support SMTs in embedded engine [DBZ-1930](https://issues.redhat.com/browse/DBZ-1930) +* Snapshot metrics shows TotalNumberOfEventsSeen as zero [DBZ-1932](https://issues.redhat.com/browse/DBZ-1932) + + +### Breaking changes since 1.1.0.Final + +* Remove deprecated connector option value "initial_schema_only" [DBZ-1945](https://issues.redhat.com/browse/DBZ-1945) +* Remove deprecated unwrap SMTs [DBZ-1968](https://issues.redhat.com/browse/DBZ-1968) + + +### Fixes since 1.1.0.Final + +* java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] [DBZ-1744](https://issues.redhat.com/browse/DBZ-1744) +* Snapshot lock timeout setting is not documented [DBZ-1914](https://issues.redhat.com/browse/DBZ-1914) +* AvroRuntimeException when publishing transaction metadata [DBZ-1915](https://issues.redhat.com/browse/DBZ-1915) +* Connector restart logic throttles for the first 2 seconds [DBZ-1918](https://issues.redhat.com/browse/DBZ-1918) +* Wal2json empty change event could cause NPE above version 1.0.3.final [DBZ-1922](https://issues.redhat.com/browse/DBZ-1922) +* Misleading error message on lost database connection [DBZ-1926](https://issues.redhat.com/browse/DBZ-1926) +* Cassandra CDC should not move and delete processed commitLog file under testing mode [DBZ-1927](https://issues.redhat.com/browse/DBZ-1927) +* Broken internal links and anchors in documentation [DBZ-1935](https://issues.redhat.com/browse/DBZ-1935) +* Dokumentation files in modules create separate pages, should be partials instead [DBZ-1944](https://issues.redhat.com/browse/DBZ-1944) +* Validation of binlog_row_image is not compatible with MySQL 5.5 [DBZ-1950](https://issues.redhat.com/browse/DBZ-1950) +* High CPU usage when idle [DBZ-1960](https://issues.redhat.com/browse/DBZ-1960) +* Outbox Quarkus Extension throws NPE in quarkus:dev mode [DBZ-1966](https://issues.redhat.com/browse/DBZ-1966) +* Cassandra Connector: unable to deserialize column mutation with reversed type [DBZ-1967](https://issues.redhat.com/browse/DBZ-1967) + + +### Other changes since 1.1.0.Final + +* Replace Custom CassandraTopicSelector with DBZ's TopicSelector class in Cassandra Connector [DBZ-1407](https://issues.redhat.com/browse/DBZ-1407) +* Improve documentation on WAL disk space usage for Postgres connector [DBZ-1732](https://issues.redhat.com/browse/DBZ-1732) +* Outbox Quarkus Extension: Update version of extension used by demo [DBZ-1786](https://issues.redhat.com/browse/DBZ-1786) +* Community newsletter 1/2020 [DBZ-1806](https://issues.redhat.com/browse/DBZ-1806) +* Remove obsolete SnapshotChangeRecordEmitter [DBZ-1898](https://issues.redhat.com/browse/DBZ-1898) +* Fix typo in Quarkus Outbox extension documentation [DBZ-1902](https://issues.redhat.com/browse/DBZ-1902) +* Update schema change topic section of SQL Server connector doc [DBZ-1903](https://issues.redhat.com/browse/DBZ-1903) +* Log warning about insufficient retention time for DB history topic [DBZ-1905](https://issues.redhat.com/browse/DBZ-1905) +* Documentation should link to Apache Kafka upstream docs [DBZ-1906](https://issues.redhat.com/browse/DBZ-1906) +* The error messaging around binlog configuration is missleading [DBZ-1911](https://issues.redhat.com/browse/DBZ-1911) +* Restore documentation of MySQL event structures [DBZ-1919](https://issues.redhat.com/browse/DBZ-1919) +* Link from monitoring page to connector-specific metrics [DBZ-1920](https://issues.redhat.com/browse/DBZ-1920) +* Update snapshot.mode options in SQL Server documentation [DBZ-1924](https://issues.redhat.com/browse/DBZ-1924) +* Update build and container images to Apache Kafka 2.4.1 [DBZ-1925](https://issues.redhat.com/browse/DBZ-1925) +* Avoid Thread#sleep() calls in Oracle connector tests [DBZ-1942](https://issues.redhat.com/browse/DBZ-1942) +* Different versions of Jackson components pulled in as dependencies [DBZ-1943](https://issues.redhat.com/browse/DBZ-1943) +* Add docs for mask column and truncate column features [DBZ-1954](https://issues.redhat.com/browse/DBZ-1954) +* Upgrade MongoDB driver to 3.12.3 [DBZ-1958](https://issues.redhat.com/browse/DBZ-1958) + + + +## 1.1.0.Final +March 23rd, 2020 [Detailed release notes](https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12344981) + +### New features since 1.1.0.CR1 + + * The Postgres connector heartbeat should optionally write back a heartbeat change to the DB [DBZ-1815](https://issues.redhat.com/browse/DBZ-1815) + + +### Breaking changes since 1.1.0.CR1 + +None + + +### Fixes since 1.1.0.CR1 + + * Postgres Connector ignoring confirmed_flush_lsn and skipping ahead to latest txn [DBZ-1730](https://issues.redhat.com/browse/DBZ-1730) + * Postgresql money error handling [DBZ-1755](https://issues.redhat.com/browse/DBZ-1755) + * MongoDB tests not working correctly [DBZ-1867](https://issues.redhat.com/browse/DBZ-1867) + * MongoDB transaction metadata topic generates extra events [DBZ-1874](https://issues.redhat.com/browse/DBZ-1874) + * NullPointerException on delete in ExtractNewRecordState class [DBZ-1876](https://issues.redhat.com/browse/DBZ-1876) + * MongoDB connector unrecoverable exception [DBZ-1880](https://issues.redhat.com/browse/DBZ-1880) + * High log volume from: "Awaiting end of restart backoff period" logs [DBZ-1889](https://issues.redhat.com/browse/DBZ-1889) + * Kafka records from one Cassandra table get published to the kafka queue of another Cassandra table [DBZ-1892](https://issues.redhat.com/browse/DBZ-1892) + + +### Other changes since 1.1.0.CR1 + + * Use snapshot versions in master branch documentation [DBZ-1793](https://issues.redhat.com/browse/DBZ-1793) + * Misc docs issues [DBZ-1798](https://issues.redhat.com/browse/DBZ-1798) + * Outbox Quarkus Extension: Clarify default column types when using defaults. [DBZ-1804](https://issues.redhat.com/browse/DBZ-1804) + * Create CI job to run OpenShift test [DBZ-1817](https://issues.redhat.com/browse/DBZ-1817) + * Failing test jobs for Mongo and SQL Server due to insecure maven registry [DBZ-1837](https://issues.redhat.com/browse/DBZ-1837) + * Support retriable exceptions with embedded engine [DBZ-1857](https://issues.redhat.com/browse/DBZ-1857) + * Modularize Debezium logging doc [DBZ-1861](https://issues.redhat.com/browse/DBZ-1861) + * Centralize closing of coordinator [DBZ-1863](https://issues.redhat.com/browse/DBZ-1863) + * Assert format of commit messages [DBZ-1868](https://issues.redhat.com/browse/DBZ-1868) + * Bump MongoDB java driver to the latest version 3.12.2 [DBZ-1869](https://issues.redhat.com/browse/DBZ-1869) + * Add Travis CI task for MongoDB 3.2 [DBZ-1871](https://issues.redhat.com/browse/DBZ-1871) + * Unstable tests for PostgreSQL [DBZ-1875](https://issues.redhat.com/browse/DBZ-1875) + * Add MongoDB JMX integration tests [DBZ-1879](https://issues.redhat.com/browse/DBZ-1879) + + + +## 1.1.0.CR1 +March 11th, 2020 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12344727) + +### New features since 1.1.0.Beta2 + +* Distinguish between public (API) and internal parts of Debezium [DBZ-234](https://issues.jboss.org/browse/DBZ-234) +* Add option to skip unprocesseable event [DBZ-1760](https://issues.jboss.org/browse/DBZ-1760) +* ExtractNewRecordState - add.source.fields should strip spaces from comma-separated list of fields [DBZ-1772](https://issues.jboss.org/browse/DBZ-1772) +* Add support for update events for sharded MongoDB collections [DBZ-1781](https://issues.jboss.org/browse/DBZ-1781) +* Useless/meaningless parameter in function [DBZ-1805](https://issues.jboss.org/browse/DBZ-1805) +* Replace BlockEventQueue with Debezium ChangeEventQueue [DBZ-1820](https://issues.jboss.org/browse/DBZ-1820) +* Option to configure column.propagate.source.type on a per-type basis, not per column-name basis [DBZ-1830](https://issues.jboss.org/browse/DBZ-1830) +* Support MongoDB Oplog operations as config [DBZ-1831](https://issues.jboss.org/browse/DBZ-1831) +* Add app metrics for mongodb connector to jmx [DBZ-845](https://issues.jboss.org/browse/DBZ-845) +* Provide SPI to override schema and value conversion for specific columns [DBZ-1134](https://issues.jboss.org/browse/DBZ-1134) +* Retry polling on configured exceptions [DBZ-1723](https://issues.jboss.org/browse/DBZ-1723) + + +### Breaking changes since 1.1.0.Beta2 + +* Default `gtid.new.channel.position` to earliest [DBZ-1705](https://issues.jboss.org/browse/DBZ-1705) +* Mongodb field.renames will add renamed field even when source field is missing [DBZ-1848](https://issues.jboss.org/browse/DBZ-1848) +* MySQL: Rename event.deserialization.failure.handling.mode to event.processing.failure.handling.mode [DBZ-1826](https://issues.jboss.org/browse/DBZ-1826) + + +### Fixes since 1.1.0.Beta2 + +* CDC Event Schema Doesn't Change After 2 Fields Switch Names and Places [DBZ-1694](https://issues.jboss.org/browse/DBZ-1694) +* TINYINT(1) value range restricted on snapshot. [DBZ-1773](https://issues.jboss.org/browse/DBZ-1773) +* MySQL source connector fails while parsing new AWS RDS internal event [DBZ-1775](https://issues.jboss.org/browse/DBZ-1775) +* Connector fails when performing a Hot Schema Update in SQLServer (Data row is smaller than a column index). [DBZ-1778](https://issues.jboss.org/browse/DBZ-1778) +* Incosistency in MySQL TINYINT mapping definition [DBZ-1800](https://issues.jboss.org/browse/DBZ-1800) +* Debezium skips messages after restart [DBZ-1824](https://issues.jboss.org/browse/DBZ-1824) +* Supply of message.key.columns disables primary keys. [DBZ-1825](https://issues.jboss.org/browse/DBZ-1825) +* MySql connector fails after CREATE TABLE IF NOT EXISTS table_A, given table_A does exist already [DBZ-1833](https://issues.jboss.org/browse/DBZ-1833) +* Unable to listen to binlogs for tables with a period in the table names [DBZ-1834](https://issues.jboss.org/browse/DBZ-1834) +* Redundant calls to refresh schema when using user defined types in PostgreSQL [DBZ-1849](https://issues.jboss.org/browse/DBZ-1849) +* postgres oid is too large to cast to integer [DBZ-1850](https://issues.jboss.org/browse/DBZ-1850) + + +### Other changes since 1.1.0.Beta2 + +* Verify correctness of JMX metrics [DBZ-1664](https://issues.jboss.org/browse/DBZ-1664) +* Document that server name option must not use hyphen in name [DBZ-1704](https://issues.jboss.org/browse/DBZ-1704) +* Move MongoDB connector to base framework [DBZ-1726](https://issues.jboss.org/browse/DBZ-1726) +* hstore.handling.mode docs seem inaccurate (and map shows null values) [DBZ-1758](https://issues.jboss.org/browse/DBZ-1758) +* Document transaction metadata topic name [DBZ-1779](https://issues.jboss.org/browse/DBZ-1779) +* Remove Microsoft references in Db2 connector comments [DBZ-1794](https://issues.jboss.org/browse/DBZ-1794) +* Fix link to CONTRIBUTE.md in debezium-incubator repository README.md [DBZ-1795](https://issues.jboss.org/browse/DBZ-1795) +* Invalid dependency definition in Quarkus ITs [DBZ-1799](https://issues.jboss.org/browse/DBZ-1799) +* Document MySQL boolean handling [DBZ-1801](https://issues.jboss.org/browse/DBZ-1801) +* Jackson dependency shouldn't be optional in Testcontainers module [DBZ-1803](https://issues.jboss.org/browse/DBZ-1803) +* Change Db2 configuration for faster test execution [DBZ-1809](https://issues.jboss.org/browse/DBZ-1809) +* Misleading warning message about uncommitted offsets [DBZ-1840](https://issues.jboss.org/browse/DBZ-1840) +* Missing info on DB2 connector in incubator README file [DBZ-1842](https://issues.jboss.org/browse/DBZ-1842) +* Only replace log levels if LOG_LEVEL var is set [DBZ-1843](https://issues.jboss.org/browse/DBZ-1843) +* Modularize tutorial [DBZ-1845](https://issues.jboss.org/browse/DBZ-1845) +* Modularize the monitoring doc [DBZ-1851](https://issues.jboss.org/browse/DBZ-1851) +* Remove deprecated methods from SnapshotProgressListener [DBZ-1856](https://issues.jboss.org/browse/DBZ-1856) +* Document PostgreSQL connector metrics [DBZ-1858](https://issues.jboss.org/browse/DBZ-1858) + + + +## 1.1.0.Beta2 +February 13th, 2020 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12344682) + +### New features since 1.1.0.Beta1 + +* Add ability to insert fields from op field in ExtractNewRecordState SMT [DBZ-1452](https://issues.jboss.org/browse/DBZ-1452) +* Integrates with TestContainers project [DBZ-1722](https://issues.jboss.org/browse/DBZ-1722) + + +### Breaking changes since 1.1.0.Beta1 + +None + + +### Fixes since 1.1.0.Beta1 + +* Postgres Connector losing data on restart due to commit() being called before events produced to Kafka [DBZ-1766](https://issues.jboss.org/browse/DBZ-1766) +* DBREF fields causes SchemaParseException using New Record State Extraction SMT and Avro converter [DBZ-1767](https://issues.jboss.org/browse/DBZ-1767) + + +### Other changes since 1.1.0.Beta1 + +* Superfluous whitespace in intra-level ToC sidebar [DBZ-1668](https://issues.jboss.org/browse/DBZ-1668) +* Outbox Quarkus Extension follow-up tasks [DBZ-1711](https://issues.jboss.org/browse/DBZ-1711) +* DB2 connector follow-up tasks [DBZ-1752](https://issues.jboss.org/browse/DBZ-1752) +* Unwrap SMT demo not compatible with ES 6.1+ [DBZ-1756](https://issues.jboss.org/browse/DBZ-1756) +* Instable SQL Server test [DBZ-1764](https://issues.jboss.org/browse/DBZ-1764) +* Remove Db2 JDBC driver from assembly package [DBZ-1776](https://issues.jboss.org/browse/DBZ-1776) +* Fix PostgresConnectorIT.shouldOutputRecordsInCloudEventsFormat test [DBZ-1783](https://issues.jboss.org/browse/DBZ-1783) +* Use "application/avro" as data content type in CloudEvents [DBZ-1784](https://issues.jboss.org/browse/DBZ-1784) +* Update Standard Tutorials/Examples with DB2 [DBZ-1558](https://issues.jboss.org/browse/DBZ-1558) + + + +## 1.1.0.Beta1 +February 5th, 2020 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12344479) + +### New features since 1.1.0.Alpha1 + +* Create a plug-in for DB2 streaming [DBZ-695](https://issues.jboss.org/browse/DBZ-695) +* Add topic routing by field option for New Record State Extraction [DBZ-1715](https://issues.jboss.org/browse/DBZ-1715) +* Generate date(time) field types in the Kafka Connect data structure [DBZ-1717](https://issues.jboss.org/browse/DBZ-1717) +* Publish TX boundary markers on a TX metadata topic [DBZ-1052](https://issues.jboss.org/browse/DBZ-1052) +* Replace connectorName with kafkaTopicPrefix in kafka key/value schema [DBZ-1763](https://issues.jboss.org/browse/DBZ-1763) + + +### Breaking changes since 1.1.0.Alpha1 + +* Generate date(time) field types in the Kafka Connect data structure [DBZ-1717](https://issues.jboss.org/browse/DBZ-1717) +* Publish TX boundary markers on a TX metadata topic [DBZ-1052](https://issues.jboss.org/browse/DBZ-1052) + + +### Fixes since 1.1.0.Alpha1 + +* Connector error after adding a new not null column to table in Postgres [DBZ-1698](https://issues.jboss.org/browse/DBZ-1698) +* MySQL connector doesn't use default value of connector.port [DBZ-1712](https://issues.jboss.org/browse/DBZ-1712) +* Fix broken images in Antora and brush up AsciiDoc [DBZ-1725](https://issues.jboss.org/browse/DBZ-1725) +* ANTLR parser cannot parse MariaDB Table DDL with TRANSACTIONAL attribute [DBZ-1733](https://issues.jboss.org/browse/DBZ-1733) +* Postgres connector does not support proxied connections [DBZ-1738](https://issues.jboss.org/browse/DBZ-1738) +* GET DIAGNOSTICS statement not parseable [DBZ-1740](https://issues.jboss.org/browse/DBZ-1740) +* Examples use http access to Maven repos which is no longer available [DBZ-1741](https://issues.jboss.org/browse/DBZ-1741) +* MySql password logged out in debug log level [DBZ-1748](https://issues.jboss.org/browse/DBZ-1748) +* Cannot shutdown PostgreSQL if there is an active Debezium connector [DBZ-1727](https://issues.jboss.org/browse/DBZ-1727) + + +### Other changes since 1.1.0.Alpha1 + +* Add tests for using fallback values with default REPLICA IDENTITY [DBZ-1158](https://issues.jboss.org/browse/DBZ-1158) +* Migrate all attribute name/value pairs to Antora component descriptors [DBZ-1687](https://issues.jboss.org/browse/DBZ-1687) +* Upgrade to Awestruct 0.6.0 [DBZ-1719](https://issues.jboss.org/browse/DBZ-1719) +* Run CI tests for delivered non-connector modules (like Quarkus) [DBZ-1724](https://issues.jboss.org/browse/DBZ-1724) +* Remove overlap of different documentation config files [DBZ-1729](https://issues.jboss.org/browse/DBZ-1729) +* Don't fail upon receiving unkown operation events [DBZ-1747](https://issues.jboss.org/browse/DBZ-1747) +* Provide a method to identify an envelope schema [DBZ-1751](https://issues.jboss.org/browse/DBZ-1751) +* Upgrade to Mongo Java Driver version 3.12.1 [DBZ-1761](https://issues.jboss.org/browse/DBZ-1761) +* Create initial Proposal for DB2 Source Connector [DBZ-1509](https://issues.jboss.org/browse/DBZ-1509) +* Review Pull Request for DB2 Connector [DBZ-1527](https://issues.jboss.org/browse/DBZ-1527) +* Test Set up of the DB2 Test Instance [DBZ-1556](https://issues.jboss.org/browse/DBZ-1556) +* Create Documentation for the DB2 Connector [DBZ-1557](https://issues.jboss.org/browse/DBZ-1557) +* Verify support of all DB2 types [DBZ-1708](https://issues.jboss.org/browse/DBZ-1708) + + + +## 1.1.0.Alpha1 +January 16th, 2020 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12344080) + +### New features since 1.0.0.Final + +* MongoDB authentication against non-admin authsource [DBZ-1168](https://issues.jboss.org/browse/DBZ-1168) +* Oracle: Add support for different representations of "NUMBER" Data Type [DBZ-1552](https://issues.jboss.org/browse/DBZ-1552) +* Update Mongo Java driver to version 3.12.0 [DBZ-1690](https://issues.jboss.org/browse/DBZ-1690) +* Support exporting change events in "CloudEvents" format [DBZ-1292](https://issues.jboss.org/browse/DBZ-1292) +* Build Quarkus extension facilitating implementations of the outbox pattern [DBZ-1478](https://issues.jboss.org/browse/DBZ-1478) +* Support column masking option for Postgres [DBZ-1685](https://issues.jboss.org/browse/DBZ-1685) + + +### Breaking changes since 1.0.0.Final + +* Remove "slot.drop_on_stop" option [DBZ-1600](https://issues.jboss.org/browse/DBZ-1600) +* Outbox event router should ensure record timestamp is always millis-since-epoch [DBZ-1707](https://issues.jboss.org/browse/DBZ-1707) + + +### Fixes since 1.0.0.Final + +* Make slot creation in PostgreSQL more resilient [DBZ-1684](https://issues.jboss.org/browse/DBZ-1684) +* SQLserver type time(4)...time(7) lost nanoseconds [DBZ-1688](https://issues.jboss.org/browse/DBZ-1688) +* Support boolean as default for INT(1) column in MySQL [DBZ-1689](https://issues.jboss.org/browse/DBZ-1689) +* SIGNAL statement is not recognized by DDL parser [DBZ-1691](https://issues.jboss.org/browse/DBZ-1691) +* When using in embedded mode MYSQL connector fails [DBZ-1693](https://issues.jboss.org/browse/DBZ-1693) +* MySQL connector fails to parse trigger DDL [DBZ-1699](https://issues.jboss.org/browse/DBZ-1699) + + +### Other changes since 1.0.0.Final + +* Update outbox routing example [DBZ-1673](https://issues.jboss.org/browse/DBZ-1673) +* Add option to JSON change event SerDe for ignoring unknown properties [DBZ-1703](https://issues.jboss.org/browse/DBZ-1703) +* Update debezium/awestruct image to use Antora 2.3 alpha 2 [DBZ-1713](https://issues.jboss.org/browse/DBZ-1713) + + + +## 1.0.0.Final +December 18th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12343667) + +### New features since 1.0.0.CR1 + +* Support streaming changes from SQL Server "AlwaysOn" replica [DBZ-1642](https://issues.jboss.org/browse/DBZ-1642) + + +### Breaking changes since 1.0.0.CR1 + +* Rename Serdes to DebeziumSerdes [DBZ-1670](https://issues.jboss.org/browse/DBZ-1670) +* MySQL Connector should use "snapshot.lock.timeout.ms" [DBZ-1671](https://issues.jboss.org/browse/DBZ-1671) + + +### Fixes since 1.0.0.CR1 + +* Interpret Sql Server timestamp timezone correctly [DBZ-1643](https://issues.jboss.org/browse/DBZ-1643) +* Sorting a HashSet only to put it back into a HashSet [DBZ-1650](https://issues.jboss.org/browse/DBZ-1650) +* Function with RETURN only statement cannot be parsed [DBZ-1659](https://issues.jboss.org/browse/DBZ-1659) +* Enum value resolution not working while streaming with wal2json or pgoutput [DBZ-1680](https://issues.jboss.org/browse/DBZ-1680) + + +### Other changes since 1.0.0.CR1 + +* Globally ensure in tests that records can be serialized [DBZ-824](https://issues.jboss.org/browse/DBZ-824) +* Allow upstream teststuite to run with productised dependencies [DBZ-1658](https://issues.jboss.org/browse/DBZ-1658) +* Upgrade to latest PostgreSQL driver 42.2.9 [DBZ-1660](https://issues.jboss.org/browse/DBZ-1660) +* Generate warning for connectors with automatically dropped slots [DBZ-1666](https://issues.jboss.org/browse/DBZ-1666) +* Regression test for MySQL dates in snapshot being off by one [DBZ-1667](https://issues.jboss.org/browse/DBZ-1667) +* Build against Apache Kafka 2.4 [DBZ-1676](https://issues.jboss.org/browse/DBZ-1676) +* When PostgreSQL schema refresh fails, allow error to include root cause [DBZ-1677](https://issues.jboss.org/browse/DBZ-1677) +* Prepare testsuite for RHEL 8 protobuf plugin RPM [DBZ-1536](https://issues.jboss.org/browse/DBZ-1536) + + + +## 1.0.0.CR1 +December 14th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12343169) + +### New features since 1.0.0.Beta3 + +* Transaction level TRANSACTION_READ_COMMITTED not implemented [DBZ-1480](https://issues.jboss.org/browse/DBZ-1480) +* Provide change event JSON Serde for Kafka Streams [DBZ-1533](https://issues.jboss.org/browse/DBZ-1533) +* Provide MongoDB 4.2 image [DBZ-1626](https://issues.jboss.org/browse/DBZ-1626) +* Support PostgreSQL enum types [DBZ-920](https://issues.jboss.org/browse/DBZ-920) +* Upgrade container images to Java 11 [DBZ-969](https://issues.jboss.org/browse/DBZ-969) +* Support MongoDB 4.0 transaction [DBZ-1215](https://issues.jboss.org/browse/DBZ-1215) +* Make connection timeout configurable in MySQL connection URL [DBZ-1632](https://issues.jboss.org/browse/DBZ-1632) +* Support for arrays of uuid [DBZ-1637](https://issues.jboss.org/browse/DBZ-1637) +* Add test matrix for SQL Server [DBZ-1644](https://issues.jboss.org/browse/DBZ-1644) + + +### Breaking changes since 1.0.0.Beta3 + +* Consolidate configuration parameters [DBZ-585](https://issues.jboss.org/browse/DBZ-585) + + +### Fixes since 1.0.0.Beta3 + +* Empty history topic treated as not existing [DBZ-1201](https://issues.jboss.org/browse/DBZ-1201) +* Incorrect handling of type alias [DBZ-1413](https://issues.jboss.org/browse/DBZ-1413) +* Blacklisted columns are not being filtered out when generating a Kafka message from a CDC event [DBZ-1617](https://issues.jboss.org/browse/DBZ-1617) +* IoUtil Bugfix [DBZ-1621](https://issues.jboss.org/browse/DBZ-1621) +* VariableLatch Bugfix [DBZ-1622](https://issues.jboss.org/browse/DBZ-1622) +* The oracle connector scans too many objects while attempting to determine the most recent ddl time [DBZ-1631](https://issues.jboss.org/browse/DBZ-1631) +* Connector does not update its state correctly when processing compound ALTER statement [DBZ-1645](https://issues.jboss.org/browse/DBZ-1645) +* Outbox event router shouldn't lower-case topic names [DBZ-1648](https://issues.jboss.org/browse/DBZ-1648) + + +### Other changes since 1.0.0.Beta3 + +* Merge the code for upscaling decimal values with scale lower than defined [DBZ-825](https://issues.jboss.org/browse/DBZ-825) +* Make Debezium project Java 11 compatible [DBZ-1402](https://issues.jboss.org/browse/DBZ-1402) +* Run SourceClear [DBZ-1602](https://issues.jboss.org/browse/DBZ-1602) +* Extend MySQL to test Enum with column.propagate.source.type [DBZ-1636](https://issues.jboss.org/browse/DBZ-1636) +* Sticky ToC hides tables in PG connector docs [DBZ-1652](https://issues.jboss.org/browse/DBZ-1652) +* Antora generates build warning [DBZ-1654](https://issues.jboss.org/browse/DBZ-1654) + + + +## 1.0.0.Beta3 +November 14th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12343094) + +### New features since 1.0.0.Beta2 + +* Standardize source info for Cassandra connector [DBZ-1408](https://issues.jboss.org/browse/DBZ-1408) +* Clarify presence of old values when not using REPLICA IDENTITY FULL [DBZ-1518](https://issues.jboss.org/browse/DBZ-1518) +* Propagate replicator exception so failure reason is available from Connect [DBZ-1583](https://issues.jboss.org/browse/DBZ-1583) +* Envelope methods should accept Instant instead of long for "ts" parameter [DBZ-1607](https://issues.jboss.org/browse/DBZ-1607) + + +### Breaking changes since 1.0.0.Beta2 + +* Rename drop_on_stop to drop.on.stop [DBZ-1595](https://issues.jboss.org/browse/DBZ-1595) + + +### Fixes since 1.0.0.Beta2 + +* Debezium Erroneously Reporting No Tables to Capture [DBZ-1519](https://issues.jboss.org/browse/DBZ-1519) +* Debezium Oracle connector attempting to analyze tables [DBZ-1569](https://issues.jboss.org/browse/DBZ-1569) +* Null values in "before" are populated with "__debezium_unavailable_value" [DBZ-1570](https://issues.jboss.org/browse/DBZ-1570) +* Postgresql 11+ pgoutput plugin error with truncate [DBZ-1576](https://issues.jboss.org/browse/DBZ-1576) +* Regression of postgres Connector times out in schema discovery for DBs with many tables [DBZ-1579](https://issues.jboss.org/browse/DBZ-1579) +* The ts_ms value is not correct during the snapshot processing [DBZ-1588](https://issues.jboss.org/browse/DBZ-1588) +* LogInterceptor is not thread-safe [DBZ-1590](https://issues.jboss.org/browse/DBZ-1590) +* Heartbeats are not generated for non-whitelisted tables [DBZ-1592](https://issues.jboss.org/browse/DBZ-1592) +* Config `tombstones.on.delete` is missing from SQL Server Connector configDef [DBZ-1593](https://issues.jboss.org/browse/DBZ-1593) +* AWS RDS Performance Insights screwed a little by non-closed statement in "SELECT COUNT(1) FROM pg_publication" [DBZ-1596](https://issues.jboss.org/browse/DBZ-1596) +* Update Postgres documentation to use ts_ms instead of ts_usec [DBZ-1610](https://issues.jboss.org/browse/DBZ-1610) +* Exception while trying snapshot schema of non-whitelisted table [DBZ-1613](https://issues.jboss.org/browse/DBZ-1613) + + +### Other changes since 1.0.0.Beta2 + +* Auto-format source code upon build [DBZ-1392](https://issues.jboss.org/browse/DBZ-1392) +* Update documentation based on Technology Preview [DBZ-1543](https://issues.jboss.org/browse/DBZ-1543) +* Reduce size of Postgres container images [DBZ-1549](https://issues.jboss.org/browse/DBZ-1549) +* Debezium should not use SHARE UPDATE EXCLUSIVE MODE locks [DBZ-1559](https://issues.jboss.org/browse/DBZ-1559) +* Allows tags to be passed to CI jobs [DBZ-1578](https://issues.jboss.org/browse/DBZ-1578) +* Upgrade MongoDB driver to 3.11 [DBZ-1597](https://issues.jboss.org/browse/DBZ-1597) +* Run formatter validation in Travis CI [DBZ-1603](https://issues.jboss.org/browse/DBZ-1603) +* Place formatting rules into Maven module [DBZ-1605](https://issues.jboss.org/browse/DBZ-1605) +* Upgrade to Kafka 2.3.1 [DBZ-1612](https://issues.jboss.org/browse/DBZ-1612) +* Allow per-connector setting for schema/catalog precedence in TableId use [DBZ-1555](https://issues.jboss.org/browse/DBZ-1555) + + + +## 1.0.0.Beta2 +October 24th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12343067) + +### New features since 1.0.0.Beta1 + +* Update tooling image to use latest kafkacat [DBZ-1522](https://issues.jboss.org/browse/DBZ-1522) +* Validate configured replication slot names [DBZ-1525](https://issues.jboss.org/browse/DBZ-1525) +* Make password field to be hidden for MS SQL connector [DBZ-1554](https://issues.jboss.org/browse/DBZ-1554) +* Raise a warning about growing backlog [DBZ-1565](https://issues.jboss.org/browse/DBZ-1565) +* Support Postgres LTREE columns [DBZ-1336](https://issues.jboss.org/browse/DBZ-1336) + + +### Breaking changes since 1.0.0.Beta1 + +None + + +### Fixes since 1.0.0.Beta1 + + +* Aborting snapshot due to error when last running 'UNLOCK TABLES': Only REPEATABLE READ isolation level is supported for START TRANSACTION WITH CONSISTENT SNAPSHOT in RocksDB Storage Engine. [DBZ-1428](https://issues.jboss.org/browse/DBZ-1428) +* MySQL Connector fails to parse DDL containing the keyword VISIBLE for index definitions [DBZ-1534](https://issues.jboss.org/browse/DBZ-1534) +* MySQL connector fails to parse DDL - GRANT SESSION_VARIABLES_ADMIN... [DBZ-1535](https://issues.jboss.org/browse/DBZ-1535) +* Mysql connector: The primary key cannot reference a non-existant column 'id' in table '***' [DBZ-1560](https://issues.jboss.org/browse/DBZ-1560) +* Incorrect source struct's collection field when dot is present in collection name [DBZ-1563](https://issues.jboss.org/browse/DBZ-1563) +* Transaction left open after db snapshot [DBZ-1564](https://issues.jboss.org/browse/DBZ-1564) + + +### Other changes since 1.0.0.Beta1 + +* Add Postgres 12 to testing matrix [DBZ-1542](https://issues.jboss.org/browse/DBZ-1542) +* Update Katacoda learning experience [DBZ-1548](https://issues.jboss.org/browse/DBZ-1548) + + + +## 1.0.0.Beta1 +October 17th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12341896) + +### New features since 0.10.0.Final + +* Provide alternative mapping for INTERVAL [DBZ-1498](https://issues.jboss.org/browse/DBZ-1498) +* Ensure message keys have correct field order [DBZ-1507](https://issues.jboss.org/browse/DBZ-1507) +* Image incorrect on Deploying Debezium on OpenShift [DBZ-1545](https://issues.jboss.org/browse/DBZ-1545) +* Indicate table locking issues in log [DBZ-1280](https://issues.jboss.org/browse/DBZ-1280) + + +### Breaking changes since 0.10.0.Final + +The ExtractNewDocumentState and EventRouter SMTs now propagate any heartbeat or schema change messages unchanged instead of dropping them as before. This is to ensure consistency with the ExtractNewRecordState SMT ([DBZ-1513](https://issues.jboss.org/browse/DBZ-1513)). + +The new Postgres connector option `interval.handling.mode` allows to control whether `INTERVAL` columns should be exported as microseconds (previous behavior, remains the default) or as ISO 8601 formatted string ([DBZ-1498](https://issues.jboss.org/browse/DBZ-1498)). The following upgrade order must be maintained when existing connectors capture `INTERVAL` columns: + +1. Upgrade the Debezium Kafka Connect Postgres connector +2. Upgrade the logical decoding plug-in installed in the database +3. (Optionally) switch `interval.handling.mode` to string + +In particular it should be avoided to upgrade the logical decoding plug-in before the connector, as this will cause no value to be exported for `INTERVAL` columns. + + +### Fixes since 0.10.0.Final + +* Debezium fails to snapshot large databases [DBZ-685](https://issues.jboss.org/browse/DBZ-685) +* Connector Postgres runs out of disk space [DBZ-892](https://issues.jboss.org/browse/DBZ-892) +* Debezium-MySQL Connector Fails while parsing AWS RDS internal events [DBZ-1492](https://issues.jboss.org/browse/DBZ-1492) +* MongoDB ExtractNewDocumentState SMT blocks heartbeat messages [DBZ-1513](https://issues.jboss.org/browse/DBZ-1513) +* pgoutput string decoding depends on JVM default charset [DBZ-1532](https://issues.jboss.org/browse/DBZ-1532) +* Whitespaces not stripped from table.whitelist [DBZ-1546](https://issues.jboss.org/browse/DBZ-1546) + + +### Other changes since 0.10.0.Final + +* Upgrade to latest JBoss Parent POM [DBZ-675](https://issues.jboss.org/browse/DBZ-675) +* CheckStyle: Flag missing whitespace [DBZ-1341](https://issues.jboss.org/browse/DBZ-1341) +* Upgrade to the latest Checkstyle plugin [DBZ-1355](https://issues.jboss.org/browse/DBZ-1355) +* CheckStyle: no code after closing braces [DBZ-1391](https://issues.jboss.org/browse/DBZ-1391) +* Add "adopters" file [DBZ-1460](https://issues.jboss.org/browse/DBZ-1460) +* Add Google Analytics to Antora-published pages [DBZ-1526](https://issues.jboss.org/browse/DBZ-1526) +* Create 0.10 RPM for postgres-decoderbufs [DBZ-1540](https://issues.jboss.org/browse/DBZ-1540) +* Postgres documentation fixes [DBZ-1544](https://issues.jboss.org/browse/DBZ-1544) + + + +## 0.10.0.Final +October 2nd, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12339267) + +### New features since 0.10.0.CR2 + +None + + +### Breaking changes since 0.10.0.CR2 + +None + + +### Fixes since 0.10.0.CR2 + +* Debezium Postgres replication with pgoutput plugin sending events slowly for non-batched insertions [DBZ-1515](https://issues.jboss.org/browse/DBZ-1515) +* ExtractNewRecordState access operation field before checking message format [DBZ-1517](https://issues.jboss.org/browse/DBZ-1517) + + +### Other changes since 0.10.0.CR2 + +* Go back to original PG 10 container image for testing [DBZ-1504](https://issues.jboss.org/browse/DBZ-1504) +* Support delete propagation in end-to-end demo [DBZ-1506](https://issues.jboss.org/browse/DBZ-1506) +* Update Unwrap/UnwrapMongoDB SMT demos to use latest Debezium and delete event support [DBZ-1516](https://issues.jboss.org/browse/DBZ-1516) + + +## 0.10.0.CR2 +September 26th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342807) + +### New features since 0.10.0.CR1 + +* Allow user to customize key for DB tables through configuration [DBZ-1015](https://issues.jboss.org/browse/DBZ-1015) +* Replace Custom Schema with Pluggable Serializers via KC Schema in Cassandra Connector [DBZ-1405](https://issues.jboss.org/browse/DBZ-1405) +* Porting insert fields from source struct feature to ExtractNewDocumentState SMT [DBZ-1442](https://issues.jboss.org/browse/DBZ-1442) +* Add column_id column to metadata section in messages in Kafka topic [DBZ-1483](https://issues.jboss.org/browse/DBZ-1483) + + +### Breaking changes since 0.10.0.CR1 + +* Change type of MicroDuration to int64 [DBZ-1497](https://issues.jboss.org/browse/DBZ-1497) +* Convey information about unchanged TOAST column values [DBZ-1367](https://issues.jboss.org/browse/DBZ-1367) + + +### Fixes since 0.10.0.CR1 + +* Cannot use Avro for fields with dash in name [DBZ-1044](https://issues.jboss.org/browse/DBZ-1044) +* Detection of unsupported include-unchanged-toast parameter is failing [DBZ-1399](https://issues.jboss.org/browse/DBZ-1399) +* Possible issue with Debezium not properly shutting down PG connections during Connect rebalance [DBZ-1426](https://issues.jboss.org/browse/DBZ-1426) +* Common error when PG connector cannot connect is confusing [DBZ-1427](https://issues.jboss.org/browse/DBZ-1427) +* Postgres connector does not honor `publication.name` configuration [DBZ-1436](https://issues.jboss.org/browse/DBZ-1436) +* Wrong interrupt handling [DBZ-1438](https://issues.jboss.org/browse/DBZ-1438) +* CREATE DATABASE and TABLE statements do not support DEFAULT charset [DBZ-1470](https://issues.jboss.org/browse/DBZ-1470) +* Avoid NPE at runtime in EventRouter when incorrect configuration is given. [DBZ-1495](https://issues.jboss.org/browse/DBZ-1495) +* java.time.format.DateTimeParseException: java.time.format.DateTimeParseException [DBZ-1501](https://issues.jboss.org/browse/DBZ-1501) + + +### Other changes since 0.10.0.CR1 + +* Publish container images to quay.io [DBZ-1178](https://issues.jboss.org/browse/DBZ-1178) +* Document installation of DecoderBufs plug-in via RPM on Fedora [DBZ-1286](https://issues.jboss.org/browse/DBZ-1286) +* Fix intermittendly failing Postgres tests [DBZ-1383](https://issues.jboss.org/browse/DBZ-1383) +* Add MongoDB 4.2 to testing matrix [DBZ-1389](https://issues.jboss.org/browse/DBZ-1389) +* Upgrade to latest Postgres driver [DBZ-1462](https://issues.jboss.org/browse/DBZ-1462) +* Use old SMT name in 0.9 docs [DBZ-1471](https://issues.jboss.org/browse/DBZ-1471) +* Speak of "primary" and "secondary" nodes in the Postgres docs [DBZ-1472](https://issues.jboss.org/browse/DBZ-1472) +* PostgreSQL `snapshot.mode` connector option description should include 'exported' [DBZ-1473](https://issues.jboss.org/browse/DBZ-1473) +* Update example tutorial to show using Avro configuration at connector level [DBZ-1474](https://issues.jboss.org/browse/DBZ-1474) +* Upgrade protobuf to version 3.8.0 [DBZ-1475](https://issues.jboss.org/browse/DBZ-1475) +* Logging can be confusing when using fallback replication stream methods [DBZ-1479](https://issues.jboss.org/browse/DBZ-1479) +* Remove info on when an option was introduced from the docs [DBZ-1493](https://issues.jboss.org/browse/DBZ-1493) +* Unstable Mysql connector Integration test (shouldProcessCreateUniqueIndex) [DBZ-1500](https://issues.jboss.org/browse/DBZ-1500) +* Update PostgreSQL documentation [DBZ-1503](https://issues.jboss.org/browse/DBZ-1503) +* DocumentTest#shouldCreateArrayFromValues() fails on Windows [DBZ-1508](https://issues.jboss.org/browse/DBZ-1508) + + +## 0.10.0.CR1 +September 10th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342542) + +### New features since 0.10.0.Beta4 + +* Replace YAML Dependency with Property File in Cassandra Connector [DBZ-1406](https://issues.jboss.org/browse/DBZ-1406) +* Exported snapshots are supported by PostgreSQL 9.4+ [DBZ-1440](https://issues.jboss.org/browse/DBZ-1440) +* Enhance Postgresql & Mysql Docker example images with some Spatial geometry [DBZ-1459](https://issues.jboss.org/browse/DBZ-1459) + + +### Breaking changes since 0.10.0.Beta4 + +* Upgrade ProtoBuf dependency [DBZ-1390](https://issues.jboss.org/browse/DBZ-1390) +* Support Connect date/time precision [DBZ-1419](https://issues.jboss.org/browse/DBZ-1419) + + +### Fixes since 0.10.0.Beta4 + +* Date conversion broken if date more than 3000 year [DBZ-949](https://issues.jboss.org/browse/DBZ-949) +* Overflowed Timestamp in Postgres Connection [DBZ-1205](https://issues.jboss.org/browse/DBZ-1205) +* Debezium does not expect a year larger than 9999 [DBZ-1255](https://issues.jboss.org/browse/DBZ-1255) +* ExportedSnapshotter and InitialOnlySnapshotter should not always execute a snapshot. [DBZ-1437](https://issues.jboss.org/browse/DBZ-1437) +* Source Fields Not Present on Delete Rewrite [DBZ-1448](https://issues.jboss.org/browse/DBZ-1448) +* NPE raises when a new connector has nothing to commit [DBZ-1457](https://issues.jboss.org/browse/DBZ-1457) +* MongoDB connector throws NPE on "op=n" [DBZ-1464](https://issues.jboss.org/browse/DBZ-1464) + + +### Other changes since 0.10.0.Beta4 + +* Engine does not stop on Exception [DBZ-1431](https://issues.jboss.org/browse/DBZ-1431) +* Create "architecture" and "feature" pages [DBZ-1458](https://issues.jboss.org/browse/DBZ-1458) + + +## 0.10.0.Beta4 +August 16th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342545) + +### New features since 0.10.0.Beta3 + +* Implement a CDC connector for Apache Cassandra [DBZ-607](https://issues.jboss.org/browse/DBZ-607) +* Support "Exported Snapshots" feature for taking lockless snapshots with Postgres [DBZ-1035](https://issues.jboss.org/browse/DBZ-1035) +* Snapshot Order of tables [DBZ-1254](https://issues.jboss.org/browse/DBZ-1254) +* Add ability to insert fields from source struct in ExtractNewRecordState SMT [DBZ-1395](https://issues.jboss.org/browse/DBZ-1395) + + +### Breaking changes since 0.10.0.Beta3 + +* Unify handling of attributes in EventRouter SMT [DBZ-1385](https://issues.jboss.org/browse/DBZ-1385) + + +### Fixes since 0.10.0.Beta3 + +* Debezium for MySQL fails on GRANT DELETE ON (table) [DBZ-1411](https://issues.jboss.org/browse/DBZ-1411) +* Debezium for MySQL tries to flush a table for a database not in the database whitelist [DBZ-1414](https://issues.jboss.org/browse/DBZ-1414) +* Table scan is performed anyway even if snapshot.mode is set to initial_schema_only [DBZ-1417](https://issues.jboss.org/browse/DBZ-1417) +* SMT ExtractNewDocumentState does not support Heartbeat events [DBZ-1430](https://issues.jboss.org/browse/DBZ-1430) +* Postgres connector does not honor `publication.name` configuration [DBZ-1436](https://issues.jboss.org/browse/DBZ-1436) + + +### Other changes since 0.10.0.Beta3 + +* Issue with debezium embedded documentation [DBZ-393](https://issues.jboss.org/browse/DBZ-393) +* Refactor Postgres connector to be based on new framework classes [DBZ-777](https://issues.jboss.org/browse/DBZ-777) +* Don't obtain new connection each time when getting xmin position [DBZ-1381](https://issues.jboss.org/browse/DBZ-1381) +* DockerHub: show container specific README files [DBZ-1387](https://issues.jboss.org/browse/DBZ-1387) +* Remove unused dependencies from Cassandra connector [DBZ-1424](https://issues.jboss.org/browse/DBZ-1424) +* Simplify custom engine name parsing grammar [DBZ-1432](https://issues.jboss.org/browse/DBZ-1432) + + +## 0.10.0.Beta3 +July 23rd, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342463) + +### New features since 0.10.0.Beta2 + +* Handle tables without primary keys [DBZ-916](https://issues.jboss.org/browse/DBZ-916) +* Define exposed connector metrics in MySQL [DBZ-1120](https://issues.jboss.org/browse/DBZ-1120) +* Set heartbeat interval for the binlog reader [DBZ-1338](https://issues.jboss.org/browse/DBZ-1338) +* Outbox router should skip heartbeat messages by default [DBZ-1388](https://issues.jboss.org/browse/DBZ-1388) +* Introduce number ofEventsInError metric [DBZ-1222](https://issues.jboss.org/browse/DBZ-1222) +* Add option to skip table locks when snapshotting [DBZ-1238](https://issues.jboss.org/browse/DBZ-1238) +* Explore built-in logical decoding added in Postgres 10 [DBZ-766](https://issues.jboss.org/browse/DBZ-766) +* Support deletion events in the outbox routing SMT [DBZ-1320](https://issues.jboss.org/browse/DBZ-1320) + + +### Breaking changes since 0.10.0.Beta2 + +* Improve heart beat emission for Postgres [DBZ-1363](https://issues.jboss.org/browse/DBZ-1363) + + +### Fixes since 0.10.0.Beta2 + +* Incorrect offset may be committed despite unparseable DDL statements [DBZ-599](https://issues.jboss.org/browse/DBZ-599) +* SavePoints are getting stored in history topic [DBZ-794](https://issues.jboss.org/browse/DBZ-794) +* delete message "op:d" on tables with unique combination of 2 primary keys = (composite keys) , the d records are not sent [DBZ-1180](https://issues.jboss.org/browse/DBZ-1180) +* When a MongoDB collection haven't had activity for a period of time an initial sync is triggered [DBZ-1198](https://issues.jboss.org/browse/DBZ-1198) +* Restore compatibility with Kafka 1.x [DBZ-1361](https://issues.jboss.org/browse/DBZ-1361) +* no viable alternative at input 'LOCK DEFAULT' [DBZ-1376](https://issues.jboss.org/browse/DBZ-1376) +* NullPointer Exception on getReplicationSlotInfo for Postgres [DBZ-1380](https://issues.jboss.org/browse/DBZ-1380) +* CHARSET is not supported for CAST function [DBZ-1397](https://issues.jboss.org/browse/DBZ-1397) +* Aria engine is not known by Debezium parser [DBZ-1398](https://issues.jboss.org/browse/DBZ-1398) +* Debezium does not get the first change after creating the replication slot in PostgreSQL [DBZ-1400](https://issues.jboss.org/browse/DBZ-1400) +* Built-in database filter throws NPE [DBZ-1409](https://issues.jboss.org/browse/DBZ-1409) +* Error processing RDS heartbeats [DBZ-1410](https://issues.jboss.org/browse/DBZ-1410) +* PostgreSQL Connector generates false alarm for empty password [DBZ-1379](https://issues.jboss.org/browse/DBZ-1379) + + +### Other changes since 0.10.0.Beta2 + +* Developer Preview Documentation [DBZ-1284](https://issues.jboss.org/browse/DBZ-1284) +* Expose metric for progress of DB history recovery [DBZ-1356](https://issues.jboss.org/browse/DBZ-1356) +* Upgrade to Apache Kafka 2.3 [DBZ-1358](https://issues.jboss.org/browse/DBZ-1358) +* Stabilize test executions on CI [DBZ-1362](https://issues.jboss.org/browse/DBZ-1362) +* Handling tombstone emission option consistently [DBZ-1365](https://issues.jboss.org/browse/DBZ-1365) +* Avoid creating unnecessary type metadata instances; only init once per column. [DBZ-1366](https://issues.jboss.org/browse/DBZ-1366) +* Fix tests to run more reliably on Amazon RDS [DBZ-1371](https://issues.jboss.org/browse/DBZ-1371) + + +## 0.10.0.Beta2 +June 27th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342231) + +### New features since 0.10.0.Beta1 + +* Protect against invalid configuration [DBZ-1340](https://issues.jboss.org/browse/DBZ-1340) +* Make emission of tombstone events configurable [DBZ-835](https://issues.jboss.org/browse/DBZ-835) +* Support HSTORE array types [DBZ-1337](https://issues.jboss.org/browse/DBZ-1337) + + +### Breaking changes since 0.10.0.Beta1 + +None + + +### Fixes since 0.10.0.Beta1 + +* Events for TRUNCATE TABLE not being emitted [DBZ-708](https://issues.jboss.org/browse/DBZ-708) +* Connector consumes huge amount of memory [DBZ-1065](https://issues.jboss.org/browse/DBZ-1065) +* Exception when starting the connector on Kafka Broker 0.10.1.0 [DBZ-1270](https://issues.jboss.org/browse/DBZ-1270) +* Raise warning when renaming table causes it to be captured or not captured any longer [DBZ-1278](https://issues.jboss.org/browse/DBZ-1278) +* no viable alternative at input 'ALTER TABLE `documents` RENAME INDEX' [DBZ-1329](https://issues.jboss.org/browse/DBZ-1329) +* MySQL DDL parser - issue with triggers and NEW [DBZ-1331](https://issues.jboss.org/browse/DBZ-1331) +* MySQL DDL parser - issue with COLLATE in functions [DBZ-1332](https://issues.jboss.org/browse/DBZ-1332) +* Setting "include.unknown.datatypes" to true works for streaming but not during snapshot [DBZ-1335](https://issues.jboss.org/browse/DBZ-1335) +* PostgreSQL db with materialized view failing during snapshot [DBZ-1345](https://issues.jboss.org/browse/DBZ-1345) +* Switch RecordsStreamProducer to use non-blocking stream call [DBZ-1347](https://issues.jboss.org/browse/DBZ-1347) +* Can't parse create definition on the mysql connector [DBZ-1348](https://issues.jboss.org/browse/DBZ-1348) +* String literal should support utf8mb3 charset [DBZ-1349](https://issues.jboss.org/browse/DBZ-1349) +* NO_AUTO_CREATE_USER sql mode is not supported in MySQL 8 [DBZ-1350](https://issues.jboss.org/browse/DBZ-1350) +* Incorrect assert for invalid timestamp check in MySQL 8 [DBZ-1353](https://issues.jboss.org/browse/DBZ-1353) + + +### Other changes since 0.10.0.Beta1 + +* Add to FAQ what to do on offset flush timeout [DBZ-799](https://issues.jboss.org/browse/DBZ-799) +* Update MongoDB driver to 3.10.1 [DBZ-1333](https://issues.jboss.org/browse/DBZ-1333) +* Fix test for partitioned table snapshot [DBZ-1342](https://issues.jboss.org/browse/DBZ-1342) +* Enable PostGIS for Alpine 9.6 [DBZ-1351](https://issues.jboss.org/browse/DBZ-1351) +* Fix description for state of Snapshot [DBZ-1346](https://issues.jboss.org/browse/DBZ-1346) +* Remove unused code for alternative topic selection strategy [DBZ-1352](https://issues.jboss.org/browse/DBZ-1352) + + +## 0.10.0.Beta1 +June 11th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342194) + +### New features since 0.10.0.Alpha2 + +* Issue a warning for filters not matching any table/database [DBZ-1242](https://issues.jboss.org/browse/DBZ-1242) + + +### Breaking changes since 0.10.0.Alpha2 + +None + + +### Fixes since 0.10.0.Alpha2 + +* Multiple cdc entries with exactly the same commitLsn and changeLsn [DBZ-1152](https://issues.jboss.org/browse/DBZ-1152) +* PostGIS does not work in Alpine images [DBZ-1307](https://issues.jboss.org/browse/DBZ-1307) +* Processing MongoDB document contains UNDEFINED type causes exception with MongoDB Unwrap SMT [DBZ-1315](https://issues.jboss.org/browse/DBZ-1315) +* Partial zero date datetime/timestamp will fail snapshot [DBZ-1318](https://issues.jboss.org/browse/DBZ-1318) +* Default value set null when modify a column from nullable to not null [DBZ-1321](https://issues.jboss.org/browse/DBZ-1321) +* Out-of-order chunks don't initiate commitTime [DBZ-1323](https://issues.jboss.org/browse/DBZ-1323) +* NullPointerException when receiving noop event [DBZ-1317](https://issues.jboss.org/browse/DBZ-1317) + + +### Other changes since 0.10.0.Alpha2 + +* Describe structure of SQL Server CDC events [DBZ-1296](https://issues.jboss.org/browse/DBZ-1296) +* Upgrade to Apache Kafka 2.2.1 [DBZ-1316](https://issues.jboss.org/browse/DBZ-1316) + + +## 0.10.0.Alpha2 +June 3rd, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12342158) + +### New features since 0.10.0.Alpha1 + +* "source" block for MySQL schema change events should contain db and table names [DBZ-871](https://issues.jboss.org/browse/DBZ-871) +* Adhere to Dockerfile good practices [DBZ-1279](https://issues.jboss.org/browse/DBZ-1279) + + +### Breaking changes since 0.10.0.Alpha1 + +* Change snapshot source field into three state [DBZ-1295](https://issues.jboss.org/browse/DBZ-1295) + + +### Fixes since 0.10.0.Alpha1 + +* DDL that contains `user` are unparsable by antlr [DBZ-1300](https://issues.jboss.org/browse/DBZ-1300) +* Only validate history topic name for affected connectors [DBZ-1283](https://issues.jboss.org/browse/DBZ-1283) + + +### Other changes since 0.10.0.Alpha1 + +* Upgrade ZooKeeper to 3.4.14 [DBZ-1298](https://issues.jboss.org/browse/DBZ-1298) +* Upgrade Docker tooling image [DBZ-1301](https://issues.jboss.org/browse/DBZ-1301) +* Upgrade Debezium Postgres Example image to 11 [DBZ-1302](https://issues.jboss.org/browse/DBZ-1302) +* Create profile to build assemblies without drivers [DBZ-1303](https://issues.jboss.org/browse/DBZ-1303) +* Modify release pipeline to use new Dockerfiles [DBZ-1304](https://issues.jboss.org/browse/DBZ-1304) +* Add 3rd party licences [DBZ-1306](https://issues.jboss.org/browse/DBZ-1306) +* Remove unused methods from ReplicationStream [DBZ-1310](https://issues.jboss.org/browse/DBZ-1310) +* Replace Predicate with ColumnNameFilter [DBZ-1092](https://issues.jboss.org/browse/DBZ-1092) + + +## 0.10.0.Alpha1 +May 28th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340285) + +### New features since 0.9.5.Final + +* Excessive warnings in log about column missing charset [DBZ-844](https://issues.jboss.org/browse/DBZ-844) +* Update JDBC (and Mongo) drivers to latest versions [DBZ-1273](https://issues.jboss.org/browse/DBZ-1273) +* Support snapshot SELECT overrides for SQL Server connector [DBZ-1224](https://issues.jboss.org/browse/DBZ-1224) +* Generate warning in logs if change table list is empty [DBZ-1281](https://issues.jboss.org/browse/DBZ-1281) + + +### Breaking changes since 0.9.5.Final + +* Align field names in source info block across connectors [DBZ-596](https://issues.jboss.org/browse/DBZ-596) +* Find better name for unwrap SMT [DBZ-677](https://issues.jboss.org/browse/DBZ-677) +* SnapshotReader should honor database.history.store.only.monitored.tables.ddl [DBZ-683](https://issues.jboss.org/browse/DBZ-683) +* Remove legacy DDL parser [DBZ-736](https://issues.jboss.org/browse/DBZ-736) +* Add database, schema and table names to "source" section of records for Oracle and SQL Server [DBZ-875](https://issues.jboss.org/browse/DBZ-875) +* "source" block for MongoDB change events should contain collection names [DBZ-1175](https://issues.jboss.org/browse/DBZ-1175) +* Make NumberOfEventsSkipped metric specific to MySQL [DBZ-1209](https://issues.jboss.org/browse/DBZ-1209) +* Remove deprecated features and configuration options [DBZ-1234](https://issues.jboss.org/browse/DBZ-1234) +* Make option names of outbox routing SMT more consistent [DBZ-1289](https://issues.jboss.org/browse/DBZ-1289) + + +### Fixes since 0.9.5.Final + +* MySQL connection with client authentication does not work [DBZ-1228](https://issues.jboss.org/browse/DBZ-1228) +* Unhandled exception prevents snapshot.mode : when_needed functioning [DBZ-1244](https://issues.jboss.org/browse/DBZ-1244) +* MySQL connector stops working with a NullPointerException error [DBZ-1246](https://issues.jboss.org/browse/DBZ-1246) +* CREATE INDEX can fail for non-monitored tables after connector restart [DBZ-1264](https://issues.jboss.org/browse/DBZ-1264) +* Create a spec file for RPM for postgres protobuf plugin [DBZ-1272](https://issues.jboss.org/browse/DBZ-1272) +* Last transaction events get duplicated on EmbeddedEngine MySQL connector restart [DBZ-1276](https://issues.jboss.org/browse/DBZ-1276) + + +### Other changes since 0.9.5.Final + +* Clean up integration tests under integration-tests [DBZ-263](https://issues.jboss.org/browse/DBZ-263) +* Misleading description for column.mask.with.length.chars parameter [DBZ-1290](https://issues.jboss.org/browse/DBZ-1290) +* Consolidate DDL parser tests [DBZ-733](https://issues.jboss.org/browse/DBZ-733) +* Document "database.ssl.mode" option [DBZ-985](https://issues.jboss.org/browse/DBZ-985) +* Synchronize MySQL grammar with upstream grammar [DBZ-1127](https://issues.jboss.org/browse/DBZ-1127) +* Add FAQ entry about -XX:+UseStringDeduplication JVM flag [DBZ-1139](https://issues.jboss.org/browse/DBZ-1139) +* Test and handle time 24:00:00 supported by PostgreSQL [DBZ-1164](https://issues.jboss.org/browse/DBZ-1164) +* Define final record format for MySQL, Postgres, SQL Server and MongoDB [DBZ-1235](https://issues.jboss.org/browse/DBZ-1235) +* Improve error reporting in case of misaligned schema and data [DBZ-1257](https://issues.jboss.org/browse/DBZ-1257) +* Adding missing contributors to COPYRIGHT.txt [DBZ-1259](https://issues.jboss.org/browse/DBZ-1259) +* Automate contributor check during release pipeline. [DBZ-1282](https://issues.jboss.org/browse/DBZ-1282) + + +## 0.9.5.Final +May 2nd, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12341657) + +### New features since 0.9.4.Final + +* Upgrade to Kafka 2.2.0 [DBZ-1227](https://issues.jboss.org/browse/DBZ-1227) +* Ability to specify batch size during snapshot [DBZ-1247](https://issues.jboss.org/browse/DBZ-1247) +* Postgresql ARRAY support [DBZ-1076](https://issues.jboss.org/browse/DBZ-1076) +* Add support macaddr and macaddr8 PostgreSQL column types [DBZ-1193](https://issues.jboss.org/browse/DBZ-1193) + + +### Breaking changes since 0.9.4.Final + +None + + +### Fixes since 0.9.4.Final + +* Failing to specify value for database.server.name results in invalid Kafka topic name [DBZ-212](https://issues.jboss.org/browse/DBZ-212) +* Escape sequence handling needs to be unified [DBZ-481](https://issues.jboss.org/browse/DBZ-481) +* Postgres Connector times out in schema discovery for DBs with many tables [DBZ-1214](https://issues.jboss.org/browse/DBZ-1214) +* Oracle connector: JDBC transaction can only capture single DML record [DBZ-1223](https://issues.jboss.org/browse/DBZ-1223) +* Enable enumeration options to contain escaped characters or commas. [DBZ-1226](https://issues.jboss.org/browse/DBZ-1226) +* Antlr parser fails on column named with MODE keyword [DBZ-1233](https://issues.jboss.org/browse/DBZ-1233) +* Lost precision for timestamp with timezone [DBZ-1236](https://issues.jboss.org/browse/DBZ-1236) +* NullpointerException due to optional value for commitTime [DBZ-1241](https://issues.jboss.org/browse/DBZ-1241) +* Default value for datetime(0) is incorrectly handled [DBZ-1243](https://issues.jboss.org/browse/DBZ-1243) +* Postgres connector failing because empty state data is being stored in offsets topic [DBZ-1245](https://issues.jboss.org/browse/DBZ-1245) +* Default value for Bit does not work for larger values [DBZ-1249](https://issues.jboss.org/browse/DBZ-1249) +* Microsecond precision is lost when reading timetz data from Postgres. [DBZ-1260](https://issues.jboss.org/browse/DBZ-1260) + + +### Other changes since 0.9.4.Final + +* Zookeeper image documentation does not describe txns mountpoint [DBZ-1231](https://issues.jboss.org/browse/DBZ-1231) +* Parse enum and set options with Antlr [DBZ-739](https://issues.jboss.org/browse/DBZ-739) + + +## 0.9.4.Final +April 11th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12341407) + +### New features since 0.9.3.Final + +* Add MySQL Connector metric to expose "number of filtered events" [DBZ-1206](https://issues.jboss.org/browse/DBZ-1206) +* Support TLS 1.2 for MySQL [DBZ-1208](https://issues.jboss.org/browse/DBZ-1208) +* Create new MysqlConnector metric exposing if the connector is tracking offsets using GTIDs or not. [DBZ-1221](https://issues.jboss.org/browse/DBZ-1221) +* Add support for columns of type INET [DBZ-1189](https://issues.jboss.org/browse/DBZ-1189) + + +### Breaking changes since 0.9.3.Final + +None + + +### Fixes since 0.9.3.Final + +* Incorrect value for datetime field for '0001-01-01 00:00:00' [DBZ-1143](https://issues.jboss.org/browse/DBZ-1143) +* PosgreSQL DecoderBufs crash when working with geometries in "public" schema [DBZ-1144](https://issues.jboss.org/browse/DBZ-1144) +* [postgres] differing logic between snapsnot and streams for create record [DBZ-1163](https://issues.jboss.org/browse/DBZ-1163) +* Error while deserializing binlog event [DBZ-1191](https://issues.jboss.org/browse/DBZ-1191) +* MySQL connector throw an exception when captured invalid datetime [DBZ-1194](https://issues.jboss.org/browse/DBZ-1194) +* Error when alter Enum column with CHARACTER SET [DBZ-1203](https://issues.jboss.org/browse/DBZ-1203) +* Mysql: Getting ERROR `Failed due to error: connect.errors.ConnectException: For input string: "false"` [DBZ-1204](https://issues.jboss.org/browse/DBZ-1204) +* MySQL connection timeout after bootstrapping a new table [DBZ-1207](https://issues.jboss.org/browse/DBZ-1207) +* SLF4J usage issues [DBZ-1212](https://issues.jboss.org/browse/DBZ-1212) +* JDBC Connection Not Closed in MySQL Connector Snapshot Reader [DBZ-1218](https://issues.jboss.org/browse/DBZ-1218) +* Support FLOAT(p) column definition style [DBZ-1220](https://issues.jboss.org/browse/DBZ-1220) + + +### Other changes since 0.9.3.Final + +* Add WhitespaceAfter check to Checkstyle [DBZ-362](https://issues.jboss.org/browse/DBZ-362) +* Document RDS Postgres wal_level behavior [DBZ-1219](https://issues.jboss.org/browse/DBZ-1219) + + +## 0.9.3.Final +March 25th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340751) + +### New features since 0.9.2.Final + +* Support Outbox SMT as part of Debezium core [DBZ-1169](https://issues.jboss.org/browse/DBZ-1169) +* Add support for partial recovery from lost slot in postgres [DBZ-1082](https://issues.jboss.org/browse/DBZ-1082) + + +### Breaking changes since 0.9.2.Final + +None + + +### Fixes since 0.9.2.Final + +* Postgresql Snapshot with a table that has > 8192records hangs [DBZ-1161](https://issues.jboss.org/browse/DBZ-1161) +* HStores fail to Snapshot properly [DBZ-1162](https://issues.jboss.org/browse/DBZ-1162) +* NullPointerException When there are multiple tables in different schemas in the whitelist [DBZ-1166](https://issues.jboss.org/browse/DBZ-1166) +* Cannot set offset.flush.interval.ms via docker entrypoint [DBZ-1167](https://issues.jboss.org/browse/DBZ-1167) +* Missing Oracle OCI library is not reported as error [DBZ-1170](https://issues.jboss.org/browse/DBZ-1170) +* RecordsStreamProducer forgets to convert commitTime from nanoseconds to microseconds [DBZ-1174](https://issues.jboss.org/browse/DBZ-1174) +* MongoDB Connector doesn't fail on invalid hosts configuration [DBZ-1177](https://issues.jboss.org/browse/DBZ-1177) +* Handle NPE errors when trying to create history topic against confluent cloud [DBZ-1179](https://issues.jboss.org/browse/DBZ-1179) +* The Postgres wal2json streaming and non-streaming decoders do not process empty events [DBZ-1181](https://issues.jboss.org/browse/DBZ-1181) +* Can't continue after snapshot is done [DBZ-1184](https://issues.jboss.org/browse/DBZ-1184) +* ParsingException for SERIAL keyword [DBZ-1185](https://issues.jboss.org/browse/DBZ-1185) +* STATS_SAMPLE_PAGES config cannot be parsed [DBZ-1186](https://issues.jboss.org/browse/DBZ-1186) +* MySQL Connector generates false alarm for empty password [DBZ-1188](https://issues.jboss.org/browse/DBZ-1188) + + +### Other changes since 0.9.2.Final + +* Ensure no brace-less if() blocks are used in the code base [DBZ-1039](https://issues.jboss.org/browse/DBZ-1039) +* Align Oracle DDL parser code to use the same structure as MySQL [DBZ-1192](https://issues.jboss.org/browse/DBZ-1192) + + +## 0.9.2.Final +February 22nd, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340752) + +### New features since 0.9.1.Final + +* Add snapshotting mode NEVER for MongoDB connector [DBZ-867](https://issues.jboss.org/browse/DBZ-867) +* Allow passing of arbitrary parameters when replication slot is started [DBZ-1130](https://issues.jboss.org/browse/DBZ-1130) + + +### Breaking changes since 0.9.1.Final + +None + + +### Fixes since 0.9.1.Final + +* Integer default value for DECIMAL column fails with Avro Converter [DBZ-1077](https://issues.jboss.org/browse/DBZ-1077) +* connect binds only to hostname interface [DBZ-1108](https://issues.jboss.org/browse/DBZ-1108) +* Connector fails to connect to binlog on connectors rebalance, throws ServerException [DBZ-1132](https://issues.jboss.org/browse/DBZ-1132) +* Fail to parse MySQL TIME with values bigger than 23:59:59.999999 [DBZ-1137](https://issues.jboss.org/browse/DBZ-1137) +* Test dependencies shouldn't be part of the SQL Server connector archive [DBZ-1138](https://issues.jboss.org/browse/DBZ-1138) +* Emit correctly-typed fallback values for replica identity DEFAULT [DBZ-1141](https://issues.jboss.org/browse/DBZ-1141) +* Unexpected exception while streaming changes from row with unchanged toast [DBZ-1146](https://issues.jboss.org/browse/DBZ-1146) +* SQL syntax error near '"gtid_purged"' [DBZ-1147](https://issues.jboss.org/browse/DBZ-1147) +* Postgres delete operations throwing DataException [DBZ-1149](https://issues.jboss.org/browse/DBZ-1149) +* Antlr parser fails on column names that are keywords [DBZ-1150](https://issues.jboss.org/browse/DBZ-1150) +* SqlServerConnector doesn't work with table names with "special characters" [DBZ-1153](https://issues.jboss.org/browse/DBZ-1153) + + +### Other changes since 0.9.1.Final + +* Describe topic-level settings to ensure event consumption when log compaction is enabled [DBZ-1136](https://issues.jboss.org/browse/DBZ-1136) +* Upgrade binlog client to 0.19.0 [DBZ-1140](https://issues.jboss.org/browse/DBZ-1140) +* Upgrade kafkacat to 1.4.0-RC1 [DBZ-1148](https://issues.jboss.org/browse/DBZ-1148) +* Upgrade Avro connector version to 5.1.2 [DBZ-1156](https://issues.jboss.org/browse/DBZ-1156) +* Upgrade to Kafka 2.1.1 [DBZ-1157](https://issues.jboss.org/browse/DBZ-1157) + + +## 0.9.1.Final +February 13th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340576) + +### New features since 0.9.0.Final + +* Provide new container image with tooling for examples and demos [DBZ-1125](https://issues.jboss.org/browse/DBZ-1125) + + +### Breaking changes since 0.9.0.Final + +None + + +### Fixes since 0.9.0.Final + +* BigDecimal has mismatching scale value for given Decimal schema error due to permissive mysql ddl [DBZ-983](https://issues.jboss.org/browse/DBZ-983) +* Primary key changes cause UnsupportedOperationException [DBZ-997](https://issues.jboss.org/browse/DBZ-997) +* java.lang.IllegalArgumentException: timeout value is negative [DBZ-1019](https://issues.jboss.org/browse/DBZ-1019) +* Connector consumes huge amount of memory [DBZ-1065](https://issues.jboss.org/browse/DBZ-1065) +* Strings.join() doesn't apply conversation for first element [DBZ-1112](https://issues.jboss.org/browse/DBZ-1112) +* NPE if database history filename has no parent folder [DBZ-1122](https://issues.jboss.org/browse/DBZ-1122) +* Generated columns not supported by DDL parser [DBZ-1123](https://issues.jboss.org/browse/DBZ-1123) +* Advancing LSN in the first iteration - possible data loss [DBZ-1128](https://issues.jboss.org/browse/DBZ-1128) +* Incorrect LSN comparison can cause out of order processing [DBZ-1131](https://issues.jboss.org/browse/DBZ-1131) + + +### Other changes since 0.9.0.Final + +* io.debezium.connector.postgresql.PostgisGeometry shouldn't use DatatypeConverter [DBZ-962](https://issues.jboss.org/browse/DBZ-962) +* Schema change events should be of type ALTER when table is modified [DBZ-1121](https://issues.jboss.org/browse/DBZ-1121) +* Wal2json ISODateTimeFormatTest fails with a locale other than Locale.ENGLISH [DBZ-1126](https://issues.jboss.org/browse/DBZ-1126) + + +### Known issues + +A potential [race condition](https://github.com/shyiko/mysql-binlog-connector-java/pull/260) was identified in upstream library for MySQL's binary log processing. +The problem exhibits as the issue [DBZ-1132](https://issues.jboss.org/projects/DBZ/issues/DBZ-1132). +If you are affected by it we propose as the workaround to increase Kafka Connect configuration options `task.shutdown.graceful.timeout.ms` and `connect.rebalance.timeout.ms`. +If the problem persists please disable keepalive thread via Debezium configration option `connect.keep.alive`. + + + +## 0.9.0.Final +February 5th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340275) + +### New features since 0.9.0.CR1 + +* Expose more useful metrics and improve Grafana dashboard [DBZ-1040](https://issues.jboss.org/browse/DBZ-1040) + + +### Breaking changes since 0.9.0.CR1 + +None + + +### Fixes since 0.9.0.CR1 + +* Allow to use drop-slot-on-close option with wal2json [DBZ-1111](https://issues.jboss.org/browse/DBZ-1111) +* MySqlDdlParser does not support adding multiple partitions in a single ALTER TABLE ... ADD PARTITION statement [DBZ-1113](https://issues.jboss.org/browse/DBZ-1113) +* Debezium fails to take a lock during snapshot [DBZ-1115](https://issues.jboss.org/browse/DBZ-1115) +* Data from Postgres partitioned table written to wrong topic during snapshot [DBZ-1118](https://issues.jboss.org/browse/DBZ-1118) + + +### Other changes since 0.9.0.CR1 + +* Clarify whether DDL parser is actually needed for SQL Server connector [DBZ-1096](https://issues.jboss.org/browse/DBZ-1096) +* Add design description to SqlServerStreamingChangeEventSource [DBZ-1097](https://issues.jboss.org/browse/DBZ-1097) +* Put out message about missing LSN at WARN level [DBZ-1116](https://issues.jboss.org/browse/DBZ-1116) + + +## 0.9.0.CR1 +January 28th, 2019 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12340263) + +### New features since 0.9.0.Beta2 + +* Snapshot isolation level overhaul [DBZ-947](https://issues.jboss.org/browse/DBZ-947) +* Kafka docker image - support for topic cleanup policy [DBZ-1038](https://issues.jboss.org/browse/DBZ-1038) +* Optimize sys.fn_cdc_map_lsn_to_time() calls [DBZ-1078](https://issues.jboss.org/browse/DBZ-1078) +* Fallback to restart_lsn if confirmed_flush_lsn is not found [DBZ-1081](https://issues.jboss.org/browse/DBZ-1081) +* table.whitelist option update for an existing connector doesn't work [DBZ-175](https://issues.jboss.org/browse/DBZ-175) +* EmbeddedEngine should allow for more flexible record consumption [DBZ-1080](https://issues.jboss.org/browse/DBZ-1080) +* Client-side column blacklisting in SQL Server connector [DBZ-1067](https://issues.jboss.org/browse/DBZ-1067) +* column.propagate.source.type missing scale [DBZ-1073](https://issues.jboss.org/browse/DBZ-1073) + + +### Breaking changes since 0.9.0.Beta2 + +SQL Server connector has re-worked semantics ([DBZ-1101](https://issues.jboss.org/browse/DBZ-1101)) of snapshot modes.\ +SQL Server connector also adds a new field to offsets in the streaming mode ([DBZ-1090](https://issues.jboss.org/browse/DBZ-1090)) which could prevent seamless upgrading of versions. We recommend to re-register and restart the connector.\ +SQL Server connector has changed the schema name of message schemas ([DBZ-1089](https://issues.jboss.org/browse/DBZ-1089)), superfluous database name has been dropped. + + +### Fixes since 0.9.0.Beta2 + +* ArrayIndexOutOfBoundsException when a column is deleted (Postgres) [DBZ-996](https://issues.jboss.org/browse/DBZ-996) +* Messages from tables without PK and with REPLICA IDENTITY FULL [DBZ-1029](https://issues.jboss.org/browse/DBZ-1029) +* Inconsistent schema name in streaming and snapshotting phase [DBZ-1051](https://issues.jboss.org/browse/DBZ-1051) +* "watch-topic" and "create-topic" commands fail [DBZ-1057](https://issues.jboss.org/browse/DBZ-1057) +* Antlr Exception: mismatched input '.' expecting {, '--'} [DBZ-1059](https://issues.jboss.org/browse/DBZ-1059) +* MySQL JDBC Context sets the wrong truststore password [DBZ-1062](https://issues.jboss.org/browse/DBZ-1062) +* Unsigned smallint column in mysql failing due to out of range error [DBZ-1063](https://issues.jboss.org/browse/DBZ-1063) +* NULL Values are replaced by default values even in NULLABLE fields [DBZ-1064](https://issues.jboss.org/browse/DBZ-1064) +* Uninformative "Found previous offset" log [DBZ-1066](https://issues.jboss.org/browse/DBZ-1066) +* SQL Server connector does not persist LSNs in Kafka [DBZ-1069](https://issues.jboss.org/browse/DBZ-1069) +* [debezium] ERROR: option \"include-unchanged-toast\" = \"0\" is unknown [DBZ-1083](https://issues.jboss.org/browse/DBZ-1083) +* Debezium fails when consuming table without primary key with turned on topic routing [DBZ-1086](https://issues.jboss.org/browse/DBZ-1086) +* Wrong message key and event used when primary key is updated [DBZ-1088](https://issues.jboss.org/browse/DBZ-1088) +* Connect schema name is wrong for SQL Server [DBZ-1089](https://issues.jboss.org/browse/DBZ-1089) +* Incorrect LSN tracking - possible data loss [DBZ-1090](https://issues.jboss.org/browse/DBZ-1090) +* Race condition in EmbeddedEngine shutdown [DBZ-1103](https://issues.jboss.org/browse/DBZ-1103) + + +### Other changes since 0.9.0.Beta2 + +* Intermittent failures in RecordsStreamProducerIT#shouldPropagateSourceColumnTypeToSchemaParameter() [DBZ-781](https://issues.jboss.org/browse/DBZ-781) +* Assert MongoDB supported versions [DBZ-988](https://issues.jboss.org/browse/DBZ-988) +* Describe how to do DDL changes for SQL Server [DBZ-993](https://issues.jboss.org/browse/DBZ-993) +* Verify version of wal2json on RDS [DBZ-1056](https://issues.jboss.org/browse/DBZ-1056) +* Move SQL Server connector to main repo [DBZ-1084](https://issues.jboss.org/browse/DBZ-1084) +* Don't enqueue further records when connector is stopping [DBZ-1099](https://issues.jboss.org/browse/DBZ-1099) +* Race condition in SQLServer tests during snapshot phase [DBZ-1101](https://issues.jboss.org/browse/DBZ-1101) +* Remove columnNames field from TableImpl [DBZ-1105](https://issues.jboss.org/browse/DBZ-1105) +* column.propagate.source.type missing scale [DBZ-387](https://issues.jboss.org/browse/DBZ-387) +* write catch-up binlog reader [DBZ-387](https://issues.jboss.org/browse/DBZ-388) +* changes to Snapshot and Binlog readers to allow for concurrent/partial running [DBZ-387](https://issues.jboss.org/browse/DBZ-389) + + +## 0.9.0.Beta2 +December 19th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12339976) + +### New features since 0.9.0.Beta1 + +* Add support for Oracle 11g [DBZ-954](https://issues.jboss.org/browse/DBZ-954) +* UnwrapFromMongoDbEnvelope refactor [DBZ-1020](https://issues.jboss.org/browse/DBZ-1020) +* Add option for dropping deletes and tombstone events to MongoDB struct recreation SMT [DBZ-563](https://issues.jboss.org/browse/DBZ-563) +* Expose "snapshot.delay.ms" option for all connectors [DBZ-966](https://issues.jboss.org/browse/DBZ-966) +* Convey original operation type when using flattening SMTs [DBZ-971](https://issues.jboss.org/browse/DBZ-971) +* Provide last event and captured tables in metrics [DBZ-978](https://issues.jboss.org/browse/DBZ-978) +* Skip MySQL BinLog Event in case of Invalid Cell Values [DBZ-1010](https://issues.jboss.org/browse/DBZ-1010) + + +### Breaking changes since 0.9.0.Beta1 + +MongoDB CDC Event Flattening transormation now by default removes deletion messages. +Previous default was to keep them. + + +### Fixes since 0.9.0.Beta1 + +* BinaryLogClient can't disconnect when adding records after shutdown has been initiated [DBZ-604](https://issues.jboss.org/browse/DBZ-604) +* UnwrapFromMongoDbEnvelope fails when encountering $unset operator [DBZ-612](https://issues.jboss.org/browse/DBZ-612) +* "no known snapshots" error when DBs rows are large [DBZ-842](https://issues.jboss.org/browse/DBZ-842) +* MongoDB connector stops processing oplog events after encountering "new primary" event [DBZ-848](https://issues.jboss.org/browse/DBZ-848) +* MySQL active-passive: brief data loss on failover when Debezium encounters new GTID channel [DBZ-923](https://issues.jboss.org/browse/DBZ-923) +* ConnectException: Only REPEATABLE READ isolation level is supported for START TRANSACTION WITH CONSISTENT SNAPSHOT in RocksDB Storage Engine [DBZ-960](https://issues.jboss.org/browse/DBZ-960) +* ConnectException during ALTER TABLE for non-whitelisted table [DBZ-977](https://issues.jboss.org/browse/DBZ-977) +* UnwrapFromMongoDbEnvelope fails when encountering full updates [DBZ-987](https://issues.jboss.org/browse/DBZ-987) +* UnwrapFromMongoDbEnvelope fails when encountering Tombstone messages [DBZ-989](https://issues.jboss.org/browse/DBZ-989) +* Postgres schema changes detection (not-null constraint) [DBZ-1000](https://issues.jboss.org/browse/DBZ-1000) +* NPE in SqlServerConnectorTask#cleanupResources() if connector failed to start [DBZ-1002](https://issues.jboss.org/browse/DBZ-1002) +* Explicitly initialize history topic in HistorizedRelationalDatabaseSchema [DBZ-1003](https://issues.jboss.org/browse/DBZ-1003) +* BinlogReader ignores GTIDs for empty database [DBZ-1005](https://issues.jboss.org/browse/DBZ-1005) +* NPE in MySqlConnectorTask.stop() [DBZ-1006](https://issues.jboss.org/browse/DBZ-1006) +* The name of captured but not whitelisted table is not logged [DBZ-1007](https://issues.jboss.org/browse/DBZ-1007) +* GTID set is not properly initialized after DB failover [DBZ-1008](https://issues.jboss.org/browse/DBZ-1008) +* Postgres Connector fails on none nullable MACADDR field during initial snapshot [DBZ-1009](https://issues.jboss.org/browse/DBZ-1009) +* Connector crashes with java.lang.NullPointerException when using multiple sinks to consume the messages [DBZ-1017](https://issues.jboss.org/browse/DBZ-1017) +* Postgres connector fails upon event of recently deleted table [DBZ-1021](https://issues.jboss.org/browse/DBZ-1021) +* ORA-46385: DML and DDL operations are not allowed on table "AUDSYS"."AUD$UNIFIED" [DBZ-1023](https://issues.jboss.org/browse/DBZ-1023) +* Postgres plugin does not signal the end of snapshot properly [DBZ-1024](https://issues.jboss.org/browse/DBZ-1024) +* MySQL Antlr runtime.NoViableAltException [DBZ-1028](https://issues.jboss.org/browse/DBZ-1028) +* Debezium 0.8.2 and 0.8.3.Final Not Available on Confluent Hub [DBZ-1030](https://issues.jboss.org/browse/DBZ-1030) +* Snapshot of tables with reserved names fails [DBZ-1031](https://issues.jboss.org/browse/DBZ-1031) +* UnwrapFromMongoDbEnvelope doesn't support operation header on tombstone messages [DBZ-1032](https://issues.jboss.org/browse/DBZ-1032) +* Mysql binlog reader lost data if restart task when last binlog event is QUERY event. [DBZ-1033](https://issues.jboss.org/browse/DBZ-1033) +* The same capture instance name is logged twice [DBZ-1047](https://issues.jboss.org/browse/DBZ-1047) + + +### Other changes since 0.9.0.Beta1 + +* MySQL 8 compatibility [DBZ-688](https://issues.jboss.org/browse/DBZ-688) +* Don't hard code list of supported MySQL storage engines in Antlr grammar [DBZ-992](https://issues.jboss.org/browse/DBZ-992) +* Provide updated KSQL example [DBZ-999](https://issues.jboss.org/browse/DBZ-999) +* Update to Kafka 2.1 [DBZ-1001](https://issues.jboss.org/browse/DBZ-1001) +* Skipt Antlr tests when tests are skipped [DBZ-1004](https://issues.jboss.org/browse/DBZ-1004) +* Fix expected records counts in MySQL tests [DBZ-1016](https://issues.jboss.org/browse/DBZ-1016) +* Cannot run tests against Kafka 1.x [DBZ-1037](https://issues.jboss.org/browse/DBZ-1037) +* Configure MySQL Matrix testing job to test with and without GTID [DBZ-1050](https://issues.jboss.org/browse/DBZ-1050) + + +## 0.9.0.Beta1 +November 20th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12339372) + +### New features since 0.9.0.Alpha2 + +* Add STATUS_STORAGE_TOPIC environment variable to container images [DBZ-893](https://issues.jboss.org/browse/DBZ-893) +* Support Postgres 11 in Decoderbufs [DBZ-955](https://issues.jboss.org/browse/DBZ-955) +* Define the data directory where tests are storing their data [DBZ-963](https://issues.jboss.org/browse/DBZ-963) +* Upgrade Kafka to 2.0.1 [DBZ-979](https://issues.jboss.org/browse/DBZ-979) +* Implement unified metrics across connectors [DBZ-776](https://issues.jboss.org/browse/DBZ-776) +* Initial snapshot using snapshot isolation level [DBZ-941](https://issues.jboss.org/browse/DBZ-941) +* Add decimal.handling.mode for SQLServer Configuration [DBZ-953](https://issues.jboss.org/browse/DBZ-953) +* Support pass-through of "database." properties to JDBC driver [DBZ-964](https://issues.jboss.org/browse/DBZ-964) +* Handle changes of table definitions and tables created while streaming [DBZ-812](https://issues.jboss.org/browse/DBZ-812) + + +### Breaking changes since 0.9.0.Alpha2 + +MySQL Connector now uses Antlr parser as [the default](https://issues.jboss.org/browse/DBZ-990). + + +### Fixes since 0.9.0.Alpha2 + +* Error while parsing JSON column type for MySQL [DBZ-935](https://issues.jboss.org/browse/DBZ-935) +* wal2json CITEXT columns set to empty strings [DBZ-937](https://issues.jboss.org/browse/DBZ-937) +* Base docker image is deprecated [DBZ-939](https://issues.jboss.org/browse/DBZ-939) +* Mysql connector failed to parse add partition statement [DBZ-959](https://issues.jboss.org/browse/DBZ-959) +* PostgreSQL replication slots not updated in transactions [DBZ-965](https://issues.jboss.org/browse/DBZ-965) +* wal2json_streaming decoder does not provide the right plugin name [DBZ-970](https://issues.jboss.org/browse/DBZ-970) +* Create topics command doesn't work in Kafka docker image [DBZ-976](https://issues.jboss.org/browse/DBZ-976) +* Antlr parser: support quoted engine names in DDL [DBZ-990](https://issues.jboss.org/browse/DBZ-990) + + +### Other changes since 0.9.0.Alpha2 + +* Switch to Antlr-based parser implementation by default [DBZ-757](https://issues.jboss.org/browse/DBZ-757) +* Support RENAME column syntax from MySQL 8.0 [DBZ-780](https://issues.jboss.org/browse/DBZ-780) +* Fix documentation of 'array.encoding' option [DBZ-925](https://issues.jboss.org/browse/DBZ-925) +* Support MongoDB 4.0 [DBZ-974](https://issues.jboss.org/browse/DBZ-974) + + +## 0.9.0.Alpha2 +October 4th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338766) + +### New features since 0.9.0.Alpha1 + +* Build Alpine Linux versions of the PostgreSQL containers [DBZ-705](https://issues.jboss.org/browse/DBZ-705) +* Refactor methods to read MySQL sytem variables [DBZ-849](https://issues.jboss.org/browse/DBZ-849) +* Correct param name for excludeColumns(String fullyQualifiedTableNames) [DBZ-854](https://issues.jboss.org/browse/DBZ-854) +* Make BinlogReader#informAboutUnknownTableIfRequired() log with tableId [DBZ-855](https://issues.jboss.org/browse/DBZ-855) +* MySQL identifier with dot or space could not be parsed [DBZ-878](https://issues.jboss.org/browse/DBZ-878) +* Use postgres:10 instead of postgres:10.0 as base docker image [DBZ-929](https://issues.jboss.org/browse/DBZ-929) +* Support temporary replication slots with Postgres >= 10 [DBZ-934](https://issues.jboss.org/browse/DBZ-934) +* Support white/black-listing Mongo fields [DBZ-633](https://issues.jboss.org/browse/DBZ-633) +* Postgres connector - add database, schema and table names to "source" section of records [DBZ-866](https://issues.jboss.org/browse/DBZ-866) +* Support renaming Mongo fields [DBZ-881](https://issues.jboss.org/browse/DBZ-881) +* use tcpKeepAlive by default [DBZ-895](https://issues.jboss.org/browse/DBZ-895) +* Hstore support in Postgresql-connector [DBZ-898](https://issues.jboss.org/browse/DBZ-898) +* Add connector type to source info [DBZ-918](https://issues.jboss.org/browse/DBZ-918) + + +### Breaking changes since 0.9.0.Alpha1 + +MySQL JDBC driver was [upgraded](https://issues.jboss.org/browse/DBZ-763) to version 8.x. +Kafka has been [upgraded](https://issues.jboss.org/browse/DBZ-858) to version 2.0.0. + + +### Fixes since 0.9.0.Alpha1 + +* Global read lock not release when exception raised during snapshot [DBZ-769](https://issues.jboss.org/browse/DBZ-769) +* Abort loops in MongoPrimary#execute() if the connector is stopped [DBZ-784](https://issues.jboss.org/browse/DBZ-784) +* Initial synchronization is not interrupted [DBZ-838](https://issues.jboss.org/browse/DBZ-838) +* Kafka database history miscounting attempts even if there are more database history records to consume [DBZ-853](https://issues.jboss.org/browse/DBZ-853) +* Schema_only snapshot on idle server - offsets not stored after snapshot [DBZ-859](https://issues.jboss.org/browse/DBZ-859) +* DDL parsing in MySQL - default value of primary key is set to null [DBZ-860](https://issues.jboss.org/browse/DBZ-860) +* Antlr DDL parser exception for "create database ... CHARSET=..." [DBZ-864](https://issues.jboss.org/browse/DBZ-864) +* Error when MongoDB collection contains characters not compatible with kafka topic naming [DBZ-865](https://issues.jboss.org/browse/DBZ-865) +* AlterTableParserListener does not remove column definition listeners [DBZ-869](https://issues.jboss.org/browse/DBZ-869) +* MySQL parser does not recognize 0 as default value for date/time [DBZ-870](https://issues.jboss.org/browse/DBZ-870) +* Antlr parser ignores table whitelist filter [DBZ-872](https://issues.jboss.org/browse/DBZ-872) +* A new column might not be added with ALTER TABLE antlr parser [DBZ-877](https://issues.jboss.org/browse/DBZ-877) +* MySQLConnectorTask always reports it has the required Binlog file from MySQL [DBZ-880](https://issues.jboss.org/browse/DBZ-880) +* Execution of RecordsStreamProducer.closeConnections() is susceptible to race condition [DBZ-887](https://issues.jboss.org/browse/DBZ-887) +* Watch-topic command in docker image uses unsupported parameter [DBZ-890](https://issues.jboss.org/browse/DBZ-890) +* SQLServer should use only schema and table name in table naming [DBZ-894](https://issues.jboss.org/browse/DBZ-894) +* Prevent resending of duplicate change events after restart [DBZ-897](https://issues.jboss.org/browse/DBZ-897) +* PostgresConnection.initTypeRegistry() takes ~24 mins [DBZ-899](https://issues.jboss.org/browse/DBZ-899) +* java.time.format.DateTimeParseException: Text '1970-01-01 00:00:00' in mysql ALTER [DBZ-901](https://issues.jboss.org/browse/DBZ-901) +* org.antlr.v4.runtime.NoViableAltException on CREATE DEFINER=`web`@`%` PROCEDURE `... [DBZ-903](https://issues.jboss.org/browse/DBZ-903) +* MySQL default port is wrong in tutorial link [DBZ-904](https://issues.jboss.org/browse/DBZ-904) +* RecordsStreamProducer should report refresh of the schema due to different column count [DBZ-907](https://issues.jboss.org/browse/DBZ-907) +* MongoDbConnector returns obsolete config values during validation [DBZ-908](https://issues.jboss.org/browse/DBZ-908) +* Can't parse create definition on the mysql connector [DBZ-910](https://issues.jboss.org/browse/DBZ-910) +* RecordsStreamProducer#columnValues() does not take into account unchanged TOASTed columns, refreshing table schemas unnecessarily [DBZ-911](https://issues.jboss.org/browse/DBZ-911) +* Wrong type in timeout call for Central wait release [DBZ-914](https://issues.jboss.org/browse/DBZ-914) +* Exception while parsing table schema with invalid default value for timestamp field [DBZ-927](https://issues.jboss.org/browse/DBZ-927) +* Discard null fields in MongoDB event flattening SMT [DBZ-928](https://issues.jboss.org/browse/DBZ-928) + + +### Other changes since 0.9.0.Alpha1 + +* Create Travis CI build for debezium-incubator repository [DBZ-817](https://issues.jboss.org/browse/DBZ-817) +* Cache prepared statements in JdbcConnection [DBZ-819](https://issues.jboss.org/browse/DBZ-819) +* Upgrade to Kafka 2.0.0 [DBZ-858](https://issues.jboss.org/browse/DBZ-858) +* Upgrad SQL Server image to CU9 GDR2 release [DBZ-873](https://issues.jboss.org/browse/DBZ-873) +* Speed-up Travis builds using parallel build [DBZ-874](https://issues.jboss.org/browse/DBZ-874) +* Add version format check into the release pipeline [DBZ-884](https://issues.jboss.org/browse/DBZ-884) +* Handle non-complete list of plugins [DBZ-885](https://issues.jboss.org/browse/DBZ-885) +* Parametrize wait time for Maven central sync [DBZ-889](https://issues.jboss.org/browse/DBZ-889) +* Assert non-empty release in release script [DBZ-891](https://issues.jboss.org/browse/DBZ-891) +* Upgrade Postgres driver to 42.2.5 [DBZ-912](https://issues.jboss.org/browse/DBZ-912) +* Upgrade MySQL JDBC driver to version 8.0.x [DBZ-763](https://issues.jboss.org/browse/DBZ-763) +* Upgrade MySQL binlog connector [DBZ-764](https://issues.jboss.org/browse/DBZ-764) + + +## 0.8.3.Final +September 19th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12339197) + +### New features since 0.8.2.Final + +* Ability to rewrite deleted records [DBZ-857](https://issues.jboss.org/browse/DBZ-857) +* use tcpKeepAlive by default [DBZ-895](https://issues.jboss.org/browse/DBZ-895) + +### Breaking changes since 0.8.2.Final + +There are no breaking changes in this release. + + +### Fixes since 0.8.2.Final + +* Global read lock not release when exception raised during snapshot [DBZ-769](https://issues.jboss.org/browse/DBZ-769) +* Abort loops in MongoPrimary#execute() if the connector is stopped [DBZ-784](https://issues.jboss.org/browse/DBZ-784) +* GtidModeEnabled method check gtid mode will always be true [DBZ-820](https://issues.jboss.org/browse/DBZ-820) +* Sensitive vars CONNECT_CONSUMER_SASL_JAAS_CONFIG and CONNECT_PRODUCER_SASL_JAAS_CONFIG are printed to the log [DBZ-861](https://issues.jboss.org/browse/DBZ-861) +* A new replication slot waits for all concurrent transactions to finish [DBZ-862](https://issues.jboss.org/browse/DBZ-862) +* Execution of RecordsStreamProducer.closeConnections() is susceptible to race condition [DBZ-887](https://issues.jboss.org/browse/DBZ-887) +* PostgresConnection.initTypeRegistry() takes ~24 mins [DBZ-899](https://issues.jboss.org/browse/DBZ-899) +* java.time.format.DateTimeParseException: Text '1970-01-01 00:00:00' in mysql ALTER [DBZ-901](https://issues.jboss.org/browse/DBZ-901) +* org.antlr.v4.runtime.NoViableAltException on CREATE DEFINER=`web`@`%` PROCEDURE `... [DBZ-903](https://issues.jboss.org/browse/DBZ-903) +* RecordsStreamProducer should report refresh of the schema due to different column count [DBZ-907](https://issues.jboss.org/browse/DBZ-907) +* MongoDbConnector returns obsolete config values during validation [DBZ-908](https://issues.jboss.org/browse/DBZ-908) +* Can't parse create definition on the mysql connector [DBZ-910](https://issues.jboss.org/browse/DBZ-910) + + +### Other changes since 0.8.2.Final + +None + + +## 0.8.2.Final +August 30th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338793) + +### New features since 0.8.1.Final + +* Postgres connector - add database, schema and table names to "source" section of records [DBZ-866](https://issues.jboss.org/browse/DBZ-866) + + +### Breaking changes since 0.8.1.Final + +There are no breaking changes in this release. + + +### Fixes since 0.8.1.Final + +* Initial synchronization is not interrupted [DBZ-838](https://issues.jboss.org/browse/DBZ-838) +* DDL parsing in MySQL - default value of primary key is set to null [DBZ-860](https://issues.jboss.org/browse/DBZ-860) +* Antlr DDL parser exception for "create database ... CHARSET=..." [DBZ-864](https://issues.jboss.org/browse/DBZ-864) +* Missing 0.8.1.Final tags for Zookeper and Kafka [DBZ-868](https://issues.jboss.org/browse/DBZ-868) +* AlterTableParserListener does not remove column definition listeners [DBZ-869](https://issues.jboss.org/browse/DBZ-869) +* MySQL parser does not recognize 0 as default value for date/time [DBZ-870](https://issues.jboss.org/browse/DBZ-870) +* A new column might not be added with ALTER TABLE antlr parser [DBZ-877](https://issues.jboss.org/browse/DBZ-877) +* MySQLConnectorTask always reports it has the required Binlog file from MySQL [DBZ-880](https://issues.jboss.org/browse/DBZ-880) + + +### Other changes since 0.8.1.Final + +None + + +## 0.9.0.Alpha1 +July 26th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338152) + +### New features since 0.8.1.Final + +* Ingest change data from SQL Server databases [DBZ-40](https://issues.jboss.org/browse/DBZ-40) +* Oracle connector implementation cont'd (initial snapshotting etc.) [DBZ-716](https://issues.jboss.org/browse/DBZ-716) +* Implement initial snapshotting for Oracle [DBZ-720](https://issues.jboss.org/browse/DBZ-720) +* Implement capturing of streamed changes for SQL Server[DBZ-787](https://issues.jboss.org/browse/DBZ-787) +* Implement initial snapshotting for SQL Server [DBZ-788](https://issues.jboss.org/browse/DBZ-788) +* Emit NUMBER columns as Int32/Int64 if precision and scale allow [DBZ-804](https://issues.jboss.org/browse/DBZ-804) +* Support heartbeat messages for Oracle [DBZ-815](https://issues.jboss.org/browse/DBZ-815) +* Upgrade to Kafka 1.1.1 [DBZ-829](https://issues.jboss.org/browse/DBZ-829) + +### Breaking changes since 0.8.1.Final + +The Oracle connector was storing event timestamp in the `source` block in field `ts_sec`. The time stamp is in fact measured in milliseconds to so the field was [renamed](https://issues.jboss.org/browse/DBZ-795) to `ts_ms`. + + +### Fixes since 0.8.1.Final + +* Offset remains with "snapshot" set to true after completing schema only snapshot [DBZ-803](https://issues.jboss.org/browse/DBZ-803) +* Misleading timestamp field name [DBZ-795](https://issues.jboss.org/browse/DBZ-795) +* Adjust scale of decimal values to column's scale if present [DBZ-818](https://issues.jboss.org/browse/DBZ-818) +* Avoid NPE if commit is called before any offset is prepared [DBZ-826](https://issues.jboss.org/browse/DBZ-826) + + +### Other changes since 0.8.1.Final + +* Make DatabaseHistory set-up code re-usable [DBZ-816](https://issues.jboss.org/browse/DBZ-816) +* Use TableFilter contract instead of Predicate [DBZ-793](https://issues.jboss.org/browse/DBZ-793) +* Expand SourceInfo [DBZ-719](https://issues.jboss.org/browse/DBZ-719) +* Provide Maven module and Docker set-up [DBZ-786](https://issues.jboss.org/browse/DBZ-786) +* Avoid a few raw type warnings [DBZ-801](https://issues.jboss.org/browse/DBZ-801) + + +## 0.8.1.Final +July 25th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338169) + +### New features since 0.8.0.Final + +None + + +### Breaking changes since 0.8.0.Final + +There are no breaking changes in this release. + + +### Fixes since 0.8.0.Final + +* PostgreSQL LSNs are not committed when receiving events for filtered-out tables [DBZ-800](https://issues.jboss.org/browse/DBZ-800) + + +### Other changes since 0.8.0.Final + +* Extract common TopicSelector contract [DBZ-627](https://issues.jboss.org/browse/DBZ-627) +* Remove redundant Docker configuration [DBZ-796](https://issues.jboss.org/browse/DBZ-796) + + +## 0.8.0.Final +July 11th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338151) + +### New features since 0.8.0.CR1 + +* Expose more granular snapshot metrics via JMX [DBZ-789](https://issues.jboss.org/browse/DBZ-789) + + +### Breaking changes since 0.8.0.CR1 + +The topic naming for Oracle connector has [changed](https://issues.jboss.org/browse/DBZ-725) and the database name is no longer part of the name. +The naming convention is thus consistent accross all connectors. + + +### Fixes since 0.8.0.CR1 + +None + + +### Other changes since 0.8.0.CR1 + +* Remove DB name from topic ids [DBZ-725](https://issues.jboss.org/browse/DBZ-725) +* Don't use user with DBA permissions for Oracle connector tests [DBZ-791](https://issues.jboss.org/browse/DBZ-791) + + +## 0.8.0.CR1 +July 4th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12338150) + +### New features since 0.8.0.Beta1 + +* List collections only for databases accepted by database filter [DBZ-713](https://issues.jboss.org/browse/DBZ-713) +* Set DECIMAL precision as schema parameter [DBZ-751](https://issues.jboss.org/browse/DBZ-751) +* Stop MongoDB connector in case of authorization failure [DBZ-782](https://issues.jboss.org/browse/DBZ-782) +* Add the original data type of a column as schema parameter [DBZ-644](https://issues.jboss.org/browse/DBZ-644) +* Add support for columns of type CITEXT [DBZ-762](https://issues.jboss.org/browse/DBZ-762) + + +### Breaking changes since 0.8.0.Beta1 + +There are no breaking changes in this release. + + +### Fixes since 0.8.0.Beta1 + +* Allow Empty Database Passwords [DBZ-743](https://issues.jboss.org/browse/DBZ-743) +* Antlr parser raising exception for MySQL-valid ALTER TABLE [DBZ-767](https://issues.jboss.org/browse/DBZ-767) +* Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] [DBZ-768](https://issues.jboss.org/browse/DBZ-768) +* Antlr parser raising exception when parsing ENUM fields [DBZ-770](https://issues.jboss.org/browse/DBZ-770) +* Default value is not removed when changing a column's type [DBZ-771](https://issues.jboss.org/browse/DBZ-771) + + +### Other changes since 0.8.0.Beta1 + +* Add documentation for supported geometry types [DBZ-573](https://issues.jboss.org/browse/DBZ-573) +* Benchmark Antlr parser [DBZ-742](https://issues.jboss.org/browse/DBZ-742) +* Document rules for "slot.name" property of the Postgres connector [DBZ-746](https://issues.jboss.org/browse/DBZ-746) +* Add table-of-contents sections to connector doc pages [DBZ-752](https://issues.jboss.org/browse/DBZ-752) +* Guard against simple bugs [DBZ-759](https://issues.jboss.org/browse/DBZ-759) +* Reduce test log output [DBZ-765](https://issues.jboss.org/browse/DBZ-765) +* Document wal2json plugin streaming mode [DBZ-772](https://issues.jboss.org/browse/DBZ-772) +* Extract common base class for relational DatabaseSchema implementations [DBZ-773](https://issues.jboss.org/browse/DBZ-773) +* Intermittent failures in ReplicationConnectionIT#shouldCloseConnectionOnInvalidSlotName() [DBZ-778](https://issues.jboss.org/browse/DBZ-778) +* Stabilize MongoDB integration test execution [DBZ-779](https://issues.jboss.org/browse/DBZ-779) + + +## 0.8.0.Beta1 +June 21st, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12337217) + +### New features since 0.7.5 + +* Improve MySQL connector's handling of DML / DDL statements [DBZ-252](https://issues.jboss.org/browse/DBZ-252) +* Snapshots fail if launching multiple connectors at once [DBZ-601](https://issues.jboss.org/browse/DBZ-601) +* Data-inclusive snapshot without table locks (For RDS/Aurora) [DBZ-639](https://issues.jboss.org/browse/DBZ-639) +* Enable ordered snapshotting of data-Mysql Connector [DBZ-666](https://issues.jboss.org/browse/DBZ-666) +* Add a topic name configuration for the heartbeat messages [DBZ-668](https://issues.jboss.org/browse/DBZ-668) +* Mongo cursor cleanup [DBZ-672](https://issues.jboss.org/browse/DBZ-672) +* wal2json on RDS omits initial changes in streaming mode [DBZ-679](https://issues.jboss.org/browse/DBZ-679) +* Make PG_CONFIG configurable (postgres-decoderbufs) [DBZ-686](https://issues.jboss.org/browse/DBZ-686) +* Rebase Debezium to Kafka 1.1 and Confluent platform 4.1 [DBZ-687](https://issues.jboss.org/browse/DBZ-687) +* When MySQL has BINLOG_ROWS_QUERY_LOG_EVENTS enabled, include original SQL query in event. [DBZ-706](https://issues.jboss.org/browse/DBZ-706) +* Ingest change data from Oracle databases using XStream [DBZ-20](https://issues.jboss.org/browse/DBZ-20) +* Support defaults in MySQL [DBZ-191](https://issues.jboss.org/browse/DBZ-191) +* Run test suite against MongoDB 3.6 [DBZ-529](https://issues.jboss.org/browse/DBZ-529) +* Provide option to flatten structs in MongoDB unwrapping SMT [DBZ-561](https://issues.jboss.org/browse/DBZ-561) +* Allow configuration option for keep alive interval for Mysql binlog reader [DBZ-670](https://issues.jboss.org/browse/DBZ-670) +* Add support for databases with encodings other than UTF-8/16/32 [DBZ-676](https://issues.jboss.org/browse/DBZ-676) +* Provide option to specify statements to be executed upon connection creation (e.g. connection wait timeout) [DBZ-693](https://issues.jboss.org/browse/DBZ-693) + + +### Breaking changes since 0.7.5 + +Apache Kafka was upgraded to version 1.1 ([DBZ-687](https://issues.jboss.org/browse/DBZ-687)). +Please see [upgrade documentation](http://kafka.apache.org/11/documentation.html#upgrade) for correct upgrade procedure. + +Topic names for heartbeat messages followed a hard-coded naming schema. +The rules were made more flexible in [DBZ-668](https://issues.jboss.org/browse/DBZ-668). + +Transaction id (`txId` field of `Envelope`) for PostgreSQL was originally encoded as an 32-bit `integer` type. +The real range is a 64-bit `long` type so this was changed in [DBZ-673](https://issues.jboss.org/browse/DBZ-673). + +The datatypes without timezone were not correctly offsetted for databases running in non-UTC timezones. +This was fixed in [DBZ-587](https://issues.jboss.org/browse/DBZ-578) and [DBZ-741](https://issues.jboss.org/browse/DBZ-741). +See [MySQL](https://debezium.io/docs/connectors/mysql/#temporal-values) and [PostgreSQL](https://debezium.io/docs/connectors/postgresql/#temporal-values) connector documentation for further details. + + +### Fixes since 0.7.5 + +* Timestamps are not converted to UTC during snapshot [DBZ-578](https://issues.jboss.org/browse/DBZ-578) +* wal2json cannot handle transactions bigger than 1Gb [DBZ-638](https://issues.jboss.org/browse/DBZ-638) +* SMT - DataException with io.debezium.connector.mongodb.transforms.UnwrapFromMongoDbEnvelope [DBZ-649](https://issues.jboss.org/browse/DBZ-649) +* SchemaParseException when using UnwrapFromMongoDbEnvelope SMT with Avro format [DBZ-650](https://issues.jboss.org/browse/DBZ-650) +* Upgrade OpenShift intructions to Strimzi 0.2.0 [DBZ-654](https://issues.jboss.org/browse/DBZ-654) +* Mysql ddl parser cannot parse scientific format number in exponential notation default values [DBZ-667](https://issues.jboss.org/browse/DBZ-667) +* Close Kafka admin client after DB history topic has been created [DBZ-669](https://issues.jboss.org/browse/DBZ-669) +* Postgres DateTimeParseException [DBZ-671](https://issues.jboss.org/browse/DBZ-671) +* Transaction ID must be handled as long [DBZ-673](https://issues.jboss.org/browse/DBZ-673) +* PostgreSQL connector doesn't handle TIME(p) columns correctly with wal2json [DBZ-681](https://issues.jboss.org/browse/DBZ-681) +* Error on initial load for records with negative timestamp [DBZ-694](https://issues.jboss.org/browse/DBZ-694) +* Postgres Connector inconsistent handling of timestamp precision [DBZ-696](https://issues.jboss.org/browse/DBZ-696) +* Debezium is throwing exception when max OID in pg db is larger than max int [DBZ-697](https://issues.jboss.org/browse/DBZ-697) +* PostgresReplicationConnection doesn't close jdbc connection [DBZ-699](https://issues.jboss.org/browse/DBZ-699) +* Debezium is throwing exception when max typelem in pg db is larger than max int [DBZ-701](https://issues.jboss.org/browse/DBZ-701) +* Plaintext jaas configuration passwords logged out [DBZ-702](https://issues.jboss.org/browse/DBZ-702) +* Postgres TIME columns are always exported as nano-seconds, unlike documented [DBZ-709](https://issues.jboss.org/browse/DBZ-709) +* Incorrect options for PostgreSQL sslmode listed in documentation [DBZ-711](https://issues.jboss.org/browse/DBZ-711) +* Mongo Connector - doesn't redo initial sync after connector restart [DBZ-712](https://issues.jboss.org/browse/DBZ-712) +* NUMERIC column without scale value causes exception [DBZ-727](https://issues.jboss.org/browse/DBZ-727) +* Inconsistency in parameter names for database histy producer/consumer [DBZ-728](https://issues.jboss.org/browse/DBZ-728) +* MySQL DATETIME Value Incorrectly Snapshotted [DBZ-741](https://issues.jboss.org/browse/DBZ-741) + + +### Other changes since 0.7.5 + +* Support incubator repo in release process [DBZ-749](https://issues.jboss.org/browse/DBZ-749) +* Upgrade Postgres Docker images to wal2json 1.0 [DBZ-750](https://issues.jboss.org/browse/DBZ-750) +* Provide Maven profile so that the MySQL module test suite can be run using old and new parser [DBZ-734](https://issues.jboss.org/browse/DBZ-734) + + +## 0.7.5 +March 20th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12337159) + +### New features since 0.7.4 + +* Keep SnapshotReaderMetrics bean registered after snapshot completed [DBZ-640](https://issues.jboss.org/browse/DBZ-640) +* Cache replaced topic names and shard ids in ByLogicalTableRouter SMT [DBZ-655](https://issues.jboss.org/browse/DBZ-655) +* Filter out useless commands from the history topic [DBZ-661](https://issues.jboss.org/browse/DBZ-661) +* Apache Kafka 1.0.1 updates [DBZ-647](https://issues.jboss.org/browse/DBZ-647) + + +### Breaking changes since 0.7.4 + +Debezium was creating database history topic with an infinite time-based log retention but a broker default one for topic size log retention. +This was fixed in [DBZ-663](https://issues.jboss.org/browse/DBZ-663). +See our [blogpost](https://debezium.io/blog/2018/03/16/note-on-database-history-topic-configuration/) for more details. + +Snapshot JMX metrics were removed after the snapshot was completed. +This was changed in [DBZ-640](https://issues.jboss.org/browse/DBZ-640) and the metrics are available till next connector restart. + +### Fixes since 0.7.4 + +* io.debezium.text.ParsingException for TokuDB table [DBZ-646](https://issues.jboss.org/browse/DBZ-646) +* MongoDB connector continues to try to connect to invalid host even after deletion [DBZ-648](https://issues.jboss.org/browse/DBZ-648) +* Streaming stopped due to JsonParseException [DBZ-657](https://issues.jboss.org/browse/DBZ-657) +* 'ALTER TABLE `tbl_name` ADD CONSTRAINT UNIQUE KEY `key_name` (`colname`)' throwing exception [DBZ-660](https://issues.jboss.org/browse/DBZ-660) +* Missing setting for the automatic history topic creation [DBZ-663](https://issues.jboss.org/browse/DBZ-663) +* EmbeddedEngine passes time of last commit to policy, not time since [DBZ-665](https://issues.jboss.org/browse/DBZ-665) + + +### Other changes since 0.7.4 + +* "snapshot" attribute should be false instead of null for events based on the binlog [DBZ-592](https://issues.jboss.org/browse/DBZ-592) +* Describe limitations of wal2json version currently used on RDS [DBZ-619](https://issues.jboss.org/browse/DBZ-619) + + +## 0.7.4 +March 7th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12336214) + +### New features since 0.7.3 + +* Provide MySQL snapshot mode that does not require table locks [DBZ-602](https://issues.jboss.org/browse/DBZ-602) +* Add support for columns of type "bytea" [DBZ-605](https://issues.jboss.org/browse/DBZ-605) +* Add string as an option for decimal.handling.mode [DBZ-611](https://issues.jboss.org/browse/DBZ-611) +* Support CREATE TABLE statements with PARTITION ... ENGINE=InnoDB [DBZ-641](https://issues.jboss.org/browse/DBZ-641) +* Document VariableScaleDecimal in PG connector docs [DBZ-631](https://issues.jboss.org/browse/DBZ-631) +* Propagate schema validator by passing AvroValidator instance instead of Function [DBZ-626](https://issues.jboss.org/browse/DBZ-626) +* Move `MAX_QUEUE_SIZE`, `MAX_BATCH_SIZE` and `POLL_INTERVAL_MS` to CommonConnectorConfig [DBZ-628](https://issues.jboss.org/browse/DBZ-628) +* Unify common start-up logic across connectors [DBZ-630](https://issues.jboss.org/browse/DBZ-630) +* Removing unused code from database history classes [DBZ-632](https://issues.jboss.org/browse/DBZ-632) + + +### Breaking changes since 0.7.3 + +`NUMERIC` and geo-spatial schema types were optional regardless of database column configuration. This was fixed in [DBZ-635](https://issues.jboss.org/browse/DBZ-635). +PostgresSQL decoder plug-in now uses text to transfer decimal values insted of double - [DBZ-351](https://issues.jboss.org/browse/DBZ-351). Debezium is backward compatible with the old version. It is thus necessary first to upgrade Debezium and after that upgrade logical decoder plug-in. + +### Fixes and changes since 0.7.3 + +* Numeric datatype is transferred with lost precision [DBZ-351](https://issues.jboss.org/browse/DBZ-351) +* Cannot Serialize NaN value(numeric field) in Postgres [DBZ-606](https://issues.jboss.org/browse/DBZ-606) +* Decimal datatype DDL issues [DBZ-615](https://issues.jboss.org/browse/DBZ-615) +* Avoid NPE if `confirmed_flush_lsn` is null [DBZ-623](https://issues.jboss.org/browse/DBZ-623) +* REAL column values are omitted if value is an exact integer [DBZ-625](https://issues.jboss.org/browse/DBZ-625) +* Fix intermittent error in BinlogReaderIT [DBZ-629](https://issues.jboss.org/browse/DBZ-629) +* Schema for NUMERIC and geo-spatial array columns shouldn't be optional by default [DBZ-635](https://issues.jboss.org/browse/DBZ-635) +* Fix typo in README of debezium/connect-base image [DBZ-636](https://issues.jboss.org/browse/DBZ-636) +* Avoid repeated creation of Envelope schema [DBZ-620](https://issues.jboss.org/browse/DBZ-620) + + +## 0.7.3 +February 14th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12336643) + +### New features since 0.7.2 + +* MySQL connector should automatically create database history topic [DBZ-278](https://issues.jboss.org/browse/DBZ-278) +* Change OpenShift instructions to use Strimzi [DBZ-545](https://issues.jboss.org/browse/DBZ-545) +* Create an internal namespace for configuration options not intended for general usage [DBZ-576](https://issues.jboss.org/browse/DBZ-576) +* Make ChainedReader immutable [DBZ-583](https://issues.jboss.org/browse/DBZ-583) +* Snapshots are not interruptable with the Postgres connector [DBZ-586](https://issues.jboss.org/browse/DBZ-586) +* Add optional field with Debezium version to "source" element of messages [DBZ-593](https://issues.jboss.org/browse/DBZ-593) +* Add the ability to control the strategy for committing offsets by the offset store [DBZ-537](https://issues.jboss.org/browse/DBZ-537) +* Create support for arrays of PostGIS types [DBZ-571](https://issues.jboss.org/browse/DBZ-571) +* Add option for controlling whether to produce tombstone records on DELETE operations [DBZ-582](https://issues.jboss.org/browse/DBZ-582) +* Add example for using the MongoDB event flattening SMT [DBZ-567](https://issues.jboss.org/browse/DBZ-567) +* Prefix the names of all threads spawned by Debezium with "debezium-" [DBZ-587](https://issues.jboss.org/browse/DBZ-587) + + +### Breaking changes since 0.7.2 + +A new namespace for parameters was [created](https://issues.jboss.org/browse/DBZ-576) - `internal` - that is used for parameters that are not documented and should not be used as they are subject of changes without warning. As a result of this change the undocumented parameter `database.history.ddl.filter` was renamed to `internal.database.history.ddl.filter`. + +OpenShift deployment now uses templates and images from [Strimzi project](https://issues.jboss.org/browse/DBZ-545). + + +### Fixes and changes since 0.7.2 + +* Force DBZ to commit regularly [DBZ-220](https://issues.jboss.org/browse/DBZ-220) +* Carry over SourceInfo.restartEventsToSkip to next binlog file handling cause binlog events are not written to kafka [DBZ-572](https://issues.jboss.org/browse/DBZ-572) +* Numeric arrays not handled correctly [DBZ-577](https://issues.jboss.org/browse/DBZ-577) +* Debezium skipping binlog events silently [DBZ-588](https://issues.jboss.org/browse/DBZ-588) +* Stop the connector if WALs to continue from aren't available [DBZ-590](https://issues.jboss.org/browse/DBZ-590) +* Producer thread of DB history topic leaks after connector shut-down [DBZ-595](https://issues.jboss.org/browse/DBZ-595) +* Integration tests should have completely isolated environment and configuration/setup files [DBZ-300](https://issues.jboss.org/browse/DBZ-300) +* MongoDB integration tests should have completely isolated environment and configuration/setup files [DBZ-579](https://issues.jboss.org/browse/DBZ-579) +* Extract a separate change event class to be re-used across connectors [DBZ-580](https://issues.jboss.org/browse/DBZ-580) +* Propagate producer errors to Kafka Connect in MongoDB connector [DBZ-581](https://issues.jboss.org/browse/DBZ-581) +* Shutdown thread pool used for MongoDB snaphots once it's not needed anymore [DBZ-594](https://issues.jboss.org/browse/DBZ-594) +* Refactor type and array handling for Postgres [DBZ-609](https://issues.jboss.org/browse/DBZ-609) +* Avoid unneccessary schema refreshs [DBZ-616](https://issues.jboss.org/browse/DBZ-616) +* Incorrect type retrieved by stream producer for column TIMESTAMP (0) WITH TIME ZONE [DBZ-618](https://issues.jboss.org/browse/DBZ-618) + + +## 0.7.2 +January 25th, 2018 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12336456&projectId=12317320) + +### New features since 0.7.1 + +* As a Debezium user, I would like MySQL Connector to support 'Spatial' data types [DBZ-208](https://issues.jboss.org/browse/DBZ-208) +* Allow easy consumption of MongoDB CDC events by other connectors [DBZ-409](https://issues.jboss.org/browse/DBZ-409) +* New snapshotting mode for recovery of DB history topic [DBZ-443](https://issues.jboss.org/browse/DBZ-443) +* Add support for Postgres VARCHAR array columns [DBZ-506](https://issues.jboss.org/browse/DBZ-506) +* Unified Geometry type support [DBZ-507](https://issues.jboss.org/browse/DBZ-507) +* Add support for "snapshot.select.statement.overrides" option for Postgres [DBZ-510](https://issues.jboss.org/browse/DBZ-510) +* Make PostGIS optional in Postgres Docker images [DBZ-526](https://issues.jboss.org/browse/DBZ-526) +* Provide an option to only store DDL statements referring to captured tables in DB history topic [DBZ-541](https://issues.jboss.org/browse/DBZ-541) +* Add ToC to tutorial and make section captions linkable [DBZ-369](https://issues.jboss.org/browse/DBZ-369) +* Remove Zulu JDK images [DBZ-449](https://issues.jboss.org/browse/DBZ-449) +* Add example for sending CDC events to Elasticsearch [DBZ-502](https://issues.jboss.org/browse/DBZ-502) +* Adapt examples to MongoDB 3.6 [DBZ-509](https://issues.jboss.org/browse/DBZ-509) +* Backport add-ons definition from add-ons repo [DBZ-520](https://issues.jboss.org/browse/DBZ-520) +* Set up pull request build job for testing the PG connector with wal2json [DBZ-568](https://issues.jboss.org/browse/DBZ-568) + + +### Breaking changes since 0.7.1 + +There are no breaking changes in this release. + + +### Fixes and changes since 0.7.1 + +* Debezium MySQL connector only works for lower-case table names on case-insensitive file systems [DBZ-392](https://issues.jboss.org/browse/DBZ-392) +* Numbers after decimal point are different between source and destination [DBZ-423](https://issues.jboss.org/browse/DBZ-423) +* Fix support for date arrays [DBZ-494](https://issues.jboss.org/browse/DBZ-494) +* Changes in type contraints will not trigger new schema [DBZ-504](https://issues.jboss.org/browse/DBZ-504) +* Task is still running after connector is paused [DBZ-516](https://issues.jboss.org/browse/DBZ-516) +* NPE happened for PAUSED task [DBZ-519](https://issues.jboss.org/browse/DBZ-519) +* Possibility of commit LSN before record is consumed/notified [DBZ-521](https://issues.jboss.org/browse/DBZ-521) +* Snapshot fails when encountering null MySQL TIME fields [DBZ-522](https://issues.jboss.org/browse/DBZ-522) +* Debezium unable to parse DDLs in MySql with RESTRICT contstraint [DBZ-524](https://issues.jboss.org/browse/DBZ-524) +* DateTimeFormatter Exception in wal2json [DBZ-525](https://issues.jboss.org/browse/DBZ-525) +* Multiple partitions does not work in ALTER TABLE [DBZ-530](https://issues.jboss.org/browse/DBZ-530) +* Incorrect lookup in List in MySqlDdlParser.parseCreateView [DBZ-534](https://issues.jboss.org/browse/DBZ-534) +* Improve invalid DDL statement logging [DBZ-538](https://issues.jboss.org/browse/DBZ-538) +* Fix required protobuf version in protobuf decoder documentation [DBZ-542](https://issues.jboss.org/browse/DBZ-542) +* EmbeddedEngine strips settings required to use KafkaOffsetBackingStore [DBZ-555](https://issues.jboss.org/browse/DBZ-555) +* Handling of date arrays collides with handling of type changes via wal2json [DBZ-558](https://issues.jboss.org/browse/DBZ-558) +* ROLLBACK to savepoint cannot be parsed [DBZ-411](https://issues.jboss.org/browse/DBZ-411) +* Avoid usage of deprecated numeric types constructors [DBZ-455](https://issues.jboss.org/browse/DBZ-455) +* Don't add source and JavaDoc JARs to Kafka image [DBZ-489](https://issues.jboss.org/browse/DBZ-489) + + +## 0.7.1 +December 20th, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12336215&projectId=12317320) + +### New features since 0.7.0 + +* Provide a wal2json plug-in mode enforcing RDS environment [DBZ-517](https://issues.jboss.org/browse/DBZ-517) + + +### Breaking changes since 0.7.0 + +There are no breaking changes in this release. + + +### Fixes and changes since 0.7.0 + +* For old connector OID should be used to detect schema change [DBZ-512](https://issues.jboss.org/browse/DBZ-512) +* AWS RDS Postgresql 9.6.5 not supporting "include-not-null" = "true" in connector setup [DBZ-513](https://issues.jboss.org/browse/DBZ-513) +* RecordsStreamProducerIT.shouldNotStartAfterStop can make subsequent test dependent [DBZ-518](https://issues.jboss.org/browse/DBZ-518) + + +## 0.7.0 +December 15th, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12335366&projectId=12317320) + +### New features since 0.6.2 + +* PostgreSQL connector should work on Amazon RDS and be able to use the available plugin [DBZ-256](https://issues.jboss.org/browse/DBZ-256) +* Build Debezium against Kafka 1.0.0 [DBZ-432](https://issues.jboss.org/browse/DBZ-432) +* Build Debezium images with Kafka 1.0.0 [DBZ-433](https://issues.jboss.org/browse/DBZ-433) +* Protobuf message should contain type modifiers [DBZ-485](https://issues.jboss.org/browse/DBZ-485) +* Protobuf message should contain optional flags [DBZ-486](https://issues.jboss.org/browse/DBZ-486) +* Better support for large append-only tables by making the snapshotting process restartable [DBZ-349](https://issues.jboss.org/browse/DBZ-349) +* Support new wal2json type specifiers [DBZ-453](https://issues.jboss.org/browse/DBZ-453) +* Optionally return raw value for unsupported column types [DBZ-498](https://issues.jboss.org/browse/DBZ-498) +* Provide Postgres example image for 0.7 [DBZ-382](https://issues.jboss.org/browse/DBZ-382) +* Create an automated build for Postgres example image in Docker Hub [DBZ-383](https://issues.jboss.org/browse/DBZ-383) +* Move configuration of ProtoBuf code generation to Postgres module [DBZ-416](https://issues.jboss.org/browse/DBZ-416) +* Provide MongoDB example image for Debezium 0.7 [DBZ-451](https://issues.jboss.org/browse/DBZ-451) +* Upgrade to Confluent Platform 4.0 [DBZ-492](https://issues.jboss.org/browse/DBZ-492) +* Set up CI job for testing Postgres with new wal2json type identifiers [DBZ-495](https://issues.jboss.org/browse/DBZ-495) +* Change PostgreSQL connector to support multiple plugins [DBZ-257](https://issues.jboss.org/browse/DBZ-257) +* PostgreSQL connector should support the wal2json logical decoding plugin [DBZ-258](https://issues.jboss.org/browse/DBZ-258) +* Provide instructions for using Debezium on Minishift [DBZ-364](https://issues.jboss.org/browse/DBZ-364) +* Modify BinlogReader to process transactions via buffer [DBZ-405](https://issues.jboss.org/browse/DBZ-405) +* Modify BinlogReader to support transactions of unlimited size [DBZ-406](https://issues.jboss.org/browse/DBZ-406) + + +### Breaking changes since 0.6.2 + +This release includes the following changes that can affect existing installations + +* Change default setting for BIGINT UNSIGNED handling [DBZ-461](https://issues.jboss.org/browse/DBZ-461) +* Invalid value for HourOfDay ConnectException when the value of MySQL TIME filed is above 23:59:59 [DBZ-342](https://issues.jboss.org/browse/DBZ-342) +* Postgres connectors stops to work after concurrent schema changes and updates [DBZ-379](https://issues.jboss.org/browse/DBZ-379) +* Hardcoded schema version overrides schema registry version [DBZ-466](https://issues.jboss.org/browse/DBZ-466) + + +### Fixes and changes since 0.6.2 + +* Data are read from the binlog and not written into Kafka [DBZ-390](https://issues.jboss.org/browse/DBZ-390) +* MySQL connector may not read database history to end [DBZ-464](https://issues.jboss.org/browse/DBZ-464) +* connect-base image advertises wrong port by default [DBZ-467](https://issues.jboss.org/browse/DBZ-467) +* INSERT statements being written to db history topic [DBZ-469](https://issues.jboss.org/browse/DBZ-469) +* MySQL Connector does not handle properly startup/shutdown [DBZ-473](https://issues.jboss.org/browse/DBZ-473) +* Cannot parse NOT NULL COLLATE in DDL [DBZ-474](https://issues.jboss.org/browse/DBZ-474) +* Failed to parse the sql statement of RENAME user [DBZ-475](https://issues.jboss.org/browse/DBZ-475) +* Exception when parsing enum field with escaped characters values [DBZ-476](https://issues.jboss.org/browse/DBZ-476) +* All to insert null value into numeric array columns [DBZ-478](https://issues.jboss.org/browse/DBZ-478) +* produceStrings method slow down on sending messages [DBZ-479](https://issues.jboss.org/browse/DBZ-479) +* Failing unit tests when run in EST timezone [DBZ-491](https://issues.jboss.org/browse/DBZ-491) +* PostgresConnector falls with RejectedExecutionException [DBZ-501](https://issues.jboss.org/browse/DBZ-501) +* Docker images cannot be re-built when a new version of ZooKeeper/Kafka is released [DBZ-503](https://issues.jboss.org/browse/DBZ-503) +* Insert ids as long instead of float for MongoDB example image [DBZ-470](https://issues.jboss.org/browse/DBZ-470) +* Port changes in 0.6 Docker files into 0.7 files [DBZ-463](https://issues.jboss.org/browse/DBZ-463) +* Add check to release process to make sure all issues are assigned to a component [DBZ-468](https://issues.jboss.org/browse/DBZ-468) +* Document requirement for database history topic to be not partitioned [DBZ-482](https://issues.jboss.org/browse/DBZ-482) +* Remove dead code from MySqlSchema [DBZ-483](https://issues.jboss.org/browse/DBZ-483) +* Remove redundant calls to pfree [DBZ-496](https://issues.jboss.org/browse/DBZ-496) + + +## 0.6.2 +November 15th, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12335989&projectId=12317320) + +### New features since 0.6.1 + +* Log current position in MySQL binlog to simplify debugging [DBZ-401](https://issues.jboss.org/projects/DBZ/issues/DBZ-401) +* Support PostgreSQL 10 [DBZ-424](https://issues.jboss.org/projects/DBZ/issues/DBZ-424) +* Create a Docker image for PostgreSQL 10 [DBZ-426](https://issues.jboss.org/projects/DBZ/issues/DBZ-426) +* Add example for using Avro messages [DBZ-430](https://issues.jboss.org/projects/DBZ/issues/DBZ-430) +* Make postGIS dependency optional [DBZ-445](https://issues.jboss.org/projects/DBZ/issues/DBZ-445) +* Avro console-consumer example in docs [DBZ-458](https://issues.jboss.org/projects/DBZ/issues/DBZ-458) +* Docker micro version tags (e.g., 0.6.1) [DBZ-418](https://issues.jboss.org/projects/DBZ/issues/DBZ-418) +* Create a CI job for testing with PostgreSQL 10 [DBZ-427](https://issues.jboss.org/projects/DBZ/issues/DBZ-427) +* Upgrade dependencies in Docker images to match Kafka 0.11.0.1 [DBZ-450](https://issues.jboss.org/projects/DBZ/issues/DBZ-450) + + +### Breaking changes since 0.6.1 + +* Timestamp field not handle time zone correctly [DBZ-260](https://issues.jboss.org/projects/DBZ/issues/DBZ-260) + * This issue finally fixes a long standing bug in timestamp timezone handling. If there is a client that was depending on this bug to provide value without the correct offset then it has to be fixed. + + +### Fixes and changes since 0.6.1 + +* Connector fails and stops when coming across corrupt event [DBZ-217](https://issues.jboss.org/projects/DBZ/issues/DBZ-217) +* [Postgres] Interval column causes exception during handling of DELETE [DBZ-259](https://issues.jboss.org/projects/DBZ/issues/DBZ-259) +* The scope of the Kafka Connect dependency should be "provided" [DBZ-285](https://issues.jboss.org/projects/DBZ/issues/DBZ-285) +* KafkaCluster#withKafkaConfiguration() does not work [DBZ-323](https://issues.jboss.org/projects/DBZ/issues/DBZ-323) +* MySQL connector "initial_only" snapshot mode results in CPU spike from ConnectorTask polling [DBZ-396](https://issues.jboss.org/projects/DBZ/issues/DBZ-396) +* Allow to omit COLUMN word in ALTER TABLE MODIFY/ALTER/CHANGE [DBZ-412](https://issues.jboss.org/projects/DBZ/issues/DBZ-412) +* MySQL connector should handle stored procedure definitions [DBZ-415](https://issues.jboss.org/projects/DBZ/issues/DBZ-415) +* Support constraints without name in DDL statement [DBZ-419](https://issues.jboss.org/projects/DBZ/issues/DBZ-419) +* Short field not null throw an exception [DBZ-422](https://issues.jboss.org/projects/DBZ/issues/DBZ-422) +* ALTER TABLE cannot change default value of column [DBZ-425](https://issues.jboss.org/projects/DBZ/issues/DBZ-425) +* DDL containing text column with length specification cannot be parsed [DBZ-428](https://issues.jboss.org/projects/DBZ/issues/DBZ-428) +* Integer column with negative default value causes MySQL connector to crash [DBZ-429](https://issues.jboss.org/projects/DBZ/issues/DBZ-429) +* MySQL procedure parser handles strings and keywords as same tokens [DBZ-437](https://issues.jboss.org/projects/DBZ/issues/DBZ-437) +* Mongo initial sync misses records with initial.sync.max.threads > 1 [DBZ-438](https://issues.jboss.org/projects/DBZ/issues/DBZ-438) +* Can't parse DDL containing PRECISION clause without parameters [DBZ-439](https://issues.jboss.org/projects/DBZ/issues/DBZ-439) +* Task restart triggers MBean to register twice [DBZ-447](https://issues.jboss.org/projects/DBZ/issues/DBZ-447) +* Remove slowness in KafkaDatabaseHistoryTest [DBZ-456](https://issues.jboss.org/projects/DBZ/issues/DBZ-456) + + +## 0.6.1 +October 26th, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12335619&projectId=12317320) + +### New features since 0.6.0 + +* Support for UNSIGNED BIGINT to not be treated as byte[] [DBZ-363](https://issues.jboss.org/projects/DBZ/issues/DBZ-363) +* Make Debezium build on Java 9 [DBZ-227](https://issues.jboss.org/projects/DBZ/issues/DBZ-227) +* Add a test for "PAGE_CHECKSUM" DDL option [DBZ-336](https://issues.jboss.org/projects/DBZ/issues/DBZ-336) +* Provide tutorial Docker Compose files for MongoDB and Postgres [DBZ-361](https://issues.jboss.org/projects/DBZ/issues/DBZ-361) +* Upgrade to latest Kafka 0.11.x [DBZ-367](https://issues.jboss.org/projects/DBZ/issues/DBZ-367) +* Prevent warning when building the plug-ins [DBZ-370](https://issues.jboss.org/projects/DBZ/issues/DBZ-370) +* Replace hard-coded version references with variables [DBZ-371](https://issues.jboss.org/projects/DBZ/issues/DBZ-371) +* Upgrade to latest version of mysql-binlog-connector-java [DBZ-398](https://issues.jboss.org/projects/DBZ/issues/DBZ-398) +* Create wal2json CI job [DBZ-403](https://issues.jboss.org/projects/DBZ/issues/DBZ-403) +* Travis jobs tests are failing due to Postgres [DBZ-404](https://issues.jboss.org/projects/DBZ/issues/DBZ-404) + + +### Breaking changes since 0.6.0 + +There should be no breaking changes in this relese. + + +### Fixes and changes since 0.6.0 + +* Avoid NullPointerException when closing MySQL connector after another error [DBZ-378](https://issues.jboss.org/projects/DBZ/issues/DBZ-378) +* RecordsStreamProducer#streamChanges() can die on an exception without failing the connector [DBZ-380](https://issues.jboss.org/projects/DBZ/issues/DBZ-380) +* Encoding to JSON does not support all MongoDB types [DBZ-385](https://issues.jboss.org/projects/DBZ/issues/DBZ-385) +* MySQL connector does not filter out DROP TEMP TABLE statements from DB history topic [DBZ-395](https://issues.jboss.org/projects/DBZ/issues/DBZ-395) +* Binlog Reader is registering MXBean when using "initial_only" snapshot mode [DBZ-402](https://issues.jboss.org/projects/DBZ/issues/DBZ-402) +* A column named `column`, even when properly escaped, causes exception [DBZ-408](https://issues.jboss.org/projects/DBZ/issues/DBZ-408) + + +## 0.6.0 +September 21st, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12331386&projectId=12317320) + +### New features since 0.5.2 + +* Use new Kafka 0.10 properties for listeners and advertised listeners [DBZ-39](https://issues.jboss.org/projects/DBZ/issues/DBZ-39) +* Add docker-compose handling for Debezium tutorial [DBZ-127](https://issues.jboss.org/projects/DBZ/issues/DBZ-127) +* Topic configuration requirements are not clearly documented [DBZ-241](https://issues.jboss.org/projects/DBZ/issues/DBZ-241) +* Upgrade Docker images to Kafka 0.11.0.0 [DBZ-305](https://issues.jboss.org/projects/DBZ/issues/DBZ-305) +* Add SMT implementation to convert CDC event structure to more traditional row state structure [DBZ-226](https://issues.jboss.org/projects/DBZ/issues/DBZ-226) +* Support SSL connection to Mongodb [DBZ-343](https://issues.jboss.org/projects/DBZ/issues/DBZ-343) +* Support DEC and FIXED type for mysql ddl parser [DBZ-359](https://issues.jboss.org/projects/DBZ/issues/DBZ-359) + + +### Breaking changes since 0.5.2 + +This release includes the following change that affects existing installations that captures MongoDB + +* Add support for different mongodb _id types in key struct [DBZ-306](https://issues.jboss.org/projects/DBZ/issues/DBZ-306) + + +### Fixes and changes since 0.5.2 + +* MySQL snapshotter is not guaranteed to give a consistent snapshot [DBZ-210](https://issues.jboss.org/projects/DBZ/issues/DBZ-210) +* MySQL connector stops consuming data from binlog after server restart [DBZ-219](https://issues.jboss.org/projects/DBZ/issues/DBZ-219) +* Warnings and notifications from PostgreSQL are ignored by the connector [DBZ-279](https://issues.jboss.org/projects/DBZ/issues/DBZ-279) +* BigDecimal has mismatching scale value for given Decimal schema error. [DBZ-318](https://issues.jboss.org/projects/DBZ/issues/DBZ-318) +* Views in database stop PostgreSQL connector [DBZ-319](https://issues.jboss.org/projects/DBZ/issues/DBZ-319) +* Don't pass database history properties to the JDBC connection [DBZ-333](https://issues.jboss.org/projects/DBZ/issues/DBZ-333) +* Sanitize readings from database history topic [DBZ-341](https://issues.jboss.org/projects/DBZ/issues/DBZ-341) +* Support UNION for ALTER TABLE [DBZ-346](https://issues.jboss.org/projects/DBZ/issues/DBZ-346) +* Debezium fails to start when schema history topic contains unparseable SQL [DBZ-347](https://issues.jboss.org/projects/DBZ/issues/DBZ-347) +* JDBC Connection is not closed after schema refresh [DBZ-356](https://issues.jboss.org/projects/DBZ/issues/DBZ-356) +* MySQL integration tests should have completely isolated environment and configuration/setup files [DBZ-304](https://issues.jboss.org/projects/DBZ/issues/DBZ-304) + +## 0.5.2 + +August 17, 2017 [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?version=12334601&projectId=12317320) + +### New features since 0.5.1 + +* Mongo Connector: Add "database.whitelist" and "database.blacklist" configuration options [DBZ-302](https://issues.jboss.org/projects/DBZ/issues/DBZ-302) +* Provide a Dockerfile to build images from latest released snapshot [DBZ-320](https://issues.jboss.org/projects/DBZ/issues/DBZ-320) +* Support decimal handling mode for Postgres [DBZ-337](https://issues.jboss.org/projects/DBZ/issues/DBZ-337) +* Enable and show usage of Avro converters [DBZ-271](https://issues.jboss.org/projects/DBZ/issues/DBZ-271) +* Keep TCP connection alive for Postgres [DBZ-286](https://issues.jboss.org/projects/DBZ/issues/DBZ-286) +* Support "PAGE_CHECKSUM=1" option for MySQL tables [DBZ-324](https://issues.jboss.org/projects/DBZ/issues/DBZ-324) + +### Breaking changes since 0.5.1 + +There should be no breaking changes in this release. + +### Fixes and changes since 0.5.1 + +* Images cannot run on OpenShift online [DBZ-267](https://issues.jboss.org/projects/DBZ/issues/DBZ-267) +* NPE when processing null value in POINT column [DBZ-284](https://issues.jboss.org/projects/DBZ/issues/DBZ-284) +* Postgres Connector: error of mismatching scale value for Decimal and Numeric data types [DBZ-287](https://issues.jboss.org/projects/DBZ/issues/DBZ-287) +* Postgres connector fails with array columns [DBZ-297](https://issues.jboss.org/projects/DBZ/issues/DBZ-297) +* Postgres connector fails with quoted type names [DBZ-298](https://issues.jboss.org/projects/DBZ/issues/DBZ-298) +* LogicalTableRouter SMT uses wrong comparison for validation [DBZ-326](https://issues.jboss.org/projects/DBZ/issues/DBZ-326) +* LogicalTableRouter SMT has a broken key replacement validation [DBZ-327](https://issues.jboss.org/projects/DBZ/issues/DBZ-327) +* Pre-compile and simplify some regular expressions [DBZ-311](https://issues.jboss.org/projects/DBZ/issues/DBZ-311) +* JMX metrics for MySQL connector should be documented [DBZ-293](https://issues.jboss.org/projects/DBZ/issues/DBZ-293) +* PostgreSQL integration tests should have completely isolated environment and configuration/setup files [DBZ-301](https://issues.jboss.org/projects/DBZ/issues/DBZ-301) +* Move snapshot Dockerfile into separated directory [DBZ-321](https://issues.jboss.org/projects/DBZ/issues/DBZ-321) +* Cover ByLogicalTableRouter SMT in reference documentation [DBZ-325](https://issues.jboss.org/projects/DBZ/issues/DBZ-325) +* Add documentation for JDBC url pass-through properties [DBZ-330](https://issues.jboss.org/projects/DBZ/issues/DBZ-330) + +## 0.5.1 + +June 9, 2017 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12333615) + +### New features since 0.5.0 + +* MySQL Connector should support 'Point' data type [DBZ-222](https://issues.jboss.org/projects/DBZ/issues/DBZ-222) +* Support tstzrange column type on Postgres [DBZ-280](https://issues.jboss.org/projects/DBZ/issues/DBZ-280) + +### Breaking changes since 0.5.0 + +This release includes the following change that affect existing installations which capture system tables: + +* MySQL connector should apply database and table filters to system dbs/tables [DBZ-242](https://issues.jboss.org/projects/DBZ/issues/DBZ-242) + +### Fixes and changes since 0.5.0 + +* Control how Debezium connectors maps tables to topics for sharding and other use cases [DBZ-121](https://issues.jboss.org/projects/DBZ/issues/DBZ-121) +* MySqlConnector Table and Database recommenders cause timeouts on large instances [DBZ-232](https://issues.jboss.org/projects/DBZ/issues/DBZ-232) +* Option to disable SSL certificate validation for PostgreSQL [DBZ-244](https://issues.jboss.org/projects/DBZ/issues/DBZ-244) +* Let enum types implement EnumeratedValue [DBZ-262](https://issues.jboss.org/projects/DBZ/issues/DBZ-262) +* The MySQL connector is failing with the DDL statements. [DBZ-198](https://issues.jboss.org/projects/DBZ/issues/DBZ-198) +* Correct MongoDB build [DBZ-213](https://issues.jboss.org/projects/DBZ/issues/DBZ-213) +* MongoDB connector should handle new primary better [DBZ-214](https://issues.jboss.org/projects/DBZ/issues/DBZ-214) +* Validate that database.server.name and database.history.kafka.topic have different values [DBZ-215](https://issues.jboss.org/projects/DBZ/issues/DBZ-215) +* When restarting Kafka Connect, we get io.debezium.text.ParsingException [DBZ-216](https://issues.jboss.org/projects/DBZ/issues/DBZ-216) +* Postgres connector crash on a database managed by Django [DBZ-223](https://issues.jboss.org/projects/DBZ/issues/DBZ-223) +* MySQL Connector doesn't handle any value above '2147483647' for 'INT UNSIGNED' types [DBZ-228](https://issues.jboss.org/projects/DBZ/issues/DBZ-228) +* MySqlJdbcContext#userHasPrivileges() is broken for multiple privileges [DBZ-229](https://issues.jboss.org/projects/DBZ/issues/DBZ-229) +* Postgres Connector does not work when "sslmode" is "require" [DBZ-238](https://issues.jboss.org/projects/DBZ/issues/DBZ-238) +* Test PostgresConnectorIT.shouldSupportSSLParameters is incorrect [DBZ-245](https://issues.jboss.org/projects/DBZ/issues/DBZ-245) +* Recommender and default value broken for EnumeratedValue type [DBZ-246](https://issues.jboss.org/projects/DBZ/issues/DBZ-246) +* PG connector is CPU consuming [DBZ-250](https://issues.jboss.org/projects/DBZ/issues/DBZ-250) +* MySQL tests are interdependent [DBZ-251](https://issues.jboss.org/projects/DBZ/issues/DBZ-251) +* MySQL DDL parser fails on "ANALYZE TABLE" statement [DBZ-253](https://issues.jboss.org/projects/DBZ/issues/DBZ-253) +* Binary fields with trailing "00" are truncated [DBZ-254](https://issues.jboss.org/projects/DBZ/issues/DBZ-254) +* Enable Maven repository caching on Travis [DBZ-274](https://issues.jboss.org/projects/DBZ/issues/DBZ-274) +* Memory leak and excessive CPU usage when using materialized views [DBZ-277](https://issues.jboss.org/projects/DBZ/issues/DBZ-277) +* Postgres task should fail when connection to server is lost [DBZ-281](https://issues.jboss.org/projects/DBZ/issues/DBZ-281) +* Fix some wrong textual descriptions of default values [DBZ-282](https://issues.jboss.org/projects/DBZ/issues/DBZ-282) +* Apply consistent default value for Postgres port [DBZ-237](https://issues.jboss.org/projects/DBZ/issues/DBZ-237) +* Make Docker images run on OpenShift [DBZ-240](https://issues.jboss.org/projects/DBZ/issues/DBZ-240) +* Don't mention default value for "database.server.name" [DBZ-243](https://issues.jboss.org/projects/DBZ/issues/DBZ-243) + +## 0.5.0 + +March 27, 2017 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12334135) + +### New features since 0.4.1 + +None + +### Breaking changes since 0.4.1 + +This release includes the following changes that are likely to affect existing installations: + +* Upgraded from Kafka 0.10.1.1 to 0.10.2.0. [DBZ-203](https://issues.jboss.org/projects/DBZ/issues/DBZ-203) + +### Fixes and changes since 0.4.1 + +This release includes the following fixes, changes, or improvements since the [0.4.1](#041) release: + +* MySQL connector now better handles DDL statements with `BEGIN...END` blocks, especially those that use `IF()` functions as well as `CASE...WHEN` statements. [DBZ-198](https://issues.jboss.org/projects/DBZ/issues/DBZ-198) +* MySQL connector handles 2-digit years in `DATETIME`, `DATE`, `TIMESTAMP`, and `YEAR` columns in the [same way as MySQL](https://dev.mysql.com/doc/refman/5.7/en/two-digit-years.html). [DBZ-205](https://issues.jboss.org/projects/DBZ/issues/DBZ-205) + + +## 0.4.1 + +March 17, 2017 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12333486) + +### New features since 0.4.0 + +* Improved support for [Amazon RDS](https://aws.amazon.com/rds/mysql/) and [Amazon Aurora (MySQL compatibility)](https://aws.amazon.com/rds/aurora/). [DBZ-140](https://issues.jboss.org/projects/DBZ/issues/DBZ-140) + +### Breaking changes since 0.4.0 + +None + +### Fixes and changes since 0.4.0 + +This release includes the following fixes, changes, or improvements since the [0.4.0](#040) release: + +* MySQL connector now allows filtering production of DML events by GTIDs. [DBZ-188](https://issues.jboss.org/projects/DBZ/issues/DBZ-188) +* Support InnoDB savepoints. [DBZ-196](https://issues.jboss.org/projects/DBZ/issues/DBZ-196) +* Corrected MySQL DDL parser. [DBZ-193](https://issues.jboss.org/projects/DBZ/issues/DBZ-193) [DBZ-198](https://issues.jboss.org/projects/DBZ/issues/DBZ-198) +* Improved handling of MySQL connector's built-in tables. [DBZ-194](https://issues.jboss.org/projects/DBZ/issues/DBZ-194) +* MySQL connector properly handles invalid/blank enum literal values. [DBZ-197](https://issues.jboss.org/projects/DBZ/issues/DBZ-197) +* MySQL connector properly handles reserved names as column names. [DBZ-200](https://issues.jboss.org/projects/DBZ/issues/DBZ-200) +* MongoDB connector properly generates event keys based upon ObjectID for updates. [DBZ-201](https://issues.jboss.org/projects/DBZ/issues/DBZ-201) + + +## 0.4.0 + +February 7, 2017 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12330743) + +### New features since 0.3.6 + +* New PostgreSQL connector. [DBZ-3](https://issues.jboss.org/projects/DBZ/issues/DBZ-3) +* Preliminary support for [Amazon RDS](https://aws.amazon.com/rds/mysql/) and [Amazon Aurora (MySQL compatibility)](https://aws.amazon.com/rds/aurora/). [DBZ-140](https://issues.jboss.org/projects/DBZ/issues/DBZ-140) + +### Breaking changes since 0.3.6 + +None + +### Fixes and changes since 0.3.6 + +This release includes the following fixes, changes, or improvements since the [0.3.6](#036) release: + +* Update Kafka dependencies to 0.10.1.1. [DBZ-173](https://issues.jboss.org/projects/DBZ/issues/DBZ-173) +* Update MySQL binary log client library to 0.9.0. [DBZ-186](https://issues.jboss.org/projects/DBZ/issues/DBZ-186) +* MySQL should apply GTID filters to database history. [DBZ-185](https://issues.jboss.org/projects/DBZ/issues/DBZ-185) +* Add names of database and table to the MySQL event metadata. [DBZ-184](https://issues.jboss.org/projects/DBZ/issues/DBZ-184) +* Add the MySQL thread ID to the MySQL event metadata. [DBZ-113](https://issues.jboss.org/projects/DBZ/issues/DBZ-113) +* Corrects MySQL connector to properly handle timezone information for `TIMESTAMP`. [DBZ-183](https://issues.jboss.org/projects/DBZ/issues/DBZ-183) +* Correct MySQL DDL parser to handle `CREATE TRIGGER` command with `DEFINER` clauses. [DBZ-176](https://issues.jboss.org/projects/DBZ/issues/DBZ-176) +* Update MongoDB Java driver and MongoDB server versions. [DBZ-187](https://issues.jboss.org/projects/DBZ/issues/DBZ-187) +* MongoDB connector should restart incomplete initial sync. [DBZ-182](https://issues.jboss.org/projects/DBZ/issues/DBZ-182) +* MySQL and PostgreSQL connectors should load JDBC driver independently of DriverManager. [DBZ-177](https://issues.jboss.org/projects/DBZ/issues/DBZ-177) +* Upgrade MySQL binlog client library to support new binlog events added with MySQL 5.7. [DBZ-174](https://issues.jboss.org/projects/DBZ/issues/DBZ-174) +* EmbeddedEngine should log all errors. [DBZ-178](https://issues.jboss.org/projects/DBZ/issues/DBZ-178) +* PostgreSQL containers' generated Protobuf source moved to separate directory. [DBZ-179](https://issues.jboss.org/projects/DBZ/issues/DBZ-179) + + +## 0.3.6 + +December 21, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12332775) + +### New features since 0.3.5 + +None + +### Breaking changes since 0.3.5 + +None + +### Fixes since 0.3.5 + +This release includes the following fixes since the [0.3.5](#035) release: + +* Deleting a Debezium connector in Kafka Connect no longer causes NPEs. [DBZ-138](https://issues.jboss.org/projects/DBZ/issues/DBZ-138) +* MongoDB connector properly connects to a sharded cluster and the primaries for each replica set. [DBZ-170](https://issues.jboss.org/projects/DBZ/issues/DBZ-170), [DBZ-167](https://issues.jboss.org/projects/DBZ/issues/DBZ-167) +* Stopping the MySQL connector while in the middle of a snapshot now cloasses all MySQL resources. [DBZ-166](https://issues.jboss.org/projects/DBZ/issues/DBZ-166) +* MySQL connector properly parses with `ON UPDATE` timestamp values. [DBZ-169](https://issues.jboss.org/projects/DBZ/issues/DBZ-169) +* MySQL connector ignores `CREATE FUNCTION` DDL statements. [DBZ-162](https://issues.jboss.org/projects/DBZ/issues/DBZ-162) +* MySQL connector properly parses `CREATE TABLE` script with ENUM type and default value 'b'. [DBZ-160]https://issues.jboss.org/projects/DBZ/issues/DBZ-160) +* MySQL connector now properly supports `NVARCHAR` columns. [DBZ-142](https://issues.jboss.org/projects/DBZ/issues/DBZ-142) +* MySQL connector's snapshot process now uses `SHOW TABLE STATUS ...` rather than `SELECT COUNT(\*)` to obtain an estimate of the number of rows for each table, and can even forgo this step if all tables are to be streamed. [DBZ-152](https://issues.jboss.org/projects/DBZ/issues/DBZ-152) +* MySQL connector's snaphot process ignores "artificial" database names exposed by MySQL. [DBZ-164](https://issues.jboss.org/projects/DBZ/issues/DBZ-164) +* MySQL connector ignores XA statements appearing in the binlog. [DBZ-168](https://issues.jboss.org/projects/DBZ/issues/DBZ-168) +* MySQL connector no longer expects GTID set information on older MySQL versions. [DBZ-161](https://issues.jboss.org/projects/DBZ/issues/DBZ-161) +* Improved the EmbeddedEngine and fixed several issues. [DBZ-156](https://issues.jboss.org/projects/DBZ/issues/DBZ-156) + + + +## 0.3.5 + +November 9, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12332052) + +### New features since 0.3.4 + +This release includes the following feature: + +* MySQL connector now supports failover to MySQL masters that are slaves of multiple other MySQL servers/clusters. [DBZ-143](https://issues.jboss.org/projects/DBZ/issues/DBZ-143) + + +### Backwards-incompatible changes since 0.3.4 + +None + +### Fixes since 0.3.4 + +This release includes the following significant fix, and all users are strongly encouraged to upgrade: + +* Restarting MySQL connector may lose or miss events from the previous transaction that was incompletely processed prior to the easlier shutdown. This fix corrects this potential problem and slightly alters the offsets recorded by the connector. Production connectors should be stopped carefully to ensure transactions are processed atomically, if necessary by temporarily stopping updates on the MySQL server and letting the connector complete all transactions before stopping. [DBZ-144](https://issues.jboss.org/projects/DBZ/issues/DBZ-144) + +Additionally, this release includes the following fixes since the [0.3.4](#034) release: + +* Shutting down MySQL connector task database and quickly terminating the Kafka Connect process may cause connector to be restarted in a strange state when Kafka Connect is restarted, but this no longer results in a null pointer exception in the Kafka database history. [DBZ-146](https://issues.jboss.org/projects/DBZ/issues/DBZ-146) +* MySQL connector now has option to treat `DECIMAL` and `NUMERIC` columns as double values rather than `java.math.BigDecimal` values that are encoded in the messages by Kafka Connect in binary form. [DBZ-147](https://issues.jboss.org/projects/DBZ/issues/DBZ-147) +* MySQL connector tests now take into account daylight savings time in the expected results. [DBZ-148](https://issues.jboss.org/projects/DBZ/issues/DBZ-148) +* MySQL connector now properly treats `BINARY` columns as binary values rather than string values. [DBZ-149](https://issues.jboss.org/projects/DBZ/issues/DBZ-149) +* MySQL connector now handles updates to a row's primary/unique key by issuing `DELETE` and tombstone events for the row with the old key, and then an `INSERT` event for the row with the new key. Previously, the `INSERT` was emitted before the `DELETE`. [DBZ-150](https://issues.jboss.org/projects/DBZ/issues/DBZ-150) +* MySQL connector now handles `ENUM` and `SET` literals with parentheses. [DBZ-153](https://issues.jboss.org/projects/DBZ/issues/DBZ-153) + + +## 0.3.4 + +October 25, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12331759) + +### New features since 0.3.3 + +* MySQL connector has new `SCHEMA_ONLY` snapshot mode. [DBZ-133](https://issues.jboss.org/projects/DBZ/issues/DBZ-133) +* MySQL connector supports the MySQL `JSON` datatype. [DBZ-126](https://issues.jboss.org/projects/DBZ/issues/DBZ-126) +* MySQL connector metrics exposed via JMX. [DBZ-134](https://issues.jboss.org/projects/DBZ/issues/DBZ-134) + +### Backwards-incompatible changes since 0.3.3 + +None + +### Fixes since 0.3.3 + +This release includes all of the fixes from the [0.3.3](#033) release, and also includes the following fixes: + +* MySQL connector's `ts_sec` field now shows correct time from MySQL server events. [DBZ-139](https://issues.jboss.org/projects/DBZ/issues/DBZ-139) + + +## 0.3.3 + +October 18, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12331604) + +### New features since 0.3.2 + +None + +### Backwards-incompatible changes since 0.3.2 + +None + +### Fixes since 0.3.2 + +This release includes all of the fixes from the [0.3.2](#032) release, and also includes the following fixes: + +* MySQL connector now works with MySQL 5.5. [DBZ-115](https://issues.jboss.org/projects/DBZ/issues/DBZ-115) +* MySQL connector now handles `BIT(n)` column values. [DBZ-123](https://issues.jboss.org/projects/DBZ/issues/DBZ-123) +* MySQL connector supports failing over based on subset of GTIDs. [DBZ-129](https://issues.jboss.org/projects/DBZ/issues/DBZ-129) +* MySQL connector processes GTIDs with line feeds and carriage returns. [DBZ-135](https://issues.jboss.org/projects/DBZ/issues/DBZ-135) +* MySQL connector has improved output of GTIDs and status when reading the binary log. [DBZ-130](https://issues.jboss.org/projects/DBZ/issues/DBZ-130), [DBZ-131](https://issues.jboss.org/projects/DBZ/issues/DBZ-131) +* MySQL connector properly handles multi-character `ENUM` and `SET` values. [DBZ-132](https://issues.jboss.org/projects/DBZ/issues/DBZ-132) + + +## 0.3.2 + +September 26, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12331401) + +### New features since 0.3.1 + +None + +### Backwards-incompatible changes since 0.3.1 + +None + +### Fixes since 0.3.1 + +This release includes all of the fixes from the [0.3.1](#031) release, and also includes the following fixes: + +* MySQL connector now handles zero-value dates. [DBZ-114](https://issues.jboss.org/projects/DBZ/issues/DBZ-114) +* MySQL connector no longer prints out password-related configuration properties, though [KAFKA-4171](https://issues.apache.org/jira/browse/KAFKA-4171) for a similar issue with Kafka Connect. [DBZ-122](https://issues.jboss.org/projects/DBZ/issues/DBZ-122) +* MySQL connector no longer causes "Error registering AppInfo mbean" warning in Kafka Connect. [DBZ-124](https://issues.jboss.org/projects/DBZ/issues/DBZ-124) +* MySQL connector periodically outputs status when reading binlog. [DBZ-116](https://issues.jboss.org/projects/DBZ/issues/DBZ-116) +* MongoDB connector periodically outputs status when reading binlog. [DBZ-117](https://issues.jboss.org/projects/DBZ/issues/DBZ-117) +* MySQL connector correctly uses long for the `server.id` configuration property. [DBZ-118](https://issues.jboss.org/projects/DBZ/issues/DBZ-118) +* MySQL connector fails or warns when MySQL is not using row-level logging. [DBZ-128](https://issues.jboss.org/projects/DBZ/issues/DBZ-128) + + +## 0.3.1 + +August 30, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12331359) + +### New features + +* Added support for secure (encrypted) connections to MySQL. [DBZ-99](https://issues.jboss.org/projects/DBZ/issues/DBZ-99) + +### Backwards-incompatible changes since 0.3.0 + +None + +### Fixes since 0.3.0 + +This release includes all of the fixes from the [0.2.4](#024) release, and also includes the following fixes: + +* MySQL connector now properly decodes string values from the binlog based upon the column's character set encoding as read by the DDL statement. Upon upgrade and restart, the connector will re-read the recorded database history and now associate the columns with their the character sets, and any newly processed events will use properly encoded strings values. As expected, previously generated events are never altered. Force a snapshot to regenerate events for the servers. [DBZ-102](https://issues.jboss.org/projects/DBZ/issues/DBZ-102) +* Corrected how the MySQL connector parses some DDL statements. [DBZ-106](https://issues.jboss.org/projects/DBZ/issues/DBZ-106) +* Corrected the MySQL connector to handle MySQL server GTID sets with newline characters. [DBZ-107](https://issues.jboss.org/projects/DBZ/issues/DBZ-107), [DBZ-111](https://issues.jboss.org/projects/DBZ/issues/DBZ-111) +* Corrected the MySQL connector's startup logic properly compare the MySQL SSL-related system properties to prevent overwriting them. The connector no longer fails when the system properties are the same, which can happen upon restart or starting a second MySQL connector with the same keystore. [DBZ-112](https://issues.jboss.org/projects/DBZ/issues/DBZ-112) +* Removed unused code and test case. [DBZ-108](https://issues.jboss.org/projects/DBZ/issues/DBZ-108) +* Ensure that the MySQL error code and SQLSTATE are included in exceptions reported by the connector. [DBZ-109](https://issues.jboss.org/projects/DBZ/issues/DBZ-109) + + +## 0.3.0 + +August 16, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12329661) + +### New features + +* New MongoDB connector supports capturing changes from a MongoDB replica set or a MongoDB sharded cluster. See the [documentation](https://debezium.io/docs/connectors/mongodb) for details. [DBZ-2](https://issues.jboss.org/projects/DBZ/issues/DBZ-2) + +### Backwards-incompatible changes since 0.2.0 + +* 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](https://issues.jboss.org/projects/DBZ/issues/DBZ-62), [DBZ-80](https://issues.jboss.org/projects/DBZ/issues/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 to `connect`. [DBZ-91](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/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 the `source` field. _Changed in 0.2.2._ [DBZ-76](https://issues.jboss.org/projects/DBZ/issues/DBZ-76) +* Correted the names of the Avro-compliant Kafka Connect schemas generated by the MySQL connector for the `before` and `after` 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](https://issues.jboss.org/projects/DBZ/issues/DBZ-72) + +### Fixes since 0.2.0 + +* MySQL snapshots records DDL statements as separate events on the schema change topic. [DBZ-97](https://issues.jboss.org/browse/DBZ-97) +* MySQL connector tolerates binlog filename missing from ROTATE events in certain situations. [DBZ-95](https://issues.jboss.org/browse/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](https://issues.jboss.org/browse/DBZ-94) +* Add more verbose logging statements to the MySQL connector to show progress and activity. _Fixed in 0.2.4._ [DBZ-92](https://issues.jboss.org/browse/DBZ-92) +* Corrected potential error during graceful MySQL connector shutdown. _Fixed in 0.2.4._ [DBZ-103](https://issues.jboss.org/browse/DBZ-103) +* The Kafka Connect schema names used in the MySQL connector's change events are now always Avro-compatible schema names [DBZ-86](https://issues.jboss.org/projects/DBZ/issues/DBZ-86) +* Corrected parsing errors when MySQL DDL statements are generated by Liquibase. _Fixed in 0.2.3._ [DBZ-83](https://issues.jboss.org/browse/DBZ-83) +* Corrected support of MySQL `TINYINT` and `SMALLINT` types. _Fixed in 0.2.3._ [DBZ-84](https://issues.jboss.org/browse/DBZ-84), [DBZ-87](https://issues.jboss.org/browse/DBZ-87) +* Corrected support of MySQL temporal types, including `DATE`, `TIME`, and `TIMESTAMP`. _Fixed in 0.2.3._ [DBZ-85](https://issues.jboss.org/browse/DBZ-85) +* Corrected support of MySQL `ENUM` and `SET` types. [DBZ-100](https://issues.jboss.org/browse/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](https://issues.jboss.org/browse/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](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/DBZ-71) + + +## 0.2.4 + +August 16, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12331221) + +### Fixes since 0.2.3 + +* Stream result set rows when taking snapshot of MySQL databases to prevent out of memory problems with very large databases. [DBZ-94](https://issues.jboss.org/browse/DBZ-94) +* Add more verbose logging statements to the MySQL connector to show progress and activity during snapshots. [DBZ-92](https://issues.jboss.org/browse/DBZ-92) +* Corrected potential error during graceful MySQL connector shutdown. [DBZ-103](https://issues.jboss.org/browse/DBZ-103) + + +## 0.2.3 + +July 26, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12330932) + +### Backwards-incompatible changes since 0.2.2 + +None + +### Fixes since 0.2.2 + +* Corrected parsing errors when MySQL DDL statements are generated by Liquibase. [DBZ-83](https://issues.jboss.org/browse/DBZ-83) +* Corrected support of MySQL `TINYINT` and `SMALLINT` types. [DBZ-84](https://issues.jboss.org/browse/DBZ-84), [DBZ-87](https://issues.jboss.org/browse/DBZ-87) +* Corrected support of MySQL temporal types, including `DATE`, `TIME`, and `TIMESTAMP`. [DBZ-85](https://issues.jboss.org/browse/DBZ-85) +* Corrected call to MySQL `SHOW MASTER STATUS` so that it works on pre-5.7 versions of MySQL. [DBZ-82](https://issues.jboss.org/browse/DBZ-82) + + +## 0.2.2 + +June 22, 2016 - [Detailed release notes](https://issues.jboss.org/browse/DBZ/versions/12330862) + +### Backwards-incompatible changes since 0.2.1 + +* 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](https://issues.jboss.org/projects/DBZ/issues/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 the `source` field. [DBZ-76](https://issues.jboss.org/projects/DBZ/issues/DBZ-76) + +### Fixes since 0.2.1 + +* 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](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/DBZ-77) + + + +## 0.2.1 + +June 10, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12330752) + +### Backwards-incompatible changes since 0.2.0 + +* Correted the names of the Avro-compliant Kafka Connect schemas generated by the MySQL connector for the `before` and `after` 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](https://issues.jboss.org/projects/DBZ/issues/DBZ-72)) + +### Fixes since 0.2.0 + +* The MySQL connector's plugin archive now contains the MySQL JDBC driver JAR file required by the connector.([DBZ-71](https://issues.jboss.org/projects/DBZ/issues/DBZ-71)) + +## 0.2.0 + +June 8, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12329465) + +### New features + +* MySQL connector supports *high availability* MySQL cluster topologies. See the [documentation](https://debezium.io/docs/connectors/mysql) for details. ([DBZ-37](https://issues.jboss.org/projects/DBZ/issues/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](https://debezium.io/docs/connectors/mysql#snapshots) for details about how this works and how it impacts other database clients. ([DBZ-31](https://issues.jboss.org/projects/DBZ/issues/DBZ-31)) +* MySQL connector can be configured to *exclude*, *truncate*, or *mask* specific columns in events. ([DBZ-29](https://issues.jboss.org/projects/DBZ/issues/DBZ-29)) +* MySQL connector events can be serialized using the [Confluent Avro converter](http://docs.confluent.io/3.0.0/avro.html) or the JSON converter. Previously, only the JSON converter could be used. ([DBZ-29](https://issues.jboss.org/projects/DBZ/issues/DBZ-29), [DBZ-63](https://issues.jboss.org/projects/DBZ/issues/DBZ-63), [DBZ-64](https://issues.jboss.org/projects/DBZ/issues/DBZ-64)) + +### Backwards-incompatible changes since 0.1 + +* 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](https://debezium.io/docs/connectors/mysql#events) for details. This envelope structure will likely be used by future connectors. ([DBZ-50](https://issues.jboss.org/projects/DBZ/issues/DBZ-50), [DBZ-52](https://issues.jboss.org/projects/DBZ/issues/DBZ-52), [DBZ-45](https://issues.jboss.org/projects/DBZ/issues/DBZ-45), [DBZ-60](https://issues.jboss.org/projects/DBZ/issues/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](https://debezium.io/docs/connectors/mysql#events) for details. ([DBZ-44](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/DBZ-43), [DBZ-55](https://issues.jboss.org/projects/DBZ/issues/DBZ-55)) + +### Changes since 0.1 + +* DDL parsing framework identifies table affected by statements via a new listener callback. ([DBZ-38](https://issues.jboss.org/projects/DBZ/issues/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](https://issues.jboss.org/projects/DBZ/issues/DBZ-31)) + +### Bug fixes since 0.1 + +* MySQL connector now properly parses `COMMIT` statements, the `REFERENCES` clauses of `CREATE TABLE` statements, and statements with `CHARSET` shorthand of `CHARACTER SET`. ([DBZ-48](https://issues.jboss.org/projects/DBZ/issues/DBZ-48), [DBZ-49](https://issues.jboss.org/projects/DBZ/issues/DBZ-49), [DBZ-57](https://issues.jboss.org/projects/DBZ/issues/DBZ-57)) +* MySQL connector properly handles binary values that are hexadecimal strings ([DBZ-61](https://issues.jboss.org/projects/DBZ/issues/DBZ-61)) + +## 0.1 + +March 17, 2016 - [Detailed release notes](https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12317320&version=12329464) + +### New features + +* MySQL connector for ingesting change events from MySQL databases. ([DBZ-1](https://issues.jboss.org/projects/DBZ/issues/DBZ-1)) +* Kafka Connect plugin archive for MySQL connector. ([DBZ-17](https://issues.jboss.org/projects/DBZ/issues/DBZ-17)) +* Simple DDL parsing framework that can be extended and used by various connectors. ([DBZ-1](https://issues.jboss.org/projects/DBZ/issues/DBZ-1)) +* Framework for embedding a single Kafka Connect connector inside an application. ([DBZ-8](https://issues.jboss.org/projects/DBZ/issues/DBZ-8)) diff --git a/event-streams/foo/debezium-connector-postgres/CONTRIBUTE.md b/event-streams/foo/debezium-connector-postgres/CONTRIBUTE.md new file mode 100644 index 00000000..2ff7722a --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/CONTRIBUTE.md @@ -0,0 +1,262 @@ +# Contributing to Debezium + +The Debezium community welcomes anyone that wants to help out in any way, whether that includes reporting problems, helping with documentation, or contributing code changes to fix bugs, add tests, or implement new features. This document outlines the basic steps required to work with and contribute to the Debezium codebase. + +## Talk to us + +Before doing any code changes, +it's a good idea to reach out to us, +so as to make sure there's a general consencus on the proposed change and the implementation strategy. +You can reach us here: + +* [User chat](https://debezium.zulipchat.com/#narrow/stream/302529-users) +* [Developers chat](https://debezium.zulipchat.com/#narrow/stream/302533-dev) - Only for internal development subjects +* [Google Group](https://groups.google.com/forum/#!forum/debezium) +* [Jira](https://issues.redhat.com/projects/DBZ/) + +## Install the tools + +The following software is required to work with the Debezium codebase and build it locally: + +* [Git 2.2.1](https://git-scm.com) or later +* JDK 11 or later, e.g. [OpenJDK](http://openjdk.java.net/projects/jdk/) +* [Apache Maven](https://maven.apache.org/index.html) 3.6.3 or later +* [Docker Engine](https://docs.docker.com/engine/install/) or [Docker Desktop](https://docs.docker.com/desktop/) 1.9 or later + +See the links above for installation instructions on your platform. You can verify the versions are installed and running: + + $ git --version + $ javac -version + $ mvn -version + $ docker --version + +### GitHub account + +Debezium uses [GitHub](GitHub.com) for its primary code repository and for pull-requests, so if you don't already have a GitHub account you'll need to [join](https://github.com/join). + +### Jira account + +Debezium uses the [Red Hat Jira](https://issues.redhat.com/) instance for issue tracking. +If you don't have an account yet, you can create one for free by clicking "Log In" and then signing up with Red Hat's SSO service. + +## Working with the codebase + +### Fork the Debezium repository + +Go to the [Debezium repository](https://github.com/debezium/debezium) and press the "Fork" button near the upper right corner of the page. When finished, you will have your own "fork" at `https://github.com//debezium`, and this is the repository to which you will upload your proposed changes and create pull requests. For details, see the [GitHub documentation](https://help.github.com/articles/fork-a-repo/). + +### Clone your fork + +At a terminal, go to the directory in which you want to place a local clone of the Debezium repository, and run the following commands to use HTTPS authentication: + + $ git clone https://github.com//debezium.git + +If you prefer to use SSH and have [uploaded your public key to your GitHub account](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/), you can instead use SSH: + + $ git clone git@github.com:/debezium.git + +This will create a `debezium` directory, so change into that directory: + + $ cd debezium + +This repository knows about your fork, but it doesn't yet know about the official or ["upstream" Debezium repository](https://github.com/debezium/debezium). Run the following commands: + + $ git remote add upstream https://github.com/debezium/debezium.git + $ git fetch upstream + $ git branch --set-upstream-to=upstream/main main + +Now, when you check the status using Git, it will compare your local repository to the *upstream* repository. + +### Get the latest upstream code + +You will frequently need to get all the of the changes that are made to the upstream repository, and you can do this with these commands: + + $ git fetch upstream + $ git pull upstream main + +The first command fetches all changes on all branches, while the second actually updates your local `main` branch with the latest commits from the `upstream` repository. + +### Building locally + +To build the source code locally, checkout and update the `main` branch: + + $ git checkout main + $ git pull upstream main + +Then use Maven to compile everything, run all unit and integration tests, build all artifacts, and install all JAR, ZIP, and TAR files into your local Maven repository: + + $ mvn clean install -Passembly + +If you want to skip the integration tests (e.g., if you don't have Docker installed) or the unit tests, you can add `-DskipITs` and/or `-DskipTests` to that command: + + $ mvn clean install -Passembly -DskipITs -DskipTests + +### Running and debugging tests + +A number of the modules use Docker during their integration tests to run a database. During development it's often desirable to start the Docker container and leave it running so that you can compile/run/debug tests repeatedly from your IDE. To do this, simply go into one of the modules (e.g., `cd debezium-connector-mysql`) and run the following command: + + $ mvn docker:build docker:start + +This will first force the build to create a new Docker image for the database container, and then will start a container named "database". You can then run any integration tests from your IDE, though all of our integration tests expect the database connection information to be passed in as system variables (like our Maven build does). For example, the MySQL connector integration tests expect something like `-Ddatabase.hostname=localhost -Ddatabase.port=3306` to be passed as arguments to your test. + +When your testing is complete, you can stop the Docker container by running: + + $ mvn docker:stop + +or the following Docker commands: + + $ docker stop database; docker rm database + +## Making changes + +Everything the community does with the codebase -- fixing bugs, adding features, making improvements, adding tests, etc. -- should be described by an issue in our [Jira](https://issues.redhat.com/projects/DBZ/) project. If no such issue exists for what you want to do, please create an issue with a meaningful and easy-to-understand description. +If you are going to work on a specific issue and it's your first contribution, +please add a short comment to the issue, so other people know you're working on it. +If you are contributing repeatedly, ask in our [chat room for developers](https://debezium.zulipchat.com/#narrow/stream/302533-dev) for the 'developer' Jira role so you can assign issues to yourself. + +Before you make any changes, be sure to switch to the `main` branch and pull the latest commits on the `main` branch from the upstream repository. Also, it's probably good to run a build and verify all tests pass *before* you make any changes. + + $ git checkout main + $ git pull upstream main + $ mvn clean install + +Once everything builds, create a *topic branch* named appropriately (we recommend using the issue number, such as `DBZ-1234`): + + $ git checkout -b DBZ-1234 + +This branch exists locally and it is there you should make all of your proposed changes for the issue. As you'll soon see, it will ultimately correspond to a single pull request that the Debezium committers will review and merge (or reject) as a whole. (Some issues are big enough that you may want to make several separate but incremental sets of changes. In that case, you can create subsequent topic branches for the same issue by appending a short suffix to the branch name.) + +Your changes should include changes to existing tests or additional unit and/or integration tests that verify your changes work. We recommend frequently running related unit tests (in your IDE or using Maven) to make sure your changes didn't break anything else, and that you also periodically run a complete build using Maven to make sure that everything still works: + + $ mvn clean install + +Feel free to commit your changes locally as often as you'd like, though we generally prefer that each commit represent a complete and atomic change to the code. Often, this means that most issues will be addressed with a single commit in a single pull-request, but other more complex issues might be better served with a few commits that each make separate but atomic changes. (Some developers prefer to commit frequently and to ammend their first commit with additional changes. Other developers like to make multiple commits and to then squash them. How you do this is up to you. However, *never* change, squash, or ammend a commit that appears in the history of the upstream repository.) When in doubt, use a few separate atomic commits; if the Debezium reviewers think they should be squashed, they'll let you know when they review your pull request. + +Committing is as simple as: + + $ git commit . + +which should then pop up an editor of your choice in which you should place a good commit message. _*We do expect that all commit messages begin with a line starting with the Jira issue and ending with a short phrase that summarizes what changed in the commit.*_ For example: + + DBZ-1234 Expanded the MySQL integration test and correct a unit test. + +If that phrase is not sufficient to explain your changes, then the first line should be followed by a blank line and one or more paragraphs with additional details. For example: + +``` +DBZ-1235 Added support for ingesting data from PostgreSQL. + +The new ingest library supports PostgreSQL 9.4 or later. It requires a small plugin to be installed +on the database server, and the database to be configured so that the ingest component can connect +to the database and use logical decoding to read the transaction log. Several new unit tests and one +integration test were added. +``` + +### Code Formatting + +This project utilizes a set of code style rules that are automatically applied by the build process. There are two ways in which you can apply these rules while contributing: + +1. If your IDE supports importing an Eclipse-based formatter file, navigate to your IDE's code format section and import the file `support/ide-configs/src/main/resources/eclipse/debezium-formatter.xml`. It's recommended that when you import these styles, you may want to make sure these are only applicable only to the current project. + +2. If your IDE does not support importing the Eclipse-based formatter file or you'd rather tidy up the formatting after making your changes locally, you can run a project build to make sure that all code changes adhere to the project's desired style. Instructions on how to run a build locally are provided below. + +3. With the command `mvn process-sources` the code style rules can be applied automatically. + +In the event that a pull request is submitted with code style violations, continuous integration will fail the pull request build. + +To fix pull requests with code style violations, simply run the project's build locally and allow the automatic formatting happen. Once the build completes, you will have some local repository files modified to fix the coding style which can be amended on your pull request. Once the pull request is synchronized with the formatting changes, CI will rerun the build. + +To run the build, navigate to the project's root directory and run: + + $ mvn clean install + +It might be useful to simply run a _validate_ check against the code instead of automatically applying code style changes. If you want to simply run validation, navigate to the project's root directory and run: + + $ mvn clean install -Dformat.formatter.goal=validate -Dformat.imports.goal=check + +Please note that when running _validate_ checks, the build will stop as soon as it encounters its first violation. This means it is necessary to run the build multiple times until no violations are detected. + +### Rebasing + +If its been more than a day or so since you created your topic branch, we recommend *rebasing* your topic branch on the latest `main` branch. This requires switching to the `main` branch, pulling the latest changes, switching back to your topic branch, and rebasing: + + $ git checkout main + $ git pull upstream main + $ git checkout DBZ-1234 + $ git rebase main + +If your changes are compatible with the latest changes on `main`, this will complete and there's nothing else to do. However, if your changes affect the same files/lines as other changes have since been merged into the `main` branch, then your changes conflict with the other recent changes on `main`, and you will have to resolve them. The git output will actually tell you you need to do (e.g., fix a particular file, stage the file, and then run `git rebase --continue`), but if you have questions consult Git or GitHub documentation or spend some time reading about Git rebase conflicts on the Internet. + +### Documentation + +When adding new features such as e.g. a connector or configuration options, they must be documented accordingly in the Debezium [reference documentation](https://debezium.io/documentation/). +The same applies when changing existing behaviors, e.g. type mappings, removing options etc. + +The documentation is written using AsciiDoc/Antora and can be found in the Debezium [source code repository](https://github.com/debezium/debezium/tree/main/documentation). +Any documentation update should be part of the pull request you submit for the code change. + +### Creating a pull request + +Once you're finished making your changes, your topic branch should have your commit(s) and you should have verified that your branch builds successfully. At this point, you can shared your proposed changes and create a pull request. To do this, first push your topic branch (and its commits) to your fork repository (called `origin`) on GitHub: + + $ git push origin DBZ-1234 + +Then, in a browser go to your forked repository, and you should see a small section near the top of the page with a button labeled "Contribute". GitHub recognized that you pushed a new topic branch to your fork of the upstream repository, and it knows you probably want to create a pull request with those changes. Click on the button, and a button "Open pull request" will apper. Click it and GitHub will present you the "Comparing changes" page, where you can view all changes that you are about to submit. With all revised, click in "Create pull request" and a short form will be given, that you should fill out with information about your pull request. The title should start with the Jira issue and end with a short phrase that summarizes the changes included in the pull request. (If the pull request contains a single commit, GitHub will automatically prepopulate the title and description fields from the commit message.) + +When completed, press the "Create" button and copy the URL to the new pull request. Go to the corresponding Jira issue and record the pull request by pasting the URL into the "Pull request" field. (Be sure to not overwrite any URLs that were already in this field; this is how a single issue is bound to multiple pull requests.) Also, please add a Jira comment with a clear description of what you changed. You might even use the commit message (except for the first line). + +At this point, you can switch to another issue and another topic branch. The Debezium committers will be notified of your new pull request, and will review it in short order. They may ask questions or make remarks using line notes or comments on the pull request. (By default, GitHub will send you an email notification of such changes, although you can control this via your GitHub preferences.) + +If the reviewers ask you to make additional changes, simply switch to your topic branch for that pull request: + + $ git checkout DBZ-1234 + +and then make the changes on that branch and either add a new commit or ammend your previous commits. When you've addressed the reviewers' concerns, push your changes to your `origin` repository: + + $ git push origin DBZ-1234 + +GitHub will automatically update the pull request with your latest changes, but we ask that you go to the pull request and add a comment summarizing what you did. This process may continue until the reviewers are satisfied. + +By the way, please don't take offense if the reviewers ask you to make additional changes, even if you think those changes are minor. The reviewers have a broad understanding of the codebase, and their job is to ensure the code remains as uniform as possible, is of sufficient quality, and is thoroughly tested. When they believe your pull request has those attributes, they will merge your pull request into the official upstream repository. + +Once your pull request has been merged, feel free to delete your topic branch both in your local repository: + + $ git branch -d DBZ-1234 + +and in your fork: + + $ git push origin :DBZ-1234 + +(This last command is a bit strange, but it basically is pushing an empty branch (the space before the `:` character) to the named branch. Pushing an empty branch is the same thing as removing it.) + +### Continuous Integration + +The project currently builds its jobs in two environments: + +- GitHub Actions for pull requests: https://github.com/debezium/debezium/actions + - Tests run only against the current version of each supported database +- Jenkins CI for tests matrix, deployment, release, etc - http://ci.hibernate.org/view/Debezium/ + - Test run against all database versions supported by the individual connectors + - Test Kafka versions + - Deploy and release + +### Summary + +Here's a quick check list for a good pull request (PR): + +* Discussed and approved on Jira, chat or the mailing list +* A Jira associated with your PR (include the Jira issue number in commit comment) +* One feature/change per PR +* No changes to code not directly related to your change (e.g. no formatting changes or refactoring to existing code, if you want to refactor/improve existing code that's a separate discussion and separate Jira issue) +* New/changed features have been documented +* A full build completes successfully +* Do a rebase on upstream `main` + +## PR Handling (For committers) + +* No code changes without PR (unless it's trivial typo fixes and the like; just commit those) +* Don't merge your own PRs, ensure four eyes principle (unless it's trivial changes, or a reviewer suggested to merge yourself after applying some suggestions) +* Ensure there are no ["Octocat" commits](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile) +* During reviews, focus on the relevant parts (APIs, semantics, functional behavior, performance aspects, etc); de-focus on style and formatting (the latter is automated anyways) +* Don't do force pushes to master/main branches (it's disabled for all repos) +* Always apply PRs via rebasing instead of merges (there should be a linear commit history) +* Optional: squash commits into one if there's lots of forth and back on a PR which isn't relevant for the history in the long run diff --git a/event-streams/foo/debezium-connector-postgres/COPYRIGHT.txt b/event-streams/foo/debezium-connector-postgres/COPYRIGHT.txt new file mode 100644 index 00000000..fd5435b5 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/COPYRIGHT.txt @@ -0,0 +1,573 @@ +Cobolbaby +Aaron Brady +Aaron Rosenberg +Abhishek Gupta +Abhishek Hodavdekar +Adam Strickland +Addison Higham +Adham +Adrian Kreuziger +Ahmed Eljami +Aidas +Akshansh Jain +Akshath Patkar +Alberto Martino +Aleksejs Sibanovs +Alex Mansell +Alex Soto +Alexander Iskuskov +Alexander Kovryga +Alexander Schwartz +Alexey Loubyansky +Alexey Miroshnikov +Alfusainey Jallow +Alisa Houskova +Amit Sela +Aman Garg +Anatolii Popov +Anders Engström +Andrea Cosentino +Andreas Bergmeier +Andreas Martens +Andras Istvan Nagy +Andrew Garrett +Andrew Tongen +Andrew Walker +Andrey Ignatenko +Andrey Pustovetov +Andrey Savchuk +Andrey Yegorov +Andy Pickler +Andy Teijelo +Angshuman Dey +Anil Dasari +Animesh Kumar +Anisha Mohanty +Ant Kutschera +Anton Kondratev +Anton Martynov +Arik Cohen +Arkoprabho Chakraborti +artiship +Artur Gukasian +Ashhar Hasan +Ashique Ansari +Ashmeet Lamba +Attila Szucs +Avinash Vishwakarma +Aykut Farsak +baabgai +Babur Duisenov +Balázs Németh +Balázs Sipos +Balint Bene +Barry LaFond +Bartosz Miedlar +Ben Hardesty +Ben Williams +Bertrand Paquet +Biel Garau Estarellas +Bin Li +Bingqin Zhou +Björn Häuser +Blake Peno +Bob Roldan +Bobby Tiernay +Brad Morgan +Braden Groom +Braden Staudacher +Brandon Brown +Brandon Maguire +Brennan Vincent +Breno Moreira +Byron Ruth +Camile Sing +ccro +César Martínez +Cao Manh Dat +Chad Marmon +Chai Stofkoper +Chao Tian +Calin Laurentiu Ilie +Cheng Pan +Ching Tsai +Chris Baumbauer +Chris Beard +Chris Collingwood +Chris Cranford +Chris Egerton +Chris Lee +Chris Riccomini +Christian Jacob Mencias +Christian Posta +Christian Stein +Christopher Burch +Christopher Sang +Chuck Ha +Claus Guttesen +Claus Ibsen +Clément Loiselet +Cliff Wheadon +Collin Van Dyck +Connor Szczepaniak +Cory Harper +Cyprien Etienne +Cyril Scetbon +Daan Roosen +Daniel Petisme +Dave Cramer +Dave Cumberland +David Beck +David Chen +David Feinblum +David Haglund +David Jerome +David Leibovic +David Remy +David Seapy +David Szabo +Debjeet Sarkar +Deepak Barr +Denis Andrejew +Denis Mikhaylov +Dennis Campagna +Dennis Persson +Derek Moore +Dhrubajyoti G +Dominique Chanet +Dou Pengwei +Duncan Sands +Dushyant M +Echo Xu +Ed Laur +Eduardo Hayashi +Eero Koplimets +Egyed Tamas +Elan Hasson +Eliran Agranovich +Emmanuel Brard +Emre Akgün +Emrul Islam +Enzo Cappa +Erdinç Taşkın +Eric Pangiawan +Eric Slep +Eric Weaver +Eric S. Kreiseir +Erik Malm +Ethan Zou +Eugene Abramchuk +Ewen Cheslack-Postava +Ezer Karavani +Fabian Aussems +Fabian Martinez +Fabio Cantarini +Fahim Farook +Fai Ho Fu +Faizan +Farid Uyar +Fatih Güçlü Akkaya +Fándly Gergő +Felix Eckhardt +Fintan Bolton +Frank Koornstra +Frank Mormino +Frederic Laurent +Gabor Andras +Gagan Agrawal +Ganesh Ramasubramanian +Giljae Joo +Gilles Vaquez +Giovanni De Stefano +Gong Chang Hua +Govinda Sakhare +Grant Cooksey +Guillaume Rosauro +Guillaume Smet +Gunnar Morling +Gurnaaz Randhawa +Guy Korland +Guy Pascarella +Grzegorz Kołakowski +ibnubay +Jacob Barrieault +Jacob Gminder +Jakub Zalas +Jan Doms +Jan Hendrik Dolling +Jan Werner +Jannik Steinmann +Jason Schweier +Jesse Ehrenzweig +Jiabao Sun +Jiri Kulhanek +Juan Fiallo +Jun Zhao +Hady Willi +Hang Ruan +Hans-Peter Grahsl +Harvey Yue +Helong Zhang +Henrik Schnell +Henry Cai +Henryk Konsek +Hidetomi Umaki +Himanshu Mishra +Hoa Le +Horia Chiorean +Hossein Torabi +Hubert Dulay +Hussain Ansari +Hyunjin Oh +Ian Axelrod +Igor Gabaydulin +Ilia Bogdanov +Ilyas Ahsan +Ingmar Fjolla +Indra Shukla +Inki Hwang +ismail Simsek +Ivan Klass +Ivan Kovbas +Ivan Lorenz +Ivan Luzyanin +Ivan San Jose +Ivan Trusov +Ivan Vucina +Jackey Zhang +Jakub Cechacek +James Gormley +Jan-Hendrik Dolling +Jan Uyttenhove +JapuDCret +Jaromir Hamala +Javier Holguera +Jeremy Finzel +Jeremy Ford +Jeremy Vigny +Jessica Laughlin +jinguangyang +Jiri Novotny +Jiri Pechanec +Jochen Schalanda +Johan Rhedin +Johan Venant +John Graf +John Martin +John Psoroulas +John Wu +Jon Casstevens +Jonas Lins +Jordan Bragg +Jork Zijlstra +Jorn Argelo +Jos Huiting +Jose Luis +Jose Luis Sánchez +Josh Arenberg +Josh Ribera +Josh Stanfield +Joy Gao +Juan Antonio Pedraza +Judah Rand +Jun Du +Jure Kajzer +Justin Hiza +Kanha Gupta +Kanthi Subramanian +Katerina Galieva +Kaushik Iyer +Kaustuv Chakrabarti +Kazuki MATSUDA / 松田一樹 +Keith Barber +Keri Harris +Kevin Pullin +Kewei Shang +Kosta Kostelnik +Krizhan Mariampillai +Kyley Jex +Lairen Hightower +laoflch +Lars M. Johansson +Lars Werkman +Laurent Broudoux +Leo Mei +Lev Zemlyanov +Li Mo +Linh Nguyen Hoang +Listman Gamboa +Liu Hanlin +Liu Lang Wa +Liz Chatman +Lokesh Sanapalli +Lourens Naudé +Luca Scannapieco +Luis Garcés-Erice +Lukas Krejci +Lukasz Korzeniowski +lyidataminr +M Sazzadul Hoque +Maciej Bryński +Mans Singh +MaoXiang Pan +Marc Zbyszynski +Marcelo Avancini +Marek Winkler +Mario Fiore Vitale +Mario Mueller +Mariusz Strzelecki +Mark Bereznitsky +Mark Drilling +Mark Ducommun +Mark Lambert +Martin Medek +Martin Sillence +Masazumi Kobayashi +Matt Beary +Matt Vance +Matteo Capitanio +Mathieu Rozieres +Matthias Wessendorf +Mauricio Scheffer +Max Kaplan +Martín Pérez +Mehmet Firat Komurcu +Meng Qiu +Melissa Winstanley +Michael Cizmar +Michael Wang +Mickael Maison +Mickaël Isaert +Mike Graham +Mike Kamornikov +Mikhail Dubrovin +Mincong Huang +Ming Luo +Mohamed Pudukulathan +Mohammad Yousuf Minhaj Zia +Moira Tagle +Muhammad Sufyian +My Lang Pangzi +Nancy Xu +Nansen +Narz David +Nathan Bradshaw +Nathan Mills +Nathan Smit +Navdeep Agarwal +Naveen Kumar KR +Nayana Hettiarachchi +Nenad Stojanovikj +Nick Murray +Niels Pardon +Nikhil Benesch +Nils Hartmann +Nir Levy +Nishant Singh +Nitin Agarwal +Nitin Chhabra +Olavi Mustanoja +Oliver Weiler +Olivier Boudet +Olivier Jacquemart +Olivier Lemasle +Omar Al-Safi +Ondrej Babec +Oren Elias +Ori Popowski +Orr Ganani +Oscar Romero +Oskar Polak +Patrick Chu +Pavel Strashkin +Paul Cheung +Paul Mellor +Paul Tzen +Paweł Malon +Peng Lyu +Peter Goransson +Peter Junos +Peter Larsson +Peter Urbanetz +Philip Sanetra +Plugaru Tudor +Poonam Meghnani +Pradeep Mamillapalli +Prannoy Mittal +Praveen Burgu +Preethi Sadagopan +pushpavanthar +Qishang Zhong +Raf Liwoch +Rafael Câmara +Raghava Ponnam +Rajendra Dangwal +Ram Satish +Ramesh Reddy +Randall Hauch +Raphael Auv +Raúl Estrada +Raúl Tovar +Renato Mefi +René Kerner +Robert Hana +Roman Kuchar +Roman Kudryashov +Rotem Adhoh +Sagar Rao +Sahan Dilshan +Sahap Asci +René Kerner +Rich O'Connell +Richard Kolkovich +Robert Coup +Robert Roldan +Ruslan Gibaiev +Russell Ballard +Russell Mora +Ruud H.G. van Tol +Ryan van Huuksloot +Sage Pierce +Sairam Polavarapu +Sanjay Kr Singh +Sanne Grinovero +Satyajit Vegesna +Saulius Valatka +Sayed Mohammad Hossein Torabi +Scofield Xu +Sara Fonseca +Sean Rooney +Sebastiaan Knijnenburg +Sebastian Bruckner +Seo Jae-kwon +Sergei Morozov +Sergey Eizner +Shane Paul +Shantanu Sharma +Sherafudheen PM +Sheldon Fuchs +Shichao An +Shivam Sharma +Shubham Rawat +Shuguang Xiang +Shuran Zhang +SiuFay +Siddhant Agnihotry +Stanley Shyiko +Stathis Souris +Stefan Miklosovic +Stephen Powis +Steven Siahetiong +Subodh Kant Chaturvedi +Sun Xiao Jian +Sungho Hwang +Stein Rolevink +Syed Muhammad Sufyian +Tapani Moilanen +Tautvydas Januskevicius +Taylor Rolison +Teo Stocco +Théophile Helleboid +Thiago Avancini +Thiago Dantas +Theofanis Despoudis +Thierry De Leeuw +Thomas Aregger +Thomas Deblock +Thomas Prelle +Thomas Thornton +Tim Loes +tisonkun +Timo Roeseler +Tin Nguyen +Tom Bentley +Tom Billiet +Tim Patterson +Tomaz Lemos Fernandes +Tommy Karlsson +Tomoyuki Nakamura +Tony Joseph +Tony Rizko +tooptoop4 +Tova Cohen +Travis Elnicky +Troy Gaines +Vadzim Ramanenka +Vasily Ulianko +Vedit Firat Arig +Vincenzo Santoynastaso +Victar Malinouski +Victor Xiang +Vivek Wassan +Vladimir Osin +Vojtech Juranek +Vojtěch Juránek +Wang Min Chao +Wang-Yu-Chao +WenChao Ke +Wei Wu +WenZe Hu +William Pursell +Willie Cheong +Willie Zhu +Wu Zhenhua +Wout Scheepers +Xiao Fu +Xiaojian Sun +Xiaolin Zhang +Xiaopu Zhu +Xinbin Huang +Xinquan She +Xuan Shen +Yang Wu +Yang Yang +Yanjie Wang +yangrong688 +yangsanity +Yashashree Chopada +Yilong Chang +Yiming Liu +Yingying Tang +Yoann Rodière +Yohei Yoshimuta +Yossi Shirizli +Yuan Zhang +Yue Wang +Yuiham Chan +Zheng Wang +Zongwen Li +Zoran Regvart +志飞 张 +민규 김 +李宗文 +陆杰 +Ünal Sürmeli +魏南 +胡琴 +Snigdhajyoti Ghosh +Andrei Isac +M. Gökhan Akgül +Mark Allanson +Rahul Khanna +Ronak Jain +Pengwei Dou +Zhongqiang Gong +Inki Hwang +崔世杰 +合龙 张 +Phạm Ngọc Thắng +Moustapha Mahfoud +Đỗ Ngọc Sơn +RJ Nowling +蔡灿材 +ddsr-ops +Ben White +Miguel Angel Sotomayor +Stephen Clarkson +Gurps Bassi +Massimo Fortunat +Vincenzo Santonastaso +Matan Cohen +Don Seiler +Ahmed Rachid Hazourli +Pavithrananda Prabhu diff --git a/event-streams/foo/debezium-connector-postgres/LICENSE-3rd-PARTIES.txt b/event-streams/foo/debezium-connector-postgres/LICENSE-3rd-PARTIES.txt new file mode 100644 index 00000000..debc0520 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/LICENSE-3rd-PARTIES.txt @@ -0,0 +1,2493 @@ +https://github.com/protocolbuffers/protobuf/blob/master/LICENSE +Copyright 2008 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. + +==================================================================== + +https://github.com/antlr/antlr4/blob/master/LICENSE.txt +[The "BSD 3-clause license"] +Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +===== + +MIT License for codepointat.js from https://git.io/codepointat +MIT License for fromcodepoint.js from https://git.io/vDW1m + +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +===== + +https://github.com/pgjdbc/pgjdbc/blob/master/LICENSE +Copyright (c) 1997, PostgreSQL Global Development Group +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +===== + +https://github.com/mysql/mysql-connector-j/blob/release/8.0/LICENSE +Licensing Information User Manual + +MySQL Connector/J 8.0 + __________________________________________________________________ + +Introduction + + This License Information User Manual contains Oracle's product license + and other licensing information, including licensing information for + third-party software which may be included in this distribution of + MySQL Connector/J 8.0. + + Last updated: November 2019 + +Licensing Information + + This is a release of MySQL Connector/J 8.0, brought to you by the MySQL + team at Oracle. This software is released under version 2 of the GNU + General Public License (GPLv2), as set forth below, with the following + additional permissions: + + This distribution of MySQL Connector/J 8.0 is distributed with certain + software that is licensed under separate terms, as designated in a + particular file or component or in the license documentation. Without + limiting your rights under the GPLv2, the authors of MySQL hereby grant + you an additional permission to link the program and your derivative + works with the separately licensed software that they have included + with the program. + + Without limiting the foregoing grant of rights under the GPLv2 and + additional permission as to separately licensed software, this + Connector is also subject to the Universal FOSS Exception, version 1.0, + a copy of which is reproduced below and can also be found along with + its FAQ at http://oss.oracle.com/licenses/universal-foss-exception. + + Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights + reserved. + +Election of GPLv2 + + For the avoidance of doubt, except that if any license choice other + than GPL or LGPL is available it will apply instead, Oracle elects to + use only the General Public License version 2 (GPLv2) at this time for + any software where a choice of GPL license versions is made available + with the language indicating that GPLv2 or any later version may be + used, or where a choice of which version of the GPL is applied is + otherwise unspecified. + +GNU General Public License Version 2.0, June 1991 + +The following applies to all products licensed under the GNU General +Public License, Version 2.0: You may not use the identified files +except in compliance with the GNU General Public License, Version +2.0 (the "License.") You may obtain a copy of the License at +http://www.gnu.org/licenses/gpl-2.0.txt. A copy of the license is +also reproduced below. Unless required by applicable law or agreed +to in writing, software distributed under the License is distributed +on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +either express or implied. See the License for the specific language +governing permissions and limitations under the License. + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Everyone is permitted to copy and distribute verbatim +copies of this license document, but changing it is not +allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to +copy, distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the original, +so that any problems introduced by others will not reflect on the +original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software + interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as +a special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + + 9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS +WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type 'show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type 'show c' + for details. + +The hypothetical commands 'show w' and 'show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than 'show w' and +'show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program 'Gnomovision' (which makes passes at compilers) written + by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use +the GNU Lesser General Public License instead of this License. + +The Universal FOSS Exception, Version 1.0 + + In addition to the rights set forth in the other license(s) included in + the distribution for this software, data, and/or documentation + (collectively the "Software", and such licenses collectively with this + additional permission the "Software License"), the copyright holders + wish to facilitate interoperability with other software, data, and/or + documentation distributed with complete corresponding source under a + license that is OSI-approved and/or categorized by the FSF as free + (collectively "Other FOSS"). We therefore hereby grant the following + additional permission with respect to the use and distribution of the + Software with Other FOSS, and the constants, function signatures, data + structures and other invocation methods used to run or interact with + each of them (as to each, such software's "Interfaces"): + i. The Software's Interfaces may, to the extent permitted by the + license of the Other FOSS, be copied into, used and distributed in + the Other FOSS in order to enable interoperability, without + requiring a change to the license of the Other FOSS other than as + to any Interfaces of the Software embedded therein. The Software's + Interfaces remain at all times under the Software License, + including without limitation as used in the Other FOSS (which upon + any such use also then contains a portion of the Software under the + Software License). + ii. The Other FOSS's Interfaces may, to the extent permitted by the + license of the Other FOSS, be copied into, used and distributed in + the Software in order to enable interoperability, without requiring + that such Interfaces be licensed under the terms of the Software + License or otherwise altering their original terms, if this does + not require any portion of the Software other than such Interfaces + to be licensed under the terms other than the Software License. + iii. If only Interfaces and no other code is copied between the + Software and the Other FOSS in either direction, the use and/or + distribution of the Software with the Other FOSS shall not be + deemed to require that the Other FOSS be licensed under the license + of the Software, other than as to any Interfaces of the Software + copied into the Other FOSS. This includes, by way of example and + without limitation, statically or dynamically linking the Software + together with Other FOSS after enabling interoperability using the + Interfaces of one or both, and distributing the resulting + combination under different licenses for the respective portions + thereof. For avoidance of doubt, a license which is OSI-approved or + categorized by the FSF as free, includes, for the purpose of this + permission, such licenses with additional permissions, and any + license that has previously been so approved or categorized as + free, even if now deprecated or otherwise no longer recognized as + approved or free. Nothing in this additional permission grants any + right to distribute any portion of the Software on terms other than + those of the Software License or grants any additional permission + of any kind for use or distribution of the Software in conjunction + with software other than Other FOSS. + +Licenses for Third-Party Components + + The following sections contain licensing information for libraries that + we have included with the MySQL Connector/J 8.0 source and components + used to test MySQL Connector/J 8.0. Commonly used licenses referenced + herein can be found in Commonly Used Licenses. We are thankful to all + individuals that have created these. + +Ant-Contrib + + The following software may be included in this product: +Ant-Contrib +Copyright (c) 2001-2003 Ant-Contrib project. All rights reserved. +Licensed under the Apache 1.1 License Agreement, a copy of which is reproduced b +elow. + +The Apache Software License, Version 1.1 + +Copyright (c) 2001-2003 Ant-Contrib project. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Ant-Contrib project (http://sourceforge.net/projects/ant-contrib)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + + 4. The name Ant-Contrib must not be used to endorse or promote + products derived from this software without prior written + permission. For written permission, please contact + ant-contrib-developers@lists.sourceforge.net. + + + 5. Products derived from this software may not be called "Ant-Contrib" + nor may "Ant-Contrib" appear in their names without prior written + permission of the Ant-Contrib project. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE ANT-CONTRIB PROJECT OR ITS + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +c3p0 JDBC Library + + This product may include a copy of c3p0-0.9.1-pre6.jar in both source + and object code in the following /src/lib/c3p0-0.9.1-pre6.jar. The + terms of the Oracle license do NOT apply to c3p0-0.9.1-pre6.jar; it is + licensed under the following license, separately from the Oracle + programs you receive. If you do not wish to install this library, you + may remove the file /src/lib/c3p0-0.9.1-pre6.jar, but the Oracle + program might not operate properly or at all without the library. + + This component is licensed under GNU Lesser General Public License + Version 2.1, February 1999. + +Google Protocol Buffers + + The following software may be included in this product: +Copyright 2008 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. + +jboss-common-jdbc-wrapper.jar + + This product may include a copy of jboss-common-jdbc-wrapper.jar in + both source and object code in the following + /src/lib/jboss-common-jdbc-wrapper.jar. The terms of the Oracle license + do NOT apply to jboss-common-jdbc-wrapper.jar; it is licensed under the + following license, separately from the Oracle programs you receive. If + you do not wish to install this library, you may remove the file + /src/lib/jboss-common-jdbc-wrapper.jar, but the Oracle program might + not operate properly or at all without the library. + + This component is licensed under GNU Lesser General Public License + Version 2.1, February 1999. + +NanoXML + + The following software may be included in this product: + + NanoXML + + * Copyright (C) 2000-2002 Marc De Scheemaecker, All Rights Reserved. + * + + * This software is provided 'as-is', without any express or implied warranty. + + * In no event will the authors be held liable for any damages arising from the + + * use of this software. + * + + * Permission is granted to anyone to use this software for any purpose, + + * including commercial applications, and to alter it and redistribute it + + * freely, subject to the following restrictions: + * + + * 1. The origin of this software must not be misrepresented; you must not + + * claim that you wrote the original software. If you use this software in + + * a product, an acknowledgment in the product documentation would be + + * appreciated but is not required. + * + + * 2. Altered source versions must be plainly marked as such, and must not be + + * misrepresented as being the original software. + * + + * 3. This notice may not be removed or altered from any source distribution. + * + +rox.jar + + The following software may be included in this product: + + rox.jar +Copyright (c) 2006, James Greenfield +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + + * Redistributions of source code must retain the above copyright notice, thi +s + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIE +D +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVI +CES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Simple Logging Facade for Java (SLF4J) + + The following software may be included in this product: +Simple Logging Facade for Java (SLF4J) + +Copyright (c) 2004-2011 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software +and associated documentation files (the "Software"), +to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY +OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +Unicode Data Files + + The following software may be included in this product: + + Unicode Data Files +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1991-2014 Unicode, Inc. All rights reserved. Distributed under +the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the Unicode data files and any associated documentation (the "Data Files") +or Unicode software and any associated documentation (the "Software") to deal +in the Data Files or Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, +and/or sell copies of the Data Files or Software, and to permit persons to +whom the Data Files or Software are furnished to do so, provided that (a) the +above copyright notice(s) and this permission notice appear with all copies +of the Data Files or Software, (b) both the above copyright notice(s) and +this permission notice appear in associated documentation, and (c) there is +clear notice in each modified Data File or in the Software as well as in the +documentation associated with the Data File(s) or Software that the data or +software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR +CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE +DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written authorization +of the copyright holder. + +Commonly Used Licenses + +Artistic License (Perl) 1.0 + +The "Artistic License" + +Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to make +reasonable modifications. + +Definitions: + + "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes + of the Copyright Holder as specified below. + + "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + "You" is you, if you're thinking about copying or distributing + this Package. + + "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people involved, + and so on. (You will not be required to justify it to the + Copyright Holder, but only to the computing community at large + as a market that must bear the fee.) + + "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications +derived from the Public Domain or from the Copyright Holder. A Package +modified in such a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided +that you insert a prominent notice in each changed file stating how and +when you changed that file, and provided that you do at least ONE of the +following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or + an equivalent medium, or placing the modifications on a major archive + site such as uunet.uu.net, or by allowing the Copyright Holder to include + your modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or +executable form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where + to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this +Package. You may not charge a fee for this Package itself. However, +you may distribute this Package in aggregate with other (possibly +commercial) programs as part of a larger (possibly commercial) software +distribution provided that you do not advertise this Package as a +product of your own. You may embed this Package's interpreter within +an executable of yours (by linking); this shall be construed as a mere +form of aggregation, provided that the complete Standard Version of the +interpreter is so embedded. + +6. The scripts and library files supplied as input to or produced as +output from the programs of this Package do not automatically fall +under the copyright of this Package, but belong to whoever generated +them, and may be sold commercially, and may be aggregated with this +Package. If such scripts or library files are aggregated with this +Package via the so-called "undump" or "unexec" methods of producing a +binary executable image, then distribution of such an image shall +neither be construed as a distribution of this Package nor shall it +fall under the restrictions of Paragraphs 3 and 4, provided that you do +not represent such an executable image as a Standard Version of this +Package. + +7. C subroutines (or comparably compiled subroutines in other +languages) supplied by you and linked into this Package in order to +emulate subroutines and variables of the language defined by this +Package shall not be considered part of this Package, but are the +equivalent of input as in Paragraph 6, provided these subroutines do +not change the language in any way that would cause it to fail the +regression tests for the language. + +8. Aggregation of this Package with a commercial distribution is always +permitted provided that the use of this Package is embedded; that is, +when no overt attempt is made to make this Package's interfaces visible +to the end user of the commercial distribution. Such use shall not be +construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written +permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End + +GNU Lesser General Public License Version 2.1, February 1999 + +The following applies to all products licensed under the +GNU Lesser General Public License, Version 2.1: You may +not use the identified files except in compliance with +the GNU Lesser General Public License, Version 2.1 (the +"License"). You may obtain a copy of the License at +http://www.gnu.org/licenses/lgpl-2.1.html. A copy of the +license is also reproduced below. Unless required by +applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +or implied. See the License for the specific language governing +permissions and limitations under the License. + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs +must be allowed to use the library. A more frequent case is that +a free library does the same job as widely used non-free libraries. +In this case, there is little to gain by limiting the free library +to free software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended +to apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +GNU Lesser General Public License Version 2, June 1991 + +GNU LIBRARY GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is numbered 2 +because it goes with version 2 of the ordinary GPL.] + +Preamble + +The licenses for most software are designed to take away your freedom to +share and change it. By contrast, the GNU General Public Licenses are +intended to guarantee your freedom to share and change free software--to make +sure the software is free for all its users. + +This license, the Library General Public License, applies to some specially +designated Free Software Foundation software, and to any other libraries +whose authors decide to use it. You can use it for your libraries, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These +restrictions translate to certain responsibilities for you if you distribute +copies of the library, or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for a +fee, you must give the recipients all the rights that we gave you. You must +make sure that they, too, receive or can get the source code. If you link a +program with the library, you must provide complete object files to the +recipients so that they can relink them with the library, after making +changes to the library and recompiling it. And you must show them these terms +so they know their rights. + +Our method of protecting your rights has two steps: (1) copyright the +library, and (2) offer you this license which gives you legal permission to +copy, distribute and/or modify the library. + +Also, for each distributor's protection, we want to make certain that +everyone understands that there is no warranty for this free library. If the +library is modified by someone else and passed on, we want its recipients to +know that what they have is not the original version, so that any problems +introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that companies distributing free software will +individually obtain patent licenses, thus in effect transforming the program +into proprietary software. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the ordinary GNU +General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary one; +be sure to read it in full, and don't assume that anything in it is the same +as in the ordinary license. + +The reason we have a separate public license for some libraries is that they +blur the distinction we usually make between modifying or adding to a program +and simply using it. Linking a program with a library, without changing the +library, is in some sense simply using the library, and is analogous to +running a utility program or application program. However, in a textual and +legal sense, the linked executable is a combined work, a derivative of the +original library, and the ordinary General Public License treats it as such. + +Because of this blurred distinction, using the ordinary General Public +License for libraries did not effectively promote software sharing, because +most developers did not use the libraries. We concluded that weaker +conditions might promote sharing better. + +However, unrestricted linking of non-free programs would deprive the users of +those programs of all benefit from the free status of the libraries +themselves. This Library General Public License is intended to permit +developers of non-free programs to use free libraries, while preserving your +freedom as a user of such programs to change the free libraries that are +incorporated in them. (We have not seen how to achieve this as regards +changes in header files, but we have achieved it as regards changes in the +actual functions of the Library.) The hope is that this will lead to faster +development of free libraries. + +The precise terms and conditions for copying, distribution and modification +follow. Pay close attention to the difference between a "work based on the +library" and a "work that uses the library". The former contains code derived +from the library, while the latter only works together with the library. + +Note that it is possible for a library to be covered by the ordinary General +Public License rather than by this special one. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library which contains a +notice placed by the copyright holder or other authorized party saying it may +be distributed under the terms of this Library General Public License (also +called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so +as to be conveniently linked with application programs (which use some of +those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has +been distributed under these terms. A "work based on the Library" means +either the Library or any derivative work under copyright law: that is to +say, a work containing the Library or a portion of it, either verbatim or +with modifications and/or translated straightforwardly into another language. +(Hereinafter, translation is included without limitation in the term +"modification".) + +"Source code" for a work means the preferred form of the work for making +modifications to it. For a library, complete source code means all the source +code for all modules it contains, plus any associated interface definition +files, plus the scripts used to control compilation and installation of the +library. + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running a program +using the Library is not restricted, and output from such a program is +covered only if its contents constitute a work based on the Library +(independent of the use of the Library in a tool for writing it). Whether +that is true depends on what the Library does and what the program that uses +the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete +source code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +License and to the absence of any warranty; and distribute a copy of this +License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, +thus forming a work based on the Library, and copy and distribute such +modifications or work under the terms of Section 1 above, provided that you +also meet all of these conditions: + + a) The modified work must itself be a software library. + b) You must cause the files modified to carry prominent notices stating +that you changed the files and the date of any change. + c) You must cause the whole of the work to be licensed at no charge to +all third parties under the terms of this License. + d) If a facility in the modified Library refers to a function or a table +of data to be supplied by an application program that uses the facility, +other than as an argument passed when the facility is invoked, then you must +make a good faith effort to ensure that, in the event an application does not +supply such function or table, the facility still operates, and performs +whatever part of its purpose remains meaningful. + + (For example, a function in a library to compute square roots has a +purpose that is entirely well-defined independent of the application. +Therefore, Subsection 2d requires that any application-supplied function or +table used by this function must be optional: if the application does not +supply it, the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Library, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Library, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend to +the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Library. + +In addition, mere aggregation of another work not based on the Library with +the Library (or with a work based on the Library) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may opt to apply the terms of the ordinary GNU General Public License +instead of this License to a given copy of the Library. To do this, you must +alter all the notices that refer to this License, so that they refer to the +ordinary GNU General Public License, version 2, instead of to this License. +(If a newer version than version 2 of the ordinary GNU General Public License +has appeared, then you can specify that version instead if you wish.) Do not +make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, +so the ordinary GNU General Public License applies to all subsequent copies +and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library +into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you accompany it with the complete +corresponding machine-readable source code, which must be distributed under +the terms of Sections 1 and 2 above on a medium customarily used for software +interchange. + +If distribution of object code is made by offering access to copy from a +designated place, then offering equivalent access to copy the source code +from the same place satisfies the requirement to distribute the source code, +even though third parties are not compelled to copy the source along with the +object code. + +5. A program that contains no derivative of any portion of the Library, but +is designed to work with the Library by being compiled or linked with it, is +called a "work that uses the Library". Such a work, in isolation, is not a +derivative work of the Library, and therefore falls outside the scope of this +License. + +However, linking a "work that uses the Library" with the Library creates an +executable that is a derivative of the Library (because it contains portions +of the Library), rather than a "work that uses the library". The executable +is therefore covered by this License. Section 6 states terms for distribution +of such executables. + +When a "work that uses the Library" uses material from a header file that is +part of the Library, the object code for the work may be a derivative work of +the Library even though the source code is not. Whether this is true is +especially significant if the work can be linked without the Library, or if +the work is itself a library. The threshold for this to be true is not +precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts +and accessors, and small macros and small inline functions (ten lines or less +in length), then the use of the object file is unrestricted, regardless of +whether it is legally a derivative work. (Executables containing this object +code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the +object code for the work under the terms of Section 6. Any executables +containing that work also fall under Section 6, whether or not they are +linked directly with the Library itself. + +6. As an exception to the Sections above, you may also compile or link a +"work that uses the Library" with the Library to produce a work containing +portions of the Library, and distribute that work under terms of your choice, +provided that the terms permit modification of the work for the customer's +own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is +used in it and that the Library and its use are covered by this License. You +must supply a copy of this License. If the work during execution displays +copyright notices, you must include the copyright notice for the Library +among them, as well as a reference directing the user to the copy of this +License. Also, you must do one of these things: + + a) Accompany the work with the complete corresponding machine-readable +source code for the Library including whatever changes were used in the work +(which must be distributed under Sections 1 and 2 above); and, if the work is +an executable linked with the Library, with the complete machine-readable +"work that uses the Library", as object code and/or source code, so that the +user can modify the Library and then relink to produce a modified executable +containing the modified Library. (It is understood that the user who changes +the contents of definitions files in the Library will not necessarily be able +to recompile the application to use the modified definitions.) + b) Accompany the work with a written offer, valid for at least three +years, to give the same user the materials specified in Subsection 6a, above, +for a charge no more than the cost of performing this distribution. + c) If distribution of the work is made by offering access to copy from a +designated place, offer equivalent access to copy the above specified +materials from the same place. + d) Verify that the user has already received a copy of these materials or +that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the Library" must +include any data and utility programs needed for reproducing the executable +from it. However, as a special exception, the source code distributed need +not include anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of +other proprietary libraries that do not normally accompany the operating +system. Such a contradiction means you cannot use both them and the Library +together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library +side-by-side in a single library together with other library facilities not +covered by this License, and distribute such a combined library, provided +that the separate distribution of the work based on the Library and of the +other library facilities is otherwise permitted, and provided that you do +these two things: + + a) Accompany the combined library with a copy of the same work based on +the Library, uncombined with any other library facilities. This must be +distributed under the terms of the Sections above. + b) Give prominent notice with the combined library of the fact that part +of it is a work based on the Library, and explaining where to find the +accompanying uncombined form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the Library +except as expressly provided under this License. Any attempt otherwise to +copy, modify, sublicense, link with, or distribute the Library is void, and +will automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will not +have their licenses terminated so long as such parties remain in full +compliance. + +9. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the +Library or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the +Library (or any work based on the Library), you indicate your acceptance of +this License to do so, and all its terms and conditions for copying, +distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the original +licensor to copy, distribute, link with or modify the Library subject to +these terms and conditions. You may not impose any further restrictions on +the recipients' exercise of the rights granted herein. You are not +responsible for enforcing compliance by third parties to this License. + +11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not excuse +you from the conditions of this License. If you cannot distribute so as to +satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may not distribute the +Library at all. For example, if a patent license would not permit +royalty-free redistribution of the Library by all those who receive copies +directly or indirectly through you, then the only way you could satisfy both +it and this License would be to refrain entirely from distribution of the +Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system which is implemented by public license +practices. Many people have made generous contributions to the wide range of +software distributed through that system in reliance on consistent +application of that system; it is up to the author/donor to decide if he or +she is willing to distribute software through any other system and a licensee +cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Library under this License may add an +explicit geographical distribution limitation excluding those countries, so +that distribution is permitted only in or among countries not thus excluded. +In such case, this License incorporates the limitation as if written in the +body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of +the Library General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software +Foundation. If the Library does not specify a license version number, you may +choose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs +whose distribution conditions are incompatible with these, write to the +author to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes make +exceptions for this. Our decision will be guided by the two goals of +preserving the free status of all derivatives of our free software and of +promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO +LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR +THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER +SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest possible +use to the public, we recommend making it free software that everyone can +redistribute and change. You can do so by permitting redistribution under +these terms (or, alternatively, under the terms of the ordinary General +Public License). + +To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this library; if not, write to the +Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice + +That's all there is to it! + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Written Offer for Source Code + + For any software that you receive from Oracle in binary form which is + licensed under an open source license that gives you the right to + receive the source code for that binary, you can obtain a copy of the + applicable source code by visiting + http://www.oracle.com/goto/opensourcecode. If the source code for the + binary was not provided to you with the binary, you can also receive a + copy of the source code on physical media by submitting a written + request to the address listed below or by sending an email to Oracle + using the following link: + http://www.oracle.com/goto/opensourcecode/request. + Oracle America, Inc. + Attn: Senior Vice President + Development and Engineering Legal + 500 Oracle Parkway, 10th Floor + Redwood Shores, CA 94065 + + Your request should include: + + * The name of the binary for which you are requesting the source code + + * The name and version number of the Oracle product containing the + binary + + * The date you received the Oracle product + + * Your name + + * Your company name (if applicable) + + * Your return mailing address and email, and + + * A telephone number in the event we need to reach you. + + We may charge you a fee to cover the cost of physical media and + processing. + + Your request must be sent + a. within three (3) years of the date you received the Oracle product + that included the binary that is the subject of your request, or + b. in the case of code licensed under the GPL v3 for as long as Oracle + offers spare parts or customer support for that product model. + +===== + +https://github.com/microsoft/mssql-jdbc/blob/dev/LICENSE +Copyright(c) 2019 Microsoft Corporation +All rights reserved. + +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), +to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and / or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +===== + +https://github.com/mongodb/mongo-java-driver/blob/master/LICENSE.txt + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +===== + +https://github.com/oracle/graal/blob/master/sdk/LICENSE.md +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both + +(a) the Software, and + +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software each a "Larger Work" to which the Software is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms. + +This license is subject to the following condition: + +The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +https://github.com/quarkusio/quarkus/blob/master/LICENSE.txt + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/event-streams/foo/debezium-connector-postgres/LICENSE.txt b/event-streams/foo/debezium-connector-postgres/LICENSE.txt new file mode 100644 index 00000000..7a4a3ea2 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/event-streams/foo/debezium-connector-postgres/README.md b/event-streams/foo/debezium-connector-postgres/README.md new file mode 100644 index 00000000..8d4b9ba5 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/README.md @@ -0,0 +1,184 @@ +[![License](http://img.shields.io/:license-apache%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.debezium/debezium-parent/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.debezium%22) +[![User chat](https://img.shields.io/badge/chat-users-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302529-users) +[![Developer chat](https://img.shields.io/badge/chat-devs-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302533-dev) +[![Google Group](https://img.shields.io/:mailing%20list-debezium-brightgreen.svg)](https://groups.google.com/forum/#!forum/debezium) +[![Stack Overflow](http://img.shields.io/:stack%20overflow-debezium-brightgreen.svg)](http://stackoverflow.com/questions/tagged/debezium) + +Copyright Debezium Authors. +Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). +The Antlr grammars within the debezium-ddl-parser module are licensed under the [MIT License](https://opensource.org/licenses/MIT). + +English | [Chinese](README_ZH.md) | [Japanese](README_JA.md) + +# Debezium + +Debezium is an open source project that provides a low latency data streaming platform for change data capture (CDC). You setup and configure Debezium to monitor your databases, and then your applications consume events for each row-level change made to the database. Only committed changes are visible, so your application doesn't have to worry about transactions or changes that are rolled back. Debezium provides a single model of all change events, so your application does not have to worry about the intricacies of each kind of database management system. Additionally, since Debezium records the history of data changes in durable, replicated logs, your application can be stopped and restarted at any time, and it will be able to consume all of the events it missed while it was not running, ensuring that all events are processed correctly and completely. + +Monitoring databases and being notified when data changes has always been complicated. Relational database triggers can be useful, but are specific to each database and often limited to updating state within the same database (not communicating with external processes). Some databases offer APIs or frameworks for monitoring changes, but there is no standard so each database's approach is different and requires a lot of knowledged and specialized code. It still is very challenging to ensure that all changes are seen and processed in the same order while minimally impacting the database. + +Debezium provides modules that do this work for you. Some modules are generic and work with multiple database management systems, but are also a bit more limited in functionality and performance. Other modules are tailored for specific database management systems, so they are often far more capable and they leverage the specific features of the system. + +## Basic architecture + +Debezium is a change data capture (CDC) platform that achieves its durability, reliability, and fault tolerance qualities by reusing Kafka and Kafka Connect. Each connector deployed to the Kafka Connect distributed, scalable, fault tolerant service monitors a single upstream database server, capturing all of the changes and recording them in one or more Kafka topics (typically one topic per database table). Kafka ensures that all of these data change events are replicated and totally ordered, and allows many clients to independently consume these same data change events with little impact on the upstream system. Additionally, clients can stop consuming at any time, and when they restart they resume exactly where they left off. Each client can determine whether they want exactly-once or at-least-once delivery of all data change events, and all data change events for each database/table are delivered in the same order they occurred in the upstream database. + +Applications that don't need or want this level of fault tolerance, performance, scalability, and reliability can instead use Debezium's *embedded connector engine* to run a connector directly within the application space. They still want the same data change events, but prefer to have the connectors send them directly to the application rather than persist them inside Kafka. + +## Common use cases + +There are a number of scenarios in which Debezium can be extremely valuable, but here we outline just a few of them that are more common. + +### Cache invalidation + +Automatically invalidate entries in a cache as soon as the record(s) for entries change or are removed. If the cache is running in a separate process (e.g., Redis, Memcache, Infinispan, and others), then the simple cache invalidation logic can be placed into a separate process or service, simplifying the main application. In some situations, the logic can be made a little more sophisticated and can use the updated data in the change events to update the affected cache entries. + +### Simplifying monolithic applications + +Many applications update a database and then do additional work after the changes are committed: update search indexes, update a cache, send notifications, run business logic, etc. This is often called "dual-writes" since the application is writing to multiple systems outside of a single transaction. Not only is the application logic complex and more difficult to maintain, dual writes also risk losing data or making the various systems inconsistent if the application were to crash after a commit but before some/all of the other updates were performed. Using change data capture, these other activities can be performed in separate threads or separate processes/services when the data is committed in the original database. This approach is more tolerant of failures, does not miss events, scales better, and more easily supports upgrading and operations. + +### Sharing databases + +When multiple applications share a single database, it is often non-trivial for one application to become aware of the changes committed by another application. One approach is to use a message bus, although non-transactional message busses suffer from the "dual-writes" problems mentioned above. However, this becomes very straightforward with Debezium: each application can monitor the database and react to the changes. + +### Data integration + +Data is often stored in multiple places, especially when it is used for different purposes and has slightly different forms. Keeping the multiple systems synchronized can be challenging, but simple ETL-type solutions can be implemented quickly with Debezium and simple event processing logic. + +### CQRS + +The [Command Query Responsibility Separation (CQRS)](http://martinfowler.com/bliki/CQRS.html) architectural pattern uses a one data model for updating and one or more other data models for reading. As changes are recorded on the update-side, those changes are then processed and used to update the various read representations. As a result CQRS applications are usually more complicated, especially when they need to ensure reliable and totally-ordered processing. Debezium and CDC can make this more approachable: writes are recorded as normal, but Debezium captures those changes in durable, totally ordered streams that are consumed by the services that asynchronously update the read-only views. The write-side tables can represent domain-oriented entities, or when CQRS is paired with [Event Sourcing](http://martinfowler.com/eaaDev/EventSourcing.html) the write-side tables are the append-only event log of commands. + +## Building Debezium + +The following software is required to work with the Debezium codebase and build it locally: + +* [Git](https://git-scm.com) 2.2.1 or later +* JDK 11 or later, e.g. [OpenJDK](http://openjdk.java.net/projects/jdk/) +* [Docker Engine](https://docs.docker.com/engine/install/) or [Docker Desktop](https://docs.docker.com/desktop/) 1.9 or later +* [Apache Maven](https://maven.apache.org/index.html) 3.8.4 or later + (or invoke the wrapper with `./mvnw` for Maven commands) + +See the links above for installation instructions on your platform. You can verify the versions are installed and running: + + $ git --version + $ javac -version + $ mvn -version + $ docker --version + +### Why Docker? + +Many open source software projects use Git, Java, and Maven, but requiring Docker is less common. Debezium is designed to talk to a number of external systems, such as various databases and services, and our integration tests verify Debezium does this correctly. But rather than expect you have all of these software systems installed locally, Debezium's build system uses Docker to automatically download or create the necessary images and start containers for each of the systems. The integration tests can then use these services and verify Debezium behaves as expected, and when the integration tests finish, Debezium's build will automatically stop any containers that it started. + +Debezium also has a few modules that are not written in Java, and so they have to be required on the target operating system. Docker lets our build do this using images with the target operating system(s) and all necessary development tools. + +Using Docker has several advantages: + +1. You don't have to install, configure, and run specific versions of each external services on your local machine, or have access to them on your local network. Even if you do, Debezium's build won't use them. +1. We can test multiple versions of an external service. Each module can start whatever containers it needs, so different modules can easily use different versions of the services. +1. Everyone can run complete builds locally. You don't have to rely upon a remote continuous integration server running the build in an environment set up with all the required services. +1. All builds are consistent. When multiple developers each build the same codebase, they should see exactly the same results -- as long as they're using the same or equivalent JDK, Maven, and Docker versions. That's because the containers will be running the same versions of the services on the same operating systems. Plus, all of the tests are designed to connect to the systems running in the containers, so nobody has to fiddle with connection properties or custom configurations specific to their local environments. +1. No need to clean up the services, even if those services modify and store data locally. Docker *images* are cached, so reusing them to start containers is fast and consistent. However, Docker *containers* are never reused: they always start in their pristine initial state, and are discarded when they are shutdown. Integration tests rely upon containers, and so cleanup is handled automatically. + +### Configure your Docker environment + +The Docker Maven Plugin will resolve the docker host by checking the following environment variables: + + export DOCKER_HOST=tcp://10.1.2.2:2376 + export DOCKER_CERT_PATH=/path/to/cdk/.vagrant/machines/default/virtualbox/.docker + export DOCKER_TLS_VERIFY=1 + +These can be set automatically if using Docker Machine or something similar. + +### Building the code + +First obtain the code by cloning the Git repository: + + $ git clone https://github.com/debezium/debezium.git + $ cd debezium + +Then build the code using Maven: + + $ mvn clean verify + +The build starts and uses several Docker containers for different DBMSes. Note that if Docker is not running or configured, you'll likely get an arcane error -- if this is the case, always verify that Docker is running, perhaps by using `docker ps` to list the running containers. + +### Don't have Docker running locally for builds? + +You can skip the integration tests and docker-builds with the following command: + + $ mvn clean verify -DskipITs + +### Building just the artifacts, without running tests, CheckStyle, etc. + +You can skip all non-essential plug-ins (tests, integration tests, CheckStyle, formatter, API compatibility check, etc.) using the "quick" build profile: + + $ mvn clean verify -Dquick + +This provides the fastest way for solely producing the output artifacts, without running any of the QA related Maven plug-ins. +This comes in handy for producing connector JARs and/or archives as quickly as possible, e.g. for manual testing in Kafka Connect. + +### Running tests of the Postgres connector using the wal2json or pgoutput logical decoding plug-ins + +The Postgres connector supports three logical decoding plug-ins for streaming changes from the DB server to the connector: decoderbufs (the default), wal2json, and pgoutput. +To run the integration tests of the PG connector using wal2json, enable the "wal2json-decoder" build profile: + + $ mvn clean install -pl :debezium-connector-postgres -Pwal2json-decoder + +To run the integration tests of the PG connector using pgoutput, enable the "pgoutput-decoder" and "postgres-10" build profiles: + + $ mvn clean install -pl :debezium-connector-postgres -Ppgoutput-decoder,postgres-10 + +A few tests currently don't pass when using the wal2json plug-in. +Look for references to the types defined in `io.debezium.connector.postgresql.DecoderDifferences` to find these tests. + +### Running tests of the Postgres connector with specific Apicurio Version +To run the tests of PG connector using wal2json or pgoutput logical decoding plug-ins with a specific version of Apicurio, a test property can be passed as: + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder + -Ddebezium.test.apicurio.version=1.3.1.Final + +In absence of the property the stable version of Apicurio will be fetched. + +### Running tests of the Postgres connector against an external database, e.g. Amazon RDS +Please note if you want to test against a *non-RDS* cluster, this test requires `` to be a superuser with not only `replication` but permissions +to login to `all` databases in `pg_hba.conf`. It also requires `postgis` packages to be available on the target server for some of the tests to pass. + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder \ + -Ddocker.skip.build=true -Ddocker.skip.run=true -Dpostgres.host= \ + -Dpostgres.user= -Dpostgres.password= \ + -Ddebezium.test.records.waittime=10 + +Adjust the timeout value as needed. + +See [PostgreSQL on Amazon RDS](debezium-connector-postgres/RDS.md) for details on setting up a database on RDS to test against. + +### Running tests of the Oracle connector using Oracle XStream + + $ mvn clean install -pl debezium-connector-oracle -Poracle-xstream,oracle-tests -Dinstantclient.dir= + +### Running tests of the Oracle connector with a non-CDB database + + $ mvn clean install -pl debezium-connector-oracle -Poracle-tests -Dinstantclient.dir= -Ddatabase.pdb.name= + +### Running the tests for MongoDB with oplog capturing from an IDE + +When running the test without maven, please make sure you pass the correct parameters to the execution. Look for the correct parameters in `.github/workflows/mongodb-oplog-workflow.yml` and +append them to the JVM execution parameters, prefixing them with `debezium.test`. As the execution will happen outside of the lifecycle execution, you need to start the MongoDB container manually +from the MongoDB connector directory + + $ mvn docker:start -B -am -Passembly -Dcheckstyle.skip=true -Dformat.skip=true -Drevapi.skip -Dcapture.mode=oplog -Dversion.mongo.server=3.6 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dcapture.mode=oplog -Dmongo.server=3.6 + +The relevant portion of the line will look similar to the following: + + java -ea -Ddebezium.test.capture.mode=oplog -Ddebezium.test.version.mongo.server=3.6 -Djava.awt.headless=true -Dconnector.mongodb.members.auto.discover=false -Dconnector.mongodb.name=mongo1 -DskipLongRunningTests=true [...] + +## Contributing + +The Debezium community welcomes anyone that wants to help out in any way, whether that includes reporting problems, helping with documentation, or contributing code changes to fix bugs, add tests, or implement new features. See [this document](CONTRIBUTE.md) for details. + +A big thank you to all the Debezium contributors! + + + + diff --git a/event-streams/foo/debezium-connector-postgres/README_JA.md b/event-streams/foo/debezium-connector-postgres/README_JA.md new file mode 100644 index 00000000..12e48a35 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/README_JA.md @@ -0,0 +1,172 @@ +[![License](http://img.shields.io/:license-apache%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.debezium/debezium-parent/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.debezium%22) +[![User chat](https://img.shields.io/badge/chat-users-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302529-users) +[![Developer chat](https://img.shields.io/badge/chat-devs-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302533-dev) +[![Google Group](https://img.shields.io/:mailing%20list-debezium-brightgreen.svg)](https://groups.google.com/forum/#!forum/debezium) +[![Stack Overflow](http://img.shields.io/:stack%20overflow-debezium-brightgreen.svg)](http://stackoverflow.com/questions/tagged/debezium) + +Copyright Debezium Authors. +Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). +The Antlr grammars within the debezium-ddl-parser module are licensed under the [MIT License](https://opensource.org/licenses/MIT). + +[English](README.md) | [Chinese](README_ZH.md) | Japanese + +# Debezium + +Debezium は変更データキャプチャ (Change Data Capture; CDC) のための低遅延データストリーミングプラットフォームを提供するオープンソースプロジェクトです。データベースを監視するようにDebezium をセットアップ・設定すると、データベース上で実行された各行レベルの変更をアプリケーションで利用する事ができます。コミットされた変更だけが見えるため、アプリケーションでトランザクションやロールバックされた変更について悩む必要はありません。Debezium は全ての変更について単一のモデルを提供するので、アプリケーションは様々な種類のデータベースソフトウェアの複雑さを気にする必要がありません。更に、Debezium は変更データキャプチャを永続的で複製されたログに記録します。変更データキャプチャを処理するアプリケーションはいつでも停止・再開することができ、その場合でも停止中に発生したイベントは全て再開したタイミングで処理されるため、全てのイベントが正しく完全に処理されることが保証されます。 + +データベースを監視して、変更された場合に通知することは、いつの時代も複雑なタスクでした。リレーショナルデータベースのトリガーは便利ですが、各データベースソフトウェアに固有で、データベース内のテーブルを更新する事に制限されています(他のプロセスと通信できません)。いくつかのデータベースは変更を監視するための API やフレームワークを提供していますが、標準化された方法は無くて、多くの知識と特殊化されたコードを必要とします。それをしてもなお、データベースに与える影響を最小限にしながら、データベースに適用された順番を保ちながら全ての変更を取得することは難しい作業です。 + +Debezium はこのような作業を行うためのモジュールを提供します。いくつかのモジュールは汎用のもので複数のデータベースソフトウェアで動作しますが、機能は制限され、パフォーマンスは低いです。他のモジュールはそれぞれのデータベースソフトウェアに合わせて作られており、各ソフトウェアに固有の機能を使うことで高い能力を持っています。 + +## 基本的なアーキテクチャ + +Debezium は、Kafka と Kafka Connect を再利用する事で、永続性、信頼性および耐障害性を達成した変更データキャプチャ (Change Data Capture; CDC) のプラットフォームです。Kafka Connect 上の分散されて、スケーラブルで、耐障害性のあるサービスに展開された各コネクタが、それぞれ1つのデータベースサーバーを監視して、全ての変更を取得し、1つまたは複数の Kafka topic に保存します(典型的には、データベーステーブル毎に1つの topic を利用)。Kafka は、これらのデータが更新されたイベントを順序を保ったままレプリケーションして、上流サーバーへの影響を押さえて、このイベントを複数のクライアントが冪等に利用 (consume) することを可能にしてくれます。更に、クライアントは任意のタイミングで処理を止めて、またその場所から再開することができます。各クライアントは全てのデータ変更イベントを『正確に1回』または『少なくとも1回』のどちらで受け取るのかを決めることができて、各データベース/テーブルのデータ変更イベントは、データベースで起こったのと同じ順番で配送されます。 + +このレベルの耐障害性・パフォーマンス・スケーラビリティおよび信頼性を必要としない、あるいは求めないアプリケーションは、代わりに Debeium の *embedded connector engine* を直接アプリケーション内で実行する事もできます。変更イベントの中身は同じですが、Kafka での永続化を経由せずに、connector が直接アプリケーションにイベントを送信することになります。 + +## よくある利用例 + +Debezium が非常に価値あるものとなる状況は多くあります。ここでは、一般的なものをいくつか紹介します。 + + +### キャッシュの無効化 + +キャッシュエントリーの record が変更・削除された時に、自動的にキャッシュエントリーを無効にできます。キャッシュが別のプロセス(例えば Redis, Memcache, Infinispan など)で実装されている場合、シンプルなキャッシュの無効化ロジックを別のプロセスやサービスとして切り出す事ができるので、主なアプリケーションをシンプルにできます。場合によっては、ロジックを洗煉させて、変更イベントの中にある更新後のデータを利用して関係のあるキャッシュエントリーを更新しておくこともできます。 + +### モノリシックアプリケーションをシンプルに + +多くのアプリケーションは、データベースを更新してコミットした後に追加の作業を実行します: 検索 Index を更新する、キャッシュをアップデートする、通知を送る、ビジネスロジックを実行する、などです。アプリケーションが単一のトランザクションの枠を越えて複数のシステムに書き込みを行う事から、これらはよく『デュアルライト (dual-writes)』と呼ばれます。アプリケーションのロジックを複雑にして変更を難しくする以外にも、デュアルライトには問題点があります。それは、アプリケーションが一部のデータだけをコミットして残りの更新中にクラッシュした場合に、データを失ったりシステムが全体として不整合になるリスクがあることです。変更データキャプチャを利用することで、これら他の処理はオリジナルのデータベースでコミットされた後に、別のスレッドや別のプロセス・サービスで実行することができます。このアプローチは耐障害性に優れており、イベントを失う事無く、スケーラブルで、アップグレードや運用オペレーションを簡単にサポートできます。 + +### データベースの共有 + +複数のアプリケーションが1つのデータベースを共有する場合に、あるアプリケーションが他のアプリケーションによってコミットされた変更を知るのは容易ではありません。1つのアプローチはメッセージバスを使うことですが、トランザクションの範囲外にあるメッセージバスは先ほど触れたデュアルライトと同じ問題に行き当たります。しかし、 Debezium を使えばこの問題は非常に簡単に解決します、それぞれのアプリケーションはデータベースの変更を監視してイベントに反応することができます。 + +### データの統合 + +データは複数の場所に保存されることが多く、特にそれぞれが異なる目的・少し異なる形態で保存されていることもあります。複数のシステムを同期するのは難しいことですが、単純な ETL に基づいた解決策は Debezium と簡単なイベント処理ロジックで素早く実装する事ができます。 + +### コマンドクエリ責任分離 + +コマンドクエリ責任分離 ([Command Query Responsibility Separation; CQRS](http://martinfowler.com/bliki/CQRS.html)) はデータの更新と読み取りに異なるデータモデルを利用するアーキテクチャパターンです。変更は更新側で記録された後、様々な読み取り表現を更新するのに活用されることになります。結果として、特に信頼性と処理の順序を保つ必要がある場合において、 CQRS アプリケーションはより複雑になります。Debezium と変更データキャプチャはこの問題を解決してくれます:書き込みを通常通り保存するだけで、Debezium が変更を失われないように、順序付けされたストリームとしてキャプチャするので、コンシューマはこれを非同期に読み取って読み取り専用ビューの更新に使う事ができます。書き込み側のテーブル上でドメイン指向のエンティティを表現することもできますし、 CQRS が [Event Sourcing](http://martinfowler.com/eaaDev/EventSourcing.html) と共に使われる場合、書き込み側のテーブルはコマンドの追記専用のログであったりします。 + +## Debezium をビルドするには + +Debezium のコードベースでを編集・ビルドする為には以下に示すソフトウェアが必要です。 + +* [Git](https://git-scm.com) 2.2.1 or later +* JDK 11 or later, e.g. [OpenJDK](http://openjdk.java.net/projects/jdk/) +* [Apache Maven](https://maven.apache.org/index.html) 3.6.3 or later +* [Docker Engine](https://docs.docker.com/engine/install/) or [Docker Desktop](https://docs.docker.com/desktop/) 1.9 or later + +インストール手順については上記のリンクを参照して下さい。インストールされているバージョンを確認する為には以下のコマンドを実行します: + + $ git --version + $ javac -version + $ mvn -version + $ docker --version + +### Docker が必要な理由 + +多くのオープンソースソフトウェアプロジェクトが Git, Java そして Maven を必須としていますが、Docker が必要なのは一般的ではありません。これには理由があります。Debezium は様々な種類のデータベースソフトウェアやサービスといった、多くの外部システムと連携して動くソフトウェアで、結合テストはこれが正しく動くことを確認します。しかしこれらのシステムがローカルにインストールされている事を期待するのではなく、Debezium のビルドシステムは Docker を使って自動的に必要なイメージをダウンロードまたは作成して、コンテナをスタートします。結合テストで Debezium の挙動が期待通りかを確認したら、Debezium のビルドシステムはテスト終了後にコンテナを自動的に終了します。 + +また、Debezium はいくつかの Java 以外の言語で書かれたモジュールも持っていて、それらをビルドするのにはターゲットとなるOSが必要になります。Docker を使う事で、ビルドはこれらの OS のイメージと必要な開発ツールを使うことができます。 + +Docker の利用にはいくつもの利点があります + +1. 外部サービスの特定のバージョンをインストール・設定・実行する手間が省けます。もしローカルにインストールされているバージョンがあっても、Debezium のビルドはそれを利用しません。 +1. 外部サービスの複数のバージョンをテストすることができます。それぞれのモジュールは必要な時にいつでも起動する事ができて、異なるモジュールが別々のバージョンを必要としても問題ありません。 +1. 全てのユーザーが完全なビルドをローカルで実行できます。必要な外部サービスを全てインストールしたリモートの CI サーバーに頼る必要がありません。 +1. 全てのビルドが一貫性のある状態になります。複数の開発者が同じコードをビルドしたときに同じ結果が得られるということです(同じ JDK, Maven そして Docker バージョンを使う限り)。コンテナは同じOS上で同じバージョンのサービスを実行しているためです。すべてのテストは、コンテナ内で稼働しているシステムに接続するように設計されており、接続プロパティやローカル環境に特有のカスタム構成をいじる必要はありません。 +1. サービスがデータを変更・保存した場合にも、サーバーをクリーンアップする必要がありません。Docker *image* はキャッシュされ、コンテナの起動を高速化するために再利用されます。しかし、Docker *containers* が再利用される事は無く、常に初期状態で起動して、終了時に破棄されます。結合テストはコンテナに依存しているため、初期化は自動的に行われているのです。 + + +### Docker 環境のセットアップ + +Docker Maven Plugin は Docker host を以下の環境変数を探す事によって解決します。 + + export DOCKER_HOST=tcp://10.1.2.2:2376 + export DOCKER_CERT_PATH=/path/to/cdk/.vagrant/machines/default/virtualbox/.docker + export DOCKER_TLS_VERIFY=1 + +これらは Docker Machine や同種の何かを利用している場合には自動的に設定されています。 + +### コードのビルド + +まずは Git repository を clone してコードを取得します + + $ git clone https://github.com/debezium/debezium.git + $ cd debezium + +ビルドには Maven を利用します + + $ mvn clean verify + +このビルドは異なるデータベースソフトウェアのためにいくつかの Docker container を開始します。Docker が起動していない・設定されていない場合、恐らく難解なエラーが表示されます —— そのような場合は、常にDockerが起動していることを確認してください。 + +### ビルドのために Docker を実行したくない場合 + +結合テストや Docker build は以下のコマンドでスキップできます。 + + $ mvn clean verify -DskipITs + +### テストや CheckStyle を行わずに成果物だけをビルドする + +`quick` ビルドプロファイルを利用する事で、必須ではない plugin (tests, integration tests, CheckStyle, formatter, API compatibility check, etc.) をスキップすることができます + + $ mvn clean verify -Dquick + +これは、品質保証に関連した Maven plugin の実行せずに、ビルド結果だけを生成する一番速い方法です。これは connector JAR やアーカイブをできるだけ速く出力したい場合に便利です。特に、Kafka Connect を手動テストする場合などに利用できます。 + +### 論理デコードプラグインとして、wal2json または pgoutput を利用して Postgres connector をテストする + +Postgres connector は、データベースの変更ストリームを論理デコードする3つの異なるプラグインをサポートしています: decoderbufs (デフォルト), wal2json, および pgoutput です。Postgres connector を wal2json を使ってテストしたい場合、"wal2json-decoder" ビルドプロファイルを指定します。 + + $ mvn clean install -pl :debezium-connector-postgres -Pwal2json-decoder + +pgoutput を利用してテストするには、 "pgoutput-decoder" と "postgres-10" ビルドプロファイルを有効にします: + + $ mvn clean install -pl :debezium-connector-postgres -Ppgoutput-decoder,postgres-10 + +いくつかのテストは、wal2json プラグインを利用した場合パスしません。そのようなクラスは `io.debezium.connector.postgresql.DecoderDifferences` クラスへの参照から見つける事ができます。 + +### 特定の Apicurio バージョンで Postgres connector をテストする + +wal2json または pgoutput 論理デコードプラグインを使う場合、Apicurio のバージョンを選択する事ができます: + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder + -Ddebezium.test.apicurio.version=1.3.1.Final + +このプロパティが存在しない場合、安定バージョンの Apicurio が利用されます + +### 外部データベースを利用して Postgres connector をテストする(例:Amazon RDS) + +*RDS ではない* cluster に対してテストを実行したい場合、テストのユーザー名 (``)として `replication` 権限だけでなく `pg_hba.conf` で全てのデータベースにログインできる権限を持ったスーパーユーザーを指定する必要があります。また、いくつかのテストのために、サーバー上で `postgis` パッケージが必要です。 + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder \ + -Ddocker.skip.build=true -Ddocker.skip.run=true -Dpostgres.host= \ + -Dpostgres.user= -Dpostgres.password= \ + -Ddebezium.test.records.waittime=10 + +必要に応じてタイムアウト値も調整してください。 + +RDS データベースを設定してテストする方法ついて詳しくは [PostgreSQL on Amazon RDS](debezium-connector-postgres/RDS.md) をご覧下さい。 + + +### Oracle XStream を利用して Oracle connector をテストする + + $ mvn clean install -pl debezium-connector-oracle -Poracle-xstream,oracle-tests -Dinstantclient.dir= + +### non-CDB データベースで Oracle connector をテストする + + $ mvn clean install -pl debezium-connector-oracle -Poracle-tests -Dinstantclient.dir= -Ddatabase.pdb.name= + +## Contributing + +Debezium コミュニティは、問題の報告、文書作成の支援、バグ修正、テストの追加、新機能の実装のためのコード変更の貢献など、全ての形の支援を歓迎します。詳細は [CONTRIBUTE.md](CONTRIBUTE.md) を参照してください。 + +Debezium の貢献者の皆さんに感謝します。 + + + + diff --git a/event-streams/foo/debezium-connector-postgres/README_ZH.md b/event-streams/foo/debezium-connector-postgres/README_ZH.md new file mode 100644 index 00000000..73b3a880 --- /dev/null +++ b/event-streams/foo/debezium-connector-postgres/README_ZH.md @@ -0,0 +1,177 @@ +[![License](http://img.shields.io/:license-apache%202.0-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.debezium/debezium-parent/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.debezium%22) +[![User chat](https://img.shields.io/badge/chat-users-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302529-users) +[![Developer chat](https://img.shields.io/badge/chat-devs-brightgreen.svg)](https://debezium.zulipchat.com/#narrow/stream/302533-dev) +[![Google Group](https://img.shields.io/:mailing%20list-debezium-brightgreen.svg)](https://groups.google.com/forum/#!forum/debezium) +[![Stack Overflow](http://img.shields.io/:stack%20overflow-debezium-brightgreen.svg)](http://stackoverflow.com/questions/tagged/debezium) + +Copyright Debezium Authors. +Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). +The Antlr grammars within the debezium-ddl-parser module are licensed under the [MIT License](https://opensource.org/licenses/MIT). + +中文 | [English](README.md) | [Japanese](README_JA.md) + +# Debezium 简介 + + +Debezium是一个开源项目,为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台。你可以安装并且配置Debezium去监控你的数据库,然后你的应用就可以消费对数据库的每一个行级别(row-level)的更改。只有已提交的更改才是可见的,所以你的应用不用担心事务(transaction)或者更改被回滚(roll back)。Debezium为所有的数据库更改事件提供了一个统一的模型,所以你的应用不用担心每一种数据库管理系统的错综复杂性。另外,由于Debezium用持久化的、有副本备份的日志来记录数据库数据变化的历史,因此,你的应用可以随时停止再重启,而不会错过它停止运行时发生的事件,保证了所有的事件都能被正确地、完全地处理掉。 + +监控数据库,并且在数据变动的时候获得通知一直是很复杂的事情。关系型数据库的触发器可以做到,但是只对特定的数据库有效,而且通常只能更新数据库内的状态(无法和外部的进程通信)。一些数据库提供了监控数据变动的API或者框架,但是没有一个标准,每种数据库的实现方式都是不同的,并且需要大量特定的知识和理解特定的代码才能运用。确保以相同的顺序查看和处理所有更改,同时最小化影响数据库仍然非常具有挑战性。 + +Debezium提供了模块为你做这些复杂的工作。一些模块是通用的,并且能够适用多种数据库管理系统,但在功能和性能方面仍有一些限制。另一些模块是为特定的数据库管理系统定制的,所以他们通常可以更多地利用数据库系统本身的特性来提供更多功能。 + +## Debezium基础架构 + +Debezium是一个捕获数据更改(CDC)平台,并且利用Kafka和Kafka Connect实现了自己的持久性、可靠性和容错性。每一个部署在Kafka Connect分布式的、可扩展的、容错性的服务中的connector监控一个上游数据库服务器,捕获所有的数据库更改,然后记录到一个或者多个Kafka topic(通常一个数据库表对应一个kafka topic)。Kafka确保所有这些数据更改事件都能够多副本并且总体上有序(Kafka只能保证一个topic的单个分区内有序),这样,更多的客户端可以独立消费同样的数据更改事件而对上游数据库系统造成的影响降到很小(如果N个应用都直接去监控数据库更改,对数据库的压力为N,而用debezium汇报数据库更改事件到kafka,所有的应用都去消费kafka中的消息,可以把对数据库的压力降到1)。另外,客户端可以随时停止消费,然后重启,从上次停止消费的地方接着消费。每个客户端可以自行决定他们是否需要exactly-once或者at-least-once消息交付语义保证,并且所有的数据库或者表的更改事件是按照上游数据库发生的顺序被交付的。 + +对于不需要或者不想要这种容错级别、性能、可扩展性、可靠性的应用,他们可以使用内嵌的Debezium connector引擎来直接在应用内部运行connector。这种应用仍需要消费数据库更改事件,但更希望connector直接传递给它,而不是持久化到Kafka里。 +## 常见使用场景 + +Debezium有很多非常有价值的使用场景,我们在这儿仅仅列出几个更常见的使用场景。 + +### 缓存失效(Cache invalidation) + +在缓存中缓存的条目(entry)在源头被更改或者被删除的时候立即让缓存中的条目失效。如果缓存在一个独立的进程中运行(例如Redis,Memcache,Infinispan或者其他的),那么简单的缓存失效逻辑可以放在独立的进程或服务中,从而简化主应用的逻辑。在一些场景中,缓存失效逻辑可以更复杂一点,让它利用更改事件中的更新数据去更新缓存中受影响的条目。 +### 简化单体应用(Simplifying monolithic applications) + +许多应用更新数据库,然后在数据库中的更改被提交后,做一些额外的工作:更新搜索索引,更新缓存,发送通知,运行业务逻辑,等等。这种情况通常称为双写(dual-writes),因为应用没有在一个事务内写多个系统。这样不仅应用逻辑复杂难以维护,而且双写容易丢失数据或者在一些系统更新成功而另一些系统没有更新成功的时候造成不同系统之间的状态不一致。使用捕获更改数据技术(change data capture,CDC),在源数据库的数据更改提交后,这些额外的工作可以被放在独立的线程或者进程(服务)中完成。这种实现方式的容错性更好,不会丢失事件,容易扩展,并且更容易支持升级。 + +### 共享数据库(Sharing databases) + + 当多个应用共用同一个数据库的时候,一个应用提交的更改通常要被另一个应用感知到。一种实现方式是使用消息总线,尽管非事务性(non-transactional)的消息总线总会受上面提到的双写(dual-writes)影响。但是,另一种实现方式,即Debezium,变得很直接:每个应用可以直接监控数据库的更改,并且响应更改。 + +### 数据集成(Data integration) + +数据通常被存储在多个地方,尤其是当数据被用于不同的目的的时候,会有不同的形式。保持多系统的同步是很有挑战性的,但是可以通过使用Debezium加上简单的事件处理逻辑来实现简单的ETL类型的解决方案。 + +### 命令查询职责分离(CQRS) + +在命令查询职责分离 [Command Query Responsibility Separation (CQRS)](http://martinfowler.com/bliki/CQRS.html) 架构模式中,更新数据使用了一种数据模型,读数据使用了一种或者多种数据模型。由于数据更改被记录在更新侧(update-side),这些更改将被处理以更新各种读展示。所以CQRS应用通常更复杂,尤其是他们需要保证可靠性和全序(totally-ordered)处理。Debezium和CDC可以使这种方式更可行:写操作被正常记录,但是Debezium捕获数据更改,并且持久化到全序流里,然后供那些需要异步更新只读视图的服务消费。写侧(write-side)表可以表示面向领域的实体(domain-oriented entities),或者当CQRS和 [Event Sourcing](http://martinfowler.com/eaaDev/EventSourcing.html) 结合的时候,写侧表仅仅用做追加操作命令事件的日志。 + +## Building Debezium + +使用Debezium代码库并在本地配置它需要以下软件: + +* [Git](https://git-scm.com) 2.2.1 or later +* JDK 11 or later, e.g. [OpenJDK](http://openjdk.java.net/projects/jdk/) +* [Apache Maven](https://maven.apache.org/index.html) 3.6.3 or later +* [Docker Engine](https://docs.docker.com/engine/install/) or [Docker Desktop](https://docs.docker.com/desktop/) 1.9 or later + +有关平台上的安装说明,请参阅上面的链接。您可以通过以下指令查看安装版本 + + $ git --version + $ javac -version + $ mvn -version + $ docker --version + +### 为什么选用 Docker? + +许多开源软件项目使用Git、Java和Maven,但需要Docker的情况不太常见。Debezium被设计用来与许多外部系统进行通信,比如各种数据库和服务,我们的集成测试验证了Debezium成功地做到了这一点。但Debezium的构建系统使用Docker自动下载或创建必要的镜像,并为每个系统启动容器,而不是期望您在本地安装所有这些软件系统。然后,集成测试可以使用这些服务并验证Debezium的行为是否符合预期,当集成测试完成时,Debezium将自动停止它启动的所有容器. + +Debezium还有一些不是用Java编写的模块,而且这些模块在目标操作系统上是必须的。通过Docker,我们可以使用带有目标操作系统以及所有必要开发工具的镜像来构建它们。 + +使用Docker有几个优点: + + +1. 不需要在本地计算机上安装、配置和运行每个所依赖的外部服务的特定版本,也不必在本地网络上访问它们。即使配置了,Debezium也不会用到它们。 +2. 我们可以测试外部服务的多个版本。每个模块可以启动它需要的任何容器,因此不同的模块可以轻松地使用不同版本的服务。 +3. 每个人都可以在本地运行完整的构建。 不必依赖安装了所有必需服务的远程CI服务器来运行构建。 +4. 所有构建都是一致的。当多个开发人员各自构建相同的代码库时,他们应该看到完全相同的结果——只要他们使用相同或等效的JDK、Maven和Docker版本。 这是因为容器将在相同的操作系统上运行相同版本的服务。另外,所有的测试都被设计为连接运行在容器中的系统,因此没有人需要修改连接属性或特定于其本地环境的自定义配置。 +5. 不需要清理服务, 即使这些服务在本地修改和存储数据. Docker *镜像* 是可缓存的, 重用镜像可以快速启动容器并保持一致性, 但是Docker *容器* 永远不会被重用:它们总是在初始状态下启动,在关闭时丢弃。集成测试依赖容器,因此会自动清理容器。 + +### 配置Docker环境 + +Docker Maven插件通过检查以下环境变量来解析Docker主机: + + export DOCKER_HOST=tcp://10.1.2.2:2376 + export DOCKER_CERT_PATH=/path/to/cdk/.vagrant/machines/default/virtualbox/.docker + export DOCKER_TLS_VERIFY=1 + +使用Docker Machine或类似软件时会自动设置这些环境变量。 +### 项目编译 + +首先从Git仓库获取代码: + + $ git clone https://github.com/debezium/debezium.git + $ cd debezium + +然后用maven构建项目 + + $ mvn clean install + +这行命令会启动构建,并为不同的dbms使用不同的Docker容器。注意,如果未运行或未配置Docker,可能会出现奇怪的错误——如果遇到这种情况,一定要检查Docker是否正在运行,比如可以使用`Docker ps`列出运行中的容器。 + +### 本地没有Docker? + +可以使用以下命令跳过集成测试和docker的构建: + + $ mvn clean install -DskipITs + +### 仅构建工件(artifacts),不运行测试、代码风格检查等其他插件 + +可以使用“quick“构建选项来跳过所有非必须的插件,例如测试、集成测试、代码风格检查、格式化、API兼容性检查等: + + $ mvn clean verify -Dquick + +这行命令是构建工件(artifacts)最快的方法,但它不会运行任何与质量保证(QA)相关的Maven插件。这在需要尽快构建connector jar包、归档时可以派上用场,比如需要在Kafka Connect中进行手动测试。 + +### 使用wal2json或 pgoutput logical decoding plug-ins 运行Postgres connector的测试 + +Postgres connector支持三个用于从数据库服务器捕获流式数据更改的逻辑解码插件:decoderbufs(默认)、wal2json以及pgoutput。运行PG connector的集成测试时,如果要使用wal2json,需要启用“wal2json decoder”构建配置: + + $ mvn clean install -pl :debezium-connector-postgres -Pwal2json-decoder + +要使用pgoutput,需要启用“pgoutput decoder”和“postgres-10”构建配置: + + $ mvn clean install -pl :debezium-connector-postgres -Ppgoutput-decoder,postgres-10 + +在使用wal2json插件时,一些测试目前无法通过。 通过查找`io.debezium.connector.postgresql.DecoderDifferences`中定义的类型的引用,可以找到这些测试。 + +### 使用指定Apicurio版本运行Postgres connector测试 + +如果要使用带有指定版本Apicurio的wal2json或pgoutput逻辑解码插件运行PG connector测试,可以像这样传递测试参数: + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder -Ddebezium.test.apicurio.version=1.3.1.Final + +如果没有设置该参数,将自动获取并设置该参数为Apicurio的稳定版本。 + +### 对外部数据库运行Postgres connector测试, 例如:Amazon RDS +如果要对非RDS集群进行测试,请注意``必须是超级用户,不仅要具有`复制`权限,还要有登录`pg_hba.conf`中`所有`数据库的权限。还要求目标服务器上必须有`postgis`包,才能通过某些测试。 + + $ mvn clean install -pl debezium-connector-postgres -Pwal2json-decoder \ + -Ddocker.skip.build=true -Ddocker.skip.run=true -Dpostgres.host= \ + -Dpostgres.user= -Dpostgres.password= \ + -Ddebezium.test.records.waittime=10 + +超时时间可以根据需要进行调整。 + +有关在RDS上设置要测试的数据库的详细信息,请参阅 [PostgreSQL on Amazon RDS](debezium-connector-postgres/RDS.md) + +### 使用Oracle XStream运行Oracle connector测试 + + $ mvn clean install -pl debezium-connector-oracle -Poracle-xstream,oracle-tests -Dinstantclient.dir= + +### 使用非CDB数据库运行Oracle connector测试 + + $ mvn clean install -pl debezium-connector-oracle -Poracle-tests -Dinstantclient.dir= -Ddatabase.pdb.name= + +### 使用IDE中的oplog捕获运行MongoDB测试 + +不使用maven运行测试时,需要确保传递了正确的执行参数。可以在`.github/workflows/mongodb-oplog-workflow.yml`中查正确参数,添加`debezium.test`前缀后,再将这些参数添加到JVM执行参数之后。由于测试运行在Maven生命周期之外,还需要手动启动MongoDB connector目录下的MongoDB镜像: + + $ mvn docker:start -B -am -Passembly -Dcheckstyle.skip=true -Dformat.skip=true -Drevapi.skip -Dcapture.mode=oplog -Dversion.mongo.server=3.6 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dcapture.mode=oplog -Dmongo.server=3.6 + +执行测试命令行的相关部分应该如下: + + java -ea -Ddebezium.test.capture.mode=oplog -Ddebezium.test.version.mongo.server=3.6 -Djava.awt.headless=true -Dconnector.mongodb.members.auto.discover=false -Dconnector.mongodb.name=mongo1 -DskipLongRunningTests=true [...] + + +## 贡献源码(Contributing) + +Debezium社区欢迎所有愿意提供帮助的人,无论是报告问题,帮助撰写文档,还是提供代码用于修复错误、添加测试或实现新功能。有关详细信息,请参阅本[文档](CONTRIBUTE.md)。 + +非常感谢所有Debezium贡献者! + + + + \ No newline at end of file diff --git a/event-streams/foo/debezium-connector-postgres/debezium-api-1.9.8.Final.jar b/event-streams/foo/debezium-connector-postgres/debezium-api-1.9.8.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..91767c4989639da56a258a4ad844a068d72af7ff GIT binary patch literal 20723 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

C#HPo5nj65He;Xct9oX^A)Ta6Km|g* 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

*J=m%VEZYjU!0R2GT67A4}?KnyN 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∨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

7qe$7V?Q0= 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

IOU4kwQ5BJftv$w_fdH73kw23&k*QX$B9n_6sdK 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�@1qjy-|5|?dh@_c0H6v3d4sHC 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%0A*jy|PZ+$L~DKvaYZPxA#k(Ei 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%0DJoA=7}tO(L_oOxOKgw8tamqO_HtiUCuQiFnsh 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%0Dp;Fs$DMVAbBCU=+`#A@jiCYW#F6> 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