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:
and then one other theoretically-actionable category:
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.
(updated on daily basis so only some of major updates mentioned)
2.10.0(final) released: clear up "recently completed" entries
Jackson 2.13.0 was released on September 30th, 2021. After this initial 2.x focus will be on 2.13.x patches.
Probably after 2.13.1 it may be time to create
Question of priority between 3.0 and 2.14 is still open:
SerializationFeaturefor "too-specific" (not cross-cutting) features
Config) for general Date/Time configuration
But, currently I think that:
TokenFilter, empty Array / Object PR
RecordDeserializer, subtype of
Optionaletc) into databind
Optional), alas, due to one silly legacy config setting (deprecated that for 2.13)
CsvSchemaintrospection not working with Builder
protobuf) References to nested types
standalone) -- closure/function of "write document beginning"
ObjectWriter(done in constructor)
FlowStyleResolverto enable custom YAML node style resolution
@JsonProperty(access=)so it can work differently on server side and client side
@JsonTypeInfoannotated type fails with missing type id even for explicit concrete subtypes
@JsonIgnoreProperties, cyclic types
@JsonNamingon value class not applied to use via Builder -- Builder,
@JsonNamingon value class
ObjectMapper.registerSubTypes(...)does not allow multiple type ids to map to one
Class(earlier fix for allowing this for annotations)
@JsonIgnorePropertiesfor serialization via "any getter"
required = false
@JacksonInject, overrides (skip
privatefields if constructor)
set()on setterless property during deserialization
CharacterEscapesusing Stax (Woodstox/Aalto) functionality
JsonFormat.Shapehandling to support ALL changes (POJO to/from non-POJO), for types AND properties
vanillaversion for generators, to optimize handling
PrettyPrinter, using standard quoting
@Repeatedon annotations like
CharacterEscapeshard (due to JSONP), max-non-escaped easy too? Features?
These entries have been evaluated but not solved (either worked without full solution, or deemed unlikely to be solved and no attempt made)
Throwable, self-reference (NOTE: probably not really simple to solve, but need to evaluate)
AutoClosable(NOTE: not as trivial to implement as I thought)
Optional, polymorphic types -- bug it seems, but hard to reason about.
Instant, integer/nanoseconds -- probably NOT a bug, but need to verify
JsonPointer(but what abstraction?
JSONprobably, otherwise too many overloads) - problem, no
ObjectWriterequivalent for jackson-jr
@JsonCreator, single string argument
@JsonUnwrapped, serializer caching
java.io.Serializable. Failing test added.
Note: many Big Ideas now included on JSTEP page.
But a scratchpad for stuff can be retained...
JsonTokentype for "Native Object Id Reference", mostly for YAML?
(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.
JsonSerializers located, initialized
JsonDeserializers located, initialized
Here are things since 2.13.0 (30-Sep-2021)
@JsonCreatorthat takes String, gets JSON Number (12-Oct-2021)