Jackson Release: 1.5 "Types R Us"
(but funny guys call me "Jackson Five"!)
Jackson 1.5 was released on March 14th 2010.
It is classified as a "minor" update over 1.4, since it will be mostly backwards compatible (hence not a "major" version bump), but will introduce new features (hence not a "patch" release).
Main focus of this release will is on implementing the number one user requested feature: Polymorphic type handling. That is, ability to embed exact type information in JSON, to allow for binding back to exact types, even if static type information does not indicate those types. This is important for some use cases, and especially with loosely typed Collections.
Following is the list of functionality that has been implemented for this release.
- Can now handle polymorphic subtypes safely, reliably, and without any code (just annotations or global enabling).
Enabled using @JsonTypeInfo (see JacksonAnnotations) on base class; or ObjectMapper.enableDefaultTyping() to enable addition of type info for wide class of types.
JACKSON-195: Add methods to ObjectMapper to allow specification of root object type. Implemented by new ObjectWriter abstraction, which also supports better way to define JSON View to use for serialization.
- JSONP (json-p) support:
JACKSON-244: configurability of auto-detection visibility; allows, for example, auto-detect private fields without annotations (@JsonAutoDetect (getterVisibility=Visibility.ANY) or equivalent global setting using VisibilityChecker)
- Date handling:
JACKSON-221: Add convenience method: byte ObjectMapper.writeValueAsBytes
JACKSON-241: Allow defining additional ignorable ("untouchable") classes for JAX-RS provider, method JacksonJsonProvider.addUntouchable().
Features that were considered, but postponed for following releases:
JACKSON-235: Handle bi-directional references using declarative method(s) ("make things work with Hibernate", SQL depedencies)