Skip to content

Jackson Release 2.18

Tatu Saloranta edited this page Apr 27, 2024 · 26 revisions

Jackson Version 2.18 development is planned to start in March, 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 waiting to be created.

Patches

No release yet

Documentation

Articles, Blog posts

Changes, compatibility

Compatibility: platform requirements

JDK

Same as Jackson 2.17

Changes, behavior


Major focus areas, features included

The Focus!

  • REWRITE BEAN PROPERTY INTROSPECTION -- AND ESPECIALLY CREATOR INTROSPECTION

Most Wanted features planned

Functionality improvements

  • Fix handling of null Type Id with JsonGenerator.writeTypePrefix() (and databind-level TypeIdSerializer)

Performance improvements

  • More optimized JsonParser.getFloatValue() / JsonParser.getDoubleValue(): avoid String creation when calling FastDoubleParser
    • Issue reported: core#1229: Add char[] versions for NumberInput parseFloat, parseDouble, parseBigInteger
    • possible regression for "Deferred" number parsing

Full Change list

Changes, core

  • #1230: Improve performance of float and double parsing from TextBuffer
  • #1251: InternCache - replace synchronized with ReentrantLock
  • #1257: Increase InternCache default max size from 100 to 200
  • #1262: Add diagnostic method pooledCount() in RecyclerPool
  • #1266: Change default recycler pool to bewConcurrentDequePool() in 2.18
  • #4453: Allow JSON Integer to deserialize into a single-arg constructor of parameter type double
  • #4456: Rework locking in DeserializerCache
  • #4458: Rework synchronized block from BeanDeserializerBase
  • #4464: When Include.NON_DEFAULT setting is used, isEmpty() method is not called on the serializer
  • #4472: Rework synchronized block in TypeDeserializerBase
  • #4483: Remove final on method BeanSerializer.serialize()

Changes, data formats

  • #468: Remove synchronization from CsvMapper
  • #469: Allow CSV to differentiate between null and empty fields (foo,,bar vs. foo,"",bar)
  • #484: Rework synchronization in ProtobufMapper

Changes, JVM Languages

Changes, Providers

Changes, other

Clone this wiki locally