Skip to content

Jackson Release 2.17.1

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

Patch version of 2.17, open for development as of mid-March 2024.

Following fixes will be included in this patch release.

Changes, core

  • #1241: Fix NumberInput.looksLikeValidNumber() implementation
  • #1256: Revert [#1117]: change default recycler pool back to threadLocalPool() for 2.17.1
  • #4428: ByteBuddy scope went beyond test in version 2.17.0
  • #4430: Use ReentrantLock instead of synchronized in DeserializerCache to avoid deadlock on pinning
  • #4435: Cannot deserialize value of type java.math.BigDecimal from String ".05": not a valid representation
  • #4441: @JsonSetter(nulls = Nulls.SKIP) doesn't work in some situations
  • #4450: Empty QName deserialized as null
  • #4471: Reconsider deprecation of JsonNode.asText(defaultValue)
  • #4481: Unable to override DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL with JsonFormat.Feature.READ_UNKNOWN_ENUM_VALUES_AS_NULL
  • #4489: Unable to override DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE with JsonFormat.Feature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE

Changes, data formats

[Ion]

  • #484: Upgrade ion-java to 1.11.4 (from 1.11.2)

Changes, datatypes

  • #306: Only DateTimeFormatter.ISO_OFFSET_DATE_TIME accepted by ZonedDateTimeKeyDeserializer

Changes, JVM Languages

  • #776: Delete Duration conversion that was no longer needed.
  • #779: Errors no longer occur when processing Record types defined in Java.

Changes, Providers

  • #26: Replace synchronized blocks with ReentrantLocks
  • #28: Mark variables as volatile for safe concurrent access
  • #184: Use ReentrantLocks instead of synchronized blocks
  • #187: Mark variables as volatile for safe concurrent access

Changes, other

  • #90: USE_BIG_DECIMAL_FOR_FLOATS feature not working when using JSON.treeFrom()
Clone this wiki locally