New tests.
[mono.git] / mcs / class / System.ServiceModel.Web / System.Runtime.Serialization.Json / ChangeLog
index 27f3e5b348cf475858a824024c91a20651a40c7e..4c38b06db2d44f9cf156ff0e21aecf857f21da98 100644 (file)
@@ -1,3 +1,218 @@
+2010-04-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonSerializationReader.cs : use List<T> if the contract member
+         type is interface.
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * DataContractJsonSerializer.cs: use MOONLIGHT symbol to
+       disambiguate MonoTouch and Moonlight code.
+
+2010-03-13  Kornél Pál  <kornelpal@gmail.com>
+
+       * JavaScriptReader.cs: Deserialize "false" correctly.
+         Fixed bug #586712.
+
+2010-03-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JavaScriptReader.cs : moved from Sys.Json/JsonReader.cs.
+
+2010-03-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JavaScriptObjectDeserializer.cs : new internal file, which is
+         used by System.Json (for moonlight compatibility).
+
+2010-03-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonSerializationWriter.cs, JsonSerializationReader.cs,
+         JsonWriter.cs : Fix DateTime serialization and "\/" string escape
+         issues. Fixed bug #586169.
+
+2010-02-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
+         Fixed bug #573691.
+
+2010-01-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataContractJsonSerializer.cs : KnownTypes does not include root
+         type. Fixed bug #573689.
+
+2010-01-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonSerializationReader.cs : oops, wrong fix, should consume the
+         reader.
+
+2010-01-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonSerializationReader.cs : "null" for string should be read as
+         null, not String.Empty. Fixed bug #573690.
+
+2010-01-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
+       AccessException inside a SerializationException but in a 
+       SecurityException.
+
+2010-01-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * DataContractJsonSerializer_2_1.cs: New. Simpler version for 
+       Moonlight since it does not inherit from the same base type nor
+       does it overrides any base methods.
+
+2010-01-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
+
+2009-12-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
+         like we do in 2.0. Removed previous workarounds. (Do not serialize
+         and deserialize nonpublic members in "default" mappings.)
+
+2009-12-11  Chris Toshok  <toshok@ximian.com>
+
+       * TypeMap.cs (CreateDefaultTypeMap): only include non-public
+       property info when dealing with KeyValuePair<,>.  This is *not*
+       the way MS handles it, but we emulate things much better with this
+       hack.
+
+2009-12-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonReader.cs : e- and e+ was resulting in wrong parse error.
+         This should fix part of bug #531904.
+
+2009-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * JsonSerializationReader.cs (DeserializeGenericCollection): in
+       the 2.1 case we still need to convert the List<> to an array.
+
+2009-12-07  Chris Toshok  <toshok@ximian.com>
+
+       * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
+       encoding parameter instead of calling Detect.  The jsonreader's
+       PushbackReader will autodetect.
+       (Detect): remove.  a BufferedStream created from an unseekable
+       stream is itself unseekable, which makes it just as useless.  This
+       breaks netflix's isostore file parsing.
+
+       * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
+       encoding, for the autodetecting reader case.  for this ctor, pass
+       true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
+
+2009-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * JsonSerializationReader.cs (DeserializeGenericCollection): this
+       is jb's (iirc) patch, actually.  Types subclassing from
+       ICollection<T> need to be supported, and since it's an interface
+       the implementation might be explicit.  So instead of groveling
+       around in the actual type, we need to dispatch through the
+       interface's method.
+
+       * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
+       properties, since KeyValuePair items must be able to write to Key
+       and Value properties.
+
+       * JsonReader.cs (ReadContent): for builtin values (null, true,
+       false), use TryReadString instead of individual ReadChar's, since
+       they aren't reversible if the string didn't match.  In the default
+       case, if we're LameSilverlightLiseralParser, we need to push back
+       the current character onto the stream -- this is because for
+       netflix's AppConfig.json we were parsing "frameRatePolicy" as
+       "rameRatePolicy" (the 'f' was triggering the "false" parsing).
+       (class PushBackReader): add this class to unify all the pushing
+       back of characters we need to do.  1 character (JsonReader's old
+       "saved_char") isn't enough given that you could have a property
+       named, e.g., "falsifiable", and we'd need 4 characters worth of
+       pushback to recognize that correctly.
+
+2009-11-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
+         LAME parser that allows object member name as *raw* string
+         without double-quotes. (This also reverts the previous change.)
+
+2009-11-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       *  JsonSerializationReader.cs : reuse generic collection search
+         logic in KnownTypeCollection.cs. Fixed bug #551671.
+
+2009-10-30  Andreia Gaita  <avidigal@novell.com>
+
+       * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
+       the data to fix the quotes before passing it to the deserializer
+
+2009-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * TypeMap.cs (Deserialize): use
+       FormatterServices.GetUninitializedObject instead of
+       Activator.CreateInstance, since we shouldn't be invoking the
+       default ctor.
+
+       (forward ported to trunk on 2010-01-08 by atsushi)
+
+2009-10-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataContractJsonSerializer.cs
+         TypeMap.cs
+         JsonSerializationReader.cs : add experimental monotouch build.
+
+2009-10-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
+         alwaysEmitTypeInformation is  false by default. It is for __type
+         attribute, not for type attribute. __type name is always with ":#".
+       * TypeMap.cs : sort members in default typemap (it is ordered).
+         Uncomment EmitDefaultValue.
+       * JsonWriter.cs : handle "null" string (it is somewhat messy).
+
+2009-10-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonReader.cs : copy string literal parser from System.Json.
+
+2009-09-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonSerializationWriter.cs : output "type" attribute on bool
+         values too.
+       * JsonSerializationReader.cs : type loading attempt was insufficient
+         and hence often missed indicated types to deserialize.
+
+2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonWriter.cs : use Stream as its output directly and avoid
+         extraneous preamble output. Fix interop with .NET.
+
+2009-09-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonReaderWriterFactory.cs : check null stream (fix test failure).
+
+2009-03-13  Andreia Gaita  <avidigal@novell.com>
+
+       * JsonReader.cs: fix depth calculation
+
+2009-03-12  Geoff Norton  <gnorton@novell.com>
+
+       * TypeMap.cs: Avoid checking the getter/setter information until after
+       checking if we have the required attribute decorated.
+
+2009-03-12  Andreia Gaita  <avidigal@novell.com>
+
+       * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
+       without BOM
+
+2009-03-02  Chris Toshok  <toshok@ximian.com>
+
+       * JsonReader.cs: 2.1 has HasValue.
+
+2009-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * JsonReader.cs : show invalid input character in the error
+         message.
+
+2009-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
+
 2009-02-02  Atsushi Enomoto  <atsushi@ximian.com>
 
        * TypeMap.cs : allow get-only collections. Note that they are not