Skip to content

Jackson Release 2.19

Tatu Saloranta edited this page Nov 27, 2024 · 16 revisions

Jackson Version 2.19 development is being started in September, 2024.

This wiki page gives a list of links to all changes (with brief descriptions) that will be included, as well as about original plans for bigger changes (and in some cases changes to plans, postponing).

Status

Branch is under development.

Patches

No release yet

Documentation

Articles, Blog posts

Changes, compatibility

Compatibility: platform requirements

Android

Same as Jackson 2.18, SDK 26

JDK

Same as Jackson 2.18

Kotlin

Changes, behavior

JsonPointer

  • Handling of "orphan" tildes (~ not part of ~0 or ~1 escape sequence) changed:
    • #1361: JsonPointer parsing of '~' not followed by "0" or "1" unexpected
    • NOTE: use of such "orphan" tildes is not (well) covered by JSON Pointer specs so expected handling is not defined.
    • Old behavior used ~ as "general escape", i.e. skipped ~ and included following character
    • New behavior feels more expected: unpaired ~ will simply be included as-is

Major focus area(s)

Most wanted Features to implement

Most wanted Features implemented

  • #1467: Support @JsonUnwrapped with @JsonCreator

Most wanted Features considered but not implemented


Full Change list

Changes, core

  • No changes since 2.18
  • #1328: Optimize handling of JsonPointer.head()
  • #1356: Make JsonGenerator::writeTypePrefix method to not write a WRAPPER_ARRAY when typeIdDef.id == null
  • #1361: JsonPointer parsing of '~' not followed by "0" or "1" unexpected
  • #1467: Support @JsonUnwrapped with @JsonCreator
  • #2461: Nested @JsonUnwrapped property names not correctly handled
  • #2951: Allow inverting @JsonProperty(access=) with MapperFeature.INVERSE_READ_WRITE_ACCESS to work differently on server and client side
  • #4674: Allow setting global enum naming strategy similar to property naming strategy
  • #4676: Support other enum naming strategies than camelCase
  • #4680: Custom key deserialiser registered for Object.class in nested Map object is ignored when Map key type not defined
  • #4772: Serialization and deserialization issue of sub-types used with JsonTypeInfo.Id.DEDUCTION where sub-types are Object and Array
  • #4773: SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS should not apply to Maps with uncomparable keys

Changes, data formats

Changes, datatypes

Guava

  • #1: Add deserialization support for Table<R, C, V>

Changes, Other modules

Changes, Providers

  • #36: Narrow types to format specific (e.g. CBORMapper) when resolving via JAX-RS Providers

Changes, other

  • #171: Add a JSON.Feature.WRITE_RECORD_FIELDS_IN_DECLARATION_ORDER for retaining Serialization order of Java Records (instead of alphabetic)
Clone this wiki locally