v3.5.50

ruvnet/ruflov3.5.50Apr 2, 2026by ruvnet

AI Summary

This is a bug fix release addressing four critical issues: fixing the disabled ReasoningBank controller by adding a missing embedder parameter, resolving SQLite database path issues to prevent data loss, changing memory_search to query all namespaces instead of just 'default', and enabling init --full to properly merge hooks into existing settings.

Key Highlights

  • Fixed ReasoningBank Controller being disabled due to missing embedder parameter in ControllerRegistry
  • Fixed SQLite database path to use absolute resolution, preventing data loss when MCP server's working directory changes
  • Changed memory_search to query ALL namespaces instead of defaulting to 'default', returning complete search results
  • Fixed init --full to merge hooks, env vars, and permissions into existing settings instead of skipping them
  • All 1725 tests pass

Breaking Changes

  • memory_search behavior change: queries ALL namespaces by default instead of only 'default' namespace - may return different results than previous behavior

Full Release Notes

## Fixes

### #1499: ReasoningBank Controller Disabled
- Missing `embedder` param when instantiating `ReasoningBank` in `ControllerRegistry`
- Added `createEmbeddingService()` call, matching the pattern used by `HierarchicalMemory` and `MemoryConsolidation`

### #1490: SQLite Database Path Relative to CWD
- All `path.join(process.cwd(), '.swarm')` changed to `path.resolve()` 
- Prevents data loss when MCP server's working directory changes between restarts

### #1489: memory_search Defaults to 'default' Namespace
- When namespace is not explicitly provided, search now queries ALL namespaces
- Previously defaulted to `'default'`, silently returning empty results for entries in named namespaces

### #1484: init --full Hooks Never Fire
- `writeSettings` skipped writing hooks if `.claude/settings.json` already existed
- Now **merges** hooks, env vars, and permissions into existing settings instead of skipping
- `ruflo init --full` is now a single command that produces a working setup

## Stats
- **1725 tests pass** (28 files, 0 failures)
- Published: `@claude-flow/cli@3.5.50`, `claude-flow@3.5.50`, `ruflo@3.5.50`