Skip to content

Jackson Work in Progress

Tatu Saloranta edited this page Apr 1, 2024 · 2073 revisions

2024-03-31: Out-of-Date / Deprecated


Jackson & Friends W-I-P

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

Note that there is also a complementary set of things core developers may eventually work on but that may be better tackled by other contributors: New Contributor Friendly Issues

Contents are divided in multiple sections, first in a few kinds of actionable (*) things. Specific breakdown varies but is along lines of:

  • Things to evaluate -- haven't yet had a chance to fully grok
  • Actively worked on -- items to start work on (or being worked on)
  • Urgent to fix -- security problems, correctness (corruption), reliability (threading/concurrency)
  • Simple to fix -- low(er) hanging fruits that are likely relatively easily fixable (and important enough to include here)
  • Important to fix -- things that important strategically, or highly "voted", but that are more involved to fix/implement.

and then one other theoretically-actionable category:

  • Things to contemplate (not easy to fix and not even sure if behavior should change and/or if attempting to fix is worth the hassle or even possible), divided into
    1. May revisit
    2. Unlikely to revisit

as finally the "Recently Completed" addendum. Plus, I try to give "safe harbor" style guesstimate 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

(updated on daily basis so only some of major updates mentioned)

  • 31-Mar-2024, tatu: Another minor clean up
  • 13-Feb-2023, tatu: Minor clean up; haven't been updating recently
  • 04-Oct-2022, tatu: Had a quick look after 2.14.0-rc1 release (no changes)
  • 01-Oct-2021, tatu: Clean up after 2.13.0 release
  • 01-Dec-2020, tatu: Clean up after 2.12.0 release
  • 26-Apr-2020, tatu: Clean up after 2.11.0 release
  • 26-Sep-2019, tatu: 2.10.0 (final) released: clear up "recently completed" entries
  • 29-Oct-2018, tatu: Create the initial version

When will 2.18 and 3.0 be out?

Over time the goal of getting 3.0 out has been moving along with 2.x work. There is but one remaining thing that is needed before 3.0 can become reality:

  1. Do the Major Property Introspection rewrite (also important for Record support)

With that, the hope is that:

  • 2.18: Release candidate (at least) in June 2024
  • 3.0: limited progress during Q2/2025, but ideally 3.0.0-rc1 out before end of 2024

Immediate tasks to be scheduled

To Evaluate

Possible work for 2.x, evaluate

On-going 3.0 work

Possible 2.x work still

pre-2.18 that did not make it

2.x, Misc/non-Jackson

To work on

2.x / databind

2.x, XML

Important

Other

Other/Misc

Important Things

3.0

Simple Things

3.0

Deferred

These entries have been evaluated but not solved (either worked without full solution, or deemed unlikely to be solved and no attempt made)

Deferred - hope to revisit (when time permits)

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.


Recently completed

Moved to: https://github.com/cowtowncoder/MyOpenSourceDiary/wiki