blob: 19b1b9f4ed5c8e6cb9b44f253c557ee2af6bb36e [file] [log] [blame]
cowtowncodere7ca32d2011-01-23 04:22:56 +00001Version: 1.7.2
cowtowncoderba364612008-03-24 05:59:43 +00002
cowtowncoder4a5d5fd2009-02-27 23:07:54 +00003Release date:
cowtowncodere7ca32d2011-01-23 04:22:56 +00004 xx-Feb-2011
cowtowncoder4a5d5fd2009-02-27 23:07:54 +00005
cowtowncoderba364612008-03-24 05:59:43 +00006Description:
cowtowncodere7ca32d2011-01-23 04:22:56 +00007 Second patch release for 1.7.
8
9 Fixes:
10
cowtowncoderfd1dc702011-02-01 05:09:29 +000011 * [JACKSON-476] ContextualDeserializer handling not completely working
12 (reported by Sean P)
13
cowtowncodere7ca32d2011-01-23 04:22:56 +000014 (plus all fixes up to and including 1.6.5)
15
cowtowncoder1c6e6f92011-01-30 04:58:13 +000016 Improvements:
17
18 * [JACKSON-474] Add ability to pass externally allocated buffer
19 for Utf8Generator
20 (suggested by David Y)
21
cowtowncodere7ca32d2011-01-23 04:22:56 +000022------------------------------------------------------------------------
23=== History: ===
24------------------------------------------------------------------------
25
261.7.1 [12-Jan-2010]
cowtowncoder815274a2011-01-10 22:22:55 +000027
28 Fixes:
29
cowtowncoder088777c2011-01-11 00:52:51 +000030 * [JACKSON-456]: Type check issues with Jackson JAX-RS provider
31 (reported by Kirill S)
cowtowncoder815274a2011-01-10 22:22:55 +000032 * [JACKSON-457]: Typo in Module method "getSeserializationConfig" ("bananana error"); renamed
33 as "getSerializationConfig" (version with old spelling retained as deprecated for compatibility)
34 (reported by Chris W)
cowtowncoder43a4a1b2011-01-10 22:56:43 +000035 * [JACKSON-458]: Problems with ObjectMapper.convertValue(), TokenBuffer, SerializedString
36 (reported by Larry Y)
cowtowncoder0ebfd592011-01-12 18:50:01 +000037 * [JACKSON-462]: Buffer overflow in Utf8Generator#writeFieldName(String)
38 (reported by Coda H)
cowtowncoder815274a2011-01-10 22:22:55 +000039
cowtowncoder815274a2011-01-10 22:22:55 +0000401.7.0 [06-Jan-2010]
cowtowncoder619ccf12010-10-08 04:44:14 +000041
cowtowncoder0bd7f842010-10-15 21:14:44 +000042 Fixes:
cowtowncoder5e7a2a12010-09-23 06:05:32 +000043
cowtowncoderebc1b932010-11-03 21:32:22 +000044 * [JACKSON-356]: Type information not written for nested-generics root types
45 (reported by Alex R on mailing list)
cowtowncoderee4000b2011-01-07 04:59:22 +000046 * [JACKSON-450] JAXB annotations chosen incorrectly from interface method
47 (instead of method definition in class), when serializing
48 (reported by Sean P)
cowtowncoderebc1b932010-11-03 21:32:22 +000049
cowtowncoder0bd7f842010-10-15 21:14:44 +000050 Improvements:
cowtowncoder619ccf12010-10-08 04:44:14 +000051
cowtowncoder96d290b2010-12-09 22:18:59 +000052 * [JACKSON-280]: Allow use of @JsonTypeInfo for properties (fields, methods)
cowtowncoderb042c442010-10-15 20:45:27 +000053 * [JACKSON-345]: Make BeanSerializer use SerializedString for even faster serialization
cowtowncoder562eea42010-10-15 21:49:27 +000054 * [JACKSON-393]: Allow deserializing UUIDs from VALUE_EMBEDDED_OBJECT
cowtowncoder114c7eb2010-10-27 03:37:50 +000055 * [JACKSON-399]: JAX-RS is not passing generic type information as root type
56 (reported by Kirill S)
cowtowncoderee4000b2011-01-07 04:59:22 +000057 * [JACKSON-409] Add SmileGenerator.writeRaw(byte)
58 * [JACKSON-414] Add 'JsonNode.getValueAsBoolean()' (and 'JsonParser.getValueAsBoolean()')
59 (suggested by Tauren M)
cowtowncoderbecc9a32010-12-03 19:16:49 +000060 * [JACKSON-419]: Add explicit support for handling 'java.util.Locale'
61 (suggested by Brian R)
cowtowncoderee4000b2011-01-07 04:59:22 +000062 * [JACKSON-432]: Add 'ObjectMapper.enableDefaultTypingAsProperty()' to allow
63 specifying inclusion type 'As.PROPERTY' and property name to use
cowtowncoder0815ba82010-12-17 19:42:36 +000064 (suggested by Peter L)
cowtowncoder521f4f42010-12-13 20:00:40 +000065 * [JACKSON-434]: Add 'JsonGenerator.writeString(SerializableString)'
cowtowncoder3ddd57e2010-12-16 22:47:32 +000066 * [JACKSON-438]: Wrap exceptions thrown by Creator methods as JsonMappingException
67 (suggested by Tim W)
cowtowncoderb042c442010-10-15 20:45:27 +000068
cowtowncoder0bd7f842010-10-15 21:14:44 +000069 New features:
cowtowncoder619ccf12010-10-08 04:44:14 +000070
cowtowncoderee4000b2011-01-07 04:59:22 +000071 * [JACKSON-163] Add 'SerializationConfig.Feature.WRAP_ROOT_VALUE' which
72 allows wrapping of output within single-property JSON Object.
73 * [JACKSON-297] Add simple Module abstraction to allow pluggable support
cowtowncoder3378a392010-11-27 17:43:57 +000074 tor third-party libraries, data types
cowtowncoderee4000b2011-01-07 04:59:22 +000075 * [JACKSON-312] Add ability to dynamically filter out serialized properties
76 * [JACKSON-351]: Add @JsonRawValue for injecting literal textual
cowtowncoderb7c6ede2010-10-19 06:29:41 +000077 value into JSON
cowtowncoder70b9d032010-12-04 23:58:53 +000078 (contributed by Ga�l Marziou)
cowtowncoder3378a392010-11-27 17:43:57 +000079 * [JACKSON-369]: Allow registering custom Collection and Map deserializers
80 (implemented via 'org.codehaus.jackson.map.Deserializers')
cowtowncoderc02d3bd2010-12-18 00:01:32 +000081 * [JACKSON-385]: Support contextual serializers, deserializers; works by
82 implementing 'org.codehaus.jackson.map.ser.ContextualSerializer' or
83 'org.codehaus.jackson.map.deser.ContextualDeserializer'
cowtowncoderee4000b2011-01-07 04:59:22 +000084 * [JACKSON-401] Add features 'SerializationConfig.FLUSH_AFTER_WRITE_VALUE'
85 and 'JsonGenerator.FLUSH_PASSED_TO_STREAM' to allow blocking of flush()
86 calls to underlying output stream or writer
87 * [JACKSON-405]: Add command-line tool for manual Smile encoding/decoding
cowtowncoderd044bf32010-12-23 07:23:24 +000088 * [JACKSON-407]: Add features (SerializationConfig.Feature.WRAP_EXCEPTIONS,
cowtowncoderee4000b2011-01-07 04:59:22 +000089 DeserializationConfig.Feature.WRAP_EXCEPTIONS) to disable exception wrapping
cowtowncoder87e22e52010-12-03 22:32:38 +000090 * [JACKSON-412] Add 'DeserializationConfig.Feature.FAIL_ON_NUMBERS_FOR_ENUMS'
91 to optionally prevent mapping JSON integers into Java Enum values
92 (suggested by Patrick L)
cowtowncoderdfdca372010-12-03 20:52:31 +000093 * [JACKSON-420] Add 'DeserializationConfig.Feature.FAIL_ON_NULL_FOR_PRIMITIVES'
94 to optionally prevent JSON null from mapping to default value
95 (suggested by Thomas D)
cowtowncoder3378a392010-11-27 17:43:57 +000096 * [JACKSON-421] Add ability to register multiple sets of serializers
cowtowncoder59f15672010-12-08 20:21:26 +000097 without extending SerializerFactory (related to [JACKSON-297])
cowtowncoderee4000b2011-01-07 04:59:22 +000098 * [JACKSON-429] Add @JsonIgnoreType to allow ignoring any and all properties
99 of specified type; useful to exclude well-known proxy/facade/handler types
100 * [JACKSON-440] Add ability to process serializers, deserializers during their
101 construction (to allow adding, removing, modifying properties to handle)
102 * [JACKSON-448] Add 'JsonGenerator.writeString()' alternatives that accept
103 pre-encoded UTF-8 byte sequences (writeUTF8String() and writeRawUTF8String())
cowtowncoderff766d82010-12-29 03:15:37 +0000104 (requested by Shay B)
cowtowncoderb7c6ede2010-10-19 06:29:41 +0000105
cowtowncoderee4000b2011-01-07 04:59:22 +0000106 Issues handled by new external projects:
107
108 * [JACKSON-317] Add support for Guava (ex-Google-collections); implemented
109 as a new module, see: https://github.com/FasterXML/jackson-module-guava
110 * [JACKSON-394] Add support for using data binding to/from XML (Stax) sources;
111 sort of "mini-JAXB".
112
113 Potential backwards compatibility issues (compared to 1.6.x):
cowtowncoder79bc9e22010-12-03 19:20:53 +0000114
115 * [JACKSON-419] (see above) 'java.util.Locale' now serialized as JSON String
116 (using Locale.toString()), instead of as bean-like JSON Object
cowtowncodere16e5152011-01-06 21:48:08 +0000117 * Added 'BeanProperty' argument for many methods in SerializerFactory /
118 DeserializerFactory, SerializerProvider / DeserializerProvider implementations.
119 * Related to [JACKSON-407], will wrap some previously unwrapped exceptions from
120 deserializer (to have symmetric handling; serializer already wrapped); new
121 features to allow disabling wrapping on serialization and/or deserialization.
cowtowncoder619ccf12010-10-08 04:44:14 +0000122
cowtowncoder1e0786a2011-01-07 01:07:52 +00001231.6.4 [21-Dec-2010]
124
125 Fixes:
126
127 * [JACKSON-364] @JsonTypeInfo not included properly for Collection types
128 when using JsonView functionality
129 * [JACKSON-428] Type information, Map key deserializer definitions don't
130 work together
131 (reported by Patrick R)
132 * [JACKSON-431] Deserialization fails with JSON array with beans with
133 @JsonCreator, unmapped properties before and after creator properties
134 (reported by Hannu L)
135 * [JACKSON-436] @XmlElementType not working correctly with Collection type
136 properties
137 (reported by Sean P)
138
cowtowncoder3ddd57e2010-12-16 22:47:32 +00001391.6.3 [04-Dec-2010]
140
141 Fixes:
142
143 * [JACKSON-228], [JACKSON-411] XmlJavaTypeAdapter, package-level annotations not
144 working
145 (reported by Claudio R, Raymond F)
146 * [JACKSON-387]: Deserialization fails for certain objects serialized with
147 enableDefaultTyping
148 (reported by Peter L)
149 * [JACKSON-415] XMLElement annotation ignored during schema generation
150 (reported by Sean P)
151 * [JACKSON-416] XmlElement.type() doesn't override type during serialization
152 (reported by Sean P)
153 * [JACKSON-417] Deserialization of "native" types (String, Integer, Boolean)
154 failed with abstract types
155 (reported by Joe J)
156 * [JACKSON-423] Incorrect serialization of BigDecimal, BigInteger,
157 when using TokenBuffer
158 (reported by Sean P)
159 * [JACKSON-424] ArrayIndexOutOfBounds with SmileGenerator, long Unicode
160 Strings
161 (reported by Shay B)
162
cowtowncoder2cb66ad2010-11-22 02:26:35 +00001631.6.2 [02-Nov-2010]
164
165 Fixes:
166
167 * [JACKSON-288] Problems with JAXB annotation handling for combination of
168 @XmlJavaTypeAdapter, @XmlElement
169 (reported by Kent R)
170 * [JACKSON-366] Type metadata not written for empty beans
171 (reported by Patrick R)
172 * [JACKSON-388] Deserialization of Throwable fails with Inclusion.NON_NULL
173 (reported by Kirill S)
174 * [JACKSON-391] ObjectReader.withValueUpdate() passing wrong object
175 (reported by Kurtis)
176 * [JACKSON-392] Beans with only @JsonAnyGetter fail on serialization
177 (reported by Kirill S)
178 * [JACKSON-395]: JsonParser.getCurrentName() not working with
179 JsonParser.nextValue() for nested JSON Arrays, Objects
180 * [JACKSON-397] Reverted most of [JACKSON-371] from 1.6 branch, since it caused
181 externally visible change in exception handling; behavior now back to 1.6.0
182 (will change to catch and rethrow in 1.7.0)
183 (reported by Jon Berg)
184 * [JACKSON-398]: Root type information not correctly passed by
185 ObjectWriter when using JsonGenerator
186 (reported by Kirill S)
187 * [JACKSON-403]: XMLGregorianCalendar could not be deserialized from timestamp
188 (reported by Manual F)
189 * [JACKSON-404] Problem with XmlAdapter, generic types, deserialization
190 (reported by Davide)
191
cowtowncoder619ccf12010-10-08 04:44:14 +00001921.6.1 [06-Oct-2010]
cowtowncoder137ac3a2010-10-06 20:16:20 +0000193
cowtowncoder0bd7f842010-10-15 21:14:44 +0000194 Fixes:
cowtowncoder5e7a2a12010-09-23 06:05:32 +0000195
cowtowncoderb042c442010-10-15 20:45:27 +0000196 * [JACKSON-359] TypeIdResolver.init() was not being called properly
197 (reported by Peter L)
198 * [JACKSON-372] handle missing primitive type values for @JsonCreator gracefully (with defaults)
199 * [JACKSON-376] writing binary data as object field value with Smile failed
200 (reported by Shay B)
201 * [JACKSON-371] Provide path of type error in ObjectMapper.convertValue()
202 (reported by Larry Y)
203 * [JACKSON-383] @JsonAnySetter gets called for ignorable properties if
204 FAIL_ON_UNKNOWN_PROPERTIES set to false (related to [JACKSON-313])
205 (reported by Kirill S)
206 * [JACKSON-384] @JsonAnyGetter values were duplicated if method name was valid as a regular
207 getter name
208 (reported by Bruce R)
209 * all fixes from 1.5.x up to 1.5.7
cowtowncoder5e7a2a12010-09-23 06:05:32 +0000210
cowtowncoder0bd7f842010-10-15 21:14:44 +0000211 Improvements:
cowtowncoder619ccf12010-10-08 04:44:14 +0000212
213 * [JACKSON-360] Convert empty String to null values for Joda
214 (suggested by Shilpa P)
215 * [JACKSON-386] Improve registration for optional/external types (javax.xml, joda)
216
cowtowncoder5e7a2a12010-09-23 06:05:32 +00002171.6.0 [06-Sep-2010]
cowtowncoderfb21c8c2010-03-19 01:55:21 +0000218
219 Fixes:
220
cowtowncoder72451f42010-10-06 23:39:13 +0000221 * [JACKSON-265] Problems with generic wildcard type, type info
cowtowncoder92adb192010-06-08 03:28:53 +0000222 (reported by Fabrice D)
cowtowncoder4c5caf12010-08-20 23:53:32 +0000223 * [JACKSON-268] Property ordering for JAXB did not work with "raw" property
224 names (but just with renamed names like with Jackson annotations)
225 (reported by Valentin B)
cowtowncoder488ca492010-08-20 23:12:36 +0000226 * [JACKSON-303] JAXB annotation @XmlAccessorType(XmlAccessType.NONE) seems
227 to not work correctly during deserialisation process
228 (reported by David M)
cowtowncoder72451f42010-10-06 23:39:13 +0000229 * [JACKSON-313] Ignorable properties should not be passed to any-setter
cowtowncoderaaa94e52010-08-05 05:05:22 +0000230 * [JACKSON-336] Generics handling: Map type not handled if intermediate types
231 with just one generic parameter
cowtowncoder92adb192010-06-08 03:28:53 +0000232
cowtowncodereb4d91a2010-03-23 06:29:32 +0000233 Improvements:
234
cowtowncoderdb0ba3e2010-05-15 05:53:23 +0000235 * [JACKSON-193] @JsonCreator-annotated factory methods and @JsonValue annotated
236 output methods now work with enums, allowing more customizable enum ser/deser.
237 (requested by Paul B)
cowtowncoder4ecd4dd2010-08-17 03:48:27 +0000238 * [JACKSON-253] Support combination of @XmlAnyElement + @XmlElementRefs
cowtowncoder43c72f82010-04-09 20:48:29 +0000239 * [JACKSON-261] @JsonView now implies that associated element (field,
240 getter/setter) is to be considered a property; similar to how
241 @JsonSerialize/@JsonDeserialize/@JsonProperty are used.
cowtowncoder809a62a2010-05-13 07:08:17 +0000242 * [JACKSON-274] Un-deprecated @JsonGetter and @JsonSetter.
cowtowncodera5eb9a62010-05-15 06:35:48 +0000243 * [JACKSON-283] JDK atomic types (java.util.concurrent.atomic) supported
cowtowncoderb180beb2010-05-13 06:18:43 +0000244 * [JACKSON-289] Added "SerializationConfig.Feature.WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS"
245 to allow serializing char[]s as JSON Arrays with single-char-String values
246 (also fixed issues with deserializing the same on deserializer side)
247 (requested by Brian O)
cowtowncoder5fbe1762010-05-13 05:43:27 +0000248 * [JACKSON-290] @JsonWriteNullProperties can be used with fields too;
249 annotation itself is now deprecated (use JsonSerialize#include instead).
cowtowncoder58e85b42010-06-10 06:08:36 +0000250 * [JACKSON-301] Allow JsonMappingException to return name of "bad" (unrecognized)
251 field
252 (requested by Rob O)
cowtowncoder42ac83f2010-06-08 00:13:36 +0000253 * [JACKSON-302] Add JsonNode.has(String/int) to allow for more convenient checking
254 of whether JSON Object/Array nodes have specified value.
cowtowncoder2ca5a752010-09-01 04:00:26 +0000255 * [JACKSON-308] Configurable date formatting support for XMLGregorianCalendar:
256 XMLGregorianCalendar now uses same Date/Calendar serialization as other date types.
257 (suggested by Igor K)
cowtowncoder72976cd2010-07-14 23:56:08 +0000258 * [JACKSON-321] Allow passing JsonNodeFactory to use for ObjectMapper, ObjectReader,
259 to allow use of custom JsonNode types.
cowtowncoderdc5d36b2010-07-31 06:54:29 +0000260 * [JACKSON-326] Add 'JsonParser.hasTextCharacters()' to make it easier to optimize
cowtowncoder181ab0a2010-07-20 19:35:47 +0000261 text access (esp. when copying events)
cowtowncoder0c21af12010-07-23 00:58:38 +0000262 * [JACKSON-328] Precedence of "getters-as-setters" (for Maps, Collections) was
263 accidentally higher than that of property fields (public, @JsonProperty)
264 (reported by Thomas D)
cowtowncoderf31edb82010-08-20 00:39:38 +0000265 * [JACKSON-333] Add JsonNode.getValueAsInt()/.getValueAsDouble() for more convenient
266 coercion; including parsing of JSON text values to numbers if necessary
cowtowncodered86a0c2010-08-11 01:27:13 +0000267 * [JACKSON-339] Support Joda ReadableDateTime, ReadableInstant out of the box
cowtowncoder8e4979b2010-08-28 01:24:45 +0000268 * [JACKSON-349] Accept empty String as number (null for wrappers, 0 for primitives)
cowtowncoder43c72f82010-04-09 20:48:29 +0000269
cowtowncodereb4d91a2010-03-23 06:29:32 +0000270 New features:
271
cowtowncoderaaa94e52010-08-05 05:05:22 +0000272 * [JACKSON-41] Add code generation to allow deserialization into arbitrary Bean interfaces.
cowtowncoderb7ffce92010-08-05 06:47:30 +0000273 * [JACKSON-210] Add method(s) in JsonNode for finding values of named property
cowtowncoder152f12d2010-06-15 03:52:25 +0000274 * [JACKSON-212] Allow serializer/deserializing Enums using toString() method
275 instead name()
cowtowncoder95900f02010-06-26 15:14:47 +0000276 * [JACKSON-235] Handle bi-directional (parent/child, double-linked lists) references
cowtowncoder17d75372010-08-15 07:26:29 +0000277 * [JACKSON-257] Add ability to register sub-types for Polymetric Type Handling
cowtowncodereb4d91a2010-03-23 06:29:32 +0000278 * [JACKSON-264] Ability to "update" values; to read and bind JSON
279 content as properties of existing beans. This is done by using
280 "ObjectMapper.updatingReader()" (and "reader.readValue(source)")
cowtowncodered2715e2010-04-14 04:46:31 +0000281 * [JACKSON-267] Allow unquoted field names to start with '@' in
282 (when unquoted name support is enabled, to support polymorphic
cowtowncoder5fbe1762010-05-13 05:43:27 +0000283 typing (which defaults to property names like "@class").
cowtowncodered2715e2010-04-14 04:46:31 +0000284 (requested by Michel G)
cowtowncoder76c7aa12010-09-02 06:03:25 +0000285 * [JACKSON-278] Allow access to version information (via new Versioned interface)
286 (requested by Andrei V)
cowtowncoder5fbe1762010-05-13 05:43:27 +0000287 * [JACKSON-282] Added SerializationConfig.Feature.CLOSE_CLOSEABLE
288 which when enabled forced a call to value.close() right after
289 serialization of a (root-level) value.
cowtowncoderb1f5ba62010-07-31 03:41:49 +0000290 * [JACKSON-287] Add JsonParser.releaseBufferedContent() which can be called
291 to "push back" content read but not (yet) consumed by JsonParser
cowtowncoderdc5d36b2010-07-31 06:54:29 +0000292 * [JACKSON-292] Add "any-getter" (using @JsonAnyGetter) to complement @JsonAnySetter,
293 more convenient mapping of miscellaneous extra properties.
cowtowncoder6c00aa92010-07-29 06:24:58 +0000294 * [JACKSON-295] Add 'jackson-all' jar
295 (suggested by Ant E)
cowtowncoderad8a2ca2010-06-08 18:45:54 +0000296 * [JACKSON-299] Added 'org.codehaus.jackson.impl.MinimalPrettyPrinter'
297 to make it easier to add simple output customizations
cowtowncoderdc5d36b2010-07-31 06:54:29 +0000298 (suggested by David P)
cowtowncoderf4aef572010-06-10 06:35:30 +0000299 * [JACKSON-300] Add 'JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER
300 to allow non-standard character escapes like \'.
301 (requested by Ketan G)
cowtowncoder1940d072010-06-30 00:07:33 +0000302 * [JACKSON-314] (go Pi, go!) Add 'SerializationConfig.Feature.WRITE_NULL_MAP_VALUES'
303 to suppress writing of Map entries with null values.
cowtowncoderaaa94e52010-08-05 05:05:22 +0000304 * [JACKSON-316] Allow per-call enable/disable of pretty printing (added
305 methods in ObjectWriter; .withPrettyPrinter())
cowtowncoder68958fb2010-07-23 02:58:13 +0000306 * [JACKSON-325] Add new Jackson "internal" annotation (@JacksonStdCodec?) to allow
307 marking default/standard serializers, deserializers
cowtowncoder7d1efbc2010-08-07 04:57:50 +0000308 * [JACKSON-337] Add "ObjectMapper.valueToTree()"
cowtowncoder0c21af12010-07-23 00:58:38 +0000309
cowtowncoder2ca5a752010-09-01 04:00:26 +0000310 Backwards incompatible changes
cowtowncoder0c21af12010-07-23 00:58:38 +0000311
312 * [JACKSON-328] (see above) fixes precedence of "getter-as-setter" (for Maps, Collections)
313 to be LOWER than that of fields; this is the original intended behavior. However,
314 versions 1.1 - 1.5 accidentally had fields at lower precedence. This fix can
315 change behavior of code.
cowtowncoder2ca5a752010-09-01 04:00:26 +0000316 * [JACKSON-308] (see above) Configurable date formatting support for XMLGregorianCalendar:
317 since default Date/Calendar formatting uses timestamp instead of textual serialization,
318 default XMLGregorianCalendar serialization is changing.
cowtowncoder0c21af12010-07-23 00:58:38 +0000319
cowtowncoder137ac3a2010-10-06 20:16:20 +00003201.5.7 [03-Oct-2010]
321
322 Fixes:
323
324 * [JACKSON-352] Polymorphic deserialization for Object always assumes
325 array-wrapper style
326 (reported by Henry L)
327 * [JACKSON-355] Handling of BigInteger with JsonNode not correct
328 (reported by Adam S)
329 * [JACKSON-363] CustomDeserializerFactory did not work for custom
330 array deserializers.
331 (reported by Lubomir K)
332 * [JACKSON-370] TreeTraversingParser.skipChildren() not working correctly
333 (reported by Dmitry L)
334 * [JACKSON-373] Interface inheritance not traversed when looking up
335 custom serializers
336 (reported by Lubomir K)
337 * [JACKSON-377] ThrowableDeserializer was not properly using information from
338 @JsonCreator or @JsonAnySetter
339 (reported by Kirill S)
340 * [JACKSON-380] Incorrect type information serialized for some Enums
341
cowtowncoder97b29c92010-09-07 03:46:17 +00003421.5.6 [17-Aug-2010]
343
344 Fixes:
345
346 * [JACKSON-329] type information was not properly serialized for
347 Iterator or Iterable serializers
348 (reported by Yuanchen Z)
349 * [JACKSON-330] ObjectMapper.convertValue(): base64 conversions
350 do not work as expected
351 * [JACKSON-334] Support ISO-8601 date without milliseconds
352 * [JACKSON-340] Meta annotations missing for @JsonTypeResolver
353 (reported by Yuanchen Z)
354 * [JACKSON-341] Issue with static typing, array and subtyping
355 (reported by Yuanchen Z)
356
3571.5.5 [25-Jul-2010]
358
359 Fixes:
360
361 * [JACKSON-309] Serialization of null properties not working correctly
362 when using JAXB annotation introspector
363 * [JACKSON-318] Deserializer missing support for java.util.Currency
364 (reported by Geoffrey A)
365 * [JACKSON-319] Issues when trying to deserialize polymorphic type
366 with no data (just type information)
367 (reported by Chris C)
368 * [JACKSON-324] JsonParserBase: call releaseBuffers() in finally
369 block (within close())
370 (suggested by Steve C)
371 * [JACKSON-327] CustomSerializerFactory had a bug in handling of
372 interface registrations
373 (reported by Yuanchen Z)
374
375 (and all fixes from 1.4.x branch up to 1.4.5)
376
3771.5.4 [25-Jun-2010]
378
379 Fixes:
380
381 * [JACKSON-296]: Add support for JAXB/@XmlElementRef(s), fix related
382 issues uncovered (wrt. handling of polymorphic collection fields)
383 (reported by Ryan H)
384 * [JACKSON-311]: Problems handling polymorphic type information for
385 'untyped' (Object) bean properties, default typing
386 (reported by Eric S)
387
cowtowncoder4fbc10e2010-06-08 17:45:34 +00003881.5.3 [31-May-2010]
389
390 Fixes:
391
392 * [JACKSON-285]: Problem with @JsonCreator annotated constructor that
393 also uses @JsonDeserialize annotations
394
395 Improvements:
396
397 * [JACKSON-284]: Reduce scope of sync block in
398 SerializerCache.getReadOnlyLookupMap()
399 * Partial fix for [JACKSON-289]: allow JSON Array with single-character
400 Strings to be bound to char[] during deserialization
401 (suggested by Brian O)
402
cowtowncoderc011bbe2010-04-27 03:26:51 +00004031.5.2 [25-Apr-2010]
404
405 Fixes:
406
407 * [JACKSON-273] Yet another OSGi issue, "org.codehaus.jackson.map.util"
408 not exported by mapper module, needed by jax-rs module.
409 (reported by Lukasz D)
410 * [JACKSON-281] JsonGenerator.writeObject() only supports subset of
411 wrapper types (when not specifying ObjectCodec)
412 (reported by Aron A)
413
414 (and all fixes from 1.4.x branch up to 1.4.4)
415
cowtowncoder43be1842010-04-13 00:41:41 +00004161.5.1 [09-Apr-2010]
417
418 Fixes:
419
cowtowncoder43be1842010-04-13 00:41:41 +0000420 * [JACKSON-265]: problems with generic type handling for serialization
421 (reported by Fabrice D)
422 * [JACKSON-269]: missing OSGi export by mapper (o.c.j.m.jsontype.impl),
423 needed by jackson-xc module
424 (reported by Raymond F)
425
cowtowncoderc011bbe2010-04-27 03:26:51 +0000426 (and all fixes from 1.4.x branch up to 1.4.3)
427
428
cowtowncoderfb21c8c2010-03-19 01:55:21 +00004291.5.0 [14-Mar-2010]
cowtowncoder37fd0b12009-12-22 03:48:25 +0000430
cowtowncoder176480e2010-02-28 05:40:17 +0000431 Fixes:
432
433 * [JACKSON-246] JAXB property name determination not working correctly.
434 (reported by Lars C)
435
cowtowncoder37fd0b12009-12-22 03:48:25 +0000436 Improvements:
437
cowtowncoderb1a15392010-01-06 04:43:14 +0000438 * [JACKSON-160] Factory Creator methods now handle polymorphic
439 construction correctly, allowing manual polymorphic deserialization
cowtowncoder0cec35c2010-03-10 02:41:48 +0000440 * [JACKSON-218] Extended support for Joda date/time types like
441 LocalDate, LocalDateTime and DateMidnight
cowtowncoder063fb7f2009-12-22 04:49:07 +0000442 * [JACKSON-220] @JsonSerialize.using() was not working properly for
443 non-Bean types (Collections, Maps, wrappers)
cowtowncoder5f12a1f2010-02-14 22:37:03 +0000444 * [JACKSON-236] Allow deserialization of timestamps-as-Strings (not
445 just timestamps as JSON integer numbers).
446 (requested by Chris C)
cowtowncoder0cec35c2010-03-10 02:41:48 +0000447 * [JACKSON-255] Allow setter override even with incompatible type
448 (as long as only one setter per class, so there is no ambiguity)
cowtowncoder9b6a4d62010-03-10 06:00:15 +0000449 * [JACKSON-256] AnnotationIntrospector.findSerializationInclusion
450 was not combining values correctly for JAXB annotations.
451 (reported by John L)
cowtowncoder063fb7f2009-12-22 04:49:07 +0000452
cowtowncoder37fd0b12009-12-22 03:48:25 +0000453 New features:
454
cowtowncoderfb21c8c2010-03-19 01:55:21 +0000455 * [JACKSON-91] Polymorphic Type Handling: automatic handling of
456 polymorphic types, based on annotations (@JsonTypeInfo) and/or
457 global settings (ObjectMapper.enableDefaultTyping())
458 * [JACKSON-175] Add "org.codehaus.jackson.util.TokenBuffer", used for
459 much more efficient type conversions (and other internal buffering)
460 * [JACKSON-195] Add methods to ObjectMapper to allow specification of
461 root object serialization type.
cowtowncoderc74cc822010-02-12 07:35:47 +0000462 * [JACKSON-221] Add 'ObjectMapper.writeValueAsBytes()' convenience
463 method to simplify a common usage pattern
cowtowncoder9c5c51d2010-01-20 07:27:10 +0000464 * [JACKSON-229] TypeFactory should have methods to construct parametric
465 types programmatically (TypeFactory.parametricType())
cowtowncoderd6f3fef2010-02-23 06:55:56 +0000466 * [JACKSON-232] Add 'SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION'
467 to disable inclusion of non-annotated properties with explicit views
468 (suggested by Andrei V)
cowtowncoder6baa79e2010-02-06 07:37:46 +0000469 * [JACKSON-234] Add support for JSONP, by adding JSONPObject wrapper
470 that serializes as expected.
cowtowncoder55b8ed02010-02-21 00:25:55 +0000471 * [JACKSON-241] Add a mechanism for adding new "untouchable" types for
472 JAX-RS JSON provider, to allow excluding types from being handled
473 (added method "JacksonJsonProvider.addUntouchable()")
cowtowncoder2790b592010-03-09 06:50:55 +0000474 * [JACKSON-244] Allow specifying specific minimum visibility levels for
475 auto-detecting getters, setters, fields and creators
476 (requested by Pierre-Yves R)
cowtowncoderfd8468d2010-03-06 19:56:56 +0000477 * [JACKSON-245] Add configuration setting in JAX-RS provider to allow
478 automatic JSONP wrapping (provider.setJSONPFunctionName())
cowtowncoder5f5cb822010-03-13 07:25:21 +0000479 * [JACKSON-259] Add JsonParser.Feature to allow disabling field name
480 canonicalization (JsonParser.Feature.CANONICALIZE_FIELD_NAMES)
cowtowncoder9c5c51d2010-01-20 07:27:10 +0000481
cowtowncoder94972982010-01-31 21:45:13 +0000482 Backwards incompatible changes:
cowtowncoder37fd0b12009-12-22 03:48:25 +0000483
cowtowncoder4cebdb32010-01-02 05:32:34 +0000484 * Moved following serializers out of BasicSerializerFactory
485 JdkSerializers: ClassSerializer (into JdkSerializers),
486 NullSerializer (separate class)
cowtowncoder656203d2010-01-05 07:55:51 +0000487 * Add one parameter to StdDeserializer.handleUnknownProperty:
488 addition was required for handling polymorphic cases that
489 can use nested JsonParser instances.
cowtowncodere7031132010-01-30 19:17:24 +0000490 * Fixed issues in generic type handling (was not resolving all named
491 types completely)
cowtowncoder94972982010-01-31 21:45:13 +0000492 * Annotation changes:
493 * Moved "NoClass" into "org.codehaus.jackson.map.annotate" package
494 * Removed @JsonUseSerializer and @JsonUseDeserializer annotations
495 (which has been deprecated for 1.1; replaced by
496 @JsonSerialize.using and @JsonDeserialize.using, respectively)
497 * @JsonGetter and @JsonSetter are marked as deprecated, since
498 @JsonProperty can (and should) be used instead.
cowtowncoder4cebdb32010-01-02 05:32:34 +0000499
cowtowncoderc011bbe2010-04-27 03:26:51 +00005001.4.4 [25-Apr-2010]
501
502 Fixes:
503
504 * [JACKSON-263] BooleanNode.asToken() incorrectly returns 'true' token
505 for all nodes (not just 'false' ones)
506 (reported by Gennadiy S)
507 * [JACKSON-266] Deserialization issues when binding data from JsonNode
508 (reported by Martin T)
509
cowtowncoderfb21c8c2010-03-19 01:55:21 +00005101.4.3 [18-Feb-2010]
511
512 Fixes:
513
514 * [JACKSON-237]: NPE in deserialization due to race condition
515 (reported by Benjamin D)
516
cowtowncoder37fd0b12009-12-22 03:48:25 +0000517
cowtowncoder67ce6482010-02-14 22:14:58 +00005181.4.2 [31-Jan-2010]
519
520 Fixes:
521
522 * [JACKSON-238]: Fix to ensure custom serializers can override
523 default serializers (like DOM, Joda serializers)
524 (reported by Pablo L)
525 * other fixes from 1.3.4 release
526
5271.4.1 [10-Jan-2010]
528
529 Fixes:
530
531 fixes from 1.3.x branch up to 1.3.3.
532
cowtowncoder37fd0b12009-12-22 03:48:25 +00005331.4.0 [19-Dec-2009]
cowtowncodera5021a42009-11-03 06:33:14 +0000534
535 Improvements:
536
cowtowncoder5e4e2612009-11-29 04:28:53 +0000537 * [JACKSON-38] Allow serializing/deserializing DOM trees (Node, Document)
538 (suggested by Scott D)
cowtowncoder55386fb2009-11-10 07:11:23 +0000539 * [JACKSON-89] Make ignored field/creator-backed properties quietly
540 skippable during deserialization (that is, without having to explicitly
541 declare such properties as ignorable as per [JACKSON-77])
cowtowncoder39e94cc2009-11-28 07:55:21 +0000542 * [JACKSON-161] Added basic support for Joda, ser/deser DateTime class
cowtowncodera5021a42009-11-03 06:33:14 +0000543 * [JACKSON-170] Serialize Creator properties before other properties
cowtowncoder39e94cc2009-11-28 07:55:21 +0000544 * [JACKSON-196] Schema generation does not respect the annotation
545 configured serializer on a bean property
546 (reported by Gil M)
cowtowncoder55013c62009-11-30 01:57:19 +0000547 * [JACKSON-208] Add feature (JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS)
548 to allow unquoted control characters (esp. tabs) in Strings and
549 field names
550 (requested by Mark S)
cowtowncoder6d7ce8f2009-12-17 04:48:41 +0000551 * [JACKSON-216] Jackson JAXB annotation handler does not use @XmlElement.type
552 property for figuring out actual type
553 (reported by Mike R)
cowtowncodera5021a42009-11-03 06:33:14 +0000554
cowtowncoder961593e2009-11-04 06:51:57 +0000555 New features:
556
cowtowncoder55386fb2009-11-10 07:11:23 +0000557 * [JACKSON-77] Add class annotation @JsonIgnoreProperties to allow
558 for ignoring specific set of properties for serialization/deserialization
cowtowncoder961593e2009-11-04 06:51:57 +0000559 * [JACKSON-90] Added @JsonPropertyOrder, which allows for specifying
560 order in which properties are serialized.
cowtowncoder499a1f02009-12-08 07:34:25 +0000561 * [JACKSON-138] Implement JsonView; ability to suppress subsets of
562 properties, based on view definition. Views are defined using @JsonView
563 annotation.
cowtowncoder20743cc2009-11-15 05:04:22 +0000564 * [JACKSON-191] Add access to basic statistics on number of cached
565 serializers, deserializers (and methods to flush these caches)
cowtowncodera6282ce2009-11-14 06:59:30 +0000566 * [JACKSON-192] Added basic delegate implementations (JsonParserDelegate,
567 JsonGeneratorDelegate) to make it easier to override core parser and
568 generate behavior
cowtowncodere0650932009-11-28 04:12:38 +0000569 * [JACKSON-201] Allow serialization of "empty beans" (classes without
570 getters), if SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS is
571 disabled; or if class has recognized Jackson annotation
572 (suggested by Mike P)
cowtowncoder961593e2009-11-04 06:51:57 +0000573
cowtowncoder9da20fa2009-11-08 22:37:09 +0000574 Other:
575
576 * Removed "BasicSerializerFactory.StringLikeSerializer" that was
577 deprecated for 1.0, replaced by public "ToStringSerializer"
578
cowtowncoder67ce6482010-02-14 22:14:58 +00005791.3.4 [31-Jan-2010]
580
581 Fixes:
582
583 * [JACKSON-225], [JACKSON-227], missing null checks/conversions when
584 adding entries to ArrayNode and ObjectNode
585 (reported by Kenny M)
586 * [JACKSON-230]: wrong NumberType reported for big ints, longs
587 (reported by Henning S)
588 * [JACKSON-231]: ArrayDeserializer for byte[] should be able to
589 use VALUE_EMBEDDED_OBJECT (if Object is byte[])
590
cowtowncoderfa1dc342009-12-31 23:07:31 +00005911.3.3 [21-Dec-2009]
592
593 Fixes:
594
595 * [JACKSON-214] Enum types with sub-classes failed to serialize
596 (reported by Elliot S)
597 * [JACKSON-215] Add JAX-RS provider annotations on JacksonJaxbJsonProvider
598 (suggested by Matthew R)
599 * [JACKSON-220] JsonSerialize.using() not recognized for Collection and
600 Map types (and similarly for JsonDeserialize)
601
cowtowncodera7ec5372009-12-11 07:19:35 +00006021.3.2 [02-Dec-2009]
603
604 Fixes:
605
606 * [JACKSON-103] (additional work) Groovy setMetaClass() setter caused
607 problems when deserializing (although serialization was fixed earlier)
608 (reported by Stephen F)
609 * [JACKSON-187] Issues with GAE security model, Class.getEnclosingMethod()
610 * [JACKSON-188] Jackson not working on Google App Engine (GAE) due to
611 unintended dependency from JacksonJsonProvider to JAXB API classes
612 (reported by Jeff S)
613 * [JACKSON-206] Support parsing dates of form "1984-11-13T00:00:00"
614
cowtowncoder0298b222009-11-25 07:25:08 +00006151.3.1 [23-Nov-2009]
616
617 Fixes:
618
619 * [JACKSON-190] Problems deserializing certain nested generic types
620 (reported by Nathan C)
621 * [JACKSON-194] ObjectMapper class loading issues on Android
622 (reported by Martin L)
623 * [JACKSON-197] Remove 2 debug messages that print out to System.err
624 (reported by Edward T)
625 * [JACKSON-200] java.sql.Date deserialization not working well
626 (reported by Steve L)
627 * [JACKSON-202] Non-public fields not deserialized properly with
628 JAXB annotations
629 (reported by Mike P)
630 * [JACKSON-203] Date deserializers should map empty String to null
631 (reported by Steve L)
632
cowtowncodera5021a42009-11-03 06:33:14 +00006331.3.0 [30-Oct-2009]
cowtowncoder641f5942009-08-23 19:24:30 +0000634
635 Fixes:
636
cowtowncoder0d2f9122009-08-25 14:56:10 +0000637 * [JACKSON-150] Some JAXB-required core types (XMLGregorianCalendar,
cowtowncoder37334082009-10-03 04:09:57 +0000638 Duration, QName, DataHandler) were not completely supported
cowtowncoder1875f862009-09-05 06:18:57 +0000639 * [JACKSON-155] Failed to serialize java.io.File (with infinite
640 recursion)
641 (reported by Gabe S)
cowtowncoder72827632009-09-27 05:57:45 +0000642 * [JACKSON-167] Map and Collection sub-classes seem to lose generic
643 information for deserialization
cowtowncoder605c8702009-10-22 03:32:12 +0000644 * [JACKSON-177] Problems with Hibernate, repackaged cglib
645 (reported by Ted B)
cowtowncoder61842a82009-10-23 03:42:17 +0000646 * [JACKSON-179] Single-long-arg factory Creators were not working
cowtowncoder3a153a72009-10-31 02:11:28 +0000647 (reported by Brian M)
cowtowncoderae0f9c02009-10-27 04:08:39 +0000648 * [JACKSON-183] Root-level 'JsonDeserialize' annotation was not handled
649 completely; 'as' setting was not taking effect
cowtowncoder3a153a72009-10-31 02:11:28 +0000650 (reported by Nick P)
cowtowncoder0d2f9122009-08-25 14:56:10 +0000651
cowtowncoder8f5d8c72009-08-29 03:21:17 +0000652 Improvements:
653
654 * [JACKSON-152] Add "ObjectMapper.writeValueAsString()" convenience
655 method to simplify serializing JSON into String.
cowtowncoder7ba26842009-09-17 06:52:55 +0000656 * [JACKSON-153] Allow use of @JsonCreator with Map types too
cowtowncoderfd8ee052009-09-10 06:41:44 +0000657 * [JACKSON-158] Bean serializer now checks for direct self-references
658 (partial, trivial cycle detection)
cowtowncoder7f6f2412009-09-26 06:50:23 +0000659 * [JACKSON-164] Improve null handling for JsonGenerator.writeStringValue
cowtowncoder3a153a72009-10-31 02:11:28 +0000660 (suggested by Benjamin Darfler)
cowtowncoder263b7272009-09-26 04:16:35 +0000661 * [JACKSON-165] Add JsonParser.getBooleanValue() convenience method
662 (suggested by Benjamin Darfler)
663 * [JACKSON-166] Add ability to control auto-detection of
664 "is getters" (boolean isXxx()) methods separate from regular getters
cowtowncoder7fe4bb52009-10-04 22:09:38 +0000665 * [JACKSON-168] Make JsonLocation serializable (and deserializable)
cowtowncoder3a153a72009-10-31 02:11:28 +0000666 (suggested by Shay B)
cowtowncoderfeb086f2009-10-28 04:10:52 +0000667 * [JACKSON-182] Improved handling of SerializationConfig.AUTO_DETECT_GETTERS
668 with JAXB annotations (uses Jackson-specified default, not JAXB defaults)
cowtowncoder8f5d8c72009-08-29 03:21:17 +0000669
cowtowncoderab98d6e2009-09-12 06:56:42 +0000670 New features:
671
cowtowncoder58fa5842009-10-07 06:41:36 +0000672 * [JACKSON-129] Allow constructing JsonParser to read from JsonNode
673 (tree representation)
cowtowncoderab98d6e2009-09-12 06:56:42 +0000674 * [JACKSON-154] Added JsonDeserialize.keyUsing and .contentUsing,
675 to allow for overriding key and content/value deserializers for
676 properties of structured (array, Collection, Map) types
cowtowncoder48f7ad82009-10-30 07:04:45 +0000677 * [JACKSON-159] Added 'org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider'
678 to improve use of Jackson as JSON converter for JAX-RS services.
cowtowncodera13ae232009-10-11 06:27:34 +0000679 * [JACKSON-173] Add "JsonParser.Feature.ALLOW_SINGLE_QUOTES" to
680 handle some more invalid JSON content
cowtowncoder3a153a72009-10-31 02:11:28 +0000681 (requested by Brian M)
cowtowncoderae4bfc72009-10-17 18:31:38 +0000682 * [JACKSON-174] Add "ObjectMapper.convertValue()" convenience method
683 for simple Object-to-Object conversions, using Jackson's data binding
684 functionality
cowtowncoder2f4a50b2009-10-26 02:41:54 +0000685 * [JACKSON-176] Added 'JsonGenerator.Feature.WRITE_NUMBER_AS_STRINGS'
686 as a work-around for Javascript problems with big longs (due to
687 always representing numbers as 64-bit doubles internally)
688 (requested by Doug D)
cowtowncoder51c08972009-10-24 07:23:52 +0000689 * [JACKSON-180] Added 'JsonParser.Feature.INTERN_FIELD_NAMES' to allow
690 disabling field name intern()ing.
cowtowncoder3a153a72009-10-31 02:11:28 +0000691 (suggested by Jeff Y)
cowtowncoderc9364d62009-10-24 06:10:15 +0000692 * [JACKSON-181] Added convenience methods in TypeFactory to allow
693 dynamically constructed fully typed structured types (map, collection
694 array types), similar to using TypeReference but without inner classes
cowtowncoderd5fe5072009-10-11 00:14:09 +0000695 * Added method in AnnotationIntrospector to find declared namespace
696 for JAXB annotations, needed for XML compatibility (future features)
cowtowncoderab98d6e2009-09-12 06:56:42 +0000697
cowtowncoderc1a6ea92009-10-18 04:17:07 +0000698 Other:
699
700 * Removed obsolete class 'org.codehaus.jackson.map.type.TypeReference'
701 (obsoleted by 'org.codehaus.jackson.type.TypeReference) -- was supposed
702 to have been removed by 1.0 but had not been.
cowtowncoderbe076932009-10-21 03:09:37 +0000703 * Added support to handle 'java.util.regex.Pattern'
cowtowncoderc1a6ea92009-10-18 04:17:07 +0000704
cowtowncodera5021a42009-11-03 06:33:14 +00007051.2.1 [03-Oct-2009]
706
707 Problems fixed:
708
709 * [JACKSON-162] OSGi packaging problems for xc package.
710 (reported by Troy Waldrep)
711 * [JACKSON-171] Self-referential types cause infinite recursion when
712 using only JAXB annotation introspector
713 (reported by Randy L)
cowtowncoder641f5942009-08-23 19:24:30 +0000714
7151.2.0 [02-Aug-2009]
cowtowncoder69a78d22009-05-23 01:55:23 +0000716
cowtowncoderf060fc62009-06-29 00:45:12 +0000717 Improvements:
718
cowtowncoder92ecc032009-07-07 20:55:58 +0000719 * Added "-use" flag for generating javadocs
720 (suggested by Dain S)
721 * [JACKSON-136] JsonParser and JsonGenerator should implement
722 java.io.Closeable (since they already have close() method)
723 (suggested by Dain S)
cowtowncodere87d9912009-07-30 05:34:23 +0000724 * [JACKSON-148] Changed configuration methods to allow chaining,
725 by returning 'this' (instead of 'void')
cowtowncoder92ecc032009-07-07 20:55:58 +0000726
cowtowncoderf060fc62009-06-29 00:45:12 +0000727 New features:
728
cowtowncoderc3f9e372009-07-27 05:49:48 +0000729 * [JACKSON-33] Allow use of "non-default constructors" and
730 multiple-argument factory methods for constructing beans to
731 deserialize
cowtowncoder5db34e42009-08-02 03:59:50 +0000732 * [JACKSON-69] Support parsing non-standard JSON where Object keys are not quoted
cowtowncoder4c955212009-07-16 06:50:44 +0000733 * [JACKSON-76] Mix-in annotations: allow dynamic attachment of
734 annotations to existing classes, for purposes of configuring
735 serialization/deserialization behavior
cowtowncoder696b4f02009-07-09 05:29:55 +0000736 * [JACKSON-92] Allow use of @JsonCreator for constructors and
737 static methods that take a single deserializable type as argument
738 (so-called delegating creators)
cowtowncoder754c79d2009-06-29 02:44:50 +0000739 * [JACKSON-114] Add feature and annotations to make serialization use
740 static (declared) type over concrete (actual/runtime) type
cowtowncoderf060fc62009-06-29 00:45:12 +0000741 * [JACKSON-131] Allow constructing and passing of non-shared
742 SerializationConfig/DeserializationConfig instances to ObjectMapper
cowtowncoder2ac29b02009-06-30 06:07:09 +0000743 * [JACKSON-135] Add basic JsonNode construction support in ObjectMapper
cowtowncoder7876b4e2009-07-29 06:17:27 +0000744 * [JACKSON-147] Add global deserialization feature for suppressing error
745 reporting for unknown properties
cowtowncodere87d9912009-07-30 05:34:23 +0000746 * [JACKSON-149] Add ser/deser features
747 (DeserializationConfig.Feature.USE_ANNOTATIONS,
748 SerializationConfig.Feature.USE_ANNOTATIONS) to allow disabling
749 use of annotations for serialization and/or deserialization config
cowtowncoderf060fc62009-06-29 00:45:12 +0000750
cowtowncodera5885622009-08-01 06:39:22 +00007511.1.2 [31-Jul-2009]
752
753 Fixes:
754
755 * [JACKSON-143] NPE on ArrayNode.equals() when comparing empty array
756 node to non-empty array node
757 (reported by Gregory G)
758 * [JACKSON-144] Static "getter-like" methods mistaken for getters (for
759 serialization)
760 (reported by Dan S)
761
cowtowncoderc4af0bd2009-07-20 05:03:27 +00007621.1.1 [18-Jul-2009]
763
764 Fixes:
765
766 * [JACKSON-139] Non-numeric double values (NaN, Infinity) are serialized
767 as invalid JSON tokens
768 (reported by Peter H)
769 * Core jar incorrectly included much of "mapper" classes (in addition
770 to core classes)
771 * Now compiles again using JDK 1.5 javac (1.1.0 didn't)
772
cowtowncoderf060fc62009-06-29 00:45:12 +00007731.1.0 [22-Jun-2009]
774
775 Fixes:
776
cowtowncoder7aecca12009-06-17 06:08:47 +0000777 * [JACKSON-109] Allow deserializing into generics Bean classes
778 (like Wrapper<Bean>) not just generic Maps and Collections
cowtowncoder69a78d22009-05-23 01:55:23 +0000779 * [JACKSON-121] Problems deserializing Date values of some ISO-8601
780 variants (like one using 'Z' to indicate GMT timezone)
cowtowncoder4ec4b3f2009-06-13 03:08:37 +0000781 * [JACKSON-122] Annotated serializers and deserializers had to
782 be public classes with public default constructor; not any more.
cowtowncoder69a78d22009-05-23 01:55:23 +0000783
cowtowncoder8faf5fa2009-05-20 06:00:46 +0000784 Improvements:
cowtowncoderf86628d2009-05-24 02:11:40 +0000785
cowtowncoder07c8e082009-06-11 04:22:05 +0000786 * [JACKSON-111] Added "jackson-xc" jar to contains XML Compatibility
787 extensions.
788
cowtowncoderf24d39b2009-05-21 05:23:29 +0000789 New features:
cowtowncoder8faf5fa2009-05-20 06:00:46 +0000790
cowtowncoder3d906382009-06-02 22:10:51 +0000791 * [JACKSON-70] Add support for generating JSON Schema
cowtowncoder93dc7eb2009-06-10 06:25:12 +0000792 * [JACKSON-98] Allow serializing/deserializing field-accessible properties,
793 in addition to method-accessible ones.
cowtowncoderc5e42252009-05-27 06:42:40 +0000794 * [JACKSON-105] Allow suppressing output of "default values"; which
795 means value of a property when bean is constructed using the default
796 no-arg constructor
797 (requested by Christoph S)
cowtowncoder86f6b322009-05-28 23:27:59 +0000798 * [JACKSON-119] Add (optional) support for using JAXB annotations
799 (by using JaxbAnnotationIntrospector)
800 (requested by Ryan H)
cowtowncoderf86628d2009-05-24 02:11:40 +0000801 * [JACKSON-120] Add annotations @JsonSerialize, @JsonDeserialize,
802 to streamline annotation by replacing host of existing annotations.
cowtowncoder966e3962009-06-15 05:02:41 +0000803 * [JACKSON-123] Add "chaining" AnnotationIntrospector (implemented
804 as inner class, AnnotationIntrospector.Pair) that allows combining
805 functionality of 2 introspectors.
cowtowncoderf86628d2009-05-24 02:11:40 +0000806
cowtowncoderc4af0bd2009-07-20 05:03:27 +00008071.0.1 [04-Jun-2009]
808
809 Fixes:
810
811 * [JACKSON-104] Build fails on JDK 1.5, assorted other minor issues
812 (reported by Oleksander A)
813 * [JACKSON-121] Problems deserializing Date values of some ISO-8601
814 variants (like one using 'Z' to indicate GMT timezone)
815
cowtowncoder30ad7e42009-05-12 01:00:00 +00008161.0.0 [09-May-2009]
cowtowncoderc0ae5402009-05-06 20:58:03 +0000817
cowtowncodercbfb6ab2009-05-01 06:29:51 +0000818 Fixes:
819
820 * [JACKSON-103] Serializing Groovy objects; need to exclude getter method
821 "getMetaClass" from serialization to prevent infinite recursion
822 (reported by Ray T)
cowtowncodercbfb6ab2009-05-01 06:29:51 +0000823
cowtowncoder30ad7e42009-05-12 01:00:00 +0000824 Improvements:
cowtowncodercbfb6ab2009-05-01 06:29:51 +0000825
cowtowncoder30ad7e42009-05-12 01:00:00 +0000826 * Removed JAX-RS META-INF/services - based auto-registration for
827 JAX-RS MessageBodyReader/MessageBodyWriter, because it could
828 conflict with other application/json content handlers.
cowtowncodercbfb6ab2009-05-01 06:29:51 +0000829
cowtowncoder30ad7e42009-05-12 01:00:00 +00008300.9.9-6 [27-Apr-2009]
cowtowncodercbfb6ab2009-05-01 06:29:51 +0000831
cowtowncoder63bbd5c2009-04-28 06:05:15 +0000832 Improvements:
833
834 * Improved jax-rs provider integration with jersey; now properly
835 auto-registers as handler for json media type(s), and allows
836 for defining custom ObjectMapper to be injected.
837
cowtowncoder63bbd5c2009-04-28 06:05:15 +00008380.9.9-5 [20-Apr-2009]
cowtowncoder64472f82009-02-04 22:58:57 +0000839
cowtowncoder13685d92009-04-19 05:55:33 +0000840 New features:
841
842 * [JACKSON-88]: Support for "Setter-less" collection (and Map) types
843
cowtowncoder962fbd22009-04-18 05:34:51 +0000844 Improvements:
845
cowtowncoder9e217a32009-04-18 06:37:08 +0000846 * [JACKSON-100]: Allow specifying that BigInteger should be used instead
847 of Integer or Long for "generic" integral numeric types (Object, Number)
848 (DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS)
cowtowncoder962fbd22009-04-18 05:34:51 +0000849 * [JACKSON-101]: Allow disabling of access modifier overrides
850 (SerializationgConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)
851 to support more security-constrainted running environments.
852
cowtowncoder962fbd22009-04-18 05:34:51 +00008530.9.9-4 [14-Apr-2009]
854
cowtowncoder685be082009-04-03 21:49:26 +0000855 Fixes:
856
857 * [JACKSON-94] Added missing "JsonParser.readValueAsTree()" method.
cowtowncodera90bc032009-04-06 19:19:34 +0000858 * JacksonJsonProvider was using strict equality comparison against
cowtowncoder6979ab32009-04-07 18:53:26 +0000859 JSON type; instead needs to use "isCompatible". There were other
860 similar problems
861 (reported by Stephen D)
cowtowncodere349e9c2009-04-07 20:47:48 +0000862 * [JACKSON-97] Generic types (with bound wildcards) caused problems
cowtowncoder6979ab32009-04-07 18:53:26 +0000863 when Class introspector could not figure out that a concrete method
cowtowncodere349e9c2009-04-07 20:47:48 +0000864 was overriding/implementing generic method; as well as having
865 problems with synthetic bridge methods.
cowtowncoder685be082009-04-03 21:49:26 +0000866
cowtowncoder713a2f92009-04-08 06:07:20 +0000867 Improvements:
868
869 * [JACKSON-95] Added support for deserializing simple exceptions
870 (Throwable and its sub-classes): anything with a String constructor
871 (assumed to take "message") should work to some degree.
cowtowncoder30f197c2009-04-15 05:03:55 +0000872 * [JACKSON-99] IOExceptions should not be wrapped during object
cowtowncoder80305482009-04-13 04:53:04 +0000873 mapping.
874 (reported by Eldar A)
cowtowncoder713a2f92009-04-08 06:07:20 +0000875
cowtowncoder685be082009-04-03 21:49:26 +0000876 New features:
cowtowncoder73e61892009-04-03 21:37:07 +0000877
cowtowncoder5b5cf632009-04-04 06:49:33 +0000878 * [JACKSON-85]: Make Date deserialization (more) configurable (add
879 DeserializationConfig.setDateFormat())
cowtowncoder713a2f92009-04-08 06:07:20 +0000880 * [JACKSON-93]: Allow overriding the default ClassIntrospector.
cowtowncodere349e9c2009-04-07 20:47:48 +0000881 * [JACKSON-96]: Allow enabling pretty-printing with data binding,
882 through SerializationConfig object.
cowtowncoder5b5cf632009-04-04 06:49:33 +0000883
cowtowncoder73e61892009-04-03 21:37:07 +00008840.9.9-3 [03-Apr-2009]
885
cowtowncoderbe4efa32009-02-19 06:26:45 +0000886 Fixes:
887
cowtowncoder2ce26af2009-03-25 23:21:24 +0000888 * [JACKSON-79]: Primitive value deserialization fragile wrt nulls
889 * [JACKSON-81]: Data binding code could lead to unnecessary blocking
890 because it tried to advance parser (and stream) after binding
891 (reported by Eldar A)
892
cowtowncoder2dcb3f42009-03-20 06:23:00 +0000893 New features:
894
895 * [JACKSON-61]: Allow suppressing writing of bean properties with null values
896 (requested by Justin F)
cowtowncoderb4b8b452009-04-01 05:21:14 +0000897 * [JACKSON-63]: Create CustomDeserializerFactory to allow for adding
898 custom deserializers for non-structured/generic types.
cowtowncoder8a349d62009-03-24 03:20:34 +0000899 * [JACKSON-75]: Add "any setter" method; ability to catch otherwise
900 unknown (unmapped) properties and call a method with name+value.
cowtowncoder4d9d4ef2009-04-01 22:51:22 +0000901 * [JACKSON-80]: Add @JsonValue annotation, to specify that a Bean value
902 is to be serialized as value returned by annotated method: can for
903 example annotate "toString()" method.
cowtowncoder49593ad2009-03-25 19:41:40 +0000904 * [JACKSON-84]: Added JsonGenerator.writeRawValue methods to augment
905 existing JsonGenerator.writeRaw() method
906 (requested by Scott A)
cowtowncoder7ee49552009-03-26 23:37:26 +0000907 * [JACKSON-86]: Added JsonParser.isClosed() and JsonGenerator.isClosed()
908 methods.
cowtowncoder061684d2009-03-28 07:12:55 +0000909 * [JACKSON-87]: Added ability to customized Date/Calendar serialization,
910 both by toggling between timestamp (number) and textual (ISO-8601),
911 and by specifying alternate DateFormat to use.
cowtowncoder2dcb3f42009-03-20 06:23:00 +0000912
cowtowncoder2dcb3f42009-03-20 06:23:00 +00009130.9.9-2 [19-Mar-2009]:
914
915 Fixes:
916
cowtowncoder83782802009-03-19 21:52:29 +0000917 * [JACKSON-75]: Didn't have Deserializer for Number.class.
cowtowncodere969d1e2009-03-17 06:50:47 +0000918
cowtowncoder05573a32009-03-06 03:34:42 +0000919 Improvements:
920
cowtowncodere27b2d92009-03-17 22:30:20 +0000921 * [JACKSON-68]: Add DeserializationProblemListener, and
922 DeserializationConfig.addHandler to add instances to ObjectMapper.
cowtowncoder05573a32009-03-06 03:34:42 +0000923 * [JACKSON-71]: Add support ser/deser of Class.class.
cowtowncoder638db532009-03-17 23:51:58 +0000924 * [JACKSON-72]: Allow specifying that BigDecimal should be used instead
925 of Double for "generic" numeric types (Object, Number)
cowtowncoder9e217a32009-04-18 06:37:08 +0000926 (DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS)
cowtowncoder7b5527e2009-03-14 06:14:23 +0000927 * [JACKSON-73]: Refactored ser/deser configuration settings into
928 separate configuration classes.
cowtowncoder7f97b4f2009-03-19 20:34:02 +0000929 * [JACKSON-78]: Should be able to deserialize ints into Booleans (0 == false)
cowtowncoder05573a32009-03-06 03:34:42 +0000930
cowtowncoder4e0f1ca2009-03-09 05:00:32 +0000931 New features:
932
933 * [JACKSON-45]: Add convenience methods to help writing custom
934 serializers
935 (requested by Scott A)
936
cowtowncoder2dcb3f42009-03-20 06:23:00 +00009370.9.9 [02-Mar-2009]:
cowtowncoder05573a32009-03-06 03:34:42 +0000938
939 Fixes:
940
cowtowncoderbe4efa32009-02-19 06:26:45 +0000941 * [JACKSON-59]: NPE with String[] serializer
942 (reported by Kevin G)
cowtowncoder3f1dee82009-02-19 20:11:55 +0000943 * [JACKSON-62]: NPE with JsonMappingException if source exception used
944 null message.
945 (reported by Justin F)
cowtowncoderf4d18c72009-02-27 06:57:32 +0000946 * [JACKSON-64]: Handling of property name (with @JsonGetter, @JsonSetter)
947 made bit more intuitive; uses bean naming convention if no explicit
948 name given.
cowtowncoderbe4efa32009-02-19 06:26:45 +0000949
cowtowncoder4a5d5fd2009-02-27 23:07:54 +0000950 Improvements:
951
952 * [JACKSON-60]: Method annotations did not follow intuitive expectations
953 of inheritability; now do.
954 * [JACKSON-65]: Need to support typing using "java.lang.reflect.Type", to
955 help integration with frameworks.
cowtowncoder889d5ab2009-02-28 07:28:24 +0000956 * [JACKSON-66]: ObjectMapper now has "canSerialize" and "canDeserialize"
957 methods to help frameworks figure out what is supported.
cowtowncoder4a5d5fd2009-02-27 23:07:54 +0000958
cowtowncodere12853f2009-02-17 07:11:21 +0000959 New features:
960
cowtowncoder65148ec2009-02-25 23:16:28 +0000961 * [JACKSON-52]: Allow disabling name-based auto-detection of
962 getter methods
963 (requested by Justin F)
cowtowncoder3de7eaf2009-02-19 07:14:00 +0000964 * [JACKSON-58]: Allow defining custom global Enum serializer
965 (to, for example, make Enums be serialized using Enum.toString(),
966 or lower-case name or such)
cowtowncodere0a3f242009-03-02 18:43:09 +0000967 * [JACKSON-67]: Add JAX-RS provider based on Jackson that can handle
968 JSON content type; initially as a separate jar.
cowtowncoder3de7eaf2009-02-19 07:14:00 +0000969
cowtowncoder3a5b79b2009-02-25 23:19:52 +0000970 Other:
971
972 * [JACKSON-22]: all contributors now have submitted contributor
973 agreement, stored under 'DEV/agreements-received' in svn trunk.
974
cowtowncoder3de7eaf2009-02-19 07:14:00 +00009750.9.8 [18-Feb-2009]:
976
977 Fixes:
978
979 * [JACKSON-49]: Incorrect bounds check for Float values resulted in
980 exception when trying to serializer 0.0f.
981
982 New features:
983
cowtowncoder03833712009-02-17 07:14:18 +0000984 * [JACKSON-32]: add annotations to configure serialization process
985 (@JsonClass/@JsonContentClass/@JsonKeyClass; @JsonUseSerializer,
986 @JsonUseDeserializer, @JsonIgnore)
cowtowncodere12853f2009-02-17 07:11:21 +0000987 * [JACKSON-36]: add annotations to define property names that differ
988 from bean naming convention (@JsonGetter/@JsonSetter)
989
cowtowncodercd6a9592009-02-17 07:06:04 +0000990 Improvements:
991
cowtowncoder64472f82009-02-04 22:58:57 +0000992 * [JACKSON-47]: Change DeserializerProvider.findValueDeserializer to
993 take "referrer" information. This is needed to be able to give
994 contextual mappings where a given type may be deserialized differently
995 (by different deserializer, and possibly to a different java class)
996 depending on where the reference is from.
cowtowncoder5ec15452009-02-17 05:56:37 +0000997 * [JACKSON-48]: Integrate ObjectMapper with JsonGenerator, JsonParser;
998 add MappingJsonFactory.
999 (suggested by Scott A)
cowtowncodere34beeb2009-02-10 23:30:17 +00001000 * [JACKSON-50]: JsonNode.getElements() and .iterator() now work for
1001 ObjectNodes too, not just ArrayNodes. Also added convenience factory
1002 methods to allow constructing child nodes directly from container
1003 nodes.
cowtowncodere7179c32009-02-16 21:39:51 +00001004 * [JACKSON-53]: iBatis proxied value classes didn't work; fixed by
1005 prevent CGLib-generated "getCallbacks" from getting called.
1006 (reportd by Justin F)
cowtowncoder38f869f2009-02-16 19:51:53 +00001007 * [JACKSON-55]: Added support for reference-path-tracking in
1008 JsonMappingException, made serializers populate it: this to make
1009 it easier to trouble-shoot nested serialization problems
cowtowncoderaf004782009-02-16 23:18:08 +00001010 * [JACKSON-56]: Added support for RFC-1123 date format, along with
1011 simpler "standard" format; and can add more as need be.
cowtowncoder64472f82009-02-04 22:58:57 +00001012
cowtowncoder64472f82009-02-04 22:58:57 +000010130.9.7 [04-Feb-2009]:
cowtowncoder6fe44382009-01-14 06:49:09 +00001014
cowtowncoderb4421f82009-01-21 18:42:38 +00001015 Improvements:
1016
1017 * [JACKSON-34]: Improved packaging by adding an intermediate directory
1018 in source tarball, to not mess up the current directory (and to indicate
1019 version number as well)
cowtowncoder1795e0a2009-01-26 23:18:50 +00001020 * [JACKSON-37]: Make Jackson run on Android, by ensuring that there are
1021 no hard linkages to classes that Android SDK doesn't have (the only
1022 reference that was there, to XMLGregorianCalendar, was changed to
1023 soft linkage)
1024 * [JACKSON-42]: Add new JsonNode sub-class, BinaryNode, to represent
1025 base64 encoded binary content.
cowtowncoderb4421f82009-01-21 18:42:38 +00001026
cowtowncoder3dbde602009-01-23 00:07:32 +00001027 New features:
1028
cowtowncoderc9e23212009-01-24 00:44:03 +00001029 * [JACKSON-6]: Implement JsonParser.getBinaryValue() so that one can
1030 now also read Base64-encoded binary, not just write.
cowtowncoder3dbde602009-01-23 00:07:32 +00001031 * [JACKSON-40]: Add JsonParser.nextValue() for more convenient
1032 iteration.
cowtowncoder21ad15d2009-02-04 21:37:26 +00001033 * [JACKSON-46]: Allow disabling quoting of field names by disabling
1034 feature 'JsonGenerator.feature.QUOTE_FIELD_NAMES'
1035 (requested by Scott Anderson)
cowtowncoder3dbde602009-01-23 00:07:32 +00001036
cowtowncoderb4421f82009-01-21 18:42:38 +000010370.9.6 [14-Jan-2009]:
cowtowncodere3e40b02008-04-25 05:30:01 +00001038
1039 Bug fixes:
1040
cowtowncoder9dfa6902009-01-05 21:56:12 +00001041 * Serialization of some core types (boolean/java.lang.Boolean,
1042 long/java.lang.Long) was not working due to incorrectly mapped
1043 serializers.
1044
cowtowncoder336017c2009-01-14 00:08:19 +00001045 New features:
1046
1047 * [JACKSON-31]: Complete rewrite of ObjectMapper's deserialization:
cowtowncoder636c2ab2009-01-15 05:47:12 +00001048 now supports Beans, typed (generics-aware) Lists/Maps/arrays.
cowtowncoder336017c2009-01-14 00:08:19 +00001049
cowtowncoder9dfa6902009-01-05 21:56:12 +00001050 Improvements:
1051
cowtowncoderc8cf6ad2009-01-14 23:52:52 +00001052 * [JACKSON-24]: Add efficient byte-array - based parser factory
1053 method to JsonFactory (has maybe 5% improvement over wrapping
1054 in ByteArrayInputStream).
cowtowncoder6fe44382009-01-14 06:49:09 +00001055 * [JACKSON-29]: Split classes in 2 jars: core that has parser and
1056 generator APIs and implementations; and mapper jar that has object
1057 and tree mapper code.
cowtowncoder9dfa6902009-01-05 21:56:12 +00001058 * [JACKSON-30]: Renamed "JavaTypeMapper" as "ObjectMapper", and
1059 "JsonTypeMapper" as "TreeMapper"; new names should be more intuitive
1060 to indicate their purpose. Will leave simple implementations of
1061 old classes to allow for gradual migration of existing code.
1062
cowtowncoder9dfa6902009-01-05 21:56:12 +000010630.9.5 [10-Dec-2008]:
1064
1065 Bug fixes:
1066
cowtowncoder9ec956e2008-12-03 17:40:31 +00001067 * [JACKSON-25]: Problems with Maven pom for lgpl version
1068 (report by Ray R)
1069 note: backported to 0.9.4 Codehaus Maven repo
1070
cowtowncoderf1a91c52008-12-05 22:07:23 +00001071 Improvements:
1072
cowtowncoder819df722008-12-11 06:16:13 +00001073 * [JACKSON-13]: JavaTypeMapper can now take JsonFactory argument, and
1074 thus is able to construct JsonParser/JsonGenerator instances as necessary
1075 * [JACKSON-17]: Handling of unknown types now configurable with
1076 JavaTypeMapper serialization (see JsonSerializerProvider for methods)
1077 * [JACKSON-20]: Handling of nulls (key, value) configurable with
1078 JavaTypeMapper serialization (see JsonSerializerProvider for methods)
cowtowncoderf1a91c52008-12-05 22:07:23 +00001079 * [JACKSON-26]: Add convenience JsonGenerator.writeXxxField() methods
1080 to simplify json generation.
1081
1082 New features:
1083
1084 * [JACKSON-27]: Allow automatic closing of incomplete START_ARRAY and
cowtowncoder16a99702008-12-13 04:31:37 +00001085 START_OBJECT events, when JsonGenerator.close() is called.
cowtowncoderf1a91c52008-12-05 22:07:23 +00001086
cowtowncoder3cedba52008-12-01 06:09:31 +000010870.9.4 [26-Nov-2008]:
1088
1089 Bug fixes:
1090
cowtowncoder0679f4c2008-11-26 19:43:53 +00001091 * [JACKSON-16]: JavaDocs regarding whether Jackson is to close underlying
1092 streams, readers and writers, were incorrect. Additionally added
1093 parser/generator features to allow specifying whether automatic closing
1094 is to be done by Jackson: feature is enabled by default, both for
1095 backwards compatibility, and because it seems like the right setting.
cowtowncoder5cbf9062008-10-21 06:31:58 +00001096 * [JACKSON-18]: ArrayIndexOutOfBounds on IntNode, due to off-by-one
1097 problem with comparisons
1098 (reported by Michael D)
cowtowncoder0530d3e2008-11-25 19:33:25 +00001099 * Fixed a problem with CR (\r) handling; was sometimes skipping
1100 characters (problematic if there's no indentation).
cowtowncoder5ed8bd82008-11-26 17:41:27 +00001101 * Multiple UTF-8 decoding fixes: was specifically not working for
1102 names.
cowtowncoder5cbf9062008-10-21 06:31:58 +00001103
cowtowncoder05cbbd22008-09-19 06:11:16 +00001104 Improvements:
1105
1106 * More complete JavaDoc comments for core public classes.
cowtowncoder0530d3e2008-11-25 19:33:25 +00001107 * Internal cleanup of core parsing, to unify handling of Object and
1108 Array entries
cowtowncoder05cbbd22008-09-19 06:11:16 +00001109
cowtowncodera7ec5372009-12-11 07:19:35 +000011100.8.0 - 0.9.3 [between 17-Oct-2007 and 05-Sep-2008]:
cowtowncoderce3027a2008-11-21 20:30:25 +00001111
cowtowncodera7ec5372009-12-11 07:19:35 +00001112 Changes:
1113
1114 * [JACKSON-5]: Symbol table construction was not thread-safe for
1115 utf-8 encoded content (new bug with 0.9.2, not present with earlier)
1116 (reported by Tudor B)
1117 * [JACKSON-8]: Serialization of BigDecimal broken with JavaTypeMapper
1118 (reported by Johannes L)
cowtowncodere6e65b42008-11-27 05:45:46 +00001119 * [JACKSON-9]: Add support for (non-standard) Json comments.
1120 (requested by Mike G)
cowtowncoderce3027a2008-11-21 20:30:25 +00001121 * [JACKSON-11]: Implement base64/binary methods for json generator.
cowtowncodera7ec5372009-12-11 07:19:35 +00001122 * [JACKSON-14]: Problems with generic collections, serializer
1123 method signatures (due to lack of covariance wrt collection types)
cowtowncoder5ed8bd82008-11-26 17:41:27 +00001124 * [JACKSON-15]: Add copy-through methods to JsonGenerator for
1125 pass-through copying of content (copyCurrentEvent, copyCurrentStructure)
cowtowncoder19590b92008-11-21 20:54:14 +00001126 * [JACKSON-23]: Add OSGi manifest headers for jars (to run on OSGi container).
cowtowncoder0679f4c2008-11-26 19:43:53 +00001127 * Added generic "feature" mechanism to parsers, writers; features are
1128 togglable (on/off) things with well-defined default values, implemented
1129 as Enums.
cowtowncoderce3027a2008-11-21 20:30:25 +00001130
cowtowncoder569b5e82008-07-25 06:35:49 +00001131 * [JACKSON-1]: JsonNode now implements Iterable<JsonNode> so that
1132 it is possible use Java 5 foreach loop over array/object nodes.
1133 (suggested by Michael M)
1134 * [JACKSON-4] Added JsonParser.skipChildren() method.
cowtowncoder15a0b022008-04-24 05:05:16 +00001135 * UTF-16/32 handling was not completely correct, was erroneously
1136 skipping first 2/4 bytes in some cases (even when no BOM included).
1137 Also, related unit tests added/fixed.
cowtowncoderba364612008-03-24 05:59:43 +00001138 * JsonGenerator.useDefaultPrettyPrinter()/.setPrettyPrinter()
1139 allow for pretty printing (indentation).
1140 (thanks to Ziad M for suggestion, sample code)
1141
cowtowncodera7ec5372009-12-11 07:19:35 +00001142 * Implicit conversions for numbers could sometimes lose accuracy,
1143 if floating-point number was first accessed as int/long, and then
1144 as a BigDecimal.
1145 * One Nasty NPE fixed from NameCanonicalizer (which was added in 0.9.2)
cowtowncoderba364612008-03-24 05:59:43 +00001146
cowtowncoder314c4832008-09-07 17:39:33 +00001147 * Java type mapper had a bug in Collection mapping (mismatched
1148 calls between writeStartArray and writeEndObject!)
1149 (reported by Mike E)
1150 * Java type mapper had a bug which prevented custom mappers (as
1151 well as slower interface-based introspection) from working.
1152 (reported by Mike E)
1153 * Numeric value parsing had some problems
cowtowncoderba364612008-03-24 05:59:43 +00001154 * JavaTypeMapper and JsonTypeMapper had a bug which resulted
1155 in NullPointerException when stream ends, instead of returning
1156 null to indicate it.
1157 (reported by Augusto C)
1158 * JavaTypeMapper did not implicitly flush generator after mapping
1159 objects: it should, and now will (note: JsonTypeMapper not directly
1160 affected, flushing still needed)
1161 (suggested by Maciej P)