built_collection
Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class.
5.1.1
7.4M downloads/mo
#80 most downloaded on pub.dev
google/built_collection.dart
What this package is like to depend on
Last release 5 years ago
no release in 18 months
Ships fairly regularly
a new release about every 3 months
Nearly every release is documented
notes for 48 of 48 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
49 releases · first in 2015
0 releases in the last 12 months
see the full history below
Release timeline
49 releases · Apr 2015 to Sep 2021
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 49-
5.1.103 Sep 2021 -
5.1.011 Jun 2021Release notes
Open source →- Allow collections with nullable types, for example
BuiltList<T?>. - Allow key/value types to be
dynamic. This can be useful occasionally, and with Dart 2 and null safety it's much harder to usedynamicby accident.
- Allow collections with nullable types, for example
-
5.0.009 Feb 2021 -
5.0.0-nullsafety.017 Nov 2020 pre-releaseRelease notes
Open source →- Migrate to NNBD.
- Deps on
package:collectionandpackage:quiverhave been removed. - Multimap builders no longer have
addAllmethods that accept multimaps from quiver. But, the constructors still work with quiver multimaps.
-
4.3.201 Jan 2020 -
4.3.131 Dec 2019 -
4.3.015 Nov 2019Release notes
Open source →- Add extensions methods:
List.build,Set.build,Map.build,Iterable.toBuiltListandIterable.toBuiltSet. Requires SDK 2.6.0. - Cleanup: remove unnecessary
newandconst.
- Add extensions methods:
-
4.2.212 May 2019Release notes
Open source →- Bug fix:
ListMultimapBuilder.[]no longer ignores modifications under some circumstances.
- Bug fix:
-
4.2.106 May 2019Release notes
Open source →- Bug fix:
ListBuilderfirstandlastsetters can no longer modify the underlying collection.
- Bug fix:
-
4.2.002 Apr 2019Release notes
Open source →- Add benchmark for VM and dart2js.
- Stop doing explicit type checks on elements; in Dart 2 these are implied.
- Modify methods on
ListBuilderandSetBuilderthat takeIterableelements so they only iterate over the iterable once. Improves performance when the iterable are slow/lazy.
-
4.1.003 Dec 2018Release notes
Open source →- Add return val to
SetBuilder.add()to matchSet.add(). - Expand
ListMultimapBuilder: implement[]and add return values toremoveandremoveAll.
- Add return val to
-
4.0.020 Aug 2018Release notes
Open source →- Many changes following Dart 2 improvements to collections:
- Implement
Iterablemethods:cast,followedByandwhereType. - Remove obsolete
Iterablemethod:retype. - Support
orElseinsingleWhere. - Add
BuiltListmethods:+,indexWhere,lastIndexWhere. - Add
ListBuildersetters and getters:first,last. - Add
BuiltMapmethods:entries,map. - Add
MapBuildermethods:addEntries,updateValue,updateAllValues. - Implement Dart 2 methods in internal collections used by
toList,toMapandtoSet.
- Implement
- Add
fromandofconstructors toBuiltList,BuiltMapandBuiltSet. Thefromconstructors, like the current constructors, take collections of any type and check each element. Theofconstructors, like the SDKofconstructors, take a collection of the correct type. This means they can be used for type inference, allowing you to omit the explicit type. - Make
remove,removeAtandremoveLastmethods on builders return values like their SDK collection equivalents.
- Many changes following Dart 2 improvements to collections:
-
3.1.323 Jul 2018 -
3.1.223 Jul 2018 -
3.1.126 Mar 2018 -
3.0.518 Feb 2018 -
3.0.431 Jan 2018 -
3.0.329 Jan 2018 -
3.0.223 Jan 2018Release notes
Open source →- Stop using
Function()syntax forSetandMapfactories. It causes problems for the analyzer when using a pre-Dart-2 SDK.
- Stop using
-
3.0.116 Jan 2018 -
3.0.008 Jan 2018Release notes
Open source →- Prepare for Dart 2; add methods that will appear in
Iterable. - Allow quiver 0.27.
- Prepare for Dart 2; add methods that will appear in
-
2.1.308 Jan 2018Release notes
Open source →- Revert changes for Dart 2; they will be re-released as v3.0.0 as they are break libraries that provide their own implementations of built collections.
-
2.1.221 Dec 2017 -
2.1.121 Dec 2017 -
2.1.004 Dec 2017Release notes
Open source →BuiltSetandBuiltMapnow allow you to specify the underlying collection type. For example, you can construct aBuiltSetusing aSplayTreeSet. This results in a set that is always in sorted order instead of preserving insertion order. Another useful possibility is to use aHashSet, which leads to a random order but improves performance over the default. SeeSetBuilder.withBaseandMapBuilder.withBase.
-
2.0.020 Nov 2017Release notes
Open source →- Split collection classes into abstract interfaces and concrete, private,
implementations. This allows new implementations of the interfaces. Note that
this change is invisible unless you rely on the exact
runtimeTypeof the collections.
- Split collection classes into abstract interfaces and concrete, private,
implementations. This allows new implementations of the interfaces. Note that
this change is invisible unless you rely on the exact
-
1.6.216 Nov 2017Release notes
Open source →- Fix a bug whereby
ListBuilderandMapBuilderallowed nulls to be introduced viamapandexpand.
- Fix a bug whereby
-
1.6.109 Nov 2017 -
1.6.017 Oct 2017Release notes
Open source →- The addIterable method is now generic. This allows the types of the functions passed in to be inferred.
-
1.5.012 Jul 2017Release notes
Open source →- Add BuiltIterable interface for when you want to accept a BuiltList or BuiltSet.
-
1.4.120 Jun 2017 -
1.4.011 Apr 2017 -
1.3.107 Apr 2017 -
1.3.022 Dec 2016Release notes
Open source →- Widen parameter of BuiltSet.difference and BuiltSet.intersection to
BuiltSet<Object>to match Set.
- Widen parameter of BuiltSet.difference and BuiltSet.intersection to
-
1.2.011 Nov 2016Release notes
Open source →- Update for Set.difference change in SDK 1.21.0.
- Add
asList,asMap, andasSetto the built collection classes.
-
1.0.619 Oct 2016 -
1.0.515 Sep 2016 -
1.0.415 Jul 2016 -
1.0.318 May 2016 -
1.0.218 Mar 2016 -
1.0.123 Feb 2016Release notes
Open source →- Make map operator[] take Object instead of K, as SDK collections do.
- Fix toString for result of toList, toSet, toMap.
-
1.0.013 Aug 2015Release notes
Open source →- Fix missing generics on some return types.
- Fix BuiltList and BuiltSet "contains" method, should take Object, not E.
- Add removeAll and retainAll methods to SetBuilder.
- Add BuiltList.toBuiltSet() and BuiltSet.toBuiltList().
- Add addIterable methods to Map and Multimap builders.
-
0.4.012 Jun 2015 -
0.3.115 May 2015 -
0.3.015 May 2015Release notes
Open source →- Bug fix: fix Iterable "update in place" methods of BuiltList and BuiltSet so they discard original list or set.
- Make keys and values stable for BuiltMap and BuiltMultimap.
- Make repeated builds return identical instances for BuiltList, BuiltMap, BuiltSet.
- Add 'replace' methods.
-
0.2.014 May 2015 -
0.1.119 Apr 2015 -
0.1.017 Apr 2015Release notes
Open source →- Add build and rebuild methods to BuiltList, BuiltMap, BuiltSet.
- Add update methods to ListBuilder, MapBuilder, SetBuilder.
-
0.0.107 Apr 2015