Skip to content

Jackson Work in Progress

Tatu Saloranta edited this page May 14, 2019 · 2080 revisions

Jackson WIP

This page is a "living document" of on-going work, mostly by @cowtowncoder (Tatu), although other committers are welcome to update it as well.

Contents are divided in 3 sections, of actionable (*) things:

  1. Urgent things -- security problems, correctness (corruption), reliability (threading/concurrency)
  2. Simple things -- low(er) hanging fruits that are likely easily fixable but also important (i.e. non-trivial)
  3. Important -- things that important strategically, or highly "voted", but that are more involved to fix/implement.

as well as one "Recently Completed" addendum. Plus, I try to give "safe harbor" style guestimate on timing of next minor (and in case of 3.0, major) releases.

Note that this page does NOT contain "Big Ideas" for Jackson 3.0: these are covered on separate JSTEP page.

(*) actionable meaning, in general, that progress is only/mostly limited by time available and not by inherent difficulty, or lack of design or ideas of how to tackle the need.

Last updates

  • 29-Mar-2019, tatu: Add guestimates for 2.10, 3.0 release timing
  • 15-Dec-2018, tatu: With release 2.9.8, trim down "recently completed"
  • 29-Oct-2018, tatu: Create the initial version

When will 2.10 and 3.0 be out?

While patch releases occur somewhat frequently -- after initial minor version, usually once per month for 2 or 3, then 2-3 months after that -- minor versions have gone from "every 3 months" (with 1.x) to "every 6 months" (later 2.x) to "I don't quite know". And with 2.x -> 3.0 work being ambitious, that is even less predictable.

But, currently I think that:

  • 2.10 MAY be released by end of May 2019 but IS LIKELY to be released by end of June 2019. Release may well mean "the first release candidate"
  • 3.0 is UNLIKELY to be released BEFORE end of 2019: work is mostly on hold until 2.10 is out, but should pick up after that gets released.

Next likely things:

To evaluate:

2.9

Urgent things

3.0

2.10

2.9

Simple Things

3.0

2.10

2.9

Important Things

3.0

2.10

Databind - important

Other

2.9

Big Ideas

Note: many Big Ideas now included on JSTEP page.

But a scratchpad for stuff can be retained...

  • Add new JsonToken type for "Native Object Id Reference", mostly for YAML?

Documentation

(NOTE: need to include in some better way, but for now just need a place to add ideas)

Another dimension of things to work is... documentation.

  • Rewrite jackson-databind README to make it plain that JSON is NOT the only supported format: add examples, links
  • Write blog entries about:
    1. How does property introspection COMPLETELY work
    2. Simple "untyped" serialization with Guava ImmutableMap/ImmutableList

Recently completed

Here are things since December 2018, after release of 2.9.8 (except for 3.0 some earlier too)

2.9

2.10

3.0

Clone this wiki locally