v0.3.36
RightNow-AI/openfangv0.3.36Mar 9, 2026by jaberjaber23
AI Summary
Community bug fix batch focusing on LLM response handling, MCP tool permissions, Telegram photo support, workflow visual builder improvements, and CLI authentication enhancements.
Key Highlights
- Fixes empty LLM responses after ~4 rounds by re-validating message pairs after history trim
- MCP tools now bypass ToolInvoke capability filter with their own security allowlists
- Telegram photos, docs, and voice messages now supported for LLM vision processing
- Workflow visual builder includes manual double-click detection and live-updating editor panel
- Hand state now persisted in hand_state.json for proper cron job reassignment on reboot
New Features
- Claude Code provider card detects actual CLI installation and auth status
- Python 3 detection runs actual python3 --version command
- CLI auth now sends Authorization header globally on all commands
Full Release Notes
## Fixes - **Empty LLM response after ~4 rounds** (#460): Re-validate message pairs after history trim to prevent orphaned ToolUse/ToolResult blocks. Retry on silent 0-token failures. - **MCP tools "Permission denied"** (#352): Extension tools (MCP/skills) now bypass ToolInvoke capability filter since they have their own security allowlists. - **Telegram photos silently dropped** (#362): Incoming photos, docs, and voice messages are now downloaded, base64 encoded, and passed as `ContentBlock::Image` for LLM vision processing. - **Workflow visual builder** (#357): Manual double-click detection for node editing (SVG re-renders destroy DOM). Editor panel inputs live-update the canvas. - **Claude Code provider card** (#376): Detects actual CLI installation and auth status. Shows "Configured" or "Not Installed" dynamically. - **Python 3 detection** (#405): Runs actual `python3 --version` command instead of PATH lookup. Handles Windows Store shims and Python 2. - **Hand state lost on restart** (#402): `agent_id` now persisted in `hand_state.json` so cron jobs are properly reassigned on reboot. - **CLI auth on all commands** (#478): `daemon_client()` now sends Authorization header globally, not just for `stop`. ## Also closed (already fixed) - #368 — Dashboard version (already returns `CARGO_PKG_VERSION`) - #370 — Logo light theme (CSS `filter: invert(1)` already in place) - #397, #351 — Custom providers (fixed in v0.3.35) ## Stats 20 files changed, 832 insertions, 111 deletions, 1921 tests pass, 0 clippy warnings