Skip to content

v3.58.0 β€” critical install fix + TUI mouse/menu fixes + memory peek

Choose a tag to compare

@ruvnet ruvnet released this 20 Oct 06:31
· 77 commits to main since this release
d529a38

[3.58.0] - 2026-10-20

Minor release: @claude-flow/cli, claude-flow, ruflo 3.58.0. Backward-compatible additions (new memory peek command, a Codex session activity viewer, configurable MCP rate limits) plus a critical install-breaking fix and a round of correctness fixes.

Fixed

  • Critical: @claude-flow/cli@3.57.2 pinned @claude-flow/memory@3.0.6, which had never been published, so every fresh install of the 3.57.x line failed with ETARGET (#4303). Published @claude-flow/memory@3.0.6 standalone (verified against a clean install) and added scripts/audit-leaf-versions-published.mjs β€” a new, now-required CI check that queries the live npm registry for every non-bundled leaf pin so a PR that bumps a pin ahead of its own leaf's publish fails before merge, not after release (#4304).
  • agent spawn --name was accepted and echoed by the CLI but never persisted to the AgentRecord, so ruflo-console could only label agents by type (#4300/#4301).
  • agent list --all sent a literal status: 'all' that agent_list doesn't recognize, filtering out every agent; agent list --type was accepted but never read (#4302).
  • claims_claim's expiresAt was declared but unsettable by any handler, and the claims-load utilization math duplicated the max-claims threshold as a second magic literal (#3180/#3927).
  • A stale docstring on InMemoryClaimRepository claimed SQLite-backed persistence that doesn't exist in this package (#3179/#3926).
  • The persistent embedding cache raced concurrent cold callers into redundant SQLite initializations, and its FNV-1a cache key could collide for distinct equal-length inputs, including the lone-surrogate case (#3685, #3681).
  • The embedding model cache directory could be unwritable for non-root runtime users, permanently caching the mock fallback with no retry path (#3692/#3831).
  • ruflo-mods' risky-call/event classifier was missing several calls and hook events (agent.register, tool.call, session.append, read-side forgery vectors like fs.read/env.get, and more) that can rewrite or forge what other mods decide by β€” strictly widened, nothing un-flagged (#3802).
  • ruflo-x-gateway could crash on a malformed relay frame instead of failing fast on the one relay connection affected (#3921).
  • The standalone terminal console (npx ruflo tui) gave no on-screen indication that mouse support is off by default, silently dropped the 0 menu hint from the footer below 80 columns, and dropped a mouse press+release pair when a terminal (tmux especially) coalesced them into one data chunk (#4305).
  • CI reliability, found while validating this release (#4307): v3/@claude-flow/memory's FTS5 tests located sql-wasm.wasm via a sql.js/package.json subpath resolve, which sql.js 1.14's tightened exports map rejects even though the file exists β€” now resolves sql.js/dist/sql-wasm.wasm directly; plugins/ruflo-business-pods/scripts/pod-tick.test.mjs (a node:test file) was miscategorized into the vitest-can-run-it baseline instead of the node:test-only exclusion list (#4308); plugins/ruflo-graph-intelligence's knowledge-graph adapter built its optional @claude-flow/cli import specifier as a string literal that a bundler's static scan could eagerly (and wrongly) try to resolve during test collection, outside the method's own try/catch β€” now built from joined parts; the root test-suite ratchet's default vitest worker count intermittently crashed with ERR_IPC_CHANNEL_CLOSED partway through the ~9500-test suite β€” capped at 2 workers as a stopgap pending real root-cause work; tests/all-plugins-smoke-workflow.test.mjs's hardcoded timeout-minutes: 10 expectation went stale when #3950 raised the real value to 15 for the new external-plugin smoke step.

Added

  • memory peek β€” a read-only command that reports which store files the current directory resolves to, row counts, last-write time, and WAL state, without ever creating, initializing, or migrating anything (#3508/#3620).
  • @claude-flow/codex activity β€” inspect a Codex helper's assignment, recorded state, progress, and tool calls/results from an existing session, with symlink-safe, TOCTOU-resistant file access and best-effort credential masking in previews (#3930/#3962).
  • mcp start now supports configurable HTTP and per-session rate limits (#3694).