2010-07-27  Andreia Gaita  <avidigal@novell.com>

	* JsonSerializationReader.cs: Add Char type to the switch. Reads the
	  content as a string and validates its length

2010-07-27  Andreia Gaita  <avidigal@novell.com>

	* JsonSerializationReader.cs, JsonSerializationWriter.cs:
	  Add a special case for IDictionary, since KeyValuePair objects
	  have private setters and can't be processed via the normal
	  object code path.

2010-07-06  Atsushi Enomoto  <atsushi@ximian.com>

	* TypeMap.cs :
	  Do not try to add static members as serialization targets.
	  Support OnDeserializing and OnDeserialized. Fixed bug #615800.

2010-07-06  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonSerializationWriter.cs : it cannot serialize DateTime in
	  double, which causes crash in deserializer.

2010-07-06  Atsushi Enomoto  <atsushi@ximian.com>

	* TypeMap.cs : when an object is null, return null, not just an 
	  uninitialized object.

2010-07-06  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer_2_1.cs : add extra methods for
	  Sys.SM.Web.Extensions build.

2010-07-06  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonReader.cs : do not keep Attribute state once Read() is called.

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
	  always deserializable (in .NET either).

2009-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
	  reject contract-less types. So populate map for public members.
	* DataContractJsonSerializer.cs : close XmlWriter to flush stream
	  (and it closes the stream by default).

2009-02-02  Andreia Gaita  <avidigal@novell.com>

	* JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
    and Convert.ChangeType

2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer.cs : IsStartObject() could raise
	  an arbitrary exception, so wrap it inside try-catch too to enclose
	  with SerializationException.
	* JsonSerializationReader.cs : support DBNull.

2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
	  missed to delegate knownTypes correctly.
	* JsonSerializationReader.cs : consider KnownTypes correctly.
	  Take "__type" fully into consideration, not just for arrays.

2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonReader.cs : GetAttribute() was not still missing support for
	  __type.

2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonReader.cs : now __type is fully supported in every methods and
	  properties in correct shape.

2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonReader.cs : Do not consume "__type" (which is the first content
	  of an object) as an element content. It must be handled as an
	  attribute (it needs more changes).

2008-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonSerializationReader.cs : when deserializing primitive strings,
	  make use of "type" attribute (they are supposed to exist).
	  Output source reader location if available.
	* JsonReader.cs : implement IXmlLineInfo.

2008-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonSerializationReader.cs : new, for JSON deserialization support.
	* DataContractJsonSerializer.cs, TypeMap.cs :
	  basic support for deserialization.

2008-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer.cs,
	  TypeMap.cs,
	  JsonSerializationWriter.cs : split the first to those three files.

2008-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer.cs : Uri and Guid are serialized as
	  string. XmlQualifiedName is serialized as local:ns.

2008-01-22  Atsushi Enomoto  <atsushi@ximian.com>

	* JsonWriter.cs : allow __type attribute. It required couple of
	  changes all around the class.
	* DataContractJsonSerializer.cs : implemented large part of
	  serialization support (deserialization is not done yet).

2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>

	* DataContractJsonSerializer.cs :
	  moved from System.Runtime.Serialization and changed the namespace.
	* JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
	  IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
	  moved from System.Xml and changed the namespace.

