+2008-04-29 Juraj Skripsky <js@hotfeet.ch>
+
+ * Dictionary.cs (Clear, Remove): Clear empty slots in keySlots
+ and valueSlots. Otherwise the garbage collector cannot reclaim
+ the referenced key/value. Fixes bug #384723.
+
+2008-04-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+ * KeyNotFoundException.cs
+ * KeyValuePair.cs: Fix parameter names
+
+2008-03-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * EqualityComparer.cs: Add null checks in GetHashCode. Fix bug
+ #372892
+
+2007-11-05 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Dictionary.cs: Ensure that the non-generic CopyTo works on Array.
+ Fix #322783
+
+2007-10-31 Miguel de Icaza <miguel@novell.com>
+
+ * Dictionary.cs: Do not increment curTableItem when we return
+ false. Was not necessary, just a defensive move.
+
+2007-10-10 Juraj Skripsky <js@hotfeet.ch>
+
+ * Dictionary.cs (Enumerator.MoveNext): Handle the case where we
+ had already reached the end. Fixes bug #332534.
+
+2007-08-20 Jb Evain <jbevain@novell.com>
+
+ * List.cs (AddCollection): return early if the collection
+ to be added is empty.
+
+2007-08-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Dictionary.cs : [Comvisible(true)]->[ComVisible(false)].
+
+2007-06-23 Marek Safar <marek.safar@gmail.com>
+
+ * List.cs: Make CheckMatch static.
+
+2007-06-20 Juraj Skripsky <js@hotfeet.ch>
+
+ * Dictionary.cs: Optimize and add implementation notes. Use a "mini-heap"
+ to store the linked lists instead of the regular heap. Split arrays of
+ structs into separate arrays to make the GC's life simpler (see bug 81879
+ for details). Make class serialization compatible with MS.NET.
+
+ * EqualityComparer.cs: Rename IEquatableOfTEqualityComparer<T> to
+ GenericEqualityComparer<T> to fix binary serialization compatibility
+ with MS.
+
+2006-04-16 Jonathan Chambers <joncham@gmail.com>
+
+ * List.cs: Clear entry in RemoveAt after removing item.
+ Fixes bug #81387.
+
+2007-03-27 Alan McGovern <alan.mcgovern@gmail.com>
+
+ * List.cs: Optimized several methods to increase performance
+
+2007-03-21 Juraj Skripsky <js@hotfeet.ch>
+
+ * List.cs (FindAllStackBits): Small optimization to the new code.
+ Built resulting List<T> directly as an array, wrap it in a List<T>
+ afterwards. Stop the filling of the result array as soon as all
+ matching items have been processed.
+
+2007-03-20 Juan Cristóbal Olivares <juancri@gmail.com>
+
+ * List.cs (FindAll): Optimize FindAll using a bitmask to determine
+ the number of positive matches, this increases the performance in
+ all cases below 10,000,000 elements extensively:
+
+ 100 elements:
+ old method: 00:00:00.0126610 (26x)
+ stackalloc bit method: 00:00:00.0004750 (1x)
+ array bit method: 00:00:00.0010700 (2x)
+ heap bit method: 00:00:00.0038830 (8x)
+
+ 1,000 elements:
+ old method: 00:00:00.0139250 (24x)
+ stackalloc bit method: 00:00:00.0005670 (1x)
+ array bit method: 00:00:00.0010890 (2x)
+ heap bit method: 00:00:00.0034920 (6x)
+
+ 10,000 elements:
+ old method: 00:00:00.0136110 (12x)
+ stackalloc bit method: 00:00:00.0011240 (1x)
+ array bit method: 00:00:00.0016450 (1.4x)
+ heap bit method: 00:00:00.0043110 (3x)
+
+ 50,000 elements:
+ old method: 00:00:00.0175970 (3x)
+ stackalloc bit method: 00:00:00.0085630 (1.5x)
+ array bit method: 00:00:00.0055010 (1x)
+ heap bit method: 00:00:00.0099590 (1.8x)
+
+ 100,000 elements:
+ old method: 00:00:00.0210330 (2x)
+ array bit method: 00:00:00.0100430 (1x)
+ heap bit method: 00:00:00.0154150 (1.5x)
+
+ 1,000,000 elements:
+ old method: 00:00:00.1243730 (1.2x)
+ array bit method: 00:00:00.0973110 (1x)
+ heap bit method: 00:00:00.1285650 (1.3x)
+
+ 10,000,000 elements:
+ old method: 00:00:00.9252570 (1x)
+ array bit method: 00:00:00.9632300 ( 1.05x)
+ heap bit method: 00:00:01.1098490 (1.20x)
+
+2007-03-08 David Mitchell <dmitchell@logos.com>
+
+ * List.cs: Fix the case where List.set_Item(int index) throws
+ inappropriate exception when index is equal to List.Count
+
+ List.IndexOf(object item) and IList.Contains(object item) throw
+ exceptions when given invalid types.
+
+ IList.Add(object item) throws InvalidCastException when item is
+ not of the correct type.
+
+2007-03-08 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * Comparer.cs: Renamed IComparableOfTComparer<T> to GenericComparer<T>
+ to fix binary serialization compatibility with MS.
+
+2007-03-05 David Mitchell <dmitchell@logos.com>
+
+ * Dictionary.cs: An instance of Dictionary<TKey,TValue> is
+ supposed to throw a KeyNotFoundException when
+ the user attempts to retrieve the value associated with a key that
+ is not in the dictionary.
+
+ On the other hand, an instance of IDictionary is supposed to
+ return null in similar circumstances.
+
+2007-03-05 David Mitchell <dmitchell@logos.com>
+
+ * List.cs: Fix InsertRange bug (80930).
+
2006-09-15 Gert Driesen <drieseng@users.sourceforge.net>
* List.cs: Fixed binary serialization compatibility with MS.NET.