Skip to content

Jackson Release 2.20

Tatu Saloranta edited this page May 19, 2025 · 13 revisions

Status

Branch is under development as of May 2025.

Patches

No release yet

Documentation

Articles, Blog posts

Changes, compatibility

Compatibility: platform requirements

Android

Same as Jackson 2.19, SDK 26

JDK

Same as Jackson 2.19 -- mostly Java 8

Kotlin

Same as Jackson 2.19?

Changes, behavior

None


Major focus area(s)

Most wanted Features to implement

Most wanted Features implemented

Most wanted Features considered but not implemented


Full Change list

Changes, core

  • #291: Add optional property for @JacksonInject to allow optionally injected values
  • #3072: Allow specifying @JacksonInject does not fail when there's no corresponding value
  • #4136: Drop deprecated (in 2.12) PropertyNamingStrategy implementations from 2.20
  • #4656: DeserializationProblemHandler.handleUnexpectedToken() cast Object to String
  • #5103: Use writeStartObject(Object forValue, int size) for ObjectNode serialization
  • #5151: Add new exception type, MissingInjectValueException, to be used for failed @JacksonInject

Changes, data formats

CBOR

  • #137: Allow exposing CBOR "undefined" value as JsonToken.VALUE_EMBEDDED_OBJECT (with embedded value of null)
  • #431: Negative BigInteger values not encoded/decoded correctly
  • #587: Allow exposing CBOR Simple values as JsonToken.VALUE_EMBEDDED_OBJECT with a feature flag

Changes, data types:

  • #92: DateTime serialization result is not same as Java 8 ZonedDateTime
  • #146: DateTime can't be serialized with its own zone (WRITE_DATES_WITH_CONTEXT_TIME_ZONE not respected)

Changes, other

Clone this wiki locally