Adapter for Jackson 3.0
Is your feature request related to a problem? Please describe. Jackson 3 has been released a few days ago. It introduces a namespace change and api changes.
Describe the solution you'd like Jackson 2.x is probably here to stay for a long time. So the idea would be to have a new adapter for jackson 3.x while still keeping the 2.x one.
Describe alternatives you've considered Jackson 2 and Jackson 3 can probably live together in the same classpath but having a jackson 3 adapter for this project would be nice.
Additional context The next release of the widely used spring framework will also favor Jackson 3.x while still keeping the possibility to work with Jackson 2.x. The release after will likely drop support for Jackson 2.x.
Are there any plans ? Would a pull request addressing this be useful ? (no promises...)
@olivierceulemans thanks for the issue! There aren't currently any plans to support Jackson 3, but I don't see why we wouldn't if it is expected to be the de-facto JSON parser as previous Jackson versions were.
A pull request would be most welcome! But no worries if you can't get to it right away - this issue can represent the work for it and remain in the backlog until someone picks it up.
Hi @lhazlewood I noticed this issue about adding Jackson 3.0 support and would love to help with it. From what I understand, the idea would be to create a new adapter module (perhaps jjwt-jackson3) similar to the existing Jackson 2.x one, implementing the same Serializer and Deserializer interfaces but using the updated Jackson 3 API.
I can start by exploring the current io.jsonwebtoken.jackson.io package and draft a PR that introduces a Jackson3Serializer and Jackson3Deserializer, ensuring it coexists cleanly with the existing Jackson 2.x adapter. Before I proceed, could you confirm whether you’d prefer this as a separate module (e.g., jjwt-jackson3) or integrated into the existing one with version detection at runtime?
Thanks! Looking forward to contributing.
Hi all. Does it make sense to have both adapters? I already have the code ready with the Jackson 3 upgrade for the jjwt-jackson module. I can create a pull request with this and then decide whether to have both modules. Regards Giuseppe.
Hi all. Does it make sense to have both adapters? I already have the code ready with the Jackson 3 upgrade for the jjwt-jackson module. I can create a pull request with this and then decide whether to have both modules. Regards Giuseppe.
IMHO, Jackson 2 is going to be around for a long time (it also requires Java 17). JJWT could add a new jackson3 adapter, and let users match library they are using. If someone accidentally includes Jackson 2 and 3 on the classpath, that shouldn't cause an issue (if I'm reading the release notes correctly, different coordinates/package names)
As of Spring Boot 4.0.0 Jackson 2 support is deprecated.
I have now adapted the project code to Jackson 3. currently awaiting the upgrade for jjwt-jackson, as Jackson 3 requires Java 17 as a minimum version. This change implies that many profiles within the project will need modification.