1.2.0 (2026-09-19)
Added:
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)
1.1.0 (2026-09-19)
Platform:
- Clojure 1.12 (default); test matrix spans Clojure 1.10/1.11/1.12 and JDK 8/11/17/21
- data.priority-map 0.0.10 -> 1.2.1
- test.check 0.9.0 -> 1.1.3
- ClojureScript 1.10.520 -> 1.12.145 (dev dependency; CI runs the Clojure suite only, ClojureScript CI comes in a later release)
- deps.edn added for tools.deps / clojure CLI users
- GitHub Actions CI (replaces Travis CI)
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 nodes
Bug fixes:
- transpose returned empty graph under ClojureScript, cascading to scc/strongly-connected? (#131)
- remove-nodes and subgraph threw null errors under ClojureScript, caused by direct keyword access on graphs (#134)
- bf-path-bi had a data race in concurrent BFS frontiers, could return non-shortest paths; now deterministic
- bipartite-color ignored edge direction on digraphs, producing non-deterministic and incorrect results (#118)
- maximal-cliques on a digraph silently returned incorrect results; now throws ex-info (#128)
- remove-nodes left removed node attributes in the graph (#93)
- weight on an edge did not dispatch through the weight* protocol (#141)
- build-graph from empty adjacency map threw NPE (#137)
- clojure.core/abs exclusion added to loom.network-simplex for Clojure 1.11 compatibility
1.0.1 (2018-02-19)
Full Changelog
Closed issues:
- Make 1.0.1 release ? #103
- loom.io/view calls render-to-bytes incorrectly #95
- :fmt option in render-to-bytes? #56
Merged pull requests:
1.0.0 (2017-02-16)
Full Changelog
Closed issues:
- Support for weighted nodes #92
- default-flygraph-digraph-impl has error, nil protocol method impl #90
- Graph Attribute #89
- load graph from disk #88
- A* implementation is incorrect. #82
- clojurescript support #45
Merged pull requests:
0.6.0 (2016-04-14)
Full Changelog
Closed issues:
- Specify color and shape of the nodes #80
- when nodes are records, loom.io/view renders incorrectly #75
- Move dataflow framework from ssa branch into loom.dataflow #65
- Move to Clojure 1.7 and convert to cljc #60
- Combining graphs fails to preserve attribute data #55
- partial application doesn't belong in the loom.graph protocols #43
Merged pull requests:
0.5.4 (2015-07-11)
Full Changelog
Closed issues:
- obsolete API docs #68
- ClojureScript? #67
- gen-rand throws exception for weighted graphs unless min-weight and max-weight are explicitly provided #51
- Several functions have misplaced doc strings #46
- var defined a second time... #36
- something's wrong... #35
- core.matrix support? #28
Merged pull requests:
- Make tense on docstrings consistent #63 (danielcompton)
- Clean up ns and make code more idiomatic #62 (danielcompton)
- Fix for #55 #59 (AshtonKem)
- fix typo in bellman-ford docstring #58 (aw7)
- Add has-node? to flygraph default implementation. #57 (monora)
- Ensure that max-weight is greater than min-weight when generating random weighted-graphs #53 (tihancock)
- Fix comment "nodes" -> "edges" #52 (semperos)
- Greedy coloring for graphs/digraphs #50 (danshapero)
- Allow for more global attributes in graphviz #48 (zmaril)
- Patch aysylu/loom/46 #47 (arrdem)
- Maximal cliques and all-pairs shortest path algorithms #40 (mattrepl)
- Pre traverse fix #38 (gshopov)
- Corrected misplaced docstrings and type hints (found by eastwood). #37 (fmjrey)
- now at version to 0.5.0 #33 (fmjrey)
- dot-str: edge label, when available, takes precedence over weight. #32 (fmjrey)
- Edge traverse #31 (fmjrey)
0.5.0 (2014-06-09)
Full Changelog
Closed issues:
- Write FAQ #12
- Link to autodocs #11
\(scc ...\) dies with a StackOverflow on large directed graphs #5- Add documentation on loom.attr functions #4
0.4.2 (2014-01-04)
Full Changelog
Closed issues:
- attrs gives inconsistent results when no attributes exist #9
0.4.1 (2013-10-27)
Closed issues:
- (scc ...) doesn't compute the correct components in some cases #6
- add slides and video from LispNYC to README page #3
- Should use attr instead of label in visualization #2
* This Change Log was automatically generated by github_changelog_generator