-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 3.2
Tatu Saloranta edited this page Mar 13, 2026
·
162 revisions
Jackson Version 3.2 is under development as of February, 2026.
This wiki page gives a list of links to all changes (with brief descriptions) that will be included.
Version is under development (under branch 3.x).
It will likely NOT be designated as Long-Term-Support (LTS) since 3.1 is an LTS.
No release yet.
Up to SDK 34 for all components (Jackson 3.1 had SDK 26 for jackson-core, 34 for jackson-databind).
Verified by "Animal Sniffer" plug-in.
Same as Jackson 3.1; Java 17.
Same as Jackson 3.1?
No changes.
-
#1329 -- External type property (
@JsonTypeInfo(include = As.EXTERNAL_PROPERTY)) deserialized even ifvisible = false-- fixed to now properly consider visibility- Fixes behavior but since wrong behavior has been in for a long time (since Jackson 2.7), a new
MapperFeature.EXTERNAL_TYPE_ID_ALWAYS_VISIBLE(default:false) was added: it can be enabled to change behavior back to pre-3.2. (i.e. External Type Id property always visible)
- Fixes behavior but since wrong behavior has been in for a long time (since Jackson 2.7), a new
-
#5734 -- "
DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVEStreats absent field same as explicitnull" -- changed handling so missing primitive values no longer fail unlessDeserializationFeature.FAIL_ON_MISSING_CREATOR_PROPERTIESis enabled
Issues with at least 5 thumbs-ups that were resolved in this version:
-
#1757: Regression in
JsonInclude.Include.NON_DEFAULTset as global default serialization inclusion (add newMapperFeature.USE_REAL_INCLUDE_NON_DEFAULT)
N/A
- #679: Number parsing should fail for trailing dot (period)
-
#1544: Validate
read()parameters inMergedStreamandUTF32Reader - #1545: Increase Android baseline from 26 to 34 in Jackson 3.2
-
#1564: Add
SimpleStreamReadContext.rollbackValueRead()method -
#1570: Fail parsing from
DataInputifStreamReadConstraints.getMaxDocumentLength()set
-
#639:
@JacksonInjectwith@JsonIdentityInfocauses deserialization failure (unresolved forward reference) -
#1075:
@JsonUnwrappedfields with matching@JsonIgnored getter in outer class are ignored -
#1281:
@JsonIgnorePropertiesshould work for "any getter" (for serialization) -
#1298: Writing ObjectId reference for
@JsonUnwrappedproperty fails with obscure error message -
#1329: External type property (
@JsonTypeInfo(include = As.EXTERNAL_PROPERTY)) deserialized even ifvisible = false -
#1410: Overlap between
@JsonTypeInfo.As.PROPERTYindicated type id and field with same name results inUnrecognizedPropertyException -
#1515:
@JsonSerialize(Typing.DYNAMIC)in some cases does not overrideMapperFeature.USE_STATIC_TYPING -
#1622: Failure to deserialize child object when using
@JsonIgnorePropertiesto break cycle -
#1706:
@JsonCreatornot working properly with@JsonIdentityInfowhen deserializing a collection of interfaces (immutables.io compatibility) -
#1755: Get NPE on deserializing values with recursive
@JsonIgnoreProperties -
#1757: Regression in
JsonInclude.Include.NON_DEFAULTset as global default serialization inclusion (add newMapperFeature.USE_REAL_INCLUDE_NON_DEFAULT) -
#2039:
@JsonUnwrappedandJsonTypeInfo.As.EXTERNAL_PROPERTYin the same bean doesn't work -
#2780: Deserialization with Default Typing and
@JsonIdentityInfoin untyped collections fails -
#3030: Correctly deserialize forward
@JsonIdentityInforeferences when using@JsonCreator -
#3064:
@JsonPropertyOrder(alphabetic=true)is ignored in case indices are defined for@JsonProperty-- addMapperFeature.SORT_PROPERTIES_BY_INDEX -
#3194: Deserialization of 2-dimensional arrays of final types fails when using
DefaultTyping.NON_FINAL -
#3216: Delegating
@JsonCreatordoes not prevent unnecessary introspection of properties, leading to bogus failure - #3355: Deserialization fails depending on the order of deserialized objects with "Cannot construct instance (although at least one Creator exists)"
-
#3573: Inconsistent handling of nil
UUIDin property inclusion -
#3591: Ignored fields not consistently exposed via
BeanDescription.getIgnoredPropertyNames() -
#5353: Preserve order of
@JsonAnySettercreator property arguments -
#5615: JsonMapper seems to be not thread-safe when using the polymorphic
JsonTypeInfo.As.PROPERTYdefinition (and@JsonIgnoreProperties) -
#5727:
VisibilityCheckeroverridesequals()without overridinghashCode() -
#5734:
DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVEStreats absent field same as explicitnull
-
#611: Remove
IOExceptionfromAvroMapper.schemaFrom()method signatures
-
#674: Smile parser does not update
StreamReadContextindex or entry count