Skip to content

release(npm): @ruvector/graph-node 2.1.0 - #940

Merged
ruvnet merged 1 commit into
mainfrom
release/graph-node-2.1.0
Aug 27, 2026
Merged

ruvnet merged 1 commit into
mainfrom
release/graph-node-2.1.0

Conversation

@ruvnet

@ruvnet ruvnet commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Release commit for the #879 / #826 fix merged in #938. Two lines: package.json version + optionalDependency pins, and the matching workspace entry in npm/package-lock.json.

Why this is a separate PR

optional-deps-resolvable-on-npm (regression-guard.yml:351, guarding #411) resolves every declared optionalDependency against the registry. A package therefore cannot declare its platform packages at a version that is not published yet — so any version bump fails CI until that version already exists on npm.

That makes the bump un-mergeable in the same PR as the fix, which is why #938 shipped at 2.0.4 and this carries the bump alone. Order:

  1. ✅ fix(graph-node): execute Cypher MATCH properly and defer hydration (#879, #826) #938 merged — fix on main at 2.0.4
  2. ⏳ build-graph-node.yml dispatched on this branch with publish=true — builds 5 platforms, publishes @ruvector/graph-node-{linux-x64-gnu,linux-arm64-gnu,darwin-x64,darwin-arm64,win32-x64-msvc}@2.1.0, then @ruvector/graph-node@2.1.0
  3. ⏳ guard re-runs green once those exist
  4. ⏳ merge this

npm and main diverge only by the version line, only between steps 2 and 4.

Why minor, not patch

query() gains behaviour rather than just fixing it: the label-less MATCH (n), WHERE evaluation and relationship patterns all previously returned empty and now return rows. And unsupported constructs (CREATE via query(), variable-length paths, chained patterns) now raise an error where they previously returned an empty result set — a caller that was treating [] as "no matches" will now see a thrown error instead. That is the correct behaviour and the whole point of the fix, but it is a visible change, not a silent repair.

Worth fixing separately

This chicken-and-egg is a standing tax on every native-package release here, not something specific to graph-node. The guard is right to exist — it caught a real skew in this very PR — but it cannot distinguish "a dependency that will never resolve" from "this repo's own platform packages, mid-release". Exempting @ruvector/* packages whose version equals the declaring workspace package's own version would keep the #411 protection while letting a release bump merge normally.

🤖 Generated with claude-flow

https://claude.ai/code/session_017cMsrUW5PFR9fPahCwT5iA

Ships the #879 / #826 fix merged in #938.

Minor rather than patch: query() gains behaviour (label-less MATCH, WHERE,
relationship patterns), and unsupported constructs now raise an error where
they previously returned an empty result set.

The optional-deps-resolvable-on-npm guard (issue #411) resolves every
optionalDependency against the registry, so this commit cannot go green
until the five platform packages exist at 2.1.0. Publish runs from this
branch first; the guard then passes and this merges.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_017cMsrUW5PFR9fPahCwT5iA
@ruvnet
ruvnet merged commit dba1038 into main Aug 27, 2026
79 of 81 checks passed
@ruvnet
ruvnet deleted the release/graph-node-2.1.0 branch August 27, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant