|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Debezium 3.5.0.Beta2 Released |
| 4 | +date: 2026-03-16 |
| 5 | +tags: [ releases, mongodb, mysql, mariadb, postgres, sqlserver, cassandra, oracle, db2, vitess, outbox, spanner, jdbc, informix, ibmi, cockroachdb ] |
| 6 | +author: ccranfor |
| 7 | +extraClasses: release-v2 |
| 8 | +--- |
| 9 | + |
| 10 | +We are excited to announce Debezium **3.5.0.Beta2** which brings Oracle 26ai compatibility, significantly faster LogMiner restart performance, new CockroachDB schema and heartbeat features, and more. |
| 11 | +Read on for the full details. |
| 12 | + |
| 13 | ++++<!--- more -->+++ |
| 14 | + |
| 15 | +[id="new-features-and-improvements"] |
| 16 | +== New features and improvements |
| 17 | + |
| 18 | +=== Debezium for Oracle |
| 19 | + |
| 20 | +==== Oracle 26ai compatibility |
| 21 | + |
| 22 | +We have tested Debezium with Oracle 23.26.0.0, and we're pleased to report that the connector is fully runtime compatible (https://github.com/debezium/dbz/issues/1649[debezium/dbz#1649]). |
| 23 | +If you are looking to upgrade your Oracle infrastructure to Oracle 26ai, you can use Debezium as long as you are not relying on any Oracle 26ai-specific features. |
| 24 | + |
| 25 | +[NOTE] |
| 26 | +==== |
| 27 | +New features such as BOOLEAN, Property Graphs, Vector data types, and more are not yet supported and will depend on their availability in Oracle LogMiner and XStream. |
| 28 | +==== |
| 29 | + |
| 30 | +==== Log mining performance improvements |
| 31 | + |
| 32 | +When Debezium is stopped, the database continues to write changes to its transaction logs. |
| 33 | +Depending on how long the connector remains offline, a substantial number of transaction logs may accumulate. |
| 34 | +Previously, when the connector restarted, it would append all available logs to the mining session, and depending on log size and volume, catching up could take several minutes or even hours. |
| 35 | + |
| 36 | +This is no longer an issue with Debezium 3.5+ using LogMiner. |
| 37 | +When a log mining session starts, the Oracle connector now computes the lower and upper mining boundaries and only appends the logs that fall within this range (https://github.com/debezium/dbz/issues/1279[debezium/dbz#1279]). |
| 38 | +With well-configured `log.mining.batch.size.*` properties, this significantly reduces the I/O overhead performed by LogMiner, allowing changes to be mined faster and processed more efficiently. |
| 39 | + |
| 40 | +This also benefits scenarios where the database experiences a high burst of activity and generates multiple transaction logs in a short period. |
| 41 | + |
| 42 | +=== Debezium for Cassandra |
| 43 | + |
| 44 | +==== JMX metric to track commit log size |
| 45 | + |
| 46 | +A new Cassandra streaming JMX metric, `CdcDirectoryTotalBytes`, is now available to track the total bytes of all files in the commit log directory (https://github.com/debezium/dbz/issues/1618[debezium/dbz#1618]). |
| 47 | + |
| 48 | +=== Debezium for CockroachDB |
| 49 | + |
| 50 | +==== Schema change support |
| 51 | + |
| 52 | +This release introduces schema change tracking, where the connector maintains a schema history and relational model just like other relational connectors (https://github.com/debezium/dbz/issues/1629[debezium/dbz#1629]). |
| 53 | +As tables are added, modified, or removed, Debezium now tracks those changes as part of its CDC implementation. |
| 54 | + |
| 55 | +==== Emit heartbeats based on database resolved timestamps |
| 56 | + |
| 57 | +Debezium uses heartbeats to handle idle periods with no activity, preventing stale offsets that can lead to issues such as offset commit lag, stale monitoring data, or unavailable offset positions on connector restart. |
| 58 | +CockroachDB handles this natively through the changefeed's resolved timestamp feature (https://github.com/debezium/dbz/issues/1631[debezium/dbz#1631]): |
| 59 | + |
| 60 | +[source,sql] |
| 61 | +---- |
| 62 | +CREATE CHANGEFEED FOR ... WITH RESOLVED = '10s'; |
| 63 | +---- |
| 64 | + |
| 65 | +A resolved timestamp means all changes up to that point have been emitted, which fundamentally acts as a heartbeat. |
| 66 | +To enable this, set `heartbeat.interval.ms` to a positive, non-zero value. |
| 67 | +When the connector observes these resolved timestamp events, rather than discarding them, it extracts the timestamp and constructs a standard Debezium heartbeat event with up-to-date offset details. |
| 68 | + |
| 69 | +=== Debezium Storage |
| 70 | + |
| 71 | +==== Sovereign cloud support |
| 72 | + |
| 73 | +The `AzureBlobSchemaHistory` implementation now supports sovereign clouds by configuring `azure.storage.account.blob.endpoint` to reference the appropriate sovereign endpoint (https://github.com/debezium/dbz/issues/1659[debezium/dbz#1659]). |
| 74 | +For example, use `+https://<account>.blob.core.usgovcloudapi.net+` for Azure Government. |
| 75 | +No additional configuration is necessary. |
| 76 | + |
| 77 | +[id="other-changes"] |
| 78 | +== Other changes |
| 79 | + |
| 80 | +* Pull actual default values into description of configuration properties [DBZ-283] https://github.com/debezium/dbz/issues/104[debezium/dbz#104] |
| 81 | +* Incorrect values exposed for TSTZRANGE and TSRANGE depending on timezone [DBZ-1888] https://github.com/debezium/dbz/issues/295[debezium/dbz#295] |
| 82 | +* Decoderbuf plugin connector ,When Error in exporting money type data [DBZ-2175] https://github.com/debezium/dbz/issues/325[debezium/dbz#325] |
| 83 | +* Mongo DB connector should properly validate if password and rights [DBZ-3126] https://github.com/debezium/dbz/issues/425[debezium/dbz#425] |
| 84 | +* Exception ORA-00310 with RAC and archive log only mode [DBZ-6013] https://github.com/debezium/dbz/issues/745[debezium/dbz#745] |
| 85 | +* Add a default value for OpenLineage openlineage.integration.job.description [DBZ-9421] https://github.com/debezium/dbz/issues/1084[debezium/dbz#1084] |
| 86 | +* Add connection validator for Redis [DBZ-9438] https://github.com/debezium/dbz/issues/1095[debezium/dbz#1095] |
| 87 | +* Debezium throws exception even when SQL user has read access [DBZ-9336] https://github.com/debezium/dbz/issues/1242[debezium/dbz#1242] |
| 88 | +* Postgres Connector fails to retrieve schema for new tables [DBZ-8668] https://github.com/debezium/dbz/issues/1329[debezium/dbz#1329] |
| 89 | +* DEBEZIUM_SIGNALS Warning: Select statement was not provided https://github.com/debezium/dbz/issues/1642[debezium/dbz#1642] |
| 90 | +* Unable to parse ROW ARCHIVAL DDL and corresponding DML with hidden ORA_ARCHIVE_STATE column https://github.com/debezium/dbz/issues/1650[debezium/dbz#1650] |
| 91 | +* InformixStreamingChangeEventSource can cause NullPointerException https://github.com/debezium/dbz/issues/1653[debezium/dbz#1653] |
| 92 | +* Add OpenTelemetry support to server Docker image https://github.com/debezium/dbz/issues/1660[debezium/dbz#1660] |
| 93 | +* Contributor check workflow is not working https://github.com/debezium/dbz/issues/1661[debezium/dbz#1661] |
| 94 | +* Improve CI / Jenkins Pipeline for Oracle 23 & 26 https://github.com/debezium/dbz/issues/1665[debezium/dbz#1665] |
| 95 | +* PostgreSQL pgvector sparsevec parsing fails on empty vectors (e.g., {}/5), incorrectly emitting null https://github.com/debezium/dbz/issues/1671[debezium/dbz#1671] |
| 96 | +* Unable to parse DML for CDC after initial snapshot on a table with ROW ARCHIVAL enabled https://github.com/debezium/dbz/issues/1676[debezium/dbz#1676] |
| 97 | +* Oracle OLR adapter: BINARY_FLOAT whole-number values converted to null https://github.com/debezium/dbz/issues/1679[debezium/dbz#1679] |
| 98 | +* Oracle OLR adapter: NUMBER values with >15 significant digits lose precision https://github.com/debezium/dbz/issues/1681[debezium/dbz#1681] |
| 99 | + |
| 100 | +== Summary |
| 101 | + |
| 102 | +In total, https://github.com/orgs/debezium/projects/5/views/6?query=sort%3Aupdated-desc+is%3Aopen&filterQuery=iteration%3A3.5.0.Beta2[41 issues] were resolved in Debezium 3.5.0.Beta2. |
| 103 | +The list of changes can also be found in our https://debezium.io/releases/3.5/release-notes#release-3.5.0-beta1[release notes]. |
| 104 | + |
| 105 | +A big thank you to all the contributors from the community who worked diligently on this release: |
| 106 | + + |
| 107 | +https://github.com/AlvarVG[Alvar Viana], |
| 108 | +https://github.com/AlvarVG[Alvar Viana Gomez], |
| 109 | +https://github.com/gmarav05[Aravind], |
| 110 | +https://github.com/arturalbov[Artur Albov], |
| 111 | +https://github.com/kebab-mai-haddi[Aviral Srivastava], |
| 112 | +https://github.com/tomflenner[backtrack5r3], |
| 113 | +https://github.com/Binayak490-cyber[Binayak Das], |
| 114 | +https://github.com/Naros[Chris Cranford], |
| 115 | +https://github.com/div-dev123[Divyansh Agrawal], |
| 116 | +https://github.com/d1vyanshu-kumar[divyanshu_Kumar], |
| 117 | +https://github.com/seanshi007[Guangnan Shi], |
| 118 | +https://github.com/jpechane[Jiri Pechanec], |
| 119 | +https://github.com/kartikangiras[Kartik Angiras], |
| 120 | +https://github.com/nrkljo[Lars M. Johansson], |
| 121 | +https://github.com/mly-zju[Lingyang Ma], |
| 122 | +https://github.com/mfvitale[Mario Fiore Vitale], |
| 123 | +https://github.com/KMohnishM[Mohnish], |
| 124 | +https://github.com/rk3rn3r[René Kerner], |
| 125 | +https://github.com/rophy[Rophy Tsai], |
| 126 | +https://github.com/shrsu[shrsu], |
| 127 | +https://github.com/siddhantcvdi[siddhantcvdi], |
| 128 | +https://github.com/vsantonastaso[Vincenzo Santonastaso], |
| 129 | +https://github.com/viragtripathi[viragtripathi], |
| 130 | +https://github.com/viragtripathi[Virag Tripathi], |
| 131 | +https://github.com/eisenschmidt[Yannick Eisenschmidt] |
0 commit comments