Jackson Release: 1.9
Version 1.9 was released October 4, 2011, about 6 months after 1.8.
The biggest general feature implemented was a complete rewrite of Bean Property introspection logic (see JACKSON-242 below), which conceptually binds distinct accessors (getter, setter, field, constructor parametre) of a logical property, and merges all relevant annotations. This is good in that it removes need for redudant annotatons when renaming or ignoring properties, or defining type information.
In addition to multiple other features, the main focus was to plan for upcoming 2.0, which is likely to be less backwards-compatible release. The goal was to try to add deprecation warnings as early as possible, to try to minimize eventual changes needed to upgrade code relies on 1.9, to use 2.0. As a result, number of deprecated methods and classes increased significantly.
The last bigger general change was the introduction of ValueInstantatiors (see below), which finally allows for custom handling of POJO creation, above and beyond ability to use @JsonCreator annotation.
* Jackson 1.9 feature overview (at Cowtalk)
Implemented features, Major
JACKSON-242 Rewrite property introspection part of framework to combine getter/setter/field annotations
JACKSON-453: Support for 'external type id' by adding @JsonTypeInfo.As.EXTERNAL_PROPERTY to indicate that property should be added at parent (i.e. as sibling to value being typed)
Related: JACKSON-633 add @JsonValueInstantiator to specify instantiator for a class.
Implemented features, Medium
JACKSON-517 Create "mini-core" ("jackson-mini-VERSION.jar") jar that trims down as much weight from standard jackson-core jar as possible
JACKSON-594 Support deserializing of non-static inner classes
JACKSON-598 Add set of standard naming-strategy implementations
JACKSON-602 Add JsonSerialize.Inclusion.NON_EMPTY option
Implemented features, Minor
JACKSON-584 Serialize type info for non-static anonymous inner classes as that of declared (static) type
JACKSON-606 Add proper support for serializing Java Date values as Map keys
JACKSON-653 Add efficient JsonParser.nextFieldName() and JsonParser.nextXxxValue() methods.
Planned features that were deferred
Following features were considered for inclusion, but ended up getting deferred:
JACKSON-275: Support multi-argument setters (to allow co-constraints)
JACKSON-437: Support to set logical property with value of type id that was used for deserialization
- NOTE: should be high priority since it was already deferred from 1.8
JACKSON-592 Allow inlining/unwrapping of value from single-component JSON array