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