v0.3.7

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

AI Summary

7 bug fixes for memory KV endpoints, doctor command port detection, channel configuration type preservation, default_model propagation, Telegram HTML sanitizer, Hand activation environment variable support, and dashboard empty states.

Key Highlights

  • Memory KV endpoints now read/write to shared memory namespace instead of per-agent IDs
  • Doctor command reads api_listen from config.toml instead of hardcoding port 4200
  • Channel configuration preserves number types as TOML integers instead of forcing strings
  • default_model config now applies to all agents regardless of api_key_env or base_url settings
  • Hand activation now extracts environment variable names from requires section

Full Release Notes

7 bug fixes

Fix #270: Memory KV endpoints now read/write to the shared memory namespace instead of per-agent IDs that don't exist, so all KV operations (get, set, list, delete) work correctly

Fix #272: Doctor command reads api_listen from config.toml instead of hardcoding port 4200, so custom port configurations are detected properly

Fix #258: Channel configuration now preserves number types (like poll_interval_secs) as TOML integers instead of forcing everything to strings

Fix #259: default_model config now applies to all agents regardless of whether they have api_key_env or base_url set, and propagates those fields from the default config

Fix #247: Telegram HTML sanitizer rewritten to use character-based iteration instead of byte indexing, fixing panics on messages with multi-byte UTF-8 characters like emoji or CJK text

Fix #262: Hand activation now extracts environment variable names from the requires section (ApiKey and EnvVar types), so Twitter and other hands that declare env var requirements get those vars passed to their subprocess

Fix #271: Dashboard now shows proper empty states on the agents list, chat page (when no agent selected), models tab, and tools tab instead of blank space