v0.3.37

RightNow-AI/openfangv0.3.37Mar 9, 2026by jaberjaber23

AI Summary

A community bug fix batch addressing tool name mapping, provider key loading, and specific fixes for Telegram and Discord integrations.

Key Highlights

  • Tool name mapping normalizes hallucinated aliases to canonical names.
  • Provider keys not loading issue fixed; dashboard saves take effect immediately.
  • Moonshot/kimi model catalog IDs fixed.
  • Telegram reactions added with fire-and-forget lifecycle emojis.
  • Discord ignore_bots config option added.

New Features

  • Text tool call parsing fallback added for models without native function calling.
  • Telegram proxy support added via configurable `api_url`.
  • Linux init crash fixed with 7-browser fallback cascade.

Full Release Notes

## Fixes

- **Tool name mapping** (#349): LLM-hallucinated aliases (`fs-write`, `fsRead`, `writeFile`, etc.) normalize to canonical names before both capability check and dispatch
- **Provider keys not loading** (#465, #458, #355): Fresh drivers created on every request reading current env vars. Dashboard key saves take effect immediately without restart
- **Moonshot/kimi** (#428): Fixed model catalog IDs (`kimi-k2`, `kimi-k2.5`) and provider inference from model name
- **Telegram reactions** (#435): Fire-and-forget lifecycle emoji (⏳→🤔→⚙️→✅/❌)
- **Telegram proxy** (#477): Configurable `api_url` for custom API mirrors/proxies
- **Discord ignore_bots** (#403): Config option to allow bot-to-bot interactions, self-loop prevention
- **Linux init crash** (#389): 7-browser fallback cascade, always prints URL for manual open
- **Text tool call parsing** (#354, #332): Fallback parser for models without native function calling — `[TOOL_CALL]`, `<tool_call>`, bare JSON patterns with 25 tests

## Also closed
- #358, #388, #420, #319, #261 — stale/already-fixed issues

## Stats
14 files changed, 1180 insertions, 94 deletions, 1948 tests pass, 0 clippy warnings