Jackson Release: 1.3 "Great Pumpkin"
Release 1.3 of Jackson (code name "Great Pumpkin") was released October 30th 2009. It is classified as a "minor" update over 1.2, since it will be fully backwards compatible (hence not a "major" version bump), but will introduce number of new features (hence not a "patch" release -- although "Pumpkin Patch" would be an apt term, maybe use that for 1.3.1).
Following is the list of significant improvements release contains.
Check out complete release notes for full list of changes)
Implemented features
Implemented: major
JACKSON-129 Allow constructing JsonParser to read from JsonNode (Tree Model): can be used for binding JSON Trees as Java objects, similar to how textual JSON content can be bound to objects
JACKSON-159: Added org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider for easier use of JAXB annotations with JAX-RS.
JACKSON-174: Added ObjectMapper.convertValue() for convenient conversions between compatible (but not necessarily Java castable!) types -- functionally identical to serializing from source value to JSON, deserializing to target type, but more efficient.
Implemented: minor
JACKSON-152: Convenience method (ObjectMapper.writeValueAsString()) to simplify serializing Java objects as JSON Strings.
JACKSON-153: Allow use of @JsonCreator with Map types too
JACKSON-154: Added .keyUsing and .contentUsing for JsonDeserialize annotation, to allow specifying deserializer to use for key and content/value types of structured-value (Collection, Map, array) properties
JACKSON-158: Simple checking for self-references (tight cycle) during serialization, instead of waiting for StackOverflowError
JACKSON-165: Add JsonParser.getBooleanValue() convenience method
JACKSON-173: Add feature JsonParser.Feature.ALLOW_SINGLE_QUOTES to allow parsing invalid JSON content that uses single-quotes (apostrophes) instead of double quotes
JACKSON-176: Added JsonGenerator.Feature.WRITE_NUMBER_AS_STRINGS as a workaround for Javascript problems with big longs (due to always representing numbers as 64-bit doubles internally)
JACKSON-180: Added JsonParser.Feature.INTERN_FIELD_NAMES to allow disabling field name intern()ing.
Important bug fixes
- Deserialization:
JACKSON-167: Generic type information lost for Maps and Collections
JACKSON-179: Single-argument constructor Creators sometimes not found (reported for long arguments)
JACKSON-183: Root-level Bean annotations not handled completely
- OSGi packaging:
JACKSON-162: Jackson-xc module's dependencies were incorrectly declared.
Initially planned, but deferred
Major
JACKSON-138: Add support for "JSON views" (using @JsonView annotations)
- Will be the first new thing to be added for 1.4...
Minor
JACKSON-137: Allow use of proxy object to simplify handling of generic objects -- will possibly add "Jackson Sandbox" to first introduce this clever construct?
JACKSON-163: Support "wrapped" output for JAXB compatibility: additional dummy Map with a single key (from JAXB @XmlRootElement annotation), used to make output more similar to XML output.
