-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Jackson Release 2.6
Tatu Saloranta edited this page Aug 11, 2015
·
40 revisions
Version 2.6.0 was released July 17th, 2015. It is a "minor" release following 2.5, meaning that it adds new functionality but be backwards compatible with earlier 2.x releases.
Beyond initial 2.6.0 (described here), following patch releases have been made or are planned:
No changes to JDK requirements or baseline requirements/supports for external platforms (like Android or Scala versions)
-
#43: Add
@JsonFormat(with=Feature.xxx)to support things likeDeserializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPEDon per-property basis. -
#58: Add new properties for
@JsonIgnoreProperties, "allowGetters", "allowSetters" -
#60: Add new value type,
OptBoolean, for "optional booleans", to support proper handling and usage of default values, not just explicit true/false. -
#61: Add new property,
@JsonProperty.access(and matching enum) to support read-only/write-only properties -
#64: Add
@Documentedfor@JsonPropertyDescription
-
#137: Allow filtering content read via
JsonParserby specifyingJsonPointer; uses new classcom.fasterxml.jackson.core.filter.FilteringParserDelegate(and related,TokenFilter) -
#177: Add a check so
JsonGenerator.writeString()won't work ifwriteFieldName()expected. -
#182: Inconsistent
TextBuffer.getTextBuffer()behavior -
#185: Allow filtering content written via
JsonGeneratorby specifyingJsonPointer; uses new classcom.fasterxml.jackson.core.filter.FilteringGeneratorDelegate(and related,TokenFilter) -
#188:
JsonParser.getValueAsString()should return field name forJsonToken.FIELD_NAME, notnull -
#189: Add
JsonFactory.Feature.USE_THREAD_LOCAL_FOR_BUFFER_RECYCLING(default: true), which may be disabled to prevent use of ThreadLocal-based buffer recyling. -
#195: Add
JsonGenerator.getOutputBuffered()to find out amount of content buffered, not yet flushed. -
#196: Add support for
FormatFeatureextension, for format-specifc Enum-backed parser/generator options - Other:
- Minor improvement to construction of "default PrettyPrinter": now overridable by data format modules
- Implement a new yet more optimized symbol table for byte-backed parsers
- Add
JsonParser.Feature.IGNORE_UNDEFINED, useful for data formats like protobuf
- #77: Allow injection of 'transient' fields
-
#95: Allow read-only properties with
@JsonIgnoreProperties(allowGetters=true) -
#296: Serialization of transient fields with public getters (add
MapperFeature.PROPAGATE_TRANSIENT_MARKER) - #312: Support Type Id mappings where two ids map to same Class
-
#348:
ObjectMapper.valueToTree()does not work with@JsonRawValue -
#504: Add
DeserializationFeature.USE_LONG_FOR_INTS -
#624: Allow setting external
ClassLoaderto use, viaTypeFactory -
#649: Make
BeanDeserializeruse newparser.nextFieldName()and.hasTokenId()methods -
#664: Add
DeserializationFeature.ACCEPT_FLOAT_AS_INTto prevent coercion of floating point numbers intint/long/Integer/Long -
#677: Specifying
Enumvalue serialization using@JsonProperty - #688: Provide a means for an ObjectMapper to discover mixin annotation classes on demand
-
#689: Add
ObjectMapper.setDefaultPrettyPrinter(PrettyPrinter) -
#696: Copy constructor does not preserve
_injectableValues -
#698: Add support for referential types (
ReferenceType) - #700: Cannot Change Default Abstract Type Mapper from LinkedHashMap
- #725: Auto-detect multi-argument constructor with implicit names if it is the only visible creator
-
#727: Improve
ObjectWriter.forType()to avoid forcing base type for container types -
#734: Add basic error-recovery for
ObjectReader.readValues() -
#737: Add support for writing raw values in
TokenBuffer -
#740: Ensure proper
null(as empty) handling forAtomicReference -
#743: Add
RawValuehelper type, for piping raw values throughTokenBuffer -
#756: Disabling SerializationFeature.FAIL_ON_EMPTY_BEANS does not affect
canSerialize() -
#762: Add
ObjectWriter.withoutRootName(),ObjectReader.withoutRootName() - #777: Allow missing build method if its name is empty ("")
-
#781: Support handling of
@JsonProperty.requiredfor Creator methods -
#787: Add
ObjectMapper setFilterProvider(FilterProvider)to allow chaining -
#790: Add
JsonNode.equals(Comparator<JsonNode>, JsonNode)to support configurable/external equality comparison -
#794: Add
SerializationFeature.WRITE_DATES_WITH_ZONE_IDto allow inclusion/exclusion of timezone id for date/time values (as opposed to timezone offset) - #795: Converter annotation not honored for abstract types
-
#810: Force value coercion for
java.util.Properties, so that values areStrings -
#811: Add new option,
JsonInclude.Include.NON_ABSENT(to support exclusion of JDK8/Guava Optionals) -
#813: Add support for new property of
@JsonProperty.accessto support read-only/write-only use cases -
#820: Add new method for
ObjectReader, to bind from JSON Pointer position -
#824: Contextual
TimeZonechanges don't take effect wrtjava.util.Date,java.util.Calendarserialization - #827: Fix for polymorphic custom map key serializer
-
#840: Change semantics of
@JsonPropertyOrder(alphabetic)to only counttruevalue -
#848: Custom serializer not used if POJO has
@JsonValue -
#849: Possible problem with
NON_EMPTYexclusion,ints,Strings - #868: Annotations are lost in the case of duplicate methods
- #72: Recognize the configured "null value" (String) also in reader-infrastructure.
-
#74: Problems with ordering,
@JsonPropertyOrderlosing alphabetic ordering - #83: Serializing List with null values leads to corrupt CSV
The very first official release!
-
#35: Add
YAMLGenerator.Feature.SPLIT_LINESto allow controlling whetherSnakeYAMLsplits longer text blocks with line breaks or not- Also: upgrade to SnakeYAML 1.15
-
#64:
@JsonUnwrappedannotation is ignored when a field is anOptional -
#66: Add
GuavaModule.configureAbsentsAsNulls(boolean)to change whetherOptional.absent()is to be handled same as Java null during serialization (default: true) or not. -
#67: Support deserializing
ImmutableSetMultimaps -
#68: Add support for
JsonInclude.Include.NON_ABSENT, to compensate for #66 - #70: Change OSGi manifest entries to import guava 15.0 or greater
-
#74: Multimap serializer ignores
_valueTypeSerializer
- #67: Provide support for Hibernate 5.x (hibernate5 maven sub-module; Hibernate5Module Jackson module)
- Update hppc dependency to 0.7.1
- NOTE! Due to HPPC API incompatibilities, this means that module can NOT be used with HPPC versions earlier than 0.7.0.
- Minimum JDK version now 1.7, as per minimum by HPPC
- #8: JDK8 module should respect JsonInclude.Include.NON_ABSENT
-
#11: Add
configureAbsentsAsNullsconfig setting, for better compatibility with Guava module
- #49: testDateMidnightSerWithTypeInfo test dependent on $TZ
- #58: Support timezone configuration for Interval deserializer
- #62: Allow use of numbers-as-Strings for LocalDate (in array)
-
#64: Support
@JsonFormat(pattern=...)for deserialization -
#66: Support
SerializationFeature.WRITE_DATES_WITH_ZONE_ID -
#68: TimeZone in DeserializationContext is ignored with
SerializationFeature.WRITE_DATES_WITH_ZONE_ID
JSR-310 (aka Java8 Dates)
- #18: Support serializing and deserializing Maps with jsr310 types as keys
- #26: ISO strings with time-component cause exception when deserializing to LocalDate
-
#29: Add support for
@JsonFormatforInstant -
#30: Make
ZonedDateTimeserializer supportSerializationFeature.WRITE_DATES_WITH_ZONE_ID
-
#24:
String/byte[]composers can not write POJOs (ObjectCodec not linked) - Other
- Minor performance optimizations (+10-20% throughput), using new jackson-core 2.6 methods for reading, writing
-
#39: Build alternate jars with qualifier "no-metainf-services", which do NOT include
META-INF/servicesmetadata for auto-registration
- [#46]((../../jackson-module-afterburner/issues/46): Log-warning "Disabling Afterburner deserialization for type" using wrong logger-name
- [#53]((../../jackson-module-afterburner/issues/53): Include checksum in generated class names (to resolve #52)
- #53: Add support to oneOf
- #57: Enum types should generate a schema that includes the possible enum values
-
#60: Add
readonlyproperty toJsonSchema - #67: Unable to deserialize (extended/custom) Schema
- #69: Add support for @Pattern annotations in String schemas
- Added
JsonSchemaGenerator(ObjectWriter)to allow use of (re-)configuredObjectWriterinstead ofObjectMapperwhich can not be configured.
- [#21]((../../jackson-module-mrbean/issues/21): Change default package used for materialized classes to reflect Jackson 2.x
The very first official release!