Skip to content

Latest commit

 

History

History
4074 lines (2898 loc) · 290 KB

CHANGELOG.md

File metadata and controls

4074 lines (2898 loc) · 290 KB

Change log

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

1.7.0.CR1

Spetember 16th 2021 Detailed release notes

New features since 1.7.0.Beta1

None

Breaking changes since 1.7.0.Beta1

Fixes since 1.7.0.Beta1

  • RedisStreamChangeConsumer - handleBatch - client.xadd should be wrapped with a try catch block DBZ-3713
  • Incorrect information in documentation about supplemental logging DBZ-3776
  • DML statement couldn't be parsed DBZ-3892
  • DEBEZIUM producer stops unexpectedly trying to change column in table which does not exist DBZ-3898
  • "binary.handling.mode": "hex" setting works incorrectly for values with trailing zeros DBZ-3912
  • System test-suite is unable to work with unreleased Apicurio versions DBZ-3924
  • CI support for running Apicurio registry tests DBZ-3932
  • Incorrect validation of truncate handling mode DBZ-3935
  • protobuf decoder has sends unsigned long as signed for Postgres 13 DBZ-3937
  • Field#description() should return a proper java.lang.String when documentation/description is not set DBZ-3943
  • MySQL example image not working after upgrade to 8.0 DBZ-3944
  • Fix empty high watermark check DBZ-3947
  • Oracle Connector replicating data from all PDBs. Missing PDB filter during replication. DBZ-3954
  • Oracle connector Parsing Exception: DDL statement couldn't be parsed DBZ-3962
  • FormSwitchComponent not working correctly in case of duplicate STM form DBZ-3968
  • Strings with binary collation shouldn't be parsed as Types.BINARY by MySqlAntlrDdlParser. DBZ-3969
  • Openshift pods list image preview not found DBZ-3970
  • MySqlValueConvertes.java has typo DBZ-3976
  • Mysql-Connector fails parsing invalid decimal format DDL statement DBZ-3984
  • Connection Factory is not used when validating SQL Server Connector DBZ-4001

Other changes since 1.7.0.Beta1

  • Promote Outbox SMT to GA DBZ-3584
  • Clarify lifecycle of snapshot metrics DBZ-3613
  • Explore on building non-core repos with corresponding PR branch of core repo and vice-versa DBZ-3748
  • Upgrade to binlog-client 0.25.3 DBZ-3787
  • RelationalSnapshotChangeEventSource should accept a RelationalDatabaseSchema DBZ-3818
  • Create GH Action that flags "octocat" commits DBZ-3822
  • Publish Maven repo with downstream artifacts DBZ-3861
  • CI preparation for Apicurio Registry downstream DBZ-3908
  • Specify branch name on push/pull_request step in all GH action workflows DBZ-3913
  • Consistently order releases from new to old on the website DBZ-3917
  • Update RELEASING.md DBZ-3918
  • Update antora.yml file with new values for SMT attributes DBZ-3922
  • Documentation update should not trigger staging workflow build DBZ-3923
  • Upgrade to Jackson Databind version 2.10.5.1 DBZ-3927
  • Add top-level Transformation menu node for downstream docs DBZ-3931
  • Docker image serving plugin artifacts over HTTP for new Strimzi deployment mechanism DBZ-3934
  • Upgrade MySQL example image to 8.0 DBZ-3936
  • Gracefully handle DB history file stored in a sym-linked directory DBZ-3958
  • Update docs to specify that connectors track metadata only for transactions that occur after deployment DBZ-3961
  • Update and automate Jenkis Node setup DBZ-3965
  • Hyper-link references between options in the Outbox SMT options table DBZ-3920
  • Generify exclusion of columns from snapshotting DBZ-2525
  • PoC for adding transformations / SMT steps to the Debezium UI DBZ-3698
  • Use No match found of pf Empty state component in filter page. DBZ-3888
  • Update the "Skip to review" implementation as per PF new documented standard design pattern DBZ-3916
  • Set up MongoDB 5.0 image DBZ-3973

1.7.0.Beta1

August 25th 2021 Detailed release notes

New features since 1.7.0.Alpha1

  • Sink adapter for Nats Streaming DBZ-3815
  • Debezium Server's run.sh startup script fails on msys or cygwin bash DBZ-3840
  • Upgrade Debezium Server Pravega sink to 0.9.1 DBZ-3841

Breaking changes since 1.7.0.Alpha1

  • Upgrade MySQL driver dependency to latest version DBZ-3833

Fixes since 1.7.0.Alpha1

  • Create example for using self-managed Debezium with MK DBZ-2947
  • Exception when validating field.exclude.list for Mongo DB connectors DBZ-3028
  • In case of /api/connectors/1 takes longer time(more than pooling) to fail spinner keeps on loading. DBZ-3313
  • SQL Server CDC event timestamps do not get converted to UTC DBZ-3479
  • Debezium snapshot.select.statement.overrides overrides not used DBZ-3760
  • Server name pattern is unnecessarily restrictive. DBZ-3765
  • Crash when processing MySQL 5.7.28 TIME fields returns empty blob instead of null DBZ-3773
  • Debezium UI and CDC DBZ-3781
  • Disable "Next" if any field value is changed after the validation. DBZ-3783
  • Add DEFAULT to partition option engine DBZ-3784
  • Initiating MongoDB connector causes oplog table scan DBZ-3788
  • SRCFG00014: The config property debezium.sink.pravega.scope is required but it could not be found in any config source DBZ-3792
  • LSN component of Postgres sequence numbers is not updated DBZ-3801
  • Debezium 1.6.1 expecting database.port even when database.url is provided in config. DBZ-3813
  • Postgres numeric default value throwing exception DBZ-3816
  • SQL Server connector doesn't handle retriable errors during task start DBZ-3823
  • Debezium OpenShift integration test-suite failure DBZ-3824
  • Debezium Server Kinesis Sink Cannot Handle Null Events DBZ-3827
  • Timeout when reading from MongoDB oplog cannot be controlled DBZ-3836
  • Snapshot locking mode "minimal_percona" incorrectly resets transaction & isolation state DBZ-3838
  • Properly skip tests when minor/patch are not specified DBZ-3839
  • Truncate validation should verify key schema is null and not value schema DBZ-3842
  • System test-suite fails if CRD already exist within the cluster DBZ-3846
  • Incorrect test-tags for OcpAvroDB2ConnectorIT DBZ-3851
  • System test-suite CI job does not have RHEL image parameter DBZ-3852
  • Typo with prodname asciidoc attribute usage DBZ-3856
  • SQL Server Connector finds tables for streaming but not snapshot DBZ-3857
  • Signaling table id column too small in example DBZ-3867
  • Oracle unparsable DDL issue DBZ-3877
  • Support AS clause in GRANT statement DBZ-3878
  • Error Parsing Oracle DDL dropping PK DBZ-3886
  • Q3 docs referencing Service Registry 2.0 docs DBZ-3891
  • EMPTY_CLOB() and EMPTY_BLOB() should be treated as empty LOB values DBZ-3893
  • Oracle DDL parsing issue DBZ-3896

Other changes since 1.7.0.Alpha1

  • Debezium UI participating in upstream releases -- follow-up DBZ-3169
  • Discuss SMT predicates in docs DBZ-3227
  • Test failure for SqlServerConnectorIT#excludeColumnWhenCaptureInstanceExcludesColumns DBZ-3228
  • Adjust to changed Strimzi CRDs DBZ-3385
  • Create a smoke test for Debezium with Kafka on RHEL DBZ-3387
  • Promote Debezium support on RHEL to GA DBZ-3406
  • Oracle Docs for TP DBZ-3407
  • Upgrade to Kafka 2.8 DBZ-3444
  • Update Debezium on RHEL documentation for GA DBZ-3462
  • Options in outbox router docs not linked DBZ-3649
  • Create Kafka related images based on UBI-8 for RHEL certification DBZ-3650
  • Error in description of the property column.mask.hash.hashAlgorithm.with.salt.salt DBZ-3802
  • Debezium does not provide up-to-date container images DBZ-3809
  • Change DBZ kafka image , so its start script can be used on QA Rhel kafka DBZ-3810
  • Test with Apicurio Registry 2.0 in system level test-suite DBZ-3812
  • Upgrade commons-compress from 1.20 to 1.21 DBZ-3819
  • Update jenkins job configuration to incorporate recent system-testsuite changes DBZ-3825
  • Test Failure - RecordsStreamProducerIT#testEmptyChangesProducesHeartbeat DBZ-3828
  • Upgrade UI proxy connectors to 1.6.1.Final DBZ-3837
  • Improperly constructed links generating downstream build errors DBZ-3858
  • CI Failure in VitessConnectorIT.shouldOutputRecordsInCloudEventsFormat DBZ-3863
  • CI Failure for StreamingSourceIT.shouldFailOnSchemaInconsistency DBZ-3869
  • Extract new top-level menu node for SMTs DBZ-3873
  • Introduce documentation variables for AMQ DBZ-3879
  • Don't log error when dropping non-existent replication slot in tests DBZ-3889
  • Intermittent test failures on CI: VitessConnectorIT::shouldUseUniqueKeyAsRecordKey DBZ-3900
  • Intermittent test failures on CI: IncrementalSnapshotIT#updatesWithRestart DBZ-3901
  • Test shouldNotEmitDdlEventsForNonTableObjects randomly fails DBZ-3902
  • VOLUME instruction causes issue with recent Docker versions DBZ-3903
  • Provide ability to denote UI order in field metadata DBZ-3904
  • Make relocation.dir and offset.dir configs required. DBZ-2251
  • Create Debezium API Spec Generator and static API definitions for connectors DBZ-3364
  • Improve incremental snapshot metrics DBZ-3688
  • Import Pattern-fly CSS from @patternfly/patternfly DBZ-3779
  • Allow system testsuite to produce Strimzi image for arbitrary released version of Debezium DBZ-3826
  • PostgreSQL - Minor Performance bottleneck in PostgresChangeRecordEmitter DBZ-3870
  • Oracle - Provide a more user-friendly way to update SCN DBZ-3876
  • Test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent DBZ-2398
  • Test failure for SqlServerConnectorIT#EventProcessingFailureHandlingIT DBZ-3229
  • Remove underscore from Debezium Server NATS sink Java package name DBZ-3910
  • LogMinerDatabaseStateWriter causes a SQLException DBZ-3911
  • Maven release fails due to debezium-testing version handling DBZ-3909
  • Zookeeper image should not use archive.apache.org DBZ-3914

1.7.0.Alpha1

July 30th 2021 Detailed release notes

New features since 1.6.0.Final

  • Implement incremental snapshotting for Oracle DBZ-3692
  • Implement a LogMiner event buffer SPI DBZ-3752
  • Remove artifacts.url property from UI config.js DBZ-3209
  • Do not mark offset for commit log files with error DBZ-3366
  • Support read-only MySQL connection in incremental snapshot DBZ-3577
  • CloudEventsConverter does not support Oracle, Db2, or Vitess DBZ-3668
  • Allow usernames to be excluded in logminer query DBZ-3671
  • Track Oracle session PGA memory consumption DBZ-3756
  • Performance issue due to inefficient ObjectMapper initialization DBZ-3770
  • Add more smoke tests 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
  • Broken links in Avro and Outbox Event Router documentation DBZ-3430
  • Cassandra connector generates invalid schema name for its CDC records DBZ-3590
  • Support invisible columns with MySql 8.0.23+ DBZ-3623
  • Db2Connector is unable to establish validation connection DBZ-3632
  • Status stays in RUNNING for Postgres Connector after Postgres is stopped DBZ-3655
  • Change connection validation log level for better visibility DBZ-3677
  • OracleSchemaMigrationIT can throw false positive test failures if test artifacts remain DBZ-3684
  • MySQL Connector error after execute a "create role" statement DBZ-3686
  • ERROR in Entry module not found: Error: Can't resolve './src' DBZ-3716
  • Error parsing query, even with database.history.skip.unparseable.ddl DBZ-3717
  • Support for TABLE_TYPE missing form MySQL grammar DBZ-3718
  • Oracle LogMiner DdlParser Error DBZ-3723
  • Debezium mysql connector plugin throws SQL syntax error during incremental snapshot DBZ-3725
  • DDL statement couldn't be parsed DBZ-3755
  • Debezium Oracle connector stops with DDL parsing error DBZ-3759
  • Exception thrown from getTableColumnsFromDatabase DBZ-3769
  • Incorrect regex parsing in start script of kafka image DBZ-3791
  • Dropdown items list visibility blocked by wizard footer DBZ-3794
  • Permission issues with DB2 example image DBZ-3795

Other changes since 1.6.0.Final

  • Make consumer of outbox example more resilient DBZ-1709
  • Set up CI for debezium-examples repo DBZ-1749
  • Refactor LogMinerHelper and SqlUtils DBZ-2552
  • Implement tests for UI components DBZ-3050
  • Add documentation about new capturing implementation for the MySQL connector to downstream product DBZ-3140
  • Remove JSimpleParser DBZ-3155
  • Ability to build KC image with Apicurio converters DBZ-3433
  • Remove log.mining.history.xxx deprecated options DBZ-3581
  • Un-document deprecated options and metrics DBZ-3681
  • Capture changes made by connector user & document that SYS/SYSTEM changes are not captured DBZ-3683
  • Use Debezium thread factory for PG keep-alive DBZ-3685
  • Time for another community newsletter DBZ-3695
  • Improve signalling documentation DBZ-3699
  • Example end-to-end fails due to an API incompatibility with Maven 3.6+ DBZ-3705
  • Example debezium-server-name-mapper fails due to an API incompatibility with Maven 3.6+ DBZ-3706
  • Doc clarification on connector rewrite DBZ-3711
  • Support RHEL deployments in system-test tooling DBZ-3724
  • Misc. tutorial updates DBZ-3747
  • Update Oracle connector deployment instructions for consistency DBZ-3772

1.6.0.Final

June 30th 2021 Detailed release notes

New features since 1.6.0.CR1

  • Allow specifying of Oracle archive log location 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
  • Schema change events of excluded databases are discarded 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
  • When LOB support is disabled, use legacy SCN mining algorithm 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
  • Database history properties missing in connector docs DBZ-3459
  • Oracle connector doc fixes DBZ-3662
  • Change the reached max batch size log message to DEBUG level DBZ-3664
  • Remove unused code DBZ-3672
  • Update deprecated config for debezium smt DBZ-3673
  • Align Antlr versions used during testing DBZ-3675

1.6.0.CR1

June 24th 2021 Detailed release notes

New features since 1.6.0.Beta2

  • Implement SKIPPED_OPERATIONS for SQLServer DBZ-2697
  • Handling database connection timeout during schema recovery DBZ-3615
  • Scope mined DDL events to include/exclude lists if provided DBZ-3634
  • Support heartbeats during periods of low change event activity DBZ-3639

Breaking changes since 1.6.0.Beta2

None

Fixes since 1.6.0.Beta2

  • Fix exception on not found table DBZ-3523
  • Transaction commit event dispatch fails if no active transaction in progress. DBZ-3593
  • Additional unique index referencing columns not exposed by CDC causes exception DBZ-3597
  • GRANT/REVOKE for roles is not working DBZ-3610
  • ParsingException for ALTER TABLE against a table that is unknown to the connector. DBZ-3612
  • Oracle connector continually logging warnings about already processed transactions. DBZ-3616
  • StringIndexOutOfBoundsException thrown while handling UTF-8 characters DBZ-3618
  • DDL ParsingException - "SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS" DBZ-3619
  • Oracle transaction reconciliation fails to lookup primary key columns if UPDATE sets columns to only NULL DBZ-3631
  • Oracle DDL parser fails on CREATE TABLE: mismatched input 'maxtrans' expecting {'AS', ';'} DBZ-3641
  • Antlr version mismatch DBZ-3646
  • SQL Agent does not start in SqlServer image when deployed to openshift DBZ-3648
  • Java UBI image is lacking gzip utility DBZ-3659

Other changes since 1.6.0.Beta2

  • Upgrade to Apicurio Registry 2.0 DBZ-3171
  • Vitess: rename "master" branch to "main" DBZ-3275
  • Formatting updates to correct errors in documentation builds DBZ-3518
  • Prepare test-suite for Kafka on RHEL DBZ-3566
  • Upgrade to Quarkus 2.0.0.Final DBZ-3602
  • Some dependencies are broken in ocp testsuite after BOM introduction DBZ-3625
  • Handle updated json schema for connector passwords DBZ-3637
  • MySQL SourceInfo should be public DBZ-3638
  • Change CLOB/BLOB data type support to an opt-in feature DBZ-3645
  • Denote BLOB support as incubating DBZ-3651

1.6.0.Beta2

June 10th 2021 Detailed release notes

New features since 1.6.0.Beta1

  • Clarification on MySQL vs MariaDb Usage DBZ-1145
  • Pravega sink for Debezium Server DBZ-3546
  • Postgres - Column default values are not extracted DBZ-2790
  • Add support for snapshot.include.collection.list DBZ-3062
  • Apply filters with empty filter changes 'Exclude' selection to 'Include' DBZ-3102
  • Adjust OpenShift tests to support new version of Strimzi CRDs DBZ-3475
  • Remove SchemaProcessor From Cassandra Connector DBZ-3506
  • Provide a snapshot.locking.mode option for Oracle DBZ-3557
  • Implement support for JSON function in MySQL parser 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
  • PostgreSQL connector task fails to resume streaming because replication slot is active DBZ-3068
  • SQL Server connector buffers all CDC events in memory if more than one table is captured DBZ-3486
  • SQLServer low throughput tables increase usage of TempDB DBZ-3515
  • Incorrectly identifies primary member of replica set DBZ-3522
  • Cannot enable binlog streaming when INITIAL_ONLY snapshot mode configured DBZ-3529
  • Connector CRD name and database.server.name cannot use the same value in OCP test-suite DBZ-3538
  • SelectLobParser checks for lowercase "is null" instead of uppercase "IS NULL" DBZ-3545
  • DDL ParsingException "mismatched input 'sharing'" for create table syntax. DBZ-3549
  • DDL ParsingException on alter table DBZ-3554
  • ORA-00310 when online redo log is archived and replaced by redo log with new sequence DBZ-3561
  • Server name pattern is unnecessarily restrictive DBZ-3562
  • ORA-01289 error encountered on Oracle RAC when multiple logs are mined with same sequence number DBZ-3563
  • MySQL metrics documentation refers to legacy implementation DBZ-3572
  • Update downstream MySQL doc to reference streaming metrics vs. binlog metrics DBZ-3582
  • No viable alternative at input "add COLUMN optional" DBZ-3586
  • NPE when OracleValueConverters get unsupported jdbc type DBZ-3587
  • SelectLobParser throws NullPointerException when parsing SQL for an unknown table DBZ-3591
  • Pulsar sink tries to convert null key to string DBZ-3595
  • Oracle RAC URL does not correctly substitute node IP addresses DBZ-3599
  • Oracle Connector - got InputMismatchException mismatched input 'CASCADE' expecting {'AS', 'PURGE', ';'} DBZ-3606

Other changes since 1.6.0.Beta1

  • Unsupported column types should be ignored as with other connectors DBZ-814
  • Make outbox extensions dependency on tracing extension optional DBZ-2834
  • Avoid copying in DML handling DBZ-3328
  • Document impact of using --hostname when starting Connect container DBZ-3466
  • Update external link to AMQ Streams documentation DBZ-3502
  • Update external links in downstream docs to AMQ Streams deployment information DBZ-3525
  • Debezium Server Core builds plugin artifact DBZ-3542
  • List contributors script fails when name contains a "/" character DBZ-3544
  • Upgrade to Quarkus 2.0.0.CR3 DBZ-3550
  • Reduce DB round-trips for LOB handling DBZ-3556
  • Oracle benchmark does not execute LogMiner parser performance tests DBZ-3560
  • Clarify purpose of database.history.retention.hours DBZ-3565
  • Improve documentation related to signalling table DDL DBZ-3568
  • cassandra-driver-core 3.5.0 managed in Debezium BOM too old for testcontainers 1.15.3 DBZ-3589
  • Remove some dead code in Postgres connector DBZ-3596
  • Debezium server sink oracle database to pulsar without default namespace "public/default" DBZ-3601
  • Document OffsetContext.incrementalSnapshotEvents() DBZ-3607
  • Database skipping logic isn't correct DBZ-3608

1.6.0.Beta1

May 20th 2021 Detailed release notes

New features since 1.6.0.Alpha1

  • Support ad hoc snapshots on MySQL connector DBZ-66
  • Support DDL operations DBZ-2916
  • Add support for RAW, LONG, LONG RAW, BLOB, and CLOB data types DBZ-2948
  • Update Doc For Cassandra Connector DBZ-3092
  • Document log.mining.strategy for Oracle connector DBZ-3393
  • Update DOC with the new NUM_OF_CHANGE_EVENT_QUEUES parameter DBZ-3480
  • Use date format model that does not depend on client NLS settings in integration tests DBZ-3482
  • Provide Japanese translation of README.md DBZ-3503
  • Better handling of invalid SQL Server connector configuration DBZ-3505
  • Allow table.include.list and table.exclude.list to be updated after a connector is created DBZ-1263
  • Allow retry when SQL Server is down temporarily DBZ-3339

Breaking changes since 1.6.0.Alpha1

  • Rename table stores only a fragment of DDL in schema history 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
  • Not able to configure Debezium Server via smallrye/microprofile environment variables DBZ-2622
  • Upgrading from debezium 1.2.2 to 1.4.0 stopped snapshotting new tables DBZ-2944
  • oracle logminer cannot add duplicate logfile DBZ-3266
  • Oracle connector does not correctly handle partially committed transactions DBZ-3322
  • Data loss when MongoDB snapshot take longer than the Oplog Window DBZ-3331
  • First online log query does not limit results to those that are available. DBZ-3332
  • Connector crashing after running for some time DBZ-3377
  • Broken links in downstream Monitoring chapter DBZ-3408
  • Broken links in User guide table of routing SMT configuration options DBZ-3410
  • Broken link to basic configuration example in downstream content-based routing topic DBZ-3412
  • Cassandra connector does not react on schema changes properly DBZ-3417
  • Debezium mapped diagnostic contexts doesn't work DBZ-3438
  • source.timestamp.mode=commit imposes a significant performance penalty DBZ-3452
  • Timezone difference not considered in LagFromSourceInMilliseconds calculation DBZ-3456
  • "Found null value for non-optional schema" error when issuing TRUNCATE from Postgres on a table with a PK DBZ-3469
  • Connector crashes when table name contains '-' character DBZ-3485
  • Kafka Clients in Debezium Server is not aligned with Debezium Kafka version DBZ-3498
  • ReadToInsertEvent SMT needs to set ConfigDef DBZ-3508
  • Debezium configuration can be modified after instantiation DBZ-3514
  • Oracle redo log switch not detected when using multiple archiver process threads DBZ-3516
  • Cannot enable binlog streaming when INITIAL_ONLY snapshot mode configured DBZ-3529
  • Missing schema function in DDL Parser DBZ-3543
  • Retry logic for "No more data to read from socket" is too strict DBZ-3472

Other changes since 1.6.0.Alpha1

  • Document new source block and fix formatting issues DBZ-1614
  • Re-connect after "too many connections" DBZ-2300
  • Modularize doc for MongoDB component DBZ-2334
  • Rebase Postgres snapshot modes on exported snapshots DBZ-2337
  • Enable continuous JFR recording DBZ-3082
  • Remove deprecated Oracle connector option "database.tablename.case.insensitive" DBZ-3240
  • Improve Oracle redo logs query to avoid de-duplication step DBZ-3256
  • Migrate Jenkins CI to OCP 4.0 in PSI cloud DBZ-3396
  • Remove Antlr-based DML Parser DBZ-3400
  • Update Oracle driver version DBZ-3460
  • Incremental snapshot follow-up tasks DBZ-3500
  • Unnecessary NPE due to autoboxing DBZ-3519
  • Upgrade actions/cache to v2 version for formatting check DBZ-3520
  • Improve documentation for Oracle supplemental logging requirements DBZ-3521
  • SignalsIT leave table artifacts that cause other tests to fail DBZ-3533
  • Mark xstream dependency as provided DBZ-3539
  • Add test for Oracle table without PK DBZ-832

1.6.0.Alpha1

May 6th 2021 Detailed release notes

New features since 1.5.0.Final

  • Sink adapter for Apache Kafka DBZ-3382
  • Optimisation on MongoDB and MySQL connector for skipped.operations DBZ-3403
  • Incremental snapshotting DBZ-3473

Breaking changes since 1.5.0.Final

Fixes since 1.5.0.Final

  • io.debezium.text.ParsingException: no viable alternative at input 'IDNUMBER(4)GENERATEDBY' DBZ-1721
  • SKIPPED_OPERATIONS is added to CommonConnectorConfig.CONFIG_DEFINITION although it's not implemented in all connectors DBZ-2699
  • Snapshot fails when reading TIME, DATE, DATETIME fields in mysql from ResultSet DBZ-3238
  • Update to fabric8 kube client 5.x DBZ-3349
  • An exception in resolveOracleDatabaseVersion if system language is not English DBZ-3397
  • Change strimzi branch in jenkins openshift-test job to main DBZ-3404
  • Broken link in downstream Monitoring chapter 7.3 DBZ-3409
  • Broken link in content-based routing chapter to page for downloading the SMT scripting archive DBZ-3411
  • LogMinerDmlParser mishandles double single quotes in WHERE clauses DBZ-3413
  • Incorrectly formatted links in downstream automatic topic creation doc DBZ-3414
  • SMT acronym incorrectly expanded in Debezium User Guide DBZ-3415
  • MariaDB -- support privilege DDL in parser DBZ-3422
  • Change oc apply in jenkins openshift-test job to oc create DBZ-3423
  • SQL Server property (snapshot.select.statement.overrides) only matches 1st entry if comma-separated list also contains spaces DBZ-3429
  • Permission issue when running docker-compose or docker build as user not having uid 1001 DBZ-3453
  • no viable alternative at input 'DROP TABLE IF EXISTS group' (Galera and MariaDB) DBZ-3467
  • Debezium MySQL connector does not process tables with partitions DBZ-3468
  • The building tools' version in README doc is outdated DBZ-3478
  • MySQL DATE default value parser rejects timestamp DBZ-3497
  • MySQL8 GRANT statement not parsable DBZ-3499

Other changes since 1.5.0.Final

  • Config validation for Db2 DBZ-3118
  • Add smoke test for UI DBZ-3133
  • Create new metric "CapturedTables" DBZ-3161
  • Handle deadlock issue for MySql build stuck for 6h DBZ-3233
  • Document using Connect REST API for log level changes DBZ-3270
  • User Guide corrections for SQL Server connector DBZ-3297
  • User Guide corrections for Db2 connector DBZ-3298
  • User Guide corrections for MySQL connector DBZ-3299
  • User Guide corrections for MongoDB connector DBZ-3300
  • Allow building the Oracle connector on CI DBZ-3365
  • Add tests for Protobuf Converter DBZ-3369
  • Use current SQL Server container image for testing and examples DBZ-3379
  • Reword prereq in downstream SQL Server connector doc DBZ-3392
  • Duplicate entry in MySQL connector properties table for mysql-property-skipped-operations DBZ-3402
  • Docs clarification around tombstone events DBZ-3416
  • Validate logical server name contains only alpha-numerical characters DBZ-3427
  • Provide a "quick" build profile DBZ-3449
  • Avoid warning about superfluous exclusion during packaging DBZ-3458
  • Upgrade binlog client DBZ-3463

1.5.0.Final

April 7th 2021 Detailed release notes

New features since 1.5.0.CR1

  • Add support for Redis Streams target in Debezium Server DBZ-2879
  • Provide LSN coordinates as standardized sequence field 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
  • Debezium stuck in an infinite loop on boot DBZ-3343
  • Schema change SourceRecords have null partition DBZ-3347
  • LogMiner can incorrectly resolve that SCN is available DBZ-3348
  • The event.deserialization.failure.handling.mode is documented incorrectly DBZ-3353
  • DB2 Function wrong DBZ-3362
  • LogMiner parser incorrectly parses UNISTR function DBZ-3367
  • Invalid Decimal schema: scale parameter not found DBZ-3371

Other changes since 1.5.0.Beta2

  • Allow Debezium Server to be used with Apicurio converters DBZ-2388
  • Remove connector properties from descriptors on the /connector-types response DBZ-3316
  • Literal attribute rendered in deployment instructions for the downstream PostgreSQL connector DBZ-3338
  • Fix test failures due to existing database object artifacts DBZ-3344
  • Use correct repository level PAT for building debezium website DBZ-3345
  • Document configuration of max.request.size DBZ-3355
  • Use Java 8 for Cassandra workflow DBZ-3357
  • Trigger workflow on workflow definition update DBZ-3358
  • Prefer DDL before logical schema in history recovery DBZ-3361
  • Add missing space and omitted command to PostgreSQL connector doc DBZ-3372
  • Wrong badge on Docker Hub DBZ-3383

1.5.0.CR1

March 24th 2021 Detailed release notes

New features since 1.5.0.Beta2

  • Promote Oracle connector from "Incubating" to "Stable" DBZ-3290
  • Handle large SCN values in Offsets and SourceInfo block DBZ-2994

Breaking changes since 1.5.0.Beta2

  • Upgrade to Apache Kafka 2.7.0 DBZ-2872
  • Add more parameters to TLS support DBZ-3262

Fixes since 1.5.0.Beta2

  • Debezium logs "is not a valid Avro schema name" can be too verbose DBZ-2511
  • message.key.columns Regex Validation Time Complexity DBZ-2957
  • OID values don't fit to INT32 schema DBZ-3033
  • Connector automatically restart on ORA-26653 DBZ-3236
  • UI container has no assets (JS artifacts, fonts, etc) and randomly fails building DBZ-3247
  • Revert Clob behavior for Oracle LogMiner to avoid null values DBZ-3257
  • SQL Server misses description for decimal.handling.mode DBZ-3267
  • Oracle connector ignores time.precision.mode and just uses adaptive mode DBZ-3268
  • commons-logging JAR is missing from Debezium Server distro DBZ-3277
  • MongoDB timeouts crash the whole connector DBZ-3278
  • Prefer archive logs over redo logs of the same SCN range DBZ-3292
  • LogMiner mining query may unintentionally skip records DBZ-3295
  • IndexOutOfBoundsException when LogMiner DML update statement contains a function as last column's value DBZ-3305
  • Out of memory with mysql snapshots (regression of DBZ-94) DBZ-3309
  • Keyword ORDER is a valid identifier in MySQL grammar DBZ-3310
  • DDL statement couldn't be parsed for ROW_FORMAT=TOKUDB_QUICKLZ DBZ-3311
  • LogMiner can miss a log switch event if too many switches occur. DBZ-3319
  • Function MOD is missing from MySQL grammar DBZ-3333
  • Incorrect SR label names in OCP testusite DBZ-3336
  • DB2 upstream tests are still using master as the default branch DBZ-3337

Other changes since 1.5.0.Beta2

  • Demo: Exploring non-key joins of Kafka Streams 2.4 DBZ-2100
  • Publish Debezium BOM POM DBZ-2145
  • Use BigInteger as SCN rather than BigDecimal DBZ-2457
  • Document ChangeConsumer usage for Debezium Engine DBZ-2520
  • Add check that target release is set DBZ-2536
  • Consolidate multiple JMX beans during Oracle streaming with LogMiner DBZ-2537
  • Create script for listing all contributors of a release DBZ-2592
  • Explicitly mention Debezium Engine database history config for different connectors DBZ-2665
  • Cleanup by restructuring Debezium UI REST API structure DBZ-3031
  • Make Debezium main repo build checks artifacts for CI/CD checks in sibling repositories available on Maven Central DBZ-3142
  • Handle duplicate warnings for deprecated options DBZ-3218
  • Upgrade Jackson as per AK 2.7 DBZ-3221
  • Document the need of qualified names in snapshot.include.collection.list DBZ-3244
  • Add snapshot.select.statement.override options to Oracle documentation DBZ-3250
  • Remove all possible backend calls from non-validation mode DBZ-3255
  • Document delayed TX END markers DBZ-3261
  • Extended scripting SMT docs with handling of non-data events DBZ-3269
  • Unify column inclusion/exclusion handling DBZ-3271
  • Downstream conditional spans topic boundary in db2 doc DBZ-3272
  • Add info about languge dependencies into scripting SMTs DBZ-3280
  • Copyright check script should take additional connector repos into consideration DBZ-3281
  • Intermittent failure of MyMetricsIT.testStreamingOnlyMetrics DBZ-3304
  • Remove references to supported configurations from Db2 connector documentation DBZ-3308
  • Use separate API calls to get the connector info(name, id etc) and details(Properties) DBZ-3314
  • Documentation updates should trigger a website build DBZ-3320
  • Cassandra connector is not part of core CI build DBZ-3335

1.5.0.Beta2

March 12th 2021 Detailed release notes

New features since 1.5.0.Beta1

  • Detect and skip non-parent index-organized tables DBZ-3036
  • Capture additional JMX metrics for LogMiner DBZ-3038
  • Incorrect information in Debezium connector for Postgres documentation DBZ-3197
  • Add support for SET column type DBZ-3199
  • Improve relocation logic for processed commitLog files DBZ-3224
  • Disable log.mining.transaction.retention.hours logic by default DBZ-3242
  • Provide a signalling table DBZ-3141
  • Update sensitive env vars for connect-base image DBZ-3223
  • Support specifying kinesis endpoint in debezium server DBZ-3246
  • Add log4j.properties file DBZ-3248

Breaking changes since 1.5.0.Beta1

  • LogMiner does not process NUMBER(1) data DBZ-3208
  • Use LogMiner adapter by default for Oracle connector DBZ-3241

Fixes since 1.5.0.Beta1

  • Error in LSN DBZ-2417
  • Connector restarts with an SCN that was previously processed. DBZ-2875
  • Misleading error message for filtered publication with misconfigured filters DBZ-2885
  • There are still important problems with Oracle LogMiner DBZ-2976
  • Don't execute initial statements upon connector validation DBZ-3030
  • Forever stuck with new binlog parser (1.3 and later) when processing big JSON column data DBZ-3106
  • Change Events are not captured after initial load DBZ-3128
  • Repeating Unknown schema error even after recent schema_recovery DBZ-3146
  • CloudEvent value id field is not unique DBZ-3157
  • Oracle connector fails when using database.tablename.case.insensitive=true DBZ-3190
  • DML parser IndexOutOfRangeException with where-clause using "IS NULL" DBZ-3193
  • ORA-01284 file cannot be opened error when file locked by another process DBZ-3194
  • CommitThroughput metrics can raise division by zero error DBZ-3200
  • Update MongoDB driver version DBZ-3212
  • Extra connectors are not buildable unless main Debezium is built locally DBZ-3213
  • Docker image debezium/server:1.5 won't start DBZ-3217
  • Debezium Oracle Connector not excluding table columns DBZ-3219
  • LogMiner parse failure with Update DML with no where condition DBZ-3235
  • Debezium 1.4.2.Final and onwards unable to parse sasl.jaas.config from env var DBZ-3245
  • Debezium engine should call stop on task even when start fails DBZ-3251
  • No meaningful message provided when oracle driver is missing DBZ-3254

Other changes since 1.5.0.Beta1

  • Discuss capture job configuration as a tuning option for SQL Server and Db2 DBZ-2122
  • Prepare customizing auto-created topics doc for downstream DBZ-2654
  • Wrong warning about deprecated options DBZ-3084
  • Have non-validating mode in the UI DBZ-3088
  • Move container image builds to GH Actions DBZ-3131
  • Exclude CommonConnectorConfig.PROVIDE_TRANSACTION_METADATA from connectors not supporting it DBZ-3132
  • Add example for Debezium UI to debezium-examples repo DBZ-3134
  • Clarify required privileges for using pgoutput DBZ-3138
  • Do not rely on Max SCN seed value w/LogMiner DBZ-3145
  • Postgres documentation improvements DBZ-3149
  • Support running Oracle test suite in non-CDB (no PDB name) mode DBZ-3154
  • Update Oracle documentation DBZ-3156
  • Move the Oracle connector to the main repostory DBZ-3166
  • Minor editorial update to PostgreSQL connector documentation DBZ-3192
  • Incorrect link/anchor pair for truncate.handling.mode property in PG properties documentation DBZ-3195
  • Update oracle-vagrant-box DBZ-3206
  • Update Oracle versions tested DBZ-3215
  • Oracle test suite does not always clean-up tables after tests DBZ-3237
  • Update Oracle tutorial example DBZ-3239
  • Avoid reference to upstream Docker set-up DBZ-3259

1.5.0.Beta1

February 23rd 2021 Detailed release notes

New features since 1.5.0.Alpha1

  • Make field descriptions consistent for time values (milliseconds, ms, sec, seconds, etc) DBZ-2858
  • DebeziumEngine RecordChangeEvents cannot be modified DBZ-2897
  • Add license headers and related checkstyle checks for Debezium UI files DBZ-2985
  • Display commit SHA of UI frontend/backend somewhere in the footer DBZ-3052
  • Implement UX suggestions for display of connector type DBZ-3054
  • SqlServerConnector does not implement validate DBZ-3056
  • Database History Producer does not close with a timeout DBZ-3075
  • Improve DML parser performance DBZ-3078
  • Connector list table UI improvement desktop/mobile DBZ-3079
  • Vitess Connector adds support for Vitess 9.0.0 GA DBZ-3100
  • Improve layout for Column Truncate - Mask Component DBZ-3101
  • Improve layout for Data options component and main wizard nav DBZ-3105
  • Add ability to skip tests based on available database options DBZ-3110
  • Support for Transaction Metadata in MySql connector DBZ-3114
  • Add support for JSON column type DBZ-3115
  • Add support for ENUM column type DBZ-3124
  • Enable easy downloading of Camel Kafka Connectors DBZ-3136
  • Capture LogMiner session parameters when session fails to start DBZ-3153
  • Process special values in temporal datatypes DBZ-2614

Breaking changes since 1.5.0.Alpha1

  • Document JSON column parsing regression for MySQL connector DBZ-3130
  • Replace MySQL connector option with SMT for mitigating wrong op flag DBZ-2788
  • Avoid dependency to JAXB classes DBZ-3165
  • Remove build deprecation warnings DBZ-3034

Fixes since 1.5.0.Alpha1

  • Negative timestamps are converted to positive during snapshot DBZ-2616
  • Wrong reference to KafkaConnector in setting up Debezium DBZ-2745
  • Oracle Connector(Using Logminer) with Oracle RDS (v12) does not capture changes DBZ-2754
  • Oracle connector causes ORA-65090 when connecting to an Oracle instance running in non-CDB mode DBZ-2795
  • Warnings and notifications from PostgreSQL are ignored by the connector until the connection is closed DBZ-2865
  • Add support for MySQL to UI Backend DBZ-2950
  • ExtractNewRecord SMT incorrectly extracts ts_ms from source info DBZ-2984
  • Replication terminates with ORA-01291: missing log file DBZ-3001
  • Kafka Docker image the HEAP_OPTS variable is not used DBZ-3006
  • Support multiple schemas with Oracle LogMiner DBZ-3009
  • Function calls does not allow parentheses for functions with non-mandatory parentheses DBZ-3017
  • Complete support for properties that contain hyphens DBZ-3019
  • UI issues with connectors table row expansion state DBZ-3049
  • SQLException for Global temp tables from OracleDatabaseMetaData.getIndexInfo() makes Debezium snapshotting fail DBZ-3057
  • Cassandra Connector doesn't support Cassandra version >=3.11.5 DBZ-3060
  • Make Cassandra Connector work with CommitLogTransfer better DBZ-3063
  • no viable alternative at input 'create or replace index' DBZ-3067
  • Connect image propagates env vars starting with CONNECT prefix DBZ-3070
  • PgOutputMessageDecoder doesn't order primary keys DBZ-3074
  • Strange transaction metadata for Oracle logminer connector DBZ-3090
  • Getting RejectedExecutionException when checking topic settings from KafkaDatabaseHistory.checkTopicSettings DBZ-3096
  • Environment Variables with spaces are truncated when written to properties file DBZ-3103
  • Error: Supplemental logging not configured for table. Use command: ALTER TABLE DBZ-3109
  • Uncaught (in promise) TypeError: Cannot read property 'call' of undefined DBZ-3125
  • Final stage of snapshot analyzes tables not present in table.include.list thus stumbles upon unsupported XMLTYPE table DBZ-3151
  • Missing Prometheus port in kafka network policy DBZ-3170
  • XStream does not process NUMER(1) data DBZ-3172

Other changes since 1.5.0.Alpha1

  • Setup CI job for DB2 DBZ-2235
  • Integration with Service Registry promoted to GA DBZ-2815
  • Remove DECIMAL string sanitisation once Vitess upstream bug is fixed DBZ-2908
  • Review format and configuration options for Db2 for GA DBZ-2977
  • Test with Postgres 13 DBZ-3022
  • Prepare Debezium UI to participate in upstream releases DBZ-3027
  • Upgrade testcontainers to 1.15.1 DBZ-3066
  • Use new deployment endpoint for releases to Maven Central DBZ-3069
  • Remove obsolete Awestruct container image DBZ-3072
  • "JDBC driver" doesn't make sense for non-relational connectors DBZ-3076
  • Replace RecordMakers with MySqlChangeRecordEmitter DBZ-3077
  • Make CI builds resilient against disconnects on GH Actions infrastructure DBZ-3083
  • Separate SourceInfo and MySQL offset context DBZ-3086
  • Remove zero-width whitespace from option names DBZ-3087
  • Adapt UI for MySQL connector type DBZ-3091
  • Change MySQL database schema contract to support separate parsing and processing phase DBZ-3093
  • MySQL build stuck for 6h DBZ-3095
  • Rewrite legacy reader tests DBZ-3099
  • Intermittent test failure in Postgres PostgresConnectorIT#customSnapshotterSkipsTablesOnRestart DBZ-3107
  • Remove duplicate anchor links in Connector properties DBZ-3111
  • Upgrade to Quarkus 1.12.0.Final DBZ-3116
  • Config validation for Vitess DBZ-3117
  • Config validation for Oracle DBZ-3119
  • Avoid naming conflict between connection classes DBZ-3147
  • Set up commit message check for Vitess DBZ-3152
  • Put IIDR license requirement into NOTE box DBZ-3163
  • Consistent logging of connection validation failure DBZ-3164
  • Remove COLUMN_BLACK_LIST option in Oracle connector DBZ-3167

1.5.0.Alpha1

February 4th 2021 Detailed release notes

New features since 1.4.1.Final

  • Support emitting TRUNCATE events in PostgreSQL pgoutput plugin DBZ-2382
  • Migrate DebeziumContainer enhancements for DBZ-2950 and DBZ-2952 into main repository DBZ-3024
  • Implement meta tags DBZ-2620
  • Improve performance for very large postgres schemas DBZ-2575

Breaking changes since 1.4.1.Final

  • Move MySQL connector to base framework DBZ-1865

Fixes since 1.4.1.Final

  • Extra connectors are not buildable unless main Debezium is built locally DBZ-2901
  • java.sql.SQLException: ORA-01333: failed to establish Logminer Dictionary DBZ-2939
  • Add support for connector/task lifecycle ops to UI backend DBZ-2951
  • Cassandra CDC failed to deserialize list column correct DBZ-2974
  • Debezium Oracle Connector will appear stuck on large SCN jumps DBZ-2982
  • Invalid regex patterns should fail validation when validation database.include/exclude.list properties for MySQL connector DBZ-3008
  • Fix repository config for Jenkis snapshot deployment DBZ-3011
  • Unable to parse non-constant SIGNAL option value DBZ-3018
  • Cannot parse expression in DEFAULT column definition DBZ-3020
  • Key being used as value in pubsub batch handler DBZ-3037
  • Table creation DDL with CHARACTER SET = DEFAULT causes MySQL connector failure DBZ-3023
  • Missing some MariaDB existence predicates in ALTER TABLE DBZ-3039

Other changes since 1.4.1.Final

  • Improved resiliency of release process against OSS failures DBZ-2274
  • Pull up HOSTNAME, PORT, DATABASE_NAME, USER and PASSWORD to RelationalDatabaseConnectorConfig DBZ-2420
  • Db2 Connector doesn't declare database related config options DBZ-2424
  • Fix build status badge in README files DBZ-2802
  • Merge and complete web components PR DBZ-2804
  • IBM Db2 Connector promoted to GA DBZ-2814
  • Document several Oracle frequently encountered problems DBZ-2970
  • No syntax highlighting on website listings DBZ-2978
  • Admonition icons missing DBZ-2986
  • Improve logging for Logminer adapter DBZ-2999
  • CI build not required for changes in README files DBZ-3012
  • Execute ZZZGtidSetIT as the last test DBZ-3047
  • Capture and report LogMiner state when mining session fails to start DBZ-3055

1.4.1.Final

January 28th 2021 Detailed release notes

New features since 1.4.0.Final

  • Clarify information in Debezium connector for SQL Server doc DBZ-2675
  • Add support for binary.handling.mode to the SQL Server connector DBZ-2912
  • Use collation to get charset when charset is not set DBZ-2922
  • Additional logging for number and type of sql operations DBZ-2980
  • Retry on "The server failed to resume the transaction" 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
  • Some column default values are not extracted correctly while reading table structure DBZ-2698
  • Supplemental logging is required for entire database rather than per monitored table DBZ-2711
  • Missing log file error when current SCN differs from snapshotted in Oracle connector and Logminer DBZ-2855
  • GitHub action for "Build Testing Workflow" is using old artifacts and not building missing dependencies DBZ-2861
  • Deadlock in the XStream handler and offset commiter call concurrently DBZ-2891
  • Sanitise DECIMAL string from VStream DBZ-2906
  • Vitess Connector download link missing on website DBZ-2907
  • DML statements longer than 4000 characters are incorrectly combined from V$LOGMNR_CONTENTS DBZ-2920
  • Default database charset is not recorded DBZ-2921
  • Instable test: PostgresConnectorIT#testCustomSnapshotterSnapshotCompleteLifecycleHook() DBZ-2938
  • Snapshot causes ORA-08181 exception DBZ-2949
  • Postgres connector config validation fails because current connector is occupying replication slot DBZ-2952
  • Labeled create procedure's body is not parsed DBZ-2972
  • Debezium swallows DML exception in certain cases DBZ-2981

Other changes since 1.4.0.Final

  • Migrate website build to Hugo DBZ-575
  • Test binary/varbinary datatypes DBZ-2174
  • Implement Scn as a domain type DBZ-2518
  • Fix docs for message.key.columns and skipped.operations DBZ-2572
  • Upgrade to Apache Kafka Connect 2.6.1 DBZ-2630
  • Centralize postgres image name for test container tests DBZ-2764
  • Add missing connector options for Postgres connector DBZ-2807
  • Importing TestDatabase as QuarkusTestResource for IT tests DBZ-2868
  • Set up Pulsar via Testcontainers in PulsarIT DBZ-2915
  • Remove blacklist and whitelist from anchor link text in documentation DBZ-2918
  • Instable test: PostgresShutdownIT#shouldStopOnPostgresFastShutdown() DBZ-2923
  • Rename whitelist/blacklist configs in examples to include/exclude DBZ-2925
  • Misspelling in readme for db2 connector DBZ-2940
  • Fetch correct Apicurio version for ApicurioRegistryTest DBZ-2945
  • Incorrect link IDs in SQL Server connector snapshot metrics table DBZ-2958

1.4.0.Final

January 7th 2021 Detailed release notes

New features since 1.4.0.CR1

  • Improve error reporting from DDL parser DBZ-2366
  • Support TNS Names and full RAC connection strings DBZ-2859
  • Add more comprehensible logs to FIELD event 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
  • Archive Log mining does not work with Logminer DBZ-2825
  • MySQL parser error for comments starting with tab DBZ-2840
  • Connector fails when using '$' sign in column name. DBZ-2849
  • Connection adapter not passed to Surefire tests DBZ-2856
  • Unsupported MariaDB syntax for generated columns DBZ-2882
  • SLF4J API should not be included in Oracle distirbution DBZ-2890
  • Vitess distro contains unaligned deps DBZ-2892
  • Changing base packages does not always trigger full builds DBZ-2896
  • LogMiner causes DataException when DATE field is specified as NOT NULL DBZ-2784

Other changes since 1.4.0.CR1

  • Remove LegacyDdlParser and related code DBZ-2167
  • Add MongoDB connector interface DBZ-2808
  • sanitize.field.names support for Vitess Connector DBZ-2851
  • Explicitly declare to Quarkus that ORM XML mapping is required for the outbox extension DBZ-2860
  • Upgrade MySQL JDBC driver to 8.0.21 DBZ-2887
  • Upgrade Guava library to 30.0 DBZ-2888
  • Avoid exception when payload id field not present DBZ-2889

1.4.0.CR1

December 16th 2020 Detailed release notes

New features since 1.4.0.Beta1

  • Documentation of the Logminer implementation needs improvement DBZ-2799
  • Update Vitess Connector documentation DBZ-2854
  • Add Cassandra to tutorial Compose set-up DBZ-1463
  • Add support for Vitess gRPC static authentication DBZ-2852

Breaking changes since 1.4.0.Beta1

None

Fixes since 1.4.0.Beta1

  • Document "database.oracle.version" option DBZ-2603
  • Remove link in MySQL docs section that points to the same section DBZ-2710
  • Oracle schema history events fail on partitioned table DBZ-2841
  • outbox extension emits UPDATE events when delete is disabled DBZ-2847

Other changes since 1.4.0.Beta1

  • Move Cassandra connector to separate repository DBZ-2636
  • Invalid column name should fail connector with meaningful message DBZ-2836
  • Fix typos in downstream ModuleID declarations in monitoring.adoc DBZ-2838
  • Duplicate anchor ID in partials/ref-connector-monitoring-snapshot-metrics.adoc DBZ-2839
  • Fix additional typo in ModuleID declaration in monitoring.adoc DBZ-2843
  • Edit modularization annotations in logging.adoc DBZ-2846
  • Update Groovy version to 3.0.7 DBZ-2850

1.4.0.Beta1

December 9th 2020 Detailed release notes

New features since 1.4.0.Alpha2

  • Add support for distributed tracing DBZ-559
  • Outbox Quarkus extension: Support OpenTracing DBZ-1818
  • Upgrade MongoDB driver to 4.x to run in native mode in GraalVM (for Quarkus extension) DBZ-2138
  • Allow snapshot records be generated either as create or read for MySQL connector DBZ-2775
  • Support in Db2 connector for lowercase table and schema names DBZ-2796
  • option to kill process when engine run crashes DBZ-2785
  • Add support for using Vitess primary key as Kafka message key DBZ-2578
  • Add support for Nullable columns DBZ-2579
  • Tablespace name LOGMINER_TBS should not be hardcoded in the Java code 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
  • Wrong mysql command in openshift dpeloyment docs DBZ-2746
  • long running transaction will be abandoned and ignored DBZ-2759
  • MS SQL Decimal with default value not matching the scale of the column definition cause exception DBZ-2767
  • Cassandra Connector doesn't shut down completely DBZ-2768
  • MySQL Parser fails for BINARY collation shortcut DBZ-2771
  • PostgresConnectorIT.shouldResumeStreamingFromSlotPositionForCustomSnapshot is failing for wal2json on CI DBZ-2772
  • Connector configuration property "database.out.server.name" is not relevant for Logminer implementation but cannot be omitted DBZ-2801
  • CHARACTER VARYING mysql identifier for varchar is not supported in debezium DBZ-2821
  • try-with-resources should not be used when OkHttp Response object is returned DBZ-2827
  • EmbeddedEngine does not shutdown when commitOffsets is interrupted DBZ-2830
  • Rename user command parsing fails DBZ-2743

Other changes since 1.4.0.Alpha2

  • Fix splitter annotations that control how content is modularized downstream DBZ-2824
  • VerifyRecord#isValid() compares JSON schema twice instead of Avro DBZ-735
  • Don't rely on deprecated JSON serialization functionality of MongoDB driver DBZ-1322
  • Move website build to GitHub Actions DBZ-1984
  • Move Db2 connector to separate repository DBZ-2001
  • Modularize doc for SQL Server component DBZ-2335
  • Upgrade apicurio to 1.3.2.Final DBZ-2561
  • Remove obsolete logging files from /partials directory DBZ-2740
  • Remove obsolete monitoring files from /partials directory DBZ-2741
  • Increase Oracle CI frequency DBZ-2744
  • Make Debezium example work with Podman instead of Docker DBZ-2753
  • Disable log mining history by default DBZ-2763
  • Upgrade -setup-java action to the latest 1.4.3 DBZ-2770
  • Trigger non-core connector tests when core or DDL parser module are changed DBZ-2773
  • Add support for unsigned integer types DBZ-2776
  • Update JDK action workflow matrix with JDK 16.0.0-ea.24 DBZ-2777
  • Auto resolve latest JDK EA release number DBZ-2781
  • Update content in modularized SQL Server connector doc DBZ-2782

1.4.0.Alpha2

November 16th 2020 Detailed release notes

New features since 1.4.0.Alpha1

  • Move testcontainers changes on DebeziumContainer from UI PoC backend to Debezium main repo DBZ-2602
  • Add ability to map new name for the fields and headers DBZ-2606
  • Add close call to the Snapshotter interface DBZ-2608
  • Overriding Character Set Mapping DBZ-2673
  • Support PostgreSQL connector retry when database is restarted DBZ-2685
  • Cassandra connector documentation typos DBZ-2701
  • Fix typo in converters doc DBZ-2717
  • Add tests for DBZ-2617: PG connector does not enter FAILED state on failing heartbeats DBZ-2724
  • DBZ-2662 Control ChangeEventQueue by the size in bytes 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
  • Exception when PK definition precedes column definition DBZ-2580
  • Patroni can't stop PostgreSQL when Debezium is streaming DBZ-2617
  • ChangeRecord informations don't connect with the TableSchema DBZ-2679
  • MySQL connector fails on a zero date DBZ-2682
  • Oracle LogMiner doesn't support partition tables DBZ-2683
  • DB2 doesn't start reliably in OCP DBZ-2693
  • Dropped columns cause NPE in SqlServerConnector DBZ-2716
  • Timestamp default value in 'yyyy-mm-dd' format fails MySQL connector DBZ-2726
  • Connection timeout on write should retry DBZ-2727
  • No viable alternative at input error on "min" column DBZ-2738
  • SQLServer CI error in SqlServerConnectorIT.whenCaptureInstanceExcludesColumnsAndColumnsRenamedExpectNoErrors:1473 DBZ-2747
  • debezium-connector-db2: DB2 SQL Error: SQLCODE=-206 on DB2 for z/OS DBZ-2755
  • no viable alternative at input 'alter table order drop CONSTRAINT' DBZ-2760
  • Tests are failing on macos DBZ-2762

Other changes since 1.4.0.Alpha1

  • Move CI to Github Actions for all repositories DBZ-1720
  • Privileges missing from setup in documentation - Oracle LogMiner connector DBZ-2628
  • Add validation that replication slot doesn't exist DBZ-2637
  • Update OpenJDK Quality Outreach jobs DBZ-2638
  • Re-unify monitoring content in the operations/monitoring.adoc file DBZ-2659
  • Pull oracle specific changes for reading table column metadata into debezium-core DBZ-2690
  • Intermittent test failure on CI - PostgresConnectorIT#shouldRegularlyFlushLsnWithTxMonitoring DBZ-2704
  • Topic routing doc formatting fix DBZ-2708
  • Re-unify logging content in the operations/logging.adoc file DBZ-2721
  • Incorporate Oracle LogMiner implementation updates DBZ-2729
  • Upgrade Vitess docker image to Vitess 8.0.0 DBZ-2749
  • Intermittent SQL Server test failure on CI - SqlServerConnectorIT DBZ-2625
  • Change initial.sync.max.threads to snapshot.max.threads DBZ-2742

1.4.0.Alpha1

October 22nd, 2020 Detailed release notes

New features since 1.3.0.Final

  • Allow to specify subset of captured tables to be snapshotted DBZ-2456
  • Implement snapshot select override behavior for MongoDB DBZ-2496
  • Asciidoc block titles are rendered the same as regular text DBZ-2631
  • Allow closing of hung JDBC connection DBZ-2632
  • Hide stacktrace when default value for SQL Server cannot be parsed DBZ-2642
  • Implement a CDC connector for Vitess DBZ-2463
  • SqlServer - Skip processing of LSNs not associated with change table entries. DBZ-2582

Breaking changes since 1.3.0.Final

None

Fixes since 1.3.0.Final

  • Cant override environment variables DBZ-2559
  • Inconsistencies in PostgreSQL Connector Docs DBZ-2584
  • ConcurrentModificationException during exporting data for a mongodb collection in a sharded cluster DBZ-2597
  • Mysql connector didn't pass the default db charset to the column definition DBZ-2604
  • [Doc] "registry.redhat.io/amq7/amq-streams-kafka-25: unknown: Not Found" error occurs DBZ-2609
  • [Doc] "Error: no context directory and no Containerfile specified" error occurs DBZ-2610
  • SqlExceptions using dbz with Oracle on RDS online logs and logminer DBZ-2624
  • Mining session stopped - task killed/SQL operation cancelled - Oracle LogMiner DBZ-2629
  • Unparseable DDL: Using 'trigger' as table alias in view creation DBZ-2639
  • Antlr DDL parser fails to interpret BLOB([size]) DBZ-2641
  • MySQL Connector keeps stale offset metadata after snapshot.new.tables is changed DBZ-2643
  • WAL logs are not flushed in Postgres Connector DBZ-2653
  • Debezium server Event Hubs plugin support in v1.3 DBZ-2660
  • Cassandra Connector doesn't use log4j for logging correctly DBZ-2661
  • Should Allow NonAsciiCharacter in SQL DBZ-2670
  • MariaDB nextval function is not supported in grammar DBZ-2671
  • Sanitize field name do not santize sub struct field DBZ-2680
  • Debezium fails if a non-existing view with the same name as existing table is dropped DBZ-2688

Other changes since 1.3.0.Final

  • Merge MySQL doc source files into one again DBZ-2127
  • Metrics links duplicate anchor IDs DBZ-2497
  • Slim down Vitess container image DBZ-2551
  • Modify release peipeline to support per-connector repos e.g. Vitess DBZ-2611
  • Add Vitess connector to Kafka Connect container image DBZ-2618
  • User Guide Documentation corrections for PostgreSQL DBZ-2621
  • Checkstyle should be built as a part of GH check formatting action DBZ-2623
  • Upgrade MySQL JDBC driver to version 8.0.19 DBZ-2626
  • Add support for multiple shard GTIDs in VGTID DBZ-2635
  • Add documentation for Vitess connector DBZ-2645
  • Restrict matrix job configurations to run only on Slaves DBZ-2648
  • Upgrade JUnit to 4.13.1 DBZ-2658
  • Avoid parsing generated files in Checkstyle DBZ-2669
  • Update debezium/awestruct image to use Antora 2.3.4 DBZ-2674
  • Fix doc typos and minor format glitches for downstream rendering DBZ-2681
  • Intermittent test failure on CI - RecordsStreamProducerIT#shouldReceiveHeartbeatAlsoWhenChangingNonWhitelistedTable() DBZ-2344

1.3.0.Final

October 1st, 2020 Detailed release notes

New features since 1.3.0.CR1

  • Allow configurable CONNECT_LOG4J_LOGGERS in connect images DBZ-2541
  • MySQL connector - ignore statement-based logs DBZ-2583
  • Add a configuration which sanitizes values in mongodb DBZ-2585

Breaking changes since 1.3.0.CR1

None

Fixes since 1.3.0.CR1

  • Sqlserver connector block cdc cleanup job DBZ-1285
  • Upgrade Guava library due to GuavaCompatibility errors DBZ-2008
  • mongodb-connector NPE in process of MongoDataConverter DBZ-2316
  • Error with UUID-typed collection column DBZ-2512
  • event.processing.failure.handling.mode doesn't skip unparseable data events DBZ-2563
  • decoderbufs Segmentation fault on timestamp with infinity DBZ-2565
  • MongoDB ExtractNewDocumentState can not extract array of array DBZ-2569
  • New MySQL 8 ALTER USER password options not supported DBZ-2576
  • MariaDB ANTLR parser issue for grant syntax DBZ-2586
  • Debezium Db2 connector fails with tables using BOOLEAN type DBZ-2587
  • db2 connector doesn't allow to reprocess messages DBZ-2591
  • Missing links in filter and content-based SMT doc DBZ-2593
  • Format error in doc for topic routing and event flattening SMTs DBZ-2596
  • Debezium refers to database instead of schema in Postgres config DBZ-2605
  • NullPointerException thrown when calling getAllTableIds DBZ-2607

Other changes since 1.3.0.CR1

  • Coordinate docs work for downstream 1.2 release DBZ-2272
  • Gracefully handle server-side filtered columns DBZ-2495
  • Schema change events fail to be dispatched due to inconsistent case DBZ-2555
  • Use dedicated functional interface for struct generators DBZ-2588
  • Remove obsolete note from docs DBZ-2590
  • Intermittent test failure on CI - ReplicationConnectionIT#shouldResumeFromLastReceivedLSN DBZ-2435
  • Intermittent test failure on CI - PostgresConnectorIT#shouldExecuteOnConnectStatements DBZ-2468
  • Intermittent test failure on CI - AbstractSqlServerDatatypesTest#stringTypes() DBZ-2474
  • Intermittent test failure on CI - PostgresConnectorIT#customSnapshotterSkipsTablesOnRestart() DBZ-2544
  • Intermittent test failure on CI - SQLServerConnectorIT#verifyOffsets DBZ-2599

1.3.0.CR1

September 24th, 2020 Detailed release notes

New features since 1.3.0.Beta2

  • Describe configurations options for auto-created change data topics DBZ-78

Breaking changes since 1.3.0.Beta2

  • Extract scripting SMTs into a separate module with separate installation package DBZ-2549

Fixes since 1.3.0.Beta2

  • Outbox | Heartbeat not working when using ByteBufferConverter DBZ-2396
  • Catch up streaming before snapshot may duplicate messages upon resuming streaming DBZ-2550
  • Fix Quarkus datasource configuration for Quarkus 1.9 DBZ-2558

Other changes since 1.3.0.Beta2

  • Show custom images instead of S2I in docs DBZ-2236
  • Add Db2 tests to OpenShift test-suite and CI DBZ-2383
  • Implement connection retry support for Oracle DBZ-2531
  • Format updates in doc for topic routing and event flattening SMTs DBZ-2554
  • Coordinate docs work for downstream 1.3 release DBZ-2557
  • Extend connect image build script with ability to add extra libraries DBZ-2560
  • Invalid use of AppProtocol instead of protocol field in OpenShiftUtils service creation method DBZ-2562
  • Doc format updates for better downstream rendering DBZ-2564
  • Prepare revised SMT docs (filter and content-based routing) for downstream DBZ-2567
  • Swap closing square bracket for curly brace in downstream title annotations DBZ-2577

1.3.0.Beta2

September 16th, 2020 Detailed release notes

New features since 1.3.0.Beta1

  • Ingest change data from Oracle databases using LogMiner DBZ-137
  • Server-side column filtering in SQL Server connector DBZ-1068
  • Introduce column.include.list for MySQL Connector DBZ-2508

Breaking changes since 1.3.0.Beta1

  • Avoid divisive language in docs and option names in incubator connectors DBZ-2462

Fixes since 1.3.0.Beta1

  • Increase Maven version in enforcer plugin DBZ-2281
  • JSON functions in MySQL grammar unsupported DBZ-2453
  • PostgresStreamingChangeEventSource's replicationStream flushLsn after closed DBZ-2461
  • Fix link rendering for include.list and exclude.list properties DBZ-2476
  • CVE-2019-10172 - security vulnerability DBZ-2509
  • ArrayIndexOutOfBoundsException with excluded column from CDC table DBZ-2522
  • maven-surefire-plugin versions defined twice in parent pom DBZ-2523
  • Connector Type properties has missing displayName property DBZ-2526

Other changes since 1.3.0.Beta1

  • Allow Postgres snapshotter to set streaming start position DBZ-2094
  • Ability to include Db2 driver in downstream image DBZ-2191
  • Unify representation of events in the documentation DBZ-2226
  • CloudEvents remains TP but has avro support downstream DBZ-2245
  • Document new SMTs: content-based-routing and filtering DBZ-2247
  • Document new Schema Change Topics DBZ-2248
  • Change db2 version in Dockerfile from latest DBZ-2257
  • Prepare DB2 connector doc for TP DBZ-2403
  • Strimzi cluster operator no longer exposes service to access prometheus metrics endpoint DBZ-2407
  • Clarify include/exclude filters for MongoDB are lists of regexps DBZ-2429
  • Mongo SMT dose not support add.fields=patch DBZ-2455
  • Prepare message filtering SMT doc for product release DBZ-2460
  • Avoid divisive language in docs and option names in incubator connectors DBZ-2462
  • Intermittent test failure on CI - FieldRenamesIT DBZ-2464
  • Adjust outbox extension to updated Quarkus semantics DBZ-2465
  • Add a locking mode which doesn't conflict with DML and existing reads on Percona Server DBZ-2466
  • Ignore SSL issues during release job DBZ-2467
  • Fix Debezium Server documentation for transformations and Google Pub/Sub DBZ-2469
  • Remove unnecessary include/exclude database configuration in order to ensure backwards compatibility in OCP test-suite DBZ-2470
  • Edit the features topic DBZ-2477
  • False negatives by commit message format checker DBZ-2479
  • Document outbox event router SMT DBZ-2480
  • Error when processing commitLogs related to frozen type collections DBZ-2498
  • Doc tweaks required to automatically build Db2 content in downstream user guide DBZ-2500
  • Unify representation of events - part two - update other connector doc DBZ-2501
  • Ability to specify kafka version for OCP ci job DBZ-2502
  • Add ability to configure prefix for the add.fields and add.headers DBZ-2504
  • Upgrade apicurio to 1.3.0.Final DBZ-2507
  • Add more logs to Cassandra Connector DBZ-2510
  • Create Configuration Fields for datatype.propagate.source.type and column.propagate.source.type DBZ-2516
  • Prepare content-based router SMT doc for product release DBZ-2519
  • Add missing ListOfRegex validator to all regex list fields and remove legacy whitelist/blacklist dependents DBZ-2527
  • Add annotations to support splitting files for downstream docs DBZ-2539

1.3.0.Beta1

August 28th, 2020 Detailed release notes

New features since 1.3.0.Alpha1

  • Improve error handling in Cassandra Connector DBZ-2410
  • Add few MySql8 privileges support DBZ-2413
  • Add support for MySql Dynamic Privileges DBZ-2415
  • Support for MySql8 invisible / visible index DBZ-2425
  • Hitting "Unable to unregister the MBean" when stopping an embedded engine DBZ-2427

Breaking changes since 1.3.0.Alpha1

  • Avoid divisive language in docs and option names in core connectors DBZ-2171

Fixes since 1.3.0.Alpha1

  • Adding new table to cdc causes the sqlconnector to fail DBZ-2303
  • LSNs in replication slots are not monotonically increasing DBZ-2338
  • Transaction data loss when process restarted DBZ-2397
  • java.lang.NullPointerException in ByLogicalTableRouter.java DBZ-2412
  • Snapshot fails if table or schema contain hyphens DBZ-2452

Other changes since 1.3.0.Alpha1

  • Upgrade OpenShift guide DBZ-1908
  • Refactor: Add domain type for LSN DBZ-2200
  • Entries in metrics tables should be linkable DBZ-2375
  • Update some doc file names DBZ-2402
  • Asciidoc throw warnings while building documentation DBZ-2408
  • Upgrade to Kafka 2.6.0 DBZ-2411
  • Confusing way of reporting incorrect DB credentials DBZ-2418
  • Default value for database port isn't honoured DBZ-2423
  • Update to Quarkus 1.7.1.Final DBZ-2454

1.3.0.Alpha1

August 6th, 2020 Detailed release notes

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
  • More flexible connection options for MongoDB DBZ-2225
  • Sink adapter for Azure Event Hubs DBZ-2282
  • Implement new snapshot mode - initial_only DBZ-2379

Breaking changes since 1.2.1.Final

  • Deprecate mongodb.poll.interval.sec and add mongodb.poll.interval.ms. DBZ-2400

Fixes since 1.2.1.Final

  • Ignore non-existing table reported on Aurora via SHOW TABLES DBZ-1939
  • Cassandra connector not getting events DBZ-2086
  • PubSub Sink sends empty records DBZ-2277
  • Skipping LSN is inefficient and does not forward slot position DBZ-2310
  • message size is at least 68x larger for changes with bit varying columns DBZ-2315
  • Change events lost when connnector is restarted while processing transaction with PK update DBZ-2329
  • Error when processing commitLogs related to list-type columns DBZ-2345
  • Fix dependency groupId on Outbox Quarkus Extension documentation DBZ-2367
  • Cannot detect Azure Sql Version DBZ-2373
  • ParallelSnapshotReader sometimes throws NPE DBZ-2387

Other changes since 1.2.1.Final

  • Column default values are not extracted while reading table structure DBZ-1491
  • DataException("Struct schemas do not match.") when recording cellData DBZ-2103
  • Provide container image for Debezium Server DBZ-2147
  • Update binlog client DBZ-2173
  • PostgreSQL test matrix runs incorrect test-suite DBZ-2279
  • Use ARG with defaults for Kafka's versions and sha when building Kafka Docker image DBZ-2323
  • Test failures on Kafka 1.x CI job DBZ-2332
  • Modularize doc for PostgreSQL component DBZ-2333
  • Add configurable restart wait time and connection retires DBZ-2362
  • Support data types from other database engines DBZ-2365
  • Featured posts list broken DBZ-2374
  • Add ProtoBuf support for Debezium Server DBZ-2381
  • Intermittent test failure on CI - SqlServerChangeTableSetIT#addDefaultValue DBZ-2389
  • Intermittent test failure on CI - TablesWithoutPrimaryKeyIT#shouldProcessFromStreaming DBZ-2390
  • Include Azure PostgreSQL guidance in the docs DBZ-2394
  • Update JSON Snippet on MongoDB Docs Page DBZ-2395

1.2.1.Final

July 16th, 2020 Detailed release notes

New features since 1.2.0.Final

  • Document content based routing and filtering for MongoDB DBZ-2255
  • Handle MariaDB syntax add column IF EXISTS as part of alter table DDL DBZ-2219
  • Add Apicurio converters to Connect container image 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
  • MySQL connector should filter additional DML binlog entries for RDS by default DBZ-2275
  • Concurrent access to a thread map DBZ-2278
  • Postgres connector may skip events during snapshot-streaming transition DBZ-2288
  • MySQL connector emits false error while missing a required data DBZ-2301
  • io.debezium.engine.spi.OffsetCommitPolicy.PeriodicCommitOffsetPolicy can't be initiated due to NoSuchMethod error DBZ-2302
  • Allow single dimension DECIMAL in CAST DBZ-2305
  • MySQL JSON functions are missing from the grammar DBZ-2318
  • Description in documentation metrics tables is bold and shouldn't be DBZ-2326
  • ALTER TABLE with timestamp default CURRENT_TIMESTAMP not null fails the task DBZ-2330

Other changes since 1.2.0.Final

  • Unstable tests in SQL Server connector DBZ-2217
  • Intermittent test failure on CI - SqlServerConnectorIT#verifyOffsets() DBZ-2220
  • Intermittent test failure on CI - MySQL DBZ-2229
  • Intermittent test failure on CI - SqlServerChangeTableSetIT#readHistoryAfterRestart() DBZ-2231
  • Failing test MySqlSourceTypeInSchemaIT.shouldPropagateSourceTypeAsSchemaParameter DBZ-2238
  • Intermittent test failure on CI - MySqlConnectorRegressionIT#shouldConsumeAllEventsFromDatabaseUsingBinlogAndNoSnapshot() DBZ-2243
  • Use upstream image in ApicurioRegistryTest DBZ-2256
  • Intermittent failure of MongoDbConnectorIT.shouldConsumeTransaction DBZ-2264
  • Intermittent test failure on CI - MySqlSourceTypeInSchemaIT#shouldPropagateSourceTypeByDatatype() DBZ-2269
  • Intermittent test failure on CI - MySqlConnectorIT#shouldNotParseQueryIfServerOptionDisabled DBZ-2270
  • Intermittent test failure on CI - RecordsStreamProducerIT#testEmptyChangesProducesHeartbeat DBZ-2271
  • Incorrect dependency from outbox to core module DBZ-2276
  • Slowness in FieldRenamesTest DBZ-2286
  • Create GitHub Action for verifying correct formatting DBZ-2287
  • Clarify expectations for replica identity and key-less tables DBZ-2307
  • Jenkins worker nodes must be logged in to Docker Hub DBZ-2312
  • Upgrade PostgreSQL driver to 4.2.14 DBZ-2317
  • Intermittent test failure on CI - PostgresConnectorIT#shouldOutputRecordsInCloudEventsFormat DBZ-2319
  • Intermittent test failure on CI - TablesWithoutPrimaryKeyIT#shouldProcessFromStreaming DBZ-2324
  • Intermittent test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent DBZ-2325
  • Intermittent test failure on CI - SnapshotIT#takeSnapshotWithOldStructAndStartStreaming DBZ-2331

1.2.0.Final

June 24th, 2020 Detailed release notes

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
  • Intermittent test failures on CI DBZ-2232
  • Test SimpleSourceConnectorOutputTest.shouldGenerateExpected blocked DBZ-2241
  • CloudEventsConverter should use Apicurio converter for Avro DBZ-2250
  • Default value is not properly set for non-optional columns DBZ-2267

Other changes since 1.2.0.CR2

  • Diff MySQL connector 0.10 and latest docs DBZ-1997
  • Remove redundant property in antora.yml DBZ-2223
  • Binary log client is not cleanly stopped in testsuite DBZ-2221
  • Intermittent test failure on CI - Postgres DBZ-2230
  • Build failure with Kafka 1.x DBZ-2240
  • Intermittent test failure on CI - SqlServerConnectorIT#readOnlyApplicationIntent() DBZ-2261
  • Test failure BinlogReaderIT#shouldFilterAllRecordsBasedOnDatabaseWhitelistFilter() DBZ-2262

1.2.0.CR2

June 18th, 2020 Detailed release notes

New features since 1.2.0.CR1

  • DB2 connector documentation ambiguous regarding licensing DBZ-1835
  • Optimize SQLServer connector query DBZ-2120
  • Documentation for implementing StreamNameMapper DBZ-2163
  • Update architecture page DBZ-2096

Breaking changes since 1.2.0.CR1

  • Debezium server distro has been moved DBZ-2212

Fixes since 1.2.0.CR1

  • Encountered error when snapshotting collection type column DBZ-2117
  • Missing dependencies for Debezium Server Pulsar sink DBZ-2201
  • Intermittent test failure -- Multiple admin clients with same id DBZ-2228
  • Adapt to changed TX representation in oplog in Mongo 4.2 DBZ-2216

Other changes since 1.2.0.CR1

  • Tests Asserting No Open Transactions Failing DBZ-2176
  • General test harness for End-2-End Benchmarking DBZ-1812
  • Add tests for datatype.propagate.source.type for all connectors DBZ-1916
  • Productize CloudEvents support DBZ-2019
  • [Doc] Add Debezium Architecture to downstream documentation DBZ-2029
  • Transaction metadata documentation DBZ-2069
  • Inconsistent test failures DBZ-2177
  • Add Jandex plugin to Debezium Server connectors DBZ-2192
  • Ability to scale wait times in OCP test-suite DBZ-2194
  • CI doesn't delete mongo and sql server projects on successful runs DBZ-2195
  • Document database history and web server port for Debezium Server DBZ-2198
  • Do not throw IndexOutOfBoundsException when no task configuration is available DBZ-2199
  • Upgrade Apicurio to 1.2.2.Final DBZ-2206
  • Intermitent test failures DBZ-2207
  • Increase Pulsar Server timeouts DBZ-2210
  • Drop distribution from Debezium Server artifact name DBZ-2214

1.2.0.CR1

June 10th, 2020 Detailed release notes

New features since 1.2.0.Beta2

  • Restrict the set of tables with a publication when using pgoutput DBZ-1813
  • Support configuring different encodings for binary source data DBZ-1814
  • Add API for not registering metrics MBean into the platform MBean server DBZ-2089
  • Unable to handle UDT data DBZ-2091
  • Improve SQL Server reconnect during shutdown and connection resets DBZ-2106
  • OpenShift tests for SQL Server connector before GA DBZ-2113
  • OpenShift tests for MongoDB Connector before GA DBZ-2114
  • Log begin/end of schema recovery on INFO level DBZ-2149
  • Allow outbox EventRouter to pass non-String based Keys DBZ-2152
  • Introduce API checks DBZ-2159
  • Bump mysql binlog version DBZ-2160
  • Postgresql - Allow for include.unknown.datatypes to return string instead of hash DBZ-1266
  • Consider Apicurio registry DBZ-1639
  • Debezium Server should support Google Cloud PubSub DBZ-2092
  • Sink adapter for Apache Pulsar DBZ-2112

Breaking changes since 1.2.0.Beta2

  • Change table.whitelist/table.blacklist format DBZ-1312

Fixes since 1.2.0.Beta2

  • Transaction opened by Debezium is left idle and never committed DBZ-2118
  • Don't call markBatchFinished() in finally block DBZ-2124
  • kafka SSL passwords need to be added to the Sensitive Properties list DBZ-2125
  • Intermittent test failure on CI - SQL Server DBZ-2126
  • CREATE TABLE query is giving parsing exception DBZ-2130
  • Misc. Javadoc and docs fixes DBZ-2136
  • Avro schema doesn't change if a column default value is dropped DBZ-2140
  • Multiple SETs not supported in trigger DBZ-2142
  • Don't validate internal database.history.connector.* config parameters DBZ-2144
  • ANTLR parser doesn't handle MariaDB syntax drop index IF EXISTS as part of alter table DDL DBZ-2151
  • Casting as INT causes a ParsingError DBZ-2153
  • Calling function UTC_TIMESTAMP without parenthesis causes a parsing error DBZ-2154
  • Could not find or load main class io.debezium.server.Main DBZ-2170
  • MongoDB connector snapshot NPE in case of document field named "op" DBZ-2116

Other changes since 1.2.0.Beta2

  • Adding tests and doc updates around column masking and truncating DBZ-775
  • Refactor/use common configuration parameters DBZ-1657
  • Develop sizing recommendations, load tests etc. DBZ-1662
  • Add performance test for SMTs like filters DBZ-1929
  • Add banner to older doc versions about them being outdated DBZ-1951
  • SMT Documentation DBZ-2021
  • Instable integration test with Testcontainers DBZ-2033
  • Add test for schema history topic for Oracle connector DBZ-2056
  • Random test failures DBZ-2060
  • Set up CI jobs for JDK 14/15 DBZ-2065
  • Introduce Any type for server to seamlessly integrate with Debezium API DBZ-2104
  • Update AsciiDoc markup in doc files for downstream reuse DBZ-2105
  • Upgrade to Quarkus 1.5.0.Final DBZ-2119
  • Additional AsciiDoc markup updates needed in doc files for downstream reuse DBZ-2129
  • Refactor & Extend OpenShift test-suite tooling to prepare for MongoDB and SQL Server DBZ-2132
  • OpenShift tests are failing when waiting for Connect metrics to be exposed DBZ-2135
  • Support incubator build in product release jobs DBZ-2137
  • Rebase MySQL grammar on the latest upstream version DBZ-2143
  • Await coordinator shutdown in embedded engine DBZ-2150
  • More meaningful exception in case of replication slot conflict DBZ-2156
  • Intermittent test failure on CI - Postgres DBZ-2157
  • OpenShift pipeline uses incorrect projects for Mongo and Sql Server deployment DBZ-2164
  • Incorrect polling timeout in AbstractReader DBZ-2169

1.2.0.Beta2

May 19th, 2020 Detailed release notes

New features since 1.2.0.Beta1

  • Add JDBC driver versions to docs DBZ-2031
  • Add a few more loggings for Cassandra Connector DBZ-2066
  • Provide ready-to-use standalone application based on the embedded engine DBZ-651
  • Add option to skip LSN timestamp queries DBZ-1988
  • Add option to logical topic router for controlling placement of table information DBZ-2034
  • Add headers and topic name into scripting transforms DBZ-2074
  • Filter and content-based router SMTs should be restrictable to certain topics DBZ-2024

Breaking changes since 1.2.0.Beta1

  • Remove deprecated features DBZ-1828
  • Db2: Replace initial_schema_only with schema_only DBZ-2051
  • DebeziumContainer should allow for custom container images 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
  • DDL statement throws error if compression keyword contains backticks (``) DBZ-2062
  • Error and connector stops when DDL contains algorithm=instant DBZ-2067
  • Debezium Engine advanced record consuming example broken DBZ-2073
  • Unable to parse MySQL ALTER statement with named primary key DBZ-2080
  • Missing schema-serializer dependency for Avro DBZ-2082
  • TinyIntOneToBooleanConverter doesn't seem to work with columns having a default value. DBZ-2085

Other changes since 1.2.0.Beta1

  • Add ability to insert fields from op field in ExtractNewDocumentState DBZ-1791
  • Test with MySQL 8.0.20 DBZ-2041
  • Update debezium-examples/tutorial README docker-compose file is missing DBZ-2059
  • Skip tests that are no longer compatible with Kafka 1.x DBZ-2068
  • Remove additional Jackson dependencies as of AK 2.5 DBZ-2076
  • Make EventProcessingFailureHandlingIT resilient against timing issues DBZ-2078
  • Tar packages must use posix format DBZ-2088
  • Remove unused sourceInfo variable DBZ-2090

1.2.0.Beta1

May 7th, 2020 Detailed release notes

New features since 1.2.0.Alpha1

  • Don't try to database history topic if it exists already DBZ-1886
  • Deleted database history should be detected for all connectors DBZ-1923
  • Provide anchors to connector parameters DBZ-1933
  • move static methods TRUNCATE_COLUMN and MASK_COLUMN as attributes to RelationalDatabaseConnectorConfig DBZ-1972
  • Implement SKIPPED_OPERATIONS for mysql DBZ-1895
  • User facing schema history topic for SQL Server DBZ-1904
  • Multiline stack traces can be collapsed into a single log event DBZ-1913
  • Introduce column.whitelist for Postgres Connector DBZ-1962
  • Add support for Postgres time, timestamp array columns DBZ-1969
  • Add support for Postgres Json and Jsonb array columns DBZ-1990
  • Content-based topic routing based on scripting languages DBZ-2000

Breaking changes since 1.2.0.Alpha1

  • Remove obsolete metrics from downstream docs DBZ-1947
  • Outbox: Remove eventType field DBZ-2014
  • Upgrade Postgres driver to 42.2.12 DBZ-2027
  • Support different converters for key/value in embedded engine 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
  • PostgreSQL Sink connector with outbox event router and Avro uses wrong default io.confluent schema namespace DBZ-1963
  • Stop processing new commitlogs in cdc folder DBZ-1985
  • [Doc] Debezium User Guide should provide example of DB connector yaml and deployment instructions DBZ-2011
  • ExtractNewRecordState SMT spamming logs for heartbeat messages DBZ-2036
  • MySQL alias FLUSH TABLE not handled DBZ-2047
  • Embedded engine not compatible with Kafka 1.x DBZ-2054

Other changes since 1.2.0.Alpha1

  • Blog post and demo about Debezium + Camel DBZ-1656
  • Refactor connector config code to share the configuration definition DBZ-1750
  • DB2 connector follow-up refactorings DBZ-1753
  • Oracle JDBC driver available in Maven Central DBZ-1878
  • Align snapshot/streaming semantics in MongoDB documentation DBZ-1901
  • Add MySQL 5.5 and 5.6 to test matrix. DBZ-1953
  • Upgrade to Quarkus to 1.4.1 release DBZ-1975
  • Version selector on releases page should show all versions DBZ-1979
  • Upgrade to Apache Kafka 2.5.0 and Confluent Platform 5.5.0 DBZ-1981
  • Fix broken link DBZ-1983
  • Update Outbox Quarkus extension yaml DBZ-1991
  • Allow for simplified property references in filter SMT with graal.js DBZ-1993
  • Avoid broken cross-book references in downstream docs DBZ-1999
  • Fix wrong attribute name in MongoDB connector DBZ-2006
  • Upgrade formatter and Impsort plugins DBZ-2007
  • Clarify support for non-primary key tables in PostgreSQL documentation DBZ-2010
  • Intermittent test failure on CI DBZ-2030
  • Cleanup Postgres TypeRegistry DBZ-2038
  • Upgrade to latest parent pom and checkstyle DBZ-2039
  • Reduce build output to avoid maximum log length problems on CI DBZ-2043
  • Postgres TypeRegistry makes one query per enum type at startup DBZ-2044

1.2.0.Alpha1

April 16th, 2020 Detailed release notes

New features since 1.1.0.Final

  • Expose original value for PK updates DBZ-1531
  • New column masking mode: consistent hashing DBZ-1692
  • Provide a filtering SMT DBZ-1782
  • Support converters for embedded engine DBZ-1807
  • Enhance MongoDB connector metrics DBZ-1859
  • SQL Server connector: support reconnect after the database connection is broken DBZ-1882
  • Support SMTs in embedded engine DBZ-1930
  • Snapshot metrics shows TotalNumberOfEventsSeen as zero DBZ-1932

Breaking changes since 1.1.0.Final

  • Remove deprecated connector option value "initial_schema_only" DBZ-1945
  • Remove deprecated unwrap SMTs DBZ-1968

Fixes since 1.1.0.Final

  • java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] DBZ-1744
  • Snapshot lock timeout setting is not documented DBZ-1914
  • AvroRuntimeException when publishing transaction metadata DBZ-1915
  • Connector restart logic throttles for the first 2 seconds DBZ-1918
  • Wal2json empty change event could cause NPE above version 1.0.3.final DBZ-1922
  • Misleading error message on lost database connection DBZ-1926
  • Cassandra CDC should not move and delete processed commitLog file under testing mode DBZ-1927
  • Broken internal links and anchors in documentation DBZ-1935
  • Dokumentation files in modules create separate pages, should be partials instead DBZ-1944
  • Validation of binlog_row_image is not compatible with MySQL 5.5 DBZ-1950
  • High CPU usage when idle DBZ-1960
  • Outbox Quarkus Extension throws NPE in quarkus:dev mode DBZ-1966
  • Cassandra Connector: unable to deserialize column mutation with reversed type DBZ-1967

Other changes since 1.1.0.Final

  • Replace Custom CassandraTopicSelector with DBZ's TopicSelector class in Cassandra Connector DBZ-1407
  • Improve documentation on WAL disk space usage for Postgres connector DBZ-1732
  • Outbox Quarkus Extension: Update version of extension used by demo DBZ-1786
  • Community newsletter 1/2020 DBZ-1806
  • Remove obsolete SnapshotChangeRecordEmitter DBZ-1898
  • Fix typo in Quarkus Outbox extension documentation DBZ-1902
  • Update schema change topic section of SQL Server connector doc DBZ-1903
  • Log warning about insufficient retention time for DB history topic DBZ-1905
  • Documentation should link to Apache Kafka upstream docs DBZ-1906
  • The error messaging around binlog configuration is missleading DBZ-1911
  • Restore documentation of MySQL event structures DBZ-1919
  • Link from monitoring page to connector-specific metrics DBZ-1920
  • Update snapshot.mode options in SQL Server documentation DBZ-1924
  • Update build and container images to Apache Kafka 2.4.1 DBZ-1925
  • Avoid Thread#sleep() calls in Oracle connector tests DBZ-1942
  • Different versions of Jackson components pulled in as dependencies DBZ-1943
  • Add docs for mask column and truncate column features DBZ-1954
  • Upgrade MongoDB driver to 3.12.3 DBZ-1958

1.1.0.Final

March 23rd, 2020 Detailed release notes

New features since 1.1.0.CR1

  • The Postgres connector heartbeat should optionally write back a heartbeat change to the DB 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
  • Postgresql money error handling DBZ-1755
  • MongoDB tests not working correctly DBZ-1867
  • MongoDB transaction metadata topic generates extra events DBZ-1874
  • NullPointerException on delete in ExtractNewRecordState class DBZ-1876
  • MongoDB connector unrecoverable exception DBZ-1880
  • High log volume from: "Awaiting end of restart backoff period" logs DBZ-1889
  • Kafka records from one Cassandra table get published to the kafka queue of another Cassandra table DBZ-1892

Other changes since 1.1.0.CR1

  • Use snapshot versions in master branch documentation DBZ-1793
  • Misc docs issues DBZ-1798
  • Outbox Quarkus Extension: Clarify default column types when using defaults. DBZ-1804
  • Create CI job to run OpenShift test DBZ-1817
  • Failing test jobs for Mongo and SQL Server due to insecure maven registry DBZ-1837
  • Support retriable exceptions with embedded engine DBZ-1857
  • Modularize Debezium logging doc DBZ-1861
  • Centralize closing of coordinator DBZ-1863
  • Assert format of commit messages DBZ-1868
  • Bump MongoDB java driver to the latest version 3.12.2 DBZ-1869
  • Add Travis CI task for MongoDB 3.2 DBZ-1871
  • Unstable tests for PostgreSQL DBZ-1875
  • Add MongoDB JMX integration tests DBZ-1879

1.1.0.CR1

March 11th, 2020 Detailed release notes

New features since 1.1.0.Beta2

  • Distinguish between public (API) and internal parts of Debezium DBZ-234
  • Add option to skip unprocesseable event DBZ-1760
  • ExtractNewRecordState - add.source.fields should strip spaces from comma-separated list of fields DBZ-1772
  • Add support for update events for sharded MongoDB collections DBZ-1781
  • Useless/meaningless parameter in function DBZ-1805
  • Replace BlockEventQueue with Debezium ChangeEventQueue DBZ-1820
  • Option to configure column.propagate.source.type on a per-type basis, not per column-name basis DBZ-1830
  • Support MongoDB Oplog operations as config DBZ-1831
  • Add app metrics for mongodb connector to jmx DBZ-845
  • Provide SPI to override schema and value conversion for specific columns DBZ-1134
  • Retry polling on configured exceptions DBZ-1723

Breaking changes since 1.1.0.Beta2

  • Default gtid.new.channel.position to earliest DBZ-1705
  • Mongodb field.renames will add renamed field even when source field is missing DBZ-1848
  • MySQL: Rename event.deserialization.failure.handling.mode to event.processing.failure.handling.mode DBZ-1826

Fixes since 1.1.0.Beta2

  • CDC Event Schema Doesn't Change After 2 Fields Switch Names and Places DBZ-1694
  • TINYINT(1) value range restricted on snapshot. DBZ-1773
  • MySQL source connector fails while parsing new AWS RDS internal event DBZ-1775
  • Connector fails when performing a Hot Schema Update in SQLServer (Data row is smaller than a column index). DBZ-1778
  • Incosistency in MySQL TINYINT mapping definition DBZ-1800
  • Debezium skips messages after restart DBZ-1824
  • Supply of message.key.columns disables primary keys. DBZ-1825
  • MySql connector fails after CREATE TABLE IF NOT EXISTS table_A, given table_A does exist already DBZ-1833
  • Unable to listen to binlogs for tables with a period in the table names DBZ-1834
  • Redundant calls to refresh schema when using user defined types in PostgreSQL DBZ-1849
  • postgres oid is too large to cast to integer DBZ-1850

Other changes since 1.1.0.Beta2

  • Verify correctness of JMX metrics DBZ-1664
  • Document that server name option must not use hyphen in name DBZ-1704
  • Move MongoDB connector to base framework DBZ-1726
  • hstore.handling.mode docs seem inaccurate (and map shows null values) DBZ-1758
  • Document transaction metadata topic name DBZ-1779
  • Remove Microsoft references in Db2 connector comments DBZ-1794
  • Fix link to CONTRIBUTE.md in debezium-incubator repository README.md DBZ-1795
  • Invalid dependency definition in Quarkus ITs DBZ-1799
  • Document MySQL boolean handling DBZ-1801
  • Jackson dependency shouldn't be optional in Testcontainers module DBZ-1803
  • Change Db2 configuration for faster test execution DBZ-1809
  • Misleading warning message about uncommitted offsets DBZ-1840
  • Missing info on DB2 connector in incubator README file DBZ-1842
  • Only replace log levels if LOG_LEVEL var is set DBZ-1843
  • Modularize tutorial DBZ-1845
  • Modularize the monitoring doc DBZ-1851
  • Remove deprecated methods from SnapshotProgressListener DBZ-1856
  • Document PostgreSQL connector metrics DBZ-1858

1.1.0.Beta2

February 13th, 2020 Detailed release notes

New features since 1.1.0.Beta1

  • Add ability to insert fields from op field in ExtractNewRecordState SMT DBZ-1452
  • Integrates with TestContainers project 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
  • DBREF fields causes SchemaParseException using New Record State Extraction SMT and Avro converter DBZ-1767

Other changes since 1.1.0.Beta1

  • Superfluous whitespace in intra-level ToC sidebar DBZ-1668
  • Outbox Quarkus Extension follow-up tasks DBZ-1711
  • DB2 connector follow-up tasks DBZ-1752
  • Unwrap SMT demo not compatible with ES 6.1+ DBZ-1756
  • Instable SQL Server test DBZ-1764
  • Remove Db2 JDBC driver from assembly package DBZ-1776
  • Fix PostgresConnectorIT.shouldOutputRecordsInCloudEventsFormat test DBZ-1783
  • Use "application/avro" as data content type in CloudEvents DBZ-1784
  • Update Standard Tutorials/Examples with DB2 DBZ-1558

1.1.0.Beta1

February 5th, 2020 Detailed release notes

New features since 1.1.0.Alpha1

  • Create a plug-in for DB2 streaming DBZ-695
  • Add topic routing by field option for New Record State Extraction DBZ-1715
  • Generate date(time) field types in the Kafka Connect data structure DBZ-1717
  • Publish TX boundary markers on a TX metadata topic DBZ-1052
  • Replace connectorName with kafkaTopicPrefix in kafka key/value schema DBZ-1763

Breaking changes since 1.1.0.Alpha1

  • Generate date(time) field types in the Kafka Connect data structure DBZ-1717
  • Publish TX boundary markers on a TX metadata topic DBZ-1052

Fixes since 1.1.0.Alpha1

  • Connector error after adding a new not null column to table in Postgres DBZ-1698
  • MySQL connector doesn't use default value of connector.port DBZ-1712
  • Fix broken images in Antora and brush up AsciiDoc DBZ-1725
  • ANTLR parser cannot parse MariaDB Table DDL with TRANSACTIONAL attribute DBZ-1733
  • Postgres connector does not support proxied connections DBZ-1738
  • GET DIAGNOSTICS statement not parseable DBZ-1740
  • Examples use http access to Maven repos which is no longer available DBZ-1741
  • MySql password logged out in debug log level DBZ-1748
  • Cannot shutdown PostgreSQL if there is an active Debezium connector DBZ-1727

Other changes since 1.1.0.Alpha1

  • Add tests for using fallback values with default REPLICA IDENTITY DBZ-1158
  • Migrate all attribute name/value pairs to Antora component descriptors DBZ-1687
  • Upgrade to Awestruct 0.6.0 DBZ-1719
  • Run CI tests for delivered non-connector modules (like Quarkus) DBZ-1724
  • Remove overlap of different documentation config files DBZ-1729
  • Don't fail upon receiving unkown operation events DBZ-1747
  • Provide a method to identify an envelope schema DBZ-1751
  • Upgrade to Mongo Java Driver version 3.12.1 DBZ-1761
  • Create initial Proposal for DB2 Source Connector DBZ-1509
  • Review Pull Request for DB2 Connector DBZ-1527
  • Test Set up of the DB2 Test Instance DBZ-1556
  • Create Documentation for the DB2 Connector DBZ-1557
  • Verify support of all DB2 types DBZ-1708

1.1.0.Alpha1

January 16th, 2020 Detailed release notes

New features since 1.0.0.Final

  • MongoDB authentication against non-admin authsource DBZ-1168
  • Oracle: Add support for different representations of "NUMBER" Data Type DBZ-1552
  • Update Mongo Java driver to version 3.12.0 DBZ-1690
  • Support exporting change events in "CloudEvents" format DBZ-1292
  • Build Quarkus extension facilitating implementations of the outbox pattern DBZ-1478
  • Support column masking option for Postgres DBZ-1685

Breaking changes since 1.0.0.Final

  • Remove "slot.drop_on_stop" option DBZ-1600
  • Outbox event router should ensure record timestamp is always millis-since-epoch DBZ-1707

Fixes since 1.0.0.Final

  • Make slot creation in PostgreSQL more resilient DBZ-1684
  • SQLserver type time(4)...time(7) lost nanoseconds DBZ-1688
  • Support boolean as default for INT(1) column in MySQL DBZ-1689
  • SIGNAL statement is not recognized by DDL parser DBZ-1691
  • When using in embedded mode MYSQL connector fails DBZ-1693
  • MySQL connector fails to parse trigger DDL DBZ-1699

Other changes since 1.0.0.Final

  • Update outbox routing example DBZ-1673
  • Add option to JSON change event SerDe for ignoring unknown properties DBZ-1703
  • Update debezium/awestruct image to use Antora 2.3 alpha 2 DBZ-1713

1.0.0.Final

December 18th, 2019 Detailed release notes

New features since 1.0.0.CR1

  • Support streaming changes from SQL Server "AlwaysOn" replica DBZ-1642

Breaking changes since 1.0.0.CR1

  • Rename Serdes to DebeziumSerdes DBZ-1670
  • MySQL Connector should use "snapshot.lock.timeout.ms" DBZ-1671

Fixes since 1.0.0.CR1

  • Interpret Sql Server timestamp timezone correctly DBZ-1643
  • Sorting a HashSet only to put it back into a HashSet DBZ-1650
  • Function with RETURN only statement cannot be parsed DBZ-1659
  • Enum value resolution not working while streaming with wal2json or pgoutput DBZ-1680

Other changes since 1.0.0.CR1

  • Globally ensure in tests that records can be serialized DBZ-824
  • Allow upstream teststuite to run with productised dependencies DBZ-1658
  • Upgrade to latest PostgreSQL driver 42.2.9 DBZ-1660
  • Generate warning for connectors with automatically dropped slots DBZ-1666
  • Regression test for MySQL dates in snapshot being off by one DBZ-1667
  • Build against Apache Kafka 2.4 DBZ-1676
  • When PostgreSQL schema refresh fails, allow error to include root cause DBZ-1677
  • Prepare testsuite for RHEL 8 protobuf plugin RPM DBZ-1536

1.0.0.CR1

December 14th, 2019 Detailed release notes

New features since 1.0.0.Beta3

  • Transaction level TRANSACTION_READ_COMMITTED not implemented DBZ-1480
  • Provide change event JSON Serde for Kafka Streams DBZ-1533
  • Provide MongoDB 4.2 image DBZ-1626
  • Support PostgreSQL enum types DBZ-920
  • Upgrade container images to Java 11 DBZ-969
  • Support MongoDB 4.0 transaction DBZ-1215
  • Make connection timeout configurable in MySQL connection URL DBZ-1632
  • Support for arrays of uuid DBZ-1637
  • Add test matrix for SQL Server DBZ-1644

Breaking changes since 1.0.0.Beta3

  • Consolidate configuration parameters DBZ-585

Fixes since 1.0.0.Beta3

  • Empty history topic treated as not existing DBZ-1201
  • Incorrect handling of type alias DBZ-1413
  • Blacklisted columns are not being filtered out when generating a Kafka message from a CDC event DBZ-1617
  • IoUtil Bugfix DBZ-1621
  • VariableLatch Bugfix DBZ-1622
  • The oracle connector scans too many objects while attempting to determine the most recent ddl time DBZ-1631
  • Connector does not update its state correctly when processing compound ALTER statement DBZ-1645
  • Outbox event router shouldn't lower-case topic names DBZ-1648

Other changes since 1.0.0.Beta3

  • Merge the code for upscaling decimal values with scale lower than defined DBZ-825
  • Make Debezium project Java 11 compatible DBZ-1402
  • Run SourceClear DBZ-1602
  • Extend MySQL to test Enum with column.propagate.source.type DBZ-1636
  • Sticky ToC hides tables in PG connector docs DBZ-1652
  • Antora generates build warning DBZ-1654

1.0.0.Beta3

November 14th, 2019 Detailed release notes

New features since 1.0.0.Beta2

  • Standardize source info for Cassandra connector DBZ-1408
  • Clarify presence of old values when not using REPLICA IDENTITY FULL DBZ-1518
  • Propagate replicator exception so failure reason is available from Connect DBZ-1583
  • Envelope methods should accept Instant instead of long for "ts" parameter DBZ-1607

Breaking changes since 1.0.0.Beta2

  • Rename drop_on_stop to drop.on.stop DBZ-1595

Fixes since 1.0.0.Beta2

  • Debezium Erroneously Reporting No Tables to Capture DBZ-1519
  • Debezium Oracle connector attempting to analyze tables DBZ-1569
  • Null values in "before" are populated with "__debezium_unavailable_value" DBZ-1570
  • Postgresql 11+ pgoutput plugin error with truncate DBZ-1576
  • Regression of postgres Connector times out in schema discovery for DBs with many tables DBZ-1579
  • The ts_ms value is not correct during the snapshot processing DBZ-1588
  • LogInterceptor is not thread-safe DBZ-1590
  • Heartbeats are not generated for non-whitelisted tables DBZ-1592
  • Config tombstones.on.delete is missing from SQL Server Connector configDef DBZ-1593
  • AWS RDS Performance Insights screwed a little by non-closed statement in "SELECT COUNT(1) FROM pg_publication" DBZ-1596
  • Update Postgres documentation to use ts_ms instead of ts_usec DBZ-1610
  • Exception while trying snapshot schema of non-whitelisted table DBZ-1613

Other changes since 1.0.0.Beta2

  • Auto-format source code upon build DBZ-1392
  • Update documentation based on Technology Preview DBZ-1543
  • Reduce size of Postgres container images DBZ-1549
  • Debezium should not use SHARE UPDATE EXCLUSIVE MODE locks DBZ-1559
  • Allows tags to be passed to CI jobs DBZ-1578
  • Upgrade MongoDB driver to 3.11 DBZ-1597
  • Run formatter validation in Travis CI DBZ-1603
  • Place formatting rules into Maven module DBZ-1605
  • Upgrade to Kafka 2.3.1 DBZ-1612
  • Allow per-connector setting for schema/catalog precedence in TableId use DBZ-1555

1.0.0.Beta2

October 24th, 2019 Detailed release notes

New features since 1.0.0.Beta1

  • Update tooling image to use latest kafkacat DBZ-1522
  • Validate configured replication slot names DBZ-1525
  • Make password field to be hidden for MS SQL connector DBZ-1554
  • Raise a warning about growing backlog DBZ-1565
  • Support Postgres LTREE columns 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
  • MySQL Connector fails to parse DDL containing the keyword VISIBLE for index definitions DBZ-1534
  • MySQL connector fails to parse DDL - GRANT SESSION_VARIABLES_ADMIN... DBZ-1535
  • Mysql connector: The primary key cannot reference a non-existant column 'id' in table '***' DBZ-1560
  • Incorrect source struct's collection field when dot is present in collection name DBZ-1563
  • Transaction left open after db snapshot DBZ-1564

Other changes since 1.0.0.Beta1

  • Add Postgres 12 to testing matrix DBZ-1542
  • Update Katacoda learning experience DBZ-1548

1.0.0.Beta1

October 17th, 2019 Detailed release notes

New features since 0.10.0.Final

  • Provide alternative mapping for INTERVAL DBZ-1498
  • Ensure message keys have correct field order DBZ-1507
  • Image incorrect on Deploying Debezium on OpenShift DBZ-1545
  • Indicate table locking issues in log 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).

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). 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
  • Connector Postgres runs out of disk space DBZ-892
  • Debezium-MySQL Connector Fails while parsing AWS RDS internal events DBZ-1492
  • MongoDB ExtractNewDocumentState SMT blocks heartbeat messages DBZ-1513
  • pgoutput string decoding depends on JVM default charset DBZ-1532
  • Whitespaces not stripped from table.whitelist DBZ-1546

Other changes since 0.10.0.Final

  • Upgrade to latest JBoss Parent POM DBZ-675
  • CheckStyle: Flag missing whitespace DBZ-1341
  • Upgrade to the latest Checkstyle plugin DBZ-1355
  • CheckStyle: no code after closing braces DBZ-1391
  • Add "adopters" file DBZ-1460
  • Add Google Analytics to Antora-published pages DBZ-1526
  • Create 0.10 RPM for postgres-decoderbufs DBZ-1540
  • Postgres documentation fixes DBZ-1544

0.10.0.Final

October 2nd, 2019 Detailed release notes

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
  • ExtractNewRecordState access operation field before checking message format DBZ-1517

Other changes since 0.10.0.CR2

  • Go back to original PG 10 container image for testing DBZ-1504
  • Support delete propagation in end-to-end demo DBZ-1506
  • Update Unwrap/UnwrapMongoDB SMT demos to use latest Debezium and delete event support DBZ-1516

0.10.0.CR2

September 26th, 2019 Detailed release notes

New features since 0.10.0.CR1

  • Allow user to customize key for DB tables through configuration DBZ-1015
  • Replace Custom Schema with Pluggable Serializers via KC Schema in Cassandra Connector DBZ-1405
  • Porting insert fields from source struct feature to ExtractNewDocumentState SMT DBZ-1442
  • Add column_id column to metadata section in messages in Kafka topic DBZ-1483

Breaking changes since 0.10.0.CR1

  • Change type of MicroDuration to int64 DBZ-1497
  • Convey information about unchanged TOAST column values DBZ-1367

Fixes since 0.10.0.CR1

  • Cannot use Avro for fields with dash in name DBZ-1044
  • Detection of unsupported include-unchanged-toast parameter is failing DBZ-1399
  • Possible issue with Debezium not properly shutting down PG connections during Connect rebalance DBZ-1426
  • Common error when PG connector cannot connect is confusing DBZ-1427
  • Postgres connector does not honor publication.name configuration DBZ-1436
  • Wrong interrupt handling DBZ-1438
  • CREATE DATABASE and TABLE statements do not support DEFAULT charset DBZ-1470
  • Avoid NPE at runtime in EventRouter when incorrect configuration is given. DBZ-1495
  • java.time.format.DateTimeParseException: java.time.format.DateTimeParseException DBZ-1501

Other changes since 0.10.0.CR1

  • Publish container images to quay.io DBZ-1178
  • Document installation of DecoderBufs plug-in via RPM on Fedora DBZ-1286
  • Fix intermittendly failing Postgres tests DBZ-1383
  • Add MongoDB 4.2 to testing matrix DBZ-1389
  • Upgrade to latest Postgres driver DBZ-1462
  • Use old SMT name in 0.9 docs DBZ-1471
  • Speak of "primary" and "secondary" nodes in the Postgres docs DBZ-1472
  • PostgreSQL snapshot.mode connector option description should include 'exported' DBZ-1473
  • Update example tutorial to show using Avro configuration at connector level DBZ-1474
  • Upgrade protobuf to version 3.8.0 DBZ-1475
  • Logging can be confusing when using fallback replication stream methods DBZ-1479
  • Remove info on when an option was introduced from the docs DBZ-1493
  • Unstable Mysql connector Integration test (shouldProcessCreateUniqueIndex) DBZ-1500
  • Update PostgreSQL documentation DBZ-1503
  • DocumentTest#shouldCreateArrayFromValues() fails on Windows DBZ-1508

0.10.0.CR1

September 10th, 2019 Detailed release notes

New features since 0.10.0.Beta4

  • Replace YAML Dependency with Property File in Cassandra Connector DBZ-1406
  • Exported snapshots are supported by PostgreSQL 9.4+ DBZ-1440
  • Enhance Postgresql & Mysql Docker example images with some Spatial geometry DBZ-1459

Breaking changes since 0.10.0.Beta4

  • Upgrade ProtoBuf dependency DBZ-1390
  • Support Connect date/time precision DBZ-1419

Fixes since 0.10.0.Beta4

  • Date conversion broken if date more than 3000 year DBZ-949
  • Overflowed Timestamp in Postgres Connection DBZ-1205
  • Debezium does not expect a year larger than 9999 DBZ-1255
  • ExportedSnapshotter and InitialOnlySnapshotter should not always execute a snapshot. DBZ-1437
  • Source Fields Not Present on Delete Rewrite DBZ-1448
  • NPE raises when a new connector has nothing to commit DBZ-1457
  • MongoDB connector throws NPE on "op=n" DBZ-1464

Other changes since 0.10.0.Beta4

  • Engine does not stop on Exception DBZ-1431
  • Create "architecture" and "feature" pages DBZ-1458

0.10.0.Beta4

August 16th, 2019 Detailed release notes

New features since 0.10.0.Beta3

  • Implement a CDC connector for Apache Cassandra DBZ-607
  • Support "Exported Snapshots" feature for taking lockless snapshots with Postgres DBZ-1035
  • Snapshot Order of tables DBZ-1254
  • Add ability to insert fields from source struct in ExtractNewRecordState SMT DBZ-1395

Breaking changes since 0.10.0.Beta3

  • Unify handling of attributes in EventRouter SMT DBZ-1385

Fixes since 0.10.0.Beta3

  • Debezium for MySQL fails on GRANT DELETE ON (table) DBZ-1411
  • Debezium for MySQL tries to flush a table for a database not in the database whitelist DBZ-1414
  • Table scan is performed anyway even if snapshot.mode is set to initial_schema_only DBZ-1417
  • SMT ExtractNewDocumentState does not support Heartbeat events DBZ-1430
  • Postgres connector does not honor publication.name configuration DBZ-1436

Other changes since 0.10.0.Beta3

  • Issue with debezium embedded documentation DBZ-393
  • Refactor Postgres connector to be based on new framework classes DBZ-777
  • Don't obtain new connection each time when getting xmin position DBZ-1381
  • DockerHub: show container specific README files DBZ-1387
  • Remove unused dependencies from Cassandra connector DBZ-1424
  • Simplify custom engine name parsing grammar DBZ-1432

0.10.0.Beta3

July 23rd, 2019 Detailed release notes

New features since 0.10.0.Beta2

  • Handle tables without primary keys DBZ-916
  • Define exposed connector metrics in MySQL DBZ-1120
  • Set heartbeat interval for the binlog reader DBZ-1338
  • Outbox router should skip heartbeat messages by default DBZ-1388
  • Introduce number ofEventsInError metric DBZ-1222
  • Add option to skip table locks when snapshotting DBZ-1238
  • Explore built-in logical decoding added in Postgres 10 DBZ-766
  • Support deletion events in the outbox routing SMT DBZ-1320

Breaking changes since 0.10.0.Beta2

  • Improve heart beat emission for Postgres DBZ-1363

Fixes since 0.10.0.Beta2

  • Incorrect offset may be committed despite unparseable DDL statements DBZ-599
  • SavePoints are getting stored in history topic 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
  • When a MongoDB collection haven't had activity for a period of time an initial sync is triggered DBZ-1198
  • Restore compatibility with Kafka 1.x DBZ-1361
  • no viable alternative at input 'LOCK DEFAULT' DBZ-1376
  • NullPointer Exception on getReplicationSlotInfo for Postgres DBZ-1380
  • CHARSET is not supported for CAST function DBZ-1397
  • Aria engine is not known by Debezium parser DBZ-1398
  • Debezium does not get the first change after creating the replication slot in PostgreSQL DBZ-1400
  • Built-in database filter throws NPE DBZ-1409
  • Error processing RDS heartbeats DBZ-1410
  • PostgreSQL Connector generates false alarm for empty password DBZ-1379

Other changes since 0.10.0.Beta2

  • Developer Preview Documentation DBZ-1284
  • Expose metric for progress of DB history recovery DBZ-1356
  • Upgrade to Apache Kafka 2.3 DBZ-1358
  • Stabilize test executions on CI DBZ-1362
  • Handling tombstone emission option consistently DBZ-1365
  • Avoid creating unnecessary type metadata instances; only init once per column. DBZ-1366
  • Fix tests to run more reliably on Amazon RDS DBZ-1371

0.10.0.Beta2

June 27th, 2019 Detailed release notes

New features since 0.10.0.Beta1

  • Protect against invalid configuration DBZ-1340
  • Make emission of tombstone events configurable DBZ-835
  • Support HSTORE array types 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
  • Connector consumes huge amount of memory DBZ-1065
  • Exception when starting the connector on Kafka Broker 0.10.1.0 DBZ-1270
  • Raise warning when renaming table causes it to be captured or not captured any longer DBZ-1278
  • no viable alternative at input 'ALTER TABLE documents RENAME INDEX' DBZ-1329
  • MySQL DDL parser - issue with triggers and NEW DBZ-1331
  • MySQL DDL parser - issue with COLLATE in functions DBZ-1332
  • Setting "include.unknown.datatypes" to true works for streaming but not during snapshot DBZ-1335
  • PostgreSQL db with materialized view failing during snapshot DBZ-1345
  • Switch RecordsStreamProducer to use non-blocking stream call DBZ-1347
  • Can't parse create definition on the mysql connector DBZ-1348
  • String literal should support utf8mb3 charset DBZ-1349
  • NO_AUTO_CREATE_USER sql mode is not supported in MySQL 8 DBZ-1350
  • Incorrect assert for invalid timestamp check in MySQL 8 DBZ-1353

Other changes since 0.10.0.Beta1

  • Add to FAQ what to do on offset flush timeout DBZ-799
  • Update MongoDB driver to 3.10.1 DBZ-1333
  • Fix test for partitioned table snapshot DBZ-1342
  • Enable PostGIS for Alpine 9.6 DBZ-1351
  • Fix description for state of Snapshot DBZ-1346
  • Remove unused code for alternative topic selection strategy DBZ-1352

0.10.0.Beta1

June 11th, 2019 Detailed release notes

New features since 0.10.0.Alpha2

  • Issue a warning for filters not matching any table/database 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
  • PostGIS does not work in Alpine images DBZ-1307
  • Processing MongoDB document contains UNDEFINED type causes exception with MongoDB Unwrap SMT DBZ-1315
  • Partial zero date datetime/timestamp will fail snapshot DBZ-1318
  • Default value set null when modify a column from nullable to not null DBZ-1321
  • Out-of-order chunks don't initiate commitTime DBZ-1323
  • NullPointerException when receiving noop event DBZ-1317

Other changes since 0.10.0.Alpha2

  • Describe structure of SQL Server CDC events DBZ-1296
  • Upgrade to Apache Kafka 2.2.1 DBZ-1316

0.10.0.Alpha2

June 3rd, 2019 Detailed release notes

New features since 0.10.0.Alpha1

  • "source" block for MySQL schema change events should contain db and table names DBZ-871
  • Adhere to Dockerfile good practices DBZ-1279

Breaking changes since 0.10.0.Alpha1

  • Change snapshot source field into three state DBZ-1295

Fixes since 0.10.0.Alpha1

  • DDL that contains user are unparsable by antlr DBZ-1300
  • Only validate history topic name for affected connectors DBZ-1283

Other changes since 0.10.0.Alpha1

  • Upgrade ZooKeeper to 3.4.14 DBZ-1298
  • Upgrade Docker tooling image DBZ-1301
  • Upgrade Debezium Postgres Example image to 11 DBZ-1302
  • Create profile to build assemblies without drivers DBZ-1303
  • Modify release pipeline to use new Dockerfiles DBZ-1304
  • Add 3rd party licences DBZ-1306
  • Remove unused methods from ReplicationStream DBZ-1310
  • Replace Predicate with ColumnNameFilter DBZ-1092

0.10.0.Alpha1

May 28th, 2019 Detailed release notes

New features since 0.9.5.Final

  • Excessive warnings in log about column missing charset DBZ-844
  • Update JDBC (and Mongo) drivers to latest versions DBZ-1273
  • Support snapshot SELECT overrides for SQL Server connector DBZ-1224
  • Generate warning in logs if change table list is empty DBZ-1281

Breaking changes since 0.9.5.Final

  • Align field names in source info block across connectors DBZ-596
  • Find better name for unwrap SMT DBZ-677
  • SnapshotReader should honor database.history.store.only.monitored.tables.ddl DBZ-683
  • Remove legacy DDL parser DBZ-736
  • Add database, schema and table names to "source" section of records for Oracle and SQL Server DBZ-875
  • "source" block for MongoDB change events should contain collection names DBZ-1175
  • Make NumberOfEventsSkipped metric specific to MySQL DBZ-1209
  • Remove deprecated features and configuration options DBZ-1234
  • Make option names of outbox routing SMT more consistent DBZ-1289

Fixes since 0.9.5.Final

  • MySQL connection with client authentication does not work DBZ-1228
  • Unhandled exception prevents snapshot.mode : when_needed functioning DBZ-1244
  • MySQL connector stops working with a NullPointerException error DBZ-1246
  • CREATE INDEX can fail for non-monitored tables after connector restart DBZ-1264
  • Create a spec file for RPM for postgres protobuf plugin DBZ-1272
  • Last transaction events get duplicated on EmbeddedEngine MySQL connector restart DBZ-1276

Other changes since 0.9.5.Final

  • Clean up integration tests under integration-tests DBZ-263
  • Misleading description for column.mask.with.length.chars parameter DBZ-1290
  • Consolidate DDL parser tests DBZ-733
  • Document "database.ssl.mode" option DBZ-985
  • Synchronize MySQL grammar with upstream grammar DBZ-1127
  • Add FAQ entry about -XX:+UseStringDeduplication JVM flag DBZ-1139
  • Test and handle time 24:00:00 supported by PostgreSQL DBZ-1164
  • Define final record format for MySQL, Postgres, SQL Server and MongoDB DBZ-1235
  • Improve error reporting in case of misaligned schema and data DBZ-1257
  • Adding missing contributors to COPYRIGHT.txt DBZ-1259
  • Automate contributor check during release pipeline. DBZ-1282

0.9.5.Final

May 2nd, 2019 Detailed release notes

New features since 0.9.4.Final

  • Upgrade to Kafka 2.2.0 DBZ-1227
  • Ability to specify batch size during snapshot DBZ-1247
  • Postgresql ARRAY support DBZ-1076
  • Add support macaddr and macaddr8 PostgreSQL column types 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
  • Escape sequence handling needs to be unified DBZ-481
  • Postgres Connector times out in schema discovery for DBs with many tables DBZ-1214
  • Oracle connector: JDBC transaction can only capture single DML record DBZ-1223
  • Enable enumeration options to contain escaped characters or commas. DBZ-1226
  • Antlr parser fails on column named with MODE keyword DBZ-1233
  • Lost precision for timestamp with timezone DBZ-1236
  • NullpointerException due to optional value for commitTime DBZ-1241
  • Default value for datetime(0) is incorrectly handled DBZ-1243
  • Postgres connector failing because empty state data is being stored in offsets topic DBZ-1245
  • Default value for Bit does not work for larger values DBZ-1249
  • Microsecond precision is lost when reading timetz data from Postgres. DBZ-1260

Other changes since 0.9.4.Final

  • Zookeeper image documentation does not describe txns mountpoint DBZ-1231
  • Parse enum and set options with Antlr DBZ-739

0.9.4.Final

April 11th, 2019 Detailed release notes

New features since 0.9.3.Final

  • Add MySQL Connector metric to expose "number of filtered events" DBZ-1206
  • Support TLS 1.2 for MySQL DBZ-1208
  • Create new MysqlConnector metric exposing if the connector is tracking offsets using GTIDs or not. DBZ-1221
  • Add support for columns of type INET 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
  • PosgreSQL DecoderBufs crash when working with geometries in "public" schema DBZ-1144
  • [postgres] differing logic between snapsnot and streams for create record DBZ-1163
  • Error while deserializing binlog event DBZ-1191
  • MySQL connector throw an exception when captured invalid datetime DBZ-1194
  • Error when alter Enum column with CHARACTER SET DBZ-1203
  • Mysql: Getting ERROR Failed due to error: connect.errors.ConnectException: For input string: "false" DBZ-1204
  • MySQL connection timeout after bootstrapping a new table DBZ-1207
  • SLF4J usage issues DBZ-1212
  • JDBC Connection Not Closed in MySQL Connector Snapshot Reader DBZ-1218
  • Support FLOAT(p) column definition style DBZ-1220

Other changes since 0.9.3.Final

  • Add WhitespaceAfter check to Checkstyle DBZ-362
  • Document RDS Postgres wal_level behavior DBZ-1219

0.9.3.Final

March 25th, 2019 Detailed release notes

New features since 0.9.2.Final

  • Support Outbox SMT as part of Debezium core DBZ-1169
  • Add support for partial recovery from lost slot in postgres 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
  • HStores fail to Snapshot properly DBZ-1162
  • NullPointerException When there are multiple tables in different schemas in the whitelist DBZ-1166
  • Cannot set offset.flush.interval.ms via docker entrypoint DBZ-1167
  • Missing Oracle OCI library is not reported as error DBZ-1170
  • RecordsStreamProducer forgets to convert commitTime from nanoseconds to microseconds DBZ-1174
  • MongoDB Connector doesn't fail on invalid hosts configuration DBZ-1177
  • Handle NPE errors when trying to create history topic against confluent cloud DBZ-1179
  • The Postgres wal2json streaming and non-streaming decoders do not process empty events DBZ-1181
  • Can't continue after snapshot is done DBZ-1184
  • ParsingException for SERIAL keyword DBZ-1185
  • STATS_SAMPLE_PAGES config cannot be parsed DBZ-1186
  • MySQL Connector generates false alarm for empty password DBZ-1188

Other changes since 0.9.2.Final

  • Ensure no brace-less if() blocks are used in the code base DBZ-1039
  • Align Oracle DDL parser code to use the same structure as MySQL DBZ-1192

0.9.2.Final

February 22nd, 2019 Detailed release notes

New features since 0.9.1.Final

  • Add snapshotting mode NEVER for MongoDB connector DBZ-867
  • Allow passing of arbitrary parameters when replication slot is started 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
  • connect binds only to hostname interface DBZ-1108
  • Connector fails to connect to binlog on connectors rebalance, throws ServerException DBZ-1132
  • Fail to parse MySQL TIME with values bigger than 23:59:59.999999 DBZ-1137
  • Test dependencies shouldn't be part of the SQL Server connector archive DBZ-1138
  • Emit correctly-typed fallback values for replica identity DEFAULT DBZ-1141
  • Unexpected exception while streaming changes from row with unchanged toast DBZ-1146
  • SQL syntax error near '"gtid_purged"' DBZ-1147
  • Postgres delete operations throwing DataException DBZ-1149
  • Antlr parser fails on column names that are keywords DBZ-1150
  • SqlServerConnector doesn't work with table names with "special characters" DBZ-1153

Other changes since 0.9.1.Final

  • Describe topic-level settings to ensure event consumption when log compaction is enabled DBZ-1136
  • Upgrade binlog client to 0.19.0 DBZ-1140
  • Upgrade kafkacat to 1.4.0-RC1 DBZ-1148
  • Upgrade Avro connector version to 5.1.2 DBZ-1156
  • Upgrade to Kafka 2.1.1 DBZ-1157

0.9.1.Final

February 13th, 2019 Detailed release notes

New features since 0.9.0.Final

  • Provide new container image with tooling for examples and demos 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
  • Primary key changes cause UnsupportedOperationException DBZ-997
  • java.lang.IllegalArgumentException: timeout value is negative DBZ-1019
  • Connector consumes huge amount of memory DBZ-1065
  • Strings.join() doesn't apply conversation for first element DBZ-1112
  • NPE if database history filename has no parent folder DBZ-1122
  • Generated columns not supported by DDL parser DBZ-1123
  • Advancing LSN in the first iteration - possible data loss DBZ-1128
  • Incorrect LSN comparison can cause out of order processing DBZ-1131

Other changes since 0.9.0.Final

  • io.debezium.connector.postgresql.PostgisGeometry shouldn't use DatatypeConverter DBZ-962
  • Schema change events should be of type ALTER when table is modified DBZ-1121
  • Wal2json ISODateTimeFormatTest fails with a locale other than Locale.ENGLISH DBZ-1126

Known issues

A potential race condition was identified in upstream library for MySQL's binary log processing. The problem exhibits as the issue 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

New features since 0.9.0.CR1

  • Expose more useful metrics and improve Grafana dashboard 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
  • MySqlDdlParser does not support adding multiple partitions in a single ALTER TABLE ... ADD PARTITION statement DBZ-1113
  • Debezium fails to take a lock during snapshot DBZ-1115
  • Data from Postgres partitioned table written to wrong topic during snapshot DBZ-1118

Other changes since 0.9.0.CR1

  • Clarify whether DDL parser is actually needed for SQL Server connector DBZ-1096
  • Add design description to SqlServerStreamingChangeEventSource DBZ-1097
  • Put out message about missing LSN at WARN level DBZ-1116

0.9.0.CR1

January 28th, 2019 Detailed release notes

New features since 0.9.0.Beta2

  • Snapshot isolation level overhaul DBZ-947
  • Kafka docker image - support for topic cleanup policy DBZ-1038
  • Optimize sys.fn_cdc_map_lsn_to_time() calls DBZ-1078
  • Fallback to restart_lsn if confirmed_flush_lsn is not found DBZ-1081
  • table.whitelist option update for an existing connector doesn't work DBZ-175
  • EmbeddedEngine should allow for more flexible record consumption DBZ-1080
  • Client-side column blacklisting in SQL Server connector DBZ-1067
  • column.propagate.source.type missing scale DBZ-1073

Breaking changes since 0.9.0.Beta2

SQL Server connector has re-worked semantics (DBZ-1101) of snapshot modes.
SQL Server connector also adds a new field to offsets in the streaming mode (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), superfluous database name has been dropped.

Fixes since 0.9.0.Beta2

  • ArrayIndexOutOfBoundsException when a column is deleted (Postgres) DBZ-996
  • Messages from tables without PK and with REPLICA IDENTITY FULL DBZ-1029
  • Inconsistent schema name in streaming and snapshotting phase DBZ-1051
  • "watch-topic" and "create-topic" commands fail DBZ-1057
  • Antlr Exception: mismatched input '.' expecting {, '--'} DBZ-1059
  • MySQL JDBC Context sets the wrong truststore password DBZ-1062
  • Unsigned smallint column in mysql failing due to out of range error DBZ-1063
  • NULL Values are replaced by default values even in NULLABLE fields DBZ-1064
  • Uninformative "Found previous offset" log DBZ-1066
  • SQL Server connector does not persist LSNs in Kafka DBZ-1069
  • [debezium] ERROR: option "include-unchanged-toast" = "0" is unknown DBZ-1083
  • Debezium fails when consuming table without primary key with turned on topic routing DBZ-1086
  • Wrong message key and event used when primary key is updated DBZ-1088
  • Connect schema name is wrong for SQL Server DBZ-1089
  • Incorrect LSN tracking - possible data loss DBZ-1090
  • Race condition in EmbeddedEngine shutdown DBZ-1103

Other changes since 0.9.0.Beta2

  • Intermittent failures in RecordsStreamProducerIT#shouldPropagateSourceColumnTypeToSchemaParameter() DBZ-781
  • Assert MongoDB supported versions DBZ-988
  • Describe how to do DDL changes for SQL Server DBZ-993
  • Verify version of wal2json on RDS DBZ-1056
  • Move SQL Server connector to main repo DBZ-1084
  • Don't enqueue further records when connector is stopping DBZ-1099
  • Race condition in SQLServer tests during snapshot phase DBZ-1101
  • Remove columnNames field from TableImpl DBZ-1105
  • column.propagate.source.type missing scale DBZ-387
  • write catch-up binlog reader DBZ-387
  • changes to Snapshot and Binlog readers to allow for concurrent/partial running DBZ-387

0.9.0.Beta2

December 19th, 2018 Detailed release notes

New features since 0.9.0.Beta1

  • Add support for Oracle 11g DBZ-954
  • UnwrapFromMongoDbEnvelope refactor DBZ-1020
  • Add option for dropping deletes and tombstone events to MongoDB struct recreation SMT DBZ-563
  • Expose "snapshot.delay.ms" option for all connectors DBZ-966
  • Convey original operation type when using flattening SMTs DBZ-971
  • Provide last event and captured tables in metrics DBZ-978
  • Skip MySQL BinLog Event in case of Invalid Cell Values 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
  • UnwrapFromMongoDbEnvelope fails when encountering $unset operator DBZ-612
  • "no known snapshots" error when DBs rows are large DBZ-842
  • MongoDB connector stops processing oplog events after encountering "new primary" event DBZ-848
  • MySQL active-passive: brief data loss on failover when Debezium encounters new GTID channel DBZ-923
  • ConnectException: Only REPEATABLE READ isolation level is supported for START TRANSACTION WITH CONSISTENT SNAPSHOT in RocksDB Storage Engine DBZ-960
  • ConnectException during ALTER TABLE for non-whitelisted table DBZ-977
  • UnwrapFromMongoDbEnvelope fails when encountering full updates DBZ-987
  • UnwrapFromMongoDbEnvelope fails when encountering Tombstone messages DBZ-989
  • Postgres schema changes detection (not-null constraint) DBZ-1000
  • NPE in SqlServerConnectorTask#cleanupResources() if connector failed to start DBZ-1002
  • Explicitly initialize history topic in HistorizedRelationalDatabaseSchema DBZ-1003
  • BinlogReader ignores GTIDs for empty database DBZ-1005
  • NPE in MySqlConnectorTask.stop() DBZ-1006
  • The name of captured but not whitelisted table is not logged DBZ-1007
  • GTID set is not properly initialized after DB failover DBZ-1008
  • Postgres Connector fails on none nullable MACADDR field during initial snapshot DBZ-1009
  • Connector crashes with java.lang.NullPointerException when using multiple sinks to consume the messages DBZ-1017
  • Postgres connector fails upon event of recently deleted table DBZ-1021
  • ORA-46385: DML and DDL operations are not allowed on table "AUDSYS"."AUD$UNIFIED" DBZ-1023
  • Postgres plugin does not signal the end of snapshot properly DBZ-1024
  • MySQL Antlr runtime.NoViableAltException DBZ-1028
  • Debezium 0.8.2 and 0.8.3.Final Not Available on Confluent Hub DBZ-1030
  • Snapshot of tables with reserved names fails DBZ-1031
  • UnwrapFromMongoDbEnvelope doesn't support operation header on tombstone messages DBZ-1032
  • Mysql binlog reader lost data if restart task when last binlog event is QUERY event. DBZ-1033
  • The same capture instance name is logged twice DBZ-1047

Other changes since 0.9.0.Beta1

  • MySQL 8 compatibility DBZ-688
  • Don't hard code list of supported MySQL storage engines in Antlr grammar DBZ-992
  • Provide updated KSQL example DBZ-999
  • Update to Kafka 2.1 DBZ-1001
  • Skipt Antlr tests when tests are skipped DBZ-1004
  • Fix expected records counts in MySQL tests DBZ-1016
  • Cannot run tests against Kafka 1.x DBZ-1037
  • Configure MySQL Matrix testing job to test with and without GTID DBZ-1050

0.9.0.Beta1

November 20th, 2018 Detailed release notes

New features since 0.9.0.Alpha2

  • Add STATUS_STORAGE_TOPIC environment variable to container images DBZ-893
  • Support Postgres 11 in Decoderbufs DBZ-955
  • Define the data directory where tests are storing their data DBZ-963
  • Upgrade Kafka to 2.0.1 DBZ-979
  • Implement unified metrics across connectors DBZ-776
  • Initial snapshot using snapshot isolation level DBZ-941
  • Add decimal.handling.mode for SQLServer Configuration DBZ-953
  • Support pass-through of "database." properties to JDBC driver DBZ-964
  • Handle changes of table definitions and tables created while streaming DBZ-812

Breaking changes since 0.9.0.Alpha2

MySQL Connector now uses Antlr parser as the default.

Fixes since 0.9.0.Alpha2

  • Error while parsing JSON column type for MySQL DBZ-935
  • wal2json CITEXT columns set to empty strings DBZ-937
  • Base docker image is deprecated DBZ-939
  • Mysql connector failed to parse add partition statement DBZ-959
  • PostgreSQL replication slots not updated in transactions DBZ-965
  • wal2json_streaming decoder does not provide the right plugin name DBZ-970
  • Create topics command doesn't work in Kafka docker image DBZ-976
  • Antlr parser: support quoted engine names in DDL DBZ-990

Other changes since 0.9.0.Alpha2

  • Switch to Antlr-based parser implementation by default DBZ-757
  • Support RENAME column syntax from MySQL 8.0 DBZ-780
  • Fix documentation of 'array.encoding' option DBZ-925
  • Support MongoDB 4.0 DBZ-974

0.9.0.Alpha2

October 4th, 2018 Detailed release notes

New features since 0.9.0.Alpha1

  • Build Alpine Linux versions of the PostgreSQL containers DBZ-705
  • Refactor methods to read MySQL sytem variables DBZ-849
  • Correct param name for excludeColumns(String fullyQualifiedTableNames) DBZ-854
  • Make BinlogReader#informAboutUnknownTableIfRequired() log with tableId DBZ-855
  • MySQL identifier with dot or space could not be parsed DBZ-878
  • Use postgres:10 instead of postgres:10.0 as base docker image DBZ-929
  • Support temporary replication slots with Postgres >= 10 DBZ-934
  • Support white/black-listing Mongo fields DBZ-633
  • Postgres connector - add database, schema and table names to "source" section of records DBZ-866
  • Support renaming Mongo fields DBZ-881
  • use tcpKeepAlive by default DBZ-895
  • Hstore support in Postgresql-connector DBZ-898
  • Add connector type to source info DBZ-918

Breaking changes since 0.9.0.Alpha1

MySQL JDBC driver was upgraded to version 8.x. Kafka has been upgraded to version 2.0.0.

Fixes since 0.9.0.Alpha1

  • Global read lock not release when exception raised during snapshot DBZ-769
  • Abort loops in MongoPrimary#execute() if the connector is stopped DBZ-784
  • Initial synchronization is not interrupted DBZ-838
  • Kafka database history miscounting attempts even if there are more database history records to consume DBZ-853
  • Schema_only snapshot on idle server - offsets not stored after snapshot DBZ-859
  • DDL parsing in MySQL - default value of primary key is set to null DBZ-860
  • Antlr DDL parser exception for "create database ... CHARSET=..." DBZ-864
  • Error when MongoDB collection contains characters not compatible with kafka topic naming DBZ-865
  • AlterTableParserListener does not remove column definition listeners DBZ-869
  • MySQL parser does not recognize 0 as default value for date/time DBZ-870
  • Antlr parser ignores table whitelist filter DBZ-872
  • A new column might not be added with ALTER TABLE antlr parser DBZ-877
  • MySQLConnectorTask always reports it has the required Binlog file from MySQL DBZ-880
  • Execution of RecordsStreamProducer.closeConnections() is susceptible to race condition DBZ-887
  • Watch-topic command in docker image uses unsupported parameter DBZ-890
  • SQLServer should use only schema and table name in table naming DBZ-894
  • Prevent resending of duplicate change events after restart DBZ-897
  • PostgresConnection.initTypeRegistry() takes ~24 mins DBZ-899
  • java.time.format.DateTimeParseException: Text '1970-01-01 00:00:00' in mysql ALTER DBZ-901
  • org.antlr.v4.runtime.NoViableAltException on CREATE DEFINER=web@% PROCEDURE `... DBZ-903
  • MySQL default port is wrong in tutorial link DBZ-904
  • RecordsStreamProducer should report refresh of the schema due to different column count DBZ-907
  • MongoDbConnector returns obsolete config values during validation DBZ-908
  • Can't parse create definition on the mysql connector DBZ-910
  • RecordsStreamProducer#columnValues() does not take into account unchanged TOASTed columns, refreshing table schemas unnecessarily DBZ-911
  • Wrong type in timeout call for Central wait release DBZ-914
  • Exception while parsing table schema with invalid default value for timestamp field DBZ-927
  • Discard null fields in MongoDB event flattening SMT DBZ-928

Other changes since 0.9.0.Alpha1

  • Create Travis CI build for debezium-incubator repository DBZ-817
  • Cache prepared statements in JdbcConnection DBZ-819
  • Upgrade to Kafka 2.0.0 DBZ-858
  • Upgrad SQL Server image to CU9 GDR2 release DBZ-873
  • Speed-up Travis builds using parallel build DBZ-874
  • Add version format check into the release pipeline DBZ-884
  • Handle non-complete list of plugins DBZ-885
  • Parametrize wait time for Maven central sync DBZ-889
  • Assert non-empty release in release script DBZ-891
  • Upgrade Postgres driver to 42.2.5 DBZ-912
  • Upgrade MySQL JDBC driver to version 8.0.x DBZ-763
  • Upgrade MySQL binlog connector DBZ-764

0.8.3.Final

September 19th, 2018 Detailed release notes

New features since 0.8.2.Final

  • Ability to rewrite deleted records DBZ-857
  • use tcpKeepAlive by default 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
  • Abort loops in MongoPrimary#execute() if the connector is stopped DBZ-784
  • GtidModeEnabled method check gtid mode will always be true DBZ-820
  • Sensitive vars CONNECT_CONSUMER_SASL_JAAS_CONFIG and CONNECT_PRODUCER_SASL_JAAS_CONFIG are printed to the log DBZ-861
  • A new replication slot waits for all concurrent transactions to finish DBZ-862
  • Execution of RecordsStreamProducer.closeConnections() is susceptible to race condition DBZ-887
  • PostgresConnection.initTypeRegistry() takes ~24 mins DBZ-899
  • java.time.format.DateTimeParseException: Text '1970-01-01 00:00:00' in mysql ALTER DBZ-901
  • org.antlr.v4.runtime.NoViableAltException on CREATE DEFINER=web@% PROCEDURE `... DBZ-903
  • RecordsStreamProducer should report refresh of the schema due to different column count DBZ-907
  • MongoDbConnector returns obsolete config values during validation DBZ-908
  • Can't parse create definition on the mysql connector DBZ-910

Other changes since 0.8.2.Final

None

0.8.2.Final

August 30th, 2018 Detailed release notes

New features since 0.8.1.Final

  • Postgres connector - add database, schema and table names to "source" section of records 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
  • DDL parsing in MySQL - default value of primary key is set to null DBZ-860
  • Antlr DDL parser exception for "create database ... CHARSET=..." DBZ-864
  • Missing 0.8.1.Final tags for Zookeper and Kafka DBZ-868
  • AlterTableParserListener does not remove column definition listeners DBZ-869
  • MySQL parser does not recognize 0 as default value for date/time DBZ-870
  • A new column might not be added with ALTER TABLE antlr parser DBZ-877
  • MySQLConnectorTask always reports it has the required Binlog file from MySQL DBZ-880

Other changes since 0.8.1.Final

None

0.9.0.Alpha1

July 26th, 2018 Detailed release notes

New features since 0.8.1.Final

  • Ingest change data from SQL Server databases DBZ-40
  • Oracle connector implementation cont'd (initial snapshotting etc.) DBZ-716
  • Implement initial snapshotting for Oracle DBZ-720
  • Implement capturing of streamed changes for SQL ServerDBZ-787
  • Implement initial snapshotting for SQL Server DBZ-788
  • Emit NUMBER columns as Int32/Int64 if precision and scale allow DBZ-804
  • Support heartbeat messages for Oracle DBZ-815
  • Upgrade to Kafka 1.1.1 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 to ts_ms.

Fixes since 0.8.1.Final

  • Offset remains with "snapshot" set to true after completing schema only snapshot DBZ-803
  • Misleading timestamp field name DBZ-795
  • Adjust scale of decimal values to column's scale if present DBZ-818
  • Avoid NPE if commit is called before any offset is prepared DBZ-826

Other changes since 0.8.1.Final

  • Make DatabaseHistory set-up code re-usable DBZ-816
  • Use TableFilter contract instead of Predicate DBZ-793
  • Expand SourceInfo DBZ-719
  • Provide Maven module and Docker set-up DBZ-786
  • Avoid a few raw type warnings DBZ-801

0.8.1.Final

July 25th, 2018 Detailed release notes

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

Other changes since 0.8.0.Final

  • Extract common TopicSelector contract DBZ-627
  • Remove redundant Docker configuration DBZ-796

0.8.0.Final

July 11th, 2018 Detailed release notes

New features since 0.8.0.CR1

  • Expose more granular snapshot metrics via JMX DBZ-789

Breaking changes since 0.8.0.CR1

The topic naming for Oracle connector has changed 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
  • Don't use user with DBA permissions for Oracle connector tests DBZ-791

0.8.0.CR1

July 4th, 2018 Detailed release notes

New features since 0.8.0.Beta1

  • List collections only for databases accepted by database filter DBZ-713
  • Set DECIMAL precision as schema parameter DBZ-751
  • Stop MongoDB connector in case of authorization failure DBZ-782
  • Add the original data type of a column as schema parameter DBZ-644
  • Add support for columns of type CITEXT 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
  • Antlr parser raising exception for MySQL-valid ALTER TABLE DBZ-767
  • Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] DBZ-768
  • Antlr parser raising exception when parsing ENUM fields DBZ-770
  • Default value is not removed when changing a column's type DBZ-771

Other changes since 0.8.0.Beta1

  • Add documentation for supported geometry types DBZ-573
  • Benchmark Antlr parser DBZ-742
  • Document rules for "slot.name" property of the Postgres connector DBZ-746
  • Add table-of-contents sections to connector doc pages DBZ-752
  • Guard against simple bugs DBZ-759
  • Reduce test log output DBZ-765
  • Document wal2json plugin streaming mode DBZ-772
  • Extract common base class for relational DatabaseSchema implementations DBZ-773
  • Intermittent failures in ReplicationConnectionIT#shouldCloseConnectionOnInvalidSlotName() DBZ-778
  • Stabilize MongoDB integration test execution DBZ-779

0.8.0.Beta1

June 21st, 2018 Detailed release notes

New features since 0.7.5

  • Improve MySQL connector's handling of DML / DDL statements DBZ-252
  • Snapshots fail if launching multiple connectors at once DBZ-601
  • Data-inclusive snapshot without table locks (For RDS/Aurora) DBZ-639
  • Enable ordered snapshotting of data-Mysql Connector DBZ-666
  • Add a topic name configuration for the heartbeat messages DBZ-668
  • Mongo cursor cleanup DBZ-672
  • wal2json on RDS omits initial changes in streaming mode DBZ-679
  • Make PG_CONFIG configurable (postgres-decoderbufs) DBZ-686
  • Rebase Debezium to Kafka 1.1 and Confluent platform 4.1 DBZ-687
  • When MySQL has BINLOG_ROWS_QUERY_LOG_EVENTS enabled, include original SQL query in event. DBZ-706
  • Ingest change data from Oracle databases using XStream DBZ-20
  • Support defaults in MySQL DBZ-191
  • Run test suite against MongoDB 3.6 DBZ-529
  • Provide option to flatten structs in MongoDB unwrapping SMT DBZ-561
  • Allow configuration option for keep alive interval for Mysql binlog reader DBZ-670
  • Add support for databases with encodings other than UTF-8/16/32 DBZ-676
  • Provide option to specify statements to be executed upon connection creation (e.g. connection wait timeout) DBZ-693

Breaking changes since 0.7.5

Apache Kafka was upgraded to version 1.1 (DBZ-687). Please see upgrade documentation for correct upgrade procedure.

Topic names for heartbeat messages followed a hard-coded naming schema. The rules were made more flexible in 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.

The datatypes without timezone were not correctly offsetted for databases running in non-UTC timezones. This was fixed in DBZ-587 and DBZ-741. See MySQL and PostgreSQL connector documentation for further details.

Fixes since 0.7.5

  • Timestamps are not converted to UTC during snapshot DBZ-578
  • wal2json cannot handle transactions bigger than 1Gb DBZ-638
  • SMT - DataException with io.debezium.connector.mongodb.transforms.UnwrapFromMongoDbEnvelope DBZ-649
  • SchemaParseException when using UnwrapFromMongoDbEnvelope SMT with Avro format DBZ-650
  • Upgrade OpenShift intructions to Strimzi 0.2.0 DBZ-654
  • Mysql ddl parser cannot parse scientific format number in exponential notation default values DBZ-667
  • Close Kafka admin client after DB history topic has been created DBZ-669
  • Postgres DateTimeParseException DBZ-671
  • Transaction ID must be handled as long DBZ-673
  • PostgreSQL connector doesn't handle TIME(p) columns correctly with wal2json DBZ-681
  • Error on initial load for records with negative timestamp DBZ-694
  • Postgres Connector inconsistent handling of timestamp precision DBZ-696
  • Debezium is throwing exception when max OID in pg db is larger than max int DBZ-697
  • PostgresReplicationConnection doesn't close jdbc connection DBZ-699
  • Debezium is throwing exception when max typelem in pg db is larger than max int DBZ-701
  • Plaintext jaas configuration passwords logged out DBZ-702
  • Postgres TIME columns are always exported as nano-seconds, unlike documented DBZ-709
  • Incorrect options for PostgreSQL sslmode listed in documentation DBZ-711
  • Mongo Connector - doesn't redo initial sync after connector restart DBZ-712
  • NUMERIC column without scale value causes exception DBZ-727
  • Inconsistency in parameter names for database histy producer/consumer DBZ-728
  • MySQL DATETIME Value Incorrectly Snapshotted DBZ-741

Other changes since 0.7.5

  • Support incubator repo in release process DBZ-749
  • Upgrade Postgres Docker images to wal2json 1.0 DBZ-750
  • Provide Maven profile so that the MySQL module test suite can be run using old and new parser DBZ-734

0.7.5

March 20th, 2018 Detailed release notes

New features since 0.7.4

  • Keep SnapshotReaderMetrics bean registered after snapshot completed DBZ-640
  • Cache replaced topic names and shard ids in ByLogicalTableRouter SMT DBZ-655
  • Filter out useless commands from the history topic DBZ-661
  • Apache Kafka 1.0.1 updates 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. See our blogpost for more details.

Snapshot JMX metrics were removed after the snapshot was completed. This was changed in 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
  • MongoDB connector continues to try to connect to invalid host even after deletion DBZ-648
  • Streaming stopped due to JsonParseException DBZ-657
  • 'ALTER TABLE tbl_name ADD CONSTRAINT UNIQUE KEY key_name (colname)' throwing exception DBZ-660
  • Missing setting for the automatic history topic creation DBZ-663
  • EmbeddedEngine passes time of last commit to policy, not time since DBZ-665

Other changes since 0.7.4

  • "snapshot" attribute should be false instead of null for events based on the binlog DBZ-592
  • Describe limitations of wal2json version currently used on RDS DBZ-619

0.7.4

March 7th, 2018 Detailed release notes

New features since 0.7.3

  • Provide MySQL snapshot mode that does not require table locks DBZ-602
  • Add support for columns of type "bytea" DBZ-605
  • Add string as an option for decimal.handling.mode DBZ-611
  • Support CREATE TABLE statements with PARTITION ... ENGINE=InnoDB DBZ-641
  • Document VariableScaleDecimal in PG connector docs DBZ-631
  • Propagate schema validator by passing AvroValidator instance instead of Function<String, String> DBZ-626
  • Move MAX_QUEUE_SIZE, MAX_BATCH_SIZE and POLL_INTERVAL_MS to CommonConnectorConfig DBZ-628
  • Unify common start-up logic across connectors DBZ-630
  • Removing unused code from database history classes 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. PostgresSQL decoder plug-in now uses text to transfer decimal values insted of double - 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
  • Cannot Serialize NaN value(numeric field) in Postgres DBZ-606
  • Decimal datatype DDL issues DBZ-615
  • Avoid NPE if confirmed_flush_lsn is null DBZ-623
  • REAL column values are omitted if value is an exact integer DBZ-625
  • Fix intermittent error in BinlogReaderIT DBZ-629
  • Schema for NUMERIC and geo-spatial array columns shouldn't be optional by default DBZ-635
  • Fix typo in README of debezium/connect-base image DBZ-636
  • Avoid repeated creation of Envelope schema DBZ-620

0.7.3

February 14th, 2018 Detailed release notes

New features since 0.7.2

  • MySQL connector should automatically create database history topic DBZ-278
  • Change OpenShift instructions to use Strimzi DBZ-545
  • Create an internal namespace for configuration options not intended for general usage DBZ-576
  • Make ChainedReader immutable DBZ-583
  • Snapshots are not interruptable with the Postgres connector DBZ-586
  • Add optional field with Debezium version to "source" element of messages DBZ-593
  • Add the ability to control the strategy for committing offsets by the offset store DBZ-537
  • Create support for arrays of PostGIS types DBZ-571
  • Add option for controlling whether to produce tombstone records on DELETE operations DBZ-582
  • Add example for using the MongoDB event flattening SMT DBZ-567
  • Prefix the names of all threads spawned by Debezium with "debezium-" DBZ-587

Breaking changes since 0.7.2

A new namespace for parameters was created - 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.

Fixes and changes since 0.7.2

  • Force DBZ to commit regularly DBZ-220
  • Carry over SourceInfo.restartEventsToSkip to next binlog file handling cause binlog events are not written to kafka DBZ-572
  • Numeric arrays not handled correctly DBZ-577
  • Debezium skipping binlog events silently DBZ-588
  • Stop the connector if WALs to continue from aren't available DBZ-590
  • Producer thread of DB history topic leaks after connector shut-down DBZ-595
  • Integration tests should have completely isolated environment and configuration/setup files DBZ-300
  • MongoDB integration tests should have completely isolated environment and configuration/setup files DBZ-579
  • Extract a separate change event class to be re-used across connectors DBZ-580
  • Propagate producer errors to Kafka Connect in MongoDB connector DBZ-581
  • Shutdown thread pool used for MongoDB snaphots once it's not needed anymore DBZ-594
  • Refactor type and array handling for Postgres DBZ-609
  • Avoid unneccessary schema refreshs DBZ-616
  • Incorrect type retrieved by stream producer for column TIMESTAMP (0) WITH TIME ZONE DBZ-618

0.7.2

January 25th, 2018 Detailed release notes

New features since 0.7.1

  • As a Debezium user, I would like MySQL Connector to support 'Spatial' data types DBZ-208
  • Allow easy consumption of MongoDB CDC events by other connectors DBZ-409
  • New snapshotting mode for recovery of DB history topic DBZ-443
  • Add support for Postgres VARCHAR array columns DBZ-506
  • Unified Geometry type support DBZ-507
  • Add support for "snapshot.select.statement.overrides" option for Postgres DBZ-510
  • Make PostGIS optional in Postgres Docker images DBZ-526
  • Provide an option to only store DDL statements referring to captured tables in DB history topic DBZ-541
  • Add ToC to tutorial and make section captions linkable DBZ-369
  • Remove Zulu JDK images DBZ-449
  • Add example for sending CDC events to Elasticsearch DBZ-502
  • Adapt examples to MongoDB 3.6 DBZ-509
  • Backport add-ons definition from add-ons repo DBZ-520
  • Set up pull request build job for testing the PG connector with wal2json 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
  • Numbers after decimal point are different between source and destination DBZ-423
  • Fix support for date arrays DBZ-494
  • Changes in type contraints will not trigger new schema DBZ-504
  • Task is still running after connector is paused DBZ-516
  • NPE happened for PAUSED task DBZ-519
  • Possibility of commit LSN before record is consumed/notified DBZ-521
  • Snapshot fails when encountering null MySQL TIME fields DBZ-522
  • Debezium unable to parse DDLs in MySql with RESTRICT contstraint DBZ-524
  • DateTimeFormatter Exception in wal2json DBZ-525
  • Multiple partitions does not work in ALTER TABLE DBZ-530
  • Incorrect lookup in List in MySqlDdlParser.parseCreateView DBZ-534
  • Improve invalid DDL statement logging DBZ-538
  • Fix required protobuf version in protobuf decoder documentation DBZ-542
  • EmbeddedEngine strips settings required to use KafkaOffsetBackingStore DBZ-555
  • Handling of date arrays collides with handling of type changes via wal2json DBZ-558
  • ROLLBACK to savepoint cannot be parsed DBZ-411
  • Avoid usage of deprecated numeric types constructors DBZ-455
  • Don't add source and JavaDoc JARs to Kafka image DBZ-489

0.7.1

December 20th, 2017 Detailed release notes

New features since 0.7.0

  • Provide a wal2json plug-in mode enforcing RDS environment 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
  • AWS RDS Postgresql 9.6.5 not supporting "include-not-null" = "true" in connector setup DBZ-513
  • RecordsStreamProducerIT.shouldNotStartAfterStop can make subsequent test dependent DBZ-518

0.7.0

December 15th, 2017 Detailed release notes

New features since 0.6.2

  • PostgreSQL connector should work on Amazon RDS and be able to use the available plugin DBZ-256
  • Build Debezium against Kafka 1.0.0 DBZ-432
  • Build Debezium images with Kafka 1.0.0 DBZ-433
  • Protobuf message should contain type modifiers DBZ-485
  • Protobuf message should contain optional flags DBZ-486
  • Better support for large append-only tables by making the snapshotting process restartable DBZ-349
  • Support new wal2json type specifiers DBZ-453
  • Optionally return raw value for unsupported column types DBZ-498
  • Provide Postgres example image for 0.7 DBZ-382
  • Create an automated build for Postgres example image in Docker Hub DBZ-383
  • Move configuration of ProtoBuf code generation to Postgres module DBZ-416
  • Provide MongoDB example image for Debezium 0.7 DBZ-451
  • Upgrade to Confluent Platform 4.0 DBZ-492
  • Set up CI job for testing Postgres with new wal2json type identifiers DBZ-495
  • Change PostgreSQL connector to support multiple plugins DBZ-257
  • PostgreSQL connector should support the wal2json logical decoding plugin DBZ-258
  • Provide instructions for using Debezium on Minishift DBZ-364
  • Modify BinlogReader to process transactions via buffer DBZ-405
  • Modify BinlogReader to support transactions of unlimited size 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
  • Invalid value for HourOfDay ConnectException when the value of MySQL TIME filed is above 23:59:59 DBZ-342
  • Postgres connectors stops to work after concurrent schema changes and updates DBZ-379
  • Hardcoded schema version overrides schema registry version DBZ-466

Fixes and changes since 0.6.2

  • Data are read from the binlog and not written into Kafka DBZ-390
  • MySQL connector may not read database history to end DBZ-464
  • connect-base image advertises wrong port by default DBZ-467
  • INSERT statements being written to db history topic DBZ-469
  • MySQL Connector does not handle properly startup/shutdown DBZ-473
  • Cannot parse NOT NULL COLLATE in DDL DBZ-474
  • Failed to parse the sql statement of RENAME user DBZ-475
  • Exception when parsing enum field with escaped characters values DBZ-476
  • All to insert null value into numeric array columns DBZ-478
  • produceStrings method slow down on sending messages DBZ-479
  • Failing unit tests when run in EST timezone DBZ-491
  • PostgresConnector falls with RejectedExecutionException DBZ-501
  • Docker images cannot be re-built when a new version of ZooKeeper/Kafka is released DBZ-503
  • Insert ids as long instead of float for MongoDB example image DBZ-470
  • Port changes in 0.6 Docker files into 0.7 files DBZ-463
  • Add check to release process to make sure all issues are assigned to a component DBZ-468
  • Document requirement for database history topic to be not partitioned DBZ-482
  • Remove dead code from MySqlSchema DBZ-483
  • Remove redundant calls to pfree DBZ-496

0.6.2

November 15th, 2017 Detailed release notes

New features since 0.6.1

  • Log current position in MySQL binlog to simplify debugging DBZ-401
  • Support PostgreSQL 10 DBZ-424
  • Create a Docker image for PostgreSQL 10 DBZ-426
  • Add example for using Avro messages DBZ-430
  • Make postGIS dependency optional DBZ-445
  • Avro console-consumer example in docs DBZ-458
  • Docker micro version tags (e.g., 0.6.1) DBZ-418
  • Create a CI job for testing with PostgreSQL 10 DBZ-427
  • Upgrade dependencies in Docker images to match Kafka 0.11.0.1 DBZ-450

Breaking changes since 0.6.1

  • Timestamp field not handle time zone correctly 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
  • [Postgres] Interval column causes exception during handling of DELETE DBZ-259
  • The scope of the Kafka Connect dependency should be "provided" DBZ-285
  • KafkaCluster#withKafkaConfiguration() does not work DBZ-323
  • MySQL connector "initial_only" snapshot mode results in CPU spike from ConnectorTask polling DBZ-396
  • Allow to omit COLUMN word in ALTER TABLE MODIFY/ALTER/CHANGE DBZ-412
  • MySQL connector should handle stored procedure definitions DBZ-415
  • Support constraints without name in DDL statement DBZ-419
  • Short field not null throw an exception DBZ-422
  • ALTER TABLE cannot change default value of column DBZ-425
  • DDL containing text column with length specification cannot be parsed DBZ-428
  • Integer column with negative default value causes MySQL connector to crash DBZ-429
  • MySQL procedure parser handles strings and keywords as same tokens DBZ-437
  • Mongo initial sync misses records with initial.sync.max.threads > 1 DBZ-438
  • Can't parse DDL containing PRECISION clause without parameters DBZ-439
  • Task restart triggers MBean to register twice DBZ-447
  • Remove slowness in KafkaDatabaseHistoryTest DBZ-456

0.6.1

October 26th, 2017 Detailed release notes

New features since 0.6.0

  • Support for UNSIGNED BIGINT to not be treated as byte[] DBZ-363
  • Make Debezium build on Java 9 DBZ-227
  • Add a test for "PAGE_CHECKSUM" DDL option DBZ-336
  • Provide tutorial Docker Compose files for MongoDB and Postgres DBZ-361
  • Upgrade to latest Kafka 0.11.x DBZ-367
  • Prevent warning when building the plug-ins DBZ-370
  • Replace hard-coded version references with variables DBZ-371
  • Upgrade to latest version of mysql-binlog-connector-java DBZ-398
  • Create wal2json CI job DBZ-403
  • Travis jobs tests are failing due to Postgres 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
  • RecordsStreamProducer#streamChanges() can die on an exception without failing the connector DBZ-380
  • Encoding to JSON does not support all MongoDB types DBZ-385
  • MySQL connector does not filter out DROP TEMP TABLE statements from DB history topic DBZ-395
  • Binlog Reader is registering MXBean when using "initial_only" snapshot mode DBZ-402
  • A column named column, even when properly escaped, causes exception DBZ-408

0.6.0

September 21st, 2017 Detailed release notes

New features since 0.5.2

  • Use new Kafka 0.10 properties for listeners and advertised listeners DBZ-39
  • Add docker-compose handling for Debezium tutorial DBZ-127
  • Topic configuration requirements are not clearly documented DBZ-241
  • Upgrade Docker images to Kafka 0.11.0.0 DBZ-305
  • Add SMT implementation to convert CDC event structure to more traditional row state structure DBZ-226
  • Support SSL connection to Mongodb DBZ-343
  • Support DEC and FIXED type for mysql ddl parser 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

Fixes and changes since 0.5.2

  • MySQL snapshotter is not guaranteed to give a consistent snapshot DBZ-210
  • MySQL connector stops consuming data from binlog after server restart DBZ-219
  • Warnings and notifications from PostgreSQL are ignored by the connector DBZ-279
  • BigDecimal has mismatching scale value for given Decimal schema error. DBZ-318
  • Views in database stop PostgreSQL connector DBZ-319
  • Don't pass database history properties to the JDBC connection DBZ-333
  • Sanitize readings from database history topic DBZ-341
  • Support UNION for ALTER TABLE DBZ-346
  • Debezium fails to start when schema history topic contains unparseable SQL DBZ-347
  • JDBC Connection is not closed after schema refresh DBZ-356
  • MySQL integration tests should have completely isolated environment and configuration/setup files DBZ-304

0.5.2

August 17, 2017 Detailed release notes

New features since 0.5.1

  • Mongo Connector: Add "database.whitelist" and "database.blacklist" configuration options DBZ-302
  • Provide a Dockerfile to build images from latest released snapshot DBZ-320
  • Support decimal handling mode for Postgres DBZ-337
  • Enable and show usage of Avro converters DBZ-271
  • Keep TCP connection alive for Postgres DBZ-286
  • Support "PAGE_CHECKSUM=1" option for MySQL tables 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
  • NPE when processing null value in POINT column DBZ-284
  • Postgres Connector: error of mismatching scale value for Decimal and Numeric data types DBZ-287
  • Postgres connector fails with array columns DBZ-297
  • Postgres connector fails with quoted type names DBZ-298
  • LogicalTableRouter SMT uses wrong comparison for validation DBZ-326
  • LogicalTableRouter SMT has a broken key replacement validation DBZ-327
  • Pre-compile and simplify some regular expressions DBZ-311
  • JMX metrics for MySQL connector should be documented DBZ-293
  • PostgreSQL integration tests should have completely isolated environment and configuration/setup files DBZ-301
  • Move snapshot Dockerfile into separated directory DBZ-321
  • Cover ByLogicalTableRouter SMT in reference documentation DBZ-325
  • Add documentation for JDBC url pass-through properties DBZ-330

0.5.1

June 9, 2017 - Detailed release notes

New features since 0.5.0

  • MySQL Connector should support 'Point' data type DBZ-222
  • Support tstzrange column type on Postgres 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

Fixes and changes since 0.5.0

  • Control how Debezium connectors maps tables to topics for sharding and other use cases DBZ-121
  • MySqlConnector Table and Database recommenders cause timeouts on large instances DBZ-232
  • Option to disable SSL certificate validation for PostgreSQL DBZ-244
  • Let enum types implement EnumeratedValue DBZ-262
  • The MySQL connector is failing with the DDL statements. DBZ-198
  • Correct MongoDB build DBZ-213
  • MongoDB connector should handle new primary better DBZ-214
  • Validate that database.server.name and database.history.kafka.topic have different values DBZ-215
  • When restarting Kafka Connect, we get io.debezium.text.ParsingException DBZ-216
  • Postgres connector crash on a database managed by Django DBZ-223
  • MySQL Connector doesn't handle any value above '2147483647' for 'INT UNSIGNED' types DBZ-228
  • MySqlJdbcContext#userHasPrivileges() is broken for multiple privileges DBZ-229
  • Postgres Connector does not work when "sslmode" is "require" DBZ-238
  • Test PostgresConnectorIT.shouldSupportSSLParameters is incorrect DBZ-245
  • Recommender and default value broken for EnumeratedValue type DBZ-246
  • PG connector is CPU consuming DBZ-250
  • MySQL tests are interdependent DBZ-251
  • MySQL DDL parser fails on "ANALYZE TABLE" statement DBZ-253
  • Binary fields with trailing "00" are truncated DBZ-254
  • Enable Maven repository caching on Travis DBZ-274
  • Memory leak and excessive CPU usage when using materialized views DBZ-277
  • Postgres task should fail when connection to server is lost DBZ-281
  • Fix some wrong textual descriptions of default values DBZ-282
  • Apply consistent default value for Postgres port DBZ-237
  • Make Docker images run on OpenShift DBZ-240
  • Don't mention default value for "database.server.name" DBZ-243

0.5.0

March 27, 2017 - Detailed release notes

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

Fixes and changes since 0.4.1

This release includes the following fixes, changes, or improvements since the 0.4.1 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
  • MySQL connector handles 2-digit years in DATETIME, DATE, TIMESTAMP, and YEAR columns in the same way as MySQL. DBZ-205

0.4.1

March 17, 2017 - Detailed release notes

New features since 0.4.0

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 release:

  • MySQL connector now allows filtering production of DML events by GTIDs. DBZ-188
  • Support InnoDB savepoints. DBZ-196
  • Corrected MySQL DDL parser. DBZ-193 DBZ-198
  • Improved handling of MySQL connector's built-in tables. DBZ-194
  • MySQL connector properly handles invalid/blank enum literal values. DBZ-197
  • MySQL connector properly handles reserved names as column names. DBZ-200
  • MongoDB connector properly generates event keys based upon ObjectID for updates. DBZ-201

0.4.0

February 7, 2017 - Detailed release notes

New features since 0.3.6

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 release:

  • Update Kafka dependencies to 0.10.1.1. DBZ-173
  • Update MySQL binary log client library to 0.9.0. DBZ-186
  • MySQL should apply GTID filters to database history. DBZ-185
  • Add names of database and table to the MySQL event metadata. DBZ-184
  • Add the MySQL thread ID to the MySQL event metadata. DBZ-113
  • Corrects MySQL connector to properly handle timezone information for TIMESTAMP. DBZ-183
  • Correct MySQL DDL parser to handle CREATE TRIGGER command with DEFINER clauses. DBZ-176
  • Update MongoDB Java driver and MongoDB server versions. DBZ-187
  • MongoDB connector should restart incomplete initial sync. DBZ-182
  • MySQL and PostgreSQL connectors should load JDBC driver independently of DriverManager. DBZ-177
  • Upgrade MySQL binlog client library to support new binlog events added with MySQL 5.7. DBZ-174
  • EmbeddedEngine should log all errors. DBZ-178
  • PostgreSQL containers' generated Protobuf source moved to separate directory. DBZ-179

0.3.6

December 21, 2016 - Detailed release notes

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 release:

  • Deleting a Debezium connector in Kafka Connect no longer causes NPEs. DBZ-138
  • MongoDB connector properly connects to a sharded cluster and the primaries for each replica set. DBZ-170, DBZ-167
  • Stopping the MySQL connector while in the middle of a snapshot now cloasses all MySQL resources. DBZ-166
  • MySQL connector properly parses with ON UPDATE timestamp values. DBZ-169
  • MySQL connector ignores CREATE FUNCTION DDL statements. 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
  • 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
  • MySQL connector's snaphot process ignores "artificial" database names exposed by MySQL. DBZ-164
  • MySQL connector ignores XA statements appearing in the binlog. DBZ-168
  • MySQL connector no longer expects GTID set information on older MySQL versions. DBZ-161
  • Improved the EmbeddedEngine and fixed several issues. DBZ-156

0.3.5

November 9, 2016 - Detailed release notes

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

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

Additionally, this release includes the following fixes since the 0.3.4 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
  • 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
  • MySQL connector tests now take into account daylight savings time in the expected results. DBZ-148
  • MySQL connector now properly treats BINARY columns as binary values rather than string values. 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
  • MySQL connector now handles ENUM and SET literals with parentheses. DBZ-153

0.3.4

October 25, 2016 - Detailed release notes

New features since 0.3.3

  • MySQL connector has new SCHEMA_ONLY snapshot mode. DBZ-133
  • MySQL connector supports the MySQL JSON datatype. DBZ-126
  • MySQL connector metrics exposed via JMX. 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 release, and also includes the following fixes:

  • MySQL connector's ts_sec field now shows correct time from MySQL server events. DBZ-139

0.3.3

October 18, 2016 - Detailed release notes

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 release, and also includes the following fixes:

  • MySQL connector now works with MySQL 5.5. DBZ-115
  • MySQL connector now handles BIT(n) column values. DBZ-123
  • MySQL connector supports failing over based on subset of GTIDs. DBZ-129
  • MySQL connector processes GTIDs with line feeds and carriage returns. DBZ-135
  • MySQL connector has improved output of GTIDs and status when reading the binary log. DBZ-130, DBZ-131
  • MySQL connector properly handles multi-character ENUM and SET values. DBZ-132

0.3.2

September 26, 2016 - Detailed release notes

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 release, and also includes the following fixes:

  • MySQL connector now handles zero-value dates. DBZ-114
  • MySQL connector no longer prints out password-related configuration properties, though KAFKA-4171 for a similar issue with Kafka Connect. DBZ-122
  • MySQL connector no longer causes "Error registering AppInfo mbean" warning in Kafka Connect. DBZ-124
  • MySQL connector periodically outputs status when reading binlog. DBZ-116
  • MongoDB connector periodically outputs status when reading binlog. DBZ-117
  • MySQL connector correctly uses long for the server.id configuration property. DBZ-118
  • MySQL connector fails or warns when MySQL is not using row-level logging. DBZ-128

0.3.1

August 30, 2016 - Detailed release notes

New features

  • Added support for secure (encrypted) connections to MySQL. 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 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
  • Corrected how the MySQL connector parses some DDL statements. DBZ-106
  • Corrected the MySQL connector to handle MySQL server GTID sets with newline characters. DBZ-107, 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
  • Removed unused code and test case. DBZ-108
  • Ensure that the MySQL error code and SQLSTATE are included in exceptions reported by the connector. DBZ-109

0.3.0

August 16, 2016 - Detailed release notes

New features

  • New MongoDB connector supports capturing changes from a MongoDB replica set or a MongoDB sharded cluster. See the documentation for details. 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, 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
  • Removed several methods in the GtidSet class inside the MySQL connector. The class was introduced in 0.2. This change will only affect applications explicitly using the class (by reusing the MySQL connector JAR), and will not affect how the MySQL connector works. Changed in 0.2.2. DBZ-79
  • The source field within each MySQL change event now contains the binlog position of that event (rather than the next event). Events persisted by earlier versions of the connector are unaffected. This change may adversely clients that are directly using the position within the source field. Changed in 0.2.2. DBZ-76
  • Correted the names of the Avro-compliant Kafka Connect schemas generated by the MySQL connector for the before 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

Fixes since 0.2.0

  • MySQL snapshots records DDL statements as separate events on the schema change topic. DBZ-97
  • MySQL connector tolerates binlog filename missing from ROTATE events in certain situations. DBZ-95
  • Stream result set rows when taking snapshot of MySQL databases to prevent out of memory problems with very large databases. Fixed in 0.2.4. DBZ-94
  • Add more verbose logging statements to the MySQL connector to show progress and activity. Fixed in 0.2.4. DBZ-92
  • Corrected potential error during graceful MySQL connector shutdown. Fixed in 0.2.4. DBZ-103
  • The Kafka Connect schema names used in the MySQL connector's change events are now always Avro-compatible schema names DBZ-86
  • Corrected parsing errors when MySQL DDL statements are generated by Liquibase. Fixed in 0.2.3. DBZ-83
  • Corrected support of MySQL TINYINT and SMALLINT types. Fixed in 0.2.3. DBZ-84, DBZ-87
  • Corrected support of MySQL temporal types, including DATE, TIME, and TIMESTAMP. Fixed in 0.2.3. DBZ-85
  • Corrected support of MySQL ENUM and SET types. DBZ-100
  • Corrected call to MySQL SHOW MASTER STATUS so that it works on pre-5.7 versions of MySQL. Fixed in 0.2.3. DBZ-82
  • Correct how the MySQL connector records offsets with multi-row MySQL events so that, even if the connector experiences a non-graceful shutdown (i.e., crash) after committing the offset of some of the rows from such an event, upon restart the connector will resume with the remaining rows in that multi-row event. Previously, the connector might incorrectly restart at the next event. Fixed in 0.2.2. DBZ-73
  • Shutdown of the MySQL connector immediately after a snapshot completes (before another change event is reccorded) will now be properly marked as complete. Fixed in 0.2.2. DBZ-77
  • The MySQL connector's plugin archive now contains the MySQL JDBC driver JAR file required by the connector. Fixed in 0.2.1. DBZ-71

0.2.4

August 16, 2016 - Detailed release notes

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
  • Add more verbose logging statements to the MySQL connector to show progress and activity during snapshots. DBZ-92
  • Corrected potential error during graceful MySQL connector shutdown. DBZ-103

0.2.3

July 26, 2016 - Detailed release notes

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
  • Corrected support of MySQL TINYINT and SMALLINT types. DBZ-84, DBZ-87
  • Corrected support of MySQL temporal types, including DATE, TIME, and TIMESTAMP. DBZ-85
  • Corrected call to MySQL SHOW MASTER STATUS so that it works on pre-5.7 versions of MySQL. DBZ-82

0.2.2

June 22, 2016 - Detailed release notes

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
  • 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

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
  • 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

0.2.1

June 10, 2016 - Detailed release notes

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)

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)

0.2.0

June 8, 2016 - Detailed release notes

New features

  • MySQL connector supports high availability MySQL cluster topologies. See the documentation for details. (DBZ-37)
  • MySQL connector now by default starts by performing a consistent snapshot of the schema and contents of the upstream MySQL databases in its current state. See the documentation for details about how this works and how it impacts other database clients. (DBZ-31)
  • MySQL connector can be configured to exclude, truncate, or mask specific columns in events. (DBZ-29)
  • MySQL connector events can be serialized using the Confluent Avro converter or the JSON converter. Previously, only the JSON converter could be used. (DBZ-29, DBZ-63, DBZ-64)

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 for details. This envelope structure will likely be used by future connectors. (DBZ-50, DBZ-52, DBZ-45, DBZ-60)
  • MySQL connector handles deletion of a row by recording a delete event message whose value contains the state of the removed row (and other metadata), followed by a tombstone event message with a null value to signal Kafka's log compaction that all prior messages with the same key can be garbage collected. See the documentation for details. (DBZ-44)
  • Changed the format of events that the MySQL connector writes to its schema change topic, through which consumers can access events with the DDL statements applied to the database(s). The format change makes it possible for consumers to correlate these events with the data change events. (DBZ-43, DBZ-55)

Changes since 0.1

  • DDL parsing framework identifies table affected by statements via a new listener callback. (DBZ-38)
  • The database.binlog configuration property was required in version 0.1 of the MySQL connector, but in 0.2 it is no longer used because of the new snapshot feature. If provided, it will be quietly ignored. (DBZ-31)

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, DBZ-49, DBZ-57)
  • MySQL connector properly handles binary values that are hexadecimal strings (DBZ-61)

0.1

March 17, 2016 - Detailed release notes

New features

  • MySQL connector for ingesting change events from MySQL databases. (DBZ-1)
  • Kafka Connect plugin archive for MySQL connector. (DBZ-17)
  • Simple DDL parsing framework that can be extended and used by various connectors. (DBZ-1)
  • Framework for embedding a single Kafka Connect connector inside an application. (DBZ-8)