Skip to content

Jackson Release 2.3

Tatu Saloranta edited this page Mar 28, 2014 · 28 revisions

Version 2.3 was released in November, 2013. It is a "minor" release following 2.2, meaning that it adds new functionality but be backwards compatible with earlier 2.x releases.

Patches

Beyond initial 2.3.0 (described here), following patch releases have been made or are planned:

Changes: compatibility

While initial decision had been made to require JDK 1.6 as the baseline, team decided to make an exception for version 2.3.2, so that old Android versions could use it -- basically this means that some changes were reverted for just that version. 2.4 will fully require JDK 1.6.

Changes: packaging

Another packaging change was to reduce amount of debug information for core (streaming, annotations, databind) packages. While this did result in significant reduction in jar sizes (20-25% smaller), it did lead to problems with developers: 2.4 will revert to full debug information for the default jars, and we will try to figure out a way to offer alternative 'minimal' packages with no debug information.

Changes: functional, high-level

(TO BE DESCRIBED)

Changes, core

  • #13: Add @JsonPropertyDescription (mostly to support descriptions in JSON Schema)
  • #8 Add methods in JsonParser/JsonGenerator for reading/writing "native" Object Ids (initially, to support YAML anchors, aliases)
  • #47: Support YAML-style comments with JsonParser.Feature.ALLOW_YAML_COMMENTS
  • #60: Add feature JsonParser.Feature.STRICT_DUPLICATE_DETECTION to allow strict verification of uniqueness of property names during streaming parsing.
  • #91: Add methods in JsonParser/JsonGenerator for reading/writing "native" Type Ids (initially, to support YAML "tags")
  • #215: Allow registering CharacterEscapes via ObjectWriter
  • #227: Allow registering "general" Enum serializers, deserializers, via SimpleModule
  • #237: Add DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY to throw JsonMappingException on duplicate keys, tree model (JsonNode)
  • #238: Allow existence of overlapping getter, is-getter (choose 'regular' getter)
  • #269: Add support for new @JsonPropertyDescription via AnnotationIntrospector
  • #270: Add SerializationFeature.USE_EQUALITY_FOR_OBJECT_ID to allow use of equality (instead of identity) for figuring out when to use Object Id

Changes, Data Formats

  • #20: Support filtering with @JsonView, @JsonFilter
  • #38: Support root-level Collection serialization
  • #64: Problems deserializing unwrapped lists, with optional (and missing) attribute.
  • #71: Fix issues with XmlMapper.convertValue()
  • Add support for JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN
  • #17: Add support for YAML native type ids ("tags")

Changes, Data Types

(TO BE COMPLETED)

Changes, JAX-RS

  • #24: Allow defining default view to use for endpoints without View annotation
  • #33: Provide a way to customize ObjectReader / ObjectWriter used by end points

Changes, Other modules

  • #25: @XmlElementWrapper() should work with USE_WRAPPER_NAME_AS_PROPERTY_NAME, use underlying "default" property name
  • #33: SuperSonicBeanDeserializer not working (missing optimization)
  • #34: Needs to skip private creators, can not access even from sub-class.

First official release!

  • #25: @XmlElementWrapper() should work wrt USE_WRAPPER_NAME_AS_PROPERTY_NAME, use underlying "default" property name
  • #14: Generated schema contains multiple 'type' values
  • #18: Add mechanism to customize schema for property
  • #24: Improved Schema generation for Maps
  • #3: Should not throw an exception if name not found
  • #103: (Regression) Serialization of a class containing Option[JsonNode] fails
  • #103: (Regression) Serialization of a class containing Option[JsonNode] fails
  • #102: (Regression) JsonMappingException Argument of constructor has no property name annotation
  • #101: version 2.2.3 can't deserialize some class that version 2.2.2 can
  • #100: Deserializing SortedSets
Clone this wiki locally