Repository navigation
Fix #6374: skip structured extra values in array-shaped builders - #6391
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Will re-target to 3.x. |
Move #6374 release notes to 3.3.0, as the fix only goes in 3.x, and cover the vanilla processing path in BuilderArrayExtraValues6374Test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code Review ✅ Approved🟡 Medium risk · Changing array-builder deserialization to skip the current extra value before advancing could misalign parsing of following values if handling is wrong. Fixes array-shaped builder deserialization in Jackson 3.x by skipping the current extra value before advancing, so structured extra values no longer have their closing array token mistaken for the end of the builder array. No issues found. VerificationRules No rules evaluated Functional validation Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
Fixes #6374 on the Jackson 3.x line (targeting
3.xonly) based on #6377 by @wozhenbang2004.Which contains the same fix and tests and whose commits and authorship are kept here. This PR adds the
release-notes/VERSIONandrelease-notes/CREDITSentries, which could not be pushed to the original PR because maintainer edits are not enabled on its fork.Both array-shaped builder deserialization paths are already positioned on the first extra value when they enter the skip loop. Advancing first can enter a structured extra value and mistake its closing array token for the end of the builder array. Skip the current value before advancing, matching the existing non-builder array deserializer.
Regression coverage exercises vanilla and active-view deserialization, root values with trailing-token checks, nested collection/object values, scalar and structured extras,
@JsonIgnoreProperties(ignoreUnknown = true), and strict-mode rejection controls.This patch does not include the separate 2.x backport.
🤖 Generated with Claude Code