d4t_formulas/.pub-cache/hosted/pub.dev/collection-1.19.1/CHANGELOG.md

327 lines
9.5 KiB
Markdown
Raw Normal View History

## 1.19.1
- Move to `dart-lang/core` monorepo.
## 1.19.0
- Adds `shuffled` to `IterableExtension`.
- Shuffle `IterableExtension.sample` results.
- Fix `mergeSort` when the runtime iterable generic is a subtype of the static
generic.
- `CanonicalizedMap`: added constructor `fromEntries`.
- Mark "mixin" classes as `mixin`.
- `extension IterableIterableExtension<T> on Iterable<Iterable<T>>`
- Add `flattenedToList` as a performance improvement over `flattened.`
- Add `flattenedToSet` as new behavior for flattening to unique elements.
- Deprecate `transitiveClosure`. Consider using `package:graphs`.
- Deprecate `whereNotNull()` from `IterableNullableExtension`. Use `nonNulls`
instead - this is an equivalent extension available in Dart core since
version 3.0.
- Require Dart `^3.4.0`
## 1.18.0
- `CanonicalizedMap`:
- Added methods:
- `copy`: copies an instance without recalculating the canonical values of the keys.
- `toMap`: creates a `Map<K,V>` (with the original key values).
- `toMapOfCanonicalKeys`: creates a `Map<C,V>` (with the canonicalized keys).
- Fixes bugs in `ListSlice.slice` and `ListExtensions.slice`.
- Update to `package:lints` 2.0.1.
## 1.17.2
* Accept Dart SDK versions above 3.0.
## 1.17.1
* Require Dart 2.18.
* Improve docs for `splitAfter` and `splitBefore`.
## 1.17.0
* Add `Iterable.elementAtOrNull` and `List.elementAtOrNull` extension methods.
* Add a top-level `lastBy()` function that converts an `Iterable` to a `Map` by
grouping its elements using a function, keeping the last element for each
computed key. Also available as an extension method on `Iterable`.
## 1.16.0
* Add an `Iterable.slices` extension method.
* Add `BoolList` class for space-efficient lists of boolean values.
* Use a stable sort algorithm in the `IterableExtension.sortedBy` method.
* Add `min`, `max`, `minOrNull` and `maxOrNull` getters to
`IterableDoubleExtension`, `IterableNumberExtension` and
`IterableIntegerExtension`
* Change `UnorderedIterableEquality` and `SetEquality` to implement `Equality`
with a non-nullable generic to allows assignment to variables with that type.
Assignment to `Equality` with a nullable type is still allowed because of
covariance. The `equals` and `hash` methods continue to accept nullable
arguments.
* Enable the `avoid_dynamic_calls` lint.
## 1.15.0
* Stable release for null safety.
## 1.15.0-nullsafety.5
* Fix typo in extension method `expandIndexed`.
* Update sdk constraints to `>=2.12.0-0 <3.0.0` based on beta release
guidelines.
## 1.15.0-nullsafety.4
* Allow prerelease versions of the `2.12.x` sdk.
* Remove the unusable setter `UnionSetController.set=`. This was mistakenly
added to the public API but could never be called.
* Add extra optional `Random` argument to `shuffle`.
* Add a large number of extension methods on `Iterable` and `List` types,
and on a few other types.
These either provide easy access to the operations from `algorithms.dart`,
or provide convenience variants of existing `Iterable` and `List` methods
like `singleWhereOrNull` or `forEachIndexed`.
## 1.15.0-nullsafety.3
* Allow 2.10 stable and 2.11.0 dev SDK versions.
* Add `toUnorderedList` method on `PriorityQueue`.
* Make `HeapPriorityQueue`'s `remove` and `contains` methods
use `==` for equality checks.
Previously used `comparison(a, b) == 0` as criteria, but it's possible
to have multiple elements with the same priority in a queue, so that
could remove the wrong element.
Still requires that objects that are `==` also have the same priority.
## 1.15.0-nullsafety.2
Update for the 2.10 dev sdk.
## 1.15.0-nullsafety.1
* Allow the <=2.9.10 stable sdks.
## 1.15.0-nullsafety
Pre-release for the null safety migration of this package.
Note that `1.15.0` may not be the final stable null safety release version,
we reserve the right to release it as a `2.0.0` breaking change.
This release will be pinned to only allow pre-release sdk versions starting
from `2.9.0-dev.18.0`, which is the first version where this package will
appear in the null safety allow list.
## 1.14.13
* Deprecate `mapMap`. The Map interface has a `map` call and map literals can
use for-loop elements which supersede this method.
## 1.14.12
* Fix `CombinedMapView.keys`, `CombinedMapView.length`,
`CombinedMapView.forEach`, and `CombinedMapView.values` to work as specified
and not repeat duplicate items from the maps.
* As a result of this fix the `length` getter now must iterate all maps in
order to remove duplicates and return an accurate length, so it is no
longer `O(maps)`.
## 1.14.11
* Set max SDK version to `<3.0.0`.
## 1.14.10
* Fix the parameter names in overridden methods to match the source.
* Make tests Dart 2 type-safe.
* Stop depending on SDK `retype` and deprecate methods.
## 1.14.9
* Fixed bugs where `QueueList`, `MapKeySet`, and `MapValueSet` did not adhere to
the contract laid out by `List.cast`, `Set.cast` and `Map.cast` respectively.
The returned instances of these methods now correctly forward to the existing
instance instead of always creating a new copy.
## 1.14.8
* Deprecated `Delegating{Name}.typed` static methods in favor of the new Dart 2
`cast` methods. For example, `DelegatingList.typed<String>(list)` can now be
written as `list.cast<String>()`.
## 1.14.7
* 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`.
## 1.14.6
* Make `DefaultEquality`'s `equals()` and `hash()` methods take any `Object`
rather than objects of type `E`. This makes `const DefaultEquality<Null>()`
usable as `Equality<E>` for any `E`, which means it can be used in a const
context which expects `Equality<E>`.
This makes the default arguments of various other const equality constructors
work in strong mode.
## 1.14.5
* Fix issue with `EmptyUnmodifiableSet`'s stubs that were introduced in 1.14.4.
## 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`,
and `Set`.
## 1.14.3
* Fix `MapKeySet.lookup` to be a valid override in strong mode.
## 1.14.2
* Add type arguments to `SyntheticInvocation`.
## 1.14.1
* Make `Equality` implementations accept `null` as argument to `hash`.
## 1.14.0
* 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.
## 1.13.0
* Add `EqualityBy`
## 1.12.0
* Add `CaseInsensitiveEquality`.
* Fix bug in `equalsIgnoreAsciiCase`.
## 1.11.0
* Add `EqualityMap` and `EqualitySet` classes which use `Equality` objects for
key and element equality, respectively.
## 1.10.1
* `Set.difference` now takes a `Set<Object>` as argument.
## 1.9.1
* Fix some documentation bugs.
## 1.9.0
* Add a top-level `stronglyConnectedComponents()` function that returns the
strongly connected components in a directed graph.
## 1.8.0
* 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.
## 1.7.0
* Add a `const UnmodifiableSetView.empty()` constructor.
## 1.6.0
* 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.
## 1.5.1
* Fix an incorrectly-declared generic type.
## 1.5.0
* 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()`.
## 1.4.1
* Fix all strong mode warnings.
## 1.4.0
* 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.
## 1.3.0
* Add `lowerBound` to binary search for values that might not be present.
* Verify that the is valid for `CanonicalMap.[]`.
## 1.2.0
* Add string comparators that ignore ASCII case and sort numbers numerically.
## 1.1.3
* Fix type inconsistencies with `Map` and `Set`.
## 1.1.2
* Export `UnmodifiableMapView` from the Dart core libraries.
## 1.1.1
* Bug-fix for signatures of `isValidKey` arguments of `CanonicalizedMap`.
## 1.1.0
* Add a `QueueList` class that implements both `Queue` and `List`.
## 0.9.4
* Add a `CanonicalizedMap` class that canonicalizes its keys to provide a custom
equality relation.
## 0.9.3+1
* Fix all analyzer hints.
## 0.9.3
* 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.