| Version: 1.9.12 |
| |
| Release date: |
| 12-Jan-2013 |
| |
| Description: |
| Another patch release for 1.9. |
| |
| Fixes: |
| |
| * One more case for [JACKSON-802] (class loading using Class.forName()) |
| * [JACKSON-875]: Enums are not properly serialized when |
| Feature.USE_ANNOTATIONS is disabled |
| (reported by Laurent P) |
| * [JACKSON-884]: JsonStringEncoder.quoteAsStringValue() fails to encode |
| ctrl chars correctly. |
| * [Issue#38]: Infinite loop in `JsonParser.nextFieldName()` with trailing |
| space after field name |
| (reported by matjazs@github) |
| * [Issue#42]: NPE in UTF-32 parser |
| (reported by James R) |
| |
| ------------------------------------------------------------------------ |
| === History: === |
| ------------------------------------------------------------------------ |
| |
| 1.9.11 (06-Nov-2012) |
| |
| Fixes: |
| |
| * [Issue#8]: Problem with 'SmileGenerator', addSeenName() |
| |
| 1.9.10 (23-Sep-2012) |
| |
| Fixes: |
| * [JACKSON-855]: add StackOverflowError as root cause |
| * [JACKSON-867]: missing Export-Package header for "org.codehaus.jackson.map.ext" |
| (reported by Duncan B) |
| * [Issue#57]: Allow serialization of JDK proxy types |
| * [Issue#71]: java.util.concurrent.ConcurrentNavigableMap support was failing |
| |
| 1.9.9 (28-Jul-2012) |
| |
| Fixes: |
| * [Issue-21]: Improve handling of String hash code collisions for |
| symbol tables; exception for degenerate cases (attacks), improvements |
| for calculation otherwise |
| * [Issue-24]: ArrayIndexOutOfBoundsException with TextBuffer.append() |
| * [JACKSON-853]: JsonStringEncoder.quoteAsString() problem with buffer boundary |
| |
| Other: |
| * Improved multi-threader handling of byte-based symbol table; should |
| reduce lock contention for heavily multi-threaded cases, esp. when |
| parsing short documents. |
| |
| |
| 1.9.8 (28-Jun-2012) |
| |
| Fixes: |
| |
| * [Issue-6]: element count for PrettyPrinter, endObject wrong |
| (reported by "thebluemountain") |
| * [JACKSON-838]: Utf8StreamParser._reportInvalidToken() skips letters |
| from reported token name |
| (reported by Lóránt Pintér) |
| * [JACKSON-841] Data is doubled in SegmentedStringWriter output |
| (reported by Scott S) |
| * [JACKSON-842] ArrayIndexOutOfBoundsException when skipping C-style comments |
| (reported by Sebastien R) |
| * [JACKSON-845] Problem with Object[][] deserialization, default typing |
| (reported by Pawel J) |
| |
| 1.9.7 (02-May-2012) |
| |
| Fixes: |
| |
| * [Smile/Issue-2] SmileParser failed to decode surrogate-pair characters for |
| long Strings |
| (reported by Steven S) |
| * [Issue-11] JsonParser.getValueAsLong() returning int, not long |
| (reported by Daniel L) |
| * [Issue-13] Runtime error passing multiple injected values to a constructor |
| (reported by Stuart D) |
| * [Issue-14]: Annotations were not included from parent classes of |
| mix-in classes |
| (reported by @guillaup) |
| * [JACKSON-823] MissingNode does not return default value for 'asXxx()' |
| methods |
| (reported by Adam V) |
| * [JACKSON-829] Custom serializers not working for List<String> properties, |
| @JsonSerialize(contentUsing) |
| (reported by James R) |
| * [JACKSON-831] External type id, explicit property do not work well together |
| (reported by Laurent P) |
| * [JACKSON-832] (partial) Fix numeric range check for Longs (was not working) |
| (reported by Jan J) |
| * [JACKSON-834] Could not use @JsonFactory with non-String argument with Enums |
| (reported by Klaus R) |
| |
| 1.9.6 [26-Mar-2012] |
| |
| Fixes: |
| |
| * [JACKSON-763] State of base64/byte[] decoding not reset when |
| using 'convertValue()' for list of byte[] values. |
| (reported by Erik G) |
| * [JACKSON-794]: JDK 7 has new property for Exceptions ("suppressable"), |
| needs to be ignored during deserialization |
| * [JACKSON-799]: JsonSerialize.as not working as class annotation, for root values |
| * [JACKSON-802]: Improvements to class loading to use both contextual |
| class loader and Class.forName, as necessary |
| * [JACKSON-803]: Problems with Smile, parsing of long names |
| (reported by D Lam) |
| * [JACKSON-804]: Allow byte range up to 255, for interoperability with unsigned bytes |
| * [JACKSON-806]: REQUIRE_SETTERS_FOR_GETTERS ignores explicitly annotated getters |
| (reported by Harold M) |
| * [JACKSON-812]: BigIntegerNode.equals(...) using '==' for equality |
| * [JACKSON-820]: WriterBasedGenerator with CharacterEscapes produces unescaped output |
| for strings > 2k in length |
| (reported by Matt S) |
| |
| 1.9.5 [24-Feb-2012] |
| |
| Fixes: |
| |
| * [JACKSON-757]: further fixing (1.9.4 had partial fix) |
| * [JACKSON-773]: Bug in SimpleFilterProvider constructor |
| (reported by Kenny M) |
| * [JACKSON-774]: PropertyBasedCreator was not using JsonDeserializer.getNullValue() |
| (reported by Nathaniel B) |
| * [JACKSON-775]: MissingNode.asText() should return "", not null |
| (reported by Ittai Z) |
| * [JACKSON-778]: Incorrect detection of generic types with TypeReference |
| (reported by Vladimir P) |
| * [JACKSON-779]: Problems with multi-byte UTF-8 chars in JSON comments |
| (reported by Alexander K) |
| * [JACKSON-789]: Add support for 'java.nio.charset.Charset' |
| * [JACKSON-796]: Problems with byte[] conversion to/from JsonNode. |
| (reported by Christopher B) |
| |
| 1.9.4 [20-Jan-2012] |
| |
| Fixes: |
| |
| * [JACKSON-712] Issue with @JsonCreator + DefaultImpl |
| (suggested by Eric T) |
| * [JACKSON-744] @JsonAnySetter problems with 1.9 |
| * [JACKSON-746] Problems with JsonTypeInfo.Id.NONE, default typing |
| (reported by Steve L) |
| (reported by Sebastian T) |
| * [JACKSON-756] Problems with enums, @JsonCreator, when used as keys |
| of EnumMap, regular Map, or contents of EnumSet |
| (reported by Mika M) |
| * [JACKSON-757] Problems with Enum values, annotations on constructors |
| -- but note, some issues remained for 1.9.5 to tackle |
| (reported by Stephan B) |
| |
| (all fixes up to 1.8.8) |
| |
| 1.9.3 [16-Dec-2011] |
| |
| Improvements: |
| |
| * [JACKSON-657] Add Date/Calendar key deserializers |
| (contributed by Andreas K, Tobias S) |
| * [JACKSON-717] ObjectReader.updateValues(): use configured 'valueToUpdate' |
| * [JACKSON-726] Add java.util.UUID key deserializer |
| (suggested by Steven S) |
| * [JACKSON-729] Add 'ObjectMapper.readValues(byte[])' convenience method |
| |
| Fixes: |
| |
| (all fixes up to 1.8.7) |
| |
| 1.9.2 [04-Nov-2011] |
| |
| Improvements: |
| |
| * [JACKSON-706] Joda support: add support for "org.joda.time.Period" |
| (suggested by Dain S) |
| |
| Fixes: |
| |
| * [JACKSON-700] Type problems with properties that have different types |
| for constructor property, setter and/or field |
| (reported by Ben H) |
| * [JACKSON-703] 'SerializationConfig.isEnabled(...)', |
| 'DeserializationConfig.isEnabled(...)' incompatible due to signature change |
| |
| 1.9.1 [23-Oct-2011] |
| |
| Fixes: |
| |
| * [JACKSON-687] Problems with PropertyNamingStrategy, property merging |
| (reported by Pascal G) |
| * [JACKSON-689] Deserialization of Iterable fails |
| (reported by Pascal G) |
| * [JACKSON-693] @JsonBackReference not used during deserialization if it's annotated |
| on a getter method. |
| (reported by Pascal G) |
| |
| 1.9.0 [04-Oct-2011] |
| |
| Fixes: |
| |
| * [JACKSON-539] Incorrect handling of combination of JAXB annotations |
| (@XmlTransient with property renaming) |
| (reported Ryan H) |
| * [JACKSON-605] Handle deserialization of typed Class properties correctly |
| (reported by Bruce P) |
| |
| Improvements: |
| |
| * [JACKSON-242] Rewrite property introspection part of framework to combine |
| getter/setter/field annotations |
| * [JACKSON-505] Handle missing type information gracefully by checking for |
| abstract type mapping to find default implementation, if no valid type |
| information found for @JsonTypeInfo |
| * [JACKSON-531] Comparing actual and default value (for JsonSerialize.Inclusion.NON_DEFAULT) |
| should check array contents |
| (suggested by Christoph S) |
| * [JACKSON-584] Serialize type info for non-static anonymous inner classes |
| as that of declared (static) type |
| (suggested by Earl B) |
| * [JACKSON-593] Add ObjectMapper.readTree(byte[]), (URL) variants |
| (suggested by Bruce P) |
| * [JACKSON-594] Allow deserializing non-static inner class valued properties |
| (suggested by Bruce P) |
| * [JACKSON-595] Terse Visibility Config (ObjectMapper.setVisibility, related) |
| (suggested by Bruce P) |
| * [JACKSON-598] Add set of standard naming-strategy implementations |
| (suggested by Bruce P) |
| * [JACKSON-599] Expose Settability Of SimpleModule Serializers/Deserializers |
| (suggested by Bruce P) |
| * [JACKSON-606] Add Built-in Support for Date Map Keys as Timestamps |
| (SerializationConfig.Feature#WRITE_DATE_KEYS_AS_TIMESTAMPS) |
| * [JACKSON-612] Expose 'readValues()' methods via ObjectCodec, JsonParser |
| (suggested by Bruce P) |
| * [JACKSON-613] Add ArrayNode/ObjectNode methods for dealing with wrapper |
| values, unboxing, nulls |
| (suggested by Bruce P) |
| * [JACKSON-615] Make JavaType serializable/deserializable |
| * [JACKSON-616] Better handling of primitive deserializers, to avoid NPEs |
| (suggested by Bruce P) |
| * [JACKSON-619] SmileParser.getCurrentLocation(), getTokenLocation() did not |
| report actual byte offsets. |
| (reported by Ray R) |
| * [JACKSON-620] Allow empty String to mean null Map, Collection, array, |
| if 'DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT' enabled |
| * [JACKSON-621] Add new fluent method, VisibilityChecker.with(Visibility) |
| (suggested by Bruce P) |
| * [JACKSON-638] TypeFactory methods for constructing "raw" map or collection types |
| (suggested by Christopher C) |
| * [JACKSON-639] Change BasicClassIntrospector.forClassAnnotations to take |
| JavaType (not raw Class) |
| (requested by Chris C) |
| * [JACKSON-643] ObjectMapper.readValue() should check JsonDeserializer.getNullValue() |
| when encountering root-level JsonToken.VALUE_NULL |
| * [JACKSON-644] Add SimpleModule.setMixInAnnotations() |
| * [JACKSON-648] ObjectWriter: allow changing default serialization DateFormat |
| (ObjectMapper.writer(DateFormat), ObjectWriter.withDateFormat(DateFormat)) |
| * [JACKSON-650] Allow dealing with missing filter ids, by adding |
| 'SimpleFilterProvider.setFailOnUnknownId()' to specify if exception is thrown or not. |
| (suggested by Kirill S) |
| * [JACKSON-661] Add shorter 'JsonNode.asXxx' methods to replace 'JsonNode.getValueAsXxx' |
| * [JACKSON-662] Add 'ObjectMapper.enable()' and 'ObjectMapper.disable()' to allow |
| enabling/disabling multiple features with a single call. |
| * [JACKSON-665] Add 'AnnotatedWithParams.getIndex()' for accessing index of a |
| method or constructor parameter |
| (requested by Chistropher C) |
| * [JACKSON-671] Add convenience constructor for 'MinimalPrettyPrinter' |
| (requested by David P) |
| * [JACKSON-683] Mr Bean: Fail gracefully if attempt is made to materialize |
| non-public type (since impl class on different package than base class) |
| * [JACKSON-684] Add SerializationConfig.Feature.WRITE_ENUMS_USING_INDEX to serialize |
| Enums as int (index) |
| |
| New features: |
| |
| * [JACKSON-132] Support "unwrapped" properties, using @JsonUnwrapped. |
| * [JACKSON-254] Add 'SerializationConfig.Feature.WRITE_EMPTY_JSON_ARRAYS', |
| which can be used to suppress serialization of empty JSON arrays (unless |
| overridden by per-property annotations). |
| (suggested by Fabrice D) |
| * [JACKSON-406] Allow injecting of values (with @JacksonInject) during deserialization |
| * [JACKSON-453] Support "external type id" with new @JsonTypeInfo.As enum value, |
| EXTERNAL_PROPERTY |
| * [JACKSON-558] Add 'DeserializationConfig.Feature.UNWRAP_ROOT_VALUE' as |
| matching counterpart for 'SerializationConfig.Feature.WRAP_ROOT_VALUE' |
| (requested by Anand H) |
| * [JACKSON-578] Allow use of @JsonView on JAX-RS resource, with JacksonJsonProvider |
| (suggested by Matt G) |
| * [JACKSON-580] Allow registering instantiators (ValueInstantiator) for types (classes) |
| * [JACKSON-581] Add 'ObjectMapper.readTree(File)' |
| (suggested by Pascal G) |
| * [JACKSON-602] Add 'JsonSerialize.Inclusion.NON_EMPTY' option |
| (suggested by Ed A) |
| * [JACKSON-614] Add JsonTypeInfo.defaultImpl property to indicate type to use if type name missing |
| * [JACKSON-630] Add @JsonRootName annotation for specifying name of root-level wrapper |
| (requested by Lukasz Strzelecki) |
| * [JACKSON-633] Add @JsonValueInstantiator to allow annotating which ValueInstantiator |
| a type uses. |
| * [JACKSON-652] Add 'DeserializationConfig.Feature.USE_JAVA_ARRAY_FOR_JSON_ARRAY' to |
| allow mapping JSON Array to Object[] |
| (suggested by Simone B) |
| * [JACKSON-653] Add 'JsonParser.isNextTokenName()' for more efficient field name matching |
| * [JACKSON-666] Add 'Add SerializationConfig.Feature.REQUIRE_SETTERS_FOR_GETTERS' to allow |
| suppressing use of getters for which there is no matching mutator. |
| |
| Issues handled by new external projects: |
| |
| * [JACKSON-51]: Implement Just-In-Time code generation for serialization |
| created "jackson-module-afterburner" at [https://github.com/FasterXML/jackson-module-afterburner] |
| |
| Potential backwards compatibility issues (compared to 1.8.x): |
| |
| * Removed 'org.codehaus.jackson.annotate.JsonClass, JsonKeyClass and |
| JsonContentClass (deprecated since 1.1) |
| * Move TokenBufferDeserializer to separate class (from inside StdDeserializer) |
| |
| 1.8.8 [20-Jan-2012] |
| |
| Fixes: |
| |
| * [JACKSON-701] ArrayIndexOutOfBoundsException when trying to serialize |
| non-static inner classes with annotations on last ctor param |
| (reported Lloyd S) |
| * [JACKSON-741] Add missing linkage from ObjectMapper to JsonFactory |
| by calling 'JsonFactory.setCodec()' from ObjectMapper constructor |
| * [JACKSON-753] JsonParserDelegate missing delegation of getBooleanValue(), |
| getEmbeddedObject() |
| (reported by Sebastian T) |
| * Partial fix for [JACSON-756]: EnumMap, EnumSet work with enums that use |
| @JsonCreator; regular Maps only with 1.9 |
| (reported by Mika M) |
| |
| 1.8.7 [16-Dec-2011] |
| |
| Fixes: |
| |
| * [JACKSON-462] (REGRESSION?) Buffer overflow in Utf8Generator#writeFieldName(String) |
| (reported by Ryan K) |
| * [JACKSON-696] Problems accessing "any getter" that is not public |
| (reported by Brian M) |
| * [JACKSON-709] Problems converting base64-encoded Strings between |
| JsonNode, POJOs |
| (reported by Tom B) |
| * [JACKSON-733] Smile-based mapper could not properly bind byte[] values |
| (reported by Jacques-Olivier G) |
| * [JACKSON-738] Parsing fails for Unicode 1Fxxx symbols when skipping |
| (reported by Alex T) |
| |
| 1.8.6 [04-Oct-2011] |
| |
| Fixes: |
| |
| * [JACKSON-288] Problems (de)serializing values with JAXB adapters |
| * [JACKSON-668] Problems with 'JsonParser.getDecimalValue' not |
| clearing earlier state |
| (reported by Ransom B) |
| * [JACKSON-677] Inner generic type references not working properly |
| (reported by William B) |
| |
| 1.8.5 [04-Aug-2011] |
| |
| Fixes: |
| |
| * [JACKSON-401] Further fixes to ensure FLUSH_PASSED_TO_STREAM works |
| * [JACKSON-637] NumberSerializer was missing proper handling of Integer, Long |
| (reported by Paul M) |
| * [JACKSON-640] SmileParser.getTextCharacters() missing value in some |
| cases (value back-references) |
| * [JACKSON-647] ResolvableSerializer.resolve() not called after creating |
| contextual instance |
| |
| 1.8.4 [25-Jul-2011] |
| |
| Fixes: |
| |
| * [JACKSON-605] Handle deserialization of Class<T> properties |
| * [JACKSON-627] WriterBasedGenerator failure for long Strings, |
| custom character escaping |
| (reported by Lawrence C) |
| * [JACKSON-629] Fix a buffer boundary problem with SmileParser, 5-7 |
| character names |
| (reported by Maxxan) |
| * [JACKSON-631] Problems decoding Base64Variants.MODIFIED_FOR_URL |
| (reported by Tim B) |
| * [JACKSON-632] Handling of UTF-8 BOM incorrect, causing "Internal Error" |
| (reported by Edward A) |
| |
| 1.8.3 [08-Jul-2011] |
| |
| Fixes: |
| |
| * [JACKSON-587] TextNode.getValueAsLong() does not work properly |
| (reported by Chris P) |
| * [JACKSON-591] JodaDeserializers not throwing wrongTokenException |
| (reported by Tom L) |
| * [JACKSON-597] Make ClassDeserializer support primitive types |
| (suggested by Bruce P) |
| (plus all 1.7 fixes up to 1.7.8) |
| |
| 1.8.2 [15-Jun-2011] |
| |
| Fixes: |
| |
| * Problem with FilteredBeanPropertyWriter: was not delegating call |
| to wrapped BeanPropertyWriter, causing problems with modules |
| |
| 1.8.1 [17-May-2011] |
| |
| Fixes: |
| |
| * [JACKSON-557] CollectionLikeType#equals() casts parameter to CollectionType |
| (reported by Coda H) |
| * [JACKSON-560] Mix-in annotations ignored when used with views |
| (reported by Ruben E-G) |
| * [JACKSON-568] Package 'org.codehaus.jackson.util' missing from |
| core/lgpl jar |
| (reported by Christoph S) |
| * [JACKSON-570] Caching of MapSerializer not thread-safe |
| (reported by Jamie R) |
| * [JACKSON-573] Failure to serialize certain Unicode Strings |
| (reported by Young J-P) |
| (plus all 1.7 fixes up to 1.7.7) |
| |
| 1.8.0 [20-Apr-2011] |
| |
| Another minor release. Main improvements are: |
| |
| - Proper configurability for key serializers, deserializers |
| - Ability to control details of low-level character escaping |
| - Pluggable format auto-detection (for JSON and Smile in core packages) |
| - Fully configurable type-defaulting (abstract-to-concrete) for deserialization |
| - Pass-through FormatSchema abstraction to help support schema-based formats |
| |
| New features: |
| |
| * [JACKSON-43]: Add "ObjectMapper.readValues()", "ObjectReader.readValues()" for |
| more convenient binding of arrays (and root-level sequences) of homogenous types |
| * [JACKSON-102]: Ability to force escaping of non-ASCII characters; using |
| JsonGenerator.Feature.ESCAPE_NON_ASCII and JsonGenerator.setHighestNonEscapedChar |
| * [JACKSON-106]: Add 'org.codehaus.jackson.io.CharacterEscapes' which can be |
| registered with JsonFactory, JsonGenerator, to add fully customized |
| character escaping handling |
| (suggested by Scott A) |
| * [JACKSON-142]: Add 'JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS' to allow |
| non-standard use of 'NaN', '+INF'/'+Infinite', '-INF'/'-Infinite' as numbers |
| * [JACKSON-178]: Add support for custom property name strategies (with |
| PropertyNamingStrategy) |
| * [JACKSON-204]: Add DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT |
| to allow binding empty JSON String as null for POJOs |
| * [JACKSON-358]: Add JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS, to allow |
| optional (and non-standard) support for numbers like 00006 |
| (suggested by Bryce M) |
| * [JACKSON-427]: Added "JsonNode.with()" which is similar to "JsonNode.path()" but |
| creates ObjectNode for property if no value exists (similar to "upsert" (update-or-insert)) |
| * [JACKSON-464]: Allow defining default mappings for abstract types, with |
| SimpleAbstractTypeResolver |
| * [JACKSON-494]: Add support for format auto-detection (via JsonFactory); add |
| support for basic JSON, Smile (and as many modules as possible) |
| * [JACKSON-512]: Allow wrapping InputStream/Reader, OutputStream/Writer when |
| constructing JsonParser, JsonGenerator; JsonFactory allows registering |
| InputDecorator, OutputDecorator instances. |
| * [JACKSON-513]: Add methods for registering key serializers, deserializers, |
| via Module API |
| * [JACKSON-520]: Add minimal FormatSchema abstraction, passed through by ObjectMapper |
| to JsonGenerator, JsonParser; needed for supporting schema-based formats. |
| * [JACKSON-521]: Add support for new 'MapLikeType' and 'CollectionLikeType', to |
| support Map/Collection types of languages like Scala |
| * [JACKSON-523]: Allow passing actual type for TypeSerializer to use, to |
| force specific super type to be used (instead of a concrete sub type) |
| * [JACKSON-526]: Add DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY |
| which allows implicit conversion from JSON scalars and Objects into single-element |
| collections/arrays (for interoperability with XML-to-JSON converers like Jettison) |
| * [JACKSON-527]: Add 'HandlerInstantiator' abstraction, which can be implemented and |
| registered with ObjectMapper to get more control over how handlers (serializers, |
| deserializers, type id resolver) are constructed. |
| (requested by Sven J) |
| * [JACKSON-555]: Add 'JsonParser.getInputSource()' and 'JsonGenerator.getOutputTarget()' |
| to give direct access to low-level stream/reader/writer instances |
| |
| Improvements: |
| |
| * [JACKSON-480]: Added missing @JsonSerialize properties: keyAs, keyUsing, |
| contentAs, contentUsing |
| * [JACKSON-502]: Convert mr Bean functionality to be basic Module |
| * [JACKSON-503]: Allow registering AbstractTypeResolvers via Module API |
| * [JACKSON-519]: Add support for contextual key serializers, deserializers |
| * [JACKSON-548]: enabling ALLOW_SINGLE_QUOTES should allow backslash-escaping |
| of apostrophes |
| (suggested by Tim W) |
| * [JACKSON-551]: Add new methods to 'Serializers' and 'Deserializers' interfaces to |
| support CollectionLikeType, MapLikeType. |
| |
| Fixes: |
| |
| * [JACKSON-459]: Add mapper-level configuration to set default serialization |
| order be alphabetic (by property name). |
| (suggested by Chris W) |
| * [JACKSON-487]: Block all annotation access if SerializationConfig.Feature.USE_ANNOTATIONS |
| (and ditto for DeserializationConfig) is disabled; to help with Android, missing JAXB annotations |
| * [JACKSON-498]: Fix issues with type names, abstract types, collections |
| (reported by John V) |
| * [JACKSON-509] @JsonSubTypes was not allowed for fields/methods/ctor-parameters (although |
| @JsonTypeInfo was, starting with 1.7) |
| * [JACKSON-510] Registered subtypes not used for @JsonTypeInfo used with properties |
| |
| Potential backwards compatibility issues (compared to 1.7.x): |
| |
| * [JACKSON-523]: Added method "idFromValueAndType()" in TypeIdResolver interface, |
| which is needed to properly handle types such as InetAddress, TimeZone -- unfortunately |
| this would break custom TypeIdResolver instances. |
| * [JACKSON-551]: Addition of new methods to 'Serializers' and 'Deserializers' interfaces |
| means that existing code (1.7 only) that directly implements interfaces will not compile |
| (i.e. source and binary incompatible change) |
| |
| Issues handled by new external projects: |
| |
| * [JACKSON-532]: Add support for org.json.JSONObject, org.json.JSONArray; |
| created "jackson-module-json-org" at [https://github.com/FasterXML/jackson-module-json-org] |
| |
| 1.7.8 [08-Jul-2011] |
| |
| Fixes: |
| |
| * [JACKSON-586] Problems with @JsonValue, method access (failed on |
| non-public methods, or public method of non-public class) |
| (reported by Pierre-Alexander M) |
| * [JACKSON-587] TextNode.getValueAsLong() does not work properly |
| (reported by Chris P) |
| * [JACKSON-591] JodaDeserializers not throwing wrongTokenException |
| (reported by Tom L) |
| * [JACKSON-597] Make ClassDeserializer support primitive types |
| (suggested by Bruce P) |
| |
| 1.7.7 [17-May-2011] |
| |
| Fixes: |
| |
| * [JACKSON-542] Base64 decoder couldn't handle escaped characters |
| (reported by Luis N) |
| * [JACKSON-543] Root-level static type information incorrectly handled |
| with Maps (losing parameterization) |
| (reported by Steven S) |
| * [JACKSON-553] SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION |
| did not work correctly |
| (reported by Xun W) |
| * [JACKSON-554] ObjectMapper.readValue(JsonNode) was not properly passing |
| itself as ObjectCodec, making secondary conversions fail |
| (reported by Pascal G) |
| * [JACKSON-556] @XmlElement.name property ignored in some cases |
| (reported by Alex P) |
| * [JACKSON-562] Smile property name decoding issue |
| (reported by Jeffrey Damick, Shay Banon) |
| * [JACKSON-563] JSON Schema uses "required" (not "optional") |
| (reported by Oleg E) |
| * [JACKSON-569] ContextualSerializer not resolved for serializers |
| defined with @JsonSerialize annotation |
| (reported by Gregor O) |
| * [JACKSON-572] Problems serializing generic non-static inner classes |
| (reported by Steven S) |
| |
| 1.7.6 [12-Apr-2011] |
| |
| Fixes: |
| |
| * [JACKSON-547] Problems relaying exceptions from creator methods |
| (reported by Gili) |
| * [JACKSON-550] Registration of serializers was not completely working |
| with SimpleModule (interfaces implemented by superclasses skipped) |
| (reported by Andrei P) |
| * [JACKSON-552] SmileParser not handling long field names properly, |
| failed with "this code path should never get executed" exception |
| (reported by Shay B) |
| |
| 1.7.5 [01-Apr-2011] |
| |
| Fixes: |
| |
| * [JACKSON-530] Default SerializationInclusion value not properly |
| passed when "USE_ANNOTATION" set to false |
| (Suchema O) |
| * [JACKSON-533] Failed to serialize LinkedHashMap.value() |
| (reported by Linghu C) |
| * [JACKSON-540] Side-effects with ObjectMapper.canSerialize(), |
| canDeserialize() |
| (reported by Maik J) |
| * [JACKSON-541] Remove the need for @JsonCreator on multi-arg constructor |
| iff all parameters have @JsonProperty |
| (suggested by Pascal Glinas) |
| * [JACKSON-545] UTF8Writer.flush() should check against NPE |
| (reported by Michel G) |
| |
| 1.7.4 [04-Mar-2011] |
| |
| Fixes: |
| |
| * [JACKSON-484]: improve serialization of InetAddress |
| (reported by Brian H) |
| * [JACKSON-506]: problems with type handling for java.util.Date |
| when using @JsonTypeInfo on field/method |
| (reported by Kirill S) |
| * [JACKSON-504]: FilterProvider registration directly via SerializationConfig |
| was not working |
| (reported by Kirill S) |
| * [JACKSON-508]: Type information lost when serializing List<List<X>> |
| (reported by Christopher B) |
| * [JACKSON-518]: Problems with JAX-RS, type variables |
| (reported by Kirill S) |
| * [JACKSON-522]: java.util.TimeZone was not correctly handled |
| * [JACKSON-525]: Problem with SmileGenerator, shared-names buffer recycling |
| (reported by Shay B) |
| |
| 1.7.3 [14-Feb-2011] |
| |
| Fixes: |
| |
| * [JACKSON-483]: allow deserializing CharSequence (also: support |
| conversion from byte[] to char[], assuming base64 encoding) |
| * [JACKSON-492]: problem encoding 1 byte length "raw" UTF8 Strings |
| (reported by David Y) |
| |
| (plus all fixes up to and including 1.6.6) |
| |
| 1.7.2 [02-Feb-2011] |
| |
| Fixes: |
| |
| * [JACKSON-476] ContextualDeserializer handling not completely working |
| (reported by Sean P) |
| * [JACKSON-481] OSGi headers must include 1.5 AND 1.6 |
| (reported by drozzy@gmail.com) |
| |
| (plus all fixes up to and including 1.6.5) |
| |
| Improvements: |
| |
| * [JACKSON-474] Add ability to pass externally allocated buffer |
| for Utf8Generator, SmileGenerator |
| (suggested by David Y) |
| |
| 1.7.1 [12-Jan-2010] |
| |
| Fixes: |
| |
| * [JACKSON-456]: Type check issues with Jackson JAX-RS provider |
| (reported by Kirill S) |
| * [JACKSON-457]: Typo in Module method "getSeserializationConfig" ("bananana error"); renamed |
| as "getSerializationConfig" (version with old spelling retained as deprecated for compatibility) |
| (reported by Chris W) |
| * [JACKSON-458]: Problems with ObjectMapper.convertValue(), TokenBuffer, SerializedString |
| (reported by Larry Y) |
| * [JACKSON-462]: Buffer overflow in Utf8Generator#writeFieldName(String) |
| (reported by Coda H) |
| |
| 1.7.0 [06-Jan-2010] |
| |
| Fixes: |
| |
| * [JACKSON-356]: Type information not written for nested-generics root types |
| (reported by Alex R on mailing list) |
| * [JACKSON-450] JAXB annotations chosen incorrectly from interface method |
| (instead of method definition in class), when serializing |
| (reported by Sean P) |
| |
| Improvements: |
| |
| * [JACKSON-280]: Allow use of @JsonTypeInfo for properties (fields, methods) |
| * [JACKSON-345]: Make BeanSerializer use SerializedString for even faster serialization |
| * [JACKSON-393]: Allow deserializing UUIDs from VALUE_EMBEDDED_OBJECT |
| * [JACKSON-399]: JAX-RS is not passing generic type information as root type |
| (reported by Kirill S) |
| * [JACKSON-409] Add SmileGenerator.writeRaw(byte) |
| * [JACKSON-414] Add 'JsonNode.getValueAsBoolean()' (and 'JsonParser.getValueAsBoolean()') |
| (suggested by Tauren M) |
| * [JACKSON-419]: Add explicit support for handling 'java.util.Locale' |
| (suggested by Brian R) |
| * [JACKSON-432]: Add 'ObjectMapper.enableDefaultTypingAsProperty()' to allow |
| specifying inclusion type 'As.PROPERTY' and property name to use |
| (suggested by Peter L) |
| * [JACKSON-434]: Add 'JsonGenerator.writeString(SerializableString)' |
| * [JACKSON-438]: Wrap exceptions thrown by Creator methods as JsonMappingException |
| (suggested by Tim W) |
| |
| New features: |
| |
| * [JACKSON-163] Add 'SerializationConfig.Feature.WRAP_ROOT_VALUE' which |
| allows wrapping of output within single-property JSON Object. |
| * [JACKSON-297] Add simple Module abstraction to allow pluggable support |
| tor third-party libraries, data types |
| * [JACKSON-312] Add ability to dynamically filter out serialized properties |
| * [JACKSON-351]: Add @JsonRawValue for injecting literal textual |
| value into JSON |
| (contributed by Ga�l Marziou) |
| * [JACKSON-369]: Allow registering custom Collection and Map deserializers |
| (implemented via 'org.codehaus.jackson.map.Deserializers') |
| * [JACKSON-385]: Support contextual serializers, deserializers; works by |
| implementing 'org.codehaus.jackson.map.ser.ContextualSerializer' or |
| 'org.codehaus.jackson.map.deser.ContextualDeserializer' |
| * [JACKSON-401] Add features 'SerializationConfig.FLUSH_AFTER_WRITE_VALUE' |
| and 'JsonGenerator.FLUSH_PASSED_TO_STREAM' to allow blocking of flush() |
| calls to underlying output stream or writer |
| * [JACKSON-405]: Add command-line tool for manual Smile encoding/decoding |
| * [JACKSON-407]: Add features (SerializationConfig.Feature.WRAP_EXCEPTIONS, |
| DeserializationConfig.Feature.WRAP_EXCEPTIONS) to disable exception wrapping |
| * [JACKSON-412] Add 'DeserializationConfig.Feature.FAIL_ON_NUMBERS_FOR_ENUMS' |
| to optionally prevent mapping JSON integers into Java Enum values |
| (suggested by Patrick L) |
| * [JACKSON-420] Add 'DeserializationConfig.Feature.FAIL_ON_NULL_FOR_PRIMITIVES' |
| to optionally prevent JSON null from mapping to default value |
| (suggested by Thomas D) |
| * [JACKSON-421] Add ability to register multiple sets of serializers |
| without extending SerializerFactory (related to [JACKSON-297]) |
| * [JACKSON-429] Add @JsonIgnoreType to allow ignoring any and all properties |
| of specified type; useful to exclude well-known proxy/facade/handler types |
| * [JACKSON-440] Add ability to process serializers, deserializers during their |
| construction (to allow adding, removing, modifying properties to handle) |
| * [JACKSON-448] Add 'JsonGenerator.writeString()' alternatives that accept |
| pre-encoded UTF-8 byte sequences (writeUTF8String() and writeRawUTF8String()) |
| (requested by Shay B) |
| |
| Issues handled by new external projects: |
| |
| * [JACKSON-317] Add support for Guava (ex-Google-collections); implemented |
| as a new module, see: https://github.com/FasterXML/jackson-module-guava |
| * [JACKSON-394] Add support for using data binding to/from XML (Stax) sources; |
| sort of "mini-JAXB". |
| |
| Potential backwards compatibility issues (compared to 1.6.x): |
| |
| * [JACKSON-419] (see above) 'java.util.Locale' now serialized as JSON String |
| (using Locale.toString()), instead of as bean-like JSON Object |
| * Added 'BeanProperty' argument for many methods in SerializerFactory / |
| DeserializerFactory, SerializerProvider / DeserializerProvider implementations. |
| * Related to [JACKSON-407], will wrap some previously unwrapped exceptions from |
| deserializer (to have symmetric handling; serializer already wrapped); new |
| features to allow disabling wrapping on serialization and/or deserialization. |
| |
| 1.6.5 [01-Feb-2011] |
| |
| Fixes: |
| |
| * [JACKSON-454] JSON Schema generator was adding bogus "items" property |
| for JSON object types (only allowed for arrays) |
| * [JACKSON-461] ArrayIndexOutOfBoundsException when property is subclass of |
| Map with fewer type parameters |
| (reported by Tim W) |
| * [JACKSON-465] Deserialization with @JsonCreator that takes in a Map fails |
| (reported by Tim W) |
| * [JACKSON-468] Method-bound type variables (public <T> T getValue()) not handled |
| (reported by Christian N) |
| * [JACKSON-470] ArrayIndexOutOfBoundsException if @JsonCreator constructor |
| has @JsonParameter parameters with same name |
| (reported by Tim W) |
| * [JACKSON-472] Custom bean deserializers are not cached when using |
| JAXB annotation introspector |
| (reported by Seam P) |
| * [JACKSON-473] JsonMapping$Reference not Serializable |
| (reported by Steven S) |
| * [JACKSON-478] Improve support for 'java.sql.Timestamp' type by allowing |
| deserializing textual representations |
| (reported by John L) |
| |
| 1.6.4 [21-Dec-2010] |
| |
| Fixes: |
| |
| * [JACKSON-364] @JsonTypeInfo not included properly for Collection types |
| when using JsonView functionality |
| * [JACKSON-428] Type information, Map key deserializer definitions don't |
| work together |
| (reported by Patrick R) |
| * [JACKSON-431] Deserialization fails with JSON array with beans with |
| @JsonCreator, unmapped properties before and after creator properties |
| (reported by Hannu L) |
| * [JACKSON-436] @XmlElementType not working correctly with Collection type |
| properties |
| (reported by Sean P) |
| |
| 1.6.3 [04-Dec-2010] |
| |
| Fixes: |
| |
| * [JACKSON-228], [JACKSON-411] XmlJavaTypeAdapter, package-level annotations not |
| working |
| (reported by Claudio R, Raymond F) |
| * [JACKSON-387]: Deserialization fails for certain objects serialized with |
| enableDefaultTyping |
| (reported by Peter L) |
| * [JACKSON-415] XMLElement annotation ignored during schema generation |
| (reported by Sean P) |
| * [JACKSON-416] XmlElement.type() doesn't override type during serialization |
| (reported by Sean P) |
| * [JACKSON-417] Deserialization of "native" types (String, Integer, Boolean) |
| failed with abstract types |
| (reported by Joe J) |
| * [JACKSON-423] Incorrect serialization of BigDecimal, BigInteger, |
| when using TokenBuffer |
| (reported by Sean P) |
| * [JACKSON-424] ArrayIndexOutOfBounds with SmileGenerator, long Unicode |
| Strings |
| (reported by Shay B) |
| |
| 1.6.2 [02-Nov-2010] |
| |
| Fixes: |
| |
| * [JACKSON-288] Problems with JAXB annotation handling for combination of |
| @XmlJavaTypeAdapter, @XmlElement |
| (reported by Kent R) |
| * [JACKSON-366] Type metadata not written for empty beans |
| (reported by Patrick R) |
| * [JACKSON-388] Deserialization of Throwable fails with Inclusion.NON_NULL |
| (reported by Kirill S) |
| * [JACKSON-391] ObjectReader.withValueUpdate() passing wrong object |
| (reported by Kurtis) |
| * [JACKSON-392] Beans with only @JsonAnyGetter fail on serialization |
| (reported by Kirill S) |
| * [JACKSON-395]: JsonParser.getCurrentName() not working with |
| JsonParser.nextValue() for nested JSON Arrays, Objects |
| * [JACKSON-397] Reverted most of [JACKSON-371] from 1.6 branch, since it caused |
| externally visible change in exception handling; behavior now back to 1.6.0 |
| (will change to catch and rethrow in 1.7.0) |
| (reported by Jon Berg) |
| * [JACKSON-398]: Root type information not correctly passed by |
| ObjectWriter when using JsonGenerator |
| (reported by Kirill S) |
| * [JACKSON-403]: XMLGregorianCalendar could not be deserialized from timestamp |
| (reported by Manual F) |
| * [JACKSON-404] Problem with XmlAdapter, generic types, deserialization |
| (reported by Davide) |
| |
| 1.6.1 [06-Oct-2010] |
| |
| Fixes: |
| |
| * [JACKSON-359] TypeIdResolver.init() was not being called properly |
| (reported by Peter L) |
| * [JACKSON-372] handle missing primitive type values for @JsonCreator gracefully (with defaults) |
| * [JACKSON-376] writing binary data as object field value with Smile failed |
| (reported by Shay B) |
| * [JACKSON-371] Provide path of type error in ObjectMapper.convertValue() |
| (reported by Larry Y) |
| * [JACKSON-383] @JsonAnySetter gets called for ignorable properties if |
| FAIL_ON_UNKNOWN_PROPERTIES set to false (related to [JACKSON-313]) |
| (reported by Kirill S) |
| * [JACKSON-384] @JsonAnyGetter values were duplicated if method name was valid as a regular |
| getter name |
| (reported by Bruce R) |
| * all fixes from 1.5.x up to 1.5.7 |
| |
| Improvements: |
| |
| * [JACKSON-360] Convert empty String to null values for Joda |
| (suggested by Shilpa P) |
| * [JACKSON-386] Improve registration for optional/external types (javax.xml, joda) |
| |
| 1.6.0 [06-Sep-2010] |
| |
| Fixes: |
| |
| * [JACKSON-265] Problems with generic wildcard type, type info |
| (reported by Fabrice D) |
| * [JACKSON-268] Property ordering for JAXB did not work with "raw" property |
| names (but just with renamed names like with Jackson annotations) |
| (reported by Valentin B) |
| * [JACKSON-303] JAXB annotation @XmlAccessorType(XmlAccessType.NONE) seems |
| to not work correctly during deserialisation process |
| (reported by David M) |
| * [JACKSON-313] Ignorable properties should not be passed to any-setter |
| * [JACKSON-336] Generics handling: Map type not handled if intermediate types |
| with just one generic parameter |
| |
| Improvements: |
| |
| * [JACKSON-193] @JsonCreator-annotated factory methods and @JsonValue annotated |
| output methods now work with enums, allowing more customizable enum ser/deser. |
| (requested by Paul B) |
| * [JACKSON-253] Support combination of @XmlAnyElement + @XmlElementRefs |
| * [JACKSON-261] @JsonView now implies that associated element (field, |
| getter/setter) is to be considered a property; similar to how |
| @JsonSerialize/@JsonDeserialize/@JsonProperty are used. |
| * [JACKSON-274] Un-deprecated @JsonGetter and @JsonSetter. |
| * [JACKSON-283] JDK atomic types (java.util.concurrent.atomic) supported |
| * [JACKSON-289] Added "SerializationConfig.Feature.WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS" |
| to allow serializing char[]s as JSON Arrays with single-char-String values |
| (also fixed issues with deserializing the same on deserializer side) |
| (requested by Brian O) |
| * [JACKSON-290] @JsonWriteNullProperties can be used with fields too; |
| annotation itself is now deprecated (use JsonSerialize#include instead). |
| * [JACKSON-301] Allow JsonMappingException to return name of "bad" (unrecognized) |
| field |
| (requested by Rob O) |
| * [JACKSON-302] Add JsonNode.has(String/int) to allow for more convenient checking |
| of whether JSON Object/Array nodes have specified value. |
| * [JACKSON-308] Configurable date formatting support for XMLGregorianCalendar: |
| XMLGregorianCalendar now uses same Date/Calendar serialization as other date types. |
| (suggested by Igor K) |
| * [JACKSON-321] Allow passing JsonNodeFactory to use for ObjectMapper, ObjectReader, |
| to allow use of custom JsonNode types. |
| * [JACKSON-326] Add 'JsonParser.hasTextCharacters()' to make it easier to optimize |
| text access (esp. when copying events) |
| * [JACKSON-328] Precedence of "getters-as-setters" (for Maps, Collections) was |
| accidentally higher than that of property fields (public, @JsonProperty) |
| (reported by Thomas D) |
| * [JACKSON-333] Add JsonNode.getValueAsInt()/.getValueAsDouble() for more convenient |
| coercion; including parsing of JSON text values to numbers if necessary |
| * [JACKSON-339] Support Joda ReadableDateTime, ReadableInstant out of the box |
| * [JACKSON-349] Accept empty String as number (null for wrappers, 0 for primitives) |
| |
| New features: |
| |
| * [JACKSON-41] Add code generation to allow deserialization into arbitrary Bean interfaces. |
| * [JACKSON-210] Add method(s) in JsonNode for finding values of named property |
| * [JACKSON-212] Allow serializer/deserializing Enums using toString() method |
| instead name() |
| * [JACKSON-235] Handle bi-directional (parent/child, double-linked lists) references |
| * [JACKSON-257] Add ability to register sub-types for Polymetric Type Handling |
| * [JACKSON-264] Ability to "update" values; to read and bind JSON |
| content as properties of existing beans. This is done by using |
| "ObjectMapper.updatingReader()" (and "reader.readValue(source)") |
| * [JACKSON-267] Allow unquoted field names to start with '@' in |
| (when unquoted name support is enabled, to support polymorphic |
| typing (which defaults to property names like "@class"). |
| (requested by Michel G) |
| * [JACKSON-278] Allow access to version information (via new Versioned interface) |
| (requested by Andrei V) |
| * [JACKSON-282] Added SerializationConfig.Feature.CLOSE_CLOSEABLE |
| which when enabled forced a call to value.close() right after |
| serialization of a (root-level) value. |
| * [JACKSON-287] Add JsonParser.releaseBufferedContent() which can be called |
| to "push back" content read but not (yet) consumed by JsonParser |
| * [JACKSON-292] Add "any-getter" (using @JsonAnyGetter) to complement @JsonAnySetter, |
| more convenient mapping of miscellaneous extra properties. |
| * [JACKSON-295] Add 'jackson-all' jar |
| (suggested by Ant E) |
| * [JACKSON-299] Added 'org.codehaus.jackson.impl.MinimalPrettyPrinter' |
| to make it easier to add simple output customizations |
| (suggested by David P) |
| * [JACKSON-300] Add 'JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER |
| to allow non-standard character escapes like \'. |
| (requested by Ketan G) |
| * [JACKSON-314] (go Pi, go!) Add 'SerializationConfig.Feature.WRITE_NULL_MAP_VALUES' |
| to suppress writing of Map entries with null values. |
| * [JACKSON-316] Allow per-call enable/disable of pretty printing (added |
| methods in ObjectWriter; .withPrettyPrinter()) |
| * [JACKSON-325] Add new Jackson "internal" annotation (@JacksonStdCodec?) to allow |
| marking default/standard serializers, deserializers |
| * [JACKSON-337] Add "ObjectMapper.valueToTree()" |
| |
| Backwards incompatible changes |
| |
| * [JACKSON-328] (see above) fixes precedence of "getter-as-setter" (for Maps, Collections) |
| to be LOWER than that of fields; this is the original intended behavior. However, |
| versions 1.1 - 1.5 accidentally had fields at lower precedence. This fix can |
| change behavior of code. |
| * [JACKSON-308] (see above) Configurable date formatting support for XMLGregorianCalendar: |
| since default Date/Calendar formatting uses timestamp instead of textual serialization, |
| default XMLGregorianCalendar serialization is changing. |
| |
| 1.5.7 [03-Oct-2010] |
| |
| Fixes: |
| |
| * [JACKSON-352] Polymorphic deserialization for Object always assumes |
| array-wrapper style |
| (reported by Henry L) |
| * [JACKSON-355] Handling of BigInteger with JsonNode not correct |
| (reported by Adam S) |
| * [JACKSON-363] CustomDeserializerFactory did not work for custom |
| array deserializers. |
| (reported by Lubomir K) |
| * [JACKSON-370] TreeTraversingParser.skipChildren() not working correctly |
| (reported by Dmitry L) |
| * [JACKSON-373] Interface inheritance not traversed when looking up |
| custom serializers |
| (reported by Lubomir K) |
| * [JACKSON-377] ThrowableDeserializer was not properly using information from |
| @JsonCreator or @JsonAnySetter |
| (reported by Kirill S) |
| * [JACKSON-380] Incorrect type information serialized for some Enums |
| |
| 1.5.6 [17-Aug-2010] |
| |
| Fixes: |
| |
| * [JACKSON-329] type information was not properly serialized for |
| Iterator or Iterable serializers |
| (reported by Yuanchen Z) |
| * [JACKSON-330] ObjectMapper.convertValue(): base64 conversions |
| do not work as expected |
| * [JACKSON-334] Support ISO-8601 date without milliseconds |
| * [JACKSON-340] Meta annotations missing for @JsonTypeResolver |
| (reported by Yuanchen Z) |
| * [JACKSON-341] Issue with static typing, array and subtyping |
| (reported by Yuanchen Z) |
| |
| 1.5.5 [25-Jul-2010] |
| |
| Fixes: |
| |
| * [JACKSON-309] Serialization of null properties not working correctly |
| when using JAXB annotation introspector |
| * [JACKSON-318] Deserializer missing support for java.util.Currency |
| (reported by Geoffrey A) |
| * [JACKSON-319] Issues when trying to deserialize polymorphic type |
| with no data (just type information) |
| (reported by Chris C) |
| * [JACKSON-324] JsonParserBase: call releaseBuffers() in finally |
| block (within close()) |
| (suggested by Steve C) |
| * [JACKSON-327] CustomSerializerFactory had a bug in handling of |
| interface registrations |
| (reported by Yuanchen Z) |
| |
| (and all fixes from 1.4.x branch up to 1.4.5) |
| |
| 1.5.4 [25-Jun-2010] |
| |
| Fixes: |
| |
| * [JACKSON-296]: Add support for JAXB/@XmlElementRef(s), fix related |
| issues uncovered (wrt. handling of polymorphic collection fields) |
| (reported by Ryan H) |
| * [JACKSON-311]: Problems handling polymorphic type information for |
| 'untyped' (Object) bean properties, default typing |
| (reported by Eric S) |
| |
| 1.5.3 [31-May-2010] |
| |
| Fixes: |
| |
| * [JACKSON-285]: Problem with @JsonCreator annotated constructor that |
| also uses @JsonDeserialize annotations |
| |
| Improvements: |
| |
| * [JACKSON-284]: Reduce scope of sync block in |
| SerializerCache.getReadOnlyLookupMap() |
| * Partial fix for [JACKSON-289]: allow JSON Array with single-character |
| Strings to be bound to char[] during deserialization |
| (suggested by Brian O) |
| |
| 1.5.2 [25-Apr-2010] |
| |
| Fixes: |
| |
| * [JACKSON-273] Yet another OSGi issue, "org.codehaus.jackson.map.util" |
| not exported by mapper module, needed by jax-rs module. |
| (reported by Lukasz D) |
| * [JACKSON-281] JsonGenerator.writeObject() only supports subset of |
| wrapper types (when not specifying ObjectCodec) |
| (reported by Aron A) |
| |
| (and all fixes from 1.4.x branch up to 1.4.4) |
| |
| 1.5.1 [09-Apr-2010] |
| |
| Fixes: |
| |
| * [JACKSON-265]: problems with generic type handling for serialization |
| (reported by Fabrice D) |
| * [JACKSON-269]: missing OSGi export by mapper (o.c.j.m.jsontype.impl), |
| needed by jackson-xc module |
| (reported by Raymond F) |
| |
| (and all fixes from 1.4.x branch up to 1.4.3) |
| |
| |
| 1.5.0 [14-Mar-2010] |
| |
| Fixes: |
| |
| * [JACKSON-246] JAXB property name determination not working correctly. |
| (reported by Lars C) |
| |
| Improvements: |
| |
| * [JACKSON-160] Factory Creator methods now handle polymorphic |
| construction correctly, allowing manual polymorphic deserialization |
| * [JACKSON-218] Extended support for Joda date/time types like |
| LocalDate, LocalDateTime and DateMidnight |
| * [JACKSON-220] @JsonSerialize.using() was not working properly for |
| non-Bean types (Collections, Maps, wrappers) |
| * [JACKSON-236] Allow deserialization of timestamps-as-Strings (not |
| just timestamps as JSON integer numbers). |
| (requested by Chris C) |
| * [JACKSON-255] Allow setter override even with incompatible type |
| (as long as only one setter per class, so there is no ambiguity) |
| * [JACKSON-256] AnnotationIntrospector.findSerializationInclusion |
| was not combining values correctly for JAXB annotations. |
| (reported by John L) |
| |
| New features: |
| |
| * [JACKSON-91] Polymorphic Type Handling: automatic handling of |
| polymorphic types, based on annotations (@JsonTypeInfo) and/or |
| global settings (ObjectMapper.enableDefaultTyping()) |
| * [JACKSON-175] Add "org.codehaus.jackson.util.TokenBuffer", used for |
| much more efficient type conversions (and other internal buffering) |
| * [JACKSON-195] Add methods to ObjectMapper to allow specification of |
| root object serialization type. |
| * [JACKSON-221] Add 'ObjectMapper.writeValueAsBytes()' convenience |
| method to simplify a common usage pattern |
| * [JACKSON-229] TypeFactory should have methods to construct parametric |
| types programmatically (TypeFactory.parametricType()) |
| * [JACKSON-232] Add 'SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION' |
| to disable inclusion of non-annotated properties with explicit views |
| (suggested by Andrei V) |
| * [JACKSON-234] Add support for JSONP, by adding JSONPObject wrapper |
| that serializes as expected. |
| * [JACKSON-241] Add a mechanism for adding new "untouchable" types for |
| JAX-RS JSON provider, to allow excluding types from being handled |
| (added method "JacksonJsonProvider.addUntouchable()") |
| * [JACKSON-244] Allow specifying specific minimum visibility levels for |
| auto-detecting getters, setters, fields and creators |
| (requested by Pierre-Yves R) |
| * [JACKSON-245] Add configuration setting in JAX-RS provider to allow |
| automatic JSONP wrapping (provider.setJSONPFunctionName()) |
| * [JACKSON-259] Add JsonParser.Feature to allow disabling field name |
| canonicalization (JsonParser.Feature.CANONICALIZE_FIELD_NAMES) |
| |
| Backwards incompatible changes: |
| |
| * Moved following serializers out of BasicSerializerFactory |
| JdkSerializers: ClassSerializer (into JdkSerializers), |
| NullSerializer (separate class) |
| * Add one parameter to StdDeserializer.handleUnknownProperty: |
| addition was required for handling polymorphic cases that |
| can use nested JsonParser instances. |
| * Fixed issues in generic type handling (was not resolving all named |
| types completely) |
| * Annotation changes: |
| * Moved "NoClass" into "org.codehaus.jackson.map.annotate" package |
| * Removed @JsonUseSerializer and @JsonUseDeserializer annotations |
| (which has been deprecated for 1.1; replaced by |
| @JsonSerialize.using and @JsonDeserialize.using, respectively) |
| * @JsonGetter and @JsonSetter are marked as deprecated, since |
| @JsonProperty can (and should) be used instead. |
| |
| 1.4.4 [25-Apr-2010] |
| |
| Fixes: |
| |
| * [JACKSON-263] BooleanNode.asToken() incorrectly returns 'true' token |
| for all nodes (not just 'false' ones) |
| (reported by Gennadiy S) |
| * [JACKSON-266] Deserialization issues when binding data from JsonNode |
| (reported by Martin T) |
| |
| 1.4.3 [18-Feb-2010] |
| |
| Fixes: |
| |
| * [JACKSON-237]: NPE in deserialization due to race condition |
| (reported by Benjamin D) |
| |
| |
| 1.4.2 [31-Jan-2010] |
| |
| Fixes: |
| |
| * [JACKSON-238]: Fix to ensure custom serializers can override |
| default serializers (like DOM, Joda serializers) |
| (reported by Pablo L) |
| * other fixes from 1.3.4 release |
| |
| 1.4.1 [10-Jan-2010] |
| |
| Fixes: |
| |
| fixes from 1.3.x branch up to 1.3.3. |
| |
| 1.4.0 [19-Dec-2009] |
| |
| Improvements: |
| |
| * [JACKSON-38] Allow serializing/deserializing DOM trees (Node, Document) |
| (suggested by Scott D) |
| * [JACKSON-89] Make ignored field/creator-backed properties quietly |
| skippable during deserialization (that is, without having to explicitly |
| declare such properties as ignorable as per [JACKSON-77]) |
| * [JACKSON-161] Added basic support for Joda, ser/deser DateTime class |
| * [JACKSON-170] Serialize Creator properties before other properties |
| * [JACKSON-196] Schema generation does not respect the annotation |
| configured serializer on a bean property |
| (reported by Gil M) |
| * [JACKSON-208] Add feature (JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS) |
| to allow unquoted control characters (esp. tabs) in Strings and |
| field names |
| (requested by Mark S) |
| * [JACKSON-216] Jackson JAXB annotation handler does not use @XmlElement.type |
| property for figuring out actual type |
| (reported by Mike R) |
| |
| New features: |
| |
| * [JACKSON-77] Add class annotation @JsonIgnoreProperties to allow |
| for ignoring specific set of properties for serialization/deserialization |
| * [JACKSON-90] Added @JsonPropertyOrder, which allows for specifying |
| order in which properties are serialized. |
| * [JACKSON-138] Implement JsonView; ability to suppress subsets of |
| properties, based on view definition. Views are defined using @JsonView |
| annotation. |
| * [JACKSON-191] Add access to basic statistics on number of cached |
| serializers, deserializers (and methods to flush these caches) |
| * [JACKSON-192] Added basic delegate implementations (JsonParserDelegate, |
| JsonGeneratorDelegate) to make it easier to override core parser and |
| generate behavior |
| * [JACKSON-201] Allow serialization of "empty beans" (classes without |
| getters), if SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS is |
| disabled; or if class has recognized Jackson annotation |
| (suggested by Mike P) |
| |
| Other: |
| |
| * Removed "BasicSerializerFactory.StringLikeSerializer" that was |
| deprecated for 1.0, replaced by public "ToStringSerializer" |
| |
| 1.3.4 [31-Jan-2010] |
| |
| Fixes: |
| |
| * [JACKSON-225], [JACKSON-227], missing null checks/conversions when |
| adding entries to ArrayNode and ObjectNode |
| (reported by Kenny M) |
| * [JACKSON-230]: wrong NumberType reported for big ints, longs |
| (reported by Henning S) |
| * [JACKSON-231]: ArrayDeserializer for byte[] should be able to |
| use VALUE_EMBEDDED_OBJECT (if Object is byte[]) |
| |
| 1.3.3 [21-Dec-2009] |
| |
| Fixes: |
| |
| * [JACKSON-214] Enum types with sub-classes failed to serialize |
| (reported by Elliot S) |
| * [JACKSON-215] Add JAX-RS provider annotations on JacksonJaxbJsonProvider |
| (suggested by Matthew R) |
| * [JACKSON-220] JsonSerialize.using() not recognized for Collection and |
| Map types (and similarly for JsonDeserialize) |
| |
| 1.3.2 [02-Dec-2009] |
| |
| Fixes: |
| |
| * [JACKSON-103] (additional work) Groovy setMetaClass() setter caused |
| problems when deserializing (although serialization was fixed earlier) |
| (reported by Stephen F) |
| * [JACKSON-187] Issues with GAE security model, Class.getEnclosingMethod() |
| * [JACKSON-188] Jackson not working on Google App Engine (GAE) due to |
| unintended dependency from JacksonJsonProvider to JAXB API classes |
| (reported by Jeff S) |
| * [JACKSON-206] Support parsing dates of form "1984-11-13T00:00:00" |
| |
| 1.3.1 [23-Nov-2009] |
| |
| Fixes: |
| |
| * [JACKSON-190] Problems deserializing certain nested generic types |
| (reported by Nathan C) |
| * [JACKSON-194] ObjectMapper class loading issues on Android |
| (reported by Martin L) |
| * [JACKSON-197] Remove 2 debug messages that print out to System.err |
| (reported by Edward T) |
| * [JACKSON-200] java.sql.Date deserialization not working well |
| (reported by Steve L) |
| * [JACKSON-202] Non-public fields not deserialized properly with |
| JAXB annotations |
| (reported by Mike P) |
| * [JACKSON-203] Date deserializers should map empty String to null |
| (reported by Steve L) |
| |
| 1.3.0 [30-Oct-2009] |
| |
| Fixes: |
| |
| * [JACKSON-150] Some JAXB-required core types (XMLGregorianCalendar, |
| Duration, QName, DataHandler) were not completely supported |
| * [JACKSON-155] Failed to serialize java.io.File (with infinite |
| recursion) |
| (reported by Gabe S) |
| * [JACKSON-167] Map and Collection sub-classes seem to lose generic |
| information for deserialization |
| * [JACKSON-177] Problems with Hibernate, repackaged cglib |
| (reported by Ted B) |
| * [JACKSON-179] Single-long-arg factory Creators were not working |
| (reported by Brian M) |
| * [JACKSON-183] Root-level 'JsonDeserialize' annotation was not handled |
| completely; 'as' setting was not taking effect |
| (reported by Nick P) |
| |
| Improvements: |
| |
| * [JACKSON-152] Add "ObjectMapper.writeValueAsString()" convenience |
| method to simplify serializing JSON into String. |
| * [JACKSON-153] Allow use of @JsonCreator with Map types too |
| * [JACKSON-158] Bean serializer now checks for direct self-references |
| (partial, trivial cycle detection) |
| * [JACKSON-164] Improve null handling for JsonGenerator.writeStringValue |
| (suggested by Benjamin Darfler) |
| * [JACKSON-165] Add JsonParser.getBooleanValue() convenience method |
| (suggested by Benjamin Darfler) |
| * [JACKSON-166] Add ability to control auto-detection of |
| "is getters" (boolean isXxx()) methods separate from regular getters |
| * [JACKSON-168] Make JsonLocation serializable (and deserializable) |
| (suggested by Shay B) |
| * [JACKSON-182] Improved handling of SerializationConfig.AUTO_DETECT_GETTERS |
| with JAXB annotations (uses Jackson-specified default, not JAXB defaults) |
| |
| New features: |
| |
| * [JACKSON-129] Allow constructing JsonParser to read from JsonNode |
| (tree representation) |
| * [JACKSON-154] Added JsonDeserialize.keyUsing and .contentUsing, |
| to allow for overriding key and content/value deserializers for |
| properties of structured (array, Collection, Map) types |
| * [JACKSON-159] Added 'org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider' |
| to improve use of Jackson as JSON converter for JAX-RS services. |
| * [JACKSON-173] Add "JsonParser.Feature.ALLOW_SINGLE_QUOTES" to |
| handle some more invalid JSON content |
| (requested by Brian M) |
| * [JACKSON-174] Add "ObjectMapper.convertValue()" convenience method |
| for simple Object-to-Object conversions, using Jackson's data binding |
| functionality |
| * [JACKSON-176] Added 'JsonGenerator.Feature.WRITE_NUMBER_AS_STRINGS' |
| as a work-around for Javascript problems with big longs (due to |
| always representing numbers as 64-bit doubles internally) |
| (requested by Doug D) |
| * [JACKSON-180] Added 'JsonParser.Feature.INTERN_FIELD_NAMES' to allow |
| disabling field name intern()ing. |
| (suggested by Jeff Y) |
| * [JACKSON-181] Added convenience methods in TypeFactory to allow |
| dynamically constructed fully typed structured types (map, collection |
| array types), similar to using TypeReference but without inner classes |
| * Added method in AnnotationIntrospector to find declared namespace |
| for JAXB annotations, needed for XML compatibility (future features) |
| |
| Other: |
| |
| * Removed obsolete class 'org.codehaus.jackson.map.type.TypeReference' |
| (obsoleted by 'org.codehaus.jackson.type.TypeReference) -- was supposed |
| to have been removed by 1.0 but had not been. |
| * Added support to handle 'java.util.regex.Pattern' |
| |
| 1.2.1 [03-Oct-2009] |
| |
| Problems fixed: |
| |
| * [JACKSON-162] OSGi packaging problems for xc package. |
| (reported by Troy Waldrep) |
| * [JACKSON-171] Self-referential types cause infinite recursion when |
| using only JAXB annotation introspector |
| (reported by Randy L) |
| |
| 1.2.0 [02-Aug-2009] |
| |
| Improvements: |
| |
| * Added "-use" flag for generating javadocs |
| (suggested by Dain S) |
| * [JACKSON-136] JsonParser and JsonGenerator should implement |
| java.io.Closeable (since they already have close() method) |
| (suggested by Dain S) |
| * [JACKSON-148] Changed configuration methods to allow chaining, |
| by returning 'this' (instead of 'void') |
| |
| New features: |
| |
| * [JACKSON-33] Allow use of "non-default constructors" and |
| multiple-argument factory methods for constructing beans to |
| deserialize |
| * [JACKSON-69] Support parsing non-standard JSON where Object keys are not quoted |
| * [JACKSON-76] Mix-in annotations: allow dynamic attachment of |
| annotations to existing classes, for purposes of configuring |
| serialization/deserialization behavior |
| * [JACKSON-92] Allow use of @JsonCreator for constructors and |
| static methods that take a single deserializable type as argument |
| (so-called delegating creators) |
| * [JACKSON-114] Add feature and annotations to make serialization use |
| static (declared) type over concrete (actual/runtime) type |
| * [JACKSON-131] Allow constructing and passing of non-shared |
| SerializationConfig/DeserializationConfig instances to ObjectMapper |
| * [JACKSON-135] Add basic JsonNode construction support in ObjectMapper |
| * [JACKSON-147] Add global deserialization feature for suppressing error |
| reporting for unknown properties |
| * [JACKSON-149] Add ser/deser features |
| (DeserializationConfig.Feature.USE_ANNOTATIONS, |
| SerializationConfig.Feature.USE_ANNOTATIONS) to allow disabling |
| use of annotations for serialization and/or deserialization config |
| |
| 1.1.2 [31-Jul-2009] |
| |
| Fixes: |
| |
| * [JACKSON-143] NPE on ArrayNode.equals() when comparing empty array |
| node to non-empty array node |
| (reported by Gregory G) |
| * [JACKSON-144] Static "getter-like" methods mistaken for getters (for |
| serialization) |
| (reported by Dan S) |
| |
| 1.1.1 [18-Jul-2009] |
| |
| Fixes: |
| |
| * [JACKSON-139] Non-numeric double values (NaN, Infinity) are serialized |
| as invalid JSON tokens |
| (reported by Peter H) |
| * Core jar incorrectly included much of "mapper" classes (in addition |
| to core classes) |
| * Now compiles again using JDK 1.5 javac (1.1.0 didn't) |
| |
| 1.1.0 [22-Jun-2009] |
| |
| Fixes: |
| |
| * [JACKSON-109] Allow deserializing into generics Bean classes |
| (like Wrapper<Bean>) not just generic Maps and Collections |
| * [JACKSON-121] Problems deserializing Date values of some ISO-8601 |
| variants (like one using 'Z' to indicate GMT timezone) |
| * [JACKSON-122] Annotated serializers and deserializers had to |
| be public classes with public default constructor; not any more. |
| |
| Improvements: |
| |
| * [JACKSON-111] Added "jackson-xc" jar to contains XML Compatibility |
| extensions. |
| |
| New features: |
| |
| * [JACKSON-70] Add support for generating JSON Schema |
| * [JACKSON-98] Allow serializing/deserializing field-accessible properties, |
| in addition to method-accessible ones. |
| * [JACKSON-105] Allow suppressing output of "default values"; which |
| means value of a property when bean is constructed using the default |
| no-arg constructor |
| (requested by Christoph S) |
| * [JACKSON-119] Add (optional) support for using JAXB annotations |
| (by using JaxbAnnotationIntrospector) |
| (requested by Ryan H) |
| * [JACKSON-120] Add annotations @JsonSerialize, @JsonDeserialize, |
| to streamline annotation by replacing host of existing annotations. |
| * [JACKSON-123] Add "chaining" AnnotationIntrospector (implemented |
| as inner class, AnnotationIntrospector.Pair) that allows combining |
| functionality of 2 introspectors. |
| |
| 1.0.1 [04-Jun-2009] |
| |
| Fixes: |
| |
| * [JACKSON-104] Build fails on JDK 1.5, assorted other minor issues |
| (reported by Oleksander A) |
| * [JACKSON-121] Problems deserializing Date values of some ISO-8601 |
| variants (like one using 'Z' to indicate GMT timezone) |
| |
| 1.0.0 [09-May-2009] |
| |
| Fixes: |
| |
| * [JACKSON-103] Serializing Groovy objects; need to exclude getter method |
| "getMetaClass" from serialization to prevent infinite recursion |
| (reported by Ray T) |
| |
| Improvements: |
| |
| * Removed JAX-RS META-INF/services - based auto-registration for |
| JAX-RS MessageBodyReader/MessageBodyWriter, because it could |
| conflict with other application/json content handlers. |
| |
| 0.9.9-6 [27-Apr-2009] |
| |
| Improvements: |
| |
| * Improved jax-rs provider integration with jersey; now properly |
| auto-registers as handler for json media type(s), and allows |
| for defining custom ObjectMapper to be injected. |
| |
| 0.9.9-5 [20-Apr-2009] |
| |
| New features: |
| |
| * [JACKSON-88]: Support for "Setter-less" collection (and Map) types |
| |
| Improvements: |
| |
| * [JACKSON-100]: Allow specifying that BigInteger should be used instead |
| of Integer or Long for "generic" integral numeric types (Object, Number) |
| (DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS) |
| * [JACKSON-101]: Allow disabling of access modifier overrides |
| (SerializationgConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS) |
| to support more security-constrainted running environments. |
| |
| 0.9.9-4 [14-Apr-2009] |
| |
| Fixes: |
| |
| * [JACKSON-94] Added missing "JsonParser.readValueAsTree()" method. |
| * JacksonJsonProvider was using strict equality comparison against |
| JSON type; instead needs to use "isCompatible". There were other |
| similar problems |
| (reported by Stephen D) |
| * [JACKSON-97] Generic types (with bound wildcards) caused problems |
| when Class introspector could not figure out that a concrete method |
| was overriding/implementing generic method; as well as having |
| problems with synthetic bridge methods. |
| |
| Improvements: |
| |
| * [JACKSON-95] Added support for deserializing simple exceptions |
| (Throwable and its sub-classes): anything with a String constructor |
| (assumed to take "message") should work to some degree. |
| * [JACKSON-99] IOExceptions should not be wrapped during object |
| mapping. |
| (reported by Eldar A) |
| |
| New features: |
| |
| * [JACKSON-85]: Make Date deserialization (more) configurable (add |
| DeserializationConfig.setDateFormat()) |
| * [JACKSON-93]: Allow overriding the default ClassIntrospector. |
| * [JACKSON-96]: Allow enabling pretty-printing with data binding, |
| through SerializationConfig object. |
| |
| 0.9.9-3 [03-Apr-2009] |
| |
| Fixes: |
| |
| * [JACKSON-79]: Primitive value deserialization fragile wrt nulls |
| * [JACKSON-81]: Data binding code could lead to unnecessary blocking |
| because it tried to advance parser (and stream) after binding |
| (reported by Eldar A) |
| |
| New features: |
| |
| * [JACKSON-61]: Allow suppressing writing of bean properties with null values |
| (requested by Justin F) |
| * [JACKSON-63]: Create CustomDeserializerFactory to allow for adding |
| custom deserializers for non-structured/generic types. |
| * [JACKSON-75]: Add "any setter" method; ability to catch otherwise |
| unknown (unmapped) properties and call a method with name+value. |
| * [JACKSON-80]: Add @JsonValue annotation, to specify that a Bean value |
| is to be serialized as value returned by annotated method: can for |
| example annotate "toString()" method. |
| * [JACKSON-84]: Added JsonGenerator.writeRawValue methods to augment |
| existing JsonGenerator.writeRaw() method |
| (requested by Scott A) |
| * [JACKSON-86]: Added JsonParser.isClosed() and JsonGenerator.isClosed() |
| methods. |
| * [JACKSON-87]: Added ability to customized Date/Calendar serialization, |
| both by toggling between timestamp (number) and textual (ISO-8601), |
| and by specifying alternate DateFormat to use. |
| |
| 0.9.9-2 [19-Mar-2009]: |
| |
| Fixes: |
| |
| * [JACKSON-75]: Didn't have Deserializer for Number.class. |
| |
| Improvements: |
| |
| * [JACKSON-68]: Add DeserializationProblemListener, and |
| DeserializationConfig.addHandler to add instances to ObjectMapper. |
| * [JACKSON-71]: Add support ser/deser of Class.class. |
| * [JACKSON-72]: Allow specifying that BigDecimal should be used instead |
| of Double for "generic" numeric types (Object, Number) |
| (DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS) |
| * [JACKSON-73]: Refactored ser/deser configuration settings into |
| separate configuration classes. |
| * [JACKSON-78]: Should be able to deserialize ints into Booleans (0 == false) |
| |
| New features: |
| |
| * [JACKSON-45]: Add convenience methods to help writing custom |
| serializers |
| (requested by Scott A) |
| |
| 0.9.9 [02-Mar-2009]: |
| |
| Fixes: |
| |
| * [JACKSON-59]: NPE with String[] serializer |
| (reported by Kevin G) |
| * [JACKSON-62]: NPE with JsonMappingException if source exception used |
| null message. |
| (reported by Justin F) |
| * [JACKSON-64]: Handling of property name (with @JsonGetter, @JsonSetter) |
| made bit more intuitive; uses bean naming convention if no explicit |
| name given. |
| |
| Improvements: |
| |
| * [JACKSON-60]: Method annotations did not follow intuitive expectations |
| of inheritability; now do. |
| * [JACKSON-65]: Need to support typing using "java.lang.reflect.Type", to |
| help integration with frameworks. |
| * [JACKSON-66]: ObjectMapper now has "canSerialize" and "canDeserialize" |
| methods to help frameworks figure out what is supported. |
| |
| New features: |
| |
| * [JACKSON-52]: Allow disabling name-based auto-detection of |
| getter methods |
| (requested by Justin F) |
| * [JACKSON-58]: Allow defining custom global Enum serializer |
| (to, for example, make Enums be serialized using Enum.toString(), |
| or lower-case name or such) |
| * [JACKSON-67]: Add JAX-RS provider based on Jackson that can handle |
| JSON content type; initially as a separate jar. |
| |
| Other: |
| |
| * [JACKSON-22]: all contributors now have submitted contributor |
| agreement, stored under 'DEV/agreements-received' in svn trunk. |
| |
| 0.9.8 [18-Feb-2009]: |
| |
| Fixes: |
| |
| * [JACKSON-49]: Incorrect bounds check for Float values resulted in |
| exception when trying to serializer 0.0f. |
| |
| New features: |
| |
| * [JACKSON-32]: add annotations to configure serialization process |
| (@JsonClass/@JsonContentClass/@JsonKeyClass; @JsonUseSerializer, |
| @JsonUseDeserializer, @JsonIgnore) |
| * [JACKSON-36]: add annotations to define property names that differ |
| from bean naming convention (@JsonGetter/@JsonSetter) |
| |
| Improvements: |
| |
| * [JACKSON-47]: Change DeserializerProvider.findValueDeserializer to |
| take "referrer" information. This is needed to be able to give |
| contextual mappings where a given type may be deserialized differently |
| (by different deserializer, and possibly to a different java class) |
| depending on where the reference is from. |
| * [JACKSON-48]: Integrate ObjectMapper with JsonGenerator, JsonParser; |
| add MappingJsonFactory. |
| (suggested by Scott A) |
| * [JACKSON-50]: JsonNode.getElements() and .iterator() now work for |
| ObjectNodes too, not just ArrayNodes. Also added convenience factory |
| methods to allow constructing child nodes directly from container |
| nodes. |
| * [JACKSON-53]: iBatis proxied value classes didn't work; fixed by |
| prevent CGLib-generated "getCallbacks" from getting called. |
| (reportd by Justin F) |
| * [JACKSON-55]: Added support for reference-path-tracking in |
| JsonMappingException, made serializers populate it: this to make |
| it easier to trouble-shoot nested serialization problems |
| * [JACKSON-56]: Added support for RFC-1123 date format, along with |
| simpler "standard" format; and can add more as need be. |
| |
| 0.9.7 [04-Feb-2009]: |
| |
| Improvements: |
| |
| * [JACKSON-34]: Improved packaging by adding an intermediate directory |
| in source tarball, to not mess up the current directory (and to indicate |
| version number as well) |
| * [JACKSON-37]: Make Jackson run on Android, by ensuring that there are |
| no hard linkages to classes that Android SDK doesn't have (the only |
| reference that was there, to XMLGregorianCalendar, was changed to |
| soft linkage) |
| * [JACKSON-42]: Add new JsonNode sub-class, BinaryNode, to represent |
| base64 encoded binary content. |
| |
| New features: |
| |
| * [JACKSON-6]: Implement JsonParser.getBinaryValue() so that one can |
| now also read Base64-encoded binary, not just write. |
| * [JACKSON-40]: Add JsonParser.nextValue() for more convenient |
| iteration. |
| * [JACKSON-46]: Allow disabling quoting of field names by disabling |
| feature 'JsonGenerator.feature.QUOTE_FIELD_NAMES' |
| (requested by Scott Anderson) |
| |
| 0.9.6 [14-Jan-2009]: |
| |
| Bug fixes: |
| |
| * Serialization of some core types (boolean/java.lang.Boolean, |
| long/java.lang.Long) was not working due to incorrectly mapped |
| serializers. |
| |
| New features: |
| |
| * [JACKSON-31]: Complete rewrite of ObjectMapper's deserialization: |
| now supports Beans, typed (generics-aware) Lists/Maps/arrays. |
| |
| Improvements: |
| |
| * [JACKSON-24]: Add efficient byte-array - based parser factory |
| method to JsonFactory (has maybe 5% improvement over wrapping |
| in ByteArrayInputStream). |
| * [JACKSON-29]: Split classes in 2 jars: core that has parser and |
| generator APIs and implementations; and mapper jar that has object |
| and tree mapper code. |
| * [JACKSON-30]: Renamed "JavaTypeMapper" as "ObjectMapper", and |
| "JsonTypeMapper" as "TreeMapper"; new names should be more intuitive |
| to indicate their purpose. Will leave simple implementations of |
| old classes to allow for gradual migration of existing code. |
| |
| 0.9.5 [10-Dec-2008]: |
| |
| Bug fixes: |
| |
| * [JACKSON-25]: Problems with Maven pom for lgpl version |
| (report by Ray R) |
| note: backported to 0.9.4 Codehaus Maven repo |
| |
| Improvements: |
| |
| * [JACKSON-13]: JavaTypeMapper can now take JsonFactory argument, and |
| thus is able to construct JsonParser/JsonGenerator instances as necessary |
| * [JACKSON-17]: Handling of unknown types now configurable with |
| JavaTypeMapper serialization (see JsonSerializerProvider for methods) |
| * [JACKSON-20]: Handling of nulls (key, value) configurable with |
| JavaTypeMapper serialization (see JsonSerializerProvider for methods) |
| * [JACKSON-26]: Add convenience JsonGenerator.writeXxxField() methods |
| to simplify json generation. |
| |
| New features: |
| |
| * [JACKSON-27]: Allow automatic closing of incomplete START_ARRAY and |
| START_OBJECT events, when JsonGenerator.close() is called. |
| |
| 0.9.4 [26-Nov-2008]: |
| |
| Bug fixes: |
| |
| * [JACKSON-16]: JavaDocs regarding whether Jackson is to close underlying |
| streams, readers and writers, were incorrect. Additionally added |
| parser/generator features to allow specifying whether automatic closing |
| is to be done by Jackson: feature is enabled by default, both for |
| backwards compatibility, and because it seems like the right setting. |
| * [JACKSON-18]: ArrayIndexOutOfBounds on IntNode, due to off-by-one |
| problem with comparisons |
| (reported by Michael D) |
| * Fixed a problem with CR (\r) handling; was sometimes skipping |
| characters (problematic if there's no indentation). |
| * Multiple UTF-8 decoding fixes: was specifically not working for |
| names. |
| |
| Improvements: |
| |
| * More complete JavaDoc comments for core public classes. |
| * Internal cleanup of core parsing, to unify handling of Object and |
| Array entries |
| |
| 0.8.0 - 0.9.3 [between 17-Oct-2007 and 05-Sep-2008]: |
| |
| Changes: |
| |
| * [JACKSON-5]: Symbol table construction was not thread-safe for |
| utf-8 encoded content (new bug with 0.9.2, not present with earlier) |
| (reported by Tudor B) |
| * [JACKSON-8]: Serialization of BigDecimal broken with JavaTypeMapper |
| (reported by Johannes L) |
| * [JACKSON-9]: Add support for (non-standard) Json comments. |
| (requested by Mike G) |
| * [JACKSON-11]: Implement base64/binary methods for json generator. |
| * [JACKSON-14]: Problems with generic collections, serializer |
| method signatures (due to lack of covariance wrt collection types) |
| * [JACKSON-15]: Add copy-through methods to JsonGenerator for |
| pass-through copying of content (copyCurrentEvent, copyCurrentStructure) |
| * [JACKSON-23]: Add OSGi manifest headers for jars (to run on OSGi container). |
| * Added generic "feature" mechanism to parsers, writers; features are |
| togglable (on/off) things with well-defined default values, implemented |
| as Enums. |
| |
| * [JACKSON-1]: JsonNode now implements Iterable<JsonNode> so that |
| it is possible use Java 5 foreach loop over array/object nodes. |
| (suggested by Michael M) |
| * [JACKSON-4] Added JsonParser.skipChildren() method. |
| * UTF-16/32 handling was not completely correct, was erroneously |
| skipping first 2/4 bytes in some cases (even when no BOM included). |
| Also, related unit tests added/fixed. |
| * JsonGenerator.useDefaultPrettyPrinter()/.setPrettyPrinter() |
| allow for pretty printing (indentation). |
| (thanks to Ziad M for suggestion, sample code) |
| |
| * Implicit conversions for numbers could sometimes lose accuracy, |
| if floating-point number was first accessed as int/long, and then |
| as a BigDecimal. |
| * One Nasty NPE fixed from NameCanonicalizer (which was added in 0.9.2) |
| |
| * Java type mapper had a bug in Collection mapping (mismatched |
| calls between writeStartArray and writeEndObject!) |
| (reported by Mike E) |
| * Java type mapper had a bug which prevented custom mappers (as |
| well as slower interface-based introspection) from working. |
| (reported by Mike E) |
| * Numeric value parsing had some problems |
| * JavaTypeMapper and JsonTypeMapper had a bug which resulted |
| in NullPointerException when stream ends, instead of returning |
| null to indicate it. |
| (reported by Augusto C) |
| * JavaTypeMapper did not implicitly flush generator after mapping |
| objects: it should, and now will (note: JsonTypeMapper not directly |
| affected, flushing still needed) |
| (suggested by Maciej P) |