Tatu Saloranta | 55bfa00 | 2012-05-14 22:49:54 -0700 | [diff] [blame] | 1 | Version: 2.1.0 |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 2 | |
| 3 | Release date: |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 4 | xx-Jun-2012 |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 5 | |
| 6 | Description: |
Tatu Saloranta | 55bfa00 | 2012-05-14 22:49:54 -0700 | [diff] [blame] | 7 | New minor version for 2.x. |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 8 | |
| 9 | Fixes: |
| 10 | |
Tatu Saloranta | fcbce11 | 2012-06-28 14:43:43 -0700 | [diff] [blame] | 11 | * [JACKSON-830]/[Issue-19]: Change OSGi bundle name to be fully-qualified |
Tatu Saloranta | bc483d1 | 2012-08-01 23:35:59 -0700 | [diff] [blame^] | 12 | * [JACKSON-851]: State corruption with ObjectWriter, DefaultPrettyPrinter |
| 13 | (reported by Duncan A) |
Tatu Saloranta | 4b7f096 | 2012-07-05 21:12:50 -0700 | [diff] [blame] | 14 | * Minor fix wrt [Issue-11], coercion needed extra checks |
Tatu Saloranta | fcbce11 | 2012-06-28 14:43:43 -0700 | [diff] [blame] | 15 | |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 16 | Improvements: |
| 17 | |
Tatu Saloranta | ac1f2ab | 2012-08-01 19:49:20 -0700 | [diff] [blame] | 18 | * [JACKSON-758]: Remove 'IOException' from throws clauses of "writeValueAsString" |
| 19 | and "writeValueAsBytes" of ObjectMapper/ObjectWriter |
| 20 | (suggested by G-T Chen) |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 21 | * [JACKSON-839]: Allow "upgrade" of integer number types for |
| 22 | UntypedObjectDeserializer, even with default typing enabled. |
Tatu Saloranta | 11cec4d | 2012-07-22 22:33:20 -0700 | [diff] [blame] | 23 | * [JACKSON-850]: Allow use of zero-arg factory methods as "default creator" |
| 24 | (suggested by Razvan D) |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 25 | * [Issue-9]: Implement 'required' JSON Schema attribute for bean properties |
Tatu Saloranta | dd34856 | 2012-07-18 17:25:02 -0700 | [diff] [blame] | 26 | * [Issue-20]: Add new exception type, InvalidFormatException (sub-type of |
| 27 | JsonMappingException) to indicate data format problems |
| 28 | (suggested by HolySamosa@github) |
Tatu Saloranta | 752b57e | 2012-06-08 23:20:41 -0700 | [diff] [blame] | 29 | * [Issue-22]: Add 'ObjectMapper.setAnnotationIntrospectors()' which allows |
| 30 | defining different introspectors for serialization, deserialization |
Tatu Saloranta | 593257d | 2012-07-16 21:58:48 -0700 | [diff] [blame] | 31 | * [Issue-30] ObjectReader and ObjectWriter now try to pre-fetch root (de)serializer |
| 32 | if possible; minor performance improvement (2% for small POJOs). |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 33 | * [Issue-33] Simplified/clarified definition of 'ObjectReader.readValues()'; |
| 34 | minor change in behavior for JSON Array "wrapped" sequences |
Tatu Saloranta | 4a05188 | 2012-07-04 22:47:42 -0700 | [diff] [blame] | 35 | * Added 'ObjectReader#withHandler' to allow for reconfiguring deserialization |
| 36 | problem handler |
| 37 | (suggested by 'electricmonk') |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 38 | |
Tatu Saloranta | 6cada0a | 2012-07-31 22:24:03 -0700 | [diff] [blame] | 39 | New features: |
| 40 | |
| 41 | * [Issue-29]: Allow serializing, deserializing POJOs as JSON Arrays |
| 42 | by using `@JsonFormat(shape=Shape.ARRAY)` |
| 43 | * (issue #4 of jackson-annotations): Add `@JsonIdentityInfo(firstAsId=true)` |
| 44 | to force ALL references to an object written as Object Id, even the first one. |
| 45 | |
Tatu Saloranta | 2b4086a | 2012-06-29 20:27:24 -0700 | [diff] [blame] | 46 | Other changes: |
| 47 | |
| 48 | * New variant of AnnotationIntrospector.getFormat(), to support class |
| 49 | annotations |
Tatu Saloranta | 134d356 | 2012-07-05 21:38:46 -0700 | [diff] [blame] | 50 | * It is now possible to serialize instances of plain old Object, iff |
| 51 | 'FAIL_ON_EMPTY_BEANS' is disabled. |
Tatu Saloranta | 2b4086a | 2012-06-29 20:27:24 -0700 | [diff] [blame] | 52 | |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 53 | INCOMPATIBILITIES: (rats!) |
| 54 | |
| 55 | * Note that [Issue-33] (see above) is, technically speaking, backwards |
| 56 | imcompatible change. It is estimated that it should NOT affect most |
| 57 | users, as changes are to edge cases (and undocumented ones at that). |
| 58 | However, it can potentially cause problems with upgrade. |
| 59 | |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 60 | ------------------------------------------------------------------------ |
| 61 | === History: === |
| 62 | ------------------------------------------------------------------------ |
| 63 | |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 64 | 2.0.4 (26-Jun-2012) |
| 65 | |
| 66 | * [Issue-6]: element count for PrettyPrinter, endObject wrong |
| 67 | (reported by "thebluemountain") |
| 68 | * [JACKSON-838]: Utf8StreamParser._reportInvalidToken() skips letters |
| 69 | from reported token name |
| 70 | (reported by Lóránt Pintér) |
| 71 | * [JACKSON-841] Data is doubled in SegmentedStringWriter output |
| 72 | (reported by Scott S) |
| 73 | * [JACKSON-842] ArrayIndexOutOfBoundsException when skipping C-style comments |
| 74 | (reported by Sebastien R) |
| 75 | |
| 76 | 2.0.3: no version 2.0.3 released -- only used for extension modules |
| 77 | |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 78 | 2.0.2 [14-May-2012] |
Tatu Saloranta | 23e267c | 2012-04-23 19:22:04 -0700 | [diff] [blame] | 79 | |
| 80 | Fixes: |
| 81 | |
Tatu Saloranta | 1b30b1a | 2012-04-28 00:43:34 -0700 | [diff] [blame] | 82 | * [Issue-14]: Annotations were not included from parent classes of |
| 83 | mix-in classes |
| 84 | (reported by @guillaup) |
Tatu Saloranta | e16034e | 2012-04-30 22:51:36 -0700 | [diff] [blame] | 85 | * [JACKSON-824]: Combination of JSON Views, ObjectMapper.readerForUpdating() |
| 86 | was not working |
| 87 | (reported by Nir S) |
Tatu Saloranta | b8f79ed | 2012-05-14 19:04:53 -0700 | [diff] [blame] | 88 | (and all fixes from 1.9.7) |
Tatu Saloranta | 1b30b1a | 2012-04-28 00:43:34 -0700 | [diff] [blame] | 89 | |
Tatu Saloranta | cfa2fc1 | 2012-04-27 19:31:28 -0700 | [diff] [blame] | 90 | Improvements: |
| 91 | |
| 92 | * [Issue-11]: Improve ObjectMapper.convertValue()/.treeToValue() to use |
| 93 | cast if possible |
| 94 | |
Tatu Saloranta | 23e267c | 2012-04-23 19:22:04 -0700 | [diff] [blame] | 95 | 2.0.1 [23-Apr-2012] |
Tatu Saloranta | 737ad05 | 2012-04-02 21:04:47 -0700 | [diff] [blame] | 96 | |
| 97 | Fixes: |
| 98 | |
Tatu Saloranta | fc3db39 | 2012-04-23 18:49:08 -0700 | [diff] [blame] | 99 | * [JACKSON-827] Ensure core packages work on JDK 1.5 |
| 100 | (reported by Pascal g) |
Tatu Saloranta | ae4ea6e | 2012-04-19 19:47:53 -0700 | [diff] [blame] | 101 | * [JACKSON-829] Custom serializers not working for List<String> properties, |
| 102 | @JsonSerialize(contentUsing) |
| 103 | (reported by James R) |
| 104 | |
Tatu Saloranta | 737ad05 | 2012-04-02 21:04:47 -0700 | [diff] [blame] | 105 | Improvements: |
| 106 | |
| 107 | * [Issue-5]: Add support for maps with java.util.Locale keys to the set of |
| 108 | StdKeyDeserializers |
| 109 | (contributed by Ryan G) |
| 110 | |
Tatu Saloranta | fc3db39 | 2012-04-23 18:49:08 -0700 | [diff] [blame] | 111 | 2.0.0 [25-Mar-2012] |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 112 | |
| 113 | Fixes: |
| 114 | |
Tatu Saloranta | 337feca | 2012-03-19 19:11:21 -0700 | [diff] [blame] | 115 | * [JACKSON-368]: Problems with managed references, abstract types |
Tatu | 3af61ff | 2012-01-19 15:58:41 -0800 | [diff] [blame] | 116 | * [JACKSON-711]: Delegating @JsonCreator did not work with Injectable values |
Tatu Saloranta | e1ceccd | 2012-03-04 19:52:36 -0800 | [diff] [blame] | 117 | * [JACKSON-798]: Problem with external type id, creators |
| 118 | (reported by Casey L) |
Tatu Saloranta | deaee9c | 2012-03-25 12:01:34 -0700 | [diff] [blame] | 119 | (and all fixes up until and including 1.9.6) |
Tatu | 9e6c28f | 2012-01-19 15:58:08 -0800 | [diff] [blame] | 120 | |
Tatu Saloranta | e1ceccd | 2012-03-04 19:52:36 -0800 | [diff] [blame] | 121 | Improvements: |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 122 | |
Tatu Saloranta | 28ff1a9 | 2012-01-17 17:54:51 -0800 | [diff] [blame] | 123 | * [JACKSON-546]: Indicate end-of-input with JsonMappingException instead |
| 124 | of EOFException, when there is no parsing exception |
Tatu Saloranta | ee6e3d1 | 2012-01-17 17:28:39 -0800 | [diff] [blame] | 125 | * [JACKSON-664]: Reduce overhead of type resolution by adding caching |
| 126 | in TypeFactory |
Tatu Saloranta | 7555fa2 | 2012-01-14 23:03:04 -0800 | [diff] [blame] | 127 | * [JACKSON-690]: Pass DeserializationContext through ValueInstantiator |
Tatu | 418a239 | 2012-01-12 21:52:07 -0800 | [diff] [blame] | 128 | * [JACKSON-695]: Add 'isEmpty(value)' in JsonSerializer to allow |
| 129 | customizing handling of serialization of empty values |
Tatu Saloranta | 15fb6ff | 2012-01-14 10:31:35 -0800 | [diff] [blame] | 130 | * [JACKSON-710]: 'ObjectMapper.convertValue()' should ignore root value |
| 131 | wrapping/unwrapping settings |
Tatu | 6066826 | 2012-01-19 14:21:12 -0800 | [diff] [blame] | 132 | * [JACKSON-730] Split various features (JsonParser, JsonGenerator, |
| 133 | SerializationConfig, DeserializationConfig) into per-factory |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 134 | features (MapperFeature, JsonFactory.Feature) an per |
Tatu | 6066826 | 2012-01-19 14:21:12 -0800 | [diff] [blame] | 135 | instance features (existing ones) |
Tatu Saloranta | a03e0eb | 2012-01-14 14:01:39 -0800 | [diff] [blame] | 136 | * [JACKSON-732]: Allow 'AnnotationIntrospector.findContentDeserializer()' |
| 137 | (and similar) to return instance, not just Class<?> for instance |
| 138 | (requested by James R) |
Tatu Saloranta | 4b02e9e | 2012-02-03 18:41:29 -0800 | [diff] [blame] | 139 | * [JACKSON-736]: Add (more) access to array, container and map serializers |
Tatu Saloranta | c166fa3 | 2012-02-03 19:42:41 -0800 | [diff] [blame] | 140 | * [JACKSON-737]: Allow accessing of "creator properties" for BeanDeserializer |
Tatu | cbbfbd3 | 2012-01-20 16:07:51 -0800 | [diff] [blame] | 141 | * [JACKSON-748]: Add 'registerSubtypes' to 'Module.setupContext' (and SimpleModule) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 142 | * [JACKSON-749]: Make @JsonValue work for Enum deserialization |
Tatu | b471a04 | 2012-01-27 11:51:39 -0800 | [diff] [blame] | 143 | * [JACKSON-769]: ObjectNode/ArrayNode: change 'put', 'insert', 'add' to return |
| 144 | 'this node' (unless already returning something) |
Tatu Saloranta | e5d7769 | 2012-01-29 11:20:26 -0800 | [diff] [blame] | 145 | * [JACKSON-770]: Simplify method naming for JsonNode, drop unnecessary 'get' prefix |
| 146 | from methods like 'getTextValue()' (becomes 'textValue()') |
Tatu | 9610aff | 2012-02-02 11:30:08 -0800 | [diff] [blame] | 147 | * [JACKSON-777]: Rename 'SerializationConfig.Feature' as 'SerializationFeature', |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 148 | 'DeserializationConfig.Feature' as 'DeserializationFeature' |
Tatu Saloranta | dfc4c88 | 2012-02-11 13:54:27 -0800 | [diff] [blame] | 149 | * [JACKSON-780]: MissingNode, NullNode should return 'defaultValue' from 'asXxx' methods, |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 150 | (not 0 for numbers), as they are not numeric types |
Tatu Saloranta | 3ae9c39 | 2012-05-18 16:45:47 -0700 | [diff] [blame] | 151 | * [JACKSON-787]: Allow use of @JsonIgnoreProperties for properties (fields, getters, setters) |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 152 | * [JACKSON-795]: @JsonValue was not working for Maps, Collections |
Tatu Saloranta | cf5d547 | 2012-03-03 11:47:51 -0800 | [diff] [blame] | 153 | * [JACKSON-800]: Add 'Module.SetupContext#addDeserializationProblemHandler' |
| 154 | (suggested by James R) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 155 | |
| 156 | New features: |
| 157 | |
Tatu Saloranta | c99a784 | 2012-02-22 18:09:00 -0800 | [diff] [blame] | 158 | * [JACKSON-107]: Add support for Object Identity (to handled cycles, shared refs), |
Tatu Saloranta | deaee9c | 2012-03-25 12:01:34 -0700 | [diff] [blame] | 159 | with @JsonIdentityInfo |
Tatu Saloranta | 26b2e1b | 2012-02-22 22:50:21 -0800 | [diff] [blame] | 160 | * [JACKSON-435]: Allow per-property Date formatting using @JsonFormat. |
Tatu Saloranta | 8958048 | 2012-01-20 22:08:56 -0800 | [diff] [blame] | 161 | * [JACKSON-437]: Allow injecting of type id as POJO property, by setting |
| 162 | new '@JsonTypeInfo.visible' property to true. |
Tatu Saloranta | 17ad21f | 2012-02-19 10:01:31 -0800 | [diff] [blame] | 163 | * [JACKSON-469]: Support "Builder pattern" for deserialiation; that is, allow |
| 164 | use of separate Builder object for data binding, creating actual value |
Tatu Saloranta | 7324b9b | 2012-02-02 21:51:16 -0800 | [diff] [blame] | 165 | * [JACKSON-608]: Allow use of JSON Views for deserialization |
Tatu Saloranta | 49117e0 | 2012-03-03 16:01:12 -0800 | [diff] [blame] | 166 | * [JACKSON-636]: Add 'SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS' to allow |
| 167 | forced sorting of Maps during serialization |
| 168 | (suggested by Joern H) |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 169 | * [JACKSON-669]: Allow prefix/suffix for @JsonUnwrapped properties |
| 170 | (requested by Aner P) |
Tatu Saloranta | f0e232d | 2012-01-29 16:44:28 -0800 | [diff] [blame] | 171 | * [JACKSON-707]: Add 'JsonNode.deepCopy()', to create safe deep copies |
| 172 | of ObjectNodes, ArrayNodes. |
Tatu Saloranta | ff8c08c | 2012-02-21 22:21:21 -0800 | [diff] [blame] | 173 | * [JACKSON-714]: Add general-purpose @JsonFormat annotation |
Tatu | bc4153e | 2012-01-18 15:05:44 -0800 | [diff] [blame] | 174 | * [JACKSON-718]: Added 'JsonNode.canConvertToInt()', 'JsonNode.canConvertToLong()' |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 175 | * [JACKSON-747]: Allow changing of 'SerializationFeature' for ObjectWriter, |
| 176 | 'DeserializationFeature' for ObjectReader. |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 177 | * [JACKSON-752]: Add @JsonInclude (replacement of @JsonSerialize.include) |
Tatu Saloranta | f7c45bf | 2012-01-16 18:26:47 -0800 | [diff] [blame] | 178 | * [JACKSON-754]: Add @JacksonAnnotationsInside for creating "annotation |
| 179 | bundles" (also: AnnotationIntrospector.isAnnotationBundle()) |
Tatu | bbebf46 | 2012-02-03 17:44:31 -0800 | [diff] [blame] | 180 | * [JACKSON-762]: Allow using @JsonTypeId to specify property to use as |
| 181 | type id, instead of using separate type id resolver. |
Tatu Saloranta | e196174 | 2012-01-22 16:03:47 -0800 | [diff] [blame] | 182 | * [JACKSON-764]: Allow specifying "root name" to use for root wrapping |
| 183 | via ObjectReader, ObjectWriter. |
Tatu Saloranta | 361c0a8 | 2012-02-24 18:16:29 -0800 | [diff] [blame] | 184 | * [JACKSON-772]: Add 'JsonNode.withArray()' to use for traversing Array nodes. |
| 185 | * [JACKSON-793]: Add support for configurable Locale, TimeZone to use |
| 186 | (via SerializationConfig, DeserializationConfig) |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 187 | * [JACKSON-805]: Add 'SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED' |
| 188 | to improve interoperability with BadgerFish/Jettison |
Tatu Saloranta | f293cc4 | 2012-03-24 21:10:18 -0700 | [diff] [blame] | 189 | * [JACKSON-810]: Deserialization Feature: Allow unknown Enum values via |
| 190 | 'DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL' |
| 191 | (suggested by Raymond R) |
Tatu Saloranta | 33a9a93 | 2012-03-21 18:12:14 -0700 | [diff] [blame] | 192 | * [JACKSON-813]: Add '@JsonSerializableSchema.id' attribute, to indicate |
| 193 | 'id' value to add to generated JSON Schemas. |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 194 | |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 195 | [entries for versions 1.x and earlier not retained; refer to earlier releases) |