Bug fixes:
loom.io/view with a two-letter format such as {:fmt :ps} threw IllegalArgumentException because the extension was used as the temp-file prefix, which must be at least three characters. Temp files now use a loom- prefix. Contributed by metayan (#168)loom.io/view wrote the rendered graph to a temp file other local users could read. On POSIX systems the file is now readable and writable only by its owner (#168)Bug fixes:
loom.attr/remove-attr on an undirected edge only cleared one direction, so the attribute could still be read from the other end and showed up in dot-str output. Both directions are now cleared, matching add-attr. Contributed by Iain (#165)Bug fixes:
loom.dataflow/dataflow-analysis could return before its worklist was empty. When a node's value stopped changing, the remaining queued nodes were dropped instead of processed, so cyclic graphs could come back missing definitions. Contributed by Iain (#159)loom.alg/bf-path with start equal to end returned nil instead of a zero-hop path [start] (#161)loom.alg/johnson returned distances offset by Bellman-Ford potentials; it now subtracts and adds the potentials to restore the original shortest-path distances (#161)loom.alg/astar-path did not reopen closed nodes when a shorter path was found later, causing incorrect paths with inconsistent heuristics; nodes are now reopened when a shorter distance is discovered (#161)loom.attr/add-attrs-to-all was using a sliding window over the flat key/value list, causing every node and edge to acquire spurious attributes keyed by each value. Now pairs keys and values correctly (#163)Bug fixes:
loom.io/dot-str wrote invalid DOT when an attribute value was a collection containing quotes, such as ["AA.\"bb\""]. Backslashes in values that are not strings or keywords are now escaped. String and keyword values are unchanged (#74):graph, :node and :edge options of dot-str now each end with a newline, so the last option no longer runs into the first edge. An empty options map no longer writes the text nullDocumentation:
dot-str docstring now lists the :graph, :node and :edge optionsAdded:
loom.alg/simple-paths: all simple paths between two nodes, with an optional :max-depth (#111, thanks to drone29a)Performance:
degeneracy-ordering decrements neighbor degrees directly instead of building an intermediate map (#108, thanks to cbowdon)pre-traverse pushes successors lazily, avoiding O(E) stack growth on dense graphs. The preorder is unchanged (#120, thanks to jafingerhut)Platform:
Added:
loom.graph/neighbors: adjacent nodes ignoring edge direction (predecessors and successors for a digraph)Behavior changes:
maximal-cliques on a digraph now throws ex-info instead of returning wrong resultsweight on an edge now calls (weight* g e). A custom WeightedGraph that implements only the three-argument weight* needs to add the edge arityremove-nodes now also removes the node and edge attributes of the removed nodesBug fixes:
Closed issues:
Merged pull requests:
Closed issues:
Merged pull requests:
Closed issues:
Merged pull requests:
Closed issues:
Merged pull requests:
Closed issues:
\(scc ...\) dies with a StackOverflow on large directed graphs #5Closed issues:
Closed issues:
* This Change Log was automatically generated by github_changelog_generator
Can you improve this documentation? These fine people already did:
Savyasachi & AysyluEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |