This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryUpdates Merged, Closed, and router across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Dependency | Low |
Updates `@claude-flow/cli`, `claude-flow`, and `ruflo` packages to version 3.10.40 (patch release). Updates `@claude-flow/cli`, `claude-flow`, and `ruflo` packages to version 3.10.40 (patch release). Source: llm_adapter@2026-06-09 Confidence: high |
— |
| Bugfix | Medium |
Probes custom npm prefix (`npm_config_prefix`, `PREFIX`, `~/.npm-global`) for statusline version detection. Probes custom npm prefix (`npm_config_prefix`, `PREFIX`, `~/.npm-global`) for statusline version detection. Source: llm_adapter@2026-06-09 Confidence: high |
— |
| Bugfix | Medium |
Adds local-overlay helpers to populate AgentDB, Tests, Hooks, Integration segments in statusline output. Adds local-overlay helpers to populate AgentDB, Tests, Hooks, Integration segments in statusline output. Source: llm_adapter@2026-06-09 Confidence: high |
— |
| Bugfix | Medium |
Corrects MCP allow rule syntax from `mcp__claude-flow__:*` to `mcp__claude-flow__*`. Corrects MCP allow rule syntax from `mcp__claude-flow__:*` to `mcp__claude-flow__*`. Source: llm_adapter@2026-06-09 Confidence: high |
— |
Full changelog
Patch release rolling up four community merges and one drift-guard regen.
Merged
- #2330 —
docs(router): make model-router docs match shipped impl (Option A for #2329)— reconcilesmodel-router.tsheader, ADR-026, and thehooks-tools.tsimplementation tag with the actually-shipped router (lexical complexity heuristic + Thompson Beta-Bernoulli bandit, not the FastGRNN/Tiny-Dancer neural design @rcraw flagged). Private membertinyDancerRouter→baseRouterinEnhancedModelRouter; publicgetStats()field kept astinyDancerStatsfor telemetry-schema stability. Option B (real@ruvector/tiny-dancerwiring) deferred until a trained FastGRNN safetensors artifact exists. - #2331 —
fix(statusline): resolve version for custom npm prefix + populate AgentDB/Tests/Hooks/Integration segments(@Tomi2k). Two real bugs:- Custom npm prefix (
~/.npm-global) probe was missing → version fell back to hard-coded'3.6'. Now probesnpm_config_prefix,PREFIX, and the common~/.npm-globaldefault alongside the binDir-relative paths. - AgentDB / Tests / Hooks / Integration segments rendered permanent
0/nonebecausehooks statusline --jsononly returnsuser/v3Progress/security/swarm/system. Adds 4 local-overlay helpers (getLocalAgentDB,getLocalTests,getLocalHooks,getLocalIntegration) wired throughapplyLocalOverlays(). Read-only sqlite3 query (mode=ro), bounded depth-4 directory walk, all catches degrade to zeros.
- Custom npm prefix (
- #2328 —
docs: fix typo 'ruvflo' -> 'ruflo' in install instructions(@antonbozko-cell). Trivial 3-character fix across 3 READMEs. - #2306 —
fix(init): correct MCP allow rule mcp__claude-flow__:* -> mcp__claude-flow__*(@S23Web3). Removed a stray colon that made the permission rule invalid. (Already merged yesterday; included here for changelog completeness.)
Closed (duplicate)
- PR #2325 (@mamd69) — also proposed a fix for #2302 but with
mcp__ruflo__*, which would silently break MCP permissions because the server is registered asclaude-flow(seev3/@claude-flow/cli/src/init/mcp-generator.ts:113-130). Closed with thanks; #2306 already shipped the correct fix.
Drift-guard regen
Committed .claude/helpers/statusline.cjs snapshot was stale relative to #2331's generator changes — regenerated, statusline-cost-display.test.ts drift guard passes 8/8.
Packages
| Package | Old | New | Tags |
|---|---|---|---|
| @claude-flow/cli | 3.10.39 | 3.10.40 | latest, alpha, v3alpha |
| claude-flow | 3.10.39 | 3.10.40 | latest, alpha, v3alpha |
| ruflo | 3.10.39 | 3.10.40 | latest, alpha, v3alpha |
| @claude-flow/memory | 3.0.0-alpha.20 (unchanged) | — | — |
Security review
All four merged PRs were diff-audited before merge: no network exfil, no secret reads, no eval/Function/child_process surprises, no postinstall hooks, no obfuscation, no dependency additions. #2331's new sqlite3 invocation uses mode=ro with statically-formed SQL (no injection vector) and is wrapped in a degrade-to-zero catch.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]