- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.2k
 
Jackson Release 2.6
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.
Branch is closed for all new releases: the last micro-patches will be released by end of 2020, after which no releases will be made.
This version introduced 2 new FasterXML-maintained standard modules:
- Protobuf data format module for handling Protocol Buffers encoded data
 - 
OSGi module for injecting helper objects (via 
@JacksonInject) using OSGi registry 
Beyond initial 2.6.0 (described here), following patch releases have been made or are planned:
- 2.6.1 (09-Aug-2015)
 - 2.6.2 (15-Sep-2015)
 - 2.6.3 (12-Oct-2015)
 - 2.6.4 (07-Dec-2015)
 - 2.6.5 (19-Jan-2016)
 - 2.6.6 (05-Apr-2016)
 - 2.6.7 (05-Jun-2016)
 
At this point, branch was officially closed for full releases, but there are further micro-patches of:
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: Log-warning "Disabling Afterburner deserialization for type" using wrong logger-name
 - #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: Change default package used for materialized classes to reflect Jackson 2.x
 
The very first official release!
Parameter Names (Java 8 parameter names)
- #21: Unable to associate parameter name with single non-annotated constructor argument