Some checks failed
CI / Check / macos-latest (push) Has been cancelled
CI / Check / ubuntu-latest (push) Has been cancelled
CI / Check / windows-latest (push) Has been cancelled
CI / Test / macos-latest (push) Has been cancelled
CI / Test / ubuntu-latest (push) Has been cancelled
CI / Test / windows-latest (push) Has been cancelled
CI / Clippy (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / Secrets Scan (push) Has been cancelled
CI / Install Script Smoke Test (push) Has been cancelled
167 lines
7.7 KiB
Markdown
167 lines
7.7 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to OpenFang will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [0.1.0] - 2026-02-24
|
|
|
|
### Added
|
|
|
|
#### Core Platform
|
|
- 15-crate Rust workspace: types, memory, runtime, kernel, api, channels, wire, cli, migrate, skills, hands, extensions, desktop, xtask
|
|
- Agent lifecycle management: spawn, list, kill, clone, mode switching (Full/Assist/Observe)
|
|
- SQLite-backed memory substrate with structured KV, semantic recall, vector embeddings
|
|
- 41 built-in tools (filesystem, web, shell, browser, scheduling, collaboration, image analysis, inter-agent, TTS, media)
|
|
- WASM sandbox with dual metering (fuel + epoch interruption with watchdog thread)
|
|
- Workflow engine with pipelines, fan-out parallelism, conditional steps, loops, and variable expansion
|
|
- Visual workflow builder with drag-and-drop node graph, 7 node types, and TOML export
|
|
- Trigger system with event pattern matching, content filters, and fire limits
|
|
- Event bus with publish/subscribe and correlation IDs
|
|
- 7 Hands packages for autonomous agent actions
|
|
|
|
#### LLM Support
|
|
- 3 native LLM drivers: Anthropic, Google Gemini, OpenAI-compatible
|
|
- 27 providers: Anthropic, Gemini, OpenAI, Groq, OpenRouter, DeepSeek, Together, Mistral, Fireworks, Cohere, Perplexity, xAI, AI21, Cerebras, SambaNova, Hugging Face, Replicate, Ollama, vLLM, LM Studio, and more
|
|
- Model catalog with 130+ built-in models, 23 aliases, tier classification
|
|
- Intelligent model routing with task complexity scoring
|
|
- Fallback driver for automatic failover between providers
|
|
- Cost estimation and metering engine with per-model pricing
|
|
- Streaming support (SSE) across all drivers
|
|
|
|
#### Token Management & Context
|
|
- Token-aware session compaction (chars/4 heuristic, triggers at 70% context capacity)
|
|
- In-loop emergency trimming at 70%/90% thresholds with summary injection
|
|
- Tool profile filtering (cuts default 41 tools to 4-10 for chat agents, saving 15-20K tokens)
|
|
- Context budget allocation for system prompt, tools, history, and response
|
|
- MAX_TOOL_RESULT_CHARS reduced from 50K to 15K to prevent tool result bloat
|
|
- Default token quota raised from 100K to 1M per hour
|
|
|
|
#### Security
|
|
- Capability-based access control with privilege escalation prevention
|
|
- Path traversal protection in all file tools
|
|
- SSRF protection blocking private IPs and cloud metadata endpoints
|
|
- Ed25519 signed agent manifests
|
|
- Merkle hash chain audit trail with tamper detection
|
|
- Information flow taint tracking
|
|
- HMAC-SHA256 mutual authentication for peer wire protocol
|
|
- API key authentication with Bearer token
|
|
- GCRA rate limiter with cost-aware token buckets
|
|
- Security headers middleware (CSP, X-Frame-Options, HSTS)
|
|
- Secret zeroization on all API key fields
|
|
- Subprocess environment isolation
|
|
- Health endpoint redaction (public minimal, auth full)
|
|
- Loop guard with SHA256-based detection and circuit breaker thresholds
|
|
- Session repair (validates and fixes orphaned tool results, empty messages)
|
|
|
|
#### Channels
|
|
- 40 channel adapters: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, Teams, Mattermost, Google Chat, Webex, Feishu/Lark, LINE, Viber, Facebook Messenger, Mastodon, Bluesky, Reddit, LinkedIn, Twitch, IRC, XMPP, and 18 more
|
|
- Unified bridge with agent routing, command handling, message splitting
|
|
- Per-channel user filtering and RBAC enforcement
|
|
- Graceful shutdown, exponential backoff, secret zeroization on all adapters
|
|
|
|
#### API
|
|
- 100+ REST/WS/SSE API endpoints (axum 0.8)
|
|
- WebSocket real-time streaming with per-agent connections
|
|
- OpenAI-compatible `/v1/chat/completions` API (streaming SSE + non-streaming)
|
|
- OpenAI-compatible `/v1/models` endpoint
|
|
- WebChat embedded UI with Alpine.js
|
|
- Google A2A protocol support (agent card, task send/get/cancel)
|
|
- Prometheus text-format `/api/metrics` endpoint for monitoring
|
|
- Multi-session management: list, create, switch, label sessions per agent
|
|
- Usage analytics: summary, by-model, daily breakdown
|
|
- Config hot-reload via polling (30-second interval, no restart required)
|
|
|
|
#### Web UI
|
|
- Chat message search with Ctrl+F, real-time filtering, text highlighting
|
|
- Voice input with hold-to-record mic button (WebM/Opus codec)
|
|
- TTS audio playback inline in tool cards
|
|
- Browser screenshot rendering in chat (inline images)
|
|
- Canvas rendering with iframe sandbox and CSP support
|
|
- Session switcher dropdown in chat header
|
|
- 6-step first-run setup wizard with provider API key help (12 providers)
|
|
- Skill marketplace with 4 tabs (Installed, ClawHub, MCP Servers, Quick Start)
|
|
- Copy-to-clipboard on messages, message timestamps
|
|
- Visual workflow builder with drag-and-drop canvas
|
|
|
|
#### Client SDKs
|
|
- JavaScript SDK (`@openfang/sdk`): full REST API client with streaming, TypeScript declarations
|
|
- Python client SDK (`openfang_client`): zero-dependency stdlib client with SSE streaming
|
|
- Python agent SDK (`openfang_sdk`): decorator-based framework for writing Python agents
|
|
- Usage examples for both languages (basic + streaming)
|
|
|
|
#### CLI
|
|
- 14+ subcommands: init, start, agent, workflow, trigger, migrate, skill, channel, config, chat, status, doctor, dashboard, mcp
|
|
- Daemon auto-detection via PID file
|
|
- Shell completion generation (bash, zsh, fish, PowerShell)
|
|
- MCP server mode for IDE integration
|
|
|
|
#### Skills Ecosystem
|
|
- 60 bundled skills across 14 categories
|
|
- Skill registry with TOML manifests
|
|
- 4 runtimes: Python, Node.js, WASM, PromptOnly
|
|
- FangHub marketplace with search/install
|
|
- ClawHub client for OpenClaw skill compatibility
|
|
- SKILL.md parser with auto-conversion
|
|
- SHA256 checksum verification
|
|
- Prompt injection scanning on skill content
|
|
|
|
#### Desktop App
|
|
- Tauri 2.0 native desktop app
|
|
- System tray with status and quick actions
|
|
- Single-instance enforcement
|
|
- Hide-to-tray on close
|
|
- Updated CSP for media, frame, and blob sources
|
|
|
|
#### Session Management
|
|
- LLM-based session compaction with token-aware triggers
|
|
- Multi-session per agent with named labels
|
|
- Session switching via API and UI
|
|
- Cross-channel canonical sessions
|
|
- Extended chat commands: `/new`, `/compact`, `/model`, `/stop`, `/usage`, `/think`
|
|
|
|
#### Image Support
|
|
- `ContentBlock::Image` with base64 inline data
|
|
- Media type validation (png, jpeg, gif, webp only)
|
|
- 5MB size limit enforcement
|
|
- Mapped to all 3 native LLM drivers
|
|
|
|
#### Usage Tracking
|
|
- Per-response cost estimation with model-aware pricing
|
|
- Usage footer in WebSocket responses and WebChat UI
|
|
- Usage events persisted to SQLite
|
|
- Quota enforcement with hourly windows
|
|
|
|
#### Interoperability
|
|
- OpenClaw migration engine (YAML/JSON5 to TOML)
|
|
- MCP client (JSON-RPC 2.0 over stdio/SSE, tool namespacing)
|
|
- MCP server (exposes OpenFang tools via MCP protocol)
|
|
- A2A protocol client and server
|
|
- Tool name compatibility mappings (21 OpenClaw tool names)
|
|
|
|
#### Infrastructure
|
|
- Multi-stage Dockerfile (debian:bookworm-slim runtime)
|
|
- docker-compose.yml with volume persistence
|
|
- GitHub Actions CI (check, test, clippy, format)
|
|
- GitHub Actions release (multi-platform, GHCR push, SHA256 checksums)
|
|
- Cross-platform install script (curl/irm one-liner)
|
|
- systemd service file for Linux deployment
|
|
|
|
#### Multi-User
|
|
- RBAC with Owner/Admin/User/Viewer roles
|
|
- Channel identity resolution
|
|
- Per-user authorization checks
|
|
- Device pairing and approval system
|
|
|
|
#### Production Readiness
|
|
- 1731+ tests across 15 crates, 0 failures
|
|
- Cross-platform support (Linux, macOS, Windows)
|
|
- Graceful shutdown with signal handling (SIGINT/SIGTERM on Unix, Ctrl+C on Windows)
|
|
- Daemon PID file with stale process detection
|
|
- Release profile with LTO, single codegen unit, symbol stripping
|
|
- Prometheus metrics for monitoring
|
|
- Config hot-reload without restart
|
|
|
|
[0.1.0]: https://github.com/RightNow-AI/openfang/releases/tag/v0.1.0
|