release(npm): @ruvector/graph-node 2.1.0 - #940
Merged
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release commit for the #879 / #826 fix merged in #938. Two lines:
package.jsonversion + optionalDependency pins, and the matching workspace entry innpm/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:
build-graph-node.ymldispatched on this branch withpublish=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.0npm and
maindiverge 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-lessMATCH (n),WHEREevaluation and relationship patterns all previously returned empty and now return rows. And unsupported constructs (CREATEviaquery(), 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