| ## 2.3.3-wip |
| |
| - Add an example usage to the README. |
| |
| ## 2.3.2 |
| |
| - Require Dart 3.4 |
| - Update to the latest version of `package:dart_flutter_team_lints`. |
| |
| ## 2.3.1 |
| |
| - Update package repository after move. |
| |
| ## 2.3.0 |
| |
| - Add a `transitiveClosure` function. |
| - Make `stronglyConnectedComponents` and `topologicalSort` iterative rather than |
| recursive to avoid stack overflows on very large graphs. |
| - Require Dart 2.18 |
| |
| ## 2.2.0 |
| |
| - Add a `secondarySort` parameter to the `topologicalSort()` function which |
| applies an additional lexical sort where that doesn't break the topological |
| sort. |
| |
| ## 2.1.0 |
| |
| - Add a `topologicalSort()` function. |
| |
| ## 2.0.0 |
| |
| - **Breaking**: `crawlAsync` will no longer ignore a node from the graph if the |
| `readNode` callback returns null. |
| |
| ## 1.0.0 |
| |
| - Migrate to null safety. |
| - **Breaking**: Paths from `shortestPath[s]` are now returned as iterables to |
| reduce memory consumption of the algorithm to O(n). |
| |
| ## 0.2.0 |
| |
| - **BREAKING** `shortestPath`, `shortestPaths` and `stronglyConnectedComponents` |
| now have one generic parameter and have replaced the `key` parameter with |
| optional params: `{bool equals(T key1, T key2), int hashCode(T key)}`. |
| This follows the pattern used in `dart:collection` classes `HashMap` and |
| `LinkedHashMap`. It improves the usability and performance of the case where |
| the source values are directly usable in a hash data structure. |
| |
| ## 0.1.3+1 |
| |
| - Fixed a bug with non-identity `key` in `shortestPath` and `shortestPaths`. |
| |
| ## 0.1.3 |
| |
| - Added `shortestPath` and `shortestPaths` functions. |
| - Use `HashMap` and `HashSet` from `dart:collection` for |
| `stronglyConnectedComponents`. Improves runtime performance. |
| |
| ## 0.1.2+1 |
| |
| - Allow using non-dev Dart 2 SDK. |
| |
| ## 0.1.2 |
| |
| - `crawlAsync` surfaces exceptions while crawling through the result stream |
| rather than as uncaught asynchronous errors. |
| |
| ## 0.1.1 |
| |
| - `crawlAsync` will now ignore nodes that are resolved to `null`. |
| |
| ## 0.1.0 |
| |
| - Initial release with an implementation of `stronglyConnectedComponents` and |
| `crawlAsync`. |