-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 2.18
Tatu Saloranta edited this page Jun 8, 2024
·
116 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).
Branch is waiting to be created.
No release yet
Same as Jackson 2.17
Kotlin 1.7.x no longer supported (1.8, 1.9, 2.0 are): [TO DO ADD LINK TO ISSUE]
-
databind#562: Allow
@JsonAnySetterto flow through Creators- In-progress, likely to get included
-
databind#512: Add
@JsonWrapped- Matching annotations issue: annotations#42
- Fix handling of
nullType Id withJsonGenerator.writeTypePrefix()(and databind-levelTypeIdSerializer)- Issue: databind#4407
- Background:
- See databind#4354 for immediate problem with
nulltype id - See databind#3307 that seems like regression
- See databind#4354 for immediate problem with
- More optimized
JsonParser.getFloatValue()/JsonParser.getDoubleValue(): avoidStringcreation when callingFastDoubleParser-
core#1229: Add char[] versions for NumberInput parseFloat, parseDouble, parseBigInteger
- implemented; but not used by databind or core itself
-
core#1284: Optimize
JsonParser.getDoubleValue()/getFloatValue()/getDecimalValue()to avoid String allocation- possible regression for Deferred handling: currently eagerly construct
Stringto ensure most accurate representations (but should instead only do when required)
- possible regression for Deferred handling: currently eagerly construct
-
core#1229: Add char[] versions for NumberInput parseFloat, parseDouble, parseBigInteger
- [https://github.com/FasterXML/jackson-databind/issues/4515] -- fully rewritten POJO (including Record) Property Introspection
- Solved 5 previously failing unit tests:
- (only for 3.0) #538: Injection when there is cyclic references fails
-
#806: Problem with
NamingStrategy, creator methods with implicit names -
#2977: Incompatible
FAIL_ON_MISSING_PRIMITIVE_PROPERTIESand field level@JsonProperty -
#3241:
constructorDetectorseems to invalidatedefaultSetterInfofor nullability -
#4119: Exception when deserialization uses a record with a constructor property with
access=READ_ONLY
- Solved 5 previously failing unit tests:
-
#1230: Improve performance of
floatanddoubleparsing fromTextBuffer -
#1251: InternCache - replace synchronized with
ReentrantLock -
#1252:
ThreadLocalBufferManagerreplace synchronized withReentrantLock - #1257: Increase InternCache default max size from 100 to 200
- #1262: Add diagnostic method pooledCount() in RecyclerPool
-
#1264: Rename shaded
ch.randelshofer:fastdoubleparserclasses to prevent use by downstream consumers -
#1271: Deprecate
LockFreePoolimplementation in 2.18 (remove from 3.0) -
#1277: Add back Java 22 optimisation in
FastDoubleParser
-
#806: Problem with
NamingStrategy, creator methods with implicit names -
#2977: Incompatible
FAIL_ON_MISSING_PRIMITIVE_PROPERTIESand field level@JsonProperty -
#3241:
constructorDetectorseems to invalidatedefaultSetterInfofor nullability -
#4119: Exception when deserialization uses a record with a constructor property with
access=READ_ONLY -
#4356:
BeanDeserializerModifier::updateBuilder()doesn't work for beans with Creator methods -
#4452:
@JsonPropertynot serializing field names properly on@JsonCreatorin Record -
#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_DEFAULTsetting is used,isEmpty()method is not called on the serializer -
#4472: Rework synchronized block in
TypeDeserializerBase -
#4483: Remove
finalon method BeanSerializer.serialize() - #4515: Rewrite Bean Property Introspection logic in Jackson 2.x
-
#4570: Deprecate
ObjectMapper.canDeserialize()/ObjectMapper.canSerialize()
- #494: Avro Schema generation: allow mapping Java Enum properties to Avro String values
-
#468: Remove synchronization from
CsvMapper -
#469: Allow CSV to differentiate between
nulland empty fields (foo,,bar vs. foo,"",bar)
-
#484: Rework synchronization in
ProtobufMapper
- #233: Tolerate JAX-RS 2.2 in jackson-module-jaxb-annotations so that it can be deployed in Liberty alongside features which use 2.2
- #782: Content marked as deprecated has been reorganized. Several constructors and accessors to properties of KotlinModule.Builder that were marked as DeprecationLevel.ERROR have been removed. Also, the content marked as DeprecationLevel.WARNING is now DeprecationLevel.ERROR.
- #803: Default Kotlin dependency has been upgraded to 1.8.10. (1.8.22 is not used to avoid KT-65156)
- #: