v3.5.7

ruvnet/ruflov3.5.7Mar 5, 2026by ruvnet

AI Summary

This release (v3.5.5-v3.5.7) addresses platform parity across macOS and Windows, completes a branding sweep from 'Claude Flow V3' to 'RuFlo V3' across 30+ files, and fixes hook stdin hanging issues. The release also adds a Nginx reverse proxy to the RuFlo Chat UI docker-compose and makes progress on ADR-060 items (13/24 fixed).

Key Highlights

  • Fixed hook stdin hanging issue in `hook-handler.cjs` with event-based reading + 500ms timeout fallback
  • Fixed macOS daemon death when terminal closes by adding SIGHUP handler in foreground mode
  • Fixed Windows daemon spawn failures with platform-aware flags (`shell: true`, `windowsHide: true`, no `detached`)
  • Completed branding sweep replacing 'Claude Flow V3' → 'RuFlo V3' across 30+ files
  • Fixed settings-generator missing 4 hooks (PostToolUse:Bash, PreToolUse:Write|Edit|MultiEdit, SubagentEnd, Notification)

New Features

  • Nginx reverse proxy added to RuFlo Chat UI docker-compose for branding injection and CORS
  • SIGHUP handler for macOS daemon in foreground mode
  • Platform-aware daemon spawning with Windows-specific flags
  • PID file now writes after `child.unref()` + 100ms delay to ensure daemon is ready
  • 4 new hooks added to settings-generator: PostToolUse:Bash, PreToolUse:Write, PreToolUse:Edit, PreToolUse:MultiEdit, SubagentEnd, Notification

Full Release Notes

## What's New in v3.5.5–v3.5.7

Three releases addressing platform parity, branding consistency, and hook reliability:

### v3.5.7 — Hook Stdin Timeout Fix
- **Fixed**: `hook-handler.cjs` stdin hanging when Claude Code leaves stdin in ambiguous state (not TTY, not proper pipe)
- **Fix**: Replaced `for await` with event-based reading + 500ms `setTimeout` fallback
- Affects: All hook invocations (pre-bash, post-edit, route, session-restore, etc.)

### v3.5.6 — Platform Parity & Settings Completeness
- **Fixed**: macOS daemon dies when terminal closes (#1283) — added SIGHUP handler in foreground mode
- **Fixed**: Windows daemon spawn fails (#1282) — platform-aware flags: `shell: true`, `windowsHide: true`, no `detached`
- **Fixed**: PID file written before daemon is ready — now writes after `child.unref()` + 100ms delay
- **Fixed**: Settings-generator missing 4 hooks (#1291) — added PostToolUse:Bash, PreToolUse:Write|Edit|MultiEdit, SubagentEnd, Notification
- **Fixed**: Daemon header shows "Worker Daemon" → "RuFlo Daemon"

### v3.5.5 — Complete Branding Sweep
- Replaced all "Claude Flow V3" → "RuFlo V3" across **30+ files**
- Covers: CLI source, shell helpers, statusline, config templates, JSDoc, SQL schema, plugin descriptions
- Windows-specific: PS1 daemon manager, BAT wrapper, status scripts

### Infrastructure
- Added Nginx reverse proxy to RuFlo Chat UI docker-compose for branding injection and CORS

### ADR-060 Progress
- **13/24 items fixed** — all P0 and P1 resolved
- Remaining: 4 P2 + 6 P3 (non-critical)

## Install

```bash
npx ruflo@latest init --wizard
# or
npx @claude-flow/cli@latest init --wizard
# or
npx claude-flow@latest init --wizard
```

## Packages

| Package | Version |
|---------|---------|
| `@claude-flow/cli` | 3.5.7 |
| `claude-flow` | 3.5.7 |
| `ruflo` | 3.5.7 |

All three published to npm with `latest` and `alpha` dist-tags.