CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 6
Path to Jackson 3.0.0 #72
Replies: 7 comments · 21 replies
-
/cc @k163377 @pjfanning @yawkat @yihtserns -- the new central planning page for Jackson 3.0.0. Trying to collect links to everything pertinent, keep updated. Especially interested in 3 Polls under "Things to Decide". |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 2
-
I should go tell community in Korea to vote. There is huge Java community here. |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
Is it possible to enable |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
+1. Sounds counter-intuitive. |
Beta Was this translation helpful? Give feedback.
All reactions
-
β€οΈ 1
-
If not yet done, could someone file issue like #4845 / #4846 for this setting? Then I (or anyone else actially) can create discussion here (like #77 / #78). And this allows for discussing pros and cons. Or if an issue already created, we can just create discussion, add links. I think it's a good idea to try to get more people involved giving their opinion by voting. |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
Will do |
Beta Was this translation helpful? Give feedback.
All reactions
-
@k163377 @cowtowncoder |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1 -
β€οΈ 1
-
Thanks! Created databind issue, linked to from this discussion so we are good. |
Beta Was this translation helpful? Give feedback.
All reactions
-
How about another one? Proposal for this one : Unifying testing structure/tools pre-Jackson 3 that I previously proposed in Jackson main repo. Benefits....
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Sounds good, +1: could you create a new |
Beta Was this translation helpful? Give feedback.
All reactions
-
Yeah will do. |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1 -
π 1
-
Just so we all now. We now have https://github.com/FasterXML/jackson-future-ideas/wiki/JSTEP-10. Planning and other detailed discussions may be done in FasterXML/jackson#249 |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
[ Another suggestion for writing 2 -> 3 migration guide ]I would like to suggest that we have 2 -> 3 migration guide here in this repo. |
Beta Was this translation helpful? Give feedback.
All reactions
-
That would be useful, although probably easiest to write if and when someone does actual upgrade of a codebase. Need not be source code, could be Markdown file (like README.md etc), just stored as file and not Wiki page. |
Beta Was this translation helpful? Give feedback.
All reactions
-
If there's official rewrite instructions, I think we should have a https://docs.openrewrite.org/ recipe too |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 2
-
That'd be good too for sure. It might even help writing instructions. |
Beta Was this translation helpful? Give feedback.
All reactions
-
I suspect writing of guide is easier to do after |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
An OpenRewrite recipe in place there should be no limits to the renamings in JSTEP 6. |
Beta Was this translation helpful? Give feedback.
All reactions
-
@cowtowncoder Also, would it be desirable to do the same for the |
Beta Was this translation helpful? Give feedback.
All reactions
-
Could u elaborate further i didnt quite catch what u meant by this @k163377 |
Beta Was this translation helpful? Give feedback.
All reactions
-
Sorry, I've reorganized. There are some changes in |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
Makes sense. I think when Tatu gets back from vacay, we can discuss this? @cowtowncoder |
Beta Was this translation helpful? Give feedback.
All reactions
-
Quick note: due to timing, I think 3.0.0-rc1 needs to go first, to try to make it happen close to end of February 2025. I don't want 2.19.0 work to derail that (plus there's need for 2.19.0-rc1). But I am also fairly certain that 2.19.0 (release) will go out way before 3.0.0 (release). Just that rc1's go in different order. I also think 2.18.3 will be released before 2.19.0, and probably before 2.19.0-rc1. Just because there are so many accumulated changes. As to changes for 2.18.3: this is a patch release and really shouldn't change API, including no new deprecations. So there's less co-ordination wrt 3.0.0, I think. |
Beta Was this translation helpful? Give feedback.
All reactions
-
π 1
-
Notes:
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi everyone, I noticed that jackson-annotations hasnβt been migrated to the tools.jackson group like the other Jackson artifacts. |
Beta Was this translation helpful? Give feedback.
All reactions
-
I recall there was a note / github-issue somewhere explaining why. Don't have time to re-search for it tho. |
Beta Was this translation helpful? Give feedback.
All reactions
-
Yes. The idea is/was that there would be actual 2.x/3.x cross-compatibility just for annotation types. I tried explaining rationale here: https://github.com/FasterXML/jackson-future-ideas/wiki/JSTEP-1#handling-of-jackson-annotations I hope it makes sense. |
Beta Was this translation helpful? Give feedback.
All reactions
-
@mayleaf Could you tell us places you looked for the reason why? Your answer might be the place we want to link explanation to JSTEP-1 part above |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Goal of this Discussion
This Discussion is "uber-discussion" covering the high-level scope of what the official Jackson 3.0.0 Release should include, along with bit of status of the progress. Most of content will be links to other pages, issues, discussions in other repos (with actual Issues, for example).
Note that while most issues were planned to be addressed by
3.0.0-rc1
(the first pre-release), we also want to follow "release early, release often" to get a tight feedback loop -- i.e. not get too ambitious on specific RC release.Jackson 3.0.0: Requirements
To reach state where we are ready to publish the final 3.0.0, we have to tackle following things.
(note: this document is work-in-progress and will continue living -- it is not a static requirements document).
RCs
Lower level details about specific release candidates are on sub-discussions:
JSTEPs
See JSTEP Overview for an overview what JSTEPs are. They can be thought as an effort bigger than what a single Issue can cover, and are natural way to group such efforts.
For 3.0.0 we want to tackle most of them, specifically:
3.0.0-rc6
)JsonNode
improvements3.0.0-rc2
)JacksonException
module-info.java
Note that we can create new JTEPs and reconsider ones not completed.
Some JSTEPs are also for 2.x, not 3.0 (and others for later 3.x versions beyond initial one).
Of these, ones with specific urgency are:
java.util.Date
/ Java 8 Date/Time / JodaDateTimeFeature
classifier
to use: initial proposal is "sbom-cyclonedx" (but plug-in default simple "cyclonedx")Things to decide (polls!)
Here are things to decide on proposed changes: please vote if you have opinion on whether change suggested is desired.
You may also add comments explaining your reasoning, as well as upvote comments by others.
General
Changes to Feature defaults
JsonWriteFeature.ESCAPE_FORWARD_SLASHES
-- issue core#1200DeserializationFeature. FAIL_ON_NULL_FOR_PRIMITIVES
-- issue databind#4858Issues to work on in jackson-databind
Aside from decisions (or in some cases, related to), there are specific issues to work on.
"Most Wanted" Jackson issues
Of all open issues, a small subset has been labeled as "most-wanted" based on upvotes.
These may be considered for inclusion in 2.x as well, but some might require bigger changes.
Because of this, it would make sense to see if any could be added in 3.0.0-SNAPSHOT:
Issues labeled with '3.0'
Some issues have been labeled specifically as targeted to 3.0.0-SNAPSHOT release:
https://github.com/FasterXML/jackson-databind/issues?q=is%3Aissue+is%3Aopen+label%3A3.0
Issues labeled with '3.x'
Other issues have been labeled with
3.x
to indicate "not possible/practical for 2.x, maybe one of 3.x releases", but not necessarily 3.0.0:https://github.com/FasterXML/jackson-databind/issues?q=is%3Aissue+is%3Aopen+label%3A3.x
Issues/Discussion for Other Modules
Beside
jackson-databind
repo, there are issues in other FasterXML Jackson repositories, labeled for ideally being included in 3.0.0-SNAPSHOT:Kotlin
Beta Was this translation helpful? Give feedback.
All reactions