PackageTrack
Sign in Get early access

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
Release Pre-release

Releases

latest 49
  1. 5.1.1 03 Sep 2021
    Release notes
    • Test fix for new analyzer hint.
    Open source →
  2. 5.1.0 11 Jun 2021
    Release notes
    • 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 use dynamic by accident.
    Open source →
  3. 5.0.0 09 Feb 2021
    Release notes
    • Stable null safe release.
    Open source →
  4. 5.0.0-nullsafety.0 17 Nov 2020 pre-release
    Release notes
    • Migrate to NNBD.
    • Deps on package:collection and package:quiver have been removed.
    • Multimap builders no longer have addAll methods that accept multimaps from quiver. But, the constructors still work with quiver multimaps.
    Open source →
  5. 4.3.2 01 Jan 2020
    Release notes
    • Add an example folder with some example code.
    Open source →
  6. 4.3.1 31 Dec 2019
    Release notes
    • Internal: cleanup for pedantic v1.9.0 lints.
    Open source →
  7. 4.3.0 15 Nov 2019
    Release notes
    • Add extensions methods: List.build, Set.build, Map.build, Iterable.toBuiltList and Iterable.toBuiltSet. Requires SDK 2.6.0.
    • Cleanup: remove unnecessary new and const.
    Open source →
  8. 4.2.2 12 May 2019
    Release notes
    • Bug fix: ListMultimapBuilder.[] no longer ignores modifications under some circumstances.
    Open source →
  9. 4.2.1 06 May 2019
    Release notes
    • Bug fix: ListBuilder first and last setters can no longer modify the underlying collection.
    Open source →
  10. 4.2.0 02 Apr 2019
    Release notes
    • Add benchmark for VM and dart2js.
    • Stop doing explicit type checks on elements; in Dart 2 these are implied.
    • Modify methods on ListBuilder and SetBuilder that take Iterable elements so they only iterate over the iterable once. Improves performance when the iterable are slow/lazy.
    Open source →
  11. 4.1.0 03 Dec 2018
    Release notes
    • Add return val to SetBuilder.add() to match Set.add().
    • Expand ListMultimapBuilder: implement [] and add return values to remove and removeAll.
    Open source →
  12. 4.0.0 20 Aug 2018
    Release notes
    • Many changes following Dart 2 improvements to collections:
      • Implement Iterable methods: cast, followedBy and whereType.
      • Remove obsolete Iterable method: retype.
      • Support orElse in singleWhere.
      • Add BuiltList methods: +, indexWhere, lastIndexWhere.
      • Add ListBuilder setters and getters: first, last.
      • Add BuiltMap methods: entries, map.
      • Add MapBuilder methods: addEntries, updateValue, updateAllValues.
      • Implement Dart 2 methods in internal collections used by toList, toMap and toSet.
    • Add from and of constructors to BuiltList, BuiltMap and BuiltSet. The from constructors, like the current constructors, take collections of any type and check each element. The of constructors, like the SDK of constructors, 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, removeAt and removeLast methods on builders return values like their SDK collection equivalents.
    Open source →
  13. 3.1.3 23 Jul 2018
    Release notes
    • Allow SDK 2.0.0.
    Open source →
  14. 3.1.2 23 Jul 2018
    Release notes
    • Allow quiver 2.0.0, use test version 1.
    Open source →
  15. 3.1.1 26 Mar 2018
    Release notes
    • Allow quiver 0.29.
    Open source →
  16. 3.0.5 18 Feb 2018
    Release notes
    • Type fixes for DDC. Stop using a Map as a Map<K, V> in MapBuilder.
    Open source →
  17. 3.0.4 31 Jan 2018
    Release notes
    • Tweaks to tests.
    Open source →
  18. 3.0.3 29 Jan 2018
    Release notes
    • Allow quiver 0.28.
    Open source →
  19. 3.0.2 23 Jan 2018
    Release notes
    • Stop using Function() syntax for Set and Map factories. It causes problems for the analyzer when using a pre-Dart-2 SDK.
    Open source →
  20. 3.0.1 16 Jan 2018
    Release notes
    • Improve package description.
    Open source →
  21. 3.0.0 08 Jan 2018
    Release notes
    • Prepare for Dart 2; add methods that will appear in Iterable.
    • Allow quiver 0.27.
    Open source →
  22. 2.1.3 08 Jan 2018
    Release notes
    • 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.
    Open source →
  23. 2.1.2 21 Dec 2017
    Release notes
    • Fix changes for Dart 2.
    Open source →
  24. 2.1.1 21 Dec 2017
    Release notes
    • Prepare for Dart 2; add methods that will appear in Iterable.
    Open source →
  25. 2.1.0 04 Dec 2017
    Release notes
    • BuiltSet and BuiltMap now allow you to specify the underlying collection type. For example, you can construct a BuiltSet using a SplayTreeSet. This results in a set that is always in sorted order instead of preserving insertion order. Another useful possibility is to use a HashSet, which leads to a random order but improves performance over the default. See SetBuilder.withBase and MapBuilder.withBase.
    Open source →
  26. 2.0.0 20 Nov 2017
    Release notes
    • 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 runtimeType of the collections.
    Open source →
  27. 1.6.2 16 Nov 2017
    Release notes
    • Fix a bug whereby ListBuilder and MapBuilder allowed nulls to be introduced via map and expand.
    Open source →
  28. 1.6.1 09 Nov 2017
    Release notes
    • Allow quiver 0.26.
    Open source →
  29. 1.6.0 17 Oct 2017
    Release notes
    • The addIterable method is now generic. This allows the types of the functions passed in to be inferred.
    Open source →
  30. 1.5.0 12 Jul 2017
    Release notes
    • Add BuiltIterable interface for when you want to accept a BuiltList or BuiltSet.
    Open source →
  31. 1.4.1 20 Jun 2017
    Release notes
    • Use real generic syntax, drop comment-based syntax.
    Open source →
  32. 1.4.0 11 Apr 2017
    Release notes
    • Add operator[] to ListBuilder and MapBuilder for easier inline updates.
    Open source →
  33. 1.3.1 07 Apr 2017
    Release notes
    • Allow quiver 0.25.
    Open source →
  34. 1.3.0 22 Dec 2016
    Release notes
    • Widen parameter of BuiltSet.difference and BuiltSet.intersection to BuiltSet<Object> to match Set.
    Open source →
  35. 1.2.0 11 Nov 2016
    Release notes
    • Update for Set.difference change in SDK 1.21.0.
    • Add asList, asMap, and asSet to the built collection classes.
    Open source →
  36. 1.0.6 19 Oct 2016
    Release notes
    • Allow quiver 0.23.
    Open source →
  37. 1.0.5 15 Sep 2016
    Release notes
    • Strong mode clean.
    Open source →
  38. 1.0.4 15 Jul 2016
    Release notes
    • Add reference identity check to equals operators.
    Open source →
  39. 1.0.3 18 May 2016
    Release notes
    • Fix factories when iterable generic type is subtype of requested type.
    Open source →
  40. 1.0.2 18 Mar 2016
    Release notes
    • Add generic type information to map, fold and expand methods.
    Open source →
  41. 1.0.1 23 Feb 2016
    Release notes
    • Make map operator[] take Object instead of K, as SDK collections do.
    • Fix toString for result of toList, toSet, toMap.
    Open source →
  42. 1.0.0 13 Aug 2015
    Release notes
    • 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.
    Open source →
  43. 0.4.0 12 Jun 2015
    Release notes
    • Add BuiltSetMultimap.
    Open source →
  44. 0.3.1 15 May 2015
    Release notes
    • Fix "part of" statement.
    Open source →
  45. 0.3.0 15 May 2015
    Release notes
    • 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.
    Open source →
  46. 0.2.0 14 May 2015
    Release notes
    • Add BuiltListMultimap.
    Open source →
  47. 0.1.1 19 Apr 2015
    Release notes
    • Fix comments.
    Open source →
  48. 0.1.0 17 Apr 2015
    Release notes
    • Add build and rebuild methods to BuiltList, BuiltMap, BuiltSet.
    • Add update methods to ListBuilder, MapBuilder, SetBuilder.
    Open source →
  49. 0.0.1 07 Apr 2015
    Release notes
    • Initial version.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive