davsclaus opened a new pull request, #29225: URL: https://github.com/apache/camel/pull/29225
[CAMEL-26627](https://issues.apache.org/jira/browse/CAMEL-26627) Upgrades Debezium from 3.6.3.Final to 3.7.0.Final. This replaces Dependabot's #27366, which only bumps the version and does not compile. ### Changes - **Version bump**: `debezium-version` 3.7.0.Final. It is built against Kafka 4.3.1, the same as `kafka-version` on main. - **Regenerated** the six `camel-debezium-*` components, their catalog JSON, and the endpoint and component DSL builders. No option is removed. The new 3.7 options are added, for example `notificationHttp*`, `skipMessagesWithoutChange`, `fieldNameAdjustmentMode` and `eventConvertingFailureHandlingMode` on all connectors, and the `updateCaptureTablePrune*` options on db2. - **`ddlParserType` is kept on `debezium-mysql`.** Debezium 3.7 dropped `ddl.parser.type` from the MySQL connector's config definition, although `MySqlConnectorConfig` still declares and reads it. This happened in the `group()` API refactor (debezium/debezium commit 742f6c0f79), and upstream main still lacks it. Because Camel generates its options from `connector.config()`, the option would have disappeared without anyone deciding to remove it, and that broke compilation of the committed configurers in #27366. `camel-debezium-maven-plugin` gets a new `additionalFields` setting: names of `Field` constants of the config class to add when the connector does not publish them. `camel-debezium-mysql` uses it for `DDL_PARSER_TYPE`. If a later Debezium release publishes the field again, it is not added twice. - **Upgrade guide (4.24)**: a signed MySQL `TINYINT` is now a `Byte` (Kafka `INT8`) instead of a `Short` (debezium/dbz#2235, the only 3.7 breaking change that affects Camel users). ### Testing - `camel-debezium-maven-plugin`: 34 tests, including new tests for an additional field and for an unknown field name. - `components/camel-debezium`: all unit tests pass. - Manual end-to-end check: `camel run` with a `debezium-mysql` route against MySQL 8.4 in a container, with `ddlParserType=legacy`. The connector config dump shows `ddl.parser.type = legacy`, and a row with a signed and an unsigned `TINYINT` arrived as `s=-5 (Byte) u=200 (Short)`. Not changed here: the `debezium-mysql` pom overrides the obsolete `database.history` field, so `schemaHistoryInternal` still defaults to `KafkaSchemaHistory`, as it does on main. _Claude Code on behalf of Claus Ibsen (davsclaus)_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
