2009-11-02  Miguel de Icaza  <miguel@novell.com>

	* Copy some collections from WindowsBase here for 4.0 support.

2009-03-01  Zoltan Varga  <vargaz@gmail.com>

	* NameValueCollection.cs (AsSingleString): Avoid the allocation of
	a stringbuilder for collections with only one element.

2008-09-09  Scott Peterson  <lunchtimemama@gmail.com>

	* BitVector32.cs: Minor fixes. Simplified Section.ToString and
	GetHashCode, and BitVector32.Equals.

2008-08-06  Scott Peterson  <lunchtimemama@gmail.com>

	* BitVector32.cs: Fixed a bug which allowed for invalid sections
	to be created with CreateSection. Also simplified HighestSetBit
	algorithm and got rid ofNumberOfSetBits (using HighestSetBit
	works just fine).

2008-07-31  Jb Evain  <jbevain@novell.com>

	* StringDictionary.cs: remove ComponentModel bits for NET_2_1.

2008-04-13  Jb Evain  <jbevain@novell.com>

	* CollectionsUtil.cs: internalize for the 2.1 profile.
	Merged from the Moonlight 2 branch.

2008-01-07  Juraj Skripsky <js@hotfeet.ch>

	* NameObjectCollectionBase.cs: Add argument checking in CopyTo,
	replace use of enumerator by for-loop. Check IsReadOnly in BaseSet()
	only on the 2.0 profile.

2007-04-29  Ilya Kharmatsky <ilyak@mainsoft.com>

	* NameValueCollection.cs: Proper exception handling in several
	constructors and CopyTo method, under NET_2_0 target.

2007-04-15  Marek Safar  <marek.safar@gmail.com>

	* ListDictionary: Removed not used variable.

2007-03-27  Alan McGovern  <alan.mcgovern@gmail.com>

	* BitVector32.cs: Bugfix for op_inequality.

2007-01-18  Konstantin Triger  <kostat@mainsoft.com>

	* OrderedDictionary.cs: use IEqualityComparer for key comparison.

2006-10-03  Andrew Skiba  <andrews@mainsoft.com>

	* ListDictionary.cs: remove unnecessary out parameter

2006-10-02  Gert Driesen  <drieseng@users.sourceforge.net>

	* CollectionsUtil.cs: Set eol-style to CRLF.
	* StringDictionary.cs: Fixed line endings. Set eol-style to CRLF.
	* StringEnumerator.cs: Set eol-style to CRLF.
	* OrderDictionary.cs: Set eol-style to CRLF.

2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>

	* OrderedDictionary.cs: IsReadOnly, indexers, Keys and Values should
	not be virtual.

2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>

	* BitVector32.cs : oops those operators are for BitVector32.Section,
	  not BitVector32 itself.

2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>

	* BitVector32.cs : added operator== and != in 2.0.

2006-03-11  Miguel de Icaza  <miguel@novell.com>

	* IOrderedDictionary.cs: Flag GetEnumerator as a "new" method to
	avoid warning.

2005-11-30  Sebastien Pouliot  <sebastien@ximian.com> 
 
	* OrderedDictionary.cs: OnDeserialization is protected virtual (not 
	private).

2005-11-30  Sebastien Pouliot  <sebastien@ximian.com>

	* BitVector32.cs: Fixed 2.0 API changes and this[int] setter under 2.0
	* HybridDictionary.cs: Fixed Contains different behaviour under 2.0.
	* IOrderedDictionary.cs: Added missing GetEnumarator to the interface.
	* NameObjectCollectionBase.cs: Fixed 2.0 API changes and 
	serialization.
	* NameValueCollection.cs: Fixed 2.0 API changes.
	* OrderedDictionary.cs: Fixed API changes, serialization and this[int]
	setter.
	* StringDictionary.cs: Added missing null checks.

2005-10-26  Raja R Harinath  <rharinath@novell.com>

	* HybridDictionary.cs (is_list): Remove.
	(inner): Remove 'set' accessor.
	(HybridDictionary, Switch): Initialize 'list' and 'hashtable' directly.

2005-10-26  Svetlana Zholkovsky  <svetlanaz@mainsoft.com>

	* NameObjectCollectionBase.cs
      ListDictionary.cs
      HybridDictionary.cs
      Fix serialization compatibility with .NET

2005-09-01  Raja R Harinath  <rharinath@novell.com>

	* NameValueCollection.cs (Add): Add a key from the other
	collection even if its associated value list is empty.
	Fix regression introduced by last change.

2005-08-30  Jackson Harper  <jackson@ximian.com>

	* NameValueCollection.cs: Don't crash when we have empty
	collections.

2005-08-19  Jb Evain  <jbevain@gmail.com>

	* NameObjectCollectionBase (GetEnumerator):
		Use the virtual modifier only in 2.0 profile.

2005-08-03  Raja R Harinath  <rharinath@novell.com>

	* ListDictionary.cs: Rewrite to reduce key comparison overhead.
	Unify all list traversals into FindEntry.
	(AreEqual): Remove.
	(FindEntry): Split into two duplicate loops, one when comparer ==
	null, the other when it isn't.  Add new out parameter that points
	to the entry preceding the result.
	(Add, AddImpl, this []): Update.
	(Remove): Use FindEntry for traversal.
	(CopyTo): Add more tests.
	(ListEntryEnumerator): Simplify.
	(ListEntryCollection, ListEntryCollectionEnumerator): Likewise.

	* HybridDictionary.cs: Rewrite to avoid a test on each operation.
	(list, hashtable): Remove.
	(inner): New IDictionary field that can hold either a list
	dictionary or a hashtable.
	(is_list): New.  Notes whether 'inner' holds a list dictionary or not.
	(Clear): Don't change a hashtable to a list dictionary.

2005-07-25  Lluis Sanchez Gual <lluis@novell.com>

	* NameObjectCollectionBase.cs: Don't throw an exception in
	OnDeserialization if infoCopy has not been set, which means that
	the serialization constructor has not been called, because
	a subclass may completely override that constructor.
	This fixes bug #75607.

2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ProcessStringDictionary.cs: PlatformID for 2.0.

2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NameObjectCollectionBase.cs: after 1.0, this uses DefaultInvariant for
	the hash code provider and comparer, as Ben said.

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

	* OrderedDictionary.cs: Don't crash when removing an item
	that is not in the dictionary.

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

	* ProcessStringDictionary.cs: on non-windows system, don't make the
	hashtable case-insensitive. Fixes bug #74796.

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

	* OrderedDictionary.cs: Fix bug in item setter.

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

	* OrderedDictionary.cs: Implemented.

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

	* NameObjectCollectionBase.cs: Fix line endings. It's mostly in
	DOS endings, so I left it at that.
	(GetEnumerator): Made virtual.

2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>

	* HybridDictionary.cs: Fixed Contains for null argument (again). Return
	false when dictionary is empty or else throw an ArgumentNullException.
	* NameObjectCollectionBase.cs: Now use IComparer to compare keys. This
	completes a TODO and fix Remove in NameValueCollection.
	* NameValueCollection.cs: Added missing Rank check in CopyTo (Array,
	int).

2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>

	* HybridDictionary.cs: Fixed Contains for null argument.
	* NameValueCollection.cs: Fixed Set to remove existing values. Fixed
	Add(NVC) to throw same exception as MS implementation.

2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>

	* StringCollection.cs: Renamed internal variable to make serialization
	  compatible with MS.NET.

2004-03-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ListDictionary.cs: mark ListEntry as serializable. Thanks to Jan
	Jaros.

2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ProcessStringDictionary.cs: the same as StringDictionary, but
	doesn't turn keys into lowercase.

2003-11-18  Todd Berman <tberman@gentoo.org>

	* IOrderedDictionary.cs: new v2 interface

2003-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NameObjectCollectionBase.cs: added serialization support.

2003-09-04  Duncan Mak  <duncan@ximian.com>

	Patches from Alon Gazit <along@mainsoft.com>.

	* BitVector32.cs (CreateSection): Check that the new
	calculated offset isn't more than 32 and not that the sum of the
	new offset and the number of set bits is more than 32.
	(this): Perform bitwise and with the complement of the mask
	shifted version (~(section.Mask << section.Offset)) and not with
	the shifted version of the mask's complement (~section.Mask <<
	section.Offset).
	(this): Currently doesn't return the correct value when the data
	in the BitVector32 instance is negative.
	
	* ListDictionary.cs (CopyTo): If the array is null, it should
	throw ArgumentNullException. If the index is less than 0, it
	should throw ArgumentOutOfRangeException.
	(Remove): Throw ArgumentNullException when the parameter is null.

2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* StringDictionary.cs: Reworked attributes based on the new Consts scheme

2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* NameObjectCollectionBase.cs: Implemented a few missing methods, fixed public signatures

2003-07-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* NameObjectCollectionBase.cs: Fixed signature to be CLSCompliant, changed/corrected header
	* StringCollection.cs: Improved implementation (should perform better)

2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* BitVector32.cs: Implemented missing method
	* NameValueCollection.cs: Fixed public signature, Styleguidelined header
	* StringDictionary.cs: Added missing attribute, fixed visibilities

2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
	* StringCollection.cs: Rewrote. Now uses ArrayList. Fixes up quite
	a few Rotor bugs.

2003-03-03  Miguel de Icaza  <miguel@ximian.com>

	* NameValueCollection.cs: Uncoment constructor, an old MCS bug
	prevented this from working.  Removed test for nullitude of col,
	as it would have aborted anyways on the dereference in the base
	constructor call. 

2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* StringCollection.cs: fixed range checks in CopyTo.

2002-11-06  Daniel Stodden <stodden@in.tum.de>

	* ListDictionary.cs:
		- Filled in missing CopyTo()s.
		- No, overwriting an entry should not change the Count <:)

2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* NameValueCollection.cs: fixed Add (NameValueCollection).

2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* StringCollection.cs: fixes bug #29791. Thanks to Marcus Urban
	(mathpup@mylinuxisp.com).

2002-07-22  Tim Coleman <tim@timcoleman.com>
	* NameObjectCollectionBase.cs: added iterator stubb to 
		NameObjectCollectionBase.KeysCollection

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

	* HybridDictionary.cs:
	(Remove): fixed. The value is either in the list or in the hash.

2002-06-24  Andrew Birkett <adb@tardis.ed.ac.uk>

	* BitVector32.cs: Implemented 'set' section indexer.  Check for
	overly large sections.	Factored out some helper methods. 

2002-05-11  Lawrence Pit <loz@cable.a2000.nl>

	* NameValueCollection.AsStringArray: fixed ArgumentNullException bug.

2002-05-10  Lawrence Pit <loz@cable.a2000.nl>

	* HybridDictionary.cs: implemented
	* CollectionsUtil.cs: implemented
	* BitVector32.cs: implemeneted
	* Modified signature of method ListDictionary.GetEnumerator 

Fri Feb 8 18:02:50 CET 2002 Paolo Molaro <lupus@ximian.com>

	* NameObjectCollectionBase.cs, NameValueCollection.cs: tweaks to make
	it compile and provide the constructor needed by nunitcore.

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

	* BitVector32.cs, ListDictionary.cs : MonoTODO everywhere!

	* NameObjectCollectionBase.cs, NameValueCollection.cs : Ditto.

2001-08-24  Nick Drochak  <ndrochak@gol.com>
	* NameObjectCollectionBase.cs: Add stub implementation
	* common.src: Add NameObjectCollectionBase to the build
	* NameValueCollection.cs: add 'override' to CopyTo().  Maybe
		this code actually belongs in the superclass.

2001-08-24  Miguel de Icaza  <miguel@ximian.com>

	* common.src: Add NameValueCollection.cs to the build

2001-08-22	John Barnette	<jbarn@httcb.net>
	* StringDictionary.cs:
		Initial working implementation.
	* ListDictionary.cs:
		Initial working implementation.

2001-07-17	John Barnette	<jbarn@httcb.net>
	* StringCollection.cs:
		Implemented and working according to spec.
	* StringIterator.cs:
		(ADDED) Implemented and working according to spec.
	* StringCollectionTest.cs:
		(ADDED) Initial revision contains 17 tests; all of 'em
		run correctly.  More complicated tests to follow.

2001-07-15  Sean MacIsaac  <macisaac@ximian.com>

	* StringCollection.cs: Added so that CodeDom.* would compile.

