Skip to content

chore(release): per-crate patch versions so the 5 failed crates can publish - #1028

Merged
ruvnet merged 1 commit into
mainfrom
release/publish-fix-deps
Sep 26, 2026
Merged

ruvnet merged 1 commit into
mainfrom
release/publish-fix-deps

Conversation

@ruvnet

@ruvnet ruvnet commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1020. Five crates failed the bulk crates.io publish because the published versions of their dependencies lag the source. This PR bumps those dependencies to per-crate patch versions, using the same override convention as ruvector-mincut 2.3.1 (#1021).

Crate New version Why
ruvector-core 2.3.1 ruvector-context needs save/load_config_value. ruvector-node needs SearchPolicy, SearchQuantization, QuantizationConfig::Turbo4 and the default_turbo4_* fns.
ruvector-graph 2.3.2 The 2.3.1 on crates.io (July) was published before all_nodes/all_edges existed. ruvector-graph-node needs them.
rvf-types 0.2.2 Source rvf-wire uses SEGMENT_MAGIC_BYTES, which isn't in 0.2.1.
rvf-wire 0.1.1 Published 0.1.0 requires rvf-types 0.1. ruvector-domain-expansion requires 0.2, so it ends up with two RvfError types, which breaks ruvector-domain-expansion-wasm.

Other changes:

  • Version floors on dependents: context (core 2.3.1), node (core 2.3.1, plus collections/filter/metrics 2.3.0), graph-node (core 2.3.1, graph 2.3.2).
  • ruvector-nervous-system-wasm had a keyword with a Cyrillic с (hdс), which crates.io rejects. Changed it to ASCII hdc.
  • ruvector-core source change: HnswIndex::structural_violations() calls methods that exist only in the workspace-patched hnsw_rs (patches/hnsw_rs). Because of that, the packaged crate failed to build against upstream hnsw_rs. The method is now behind a new non-default feature, hnsw-structural-diagnostics. The VectorDB.search() silently omits stored rows (~6-12%); db.get() still returns them, higher efSearch does not recover #773 regression test still runs, through a path-only self dev-dependency that cargo publish strips (checked in the packaged manifest).

Validation:

  • cargo check passes on all touched crates.
  • cargo test -p ruvector-core --test hnsw_issue_773_structural passes (3 tests).
  • cargo publish --dry-run passes for ruvector-core 2.3.1, ruvector-graph 2.3.2 and rvf-types 0.2.2.
  • Published rvf-crypto 0.2.0 and ruvector-domain-expansion 2.3.0 (with rvf) still compile against rvf-types 0.2.2 + rvf-wire 0.1.1.

Semver caveat: ruvector-core 2.3.1 is not strictly semver-compatible with 2.3.0. It adds a variant to the exhaustive QuantizationConfig enum and changes the ApiEmbedding::{openai,cohere,voyage} signatures. It is shipped as a patch per the per-crate override convention, because a 3.0 would not unify with the crates already published.

🤖 Generated with claude-flow

…ublish

- ruvector-core 2.3.1 (per-crate override): ruvector-context and ruvector-node
  use save/load_config_value and the Turbo4/SearchPolicy types that are newer
  than the published 2.3.0.
- Gate HnswIndex::structural_violations() behind a new non-default
  `hnsw-structural-diagnostics` feature: it calls methods that only exist in
  the workspace-patched hnsw_rs, so the packaged crate failed to build against
  upstream hnsw_rs. The #773 regression test still runs via a path-only self
  dev-dependency (stripped by cargo publish).
- ruvector-graph 2.3.2: crates.io 2.3.1 predates all_nodes/all_edges, which
  ruvector-graph-node needs. graph-node now requires core 2.3.1 / graph 2.3.2.
- rvf-types 0.2.2 + rvf-wire 0.1.1: published rvf-wire 0.1.0 requires
  rvf-types 0.1, giving ruvector-domain-expansion two RvfError types.
- ruvector-nervous-system-wasm: Cyrillic "hdс" keyword -> ASCII "hdc".

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet
ruvnet merged commit a48d2fc into main Sep 26, 2026
65 of 66 checks passed
ruvnet added a commit that referenced this pull request Sep 26, 2026
…can publish

60 normal/build path dependencies had no version requirement, which
crates.io rejects. Each now pins the dependency's current version.
Cargo.lock: move the stale crates.io ruvector-core 2.2.3 entry to 2.3.1
(published via #1028) so the workspace publish resolves. Rebased onto
#1028; ruvector-context/ruvector-node keep its core 2.3.1 floor.

Co-Authored-By: claude-flow <ruv@ruv.net>
ruvnet added a commit that referenced this pull request Sep 26, 2026
…can publish (#1020)

60 normal/build path dependencies had no version requirement, which
crates.io rejects. Each now pins the dependency's current version.
Cargo.lock: move the stale crates.io ruvector-core 2.2.3 entry to 2.3.1
(published via #1028) so the workspace publish resolves. Rebased onto
#1028; ruvector-context/ruvector-node keep its core 2.3.1 floor.
@ruvnet
ruvnet deleted the release/publish-fix-deps branch September 27, 2026 00:32
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