Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/clean-graphs-copy.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/fresh-paths-cover.md

This file was deleted.

26 changes: 0 additions & 26 deletions .changeset/heavy-planes-wave.md

This file was deleted.

34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# @statelyai/graph

## 2.2.0

### Minor Changes

- [`e4a800e`](https://github.com/statelyai/graph/commit/e4a800ed5855778297a6ba61993376677c8d5449) Thanks [@davidkpiano](https://github.com/davidkpiano)! - Add immutable counterparts for graph CRUD, patch application, and layout geometry updates. These helpers return updated graph copies while leaving their input graphs untouched.

- [`7b5ac38`](https://github.com/statelyai/graph/commit/7b5ac385d7d6fb7f5c2458dff9cc4440c523f268) Thanks [@davidkpiano](https://github.com/davidkpiano)! - Add graph-generic path-set and coverage utilities: path inspection and
containment, coverage targets and coverage-preserving reduction, edge-covering
path planning, ordered shortest simple paths, Eulerian paths/circuits, and line
graph construction.

- [`97622b1`](https://github.com/statelyai/graph/commit/97622b193462a1ae67f485d934a4efafe0921e9c) Thanks [@davidkpiano](https://github.com/davidkpiano)! - New algorithms, public kernel, cancellation, and format fidelity:

- **New algorithms**: `isPlanar` (left-right planarity test), `getTSPTour`
(nearest-neighbor + 2-opt), `getSteinerTree` (metric-closure
2-approximation), `getGraphColoring`/`isValidColoring` (Welsh–Powell and
DSatur), `genAllPairsShortestPaths` (lazy gen twin of
`getAllPairsShortestPaths`).
- **New generators**: `createWattsStrogatzGraph`, `createBarabasiAlbertGraph`.
- **New `@statelyai/graph/kernel` subpath**: `getIndex`, `getCSR`,
`invalidateIndex`, and `memoizeByGraph` — the fast-path primitives for
large graphs and third-party algorithm plugins.
- **Cancellation**: expensive algorithms (centrality, community detection,
max-flow, all-pairs paths, isomorphism, dominators) accept
`options.signal: AbortSignal`.
- **Round-trip fidelity**: DOT preserves graph attributes, node/edge
defaults, `rank=same`, HTML labels, and compass points; Mermaid preserves
`%%{init}%%` directives, click handlers, linkStyle (now index-stable),
state notes, mindmap `::icon()`, and block arrow tokens.
- **Fix**: `getAllPairsShortestPaths` no longer overflows the call stack on
graphs with a few hundred nodes.
- **Benchmarks**: reproducible via `pnpm bench:compare` (`--quick` variant,
JSON results, generated docs tables, fairness notes).

## 2.1.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"packageManager": "pnpm@10.28.2",
"type": "module",
"sideEffects": false,
"version": "2.1.0",
"version": "2.2.0",
"description": "A TypeScript-first graph library with plain JSON-serializable objects",
"author": "David Khourshid <david@stately.ai>",
"license": "MIT",
Expand Down