2008-05-22  Miguel de Icaza  <miguel@novell.com>

	* SerializationCallbacks.cs: This lock has a high contention rate
	on ASP.NET web sites, with multiple cores we end up spending a lot
	of time on this check.   

	Rewrite this code to have two code paths since we know that the
	cache is append-only.  

2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>

	* IFormatterConverter.cs
	* SerializationException.cs
	* StreamingContext.cs: Fix parameter names

2006-12-18  Lluis Sanchez Gual  <lluis@novell.com>

	* FormatterServices.cs: In GetFields, avoid creating a field
	  clone in some cases where it's not really necessary.

2006-11-13  Jensen Somers  <jensen.somers@gmail.com>

	* Fixed the Serializable attribute in OnDeserializedAttribute,
	OnDeserializingAttribute, OnSerializedAttribute and
	OnSerializingAttribute.

2006-11-13  Jensen Somers  <jensen.somers@gmail.com>

	* Removed [Serializable] from OnDeserializedAttribute,
	OnDeserializingAttribute, OnSerializedAttribute,
	OnSerializingAttribute.

2006-11-10  Jensen Somers  <jensen.somers@gmail.com>

	* Added ComVisibleAttribute in the ISerializable,
	ISerializationSurrogate and ISurrogateSelector interface.
	* Added the sealed keyword to the OnDeserializedAttribute,
	OnDeserializingAttribute, OnSerializedAttribute,
	OnSerializingAttribute and OptionalFieldAttribute class.

2006-10-30  Robert Jordan  <robertj@gmx.net>

	* Apply ComVisibleAttribute.

2006-10-29  Robert Jordan  <robertj@gmx.net>

	* ObjectManager.cs: Add NET_2_0 serialization callbacks.
	
2006-10-29  Robert Jordan  <robertj@gmx.net>

	* SerializationObjectManager.cs,
	SerializationCallbacks.cs: Add support for NET_2_0 serialization
	events. See bug #78594.

2006-08-06  Lluis Sanchez Gual  <lluis@novell.com>

	* ObjectManager.cs: Add support for nested IObjectReference.
	Fixes bug #78749.

2006-07-31  Sebastien Pouliot  <sebastien@ximian.com>

	* ObjectIDGenerator.cs: Fix ArgumentNullException parameter.

2006-06-04  Miguel de Icaza  <miguel@novell.com>

	* OptionalFieldAttribute.cs, OnSerializedAttribute.cs,
	OnSerializingAttribute.cs, OnDeserializedAttribute.cs,
	OnDeserializingAttribute.cs: Added a few attributes for the
	version tolerant serialization.

2006-01-04  Raja R Harinath  <rharinath@novell.com>

	* ObjectManager.cs (ObjectRecord.IsInstanceReady): Fix regression
	introduced in previous patch.  See the re-opened bug #76931.

2005-12-15  Martin Baulig  <martin@ximian.com>

	* ObjectManager.cs: When deserializing an object that has a
	surrogate, actually check the return value of
	ISerializationSurrogate.SetObjectData(); fixes #76931.

2005-10-03  Lluis Sanchez Gual  <lluis@novell.com>

	* ObjectIDGenerator.cs: Use custom comparer instead of an instance
	wrapper. Closes bug #76017.

2005-06-13  Lluis Sanchez Gual  <lluis@novell.com>

	* Formatter.cs: Properly initialize protected fields. Fixes bug #75233. 

2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>

	* SerializationInfo.cs: Use IsInstanceOfType instead of IsAssignableFrom
	since GetType() may not return the correct type if the object is
	a remoting proxy.

2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>

	* FormatterServices.cs: In GetSerializableMembers, private fields
	from base classes must include the class name in the field name.
	In this case, it now creates a clone of the field with the
	modified name. This patch together with r44260 fixes bug #74760.

2004-12-09  Lluis Sanchez Gual  <lluis@ximian.com>

	* ObjectManager.cs: When deserializing an object that implements
	ISerializable, check if a surrogate	exists for that object, before
	trying to deserialize it as ISerializable. This fixes bug #70104.

2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>

	* ObjectIDGenerator.cs: added TODO for serialization

2004-06-09  Duncan Mak  <duncan@ximian.com>

	* ObjectManager.cs (RegisterObject): Add checks for
	ArgumentNullException as well.

2004-06-09  Duncan Mak  <duncan@ximian.com>

	* SerializationInfoEnumerator.cs: Instead of using
	IDictionaryEnumerator from a Hashtable, use a normal IEnumerator
	from the newly added ArrayList in SerializationInfo.

	* SerializationInfo.cs: Added an extra ArrayList so that we can
	keep the SerializationEntrys added in the order.
	(SerializationInfo, AddValue): Throw ArgumentNullException
	correctly.


2004-06-08  Duncan Mak  <duncan@ximian.com>

	* ObjectManager.cs (RegisterObject): Throw
	ArgumentOutOfRangeException if the objectID parameter is less than
	or equal to zero. This check was missing from this particular
	overload.

2004-05-14  Marek Safar  <marek.safar@seznam.cz>

	* SerializationInfo.cs: Removed useless [CLSCompliant (false)]

2003-11-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* FormatterServices.cs: Added CheckTypeSecurity() and
	  GetSafeUninitializedObject().

2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* ObjectManager.cs: Fixed header, internalized enum
	* Formatter.cs: Implemented

2003-11-11  Lluis Sanchez Gual  <lluis@ximian.com>

	* FormatterServices.cs: Fixed some comments.

2003-10-21  Lluis Sanchez Gual  <lluis@ximian.com>

	* SerializationInfo.cs: Fixed bug in GetValue. Use IsAssignableFrom instead
	  of IsSubclass, since the type can be an interface.

2003-10-18  Lluis Sanchez Gual  <lluis@ximian.com>

	* FormatterServices.cs: In GetUninitializedObject methdod, reuse
	ActivationServices.AllocateUninitializedClassInstance, it does the same.

2003-07-28  Duncan Mak  <duncan@ximian.com>

	* Formatter.cs (WriteSByte): Added CLSCompliant attribute.

2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* FormatterServices.cs:
	(GetSerializableMembers): check that all base types are serializable
	when getting their fields. Fixes bug #46875.

2003-07-17  Lluis Sanchez Gual  <lluis@ximian.com>

	* ObjectIDGenerator.cs: Optimized access to hashtable and reduced the
	  number of calls to GetType(). (Patch by Paolo).
	  Also added a NextId property that returns a new Id without registering
	  an object.

2003-06-26  Lluis Sanchez Gual  <lluis@ximian.com>

	* SerializationInfo.cs: Fixed bug #44955

2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* FormatterServices.cs: patch from Jean Marc that fixes bug #42742.

2003-02-18  Lluis Sanchez Gual  <lluis@ideary.com>

	* ObjectManager.cs: Corrected a problem with arrays of structs. Elements where
	  not correctly updated by the final fixup.

2003-01-27  Lluis Sanchez Gual  <lluis@ideary.com>

	* ObjectManager.cs: Corrected a problem with IObjectReferece objects.

2003-01-24  Martin Baulig  <martin@ximian.com>

	* ObjectManager.cs (RaiseDeserializationEvent): Walk the object
	list in the correct order.

2003-01-16  Lluis Sanchez Gual  <lluis@ideary.com>

	* ObjectManager.cs: Implemented and added file
	* SurrogateSelector.cs: completed implementation.
	* SerializationInfo.cs: corrected a bug in GetValue method.
	* ObjectIDGenerator.cs: corrected a bug. Now it does not give the same
	  id for two different instances that return true when calling Equal.

2002-12-06  Duncan Mak  <duncan@ximian.com>

	* Formatter.cs (WriteValueType): Remove the erroneous CLSCompliant attribute.

2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* FormatterServices.cs: implemented GetUninitializedObject.
	PopulateObjectMembers needs a working FieldInfo.SetValue (it's
	not implemented right now).

2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* FormatterServices.cs:a implemented GetSerializableMembers ().

2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* FormatterServices.cs: New file with some implementation.

2002-08-16  Dietmar Maurer  <dietmar@ximian.com>

	* SerializationInfo.cs: special case for null values.
	use the converter everywhere.

2002-08-14  Dietmar Maurer  <dietmar@ximian.com>

	* SerializationInfo.cs: added new function to support the runtime

2002-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Formatter.cs: added namespace.

2002-06-10  Duncan Mak  <duncan@ximian.com>

	* Formatter.cs: Addd to CVS.

	* FormatterConverter.cs: Added to CVS.

	* SerializationInfo.cs (AddValue): Removed extra CLSCompliant attribute.

2002-04-12  Duncan Mak  <duncan@ximian.com>

	* SerializationException.cs: Added missing constructor for serialization.

2002-03-12  Duncan Mak  <duncan@ximian.com>

	* IFormatter.cs: Fix the return type of the Serialize method.

2002/03/07  Nick Drochak <ndrochak@gol.com>

	* StreamingContextStates.cs: Add missing value (CrossAppDomain) and
	adjust All value accordingly.

2002-03-01  Duncan Mak  <duncan@ximian.com>

	* ObjectIDGenerator.cs: Implemented.

2002-02-19  Duncan Mak  <duncan@ximian.com>

	* SurrogateSelector.cs: Implemented.	

	* SerializationInfoEnumerator.cs: oh, and simplified the Current
	property too.
	
	* SerializationInfo.cs: Forgot to finish up GetEnumerator ().

2002-02-18  Duncan Mak  <duncan@ximian.com>

	* SerializationInfo.cs: Converted Type.GetType calls to the faster
	typeof operator.

2002-02-16  Duncan Mak  <duncan@ximian.com>

	* SurrogateSelector.cs: Stubbed out. Gonna be working on this
	tomorrow.

2002-02-15  Duncan Mak  <duncan@ximian.com>

	* SerializationEntry.cs: Added internal constructor for writing
	bits in SerializationInfoEnumerator.
	* SerializationInfo.cs: Completed.
	* SerializationInfoEnumerator.cs: Implemented. Piggybacking on
	Hashtable's GetEnumerator method.

2002-02-13  Dan Lewis <dihlewis@yahoo.co.uk>

	* SerializationInfoEnumerator.cs: New file (stub)

2002-02-12  Duncan Mak  <duncan@ximian.com>
	
	* SerializationBinder.cs: Implemented.
	* SerializationEntry.cs: Implemented.
	* SerializationInfo.cs: Fixed the get portion of the AssemblyName
	property. Implemented the FullTypename property.
	
2002-01-06  David Dawkins <david@dawkins.st>

	* IFormatter.cs : New file
	* ISerializationSurrogate.cs : New file
	* ISurrogateSelector.cs : New file

2002-05-01  Ravi Pratap  <ravi@ximian.com>

	* SerializationInfo.cs : Insert MonoTODO attribute.

2001-08-24  Nick Drochak  <ndrochak@gol.com>

	* IDeserializationCallback.cs: New File

Wed Nov 14 17:03:30 CET 2001 Paolo Molaro <lupus@ximian.com>

	* IFormatterConverter.cs, SerializationInfo.cs: CLSCompliant updates.

Fri Nov 2 18:40:12 CET 2001 Paolo Molaro <lupus@ximian.com>

	* SerializationException.cs: implemented.

2001-08-24  Nick Drochak  <ndrochak@gol.com>

	* SerializationInfo.cs: Added all the public methods so that the compile would not break

2001-07-20  Miguel de Icaza  <miguel@ximian.com>

	* SerializationInfo.cs: New file.

	* IFormatterConverter.cs: New file.

	* ISerializable.cs: New file.
