davsclaus opened a new pull request, #27907: URL: https://github.com/apache/camel/pull/27907
## Summary Upgrades `dev.toonformat:jtoon` from 2.0.5 to 2.0.7, with the source changes the upgrade needs. This supersedes the Dependabot PR #27890, where @apupier started the `lengthMarker` removal. This PR also removes the option from the model and the reifier, and regenerates the DSL, schema and catalog files. JIRA: [CAMEL-25689](https://issues.apache.org/jira/browse/CAMEL-25689) ## Changes - **`lengthMarker` option removed.** JToon 2.0.6 removes the `lengthMarker` component of `EncodeOptions`. The TOON specification removed the `[#N]` array length marker in its 2.0 release ("encoders never emit it and decoders reject it"). The option is removed from: - the data format - the `ToonDataFormat` model and its builder - the reifier - all generated files: configurer, XML/YAML/Java DSL readers and writers, YAML DSL schemas, XSDs, catalog - **`strict=false` is narrower.** JToon 2.0.6 applies only the non-strict recoveries of the TOON specification, such as an array count that differs from the declared length. Other malformed input now throws `IllegalArgumentException`; 2.0.5 returned `null` or a partial result. The old option description ("JToon uses best-effort parsing") is replaced with one that says this. - **Upgrade guide.** A `camel-toon` entry in the 4.24 guide covers both changes, and how to read data that still has `[#N]` headers. ## Notes for review The option is removed instead of deprecated, because output written with `lengthMarker=true` could not be read back in Camel 4.23 either. Checked against JToon 2.0.5: | Input | 2.0.5 strict | 2.0.5 non-strict | 2.0.7 (both modes) | |---|---|---|---| | `[#2]: a,b` | `IllegalArgumentException` | `[a, b]` | `IllegalArgumentException` | | `tags[#2]: a,b` | `IllegalArgumentException` | `{tags[#2]=a,b}` | `IllegalArgumentException` | The new `malformedToonFailsWhenNotStrict` test pins the second row in non-strict mode. `camel-toon` is a Preview data format added in 4.23.0. JToon 2.0.7 depends on the same Jackson 3 (3.2.3) and jspecify versions as 2.0.5, so the dependency tree does not change. ## Test plan - [x] `camel-toon`: 22 tests pass. `lengthMarkerOptionPrefixesArrayLength` is removed, `strictFalseUsesBestEffortParsing` is renamed to `strictFalseAcceptsArrayLengthMismatch`, and `malformedToonFailsWhenNotStrict` is added. - [x] Regenerated: core model, reifier, xml-io, yaml-io, java-io, yaml-dsl, camel-spring-xml and camel-catalog. `lengthMarker` now appears only in the upgrade guide. - [ ] CI _Claude Code on behalf of 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]
