1*2bf66424SCole Faust Project: jackson-annotations 2*2bf66424SCole Faust 3*2bf66424SCole Faust NOTE: Annotations module will never contain changes in patch versions, 4*2bf66424SCole Faust only .0 releases can have changes. We may still release patch versions, but 5*2bf66424SCole Faust they will be identical to .0 versions, and only released for convenience 6*2bf66424SCole Faust (developers can line up all Jackson components with same patch version number). 7*2bf66424SCole Faust Main components will typically depend on .0 versions: please do NOT file 8*2bf66424SCole Faust issues against this being a bug; it is intentional. 9*2bf66424SCole Faust 10*2bf66424SCole Faust ------------------------------------------------------------------------ 11*2bf66424SCole Faust === Releases === 12*2bf66424SCole Faust ------------------------------------------------------------------------ 13*2bf66424SCole Faust 14*2bf66424SCole Faust 2.12.0 (not yet released) 15*2bf66424SCole Faust 16*2bf66424SCole Faust #171: `JsonSubType.Type` should accept array of names 17*2bf66424SCole Faust (contributed by Swayam R) 18*2bf66424SCole Faust #173: Jackson version alignment with Gradle 6 19*2bf66424SCole Faust #174: Add `@JsonIncludeProperties` 20*2bf66424SCole Faust (contributed by Baptiste P) 21*2bf66424SCole Faust 22*2bf66424SCole Faust 2.11.0 (26-Apr-2020) 23*2bf66424SCole Faust 24*2bf66424SCole Faust - `JsonPattern.Value.pattern` retained as "", never (accidentally) exposed 25*2bf66424SCole Faust as `null` 26*2bf66424SCole Faust 27*2bf66424SCole Faust 2.10.0 (26-Sep-2019) 28*2bf66424SCole Faust 29*2bf66424SCole Faust #138: Add basic Java 9+ module info 30*2bf66424SCole Faust #141: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` 31*2bf66424SCole Faust (suggested by Craig P) 32*2bf66424SCole Faust #159: Add `JsonFormat.Shape.BINARY` 33*2bf66424SCole Faust 34*2bf66424SCole Faust 2.9.1 (07-Sep-2017) 35*2bf66424SCole Faust 36*2bf66424SCole Faust #123: Add Automatic-Module-Name (`com.fasterxml.jackson.annotation`) for JDK9 interoperability 37*2bf66424SCole Faust 38*2bf66424SCole Faust 2.9.0 (30-Jul-2017) 39*2bf66424SCole Faust 40*2bf66424SCole Faust #103: Add `JsonInclude.Include.CUSTOM`, properties for specifying filter(s) to use 41*2bf66424SCole Faust #104: Add `JsonSetter.nulls`, `JsonSetter.contentNulls` for configurable null handling 42*2bf66424SCole Faust #105: Add `JsonFormat.lenient` to allow configuring lenience of date/time deserializers 43*2bf66424SCole Faust #108: Allow `@JsonValue` on fields 44*2bf66424SCole Faust #109: Add `enabled` for `@JsonAnyGetter`, `@JsonAnySetter`, to allow disabling via mix-ins 45*2bf66424SCole Faust #113: Add `@JsonMerge` to support (deep) merging of properties 46*2bf66424SCole Faust #116: Add `@JsonAlias` annotation to allow specifying alternate names for a property 47*2bf66424SCole Faust #120: Add new properties for `@JacksonInject` 48*2bf66424SCole Faust - Allow use of `@JsonView` on classes, to specify Default View to use on non-annotated 49*2bf66424SCole Faust properties. 50*2bf66424SCole Faust 51*2bf66424SCole Faust 2.8.0 (04-Jul-2016) 52*2bf66424SCole Faust 53*2bf66424SCole Faust #65: Add new choice for `JsonFormat.Shape`, `NATURAL` 54*2bf66424SCole Faust #79: Change `@JsonTypeInfo.defaultImpl` default value to deprecate `JsonTypeInfo.None.class` 55*2bf66424SCole Faust #83: Add `@JsonEnumDefaultValue` for indicating default enum choice if no real match found 56*2bf66424SCole Faust (suggested by Alejandro R) 57*2bf66424SCole Faust #87: Add `@JsonIgnoreProperties.Value` to support merging of settings 58*2bf66424SCole Faust #89: Add `JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES` 59*2bf66424SCole Faust #95: Add `JsonFormat.Feature#ADJUST_DATES_TO_CONTEXT_TIME_ZONE` 60*2bf66424SCole Faust (suggested by Alexey B) 61*2bf66424SCole Faust 62*2bf66424SCole Faust 2.7.0 (10-Jan-2016) 63*2bf66424SCole Faust 64*2bf66424SCole Faust #73: Add `@JsonClassDescription` 65*2bf66424SCole Faust (suggested by ufoscout@github) 66*2bf66424SCole Faust #77: Add a new `ObjectIdGenerator`, `StringIdGenerator`, to allow arbitrary 67*2bf66424SCole Faust `String` Object Id usage 68*2bf66424SCole Faust - Major rewrite of merging of `JsonFormat.Value` and `JsonInclude.Value`, to allow 69*2bf66424SCole Faust for better multi-level defaults (global, per-type, property) 70*2bf66424SCole Faust 71*2bf66424SCole Faust 2.6.0 (17-Jul-2015) 72*2bf66424SCole Faust 73*2bf66424SCole Faust #43: Add `@JsonFormat(with=Feature.xxx)` to support things like 74*2bf66424SCole Faust `DeserializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED` on per-property basis. 75*2bf66424SCole Faust #56: Improve `ObjectIdGenerators.key()` to handle `null` appropriately by returning `null` 76*2bf66424SCole Faust #58: Add new properties for `@JsonIgnoreProperties`, "allowGetters", "allowSetters" 77*2bf66424SCole Faust #60: Add new value type, `OptBoolean`, for "optional booleans", to support proper handling 78*2bf66424SCole Faust and usage of default values, not just explicit true/false. 79*2bf66424SCole Faust #61: Add new property, `@JsonProperty.access` (and matching enum) to support read-only/write-only properties 80*2bf66424SCole Faust #64: Add `@Documented` for `@JsonPropertyDescription` 81*2bf66424SCole Faust (suggested by Zoltan S) 82*2bf66424SCole Faust - Add `JsonInclude.Include.NON_ABSENT` value, for excluding "absent" Optional values. 83*2bf66424SCole Faust - Add tag interface `JacksonAnnotationValue` for helper types used for encapsulating information 84*2bf66424SCole Faust for "complex" annotations (multi-property ones) 85*2bf66424SCole Faust 86*2bf66424SCole Faust 2.5.0 (01-Jan-2015) 87*2bf66424SCole Faust 88*2bf66424SCole Faust #47: Add `@JsonCreator.mode` property to explicitly choose between delegating- 89*2bf66424SCole Faust and property-based creators, or to disable specific creator (Mode.DISABLED) 90*2bf66424SCole Faust #48: Allow `@JsonView` for (method) parameters too 91*2bf66424SCole Faust #49: Add `@JsonTypeInfo.skipWritingDefault` 92*2bf66424SCole Faust #50: Add `ObjectIdGenerator.maySerializeAsObject()`, 93*2bf66424SCole Faust `ObjectIdGenerator.ObjectIdGenerator.maySerializeAsObject()` to support JSOG 94*2bf66424SCole Faust - Added `@JsonInclude.content` to allow specifying inclusion criteria 95*2bf66424SCole Faust for `java.util.Map` entries separate from inclusion of `Map` values 96*2bf66424SCole Faust themselves 97*2bf66424SCole Faust - Finalize fix for [databind#490], by ensuring new mapping initialized for new context 98*2bf66424SCole Faust - Added `@JsonProperty.defaultValue()` (related to [databind#596]) 99*2bf66424SCole Faust 100*2bf66424SCole Faust 2.4.0 (29-May-2014) 101*2bf66424SCole Faust 102*2bf66424SCole Faust #31: Allow use of `@JsonPropertyOrder` for properties (not just classes) 103*2bf66424SCole Faust #32: Add `@JsonProperty.index` 104*2bf66424SCole Faust - Add `JsonFormat.Value#timeZoneAsString` (needed by Joda module) 105*2bf66424SCole Faust - Add `@JsonRootName.namespace` to allow specifying of namespace with 106*2bf66424SCole Faust standard Jackson annotations (not just XML-specific ones that dataformat-xml 107*2bf66424SCole Faust provides) 108*2bf66424SCole Faust 109*2bf66424SCole Faust 2.3.0 (13-Nov-2013) 110*2bf66424SCole Faust 111*2bf66424SCole Faust #13: Add `@JsonPropertyDescription` 112*2bf66424SCole Faust (suggested by Net-A-Porter@github) 113*2bf66424SCole Faust #20: Allow use of `@JsonFilter` for properties (via fields, methods, 114*2bf66424SCole Faust constructor parameters) 115*2bf66424SCole Faust (note: although #15 -- Add `JsonTypeInfo.As.EXISTING` property to support new 116*2bf66424SCole Faust variation for including Type Id was included, jackson-databind does not 117*2bf66424SCole Faust yet support it as of 2.3.0) 118*2bf66424SCole Faust 119*2bf66424SCole Faust 2.2.0 (22-Apr-2013) 120*2bf66424SCole Faust 121*2bf66424SCole Faust No changes since 2.1.1 122*2bf66424SCole Faust 123*2bf66424SCole Faust 2.1.1 (11-Nov-2012) 124*2bf66424SCole Faust 125*2bf66424SCole Faust Fixes: 126*2bf66424SCole Faust 127*2bf66424SCole Faust * Make ObjectIdGenerator java.io.Serializable (needed when serializing 128*2bf66424SCole Faust ObjectMappers/-Writers/-Readers) 129*2bf66424SCole Faust 130*2bf66424SCole Faust 2.1.0 (08-Oct-2012) 131*2bf66424SCole Faust 132*2bf66424SCole Faust New features: 133*2bf66424SCole Faust 134*2bf66424SCole Faust * [Issue#4]: Add '@JsonIdentityReference', to support use case where values of 135*2bf66424SCole Faust a specific reference property are always serialized as ids, never as full POJO 136*2bf66424SCole Faust 137*2bf66424SCole Faust Improvements: 138*2bf66424SCole Faust 139*2bf66424SCole Faust * Added '@JsonIdentityInfo.firstAsID' property, to allow forcing all references 140*2bf66424SCole Faust to an Object to be serialized as id, including first one. 141*2bf66424SCole Faust * Fix OSGi artifact name to be fully-qualified 142*2bf66424SCole Faust 143*2bf66424SCole Faust 144*2bf66424SCole Faust 2.0.2 (14-May-2012) 145*2bf66424SCole Faust 146*2bf66424SCole Faust Fixes: 147*2bf66424SCole Faust 148*2bf66424SCole Faust * OSGi bundle name was accidentally changed in 2.0.1; reverted back to one 149*2bf66424SCole Faust used in 2.0.0, earlier 150*2bf66424SCole Faust (reported Pascal G) 151*2bf66424SCole Faust 152*2bf66424SCole Faust 2.0.1 (22-Apr-2012) 153*2bf66424SCole Faust 154*2bf66424SCole Faust Fixes: 155*2bf66424SCole Faust 156*2bf66424SCole Faust * [JACKSON-827] Fix incompatibilities with JDK 1.5 (2.0.0 accidentally 157*2bf66424SCole Faust required 1.6) 158*2bf66424SCole Faust (reported Pascal G) 159*2bf66424SCole Faust 160*2bf66424SCole Faust 2.0.0 (25-Mar-2012) 161*2bf66424SCole Faust 162*2bf66424SCole Faust Improvements: 163*2bf66424SCole Faust 164*2bf66424SCole Faust * [JACKSON-437]: Allow injecting of type id as POJO property, by setting 165*2bf66424SCole Faust new '@JsonTypeInfo.visible' property to true. 166*2bf66424SCole Faust * [JACKSON-669]: Allow prefix/suffix for @JsonUnwrapped properties 167*2bf66424SCole Faust (requested by Aner P) 168*2bf66424SCole Faust * [JACKSON-787]: @JsonIgnoredProperties can be used on properties too 169*2bf66424SCole Faust 170*2bf66424SCole Faust New features: 171*2bf66424SCole Faust 172*2bf66424SCole Faust * [JACKSON-107]: Add support for Object Identity (to handled cycles, shared refs), 173*2bf66424SCole Faust with @JsonIdentityInfo 174*2bf66424SCole Faust * [JACKSON-714] Add general-purpose '@JsonFormat' annotation 175*2bf66424SCole Faust * [JACKSON-752]: Add @JsonInclude (replacement of @JsonSerialize.include) 176*2bf66424SCole Faust * [JACKSON-754]: Add @JacksonAnnotationsInside for creating "annotation 177*2bf66424SCole Faust bundles" (also: AnnotationIntrospector.isAnnotationBundle()) 178*2bf66424SCole Faust 179*2bf66424SCole Faust Other: 180*2bf66424SCole Faust 181*2bf66424SCole Faust * Lots of miscellaneous refactoring; moving most annotations from 182*2bf66424SCole Faust databind into this package; only leaving ones that depend on 183*2bf66424SCole Faust databind package types 184*2bf66424SCole Faust 185*2bf66424SCole Faust ------------------------------------------------------------------------ 186*2bf66424SCole Faust === History: === 187*2bf66424SCole Faust ------------------------------------------------------------------------ 188*2bf66424SCole Faust 189*2bf66424SCole Faust [entries for versions 1.x and earlier not retained; refer to earlier releases) 190