-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 2.4
Version 2.4.0 was released in June 2014. It is a "minor" release following 2.3, meaning that it adds new functionality but be backwards compatible with earlier 2.x releases.
Branch is closed for all new releases (including micro-patches)
Beyond initial 2.4.0 (described here), following patch releases were made:
- 2.4.1 (16-Jun-2014)
- 2.4.2 (15-Aug-2014)
- 2.4.3 (04-Oct-2014)
- 2.4.4 (24-Nov-2014)
- 2.4.5 (13-Jan-2015)
- 2.4.6 (23-Apr-2015)
Support for oldest Android versions (2.x) will not be continued, as Jackson modules may use full feature set of JDK 1.6.
Scala module will only support Scala 2.10 and above (and will support 2.11 for the first time)
The biggest improvement with 2.4 is the ability to finally resolve so-called Object Id Forward References between objects: that is, declaration of an Object Id need not come before reference in document order (or be directly reference from within same object).
Resolution of property name conflicts has been improved: "cleaved" properties are not considered to be conflicts, as long there are no ambiguities in renaming (with 2.3 and earlier some cases with alternate names are considered errors even if intent can be decuded and there is no actual ambiguity). Part of the fix includes distinguishing between implicit and explicit names for parameters as well, in cases where implicit names can be introspector (using Paranameter, or JDK8 feature).
-
#31: Allow use of
@JsonPropertyOrder
for properties (not just classes) -
#32: Add
@JsonProperty.index
for indicating optional numeric index of the property. - Add
JsonFormat.Value#timeZoneAsString
(needed by Joda module) - Add
@JsonRootName.namespace
to allow specifying of namespace with standard Jackson annotations (not just XML-specific ones that dataformat-xml provides)
- #121: Increase size of low-level byte[]/char[] input/output buffers (from 4k->8k for bytes, 2k->4k for chars)
-
#127: Add
JsonGenerator.writeStartArray(int size)
for binary formats -
#138: Add support for using
char[]
as input source; optimize handling ofString
input as well.
-
#88: Prevent use of type information for
JsonNode
via default typing - #149: Allow use of "stringified" indexes for Enum values
- #176: Allow use external Object Id resolver (to use with @JsonIdentityInfo etc)
-
#335: Allow use of
@JsonPropertyOrder(alphabetic=true)
for Map properties - #351: ObjectId does not properly handle forward references during deserialization
-
#353: Problems with polymorphic types,
JsonNode
(related to #88) - #359: Converted object not using explicitly annotated serializer
-
#369: Incorrect comparison for renaming in
POJOPropertyBuilder
-
#375: Add
readValue()
/readPropertyValue()
methods inDeserializationContext
- #381: Allow inlining/unwrapping of value from single-component JSON array
- #390: Change order in which managed/back references are resolved (now back-ref first, then forward)
- #407: Properly use null handlers for value types when serializer Collection and array types
-
#428:
PropertyNamingStrategy
will rename even explicit name from@JsonProperty
- #434: Ensure that DecimalNodes with mathematically equal values are equal
-
#26: Inconsistent quoting of headers, values; add
CsvGenerator.Feature.STRICT_CHECK_FOR_QUOTING
to allow more optimal checks. - #32: Allow disabling of quoteChar (suggested by Jason D)
-
#40: Allow (re)ordering of columns of Schema, using
CsvSchema.sortedBy(...)
-
#45: Change outputting behavior to include final commas even if values are missing; also add
CsvGenerator.OMIT_MISSING_TAIL_COLUMNS
- #76: UnrecognizedPropertyException when containing object is a Collection
-
#83: Add support for
@JsonUnwrapped
-
#99: Problem with
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
, Lists - #108: Unwrapped list ignore attributes if 2 lists in sequence
-
#111: Make vanilla
JaxbAnnotationIntrospector
work, without having to useXmlJaxbAnnotationIntrospector
-
#43: Add support for
HostAndPort
-
#53: When JPA annotations are not used, collections are always loaded (added
Hibernate4Module.Feature.REQUIRE_EXPLICIT_LAZY_LOADING_MARKER
with default value offalse
)
The very first official release:
- Supports
java.nio.file.Path
-
#49: Add
JaxRSFeature.ALLOW_EMPTY_INPUT
, disabling of which can prevent mapping of empty input into Java null value
Changes, Jackson jr
The very first official release!
Parameter Names (JDK8 only)
The very first official release!
- Support discovery of parameter names for JSON Creator methods.