Skip to content

Upgrade Jackson 2.x to 3.1.0#179

Merged
itstheceo merged 6 commits intomasterfrom
worktree-jackson-major-update
Mar 24, 2026
Merged

Upgrade Jackson 2.x to 3.1.0#179
itstheceo merged 6 commits intomasterfrom
worktree-jackson-major-update

Conversation

@ashley-taylor
Copy link
Copy Markdown
Contributor

@ashley-taylor ashley-taylor commented Mar 24, 2026

Summary

  • Upgrades Jackson from 2.x to 3.1.0 (major version bump)
  • Updates Maven groupIds from com.fasterxml.jackson.core to tools.jackson.core for jackson-core, jackson-databind, and jackson-annotations
  • Removes separate jackson-datatype-jsr310, jackson-datatype-jdk8, and jackson-module-parameter-names dependencies (now bundled in Jackson 3.x core)
  • Migrates from mutable ObjectMapper pattern to JsonMapper.builder() pattern (required by Jackson 3.x immutability)
  • Replaces removed APIs: ObjectNode.fields()properties(), TextNode.valueOf()mapper.getNodeFactory().textNode(), JacksonException (now unchecked, no longer wraps in UncheckedIOException)
  • Handles new POJONode type in Jackson 3.x for byte[] and nested JsonNode values

Test plan

  • All 125 tests pass
  • Compilation succeeds across all modules

🤖 Generated with Claude Code

ashley-taylor and others added 4 commits March 24, 2026 19:08
- Update groupId from com.fasterxml.jackson.* to tools.jackson.*
- Update jackson.version to 3.0.0-rc4
- Remove separate jdk8, jsr310, and parameter-names modules (bundled in 3.x core)
- Update all Java imports from com.fasterxml.jackson to tools.jackson
- Fix jackson-annotations version in database-manager-core to use property

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- jackson-annotations stays at com.fasterxml.jackson.annotation (unchanged in 3.x)
- jackson-core/databind Java packages changed to tools.jackson.core/databind
- Update version from 3.0.0-rc4 to 3.1.0 (GA)
- Fix jackson-annotations groupId back to com.fasterxml.jackson.core

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
JsonProcessingException -> JacksonException (now unchecked)
JsonMappingException -> DatabindException (removed, now unchecked)
- Remove throws declarations from test methods (exceptions are now unchecked)
- Update catch(JsonProcessingException) to catch(JacksonException) in TableUtil

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use JsonMapper.builder() pattern for ObjectMapper construction
- Replace ObjectNode.fields() with properties() (renamed in 3.x)
- Handle new POJONode type for byte[] and JsonNode values in toAttribute
- Remove date/time SerializationFeature enums removed in 3.x
- Fix jackson-annotations Maven groupId to tools.jackson.core
- Remove TextNode direct usage, use mapper.getNodeFactory().textNode()
- Remove IOException/UncheckedIOException wrapping (JacksonException is now unchecked)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ashley-taylor ashley-taylor changed the title Upgrade Jackson 2.x to 3.0.0-rc4 Upgrade Jackson 2.x to 3.1.0 Mar 24, 2026
ashley-taylor and others added 2 commits March 24, 2026 21:11
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Only @JsonIgnore is needed — no reason to pull in full jackson-databind.
The 2.x annotation artifact is what jackson-databind 3.x itself depends on
transitively, so this is consistent and much lighter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@itstheceo itstheceo merged commit 9a80f7b into master Mar 24, 2026
2 checks passed
@ashley-taylor ashley-taylor deleted the worktree-jackson-major-update branch March 24, 2026 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants