+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