Skip to content

Fix #6413: Consolidate unwrapped input-name collection on SettableBeanProperty - #6420

Merged
cowtowncoder merged 5 commits into
3.xfrom
refactor/unwrapped-input-names-6413
Nov 11, 2026
Merged

cowtowncoder merged 5 commits into
3.xfrom
refactor/unwrapped-input-names-6413

Conversation

@cowtowncoder

@cowtowncoder cowtowncoder commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Fixes #6413. Replaces #6415 (by @wozhenbang2004), which doesn't allow maintainer edits. The original commit and its authorship are unchanged.

Changes on top of #6415:

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 83.18% 📈 +0.000%
Branches branches 77.46% 📈 +0.020%

Coverage data generated from JaCoCo test results

@cowtowncoder cowtowncoder changed the title Consolidate unwrapped input-name collection on SettableBeanProperty (#6413) Fix #6413: Consolidate unwrapped input-name collection on SettableBeanProperty Nov 11, 2026
… trivial helper

- @SInCE 3.4 (3.3.0 is already released)
- Document return value and side effects per value deserializer case
- Call SettableBeanProperty.collectValuePropertyNamesTo() directly from
  UnwrappedPropertyHandler, dropping the null-check-only wrapper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 83.18% 📈 +0.000%
Branches branches 77.46% 📈 +0.020%

Coverage data generated from JaCoCo test results

@gitar-bot

gitar-bot Bot commented Nov 11, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 🟡 Medium risk 1 closed / 1 findings

Centralizing unwrapped input-name collection and adding property-based type ids could alter field routing, causing valid fields to be rejected or misclassified during deserialization.

Consolidates unwrapped input-name collection onto SettableBeanProperty and adds 3.4.0 release notes for #6413. The new public API's @since tag was corrected from 3.3 to 3.4, addressing the mismatch with the release it ships in. No open issues found.

✅ 1 closed
✅ Quality: New public API tagged @since 3.3 but ships in 3.4.0

📄 src/main/java/tools/jackson/databind/deser/SettableBeanProperty.java:458 📄 release-notes/VERSION:8-12
SettableBeanProperty.collectValuePropertyNamesTo() is a new public method. Its Javadoc says @since 3.3, but 3.3.0 has already been released and this PR's own release notes list the change under 3.4.0 (the branch is now 3.4.0-SNAPSHOT). Anyone reading the Javadoc would think the method exists in 3.3.x, where it doesn't. Change the tag to @since 3.4.

Verification

Rules No rules evaluated

Functional validation Not enabled

Set up

For more verification details, comment gitar display:verbose.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing compact verification results.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

@github-actions

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 83.18% 📈 +0.000%
Branches branches 77.46% 📈 +0.020%

Coverage data generated from JaCoCo test results

@cowtowncoder
cowtowncoder merged commit e9864b8 into 3.x Nov 11, 2026
7 checks passed
@cowtowncoder
cowtowncoder deleted the refactor/unwrapped-input-names-6413 branch November 11, 2026 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate "effective input names" for @JsonUnwrapped properties (include polymorphic type id) instead of special-casing in UnwrappedPropertyHandler

2 participants