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]

Reply via email to