-
Notifications
You must be signed in to change notification settings - Fork 40
Implement Jackson3 support and maintain Jackson2 support #117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Implement Jackson3 support and maintain Jackson2 support #117
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 issue found across 36 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="pom.xml">
<violation number="1" location="pom.xml:40">
P2: Jackson 3 requires Java 17+, but the build is pinned to Java 8. Adding the Jackson 3 BOM/tools.jackson dependencies will make builds fail with class file version incompatibility unless the toolchain is upgraded or Jackson 3 is isolated.</violation>
</file>
Since this is your first cubic review, here's how it works:
- cubic automatically reviews your code and comments on bugs and improvements
- Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
- Ask questions if you need clarification on any suggestion
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| <hibernate-validator.version>7.0.5.Final</hibernate-validator.version> | ||
| <jackson-bom.version>2.21.0</jackson-bom.version> | ||
| <jackson2-bom.version>2.20.1</jackson2-bom.version> | ||
| <jackson3-bom.version>3.0.4</jackson3-bom.version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: Jackson 3 requires Java 17+, but the build is pinned to Java 8. Adding the Jackson 3 BOM/tools.jackson dependencies will make builds fail with class file version incompatibility unless the toolchain is upgraded or Jackson 3 is isolated.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pom.xml, line 40:
<comment>Jackson 3 requires Java 17+, but the build is pinned to Java 8. Adding the Jackson 3 BOM/tools.jackson dependencies will make builds fail with class file version incompatibility unless the toolchain is upgraded or Jackson 3 is isolated.</comment>
<file context>
@@ -36,7 +36,8 @@
<hibernate-validator.version>7.0.5.Final</hibernate-validator.version>
- <jackson-bom.version>2.20.1</jackson-bom.version>
+ <jackson2-bom.version>2.20.1</jackson2-bom.version>
+ <jackson3-bom.version>3.0.4</jackson3-bom.version>
<javax-validation-api.version>2.0.1.Final</javax-validation-api.version>
<jakarta-validation-api.version>3.1.1</jakarta-validation-api.version>
</file context>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a fair point, however, locally I was able to build (and use) this without any issue. (Obviously I have JDK21 installed, but the maven build had no issues with java.version set to 8)
|
Some extra context:
|
|
I'm waiting this PR to be released because I can't migrate to spring 4 without breaking my app behavior... 💯 |
Summary by cubic
Add Jackson 3 support alongside Jackson 2 so JsonNullable works on both runtimes. This introduces a Jackson3 module with serializers/deserializers and refactors the Jackson2 implementation to keep compatibility.
New Features
Refactors
Written for commit 00bf11d. Summary will update on new commits.