Tatu Saloranta | 688cbc1 | 2013-04-23 22:58:26 -0700 | [diff] [blame] | 1 | Project: jackson-databind |
Cowtowncoder | bfbb661 | 2014-10-14 11:26:53 -0700 | [diff] [blame] | 2 | |
| 3 | ------------------------------------------------------------------------ |
| 4 | === Releases === |
| 5 | ------------------------------------------------------------------------ |
| 6 | |
Cowtowncoder | 8aa1ca3 | 2015-01-22 15:56:02 -0800 | [diff] [blame] | 7 | 2.6.0 (not yet released) |
| 8 | |
Tatu Saloranta | ad513ee | 2015-05-14 21:26:23 -0700 | [diff] [blame] | 9 | #77: Allow injection of 'transient' fields |
Tatu Saloranta | dbe68f6 | 2015-05-13 22:38:40 -0700 | [diff] [blame] | 10 | #95: Allow read-only properties with `@JsonIgnoreProperties(allowGetters=true)` |
Tatu Saloranta | cb6dddd | 2015-05-13 23:20:43 -0700 | [diff] [blame] | 11 | #296: Serialization of transient fields with public getters (add |
| 12 | MapperFeature.PROPAGATE_TRANSIENT_MARKER) |
| 13 | (suggested by Michal L) |
Tatu Saloranta | 37879ab | 2015-02-25 22:44:38 -0800 | [diff] [blame] | 14 | #312: Support Type Id mappings where two ids map to same Class |
Tatu Saloranta | 7785dff | 2015-04-01 20:57:14 -0700 | [diff] [blame] | 15 | #348: ObjectMapper.valueToTree does not work with @JsonRawValue |
| 16 | (reported by Chris P, pimlottc@github) |
Cowtowncoder | 23e52ab | 2015-05-19 17:53:26 -0700 | [diff] [blame] | 17 | #504: Add `DeserializationFeature.USE_LONG_FOR_INTS` |
| 18 | (suggested by Jeff S) |
Cowtowncoder | 8aa1ca3 | 2015-01-22 15:56:02 -0800 | [diff] [blame] | 19 | #649: Make `BeanDeserializer` use new `parser.nextFieldName()` and `.hasTokenId()` methods |
Tatu Saloranta | 8e9d4b2 | 2015-05-01 21:26:32 -0700 | [diff] [blame] | 20 | #664: Add `DeserializationFeature.ACCEPT_FLOAT_AS_INT` to prevent coercion of floating point |
| 21 | numbers int `int`/`long`/`Integer`/`Long` |
| 22 | (requested by wenzis@github) |
Cowtowncoder | 759aef0 | 2015-04-02 14:54:39 -0700 | [diff] [blame] | 23 | #679: Add `isEmpty()` implementation for `JsonNode` serializers |
Tatu Saloranta | 62129d8 | 2015-04-02 20:13:54 -0700 | [diff] [blame] | 24 | #688: Provide a means for an ObjectMapper to discover mixin annotation classes on demand |
| 25 | (requested by Laird N) |
Tatu Saloranta | c0b9552 | 2015-05-12 23:14:22 -0700 | [diff] [blame] | 26 | #689: Add `ObjectMapper.setDefaultPrettyPrinter(PrettyPrinter)` |
| 27 | (requested by derknorton@github) |
Cowtowncoder | 7e507d1 | 2015-02-06 15:22:29 -0800 | [diff] [blame] | 28 | #696: Copy constructor does not preserve `_injectableValues` |
| 29 | (reported by Charles A) |
Tatu Saloranta | 9776f5f | 2015-04-28 22:41:16 -0700 | [diff] [blame] | 30 | #698: Add support for referential types (ReferenceType) |
Cowtowncoder | 7fee92e | 2015-02-11 16:15:08 -0800 | [diff] [blame] | 31 | #700: Cannot Change Default Abstract Type Mapper from LinkedHashMap |
| 32 | (reported by wealdtech@github) |
Cowtowncoder | fad4726 | 2015-03-16 15:15:31 -0700 | [diff] [blame] | 33 | #725: Auto-detect multi-argument constructor with implicit names if it is the only visible creator |
Cowtowncoder | 468eba8 | 2015-03-19 15:34:20 -0700 | [diff] [blame] | 34 | #727: Improve `ObjectWriter.forType()` to avoid forcing base type for container types |
Cowtowncoder | 2abf5a3 | 2015-05-21 15:28:03 -0700 | [diff] [blame] | 35 | #734: Add basic error-recovery for `ObjectReader.readValues()` |
Tatu Saloranta | de1acae | 2015-04-01 20:42:11 -0700 | [diff] [blame] | 36 | #737: Add support for writing raw values in TokenBuffer |
| 37 | (suggested by Guillaume S, gsmet@github) |
Tatu Saloranta | a1ade3a | 2015-04-28 23:04:23 -0700 | [diff] [blame] | 38 | #740: Ensure proper `null` (as empty) handling for `AtomicReference` |
Tatu Saloranta | 984fda3 | 2015-05-04 21:10:43 -0700 | [diff] [blame] | 39 | #741: Pass `DeserializationContext' argument for `JsonDeserializer` methods "getNullValue()" |
| 40 | and "getEmptyValue()" |
Tatu Saloranta | 4670d4b | 2015-04-01 20:15:24 -0700 | [diff] [blame] | 41 | #743: Add `RawValue` helper type, for piping raw values through `TokenBuffer` |
Tatu Saloranta | 914f643 | 2015-04-23 22:06:54 -0700 | [diff] [blame] | 42 | #756: Disabling SerializationFeature.FAIL_ON_EMPTY_BEANS does not affect `canSerialize()` |
| 43 | (reported by nickwongdev@github) |
Tatu Saloranta | 3455cd6 | 2015-04-21 22:01:43 -0700 | [diff] [blame] | 44 | #762: Add `ObjectWriter.withoutRootName()`, `ObjectReader.withoutRootName()` |
Tatu Saloranta | e1e0c0b | 2015-04-21 21:49:10 -0700 | [diff] [blame] | 45 | #765: `SimpleType.withStaticTyping()` impl incorrect |
Tatu Saloranta | 07d0e79 | 2015-04-30 22:15:01 -0700 | [diff] [blame] | 46 | #769: Fix `JacksonAnnotationIntrospector.findDeserializer` to return `Object` (as per |
| 47 | `AnnotationIntrospector`); similarly for other `findXxx(De)Serializer(...)` methods |
Tatu Saloranta | 41f8ca1 | 2015-05-06 23:39:24 -0700 | [diff] [blame] | 48 | #781: Support handling of `@JsonProperty.required` for Creator methods |
Cowtowncoder | a936f43 | 2015-05-12 12:33:46 -0700 | [diff] [blame] | 49 | #787: Add `ObjectMapper setFilterProvider(FilterProvider)` to allow chaining |
| 50 | (suggested by rgoldberg@githin) |
Tatu Saloranta | cd2a819 | 2015-05-12 21:22:37 -0700 | [diff] [blame] | 51 | #790: Add `JsonNode.equals(Comparator<JsonNode>, JsonNode)` to support |
| 52 | configurable/external equality comparison |
Tatu Saloranta | 6709f72 | 2015-05-17 19:46:00 -0700 | [diff] [blame] | 53 | #794: Add `SerializationFeature.WRITE_DATES_WITH_ZONE_ID` to allow inclusion/exclusion of |
| 54 | timezone id for date/time values (as opposed to timezone offset) |
Cowtowncoder | ee1c51a | 2015-05-18 16:13:23 -0700 | [diff] [blame] | 55 | #795: Converter annotation not honored for abstract types |
| 56 | (reported by myrosia@github) |
Cowtowncoder | 23e52ab | 2015-05-19 17:53:26 -0700 | [diff] [blame] | 57 | #797: `JsonNodeFactory` method `numberNode(long)` produces `IntNode` for small numbers |
Tatu Saloranta | d314615 | 2015-06-04 21:21:14 -0700 | [diff] [blame] | 58 | #810: Force value coercion for `java.util.Properties`, so that values are `String`s |
| 59 | #811: Add new option, `JsonInclude.Include.NON_ABSENT` (to support exclusion of |
| 60 | JDK8/Guava Optionals) |
Cowtowncoder | 158e116 | 2015-05-29 15:05:14 -0700 | [diff] [blame] | 61 | #812: Java 8 breaks Class-value annotation properties, wrt generics: need to work around |
Cowtowncoder | 0787666 | 2015-06-09 11:34:00 -0700 | [diff] [blame^] | 62 | #813: Add support for new property of `@JsonProperty.access` to support |
| 63 | read-only/write-only use cases |
Tatu Saloranta | d9fdb7f | 2015-03-03 20:20:40 -0800 | [diff] [blame] | 64 | - Remove old cglib compatibility tests; cause problems in Eclipse |
Cowtowncoder | 8aa1ca3 | 2015-01-22 15:56:02 -0800 | [diff] [blame] | 65 | |
Tatu Saloranta | 7d5c50b | 2015-04-24 22:11:45 -0700 | [diff] [blame] | 66 | 2.5.4 (not yet released) |
| 67 | |
Tatu Saloranta | f4ef389 | 2015-05-07 20:12:45 -0700 | [diff] [blame] | 68 | #676: Deserialization of class with generic collection inside depends on |
| 69 | how is was deserialized first time |
| 70 | (reported by lunaticare@github) |
Tatu Saloranta | db612bb | 2015-04-26 22:42:17 -0700 | [diff] [blame] | 71 | #771: Annotation bundles ignored when added to Mixin |
| 72 | (reported by Andrew D) |
Cowtowncoder | b02bf06 | 2015-04-29 15:32:19 -0700 | [diff] [blame] | 73 | #774: NPE from SqlDateSerializer as _useTimestamp is not checked for being null |
| 74 | (reported by mrowkow@github) |
Cowtowncoder | 7db1f44 | 2015-05-08 15:20:18 -0700 | [diff] [blame] | 75 | #785: Add handlings for classes which are available in `Thread.currentThread().getContextClassLoader()` |
| 76 | (contributed by Charles A) |
Tatu Saloranta | 4b9e191 | 2015-05-13 21:51:38 -0700 | [diff] [blame] | 77 | #792: Ensure Constructor Parameter annotations are linked with those of Field, Getter, or Setter |
Tatu Saloranta | 3da7c45 | 2015-05-14 20:54:26 -0700 | [diff] [blame] | 78 | #793: `ObjectMapper.readTree()` does not work with defaultTyping enabled |
| 79 | (reported by gracefulgopher@github) |
Cowtowncoder | ea2c9a4 | 2015-05-22 12:07:16 -0700 | [diff] [blame] | 80 | #801: Using `@JsonCreator` cause generating invalid path reference in `JsonMappingException` |
| 81 | (contributed by Kamil B) |
Tatu Saloranta | d4923ea | 2015-06-04 21:17:51 -0700 | [diff] [blame] | 82 | #815: Presence of PropertyNamingStrategy Makes Deserialization fail |
Tatu Saloranta | e9fa042 | 2015-06-04 21:58:09 -0700 | [diff] [blame] | 83 | #816: Allow date-only ISO strings to have no time zone |
| 84 | (contributed by Andrew G) |
Tatu Saloranta | 7d5c50b | 2015-04-24 22:11:45 -0700 | [diff] [blame] | 85 | - Fix handling of Enums wrt JSON Schema, when 'toString()' used for serialization |
| 86 | |
Cowtowncoder | 13968e6 | 2015-04-24 10:21:37 -0700 | [diff] [blame] | 87 | 2.5.3 (24-Apr-2015) |
Cowtowncoder | 50ea083 | 2015-03-31 17:38:17 -0700 | [diff] [blame] | 88 | |
Cowtowncoder | 119ddc9 | 2015-04-02 14:32:26 -0700 | [diff] [blame] | 89 | #731: XmlAdapter result marshaling error in case of ValueType=Object |
| 90 | (reported, debugged by Dmitry S) |
Cowtowncoder | 0ec81c0 | 2015-04-02 11:49:36 -0700 | [diff] [blame] | 91 | #742: Allow deserialization of `null` Object Id (missing already allowed) |
Cowtowncoder | 817a45a | 2015-04-02 12:53:18 -0700 | [diff] [blame] | 92 | #744: Custom deserializer with parent object update failing |
| 93 | (reported by migel@github) |
Cowtowncoder | 50ea083 | 2015-03-31 17:38:17 -0700 | [diff] [blame] | 94 | #745: EnumDeserializer.deserializerForCreator fails when used to deserialize a Map key |
| 95 | (contributed by John M) |
Cowtowncoder | 3470803 | 2015-04-21 13:34:54 -0700 | [diff] [blame] | 96 | #761: Builder deserializer: in-compatible type exception when return type is super type |
| 97 | (contributed by Alexey G) |
Cowtowncoder | cb7342b | 2015-04-22 14:21:56 -0700 | [diff] [blame] | 98 | #766: Fix Infinite recursion (StackOverflowError) when serializing a SOAP object |
| 99 | (contributed by Alain G) |
Cowtowncoder | 50ea083 | 2015-03-31 17:38:17 -0700 | [diff] [blame] | 100 | |
Tatu Saloranta | fd54177 | 2015-03-29 16:48:53 -0700 | [diff] [blame] | 101 | 2.5.2 (29-Mar-2015) |
Tatu Saloranta | 6290eef | 2015-02-07 12:52:36 -0800 | [diff] [blame] | 102 | |
Tatu Saloranta | 66bfe66 | 2015-03-19 20:20:44 -0700 | [diff] [blame] | 103 | #609: Problem resolving locally declared generic type |
| 104 | (repoted by Hal H) |
Tatu Saloranta | f24064c | 2015-02-07 14:07:03 -0800 | [diff] [blame] | 105 | #691: NullSerializer for MapProperty failing when using polymorphic handling |
Tatu Saloranta | 6290eef | 2015-02-07 12:52:36 -0800 | [diff] [blame] | 106 | (reported by Antibrumm@github) |
Cowtowncoder | 195e9b5 | 2015-02-13 11:05:19 -0800 | [diff] [blame] | 107 | #703: Multiple calls to ObjectMapper#canSerialize(Object.class) returns different values |
| 108 | (reported by flexfrank@github) |
Cowtowncoder | 466f706 | 2015-02-23 16:53:56 -0800 | [diff] [blame] | 109 | #705: JsonAnyGetter doesn't work with JsonSerialize (except with keyUsing) |
| 110 | (reported by natnan@github) |
Tatu Saloranta | 66bfe66 | 2015-03-19 20:20:44 -0700 | [diff] [blame] | 111 | #728: TypeFactory#_fromVariable returns unknownType() even though it has enough information |
| 112 | to provide a more specific type |
| 113 | (reported by jkochaniak@github) |
Tatu Saloranta | 436c309 | 2015-03-24 21:36:43 -0700 | [diff] [blame] | 114 | #733: MappingIterator should move past errors or not return hasNext() == true |
| 115 | (reported by Lorrin N, lorrin@github) |
Cowtowncoder | ec1820d | 2015-03-27 16:55:52 -0700 | [diff] [blame] | 116 | #738: @JsonTypeInfo non-deterministically ignored in 2.5.1 (concurrency issue) |
| 117 | (reported by Dylan S, dylanscott@github) |
Cowtowncoder | d7d31ca | 2015-02-26 14:42:57 -0800 | [diff] [blame] | 118 | - Improvement to handling of custom `ValueInstantiator` for delegating mode; no more NPE |
| 119 | if `getDelegateCreator()` returns null |
Tatu Saloranta | f26c676 | 2015-03-16 19:04:03 -0700 | [diff] [blame] | 120 | - Refactor `TypedKey` into separate util class |
Tatu Saloranta | 6290eef | 2015-02-07 12:52:36 -0800 | [diff] [blame] | 121 | |
Tatu Saloranta | 2b464d7 | 2015-02-06 16:05:34 -0800 | [diff] [blame] | 122 | 2.5.1 (06-Feb-2015) |
Tatu Saloranta | 3b041e3 | 2015-01-02 15:38:56 -0800 | [diff] [blame] | 123 | |
| 124 | #667: Problem with bogus conflict between single-arg-String vs `CharSequence` constructor |
Cowtowncoder | b15abb7 | 2015-01-08 13:34:14 -0800 | [diff] [blame] | 125 | #669: JSOG usage of @JsonTypeInfo and @JsonIdentityInfo(generator=JSOGGenerator.class) fails |
Cowtowncoder | 4dfccd5 | 2015-01-08 13:33:26 -0800 | [diff] [blame] | 126 | (reported by ericali78@github) |
Cowtowncoder | 74c8f97 | 2015-01-07 15:40:06 -0800 | [diff] [blame] | 127 | #671: Adding `java.util.Currency` deserialization support for maps |
| 128 | (contributed by Alexandre S-C) |
Tatu Saloranta | 44df4d2 | 2015-01-10 20:24:19 -0800 | [diff] [blame] | 129 | #674: Spring CGLIB proxies not handled as intended |
| 130 | (reported by Zoltan F) |
Tatu Saloranta | 00bb11e | 2015-01-19 22:14:14 -0800 | [diff] [blame] | 131 | #682: Class<?>-valued Map keys not serialized properly |
| 132 | (reported by Ludevik@github) |
Cowtowncoder | ae3f01b | 2015-01-22 15:37:41 -0800 | [diff] [blame] | 133 | #684: FAIL_ON_NUMBERS_FOR_ENUMS does not fail when integer value is quoted |
| 134 | (reported by kllp@github) |
Cowtowncoder | e4ece74 | 2015-02-06 15:24:35 -0800 | [diff] [blame] | 135 | #696: Copy constructor does not preserve `_injectableValues` |
| 136 | (reported by Charles A) |
Cowtowncoder | 16c5dd7 | 2015-01-22 11:16:42 -0800 | [diff] [blame] | 137 | - Add a work-around in `ISO8601DateFormat` to allow omission of ':' from timezone |
Tatu Saloranta | 102abfb | 2015-01-28 19:03:14 -0800 | [diff] [blame] | 138 | - Bit more work to complete #633 |
Tatu Saloranta | 3b041e3 | 2015-01-02 15:38:56 -0800 | [diff] [blame] | 139 | |
Tatu Saloranta | 2d64bed | 2015-01-01 15:34:30 -0800 | [diff] [blame] | 140 | 2.5.0 (01-Jan-2015) |
Tatu Saloranta | f4e9657 | 2014-06-18 15:26:43 -0700 | [diff] [blame] | 141 | |
Tatu Saloranta | ead4e32 | 2014-12-12 20:02:16 -0800 | [diff] [blame] | 142 | #47: Support `@JsonValue` for (Map) key serialization |
Tatu Saloranta | d0cc247 | 2014-09-25 22:47:57 -0700 | [diff] [blame] | 143 | #113: Problem deserializing polymorphic types with @JsonCreator |
Tatu Saloranta | c4b6c61 | 2014-12-26 22:07:54 -0800 | [diff] [blame] | 144 | #165: Add `DeserializationContext.getContextualType()` to let deserializer |
| 145 | known the expected type. |
Cowtowncoder | dfa1b44 | 2014-12-29 15:55:05 -0800 | [diff] [blame] | 146 | #299: Add `DeserializationFeature.FAIL_ON_UNRESOLVED_OBJECT_IDS` to allow missing |
| 147 | Object Ids (as global default) |
Tatu Saloranta | add3cc3 | 2014-10-06 22:25:44 -0700 | [diff] [blame] | 148 | #408: External type id does not allow use of 'visible=true' |
Tatu Saloranta | 09ad682 | 2014-09-23 22:11:12 -0700 | [diff] [blame] | 149 | #421: @JsonCreator not used in case of multiple creators with parameter names |
| 150 | (reported by Lovro P, lpandzic@github) |
Tatu Saloranta | 8f5a129 | 2014-11-18 20:55:55 -0800 | [diff] [blame] | 151 | #427: Make array and Collection serializers call `JsonGenerator.writeStartArray(int)` |
Tatu Saloranta | b5dd785 | 2014-10-15 19:26:24 -0700 | [diff] [blame] | 152 | #521: Keep bundle annotations, prevent problems with recursive annotation types |
Cowtowncoder | 18186be | 2014-09-23 09:57:25 -0700 | [diff] [blame] | 153 | (reported by tea-dragon@github) |
Tatu Saloranta | f1cb79b | 2014-12-03 23:03:52 -0800 | [diff] [blame] | 154 | #527: Add support for `@JsonInclude(content=Include.NON_NULL)` (and others) for Maps |
Tatu Saloranta | b5dd785 | 2014-10-15 19:26:24 -0700 | [diff] [blame] | 155 | #528: Add support for `JsonType.As.EXISTING_PROPERTY` |
| 156 | (reported by heapifyman@github; implemented by fleebytes@github) |
Cowtowncoder | 152aabb | 2014-09-18 15:16:10 -0700 | [diff] [blame] | 157 | #539: Problem with post-procesing of "empty bean" serializer; was not calling |
| 158 | 'BeanSerializerModifier.modifySerializer()` for empty beans |
| 159 | (reported by Fabien R, fabienrenaud@github) |
Tatu Saloranta | 6651339 | 2015-03-19 19:21:13 -0700 | [diff] [blame] | 160 | #540: Support deserializing `[]` as null or empty collection when the java type |
| 161 | is a not an object, `DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT` |
Tatu Saloranta | ca99065 | 2014-09-25 22:15:09 -0700 | [diff] [blame] | 162 | (requested by Fabien R, fabienrenaud@github) |
Cowtowncoder | 6cf6585 | 2014-09-15 15:51:27 -0700 | [diff] [blame] | 163 | #543: Problem resolving self-referential recursive types |
Cowtowncoder | 18186be | 2014-09-23 09:57:25 -0700 | [diff] [blame] | 164 | (reported by ahgittin@github) |
Cowtowncoder | 3eb74af | 2014-09-23 14:04:57 -0700 | [diff] [blame] | 165 | #550: Minor optimization: prune introspection of "well-known" JDK types |
Cowtowncoder | 18186be | 2014-09-23 09:57:25 -0700 | [diff] [blame] | 166 | #552: Improved handling for ISO-8601 (date) format |
| 167 | (contributed by Jerome G, geronimo-iia@github) |
Tatu Saloranta | 30239f9 | 2014-09-29 21:56:39 -0700 | [diff] [blame] | 168 | #559: Add `getDateFormat()`, `getPropertyNamingStrategy()` in `ObjectMapper` |
Tatu Saloranta | 3afaa74 | 2014-10-12 20:10:02 -0700 | [diff] [blame] | 169 | #560: @JsonCreator to deserialize BigInteger to Enum |
| 170 | (requested by gisupp@github) |
Cowtowncoder | 10f4422 | 2014-09-29 18:20:17 -0700 | [diff] [blame] | 171 | #565: Add support for handling `Map.Entry` |
Tatu Saloranta | 761c9ae | 2014-12-11 19:29:49 -0800 | [diff] [blame] | 172 | #566: Add support for case-insensitive deserialization (`MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES`) |
| 173 | (contributed by Michael R) |
Tatu Saloranta | d8be8ad | 2014-10-15 19:23:36 -0700 | [diff] [blame] | 174 | #571: Add support in ObjectMapper for custom `ObjectReader`, `ObjectWriter` (sub-classes) |
Tatu Saloranta | 2e9defe | 2014-10-12 15:24:39 -0700 | [diff] [blame] | 175 | #572: Override default serialization of Enums |
| 176 | (requested by herau@github) |
Tatu Saloranta | 3261453 | 2014-10-07 20:48:01 -0700 | [diff] [blame] | 177 | #576: Add fluent API for adding mixins |
| 178 | (contributed by Adam S, adstro@github) |
Tatu Saloranta | 28c4ada | 2015-01-01 17:22:42 -0800 | [diff] [blame] | 179 | #594: `@JsonValue` on enum not used when enum value is a Map key |
| 180 | (reported by chrylis@github) |
Tatu Saloranta | 2b917fc | 2014-12-23 21:45:43 -0800 | [diff] [blame] | 181 | #596: Add support for `@JsonProperty.defaultValue`, exposed via `BeanProperty.getMetadata().getDefaultValue()` |
Cowtowncoder | 1b0e53d | 2014-11-04 09:37:32 -0800 | [diff] [blame] | 182 | #597: Improve error messaging for cases where JSON Creator returns null (which |
| 183 | is illegal) |
| 184 | (contributed by Aurelien L) |
Tatu Saloranta | d672b18 | 2014-11-18 22:36:20 -0800 | [diff] [blame] | 185 | #599: Add a simple mechanism for avoiding multiple registrations of the same module |
Tatu Saloranta | 4fc7cb0 | 2014-11-08 15:47:44 -0800 | [diff] [blame] | 186 | #607: Allow (re)config of `JsonParser.Feature`s via `ObjectReader` |
| 187 | #608: Allow (re)config of `JsonGenerator.Feature`s via `ObjectWriter` |
Tatu Saloranta | a56270a | 2014-11-16 23:05:18 -0800 | [diff] [blame] | 188 | #614: Add a mechanism for using `@JsonCreator.mode` for resolving possible ambiguity between |
| 189 | delegating- and property-based creators |
Tatu Saloranta | e4edb6e | 2014-11-17 19:52:11 -0800 | [diff] [blame] | 190 | #616: Add `SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS` |
Tatu Saloranta | 839bbd6 | 2014-12-09 22:30:40 -0800 | [diff] [blame] | 191 | #622: Support for non-scalar ObjectId Reference deserialiazation (like JSOG) |
Cowtowncoder | 46ab7a1 | 2014-11-19 14:57:23 -0800 | [diff] [blame] | 192 | #623: Add `StdNodeBasedDeserializer` |
Tatu Saloranta | 04db8f7 | 2014-11-25 20:02:31 -0800 | [diff] [blame] | 193 | #630: Add `KeyDeserializer` for `Class` |
Cowtowncoder | 9b8220b | 2014-12-08 17:12:43 -0800 | [diff] [blame] | 194 | #631: Update `current value` of `JsonParser`, `JsonGenerator` from standard serializers, |
| 195 | deserializers |
| 196 | (suggested by Antibrumm@github) |
Tatu Saloranta | 04db8f7 | 2014-11-25 20:02:31 -0800 | [diff] [blame] | 197 | #633: Allow returning null value from IdResolver to make type information optional |
| 198 | (requested by Antibrumm@github) |
Cowtowncoder | 72de08e | 2014-11-25 14:58:53 -0800 | [diff] [blame] | 199 | #634: Add `typeFromId(DatabindContext,String)` in `TypeIdDeserializer` |
Cowtowncoder | 531fac6 | 2014-12-01 09:56:32 -0800 | [diff] [blame] | 200 | #636: `ClassNotFoundException` for classes not (yet) needed during serialization |
| 201 | (contributed by mspiegel@github) |
Cowtowncoder | 73a87db | 2014-12-08 17:03:28 -0800 | [diff] [blame] | 202 | #638: Add annotation-based method(s) for injecting properties during serialization |
Cowtowncoder | 63b33fb | 2014-12-12 14:19:29 -0800 | [diff] [blame] | 203 | (using @JsonAppend, VirtualBeanPropertyWriter) |
| 204 | #647: Deserialization fails when @JsonUnwrapped property contains an object with same property name |
| 205 | (reported by Konstantin L) |
Tatu Saloranta | 42ef5bb | 2014-12-18 20:45:10 -0800 | [diff] [blame] | 206 | #653: Jackson doesn't follow JavaBean naming convention (added `MapperFeature.USE_STD_BEAN_NAMING`) |
Tatu Saloranta | 499a7b6 | 2014-12-17 20:02:22 -0800 | [diff] [blame] | 207 | #654: Add support for (re)configuring `JsonGenerator.setRootValueSeparator()` via `ObjectWriter` |
Tatu Saloranta | 5ee6591 | 2014-12-16 22:44:58 -0800 | [diff] [blame] | 208 | #655: Add `ObjectWriter.writeValues()` for writing value sequences |
Cowtowncoder | 257ae1c | 2014-12-23 15:05:46 -0800 | [diff] [blame] | 209 | #660: `@JsonCreator`-annotated factory method is ignored if constructor exists |
Cowtowncoder | 02f5f42 | 2014-10-01 11:57:46 -0700 | [diff] [blame] | 210 | - Allow use of `Shape.ARRAY` for Enums, as an alias to 'use index' |
Tatu Saloranta | 64fd181 | 2014-10-11 18:48:34 -0700 | [diff] [blame] | 211 | - Start using `JsonGenerator.writeStartArray(int)` to help data formats |
| 212 | that benefit from knowing number of elements in arrays (and would otherwise |
| 213 | need to buffer values to know length) |
Tatu Saloranta | 83f1be0 | 2014-12-14 17:30:53 -0800 | [diff] [blame] | 214 | - Added new overload for `JsonSerializer.isEmpty()`, to eventually solve #588 |
Tatu Saloranta | 7fc3238 | 2014-12-26 17:19:09 -0800 | [diff] [blame] | 215 | - Improve error messaging (related to [jaxb-annotations#38]) to include known subtype ids. |
Tatu | ebfb648 | 2014-08-25 14:46:03 -0700 | [diff] [blame] | 216 | |
Tatu Saloranta | e92e450 | 2015-04-23 18:39:50 -0700 | [diff] [blame] | 217 | 2.4.6 (23-Apr-2015) |
Cowtowncoder | 7ff745c | 2015-03-27 13:09:30 -0700 | [diff] [blame] | 218 | |
| 219 | #735: (complete fix) @JsonDeserialize on Map with contentUsing custom deserializer overwrites default behavior |
| 220 | (reported by blackfyre512@github) (regression due to #604) |
Cowtowncoder | 58f4c95 | 2015-04-02 12:56:15 -0700 | [diff] [blame] | 221 | $744: Custom deserializer with parent object update fails |
Cowtowncoder | 7ff745c | 2015-03-27 13:09:30 -0700 | [diff] [blame] | 222 | |
Cowtowncoder | 1d57c20 | 2015-03-26 12:49:58 -0700 | [diff] [blame] | 223 | 2.4.5.1 (26-Mar-2015) |
Cowtowncoder | cc05493 | 2015-02-16 14:10:21 -0800 | [diff] [blame] | 224 | |
Cowtowncoder | 1d57c20 | 2015-03-26 12:49:58 -0700 | [diff] [blame] | 225 | Special one-off "micro patch" for: |
| 226 | |
| 227 | #706: Add support for `@JsonUnwrapped` via JSON Schema module |
Cowtowncoder | cc05493 | 2015-02-16 14:10:21 -0800 | [diff] [blame] | 228 | #707: Error in getting string representation of an ObjectNode with a float number value |
| 229 | (reported by @navidqar) |
Cowtowncoder | 7ff745c | 2015-03-27 13:09:30 -0700 | [diff] [blame] | 230 | #735: (partial) @JsonDeserialize on Map with contentUsing custom deserializer overwrites default behavior |
Cowtowncoder | cc05493 | 2015-02-16 14:10:21 -0800 | [diff] [blame] | 231 | |
Tatu Saloranta | c8e44bb | 2015-01-13 20:21:32 -0800 | [diff] [blame] | 232 | 2.4.5 (13-Jan-2015) |
Cowtowncoder | 87e4661 | 2014-11-25 14:24:36 -0800 | [diff] [blame] | 233 | |
| 234 | #635: Reduce cachability of `Map` deserializers, to avoid problems with per-property config changes |
| 235 | (regression due to #604) |
Cowtowncoder | 7ec59e4 | 2014-12-17 11:13:40 -0800 | [diff] [blame] | 236 | #656: `defaultImpl` configuration is ignored for `WRAPPER_OBJECT` |
Cowtowncoder | 7d4201c | 2014-11-26 10:31:40 -0800 | [diff] [blame] | 237 | - Solve potential cyclic-resolution problem for `UntypedObjectDeserializer` |
Cowtowncoder | 87e4661 | 2014-11-25 14:24:36 -0800 | [diff] [blame] | 238 | |
Tatu Saloranta | 1425658 | 2014-11-24 18:20:03 -0800 | [diff] [blame] | 239 | 2.4.4 (24-Nov-2014) |
Tatu Saloranta | f4e9657 | 2014-06-18 15:26:43 -0700 | [diff] [blame] | 240 | |
Cowtowncoder | bfbb661 | 2014-10-14 11:26:53 -0700 | [diff] [blame] | 241 | (jackson-core)#158: Setter confusion on assignable types |
| 242 | (reported by tsquared2763@github) |
Tatu Saloranta | 23328aa | 2014-10-28 22:38:15 -0700 | [diff] [blame] | 243 | #245: Calls to ObjectMapper.addMixInAnnotations() on an instance returned by ObjectMapper.copy() |
| 244 | don't work |
| 245 | (reported by Erik D) |
Cowtowncoder | c28f74c | 2014-10-14 17:21:28 -0700 | [diff] [blame] | 246 | #580: delegate deserializers choke on a (single) abstract/polymorphic parameter |
| 247 | (reported by Ian B, tea-dragon@github) |
Tatu Saloranta | 2fd20c5 | 2014-10-21 10:33:13 -0700 | [diff] [blame] | 248 | #590: Binding invalid Currency gives nonsense at end of the message |
| 249 | (reported by Jerbell@github) |
Tatu Saloranta | bcccd3e | 2014-10-28 20:32:47 -0700 | [diff] [blame] | 250 | #592: Wrong `TokenBuffer` delegate deserialization using `@JsonCreator` |
| 251 | (reported by Eugene L) |
Tatu Saloranta | fd4eb1b | 2014-11-08 20:08:34 -0800 | [diff] [blame] | 252 | #601: ClassCastException for a custom serializer for enum key in `EnumMap` |
| 253 | (reported by Benson M) |
Cowtowncoder | 6b9d2c5 | 2014-11-07 16:13:53 -0800 | [diff] [blame] | 254 | #604: `Map` deserializers not being cached, causing performance problems |
Cowtowncoder | d7a94ed | 2014-11-12 10:00:11 -0800 | [diff] [blame] | 255 | #610: Fix forward reference in hierarchies |
| 256 | (contributed by zeito@github) |
Cowtowncoder | 6005b02 | 2014-11-18 13:02:04 -0800 | [diff] [blame] | 257 | #619: Off by one error in AnnotatedWithParams |
| 258 | (reported by stevetodd@github) |
Cowtowncoder | edf8674 | 2014-10-31 13:09:07 -0700 | [diff] [blame] | 259 | - Minor fix to `EnumSerializer` regarding detection "serialize using index" |
Cowtowncoder | 95267b0 | 2014-11-07 15:36:22 -0800 | [diff] [blame] | 260 | - Minor fix to number serializers, to call proper callback for schema generation |
Cowtowncoder | bfbb661 | 2014-10-14 11:26:53 -0700 | [diff] [blame] | 261 | |
| 262 | 2.4.3 (02-Oct-2014) |
Tatu Saloranta | 372598e | 2014-08-19 21:12:39 -0700 | [diff] [blame] | 263 | |
Cowtowncoder | 0e03ef1 | 2014-09-23 15:31:51 -0700 | [diff] [blame] | 264 | #496: Wrong result with `new TextNode("false").asBoolean(true)` |
| 265 | (reported by Ivar R, ivarru@github) |
Cowtowncoder | b126e8e | 2014-09-23 15:46:44 -0700 | [diff] [blame] | 266 | #511: DeserializationFeature.FAIL_ON_INVALID_SUBTYPE does not work |
| 267 | (reported by sbelikov@github) |
Tatu Saloranta | 3a1cff2 | 2014-08-19 22:23:00 -0700 | [diff] [blame] | 268 | #523: MapDeserializer and friends do not report the field/key name for mapping exceptions |
| 269 | (reported by Ian B, tea-dragon@github) |
Tatu Saloranta | 372598e | 2014-08-19 21:12:39 -0700 | [diff] [blame] | 270 | #524: @JsonIdentityReference(alwaysAsId = true) Custom resolver is reset to SimpleObjectIdResolver |
| 271 | (reported by pkokorev@github) |
Cowtowncoder | 9a11fb9 | 2014-09-16 16:45:00 -0700 | [diff] [blame] | 272 | #541: @JsonProperty in @JsonCreator is conflicting with POJOs getters/attributes |
| 273 | (reported by fabienrenaud@github) |
Cowtowncoder | 9c2dc36 | 2014-09-15 15:52:31 -0700 | [diff] [blame] | 274 | #543: Problem resolving self-referential generic types |
Tatu Saloranta | 5e799a2 | 2014-10-02 23:16:26 -0700 | [diff] [blame] | 275 | #570: Add Support for Parsing All Compliant ISO-8601 Date Formats |
| 276 | (requested by pfconrey@github) |
Tatu Saloranta | d34aab5 | 2014-09-01 22:39:35 -0700 | [diff] [blame] | 277 | - Fixed a problem with `acceptJsonFormatVisitor` with Collection/array types that |
| 278 | are marked with `@JsonValue`; could cause NPE in JSON Schema generator module. |
Tatu Saloranta | 372598e | 2014-08-19 21:12:39 -0700 | [diff] [blame] | 279 | |
Tatu Saloranta | 4e935cb | 2014-09-20 16:24:53 -0700 | [diff] [blame] | 280 | 2.4.2 (14-Aug-2014) |
Tatu Saloranta | 585f309 | 2014-07-11 15:56:05 -0700 | [diff] [blame] | 281 | |
Tatu | 341debd | 2014-08-13 16:06:27 -0700 | [diff] [blame] | 282 | #515: Mixin annotations lost when using a mixin class hierarchy with non-mixin interfaces |
| 283 | (reported by 'stevebread@github') |
Tatu Saloranta | f4e9657 | 2014-06-18 15:26:43 -0700 | [diff] [blame] | 284 | - Fixed a problem related to [jackson-dataformat-smile#19]. |
| 285 | |
Tatu Saloranta | f4e9657 | 2014-06-18 15:26:43 -0700 | [diff] [blame] | 286 | 2.4.1.2 (12-Jul-2014) |
| 287 | |
Tatu Saloranta | 585f309 | 2014-07-11 15:56:05 -0700 | [diff] [blame] | 288 | Special one-off "micro patch" for: |
| 289 | |
| 290 | #503: Concurrency issue inside com.fasterxml.jackson.databind.util.LRUMap.get(Object) |
| 291 | (reported by fjtc@github) |
| 292 | |
| 293 | 2.4.1.1 (18-Jun-2014) |
| 294 | |
Tatu Saloranta | f4e9657 | 2014-06-18 15:26:43 -0700 | [diff] [blame] | 295 | Special one-off "micro patch" for: |
Tatu Saloranta | af53189 | 2014-06-04 18:29:07 -0700 | [diff] [blame] | 296 | |
| 297 | #491: Temporary work-around for issue #490 (full fix for 2.5 needs to be |
| 298 | in `jackson-annotations`) |
Tatu | cc9623e | 2014-08-13 12:38:09 -0700 | [diff] [blame] | 299 | #506: Index is never set for Collection and Array in InvalidFormatException.Reference |
| 300 | (reported by Fabrice D, fabdouglas@github) |
| 301 | - Fixed a problem related to [jackson-dataformat-smile#19]. |
Tatu Saloranta | 9ae3610 | 2014-06-09 16:55:57 -0700 | [diff] [blame] | 302 | |
| 303 | 2.4.1 (17-Jun-2014) |
Tatu Saloranta | 54fd6d6 | 2014-06-15 15:43:07 -0700 | [diff] [blame] | 304 | |
| 305 | #479: NPE on trying to deserialize a `String[]` that contains null |
Tatu Saloranta | af53189 | 2014-06-04 18:29:07 -0700 | [diff] [blame] | 306 | (reported by huxi@github) |
Tatu | 8705212 | 2014-06-10 11:45:43 -0700 | [diff] [blame] | 307 | #482: Make date parsing error behavior consistent with JDK |
| 308 | (suggested by Steve S, sanbeg@github) |
Tatu Saloranta | 9c8022e | 2014-05-16 16:03:44 -0700 | [diff] [blame] | 309 | #489 (partial): TypeFactory cache prevents garbage collection of custom ClassLoader |
| 310 | (reported by sftwrengnr@github) |
| 311 | |
| 312 | 2.4.0 (02-Jun-2014) |
Tatu Saloranta | 0e1e878 | 2014-01-11 19:51:21 -0800 | [diff] [blame] | 313 | |
| 314 | #81: Allow use of @JsonUnwrapped with typed (@JsonTypeInfo) classes, provided |
Tatu Saloranta | 1847015 | 2014-03-16 22:56:04 -0700 | [diff] [blame] | 315 | that (new) feature `SerializationFeature.FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS` |
| 316 | is disabled |
Tatu Saloranta | 77f4497 | 2014-03-16 23:00:04 -0700 | [diff] [blame] | 317 | (constributed by Ben F, UnquietCode@github) |
| 318 | #88: Prevent use of type information for `JsonNode` via default typing |
Tatu Saloranta | 6809c86 | 2014-04-14 20:10:15 -0700 | [diff] [blame] | 319 | (reported by electricmonk@github) |
| 320 | #149: Allow use of "stringified" indexes for Enum values |
Tatu Saloranta | 85841c9 | 2014-05-05 21:00:59 -0700 | [diff] [blame] | 321 | (requested by chenboxiang@github) |
| 322 | #176: Allow use external Object Id resolver (to use with @JsonIdentityInfo etc) |
Tatu Saloranta | 4e387c2 | 2014-05-07 22:51:56 -0700 | [diff] [blame] | 323 | (implemented by Pascal G) |
Tatu Saloranta | bad574a | 2014-04-12 14:03:07 -0700 | [diff] [blame] | 324 | #193: Conflicting property name definitions |
Tatu Saloranta | ff56edf | 2014-04-12 14:39:01 -0700 | [diff] [blame] | 325 | (reported by Stuart J, sgjohnston@github) |
Tatu Saloranta | 5df4c4e | 2014-03-14 12:54:09 -0700 | [diff] [blame] | 326 | #323: Serialization of the field with deserialization config |
| 327 | (reported by metanet@github) |
Tatu Saloranta | 8d6fa48 | 2014-03-17 21:06:11 -0700 | [diff] [blame] | 328 | #327: Should not consider explicitly differing renames a fail, as long as all are explicit |
Tatu Saloranta | 6da83fc | 2014-03-17 21:07:28 -0700 | [diff] [blame] | 329 | #335: Allow use of `@JsonPropertyOrder(alphabetic=true)` for Map properties |
Tatu Saloranta | 11f7811 | 2014-03-14 20:55:09 -0700 | [diff] [blame] | 330 | #352 Add `ObjectMapper.setConfig()` for overriding `SerializationConfig`/`DeserializationConfig` |
Tatu Saloranta | 478d4a4 | 2014-03-16 21:53:33 -0700 | [diff] [blame] | 331 | #353: Problems with polymorphic types, `JsonNode` (related to #88) |
Tatu | bc43fb4 | 2014-05-21 16:07:20 -0700 | [diff] [blame] | 332 | (reported by cemo@github) |
Tatu Saloranta | 0f7358f | 2014-01-10 09:59:14 -0800 | [diff] [blame] | 333 | #359: Converted object not using explicitly annotated serializer |
| 334 | (reported by Florian S [fschopp@github]) |
Tatu Saloranta | 02a6394 | 2014-03-14 18:53:45 -0700 | [diff] [blame] | 335 | #369: Incorrect comparison for renaming in `POJOPropertyBuilder` |
| 336 | #375: Add `readValue()`/`readPropertyValue()` methods in `DeserializationContext` |
| 337 | #376: Add support for `@JsonFormat(shape=STRING)` for number serializers |
Tatu Saloranta | 3ca881e | 2014-02-25 22:06:04 -0800 | [diff] [blame] | 338 | #381: Allow inlining/unwrapping of value from single-component JSON array |
| 339 | (contributed by yinzara@github) |
| 340 | #390: Change order in which managed/back references are resolved (now back-ref |
Tatu Saloranta | 97a0dea | 2014-05-19 23:55:15 -0700 | [diff] [blame] | 341 | first, then forward) |
Tatu | 3118fa0 | 2014-03-28 16:12:56 -0700 | [diff] [blame] | 342 | (requested by zAlbee@github) |
Tatu | 054467f | 2014-03-28 16:09:51 -0700 | [diff] [blame] | 343 | #407: Properly use null handlers for value types when serializer Collection |
Tatu Saloranta | dceaec5 | 2014-05-05 21:03:37 -0700 | [diff] [blame] | 344 | and array types |
| 345 | (contributed by Will P) |
Tatu | e2f9ea5 | 2014-04-07 09:58:56 -0700 | [diff] [blame] | 346 | #425: Add support for using `Void.class` as "no class", instead of `NoClass.class` |
| 347 | #428: `PropertyNamingStrategy` will rename even explicit name from `@JsonProperty` |
Tatu Saloranta | 2f58c93 | 2014-04-09 18:46:22 -0700 | [diff] [blame] | 348 | (reported by turskip@github) |
| 349 | #435: Performance bottleneck in TypeFactory._fromClass |
Tatu Saloranta | ab53ab4 | 2014-04-12 12:57:43 -0700 | [diff] [blame] | 350 | (reported by Sean D, sdonovanuk@github) |
Tatu Saloranta | d0b0273 | 2014-04-22 19:17:57 -0700 | [diff] [blame] | 351 | #434: Ensure that DecimalNodes with mathematically equal values are equal |
| 352 | (contributed by Francis G) |
Tatu Saloranta | f249d9e | 2014-05-19 23:14:51 -0700 | [diff] [blame] | 353 | #435: Performance bottleneck in TypeFactory._fromClass |
| 354 | (reported by sdonovanuk@github) |
Tatu Saloranta | f339b5c | 2014-05-18 21:12:27 -0700 | [diff] [blame] | 355 | #438: Add support for accessing `@JsonProperty(index=N)` annotations |
Tatu | 7003462 | 2014-05-21 14:41:45 -0700 | [diff] [blame] | 356 | #442: Make `@JsonUnwrapped` indicate property inclusion |
| 357 | (suggested by Ben F) |
Tatu | 4bc7a73 | 2014-05-27 16:20:01 -0700 | [diff] [blame] | 358 | #447: ArrayNode#addAll should accept Collection<? extends JsonNode> |
| 359 | (suggested by alias@github) |
Tatu | 5087367 | 2014-05-21 15:20:08 -0700 | [diff] [blame] | 360 | #461: Add new standard naming strategy, `PropertyNamingStrategy.LowerCaseStrategy` |
Tatu Saloranta | 9c5fec2 | 2014-05-28 21:53:45 -0700 | [diff] [blame] | 361 | #463: Add 'JsonNode.asText(String defaultValue)` |
| 362 | (suggested by Chris C) |
Tatu Saloranta | bad574a | 2014-04-12 14:03:07 -0700 | [diff] [blame] | 363 | #464: Include `JsonLocation` in more mapping exceptions |
Tatu Saloranta | b6da866 | 2014-05-04 18:49:20 -0700 | [diff] [blame] | 364 | (contributed by Andy C (q3aiml@github)) |
| 365 | #465: Make it easier to support serialization of custom subtypes of `Number` |
Tatu Saloranta | 0f7358f | 2014-01-10 09:59:14 -0800 | [diff] [blame] | 366 | #467: Unwanted POJO's embedded in tree via serialization to tree |
Tatu Saloranta | 1c4a7b1 | 2014-04-14 20:24:48 -0700 | [diff] [blame] | 367 | (reported by Benson M) |
| 368 | - Slightly improve `SqlDateSerializer` to support `@JsonFormat` |
| 369 | - Improve handling of native type ids (YAML, CBOR) to use non-native type ids |
| 370 | as fallback |
| 371 | |
Tatu Saloranta | 6822f33 | 2014-11-21 20:37:18 -0800 | [diff] [blame] | 372 | 2.3.4 (17-Jul-2014) |
| 373 | |
| 374 | #459: BeanDeserializerBuilder copy constructor not copying `_injectables` |
| 375 | #462: Annotation-provided Deserializers are not contextualized inside CreatorProperties |
| 376 | (reported by aarondav@github) |
| 377 | |
Tatu Saloranta | 1c4a7b1 | 2014-04-14 20:24:48 -0700 | [diff] [blame] | 378 | 2.3.3 (10-Apr-2014) |
| 379 | |
| 380 | #420: Remove 'final' modifier from `BeanDeserializerBase.deserializeWithType` |
| 381 | (requested by Ghoughpteighbteau@github) |
| 382 | #422: Allow use of "True" and "False" as aliases for booleans when coercing from |
| 383 | JSON String |
| 384 | #423: Fix `CalendarSerializer` to work with custom format |
| 385 | (reported by sergeymetallic@github) |
| 386 | #433: `ObjectMapper`'s `.valueToTree()` wraps `JsonSerializable` objects into a POJONode |
| 387 | (reported by Francis G) |
| 388 | - Fix null-handling for `CollectionSerializer` |
| 389 | |
Tatu Saloranta | 397e457 | 2014-03-06 20:24:47 -0800 | [diff] [blame] | 390 | 2.3.2 (01-Mar-2014) |
| 391 | |
| 392 | #378: Fix a problem with custom enum deserializer construction |
| 393 | (reported by BokoEnos@github) |
| 394 | #379: Fix a problem with (re)naming of Creator properties; needed to make |
| 395 | Paranamer module work with NamingStrategy. |
| 396 | (reported by Chris P, cpilsworth@github) |
| 397 | #398: Should deserialize empty (not null) URI from empty String |
| 398 | (reported by pgieser@github) |
| 399 | #406: @JsonTypeIdResolver not working with external type ids |
| 400 | (reported by Martin T) |
| 401 | #411: NumberDeserializers throws exception with NaN and +/- Infinity |
| 402 | (reported by clarkbreyman@github) |
| 403 | #412: ObjectMapper.writerWithType() does not change root name being used |
| 404 | (repoted by jhalterman@github) |
| 405 | - Added `BeanSerializerBase._serializeObjectId()` needed by modules that |
| 406 | override standard BeanSerializer; specifically, XML module. |
| 407 | |
Tatu Saloranta | c29e06e | 2013-12-27 19:00:17 -0800 | [diff] [blame] | 408 | 2.3.1 (28-Dec-2013) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 409 | |
Tatu Saloranta | 37cf6f2 | 2013-11-15 19:31:46 -0800 | [diff] [blame] | 410 | #346: Fix problem deserializing `ObjectNode`, with @JsonCreator, empty |
| 411 | JSON Object |
| 412 | (reported by gaff78@github) |
Tatu Saloranta | ce457af | 2013-12-03 22:27:20 -0800 | [diff] [blame] | 413 | #358: `IterableSerializer` ignoring annotated content serializer |
| 414 | (reported by Florian S) |
Tatu | a5810c2 | 2014-02-28 14:15:02 -0800 | [diff] [blame] | 415 | #361: Reduce sync overhead for SerializerCache by using volatile, double-locking |
Tatu Saloranta | ee7b6d8 | 2013-12-10 19:46:46 -0800 | [diff] [blame] | 416 | (contributed by stuartwdouglas@github) |
Tatu Saloranta | 9077a58 | 2013-12-07 20:58:58 -0800 | [diff] [blame] | 417 | #362: UUID output as Base64 String with ObjectMapper.convertValue() |
| 418 | (reported by jknack@github) |
Tatu Saloranta | df4f7f2 | 2013-12-13 19:55:00 -0800 | [diff] [blame] | 419 | #367: Make `TypeNameIdResolver` call `TypeResolver` for resolving base type |
| 420 | (suggested by Ben F) |
Tatu Saloranta | 69b8487 | 2013-12-18 20:17:24 -0800 | [diff] [blame] | 421 | #370: Fail to add Object Id for POJO with no properties |
| 422 | (reported by jh3141@github) |
Tatu Saloranta | 00255f2 | 2013-12-10 20:07:07 -0800 | [diff] [blame] | 423 | - Fix for [jackson-module-afterburner#38]: need to remove @JacksonStdImpl from |
| 424 | `RawSerializer`, to avoid accidental removal of proper handling. |
Tatu Saloranta | 37cf6f2 | 2013-11-15 19:31:46 -0800 | [diff] [blame] | 425 | |
Tatu Saloranta | 414b884 | 2013-11-15 08:08:02 -0800 | [diff] [blame] | 426 | 2.3.0 (13-Nov-2013) |
Tatu Saloranta | df7fb3d | 2013-06-06 14:29:52 -0700 | [diff] [blame] | 427 | |
Tatu Saloranta | a9f447a | 2013-07-05 10:10:47 -0700 | [diff] [blame] | 428 | #48: Add support for `InetSocketAddress` |
| 429 | (contributed by Nick T) |
Tatu | 14722dc | 2013-09-24 11:52:48 -0700 | [diff] [blame] | 430 | #152: Add support for traversing `JsonNode` with (new!) `JsonPointer` implementation |
| 431 | (suggested by fge@github) |
Tatu Saloranta | efdc0d4 | 2013-07-10 19:48:39 -0700 | [diff] [blame] | 432 | #208: Accept "fromString()" as an implicit Creator (factory) method (alias for "valueOf()") |
| 433 | (requested by David P) |
Tatu Saloranta | 21a81e1 | 2013-06-06 17:31:07 -0700 | [diff] [blame] | 434 | #215: Allow registering custom `CharacterEscapes` to use for serialization, |
| 435 | via `ObjectWriter.with(CharacterEscapes)` (and `ObjectMapper.writer(CharacterEscapes)`) |
Tatu Saloranta | e4708eb | 2013-06-06 17:07:10 -0700 | [diff] [blame] | 436 | #227: Allow "generic" Enum serializers, deserializers, via `SimpleModule` |
Tatu Saloranta | 6f4306b | 2013-08-12 20:25:37 -0700 | [diff] [blame] | 437 | #234: Incorrect type information for deeply nested Maps |
| 438 | (reported by Andrei P) |
Tatu Saloranta | 3955abb | 2013-06-06 15:29:58 -0700 | [diff] [blame] | 439 | #237: Add `DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY` to optionally |
| 440 | throw `JsonMappingException` on duplicate keys, tree model (`JsonNode`) |
Tatu Saloranta | 833680a | 2013-07-10 19:37:14 -0700 | [diff] [blame] | 441 | #238: Allow existence of overlapping getter, is-getter (choose 'regular' getter) |
Tatu Saloranta | f0af8c1 | 2013-07-11 10:20:22 -0700 | [diff] [blame] | 442 | #239: Support `ByteBuffer` |
| 443 | (suggested by mckamey@github) |
Tatu Saloranta | 0a42b40 | 2013-08-06 20:39:12 -0700 | [diff] [blame] | 444 | #240: Make sure `@JsonSerialize.include` does not accidentally override |
| 445 | class inclusion settings |
| 446 | (requested by thierryhenrio@github) |
Tatu Saloranta | c6eaf4b | 2013-07-04 20:25:17 -0700 | [diff] [blame] | 447 | #253: `DelegatingDeserializer` causes problems for Managed/BackReferences |
| 448 | (reported by bfelaco@github) |
Tatu Saloranta | ae242d7 | 2013-09-20 20:37:21 -0700 | [diff] [blame] | 449 | #257: Make `UntypedObjectDeserializer` support overides for `List`, `Map` etc |
Tatu Saloranta | 4ec01ea | 2013-11-15 14:25:01 -0800 | [diff] [blame] | 450 | #268: Add new variant of `ObjectMapper.canSerialize()` that can return `Throwable` |
Tatu Saloranta | af263c3 | 2013-10-24 16:18:50 -0700 | [diff] [blame] | 451 | that caused false to be returned (if any) |
Tatu Saloranta | 105c58a | 2013-07-26 16:33:43 -0700 | [diff] [blame] | 452 | #269: Add support for new `@JsonPropertyDescription` via `AnnotationIntrospector` |
| 453 | as well as `BeanProperty.getMedata().getDescription()` |
Tatu Saloranta | cded3a2 | 2013-08-06 20:29:18 -0700 | [diff] [blame] | 454 | #270: Add `SerializationFeature.USE_EQUALITY_FOR_OBJECT_ID` to allow use of equality |
| 455 | (instead of identity) for figuring out when to use Object Id |
| 456 | (requested by beku8@github) |
Tatu Saloranta | aa321ee | 2013-09-19 19:53:28 -0700 | [diff] [blame] | 457 | #271: Support handling of `@JsonUnwrapped` for in-built JSON Schema generation |
Tatu Saloranta | bb0e2b5 | 2013-09-12 21:07:31 -0700 | [diff] [blame] | 458 | #277: Make `TokenBuffer` support new native type and object ids |
Tatu Saloranta | 545e35e | 2013-09-18 14:18:53 -0700 | [diff] [blame] | 459 | #302: Add `setNamingStrategy` in `Module.SetupContext` |
| 460 | (suggested by Miguel C) |
Tatu Saloranta | 8caf1b4 | 2013-09-28 16:49:50 -0700 | [diff] [blame] | 461 | #305: Add support for accessing `TypeFactory` via `TypeIdResolverBase` |
| 462 | (not yet via `TypeIdResolver` interface), other configuration |
Tatu Saloranta | bb0e2b5 | 2013-09-12 21:07:31 -0700 | [diff] [blame] | 463 | #306: Allow use of `@JsonFilter` for properties, not just classes |
Tatu Saloranta | cc7524c | 2013-10-19 16:46:17 -0700 | [diff] [blame] | 464 | #307: Allow use of `@JsonFilter` for Maps in addition to POJOs |
Tatu Saloranta | fae643b | 2013-09-13 23:34:31 -0700 | [diff] [blame] | 465 | #308: Improve serialization and deserialization speed of `java.util.UUID` by 4x |
| 466 | (suggested by David P) |
Tatu Saloranta | 616d3e5 | 2013-09-18 14:11:36 -0700 | [diff] [blame] | 467 | #310: Improve `java.util.UUID` serialization with binary codecs, to use "raw" form. |
Tatu Saloranta | daab1d9 | 2013-09-18 14:07:44 -0700 | [diff] [blame] | 468 | #311: Make sure that "creator properties" are alphabetically ordered too, if |
| 469 | so requested. |
Tatu Saloranta | b69857b | 2013-10-14 20:57:31 -0700 | [diff] [blame] | 470 | #315: Allow per-property definition of null serializer to use, using |
| 471 | new `@JsonSerialize(nullsUsing=xxx)` annotation property |
Tatu Saloranta | 7012c75 | 2013-10-03 15:27:16 -0700 | [diff] [blame] | 472 | #317: Fix `JsonNode` support for nulls bound to `ObjectNode`, `ArrayNode` |
| 473 | (contributed by Seth P) |
Tatu Saloranta | b009194 | 2013-10-18 23:52:30 -0700 | [diff] [blame] | 474 | #318: Problems with `ObjectMapper.updateValue()`, creator property-backed accessors |
Tatu Saloranta | 09ebacb | 2013-10-07 20:58:53 -0700 | [diff] [blame] | 475 | #319: Add support for per-call ("contextual") attributes, with defaulting, |
| 476 | to allow keeping track of state during (de)serialization |
Tatu Saloranta | e4670a7 | 2013-10-14 19:31:39 -0700 | [diff] [blame] | 477 | #324: Make sure to throw `JsonMappingException` from `EnumDeserializer` creator, |
| 478 | not `IllegalArgumentException` |
| 479 | (reported by beverku@github) |
Tatu Saloranta | 34a2e5b | 2013-10-17 22:37:10 -0700 | [diff] [blame] | 480 | #326: Support `@JsonFilter` for "any getter" properties |
Tatu Saloranta | 2322ce6 | 2013-10-23 22:18:32 -0700 | [diff] [blame] | 481 | #334: Make `ArrayNode`, `ObjectNode` non-final again |
Tatu Saloranta | 2f04491 | 2013-11-02 20:05:23 -0700 | [diff] [blame] | 482 | #337: `AnySetter` does not support polymorphic types |
| 483 | (reported by askvortsov@github) |
Tatu Saloranta | 11f7304 | 2013-11-07 22:25:55 -0800 | [diff] [blame] | 484 | #340: AtomicReference not working with polymorphic types |
| 485 | #342: Add `DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES` to make `ObjectMapper` |
| 486 | throw exception when encountering explicitly ignored properties |
| 487 | (requested by Ruslan M) |
Tatu Saloranta | b4b5903 | 2013-07-16 14:34:53 -0700 | [diff] [blame] | 488 | [JACKSON-890]: Support managed/back-references for polymorphic (abstract) types |
Tatu Saloranta | eb68099 | 2013-06-24 19:58:32 -0700 | [diff] [blame] | 489 | - Add 'BeanPropertyWriter.isUnwrapping()' for future needs (by Afterburner) |
Tatu Saloranta | 955d1f9 | 2013-08-10 19:41:47 -0700 | [diff] [blame] | 490 | - Add coercions from String "null" (as if null token was parsed) for primitives/Wrappers. |
Tatu Saloranta | 47ac6bd | 2013-09-05 20:55:00 -0700 | [diff] [blame] | 491 | - Add `JsonDeserializer.handledType()` |
Tatu Saloranta | 3955abb | 2013-06-06 15:29:58 -0700 | [diff] [blame] | 492 | |
Tatu Saloranta | 252d37c | 2014-08-09 11:47:17 -0700 | [diff] [blame] | 493 | 2.2.4 (10-Jun-2014) |
| 494 | |
| 495 | #292: Problems with abstract `Map`s, `Collection`s, polymorphic deserialization |
| 496 | #324: EnumDeserializer should throw JsonMappingException, not IllegalArgumentException |
| 497 | #346: Problems deserializing `ObjectNode` from empty JSON Object, with @JsonCreator |
| 498 | |
| 499 | 2.2.3 (22-Aug-2013) |
| 500 | |
| 501 | #234: Problems with serializing types for deeply nested generic Maps, default typing |
| 502 | #251: SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN ignored with JsonNode |
| 503 | serialization |
| 504 | (reported by fge@github) |
| 505 | #259: Fix a problem with JSON Schema generation for `@JsonValue` |
| 506 | (reported by Lior L) |
| 507 | #267: Handle negative, stringified timestamps |
| 508 | (reported by Drecth@github) |
| 509 | #281: Make `NullNode` use configured null-value serializer |
| 510 | #287: Fix problems with converters, Maps with Object values |
| 511 | (reported by antubis@github) |
| 512 | #288: Fix problem with serialization converters assigned with annotations |
| 513 | (reported by cemo@github) |
| 514 | |
Tatu Saloranta | df7fb3d | 2013-06-06 14:29:52 -0700 | [diff] [blame] | 515 | 2.2.2 (26-May-2013) |
Tatu Saloranta | 688cbc1 | 2013-04-23 22:58:26 -0700 | [diff] [blame] | 516 | |
Tatu Saloranta | b7d896f | 2013-05-17 21:54:11 -0700 | [diff] [blame] | 517 | #216: Problems with Android, 1.6-only types |
Tatu Saloranta | ded6b8a | 2013-05-17 21:07:40 -0700 | [diff] [blame] | 518 | #217: JsonProcessingExceptions not all wrapped as expected |
| 519 | (reported by karldmoore@github) |
Tatu Saloranta | 29552ca | 2013-05-17 20:36:07 -0700 | [diff] [blame] | 520 | #220: ContainerNode missing 'createNumber(BigInteger)' |
| 521 | (reported by Pascal G) |
Tatu Saloranta | 88f44d8 | 2013-05-17 20:05:18 -0700 | [diff] [blame] | 522 | #223: Duplicated nulls with @JsonFormat(shape=Shape.ARRAY) |
| 523 | (reported by lukegh@github) |
Tatu Saloranta | d12a42f | 2013-05-25 21:04:52 -0700 | [diff] [blame] | 524 | #226: Field mapping fail on deserialization to common referenced object when |
| 525 | @JsonUnwrapped is used |
| 526 | (reported by ikvia@github) |
Tatu Saloranta | d2ec7c3 | 2013-05-25 17:02:32 -0700 | [diff] [blame] | 527 | #232: Converting bound BigDecimal value to tree fails with WRITE_BIGDECIMAL_AS_PLAIN |
| 528 | (reported by celkings@github) |
Tatu Saloranta | 688cbc1 | 2013-04-23 22:58:26 -0700 | [diff] [blame] | 529 | - Minor fix to handle primitive types for key deserializer lookups |
Tatu Saloranta | 580b85f | 2013-05-01 21:37:09 -0700 | [diff] [blame] | 530 | - Add convenience method `MappingIterator.getCurrentLocation()` |
| 531 | (suggested by Tomdz@github) |
Tatu Saloranta | 688cbc1 | 2013-04-23 22:58:26 -0700 | [diff] [blame] | 532 | |
Tatu Saloranta | ef9e64f | 2013-05-26 22:18:44 -0700 | [diff] [blame] | 533 | 2.2.1 (03-May-2013) |
| 534 | |
| 535 | #214: Problem with LICENSE, NOTICE, Android packaging |
| 536 | (reported by thierryd@github) |
| 537 | |
Tatu Saloranta | 688cbc1 | 2013-04-23 22:58:26 -0700 | [diff] [blame] | 538 | 2.2.0 (22-Apr-2013) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 539 | |
Tatu Saloranta | 6426e04 | 2012-11-12 14:31:50 -0800 | [diff] [blame] | 540 | Fixes: |
| 541 | |
Tatu Saloranta | 43307b4 | 2013-03-15 15:37:45 -0700 | [diff] [blame] | 542 | #23: Fixing typing of root-level collections |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 543 | #118: JsonTypeInfo.as.EXTERNAL_PROPERTY not working correctly |
Tatu Saloranta | a795fa2 | 2013-01-18 20:05:11 -0800 | [diff] [blame] | 544 | with missing type id, scalar types |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 545 | #130: TimeZone not set for GregorianCalendar, even if configured |
| 546 | #144: MissingNode.isValueNode() should return 'false' |
Tatu Saloranta | 99d9d18 | 2013-01-11 11:47:38 -0800 | [diff] [blame] | 547 | (reported by 'fge@github') |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 548 | #146: Creator properties were not being renamed as expected |
Tatu Saloranta | f6ce07d | 2013-01-12 11:29:46 -0800 | [diff] [blame] | 549 | (contributed by Christoper C) |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 550 | #188: Problem with ObjectId serialization, 'alwaysAsId' references |
Tatu Saloranta | 99d9d18 | 2013-01-11 11:47:38 -0800 | [diff] [blame] | 551 | |
Tatu Saloranta | d8b4071 | 2012-11-20 19:01:14 -0800 | [diff] [blame] | 552 | Improvements: |
| 553 | |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 554 | #116: JavaType implements `java.lang.reflect.Type` (as does `TypeReference`) |
| 555 | #147: Defer reporting of problems with missing creator parameters |
Tatu Saloranta | 6f93156 | 2013-01-12 14:13:42 -0800 | [diff] [blame] | 556 | (contributed by Christoper C) |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 557 | #155: Make `ObjectNode` and `ArrayNode` final (other node types already were) |
Tatu Saloranta | 8640b59 | 2013-02-08 11:04:22 -0800 | [diff] [blame] | 558 | (requested by fge@github) |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 559 | #161: Add deserializer for java.util.concurrent.ArrayBlockingQueue |
| 560 | #173: Add 'JsonNode.traverse(ObjectCodec)' for convenience |
Tatu Saloranta | 1e0a766 | 2013-04-08 15:34:02 -0700 | [diff] [blame] | 561 | #181: Improve error reporting for missing '_valueDeserializer' |
Tatu Saloranta | dfb697a | 2013-03-28 15:11:48 -0700 | [diff] [blame] | 562 | #194: Add `FloatNode` type in tree model (JsonNode) |
| 563 | (requested by msteiger@github) |
Tatu Saloranta | 10dc5c9 | 2013-04-07 16:11:10 -0700 | [diff] [blame] | 564 | #199: Allow deserializing `Iterable` instances (as basic `Collection`s) |
| 565 | (requested by electrum@github) |
Tatu Saloranta | 9adb08e | 2013-04-11 16:29:59 -0700 | [diff] [blame] | 566 | #206: Make 'ObjectMapper.createDeserializationContext()' overridable |
| 567 | (requested by noter@github) |
Tatu Saloranta | 0a4a031 | 2013-04-16 20:02:37 -0700 | [diff] [blame] | 568 | #207: Add explicit support for `short` datatypes, for tree model |
| 569 | (contributed by msteiger@github) |
Tatu Saloranta | d8b4071 | 2012-11-20 19:01:14 -0800 | [diff] [blame] | 570 | |
Tatu Saloranta | 6426e04 | 2012-11-12 14:31:50 -0800 | [diff] [blame] | 571 | New features: |
| 572 | |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 573 | #120: Extend BeanDeserializerModifier to work with non-POJO deserializers |
| 574 | #121: Extend BeanSerializerModifier to work with non-POJO serializers |
| 575 | #124: Add support for serialization converters (@JsonSerializer(converter=...)) |
| 576 | #124: Add support for deserialization converters (@JsonDeserializer(converter=...)) |
| 577 | #140: Add 'SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN' to allow forcing |
Tatu Saloranta | ac5edb8 | 2013-01-06 08:27:50 -0800 | [diff] [blame] | 578 | of non-scientific notation when serializing BigDecimals. |
| 579 | (suggested by phedny@github) |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 580 | #148: Add 'DeserializationFeature.FAIL_ON_INVALID_SUBTYPE`, which allows mapping |
Tatu Saloranta | 192c1dc | 2013-02-06 22:28:58 -0800 | [diff] [blame] | 581 | entries with missing or invalid type id into null references (instead of failing). |
| 582 | Also allows use of '@JsonTypeInfo.defaultImpl = NoClass.class' as alternative. |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 583 | #159: Add more accessors in 'MappingIterator': getParser(), getParserSchema(), |
Tatu Saloranta | de7e924 | 2013-02-04 16:24:40 -0800 | [diff] [blame] | 584 | readAll() |
| 585 | (suggested by Tom D) |
Tatu Saloranta | 8f2ea6c | 2013-03-28 15:46:06 -0700 | [diff] [blame] | 586 | #190: Add 'MapperFeature.ALLOW_FINAL_FIELDS_AS_MUTATORS' (default: true) for |
| 587 | pruning out final fields (to avoid using as mutators) |
| 588 | (requested by Eric T) |
Tatu Saloranta | 21d8357 | 2013-03-28 14:18:48 -0700 | [diff] [blame] | 589 | #195: Add 'MapperFeature.INFER_PROPERTY_MUTATORS' (default: enabled) for finer |
| 590 | control of what mutators are auto-detected. |
| 591 | (requested by Dain S) |
Tatu Saloranta | 4208653 | 2013-04-11 16:42:08 -0700 | [diff] [blame] | 592 | #198: Add SPI metadata, handling in ObjectMapper (findModules()), for |
| 593 | automatic registration of auto-detected extension modules |
| 594 | (suggested by 'beamerblvd@github') |
Tatu Saloranta | c7112ff | 2013-04-09 15:47:23 -0700 | [diff] [blame] | 595 | #203: Added new features to support advanced date/time handling: |
| 596 | - SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS |
| 597 | - DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS |
| 598 | - DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE |
Tatu Saloranta | d8b4071 | 2012-11-20 19:01:14 -0800 | [diff] [blame] | 599 | |
Tatu Saloranta | 4f62fed | 2013-01-11 19:43:26 -0800 | [diff] [blame] | 600 | Other: |
| 601 | |
Tatu Saloranta | 20d53b0 | 2013-03-10 22:56:23 -0700 | [diff] [blame] | 602 | #126: Update JDK baseline to 1.6 |
Tatu Saloranta | a795fa2 | 2013-01-18 20:05:11 -0800 | [diff] [blame] | 603 | * API under 'com.fasterxml.jackson.databind.jsonFormatVisitors' changed significantly |
| 604 | based on experiences with external JSON Schema generator. |
| 605 | * Version information accessed via code-generated access class, instead of reading |
| 606 | VERSION.txt |
Tatu Saloranta | cc73752 | 2013-03-03 13:11:25 -0800 | [diff] [blame] | 607 | * Added 2 methods in Converter interface: getInputType(), getOutputType(), |
| 608 | to allow programmatic overrides (needed by JAXB annotation module) |
Tatu Saloranta | 4f62fed | 2013-01-11 19:43:26 -0800 | [diff] [blame] | 609 | |
Tatu Saloranta | 7126f55 | 2013-03-10 20:14:41 -0700 | [diff] [blame] | 610 | 2.1.4 (26-Feb-2013) |
| 611 | |
| 612 | * [JACKSON-887]: StackOverflow with parameterized sub-class field |
| 613 | (reported by Alexander M) |
| 614 | * [#130]: TimeZone not set for GregorianCalendar, when deserializing |
| 615 | * [#157]: NPE when registering module twice |
| 616 | * [#162]: JsonNodeFactory: work around an old bug with BigDecimal and zero |
| 617 | (submitted by fge@github) |
| 618 | * [#166]: Incorrect optimization for `ObjectMapper.convertValue(Class)` |
| 619 | (reported by Eric T) |
| 620 | * [#167]: Problems with @JsonValue, polymorphic types (regression from 1.x) |
| 621 | (reported by Eric T) |
| 622 | * [#170]: Problems deserializing `java.io.File` if creator auto-discovery disabled |
| 623 | (reported by Eric T) |
| 624 | * [#175]: NPE for JsonMappingException, if no path is specified |
| 625 | (reported by bramp@github) |
| 626 | |
| 627 | 2.1.3 (19-Jan-2013) |
| 628 | |
| 629 | * [Issue#141]: ACCEPT_EMPTY_STRING_AS_NULL_OBJECT not working for enums |
| 630 | * [Issue#142]: Serialization of class containing EnumMap with polymorphic enum |
| 631 | fails to generate class type data |
| 632 | (reported by kidavis4@github) |
| 633 | |
| 634 | 2.1.2 (04-Dec-2012) |
| 635 | |
| 636 | * [Issue#106]: NPE in ObjectArraySerializer.createContextual(...) |
| 637 | * [Issue#117]: HandlerInstantiator defaulting not working |
| 638 | (reported by Alexander B) |
| 639 | * [Issue#118]: Problems with JsonTypeInfo.As.EXTERNAL_PROPERTY, scalar values |
| 640 | (reported by Adva11@github) |
| 641 | * [Issue#119]: Problems with @JsonValue, JsonTypeInfo.As.EXTERNAL_PROPERTY |
| 642 | (reported by Adva11@github) |
| 643 | * [Issue#122]: ObjectMapper.copy() was not copying underlying mix-in map |
| 644 | (reported by rzlo@github) |
| 645 | |
Tatu Saloranta | 6426e04 | 2012-11-12 14:31:50 -0800 | [diff] [blame] | 646 | 2.1.1 (11-Nov-2012) |
Tatu Saloranta | 41a152a | 2012-10-20 11:18:03 -0700 | [diff] [blame] | 647 | |
| 648 | Fixes: |
| 649 | |
Tatu Saloranta | 002b54f | 2012-11-08 13:21:50 -0800 | [diff] [blame] | 650 | * [JACKSON-875]: Enum values not found if Feature.USE_ANNOTATIONS disabled |
| 651 | (reported by Laurent P) |
Tatu Saloranta | 41a152a | 2012-10-20 11:18:03 -0700 | [diff] [blame] | 652 | * [Issue#93]: ObjectNode.setAll() broken; would not add anything for |
| 653 | empty ObjectNodes. |
| 654 | (reported by Francis G) |
Tatu Saloranta | a50e76b | 2012-11-01 19:34:49 -0700 | [diff] [blame] | 655 | * Making things implement java.io.Serializable: |
Tatu Saloranta | 9252171 | 2012-11-06 16:59:51 -0800 | [diff] [blame] | 656 | - Issues: #94, #99, #100, #102 |
| 657 | (reported by Sean B) |
Tatu Saloranta | 231be53 | 2012-10-26 18:19:42 -0700 | [diff] [blame] | 658 | * [Issue#96]: Problem with JsonTypeInfo.As.EXTERNAL_PROPERTY, defaultImpl |
| 659 | (reported by Adva11@github) |
Tatu Saloranta | 41a152a | 2012-10-20 11:18:03 -0700 | [diff] [blame] | 660 | |
Tatu Saloranta | a50e76b | 2012-11-01 19:34:49 -0700 | [diff] [blame] | 661 | 2.1.0 (08-Oct-2012) |
Tatu Saloranta | 41a152a | 2012-10-20 11:18:03 -0700 | [diff] [blame] | 662 | |
Tatu Saloranta | 3e96cf6 | 2012-10-05 21:38:16 -0700 | [diff] [blame] | 663 | New minor version for 2.x series. Major improvements in multiple areas, |
| 664 | including: |
| 665 | |
| 666 | - Dataformat auto-detection |
| 667 | - More `@JsonFormat.shape` variant to serialize Collections as |
| 668 | JSON Objects, POJOs as JSON Arrays (csv-like). |
| 669 | - Much more configuration accessible via ObjectReader, ObjectWriter |
| 670 | - New mechanism for JSON Schema generation, other uses (in future) |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 671 | |
| 672 | Fixes: |
| 673 | |
Tatu Saloranta | 01006e3 | 2012-08-24 14:35:55 -0700 | [diff] [blame] | 674 | * [JACKSON-830]/[Issue#19]: Change OSGi bundle name to be fully-qualified |
Tatu Saloranta | e8c1b53 | 2012-08-29 11:49:21 -0700 | [diff] [blame] | 675 | * ]JACKSON-847]: Make @JsonIdentityInfo work with property-based creator |
Tatu Saloranta | bc483d1 | 2012-08-01 23:35:59 -0700 | [diff] [blame] | 676 | * [JACKSON-851]: State corruption with ObjectWriter, DefaultPrettyPrinter |
| 677 | (reported by Duncan A) |
Tatu Saloranta | 8075bfa | 2012-09-29 22:55:20 -0700 | [diff] [blame] | 678 | * [Issue#75]: Too aggressive KeySerializer caching |
Tatu Saloranta | 01006e3 | 2012-08-24 14:35:55 -0700 | [diff] [blame] | 679 | * Minor fix wrt [Issue#11], coercion needed extra checks |
Tatu Saloranta | fcbce11 | 2012-06-28 14:43:43 -0700 | [diff] [blame] | 680 | |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 681 | Improvements: |
| 682 | |
Tatu Saloranta | ac1f2ab | 2012-08-01 19:49:20 -0700 | [diff] [blame] | 683 | * [JACKSON-758]: Remove 'IOException' from throws clauses of "writeValueAsString" |
| 684 | and "writeValueAsBytes" of ObjectMapper/ObjectWriter |
| 685 | (suggested by G-T Chen) |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 686 | * [JACKSON-839]: Allow "upgrade" of integer number types for |
| 687 | UntypedObjectDeserializer, even with default typing enabled. |
Tatu Saloranta | 11cec4d | 2012-07-22 22:33:20 -0700 | [diff] [blame] | 688 | * [JACKSON-850]: Allow use of zero-arg factory methods as "default creator" |
| 689 | (suggested by Razvan D) |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 690 | * [Issue#9]: Implement 'required' JSON Schema attribute for bean properties |
| 691 | * [Issue#20]: Add new exception type, InvalidFormatException (sub-type of |
Tatu Saloranta | dd34856 | 2012-07-18 17:25:02 -0700 | [diff] [blame] | 692 | JsonMappingException) to indicate data format problems |
| 693 | (suggested by HolySamosa@github) |
Tatu Saloranta | 2aa6dc8 | 2012-08-29 23:06:06 -0700 | [diff] [blame] | 694 | * [Issue#30]: ObjectReader and ObjectWriter now try to pre-fetch root |
Tatu Saloranta | 15d6ea2 | 2012-08-03 18:29:23 -0700 | [diff] [blame] | 695 | (de)serializer if possible; minor performance improvement (2% for small POJOs). |
Tatu Saloranta | 2aa6dc8 | 2012-08-29 23:06:06 -0700 | [diff] [blame] | 696 | * [Issue#33]: Simplified/clarified definition of 'ObjectReader.readValues()'; |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 697 | minor change in behavior for JSON Array "wrapped" sequences |
Tatu Saloranta | 2aa6dc8 | 2012-08-29 23:06:06 -0700 | [diff] [blame] | 698 | * [Issue#60]: Add 'JsonNode.hasNonNull(...)' method(s) |
| 699 | (suggested by Jeff S on mailing list) |
Tatu Saloranta | eb4e6b1 | 2012-08-30 19:02:17 -0700 | [diff] [blame] | 700 | * [Issue#64]: Add new "standard" PropertyNamingStrategy, PascalCaseStrategy |
| 701 | (PropertyNamingStrategy.PASCAL_CASE_TO_CAMEL_CASE) |
| 702 | (contributed by Sean B) |
Tatu Saloranta | 0dc8dec | 2012-09-06 17:08:29 -0700 | [diff] [blame] | 703 | * [Issue#65]: Add getters to `ObjectMapper`, DeserializationContext/-Factory. |
| 704 | (contributed by Dmitry K) |
Tatu Saloranta | ab374c7 | 2012-09-04 22:10:52 -0700 | [diff] [blame] | 705 | * [Issue#69]: Add `PropertyName` abstraction, new methods in AnnotationIntrospector |
Tatu Saloranta | 4984d59 | 2012-09-30 18:04:39 -0700 | [diff] [blame] | 706 | * [Issue#80]: Make `DecimalNode` normalize input, to make "1.0" and "1.00"equal |
| 707 | (reported by fge@github) |
Tatu Saloranta | ce7398c | 2012-05-30 20:45:03 -0700 | [diff] [blame] | 708 | |
Tatu Saloranta | 6cada0a | 2012-07-31 22:24:03 -0700 | [diff] [blame] | 709 | New features: |
| 710 | |
Tatu Saloranta | d163f5e | 2012-08-20 16:49:15 -0700 | [diff] [blame] | 711 | * [Issue#15]: Support data format auto-detection via ObjectReader (added |
| 712 | 'withFormatDetection(...)' fluent factories) |
Tatu Saloranta | 767cead | 2012-08-13 16:27:45 -0700 | [diff] [blame] | 713 | * [Issue#21]: Add 'ObjectNode.set(...)' method (and related) to improve |
| 714 | chaining, semantic consistency of Tree Model API |
| 715 | (suggested by fge@Github) |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 716 | * [Issue#22]: Add 'ObjectMapper.setAnnotationIntrospectors()' which allows |
Tatu Saloranta | 15d6ea2 | 2012-08-03 18:29:23 -0700 | [diff] [blame] | 717 | defining different introspectors for serialization, deserialization |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 718 | * [Issue#24]: Allow serialization of Enums as JSON Objects |
Tatu Saloranta | 15d6ea2 | 2012-08-03 18:29:23 -0700 | [diff] [blame] | 719 | (suggested by rveloso@github) |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 720 | * [Issue#28]: Add 'ObjectMapper.copy()', to create non-linked copy of |
| 721 | mapper, with same configuration settings |
| 722 | * [Issue#29]: Allow serializing, deserializing POJOs as JSON Arrays |
Tatu Saloranta | 6cada0a | 2012-07-31 22:24:03 -0700 | [diff] [blame] | 723 | by using `@JsonFormat(shape=Shape.ARRAY)` |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 724 | * [Issue#40]: Allow serialization of Collections as JSON Objects |
Tatu Saloranta | 15d6ea2 | 2012-08-03 18:29:23 -0700 | [diff] [blame] | 725 | (and deserialization from) |
Tatu Saloranta | 8d2cdd7 | 2012-08-13 23:10:51 -0700 | [diff] [blame] | 726 | (suggested by 'rveloso@github') |
| 727 | * [Issue#42]: Allow specifying Base64 variant to use for Base64-encoded data |
| 728 | using ObjectReader.with(Base64Variant), ObjectWriter.with(Base64Variant). |
| 729 | (suggested by 'mpfau@github') |
Tatu Saloranta | 023d8bd | 2012-08-13 22:17:28 -0700 | [diff] [blame] | 730 | * [Issue#45]: Add '@JsonNaming' annotation to define per-class PropertyNamingStrategy |
| 731 | (suggested by Mark W) |
Tatu Saloranta | 4526796 | 2012-08-28 10:10:43 -0700 | [diff] [blame] | 732 | * [Pull#58]: Make 'MappingIterator' implement 'Closable' |
| 733 | (contributed by Pascal G) |
Tatu Saloranta | f412e85 | 2012-09-11 22:05:51 -0700 | [diff] [blame] | 734 | * [Issue#72]: Add 'MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME' to use |
| 735 | wrapper name annotations for renaming properties |
Tatu Saloranta | 06a23ce | 2012-10-03 17:18:47 -0700 | [diff] [blame] | 736 | * [Issue#87]: Add 'StdDelegatingSerializer', 'StdDelegatingDeserializer' to |
| 737 | simplify writing of two-step handlers |
Tatu Saloranta | 88040e2 | 2012-08-24 13:33:00 -0700 | [diff] [blame] | 738 | * (issue #4 of jackson-annotations): Add `@JsonIdentityReference(alwaysAsId=true)` |
Tatu Saloranta | 6cada0a | 2012-07-31 22:24:03 -0700 | [diff] [blame] | 739 | to force ALL references to an object written as Object Id, even the first one. |
Tatu Saloranta | 15d6ea2 | 2012-08-03 18:29:23 -0700 | [diff] [blame] | 740 | * Added 'ObjectReader#withHandler' to allow for reconfiguring deserialization |
| 741 | problem handler |
| 742 | (suggested by 'electricmonk') |
Tatu Saloranta | 6cada0a | 2012-07-31 22:24:03 -0700 | [diff] [blame] | 743 | |
Tatu Saloranta | 2b4086a | 2012-06-29 20:27:24 -0700 | [diff] [blame] | 744 | Other changes: |
| 745 | |
| 746 | * New variant of AnnotationIntrospector.getFormat(), to support class |
| 747 | annotations |
Tatu Saloranta | 134d356 | 2012-07-05 21:38:46 -0700 | [diff] [blame] | 748 | * It is now possible to serialize instances of plain old Object, iff |
| 749 | 'FAIL_ON_EMPTY_BEANS' is disabled. |
Tatu Saloranta | 9b84796 | 2012-09-11 15:16:41 -0700 | [diff] [blame] | 750 | * Trying to remove reference to "JSON" in datatype conversion errors |
| 751 | (since databinding is format-agnostic) |
Tatu Saloranta | 2b4086a | 2012-06-29 20:27:24 -0700 | [diff] [blame] | 752 | |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 753 | INCOMPATIBILITIES: (rats!) |
| 754 | |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 755 | * Note that [Issue#33] (see above) is, technically speaking, backwards |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 756 | imcompatible change. It is estimated that it should NOT affect most |
| 757 | users, as changes are to edge cases (and undocumented ones at that). |
| 758 | However, it can potentially cause problems with upgrade. |
Tatu Saloranta | 45c7f24 | 2012-10-03 22:36:17 -0700 | [diff] [blame] | 759 | * Implementation of `JsonFormatVisitable` resulting in 2 new methods |
| 760 | being added in `BeanPropertyFilter` interface -- this is unfortunate, |
| 761 | but was required to support full traversability. |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 762 | |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 763 | 2.0.4 (26-Jun-2012) |
| 764 | |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 765 | * [Issue#6]: element count for PrettyPrinter, endObject wrong |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 766 | (reported by "thebluemountain") |
| 767 | * [JACKSON-838]: Utf8StreamParser._reportInvalidToken() skips letters |
| 768 | from reported token name |
Tatu Saloranta | 023d8bd | 2012-08-13 22:17:28 -0700 | [diff] [blame] | 769 | (reported by Lóránt Pintér) |
Tatu Saloranta | a12061f | 2012-07-20 21:42:26 -0700 | [diff] [blame] | 770 | * [JACKSON-841] Data is doubled in SegmentedStringWriter output |
| 771 | (reported by Scott S) |
| 772 | * [JACKSON-842] ArrayIndexOutOfBoundsException when skipping C-style comments |
| 773 | (reported by Sebastien R) |
| 774 | |
| 775 | 2.0.3: no version 2.0.3 released -- only used for extension modules |
| 776 | |
Tatu Saloranta | c277641 | 2012-05-14 19:40:57 -0700 | [diff] [blame] | 777 | 2.0.2 [14-May-2012] |
Tatu Saloranta | 23e267c | 2012-04-23 19:22:04 -0700 | [diff] [blame] | 778 | |
| 779 | Fixes: |
| 780 | |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 781 | * [Issue#14]: Annotations were not included from parent classes of |
Tatu Saloranta | 1b30b1a | 2012-04-28 00:43:34 -0700 | [diff] [blame] | 782 | mix-in classes |
| 783 | (reported by @guillaup) |
Tatu Saloranta | e16034e | 2012-04-30 22:51:36 -0700 | [diff] [blame] | 784 | * [JACKSON-824]: Combination of JSON Views, ObjectMapper.readerForUpdating() |
| 785 | was not working |
| 786 | (reported by Nir S) |
Tatu Saloranta | b8f79ed | 2012-05-14 19:04:53 -0700 | [diff] [blame] | 787 | (and all fixes from 1.9.7) |
Tatu Saloranta | 1b30b1a | 2012-04-28 00:43:34 -0700 | [diff] [blame] | 788 | |
Tatu Saloranta | cfa2fc1 | 2012-04-27 19:31:28 -0700 | [diff] [blame] | 789 | Improvements: |
| 790 | |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 791 | * [Issue#11]: Improve ObjectMapper.convertValue()/.treeToValue() to use |
Tatu Saloranta | cfa2fc1 | 2012-04-27 19:31:28 -0700 | [diff] [blame] | 792 | cast if possible |
| 793 | |
Tatu Saloranta | 23e267c | 2012-04-23 19:22:04 -0700 | [diff] [blame] | 794 | 2.0.1 [23-Apr-2012] |
Tatu Saloranta | 737ad05 | 2012-04-02 21:04:47 -0700 | [diff] [blame] | 795 | |
| 796 | Fixes: |
| 797 | |
Tatu Saloranta | fc3db39 | 2012-04-23 18:49:08 -0700 | [diff] [blame] | 798 | * [JACKSON-827] Ensure core packages work on JDK 1.5 |
| 799 | (reported by Pascal g) |
Tatu Saloranta | ae4ea6e | 2012-04-19 19:47:53 -0700 | [diff] [blame] | 800 | * [JACKSON-829] Custom serializers not working for List<String> properties, |
| 801 | @JsonSerialize(contentUsing) |
| 802 | (reported by James R) |
| 803 | |
Tatu Saloranta | 737ad05 | 2012-04-02 21:04:47 -0700 | [diff] [blame] | 804 | Improvements: |
| 805 | |
Tatu Saloranta | 7ccce01 | 2012-08-04 16:17:54 -0700 | [diff] [blame] | 806 | * [Issue#5]: Add support for maps with java.util.Locale keys to the set of |
Tatu Saloranta | 737ad05 | 2012-04-02 21:04:47 -0700 | [diff] [blame] | 807 | StdKeyDeserializers |
| 808 | (contributed by Ryan G) |
| 809 | |
Tatu Saloranta | fc3db39 | 2012-04-23 18:49:08 -0700 | [diff] [blame] | 810 | 2.0.0 [25-Mar-2012] |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 811 | |
| 812 | Fixes: |
| 813 | |
Tatu Saloranta | 337feca | 2012-03-19 19:11:21 -0700 | [diff] [blame] | 814 | * [JACKSON-368]: Problems with managed references, abstract types |
Tatu | 3af61ff | 2012-01-19 15:58:41 -0800 | [diff] [blame] | 815 | * [JACKSON-711]: Delegating @JsonCreator did not work with Injectable values |
Tatu Saloranta | e1ceccd | 2012-03-04 19:52:36 -0800 | [diff] [blame] | 816 | * [JACKSON-798]: Problem with external type id, creators |
| 817 | (reported by Casey L) |
Tatu Saloranta | deaee9c | 2012-03-25 12:01:34 -0700 | [diff] [blame] | 818 | (and all fixes up until and including 1.9.6) |
Tatu | 9e6c28f | 2012-01-19 15:58:08 -0800 | [diff] [blame] | 819 | |
Tatu Saloranta | e1ceccd | 2012-03-04 19:52:36 -0800 | [diff] [blame] | 820 | Improvements: |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 821 | |
Tatu Saloranta | 28ff1a9 | 2012-01-17 17:54:51 -0800 | [diff] [blame] | 822 | * [JACKSON-546]: Indicate end-of-input with JsonMappingException instead |
| 823 | of EOFException, when there is no parsing exception |
Tatu Saloranta | ee6e3d1 | 2012-01-17 17:28:39 -0800 | [diff] [blame] | 824 | * [JACKSON-664]: Reduce overhead of type resolution by adding caching |
| 825 | in TypeFactory |
Tatu Saloranta | 7555fa2 | 2012-01-14 23:03:04 -0800 | [diff] [blame] | 826 | * [JACKSON-690]: Pass DeserializationContext through ValueInstantiator |
Tatu | 418a239 | 2012-01-12 21:52:07 -0800 | [diff] [blame] | 827 | * [JACKSON-695]: Add 'isEmpty(value)' in JsonSerializer to allow |
| 828 | customizing handling of serialization of empty values |
Tatu Saloranta | 15fb6ff | 2012-01-14 10:31:35 -0800 | [diff] [blame] | 829 | * [JACKSON-710]: 'ObjectMapper.convertValue()' should ignore root value |
| 830 | wrapping/unwrapping settings |
Tatu | 6066826 | 2012-01-19 14:21:12 -0800 | [diff] [blame] | 831 | * [JACKSON-730] Split various features (JsonParser, JsonGenerator, |
| 832 | SerializationConfig, DeserializationConfig) into per-factory |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 833 | features (MapperFeature, JsonFactory.Feature) an per |
Tatu | 6066826 | 2012-01-19 14:21:12 -0800 | [diff] [blame] | 834 | instance features (existing ones) |
Tatu Saloranta | a03e0eb | 2012-01-14 14:01:39 -0800 | [diff] [blame] | 835 | * [JACKSON-732]: Allow 'AnnotationIntrospector.findContentDeserializer()' |
| 836 | (and similar) to return instance, not just Class<?> for instance |
| 837 | (requested by James R) |
Tatu Saloranta | 4b02e9e | 2012-02-03 18:41:29 -0800 | [diff] [blame] | 838 | * [JACKSON-736]: Add (more) access to array, container and map serializers |
Tatu Saloranta | c166fa3 | 2012-02-03 19:42:41 -0800 | [diff] [blame] | 839 | * [JACKSON-737]: Allow accessing of "creator properties" for BeanDeserializer |
Tatu | cbbfbd3 | 2012-01-20 16:07:51 -0800 | [diff] [blame] | 840 | * [JACKSON-748]: Add 'registerSubtypes' to 'Module.setupContext' (and SimpleModule) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 841 | * [JACKSON-749]: Make @JsonValue work for Enum deserialization |
Tatu | b471a04 | 2012-01-27 11:51:39 -0800 | [diff] [blame] | 842 | * [JACKSON-769]: ObjectNode/ArrayNode: change 'put', 'insert', 'add' to return |
| 843 | 'this node' (unless already returning something) |
Tatu Saloranta | e5d7769 | 2012-01-29 11:20:26 -0800 | [diff] [blame] | 844 | * [JACKSON-770]: Simplify method naming for JsonNode, drop unnecessary 'get' prefix |
| 845 | from methods like 'getTextValue()' (becomes 'textValue()') |
Tatu | 9610aff | 2012-02-02 11:30:08 -0800 | [diff] [blame] | 846 | * [JACKSON-777]: Rename 'SerializationConfig.Feature' as 'SerializationFeature', |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 847 | 'DeserializationConfig.Feature' as 'DeserializationFeature' |
Tatu Saloranta | dfc4c88 | 2012-02-11 13:54:27 -0800 | [diff] [blame] | 848 | * [JACKSON-780]: MissingNode, NullNode should return 'defaultValue' from 'asXxx' methods, |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 849 | (not 0 for numbers), as they are not numeric types |
Tatu Saloranta | 3ae9c39 | 2012-05-18 16:45:47 -0700 | [diff] [blame] | 850 | * [JACKSON-787]: Allow use of @JsonIgnoreProperties for properties (fields, getters, setters) |
Tatu Saloranta | 2880872 | 2012-02-24 18:35:50 -0800 | [diff] [blame] | 851 | * [JACKSON-795]: @JsonValue was not working for Maps, Collections |
Tatu Saloranta | cf5d547 | 2012-03-03 11:47:51 -0800 | [diff] [blame] | 852 | * [JACKSON-800]: Add 'Module.SetupContext#addDeserializationProblemHandler' |
| 853 | (suggested by James R) |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 854 | |
| 855 | New features: |
| 856 | |
Tatu Saloranta | c99a784 | 2012-02-22 18:09:00 -0800 | [diff] [blame] | 857 | * [JACKSON-107]: Add support for Object Identity (to handled cycles, shared refs), |
Tatu Saloranta | deaee9c | 2012-03-25 12:01:34 -0700 | [diff] [blame] | 858 | with @JsonIdentityInfo |
Tatu Saloranta | 26b2e1b | 2012-02-22 22:50:21 -0800 | [diff] [blame] | 859 | * [JACKSON-435]: Allow per-property Date formatting using @JsonFormat. |
Tatu Saloranta | 8958048 | 2012-01-20 22:08:56 -0800 | [diff] [blame] | 860 | * [JACKSON-437]: Allow injecting of type id as POJO property, by setting |
| 861 | new '@JsonTypeInfo.visible' property to true. |
Tatu Saloranta | 17ad21f | 2012-02-19 10:01:31 -0800 | [diff] [blame] | 862 | * [JACKSON-469]: Support "Builder pattern" for deserialiation; that is, allow |
| 863 | use of separate Builder object for data binding, creating actual value |
Tatu Saloranta | 7324b9b | 2012-02-02 21:51:16 -0800 | [diff] [blame] | 864 | * [JACKSON-608]: Allow use of JSON Views for deserialization |
Tatu Saloranta | 49117e0 | 2012-03-03 16:01:12 -0800 | [diff] [blame] | 865 | * [JACKSON-636]: Add 'SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS' to allow |
| 866 | forced sorting of Maps during serialization |
| 867 | (suggested by Joern H) |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 868 | * [JACKSON-669]: Allow prefix/suffix for @JsonUnwrapped properties |
| 869 | (requested by Aner P) |
Tatu Saloranta | f0e232d | 2012-01-29 16:44:28 -0800 | [diff] [blame] | 870 | * [JACKSON-707]: Add 'JsonNode.deepCopy()', to create safe deep copies |
| 871 | of ObjectNodes, ArrayNodes. |
Tatu Saloranta | ff8c08c | 2012-02-21 22:21:21 -0800 | [diff] [blame] | 872 | * [JACKSON-714]: Add general-purpose @JsonFormat annotation |
Tatu | bc4153e | 2012-01-18 15:05:44 -0800 | [diff] [blame] | 873 | * [JACKSON-718]: Added 'JsonNode.canConvertToInt()', 'JsonNode.canConvertToLong()' |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 874 | * [JACKSON-747]: Allow changing of 'SerializationFeature' for ObjectWriter, |
| 875 | 'DeserializationFeature' for ObjectReader. |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 876 | * [JACKSON-752]: Add @JsonInclude (replacement of @JsonSerialize.include) |
Tatu Saloranta | f7c45bf | 2012-01-16 18:26:47 -0800 | [diff] [blame] | 877 | * [JACKSON-754]: Add @JacksonAnnotationsInside for creating "annotation |
| 878 | bundles" (also: AnnotationIntrospector.isAnnotationBundle()) |
Tatu | bbebf46 | 2012-02-03 17:44:31 -0800 | [diff] [blame] | 879 | * [JACKSON-762]: Allow using @JsonTypeId to specify property to use as |
| 880 | type id, instead of using separate type id resolver. |
Tatu Saloranta | e196174 | 2012-01-22 16:03:47 -0800 | [diff] [blame] | 881 | * [JACKSON-764]: Allow specifying "root name" to use for root wrapping |
| 882 | via ObjectReader, ObjectWriter. |
Tatu Saloranta | 361c0a8 | 2012-02-24 18:16:29 -0800 | [diff] [blame] | 883 | * [JACKSON-772]: Add 'JsonNode.withArray()' to use for traversing Array nodes. |
| 884 | * [JACKSON-793]: Add support for configurable Locale, TimeZone to use |
| 885 | (via SerializationConfig, DeserializationConfig) |
Tatu Saloranta | 048832d | 2012-03-09 21:48:40 -0800 | [diff] [blame] | 886 | * [JACKSON-805]: Add 'SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED' |
| 887 | to improve interoperability with BadgerFish/Jettison |
Tatu Saloranta | f293cc4 | 2012-03-24 21:10:18 -0700 | [diff] [blame] | 888 | * [JACKSON-810]: Deserialization Feature: Allow unknown Enum values via |
| 889 | 'DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL' |
| 890 | (suggested by Raymond R) |
Tatu Saloranta | 33a9a93 | 2012-03-21 18:12:14 -0700 | [diff] [blame] | 891 | * [JACKSON-813]: Add '@JsonSerializableSchema.id' attribute, to indicate |
| 892 | 'id' value to add to generated JSON Schemas. |
Tatu Saloranta | 2aa6484 | 2012-01-14 22:25:08 -0800 | [diff] [blame] | 893 | |
Tatu Saloranta | 703bf4a | 2012-01-11 22:14:37 -0800 | [diff] [blame] | 894 | [entries for versions 1.x and earlier not retained; refer to earlier releases) |