Skip to content

Commit 3c4723d

Browse files
committed
3.0.8.Final announcement
1 parent af3cee0 commit 3c4723d

File tree

2 files changed

+144
-1
lines changed

2 files changed

+144
-1
lines changed

_data/releases/3.0/3.0.8.Final.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ date: 2025-03-03
22
version: "3.0.8.Final"
33
stable: true
44
summary: Support for MariaDB SSL connections; Renamed `SparseVector` datatype; MySQL/MariaDB grmmar fixes; Oracle LogMiner adapter fixes
5-
#announcement_url:
5+
announcement_url: /blog/2025/03/03/debezium-3-0-8-final-released/
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
layout: post
3+
title: Debezium 3.0.8.Final Released
4+
date: 2025-03-03
5+
tags: [ releases, mongodb, mysql, mariadb, postgres, sqlserver, cassandra, oracle, db2, vitess, outbox, spanner, jdbc, informix, ibmi ]
6+
author: ccranfor
7+
---
8+
9+
While the team has been hard at work on Debezium 3.1, we're pleased to announce a new maintenance update for Debezium **3.0.8.Final**.
10+
11+
While our maintenance releases often focus primarily on stability improvements, we are happy to share that we've also included some new features in this maintenance release to improve the overall user experience.
12+
13+
+++<!-- more -->+++
14+
15+
[id="breaking-changes"]
16+
== Breaking changes
17+
18+
With any new major release of software, there is often several breaking changes; however, we generally prefer to avoid these with maintenance releases if possible.
19+
Unfortunately, Debezium **3.0.8.Final** is one of those exceptions where we have introduced some breaking changes.
20+
21+
=== Sparse vector logical type renamed
22+
23+
The PostgreSQL extension `vector` (aka pgvector) provides an implementation of a variety of vector data types, including one called `sparsevec`.
24+
A sparse vector is one that stores only the populated key/value entries within the vector, excluding those that aren't set to minimize the space used to represent the data set.
25+
26+
Debezium 3.0 introduced the `SparseVector` logical type named `io.debezium.data.SparseVector`.
27+
As we began to evaluate implementations for other relational databases, we determined that the logical name was insufficient when we began to implement other sparse vector types (https://issues.redhat.com/browse/DBZ-8585[DBZ-8585]).
28+
29+
With Debezium 3.1 and 3.0.8.Final, we have repackaged the `io.debezium.data.SparseVector` class from the PostgreSQL connector into Debezium's core package, we've also renamed the class to `SparseDoubleVector`, and changed the logical name to `io.debezium.data.SparseDoubleVector` to align with the class name changes.
30+
31+
[NOTE]
32+
====
33+
For those who may have been working with `SparseVector` logical types, you may need to adjust your code to recognize the new logical type name.
34+
====
35+
36+
=== Changes to schema history configuration defaults
37+
38+
The documentation for `schema.history.internal.store.only.captured.databases.ddl` provided an incorrect default value.
39+
While this is not a code-specific breaking change, you should take a moment and reevaluate whether your deployment's configuration depends on the different default value or not (https://issues.redhat.com/browse/DBZ-8558[DBZ-8558]).
40+
41+
=== Potential Vitess data loss
42+
43+
The Debezium for Vitess connector had a rare but critical data loss bug that has existed since it was first introduced five years ago.
44+
If a primary key update is the last operation in a transaction, records may be lost.
45+
This bug affects all prior versions.
46+
It is highly recommended that users perform an immediate update to 3.0.8.Final or 3.1.0.Alpha2 or later to remedy this potential data loss (https://issues.redhat.com/browse/DBZ-8594[DBZ-8594]).
47+
48+
=== Reselect column post processor behavior changed for Oracle
49+
50+
The `ReselectColumnsPostProcessor` behavior has changed and Oracle LOB columns will be reselected regardless of the `lob.enabled` configuration property's value.
51+
This change enables users who may not want to mine LOB columns while streaming to still populate the LOB column using the column reselection process as an alternative (https://issues.redhat.com/browse/DBZ-8653[DBZ-8653]).
52+
53+
[id="new-features-and-improvements"]
54+
== New features and improvements
55+
56+
THe upgrade to Debezium **3.0.8.Final** introduces some new features for several components.
57+
58+
=== SSL connectivity with MariaDB
59+
60+
Users may have found that SSL connectivity was not working in prior versions of Debezium when capturing changes from MariaDB.
61+
We are pleased to report that this has been fixed, and users should be able to use MariaDB with SSL connections (https://issues.redhat.com/browse/DBZ-8482[DBZ-8482]).
62+
63+
While the same configuration property, `database.ssl.mode` can be used, MariaDB uses different values to represent the negotiation steps taken between the driver and database.
64+
The following table outlines the MariaDB settings.
65+
66+
[cols="30%,70%"]
67+
|===
68+
|SSL Mode |Description / Purpose
69+
70+
|`disabled`
71+
|Specifies that the JDBC driver should not attempt to negotiate an SSL connection with the database server.
72+
If the database server requires a secure connection, the connection will be refused.
73+
74+
|`trust`
75+
|Specifies that the JDBC driver should use SSL/TLS for data encryption purposes, and that the certificate and hostname won't be verified.
76+
77+
|`verify-ca`
78+
|Works identify to the _trust_ mode, but also performs certificate verification, but does not verify the hostname.
79+
80+
|`verify-full`
81+
|Works just like `verify-ca`, but it also performs hostname verification.
82+
This is the standard behavior for TLS.
83+
84+
|===
85+
86+
[NOTE]
87+
====
88+
Debezium defaults to using `disabled` as the SSL mode.
89+
90+
MariaDB 11.4 or later defaults to using SSL connections, so you will need to set an appropriate `database.ssl.mode` or disable MariaDB's use of SSL connectivity.
91+
====
92+
93+
[id="other-changes"]
94+
== Other changes
95+
96+
The following are some noteworthy changes in **3.0.8.Final**:
97+
98+
* Align MySQL and MariaDB grammars with upstream versions (https://issues.redhat.com/browse/DBZ-8270[DBZ-8270])
99+
* JDBC sink connector doesn't delete rows from a postgres db table (https://issues.redhat.com/browse/DBZ-8287[DBZ-8287])
100+
* MariaDB adapter fails on an ALTER USER statement (https://issues.redhat.com/browse/DBZ-8436[DBZ-8436])
101+
* Expressions cause SQL parser exception in Percona SEQUENCE_TABLE function (https://issues.redhat.com/browse/DBZ-8559[DBZ-8559])
102+
* MongoDataConverter does not recognize nested empty array (https://issues.redhat.com/browse/DBZ-8572[DBZ-8572])
103+
* ORA-65040 occurs on log switches when log.mining.restart.connection is enabled and connection defaults to PDB rather than CDB$ROOT (https://issues.redhat.com/browse/DBZ-8577[DBZ-8577])
104+
* Reduced record buffer doesn't handle RECORD_VALUE with primary key fields (https://issues.redhat.com/browse/DBZ-8593[DBZ-8593])
105+
* Events for tables with generated columns fail when using hybrid mining strategy (https://issues.redhat.com/browse/DBZ-8597[DBZ-8597])
106+
* ANTLR DDL Parsing error (https://issues.redhat.com/browse/DBZ-8600[DBZ-8600])
107+
* Update Debezium Server and Operator to Quarkus 3.15.3 LTS (https://issues.redhat.com/browse/DBZ-8601[DBZ-8601])
108+
* Remove misleading log entry about undo change failure (https://issues.redhat.com/browse/DBZ-8645[DBZ-8645])
109+
* Oracle metric OldestScnAgeInMilliseconds does not account for database timezone (https://issues.redhat.com/browse/DBZ-8646[DBZ-8646])
110+
* Using RECORD_VALUE with a DELETE event causes NullPointerException (https://issues.redhat.com/browse/DBZ-8648[DBZ-8648])
111+
* Batch size calculation is incorrectly using min-batch-size (https://issues.redhat.com/browse/DBZ-8652[DBZ-8652])
112+
* Oracle performance drop when transaction contains many constraint violations (https://issues.redhat.com/browse/DBZ-8665[DBZ-8665])
113+
* Skip empty transactions with commit with redo thread equal to 0 (https://issues.redhat.com/browse/DBZ-8681[DBZ-8681])
114+
* DDL statement couldn't be parsed: GRANT SENSITIVE_VARIABLES_OBSERVER (https://issues.redhat.com/browse/DBZ-8685[DBZ-8685])
115+
* Column scale is reset when a column's type is not changed during an ALTER TABLE (https://issues.redhat.com/browse/DBZ-8700[DBZ-8700])
116+
* Alter table modify column fails when using DEFAULT ON NULL clause (https://issues.redhat.com/browse/DBZ-8720[DBZ-8720])
117+
* ExtractChangedRecordState SMT Now Working With Default Values (https://issues.redhat.com/browse/DBZ-8721[DBZ-8721])
118+
* Restart of Oracle RAC node leads to redo thread being inconsistent indefinitely (https://issues.redhat.com/browse/DBZ-8724[DBZ-8724])
119+
* Specifying archive.log.hours with non-zero value generates bad SQL (https://issues.redhat.com/browse/DBZ-8725[DBZ-8725])
120+
* debezium/connect docker image is not available on arm64 (https://issues.redhat.com/browse/DBZ-8728[DBZ-8728])
121+
* Unknown DDL ALTER INDEX <name> IGNORED (https://issues.redhat.com/browse/DBZ-8741[DBZ-8741])
122+
* Possibly broken schema.history.internal.skip.unparseable.ddl for MariaDB (https://issues.redhat.com/browse/DBZ-8745[DBZ-8745])
123+
* Oracle snapshot's source.ts does not account for database zone differences (https://issues.redhat.com/browse/DBZ-8749[DBZ-8749])
124+
125+
In total, https://issues.redhat.com/issues/?jql=project%20%3D%20DBZ%20and%20fixVersion%20%20in%20(3.0.8.Final)[35 issues] were resolved in Debezium 3.0.8.Final.
126+
The list of changes can also be found in our https://debezium.io/releases/3.0[release notes].
127+
128+
A big thank you to all the contributors from the community who worked diligently on this release:
129+
https://github.com/AlvarVG[Alvar Viana],
130+
https://github.com/ani-sha[Anisha Mohanty],
131+
https://github.com/Naros[Chris Cranford],
132+
https://github.com/gaurav7261[Gaurav Miglani],
133+
https://github.com/HenkvanDyk[Henk van Dyk],
134+
https://github.com/jcechace[Jakub Cechacek],
135+
https://github.com/jpechane[Jiri Pechanec],
136+
https://github.com/kgalieva[Katerina Galieva],
137+
https://github.com/roldanbob[Robert Roldan],
138+
https://github.com/ssiroshtsignant[Sergey Seroshtan],
139+
https://github.com/twthorn[Thomas Thornton],
140+
https://github.com/vjuranek[Vojtech Juranek],
141+
https://github.com/eisenschmidt[Yannick Eisenschmidt],
142+
https://github.com/GOODBOY008[Zhongqiang Gong], and
143+
https://github.com/overwatcheddude[حمود سمبول]!

0 commit comments

Comments
 (0)