- Introduce `MessageRenderContext` and `MessageCacheEntry` for caching wrapped lines per message. - Implement `render_message_lines_cached` using cache, invalidating on updates. - Add role/style helpers and content hashing for cache validation. - Throttle UI redraws in the main loop during active streaming (50 ms interval) and adjust idle tick timing. - Update drawing logic to use cached rendering and manage draw intervals. - Remove unused `role_color` function and adjust imports accordingly.
5.7 KiB
5.7 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.
- Rustdoc examples for core components like
ProviderandSessionController. - Module-level documentation for
owlen-tui. - 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. - Command palette offers fuzzy
:modelfiltering and:providercompletions for fast switching. - Message rendering caches wrapped lines and throttles streaming redraws to keep the TUI responsive on long sessions.
- 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.
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.
[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.