+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