v0.2.0
What’s new
- Freebuff provider — new provider integration added to the provider registry.
- Account selection — discovered CLI accounts can be selectively enabled or reordered via a saved fallback order.
- CLI research boundary — native research answers are validated for inspectable source URLs before acceptance.
- Conversation history service — dedicated module for persisting and retrieving multi-turn context across sessions.
- Metrics endpoint — every request is now timed and status-recorded, feeding a /metrics endpoint.
- Appearance settings panel for theme and appearance preferences.
- Context-window tracker — frontend utility for tracking and displaying context-window usage.
- Six new bundled agent skills: imagegen, openai-docs, plugin-creator, review-agent, skill-creator, and skill-installer.
Fixed
- Removed eager model validation that broke startup after the model catalog consolidation.
- Removed obsolete Gemini provider alias.
- Fixed feedback delivery error handling.
- Fixed macOS startup window and public feedback path.
- Fixed AppImage extraction validation and cross-platform install release paths.
- Enforced saved permissions across internal tool paths and CLI bridge approvals.
Under the hood
- Backend decoupled from the Rust shell — the backend now ships as a Tauri resource read from disk at runtime instead of being embedded via include_bytes!, eliminating the need for Windows/macOS Rust compilation on every release.
- Windows installer assembled via NSIS on Linux — no Windows runner needed for most releases. macOS bundles are assembled from pre-built shells with codesign + DMG creation, no Rust compilation.
- Pre-built Tauri shell binaries cached as CI artifacts and reused across releases — the 1,800-line shell is only recompiled when its own code changes, not on every backend or frontend update.
- Post-release smoke tests — Windows and macOS runners download the published installers, launch the app, and verify the backend health endpoint responds, catching runtime regressions automatically.
- AppImage CI runtime independence — Linux AppImage builds no longer depend on the build-host runtime.
- Cross-platform artifact validation — release artifacts validated per-platform before publishing.
- Serialized release publishing to avoid race conditions between artifact upload and updater-metadata generation.
- Permission enforcement hardened across all internal tool paths; CLI bridge approvals authenticated; permission presets propagate to CLI sandboxes.
- mcp-server type safety — 18 TypeScript errors fixed across detectors, monitoring, and validation modules.
- Model catalog consolidated into a single registry — per-provider model definitions merged, simplifying new provider onboarding.
- Reasoning picker now data-driven — appears only when a provider explicitly reports reasoning capability, removing hardcoded per-provider assumptions.
- Browser-auth flows extracted into a strategy registry — OAuth, device-code, and CLI-login flows are self-contained strategies instead of central switch blocks.
- Process completion coordinator added for clean handoffs between worker pipelines and the orchestrator.
- Global error-handling middleware — structured response bodies, taxonomy-driven status codes, and correlation-ID logging.
- Seven Architecture Decision Records added under docs/adr/.
Security
- All package manifests, Tauri config, Cargo.toml, and app config aligned at 0.2.0; obsolete 1.0.x version tags and build artifacts removed.
- Bundle/backend compatibility checks remain fail-closed so a stale frontend cannot silently attach to a newer backend.