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]

Reply via email to