Three Maven modules - jackson2-before (2.22.1), jackson3-after (3.2.1) and a coexistence module with BOTH majors on one classpath - so every claim in the two migration guides is executed rather than asserted. Paired class names make the before/after outputs directly diffable via run-all.sh. Confirms the guides on wire-format equivalence (10-case suite, zero mismatches), classpath coexistence and the collapse of four artifacts into one. Corrects nine points, including that enableDefaultTyping() is still present in Jackson 2.22.1 rather than removed in 2.16, and that the published "after" mapper snippet does not compile.
Documentation
One page per migration topic, each showing the Jackson 2 and Jackson 3 output side by side.
- S01 — Mapper construction and immutability
- S02 — The exception hierarchy
- S03 — Custom serialiser and deserialiser renames
- S04 — Modules, records, Optional and dates
- S05 — Default typing
- S07 — Defaults that flipped silently
- S06 / S08 — Coexistence and wire-format equivalence
Raw stdout for every program is in output/, regenerated by
../run-all.sh.