• Fix some documentation bugs.


  • Add a top-level stronglyConnectedComponents() function that returns the strongly connected components in a directed graph.


  • Add a top-level mapMap() function that works like Iterable.map() on a Map.

  • Add a top-level mergeMaps() function that creates a new map with the combined contents of two existing maps.

  • Add a top-level groupBy() function that converts an Iterable to a Map by grouping its elements using a function.

  • Add top-level minBy() and maxBy() functions that return the minimum and maximum values in an Iterable, respectively, ordered by a derived value.

  • Add a top-level transitiveClosure() function that returns the transitive closure of a directed graph.


  • Add a const UnmodifiableSetView.empty() constructor.


  • Add a UnionSet class that provides a view of the union of a set of sets.

  • Add a UnionSetController class that provides a convenient way to manage the contents of a UnionSet.

  • Fix another incorrectly-declared generic type.


  • Fix an incorrectly-declared generic type.


  • Add DelegatingIterable.typed(), DelegatingList.typed(), DelegatingSet.typed(), DelegatingMap.typed(), and DelegatingQueue.typed() static methods. These wrap untyped instances of these classes with the correct type parameter, and assert the types of values as they're accessed.

  • Fix the types for binarySearch() and lowerBound() so they no longer require all arguments to be comparable.

  • Add generic annotations to insertionSort() and mergeSort().


  • Fix all strong mode warnings.


  • Add a new PriorityQueue() constructor that forwards to new HeapPriorityQueue().

  • Deprecate top-level libraries other than package:collection/collection.dart, which exports these libraries' interfaces.


  • Add lowerBound to binary search for values that might not be present.

  • Verify that the is valid for CanonicalMap.[].


  • Add string comparators that ignore ASCII case and sort numbers numerically.


  • Fix type inconsistencies with Map and Set.


  • Export UnmodifiableMapView from the Dart core libraries.


  • Bug-fix for signatures of isValidKey arguments of CanonicalizedMap.


  • Add a QueueList class that implements both Queue and List.


  • Add a CanonicalizedMap class that canonicalizes its keys to provide a custom equality relation.


  • Fix all analyzer hints.


  • Add a MapKeySet class that exposes an unmodifiable Set view of a Map's keys.

  • Add a MapValueSet class that takes a function from values to keys and uses it to expose a Set view of a Map's values.