9.3 KiB
9.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Comprehensive documentation suite including guides for architecture, configuration, testing, and more.
- Emacs keymap profile alongside runtime
:keymapswitching between Vim and Emacs layouts. - Rustdoc examples for core components like
ProviderandSessionController. - Module-level documentation for
owlen-tui. - Provider integration tests (
crates/owlen-providers/tests) covering registration, routing, and health status handling for the newProviderManager. - TUI message and generation tests that exercise the non-blocking event loop, background worker, and message dispatch.
- Ollama integration can now talk to Ollama Cloud when an API key is configured.
- Ollama provider will also read
OLLAMA_API_KEY/OLLAMA_CLOUD_API_KEYenvironment variables when no key is stored in the config. owlen config doctor,owlen config path, andowlen upgradeCLI commands to automate migrations and surface manual update steps.- Startup provider health check with actionable hints when Ollama or remote MCP servers are unavailable.
dev/check-windows.shhelper script for on-demand Windows cross-checks.- Global F1 keybinding for the in-app help overlay and a clearer status hint on launch.
- Automatic fallback to the new
ansi_basictheme when the active terminal only advertises 16-color support. - Offline provider shim that keeps the TUI usable while primary providers are unreachable and communicates recovery steps inline.
owlen cloudsubcommands (setup,status,models,logout) for managing Ollama Cloud credentials without hand-editing config files.- Tabbed model selector that separates local and cloud providers, including cloud indicators in the UI.
- Footer status line includes provider connectivity/credential summaries (e.g., cloud auth failures, missing API keys).
- Secure credential vault integration for Ollama Cloud API keys when
privacy.encrypt_local_data = true. - Input panel respects a new
ui.input_max_rowssetting so long prompts expand predictably before scrolling kicks in. - Adaptive TUI layout with responsive 80/120-column breakpoints, refreshed glass/neon theming, and animated focus rings for pane transitions.
- Configurable
ui.layersandui.animationssettings to tune glass elevation, neon intensity, and opt-in micro-animations. - Command palette offers fuzzy
:modelfiltering and:providercompletions for fast switching. - Inline guidance overlay adds a three-step onboarding tour, keymap-aware cheat sheets (F1 /
?), and persists completion state viaui.guidance. - Status surface renders a layered HUD with streaming/tool indicators, contextual gauges, and redesigned toast cards featuring icons, countdown timers, and a compact history log.
- Published a TUI UX & keybinding playbook documenting modal ergonomics, command metadata, theming tokens, and animation policy.
- Cloud usage tracker persists hourly/weekly token totals, adds a
:limitscommand, shows live header badges, and raises toast warnings at 80 %/95 % of the configured quotas. - Message rendering caches wrapped lines and throttles streaming redraws to keep the TUI responsive on long sessions.
- Model picker badges now inspect provider capabilities so vision/audio/thinking models surface the correct icons even when descriptions are sparse.
- Chat history honors
ui.scrollback_lines, trimming older rows to keep the TUI responsive and surfacing a "↓ New messages" badge whenever updates land off-screen.
Changed
- The main
README.mdhas been updated to be more concise and link to the new documentation. - Default configuration now pre-populates both
providers.ollamaandproviders.ollama-cloudentries so switching between local and cloud backends is a single setting change. McpModesupport was restored with explicit validation;remote_only,remote_preferred, andlocal_onlynow behave predictably.- Configuration loading performs structural validation and fails fast on missing default providers or invalid MCP definitions.
- Ollama provider error handling now distinguishes timeouts, missing models, and authentication failures.
- The
web_searchtool now proxies through Ollama Cloud’s/api/web_searchendpoint and is hidden whenever the active provider cannot reach the cloud. The legacyweb.searchalias stays enabled for older sessions. owlenwarns when the active terminal likely lacks 256-color support.config.tomlnow carries a schema version (1.2.0) and is migrated automatically; deprecated keys such asagent.max_tool_callstrigger warnings instead of hard failures.- Model selector navigation (Tab/Shift-Tab) now switches between local and cloud tabs while preserving selection state.
- Header displays the active model together with its provider (e.g.,
Model (Provider)), improving clarity when swapping backends. - Documentation refreshed to cover the message handler architecture, the background health worker, multi-provider configuration, and the new provider onboarding checklist.
[0.2.0] - 2025-10-24
Added
- Cloud usage tracker now persists hourly and weekly token totals, exposes a
:limitscommand, and renders live gradient gauges in the header with 80 %/95 % toast notifications. - Web search tooling is available whenever Ollama Cloud is configured, giving the assistant automatic access to the
web_searchfunction with runtime toggles via:web on|off. Legacy dotted references continue to resolve through the alias layer. - Provider registry aggregates local and cloud Ollama models, including health checks, scope badges, and graceful fallback between providers.
- Release documentation covers the migration from v0.1, including the new config schema defaults, cloud setup guide, and troubleshooting steps for common errors.
Changed
- Workspace packages, distribution metadata, and README badges now report version
0.2.0. - Chat header adopts a cockpit layout powered by Ratatui 0.29 flex layouts and Tailwind-inspired gradients, clearly surfacing context and quota usage.
- Cloud requests now default to the canonical
https://ollama.comendpoint and automatically attach theAuthorization: Bearer <API_KEY>header resolved from config or environment variables. - Configuration templates enable both local (
providers.ollama) and cloud (providers.ollama_cloud) entries by default, complete with TTLs, context windows, and quota placeholders.
Fixed
- Selecting Ollama Cloud without a valid API key now surfaces actionable unauthorized toasts and falls back to the last working local provider instead of looping 401 responses.
- Rate-limited cloud responses raise non-fatal warnings so sessions remain usable while the usage tracker records the incident.
[0.1.11] - 2025-10-18
Changed
- Bump workspace packages and distribution metadata to version
0.1.11.
[0.1.10] - 2025-10-03
Added
- Material Light Theme: A new built-in theme,
material-light, has been added.
Fixed
- UI Readability: Fixed a bug causing unreadable text in light themes.
- Visual Selection: The visual selection mode now correctly colors unselected text portions.
Changed
- Theme Colors: The color palettes for
gruvbox,rose-pine, andmonokaihave been corrected. - In-App Help: The
:helpmenu has been significantly expanded and updated.
[0.1.9] - 2025-10-03
This version corresponds to the release tagged v0.1.10 in the source repository.
Added
- Material Light Theme: A new built-in theme,
material-light, has been added.
Fixed
- UI Readability: Fixed a bug causing unreadable text in light themes.
- Visual Selection: The visual selection mode now correctly colors unselected text portions.
Changed
- Theme Colors: The color palettes for
gruvbox,rose-pine, andmonokaihave been corrected. - In-App Help: The
:helpmenu has been significantly expanded and updated.
[0.1.8] - 2025-10-02
Added
- Command Autocompletion: Implemented intelligent command suggestions and Tab completion in command mode.
Changed
- Build & CI: Fixed cross-compilation for ARM64, ARMv7, and Windows.
[0.1.7] - 2025-10-02
Added
- Tabbed Help System: The help menu is now organized into five tabs for easier navigation.
- Command Aliases: Added
:oas a short alias for:load/:open.
Changed
- Session Management: Improved AI-generated session descriptions.
[0.1.6] - 2025-10-02
Added
- Platform-Specific Storage: Sessions are now saved to platform-appropriate directories (e.g.,
~/.local/share/owlenon Linux). - AI-Generated Session Descriptions: Conversations can be automatically summarized on save.
Changed
- Migration: Users on older versions can manually move their sessions from
~/.config/owlen/sessionsto the new platform-specific directory.
[0.1.4] - 2025-10-01
Added
- Multi-Platform Builds: Pre-built binaries are now provided for Linux (x86_64, aarch64, armv7) and Windows (x86_64).
- AUR Package: Owlen is now available on the Arch User Repository.
Changed
- Build System: Switched from OpenSSL to rustls for better cross-platform compatibility.