-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 3.3
Tatu Saloranta edited this page Aug 22, 2026
·
39 revisions
Jackson Version 3.3 is under development as of June, 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.2 had SDK 26 for jackson-core, 34 for jackson-databind).
Verified by "Animal Sniffer" plug-in.
Same as Jackson 3.2; Java 17.
Minimum supported Kotlin has been upgraded to 2.2.
No changes.
None
Issues with at least 5 thumbs-ups that were resolved in this version:
None so far
No separate 3.x versions released, uses jackson-annotations 2.22.
-
#1637: Add
JsonPointer.startsWith()method -
#1646: Non-blocking ByteBuffer parser
releaseBuffered()can write already-consumed bytes - #1664: UTF-8 byte-backed parsers report raw byte instead of decoded character for invalid root-value separator
-
#1127:
@JsonTypeInfowithEXTERNAL_PROPERTYdoesn't handle arrays of polymorphic types -
#1803:
TreeTraversingParsershould allow passing of parent context -
#3182: Support value deduplication for enumeration like values: add
StringCanonicalizingConverter - #3947: Multiple suitable annotated Creator factory methods to be used as the Key deserializer when using record as key in Map
-
#4762:
@JsonValueignores annotations on annotated field (particularly@JsonInclude) -
#6068: 3.x
ObjectMapper.convertValue()stop throwingjava.lang.IllegalArgumentException -
#6113: Fix
DOMSerializerto support polymorphic serialization - #6114: Fix QName object deserialization to reject non-String namespaceURI/prefix
-
#6120: Use per-node-type Type Ids for DOM values, reconstruct via DOM factory instead of always parsing a
Document -
#6128: Fail explicitly on POJO that has both
@JsonFormat(shape=ARRAY)and@JsonFilter -
#6142:
SerializerCacheread-only lookup is not invalidated when replacing typed serializers -
#6151: Add
DateTimeFeature.ALWAYS_WRITE_SUBSECOND_DIGITS
-
#624: Use more efficient (in JDK 17)
Stringconstruction wrt "Compact Strings" -
#752: Use varhandle for array access in
CBORGenerator
-
#699: Add ability to modify columns in
CsvSchema.Builderby name
-
#750: SmileGenerator: avoid String allocation in
SmileGenerator.writeString(char[],int,int) -
#757: Use SWAR in
SmileParser -
#759: Use more efficient
Stringconstruction wrt "Compact Strings" for Smile "long" text values
-
#873: Fix handling of
@JsonApplyView -
#878: Re-apply entity/DTD hardening after JDK deserialization of
XmlFactory -
#879: Use
Locale.ROOTfor case folding inCaseInsensitiveNameSet -
#882: Translate base64 name-decode errors to
StreamReadException -
#883: Translate
XMLStreamReadercreation errors toStreamReadException -
#886: Escape names already starting with prefix in
Base64NameProcessor -
#887: Apply
XmlNameProcessorto unwrappedObjectNoderoot element name -
#888: Honor
xsi:nilin any attribute position andxs:booleanform -
#890: Update token on 19-digit
longcoercion inisExpectedNumberIntToken -
#893: Decode element name before matching virtual wrapper in
_initStartElement -
#895: Fix leading digit in
AlwaysOnBase64NameProcessorencoded names -
#899: Return
nullfromnextStringValue()at end of input
- #85: Update Hibernate version to 7.4.1.Final