Fixes:
- [#1097] workspace state_dir split — private state stays under
~/.openfang/, user workspace untouched - [#1085] dashboard WS auth aligned with HTTP middleware
- [#1038]
skill_list/skill_describe/skill_executeagent tools (replaces filesystem fallback) - [#1170]
require_signedwired throughPOST /api/skills/installwithallowed_signer_keysallow-list - [#1174]
POST /api/audit/appendendpoint for instance-side wrapper audit integration - [#1172] HAND.toml SHA-256 auto-logged to Merkle audit chain on every load
- [#780] Telegram
message_thread_idrouting per-topic to named agents - Codex audit findings on installer.rs binding check closed:
- CRLF and UTF-8 BOM normalization on both sides of compare
package.jsonadded to manifest candidate list- symlink and canonicalization escape protection
- TOCTOU closed via private staging dir plus atomic rename
Providers:
- [#995] Requesty added (
https://router.requesty.ai/v1) with 5 catalog entries - [#1154]
OLLAMA_HOST/LMSTUDIO_HOST/VLLM_HOST/LEMONADE_HOSTenv override for local providers
PR dispositions:
- closed: [#1185], [#1166], [#1162], [#1055], [#1044], [#1039], [#969]
- held pending external rebase: [#1151], [#997], [#1093], [#946] (all reviewed clean)
- author rework requested: [#943] (IDOR on session endpoints)
Tests: 2696+ across 14 crates, 0 clippy warnings.