RELEASE NOTES FOR C5 GENERIC COLLECTION LIBRARY FOR C#/CLI ------------------------------ Release 1.1.1 of 2010-12-17 * Fixed 5 bugs found since the 1.1.0 release. Only one of this is likely to break code: the specification and implementation of the range indexer this[i,n] on TreeSet was wrong. Release 1.1.0 of 2008-02-10 New functionality: * Interface C5.ICollection now extends generic interface System.Collections.Generic.ICollection. The C5.ICollection interface in some cases describe different exceptions than specified by SCG.ICollection, but we have not attempted to fix this because the .NET collection implemented in some cases throw other exceptions than those specified anyway. * Interface C5.IList now extends interface non-generic interface System.Collections.IList, so C5 list collections can be passed to .NET GUI components and other framework methods. * Exception-free methods bool TryPredecessor(T x, out T res) bool TrySuccessor(T x, out T res) bool TryWeakPredecessor(T x, out T res) bool TryWeakSuccessor(T x, out T res) have been added to the ISorted interface and the classes that implement it. * Added methods analogous to the above to ISortedDictionary and the classes that implement it. * Event raising on SortedDictionary finally implemented, thanks to Marcus Griep. Hence all unit tests should now succeed. * The missing custom comparers and equality comparers have been added for all primitive types except bool. * The book "The C5 Generic Collection Library" has been updated to reflect these changes. Bugs fixed: * SortedArray.UpdateOrAdd and SortedArray.FindOrAdd did not expand the underlying array correctly * HashDictionary.UpdateOrAdd returned the new value, not the old one. * CollectionBase.StaticEquals threw exception when exactly one argument was null. * HashedLinkedList.Remove could fail with NullReferenceException. * HashSet.UpdateOrAdd(item, out old) did not set old=default(T) when item was not already in the set. * HashBag.CopyTo could throw when copying from empty collection. ------------------------------ Release 1.0.2 of 2007-06-01 Bugs fixed: * SortedDictionaryBase was not marked as [Serializable] * ArrayList.expand did not update the array field of (other) views * IntervalHeap::Replace would throw an exception on one-element heap ------------------------------ Release 1.0.1 of 2006-06-27 Bugs fixed: * CircularQueue indexer was wrong * Some equality comparers created by C5.EqualityComparer.Default were not marked serializable * HashSet.RetainAll could leave internal data inconsistent * TreeDictionary was not marked serializable * HashedLinkedList problem related to tag group implementation * Dispose() could fail on newly created lists New features: * A strong name (.snk) is included * C5.IList now derives from System.Collections.Generic.IList * Added C5.build file for NAnt, due to Johan Warlander The technical report has been updated to reflect the above changes. ------------------------------ Release 1.00 of 2006-01-30 First complete release. There are lots of changes since the PreRelease: * Interface design has been reorganized and simplified * New functionality added (too much to describe here) * Updated for Microsoft C#/CLI 2.0 release version * Comprehensive documentation in ITU Technical Report ITU-TR-2006-76 ------------------------------ PreRelease 0.5 of 2004-08-06 First public release, essentially a preview of the library, for beta 1 of Microsoft C#/CLI 2.0. ------------------------------