- Only the Dart 2 dev SDK (
>=2.0.0-dev.22.0
) is now supported. - Added support for all Dart 2 SDK methods that threw
UnimplementedError
.
-
Make
DefaultEquality
'sequals()
andhash()
methods take anyObject
rather than objects of typeE
. This makesconst DefaultEquality<Null>()
usable asEquality<E>
for anyE
, which means it can be used in a const context which expectsEquality<E>
.This makes the default arguments of various other const equality constructors work in strong mode.
- Fix issue with
EmptyUnmodifiableSet
's stubs that were introduced in 1.14.4.
- Add implementation stubs of upcoming Dart 2.0 core library methods, namely
new methods for classes that implement
Iterable
,List
,Map
,Queue
, andSet
.
- Fix
MapKeySet.lookup
to be a valid override in strong mode.
- Add type arguments to
SyntheticInvocation
.
- Make
Equality
implementations acceptnull
as argument tohash
.
- Add
CombinedListView
, a view of several lists concatenated together. - Add
CombinedIterableView
, a view of several iterables concatenated together. - Add
CombinedMapView
, a view of several maps concatenated together.
- Add
EqualityBy
-
Add
CaseInsensitiveEquality
. -
Fix bug in
equalsIgnoreAsciiCase
.
- Add
EqualityMap
andEqualitySet
classes which useEquality
objects for key and element equality, respectively.
Set.difference
now takes aSet<Object>
as argument.
- 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 likeIterable.map()
on aMap
. -
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 anIterable
to aMap
by grouping its elements using a function. -
Add top-level
minBy()
andmaxBy()
functions that return the minimum and maximum values in anIterable
, 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 aUnionSet
. -
Fix another incorrectly-declared generic type.
- Fix an incorrectly-declared generic type.
-
Add
DelegatingIterable.typed()
,DelegatingList.typed()
,DelegatingSet.typed()
,DelegatingMap.typed()
, andDelegatingQueue.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()
andlowerBound()
so they no longer require all arguments to be comparable. -
Add generic annotations to
insertionSort()
andmergeSort()
.
- Fix all strong mode warnings.
-
Add a
new PriorityQueue()
constructor that forwards tonew 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
andSet
.
- Export
UnmodifiableMapView
from the Dart core libraries.
- Bug-fix for signatures of
isValidKey
arguments ofCanonicalizedMap
.
- Add a
QueueList
class that implements bothQueue
andList
.
- 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 unmodifiableSet
view of aMap
's keys. -
Add a
MapValueSet
class that takes a function from values to keys and uses it to expose aSet
view of aMap
's values.