PackageTrack
Sign in Get early access

more

More Dart — Literally. Collecting, iterating, caching, mathematics, matching, ordering, and formatting easily.

4.7.0 310K downloads/mo #675 most downloaded on pub.dev renggli/dart-more

What this package is like to depend on

Last release 8 months ago

12 Dec 2025

Ships fairly regularly

a new release about every 3 months

Some releases are documented

notes for 48 of 118 stable releases

1 version withdrawn

withdrawn after publishing

13 years old

127 releases · first in 2013

1 release in the last 12 months

see the full history below

Release timeline

127 releases · Apr 2013 to Dec 2025
2014 2016 2018 2020 2022 2024 2026
Release Pre-release Withdrawn

Releases

latest 60 of 127
  1. 4.7.0 12 Dec 2025
    Release notes
    Open source →
  2. 4.6.1 16 Aug 2025
    Release notes
    • Dart and Flutter 3.9 compatibility.
    • Add Graph.hasCycle and Graph.isBipartite checks.
    • Fix minor issues with Complex and Quaternion parsing.
    Open source →
  3. 4.6.0 08 Jun 2025
    Release notes
    • Dart 3.8 requirement and WASM support.
    • Unicode string normalization.
    • Add unicode: true option to String.toList().
    • Add String.chunked and Characters.chunked.
    • New graph search algorithms: Bellman-Ford and Floyd-Warshall.
    Open source →
  4. 4.5.0 25 Dec 2024
    Release notes
    • Add occurences helper to Iterableand SortedList.
    • More customization for number grouping in all numeric formatters.
    • Split date-time formatters into configurable constructors for date and times.
    • Deprecate some obscure and introduce more readable naming in Multiset and Multimap.
    • Add the possibility to convert a lambda returning a Comparable to a Comparator with delegateComparator.
    • Various improvements to graph search, strongly connected components, and find cliques algorithms.
    • Various optimization, such as the decoding of unicode data.
    Open source →
  5. 4.4.0 22 Oct 2024
    Release notes
    Open source →
  6. 4.3.0 14 Jul 2024
    Release notes
    • Dart 3.4 requirement.
    • Make IntegerRange and DoubleRange const constructable.
    • Numerous improvements to the Graph library:
      • Add Graph.where(edgePredicate) for filtering by edge.
      • Add Prim's minimum spanning tree.
    • Simplify the Interval implementation to only support closed intervals.
    • Add a Fenwick and Interval trees.
    • Minor bug-fixes.
    Open source →
  7. 4.2.0 29 Dec 2023
    Release notes
    • Improved Iterable.index to more common argument names, and support step.
    • Add also scope operator, which significantly improves the possibility to write one-liners.
    • Numerous improvements to the Graph library:
      • Various performance critical fixes, better use of priority queues.
      • Easy export to GraphViz with Graph.toDot().
      • Add support for filtered vertex views with Graph.where({Predicate<V> vertexPrediate}).
      • Add support to copy graphs with Graph.copy({bool empty}).
      • Improve toString of Graph, Edge and Path classes.
      • Add the Stoer-Wagner min-cut algorithm.
    • Numerous smaller improvements:
      • Add support for patterns in String.removeSuffix; and add String.partition and String.lastPartition.
      • Add support to compute Iterable.minMax in one pass, and Iterable.gcd and Iterable.lcm.
    • Removed Heap: PriorityQueue from the Dart standard library provides the same functionality.
    • Made the SortedList implement PriorityQueue.
    Open source →
  8. 4.1.0 02 Dec 2023
    Release notes
    • Add a port of Python's difflib.
    • CharMatcher now works on all unicode code-points, correctly and efficiently matching unicode characters beyond UTF-16 bytes:
      • Add support for all Unicode General Categories and Unicode Properties.
      • Add support for Character Class Subtraction to CharMatcher.pattern.
      • For consistency CharMatcher.whitespace() is only matching ASCII whitespaces, to get the Unicode variant use UnicodeCharMatcher.whiteSpace().
      • Add CharMatcher.punctuation() for ASCII punctuation characters.
    • Various improvements to graph library:
      • Add support for unmodifiable graphs.
      • Add support to compute the max-flow.
      • Rename GraphBuilder with GraphFactory.
      • Replace Graph.getEdges with Graph.getEdge, add Graph.putEdge.
    • Make object printer syntax to look like tuples, no need to have these weird curly braces anymore.
    • Add double.nextUp, double.nextDown, double.nextTowards(double), and double.ulp.
    • Add growable flag to SortedList constructors.
    • Add Farey sequence to Fraction.
    • Improve documentation across many parts of the library.
    Open source →
  9. 4.0.1 06 Aug 2023

    Nothing published for this version

  10. 4.0.0 24 Jun 2023
    Release notes

    Improve code coverage, some minor fixes.

    Open source →
    Release notes
    • Dart 3.0 requirement.
    • Removed deprecated code.
    • Reimplement Tuple on top of records:
      • Replace types like Tuple2<String, int> with (String, int).
      • Replace constructors like Tuple2('hello', 42) with ('hello', 42).
    • Add Iterable.pairwise over the successive overlapping pairs.
    • Add Iterable.deepFlatten over arbitrarily nested iterables.
    • Add product and zip extensions on tuples of iterables.
    • Add partial function evaluation, and currying extensions.
    Open source →
  11. 3.10.2 24 Feb 2023

    Nothing published for this version

  12. 3.10.1 19 Feb 2023

    Nothing published for this version

  13. 3.10.0 19 Feb 2023
    Release notes
    • Add a growable BitList, make it behave more like List<bool>.
    • Optimize BitList operations: fill, count, and indices.
    • Change return type of generic throwFunction to Never.
    • Add graph algorithms and data structures.
    • Add Map.withDefault providing a default value for non-existing keys.
    • Add support to generate permutations with a specified length, as well as extensions to generate the previous and next permutation.
    Open source →
  14. 3.9.5 18 Dec 2022

    Nothing published for this version

  15. 3.9.4 17 Dec 2022

    Nothing published for this version

  16. 3.9.3 15 Dec 2022

    Nothing published for this version

  17. 3.9.2 12 Dec 2022

    Nothing published for this version

  18. 3.9.1 10 Dec 2022

    Nothing published for this version

  19. 3.9.0 27 Nov 2022
    Release notes
    • Various extension to work with bits.
    • Add iterator over BitList.indices that are true or false.
    • Add experimental RTree implementation.
    • Various optimizations and improvements to mathematical functions.
    • Generalize the prime sieve implementation and add support for more efficient primality check and factorization.
    • More efficient implementation of repeat for a single element.
    • Make Iterable.groupBy and Iterable.indexed return instances of MapEntry for easier interoperability with Map.
    • Fix various edge cases with Range iterables.
    • Fix Iterable.combinations for empty iterables.
    • Add List extensions takeTo, skipTo, takeLast, takeLastTo, skipLast, and skipLastTo.
    • Add Iterable extension count and powerSet.
    • Deprecate Iterable.cycle in favor of Iterable.repeat.
    • Deprecated naturalComparator in favor of naturalCompare and naturalComparable<T>.
    • Deprecate the iterable package, and integrate the extensions into the collection package.
    Open source →
  20. 3.8.5 12 Sep 2022

    Nothing published for this version

  21. 3.8.4 11 Sep 2022

    Nothing published for this version

  22. 3.8.3 11 Sep 2022

    Nothing published for this version

  23. 3.8.2 04 Sep 2022

    Nothing published for this version

  24. 3.8.1 04 Sep 2022

    Nothing published for this version

  25. 3.8.0 23 Jun 2022 withdrawn
    Release notes
    • Add String extensions take, takeTo, skip, skipTo, takeLast, takeLastTo, skipLast, and skipLastTo.
    • Create a new temporal package unifying all DateTime and Duration related extensions:
      • Moved DateTime.periodical and DateTime.truncate to the new page, deprecated the old code.
      • Add various convenience accessors to DateTime: isLeapYear, daysInYear, daysInMonth, weeksInYear, quarter, weekYear, weekNumber, dayOfYear, and hour12.
      • Add ability to convert Duration objects to one or more (fractional) TimeUnits.
    • Countless improvements and extensions to the printer package:
      • Add DateTimePrinter to print date and time objects.
      • Add OrdinalNumberPrinter to print ordinal numbers: 1st, 2nd, 3rd, 4th, ...
      • Add Printer.switcher to use different printers based on conditions.
      • Add Printer.where to condition the printing on the printed object.
      • Add Printer support for take, skip, takeLast and skipLast.
      • Add Printer support for truncateRight, truncateLeft, and truncateCenter to also operate on word and sentence boundaries. Include the ellipsis in the width constraint.
      • Deprecated Printer.map, and replace with more common and intention revealing Printer.onResultOf.
    • Implement the functionality of Ordering as static extensions methods on Comparator functions:
      • Add Comparator.binarySearchLower and Comparator.binarySearchUpper to return a lower/upper insertion index.
      • Add Comparator.largest and Comparator.smallest to return the top/bottom-k elements.
      • Deprecate the Ordering class and package.
    • Create Interval to encapsulate bounded/unbounded and open/closed intervals across arbitrary Comparable objects.
      • Add the ability to measure the length of Interval<int>.toIntLength() and Interval<num>.toDoubleLength().
      • Add ability to convert Interval<DateTime> to a Duration.
    • Added SortedList collection type.
    • Add CompareOperators mixin to provide operators given a compareTo method.
    Open source →
  26. 3.7.1 23 Jun 2022

    Nothing published for this version

  27. 3.7.0 19 Jun 2022
    Release notes
    • Add closeTo extension to all numbers.
    • Make Fraction support non-finite numbers.
    Open source →
  28. 3.6.0 18 Jun 2022
    Release notes
    • Dart 2.17 requirement.
    • Add a max-heap collection type.
    • Add predicates for the ordering type.
    • Add interval data structure with open, closed, and infinite endpoints.
    Open source →
  29. 3.5.0 27 Feb 2022
    Release notes
    • Dart 2.16 requirement.
    • Avoid dynamic calls.
    • Better print strings across the library.
    Open source →
  30. 3.4.0 25 Dec 2021
    Release notes
    • Remove deprecated hashAll and hash1, hash2, hash3, ... methods.
    • Add ObjectPrinter.addValue for more dynamic object printing.
    • Add ToStringPrinter mixin for simpler use of ObjectPrinter.
    • Add Stream.window along the existing Iterable.window extension (thanks to https://github.com/pihentagy).
    • Various cleanups and better test coverage.
    Open source →
  31. 3.3.0 10 Sep 2021
    Release notes
    • Dart 2.14 requirement.
    • Added indent/dedent and wrap/unwrap to String.
    • Deprecated hashAll and hash1, hash2, hash3, ... methods, since this is now supported through the core library on Object.
    Open source →
  32. 3.2.1 08 Sep 2021

    Nothing published for this version

  33. 3.2.0 07 Sep 2021
    Release notes
    • Make Printer significantly faster by reusing a single StringBuffer instance where possible.
    • Make Printer strongly typed, which unfortunately comes with some required API changes:
      • Number printers do no longer support BigInt.
      • Number printers are directly instantiated, instead of using a factory on Printer.
    • Improved the Printer library in various ways:
      • Renamed undefined to the more intention revealing ifNull.
      • Added ifEmpty to print something specific for empty Iterables.
      • Added map and cast printers for more flexible printing.
      • Add initial version of the ObjectPrinter.
    Open source →
  34. 3.1.0 27 Jun 2021
    Release notes
    • Dart 2.13 requirement.
    • Add Optional and Either type.
    • Add TypeMap that maps Dart types to an instance.
    • Add various kinds of function types and function factories: callback function types, constant functions, empty functions, identity functions, mapping function types, predicate function types, and throwing functions.
    • Add String.convertFirstCharacters() and String.convertLastCharacters().
    • Add String.toUpperCaseFirstCharacter() and String.toLowerCaseFirstCharacter().
    Open source →
  35. 3.0.1 19 Feb 2021

    Nothing published for this version

  36. 3.0.0 17 Feb 2021
    Release notes
    • Dart 2.12 requirement and null-safety.
    • Use package:clock and package:fake_async across the board.
    • Add BigIntRange and optimize iteration of IntegerRange.
    • Optimize the implementation of ExpiryCache.
    • Fix maxAge of the Stream.buffer operator.
    • Add Fraction.sign and Complex.sign.
    • Add IterablePrinter to print lists.
    • Relax the type constraints on Ordering.natural.
    • CharMatcher is now a Pattern.
    • Introduce package:more/feature.dart to provide information about the runtime environment.
    • Add Trie (prefix tree) collection type.
    • Add Ordering.percentile.
    • Add Iterable.toMap, Iterable.atRandom, Iterable.min, Iterable.max and Iterable.percentile.
    • Optimize Range object creation and error reporting, and add Iterable.indices.
    • Add converters toBiMap, toListMultimap, and toSetMultimap.
    • Add String.removePrefix and String.removeSuffix.
    • Add List.rotate and Queue.rotate.
    Open source →
  37. 3.0.0-nullsafety.6 25 Dec 2020 pre-release

    Nothing published for this version

  38. 3.0.0-nullsafety.5 13 Dec 2020 pre-release

    Nothing published for this version

  39. 3.0.0-nullsafety.4 06 Dec 2020 pre-release

    Nothing published for this version

  40. 3.0.0-nullsafety.3 04 Dec 2020 pre-release

    Nothing published for this version

  41. 3.0.0-nullsafety.2 21 Nov 2020 pre-release

    Nothing published for this version

  42. 3.0.0-nullsafety.1 29 Oct 2020 pre-release

    Nothing published for this version

  43. 3.0.0-nullsafety 06 Oct 2020 pre-release

    Nothing published for this version

  44. 2.8.0 28 Sep 2020
    Release notes
    • Dart 2.9 compatibility and requirement (in preparation of null-safety).
    • Remove Iterable.concat() in favor of Iterable.flatten().
    • Split Iterable.zip() into Interable.zip(), Iterable.zipPartial() and Iterable.zipPartialWith().
    • Fix a bug in Ordering.nullsFirst and Ordering.nullsLast.
    • Fix a race condition in cache value resolution.
    • Fix a rounding bug of numeric formats with precision 0.
    • Add human number printer (1 kilo, 1 mega, ...).
    • Add a map function to Tuple classes.
    Open source →
  45. 2.8.0-nullsafety 06 Sep 2020 pre-release

    Nothing published for this version

  46. 2.7.0 04 Aug 2020
    Release notes
    • Add separatedBy, flatMap and flatten function on Iterable.
    • Cleanup printer package and improve documentation.
    Open source →
  47. 2.6.0 18 Jul 2020
    Release notes
    • Add repeat function on Iterable.
    • Improved documentation.
    Open source →
  48. 2.5.0 04 Jul 2020
    Release notes
    • Printer package correctly trims, pads and separates unicode strings now.
    • Updated class documentation regarding UTF-16 representation vs unicode strings.
    Open source →
  49. 2.4.0 01 Jun 2020
    Release notes
    • Add in-place logical operators to BitList.
    • Optimize CharMatcher with lookup tables.
    • Improved documentation.
    Open source →
  50. 2.3.1 21 May 2020

    Nothing published for this version

  51. 2.3.0 21 May 2020
    Release notes
    • Add ListMultimap and SetMultimap.
    • Mark CharMatcher, Cache and Ordering as immutable.
    • Improve documentation, which still included pre Dart 2.0 examples.
    • Add extension methods to convert Comparator to Ordering.
    Open source →
  52. 2.2.0 01 Jan 2020
    Release notes
    • Made truncateToPeriod and periodical extension methods of DateTime.
    • Add extension methods to convert
      • a Map<K, V> to a BiMap<K, V>,
      • an Iterable<bool> to a BitList, and
      • an Iterable<T> to a Multiset<T>.
    Open source →
  53. 2.1.0 01 Jan 2020
    Release notes
    • Cleanup Tuple class to be more readable and better typed.
    Open source →
  54. 2.0.1 14 Dec 2019

    Nothing published for this version

  55. 2.0.0 14 Dec 2019
    Release notes
    • Dart 2.7 compatibility and requirement.
    • Cleaned up deprecated code.
    • Iterables
      • Converted most helpers to extension methods.
      • Removed fold and fib, as they are not generally useful.
      • Moved digits to package:more/math.
    • Collections
      • Add extension method to int and double to create ranges, i.e. 0.to(20).
      • Move the string lists to String.toList() extension method.
    • Math
      • Move all numerical operators to num, ìnt and/or BigInt (new).
    Open source →
  56. 1.18.2 25 Oct 2019

    Nothing published for this version

  57. 1.18.1 25 Oct 2019

    Nothing published for this version

  58. 1.18.0 08 Jul 2019
    Release notes
    • Dart 2.4 compatibility and requirement.
    • Add a tuple data type.
    Open source →
  59. 1.17.0 10 May 2019
    Release notes
    • Dart 2.3 compatibility and requirement.
    • Various code improvements and optimizations.
    Open source →
  60. 1.16.0 26 Feb 2019
    Release notes
    • Dart 2.2 compatibility and requirement.
    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