Upgrade to Jackson 3 and JDK 17#1219
Conversation
There was a problem hiding this comment.
Pull request overview
This PR upgrades the project from Jackson 2.x to Jackson 3.x and increases the minimum Java version from 8 to 17. This is a major breaking change that requires systematic updates across the entire codebase to accommodate Jackson 3's API changes.
Key Changes:
- Upgrade from Java 8 to Java 17
- Upgrade from Jackson 2.18.3 to Jackson 3.0.3
- Update all Jackson imports from
com.fasterxml.jacksontotools.jackson - Migrate Jackson API calls to Jackson 3 equivalents (e.g.,
asText()→asString(),TextNode→StringNode) - Update build configuration and dependency versions
Reviewed changes
Copilot reviewed 203 out of 203 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Updates Java version to 17, Jackson to 3.0.3, changes dependency group IDs, and updates plugin versions |
| .github/workflows/ci.yml | Updates CI matrix to test Java 17, 21, and 25 (removes Java 8 and 11) |
| All main/java files | Migrates Jackson imports and API calls to Jackson 3 equivalents |
| All test/java files | Updates test code with Jackson 3 API changes and removes unnecessary exception declarations |
| Documentation files | Updates code examples to use Jackson 3 API (asString() instead of asText()) |
| Test resource files | Adds description fields to test data |
The migration appears comprehensive and follows a consistent pattern throughout the codebase. The changes are aligned with Jackson 3's breaking changes and the upgrade is well-documented in the upgrading.md file.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -49,24 +50,26 @@ public static boolean equalsToSchemaType(JsonNode node, JsonType schemaType, Sch | |||
| if (!config.isStrict("type", Boolean.TRUE) && isEnumObjectSchema(parentSchema, executionContext)) { | |||
There was a problem hiding this comment.
|
I have created a new 2.x branch for the Jackson 2 release line and released version 3.0.0 from the master branch. Here is the updated Readme for both versions. Please review and let us know if you see any potential issues. Thanks. https://github.com/networknt/json-schema-validator?tab=readme-ov-file#adding-the-dependency |
Closes #1207
These are the changes for Jackson 3 for when it is reasonable to merge.