Files
owlen/CHANGELOG.md

9.6 KiB
Raw Blame History

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 :keymap switching between Vim and Emacs layouts.
  • Rustdoc examples for core components like Provider and SessionController.
  • Module-level documentation for owlen-tui.
  • Provider integration tests (crates/owlen-providers/tests) covering registration, routing, and health status handling for the new ProviderManager.
  • 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_KEY environment variables when no key is stored in the config.
  • owlen config doctor, owlen config path, and owlen upgrade CLI 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.sh helper 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_basic theme 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 cloud subcommands (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_rows setting 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.layers and ui.animations settings to tune glass elevation, neon intensity, and opt-in micro-animations.
  • Adaptive transcript compactor with configurable auto mode, CLI opt-out (--no-auto-compress), and :compress commands for manual runs and toggling.
  • Command palette offers fuzzy :model filtering and :provider completions for fast switching.
  • Inline guidance overlay adds a three-step onboarding tour, keymap-aware cheat sheets (F1 / ?), and persists completion state via ui.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.
  • Automated TUI regression snapshots now cover mode transitions, keymap variants, accessibility presets, and multiple terminal breakpoints.
  • Cloud usage tracker persists hourly/weekly token totals, adds a :limits command, 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.md has been updated to be more concise and link to the new documentation.
  • Default configuration now pre-populates both providers.ollama and providers.ollama-cloud entries so switching between local and cloud backends is a single setting change.
  • McpMode support was restored with explicit validation; remote_only, remote_preferred, and local_only now 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_search tool now proxies through Ollama Clouds /api/web_search endpoint and is hidden whenever the active provider cannot reach the cloud. The legacy web.search alias stays enabled for older sessions.
  • owlen warns when the active terminal likely lacks 256-color support.
  • config.toml now carries a schema version (1.2.0) and is migrated automatically; deprecated keys such as agent.max_tool_calls trigger 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 :limits command, 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_search function 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.com endpoint and automatically attach the Authorization: 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, and monokai have been corrected.
  • In-App Help: The :help menu 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, and monokai have been corrected.
  • In-App Help: The :help menu 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 :o as 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/owlen on 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/sessions to 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.