-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 2.5
Version 2.5.0 was released January 1st, 2015. It is a "minor" release following 2.4, 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.5.0 (described here), following patch releases were made:
No changes to JDK requirements or baseline requirements/supports for external platforms (like Android or Scala versions).
One accidental change is with serialization of Map.Entry (see #565 for details): before 2.5, serialization used default POJO approach, resulting in something like:
{ "key" : <key string>, "value" : <value object> }
but with #565 output was simplified to be:
{ <key string> : <value object> }
to support more natural serialization of things like List<Map.Entry>.
It is worth noting that before 2.5 only serialization would work; deserialization was not supported.
With 2.5, both serialization and deserialization work.
-
#47: Add
@JsonCreator.modeproperty to explicitly choose between delegating- and property-based creators -
#48: Allow
@JsonViewfor (method) parameters too (not used by Jackson itself, but requested by frameworks) - Added
@JsonInclude.contentto allow specifying inclusion criteria forjava.util.Mapentries separate from inclusion ofMapvalues
-
#47: Support
@JsonValuefor (Map) key serialization -
#148:
BytesToNameCanonicalizercan mishandle leading null byte(s). -
#164: Add
JsonGenerator.Feature.IGNORE_UNKNOWN(but support via individual data format modules)
-
#113: Problem deserializing polymorphic types with
@JsonCreator -
#165: Give custom Deserializers access to the resolved target Class of the currently deserialized object (via
DeserializationContext.getContextualType()duringcreateContextual()callback) -
#421:
@JsonCreatornot used in case of multiple creators with parameter names - #521: Keep bundle annotations, prevent problems with recursive
-
#527: Add support for
@JsonInclude(content=Include.NON_NULL)(and others) for Maps -
#528: Add support for
JsonType.As.EXISTING_PROPERTY - #539: Problem with post-procesing of "empty bean" serializer
-
#540: Support deserializing
[]as null or empty collection when the java type is a not an object (aka "work around PHP issues") - #543: Problem resolving self-referential recursive types
- #552: Improved handling for ISO-8601 (date) format
-
#560:
@JsonCreatorto deserialize BigInteger to Enum -
#565: Add support for handling
Map.Entry -
#566: Add support for case-insensitive deserialization (
MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES) -
#571: Add support in ObjectMapper for custom
ObjectReader,ObjectWriter(sub-classes) -
#607: Allow (re)config of
JsonParser.Features viaObjectReader -
#608: Allow (re)config of
JsonGenerator.Features viaObjectWriter -
#622: Support for non-scalar
ObjectIdReference deserialization (like JSOG) -
#631: Update
current valueofJsonParser,JsonGeneratorfrom standard serializers, deserializers -
#638: Add annotation-based method(s) for injecting properties during serialization (using
@JsonAppend,VirtualBeanPropertyWriter) -
#654: Add support for (re)configuring
JsonGenerator.setRootValueSeparator()viaObjectWriter -
#653: Added
MapperFeature.USE_STD_BEAN_NAMING(by default, Jackson property name handling differs from std if 2 first chars are upper case) -
#655: Add
ObjectWriter.writeValues()for writing value sequences -
#660
@JsonCreator-annotated factory method is ignored if constructor exists
-
#50: Support
JsonGenerator.Feature.IGNORE_KNOWNfor CSV, to ignoring extra columns -
#53: Add a way to specify "null value" (String) for
CsvGeneratorto use when writingnulls (part ofCsvSchema; methodwithNullValue()) -
#56: Support comments (either via
CsvSchema, or using std `JsonParser.Feature.ALLOW_YAML_COMMENTS. - #57: Support simple array values
-
#61: Add a feature to always quote non-numeric values:
CsvGenerator.Feature.ALWAYS_QUOTE_STRINGS
- #22: Add support for disabling use of YAML native Type Ids
- #23: Add support for disabling use of YAML native Object Ids
- #32: Add support for Bean Validation (JSR-303) annotations