Jackson 2.13 branches created: planning started; focus to move to 3.0.0-SNAPSHOT a bit

6 views
Skip to first unread message

Tatu Saloranta

unread,
Jan 11, 2021, 1:13:53 AM1/11/21
to jacks...@googlegroups.com
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 +-
Reply all
Reply to author
Forward
0 new messages