JSTEP 9 - FasterXML/jackson-future-ideas GitHub Wiki
(Back to JSTEP page)
Jackson 3.0 Removal of Deprecated 2.x Modules
Author
Tatu Saloranta (@cowtowncoder)
Version history
- 2024-12-01: Created first version
Status
Completed wrt 3.0.0 GA.
Overview
During Jackson 2.x, some Modules have become unnecessary either in general, or for future use. For example:
jackson-datatype-jdk8(part of jackson-modules-java8)has been merged intojackson-databindversion 3.0.0-SNAPSHOT- Functionality now supported directly by
jackson-databindso module no longer needed
- Functionality now supported directly by
jackson-module-parameter-names(part of jackson-modules-java8)has been merged intojackson-databindversion 3.0.0-SNAPSHOT- Functionality now supported directly by
jackson-databindso module no longer needed
- Functionality now supported directly by
jackson-module-paranamermodule (part of jackson-modules-base) was useful before Java 8, but it becomes unnecessary with Java 8 when JDK bytecode can contain parameter names.
Other modules have become unsupported/unmaintained:
- jackson-module-jsonSchema:
- Has no active maintainer, no one volunteered
- Only supports older JSON Schema v3 (which is incompatible with newer schema versions, v4 and above)
- Has become obsolete due to existence of other maintained, external JSON Schema generators (like https://github.com/mbknor/mbknor-jackson-jsonSchema)
- jackson-datatype-hibernate
- Has no active maintainer, no one volunteered
- Has received some contributions
In these cases, no work has been done to prepare for Jackson 3.0.0 version of the components, and README.mds have been updated to indicate a note of Deprecation.
Proposal
The current plan for following Modules:
jackson-datatype-jdk8jackson-module-parameter-namesjackson-module-paranamerjackson-module-schema(and variants)jackson-datatype-hibernate5(and variants)- Polls completed, all voted on
No -- I do not use these modules
- Polls completed, all voted on
is to
- Keep on publishing
2.xversions (deprecated but maintained) - Not update repos for
3.0(masterjust points to latest2.xversion) - Not publish
3.0.0-SNAPSHOT, release candidates or actual3.0.0version
Above can be changed for specific modules if (and only if):
- There is continued need for module AND
- We can find an active maintainer (in case one is needed; specifically for Hibernate module)