Upgrade to Jackson 3
As per the title.
There's definitely no urgency in doing it but it'll be good to help the ecosystem move forward.
Jackson 2.x and 3.x can co-exist, so I don't think there's a reason for play-json to wait. Users will still be able to use other libraries relying on Jackson 2.x.
Maybe this is something we can include in the next minor release?
I'll be happy to work on a PR for this.
Yes, when you guys are updating, please include the Scala 2 (e.g., 2.10.x) supported versions as well. At least, if you can use the LTS version of Jackson (I think 2.18.0), that would be good.
Yes, when you guys are updating, please include the Scala 2 (e.g., 2.10.x) supported versions as well. At least, if you can use the LTS version of Jackson (I think 2.18.0), that would be good.
I don't understand what you mean by "Scala 2 supported version". Jackson is a Java library.
Play JSON is available for Scala 2.12, 2.13 and 3.
And there's no such thing as a LTS for Jackson.
I meant the Scala 2 supported version, please update the Jackson version on the 2.10.x branch as well, since that branch supports Scala 2 versions. Not just the play-json 3.0.x branch, which supports Scala 3, right?
And regarding the “LTS for Jackson” comment — I noticed in the release notes here that they mention something like that: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.18
Scala 2 is still supported with Play JSON 3.x as well.
Regarding the Jackson LTS, thanks for the information, I was not aware of that even though it seems to be a proposal at this stage (JSTEP), not sure if they really committed to it.
Anyway, Play JSON is already on Jackson 2.20 and it won't downgrade to 2.18. Plus, for maximum compatibility with Jackson 3 users (if we still are on Jackson 2), it's better to be on 2.20 as there's one artifact (annotations) that is still versioned as 2.20 in Jackson 3 "group of artifacts".
But I have a problem, when we use play-json version 2.10.8, its dependency tree shows Jackson version 2.14.3, as defined in the build.sbt file on the 2.10.x branch (link).
However, the main branch contains Jackson version 2.20.1 (link).
Interestingly, the play-json 3.0.x branch build.sbt file also contains Jackson version 2.14.3 (link).
Can you explain why the main branch has a newer Jackson version, while both 2.10.x and 3.0.x branches are still using 2.14.3?
Can you explain why the main branch has a newer Jackson version, while both 2.10.x and 3.0.x branches are still using 2.14.3?
Because the main branch is the dev branch which always is newer than any current stable branch.
And regarding the “LTS for Jackson” comment — I noticed in the release notes here that they mention something like that: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.18
Regarding the Jackson LTS, thanks for the information, I was not aware of that even though it seems to be a proposal at this stage (JSTEP), not sure if they really committed to it.
fyi: The wiki was updated only 2 weeks ago (Oct. 28th) to add the details about 2.18 being an LTS: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.18/_compare/a1176ccbff328edfcfd6182f0c9376980592a5fa...836acecea4e33805d6a8c926939c20dadf9afee3 So this is very new.
Discussions:
- https://github.com/FasterXML/jackson-future-ideas/discussions/84
- https://github.com/FasterXML/jackson-future-ideas/discussions/94