With 2.12.1 release (see
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.1), it
is now time to open up the new minor version development.
I created branches for most repositories, and created a barebones
planning wiki for 2.13, see:
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13
As of now, I have 2 main things to propose:
1. Change Java baseline to Java 8 / JDK 8 (except for things that were
JDK 6 -- annotations, streaming, jackson-jr -- which are to remain
so). Mostly affects jackson-databind.
2. Work on rewriting Creator-method (and hence, property)
introspection logic, to resolve long-standing issues due to separation
of Creator-backed and "Regular" (getter/setter/field) properties
Of these, (1) will also allow embedding 2 of 3 Java 8 modules --
parameter names (constructor parameters), datatype (Optional,
OptionalXxx) -- similar to how 3.x already works. It is also possible
we could just merge one for 2.13, another for later minor version;
have not yet decided.
But as importantly, I think, I will try to switch back to working on
Jackson 3.0 -- work which I started in 2017 (!) but that has
languished after I decided that due 2.9 security issues, I had to
focus a bit on 2.10 (and so on)... and then realizing that I had
underestimated potential for meaningful changes in 2.x, and decided to
backport quite a few things from 3.0.
However: many important benefits remain 3.0-only due to
architectural/compatibility limitations, and I never intended to
abandon work on the fundamentally better new major version, 3.0. Quite
a few of JSTEP ideas:
https://github.com/FasterXML/jackson-future-ideas/wiki/JSTEP
are only applicable to Jackson 3.x (of immediate concern: unchecked exceptions)
This time around I intend to keep others better informed about the
changes, so that no module will be left behind (of modules that have
active maintainers).
-+ Tatu +-