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
Being discussed; some implementation
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-databind
version 3.0.0-SNAPSHOT- Functionality now supported directly by
jackson-databind
so module no longer needed
- Functionality now supported directly by
jackson-module-parameter-names
(part of jackson-modules-java8)has been merged intojackson-databind
version 3.0.0-SNAPSHOT- Functionality now supported directly by
jackson-databind
so module no longer needed
- Functionality now supported directly by
jackson-module-paranamer
module (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.md
s have been update to indicate a note of Deprecation.
Proposal
The current plan for following Modules:
jackson-datatype-jdk8
jackson-module-parameter-names
jackson-module-paranamer
jackson-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.x
versions (deprecated but maintained) - Not update repos for
3.0
(master
just points to latest2.x
version) - Not publish
3.0.0-SNAPSHOT
, release candidates or actual3.0.0
version
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)