v0.3.6

RightNow-AI/openfangv0.3.6Mar 3, 2026by jaberjaber23

AI Summary

Fixes for Telegram HTML sanitization, tool JSON schema type fields, web wizard TOML generation, Hand install support via CLI and API, and OPENFANG_HOME environment variable support.

Key Highlights

  • Telegram messages now sanitize HTML tags before sending to prevent API rejections
  • Tool JSON schemas for memory_store.value and event_publish.payload now include explicit type fields
  • Web wizard now generates correct TOML with model = "..." and system_prompt under [model]
  • Hand install now supported via CLI (openfang hand install <path>) and API (POST /api/hands/install)
  • All hardcoded ~/.openfang paths now respect the OPENFANG_HOME environment variable

New Features

  • Hand install via CLI and API for custom hands from HAND.toml files
  • OPENFANG_HOME environment variable support across CLI, TUI wizards, dotenv loader, templates, kernel config, and types config

Full Release Notes

## v0.3.6

Fix #265: Telegram messages now sanitize HTML tags before sending. Unsupported tags are escaped so Telegram's API no longer rejects them with 400 errors.

Fix #236: Tool JSON schemas for memory_store.value and event_publish.payload now include explicit "type" fields. Strict schema validators (like llama.cpp) no longer reject these tool definitions.

Fix #226: The web wizard now generates correct TOML with `model = "..."` (was `name = "..."`) and puts system_prompt under [model] (was `[prompt] system = "..."`). Generated configs now actually work.

Fix #237: Hand install is now supported via CLI (`openfang hand install <path>`) and API (`POST /api/hands/install`). Custom hands can be installed from a HAND.toml file on disk or via JSON payload. The hand registry uses DashMap for concurrent access.

Fix #255: All hardcoded ~/.openfang paths now respect the OPENFANG_HOME environment variable. Set OPENFANG_HOME=/your/path to use a custom config/data directory. Updated across CLI, TUI wizards, dotenv loader, templates, kernel config, and types config — 18 files total.