Skip to content

v0.2.0

Choose a tag to compare

@snonux snonux released this 07 Feb 19:48
· 540 commits to main since this release

Release v0.2.0

Release Notes

Overview

This release of Hexai delivers major improvements to usability, configuration, and in-editor experience. It introduces a new CLI tool, enhanced provider support (including Ollama and Copilot), more flexible configuration (with full environment variable overrides), and a streamlined documentation structure. The LSP server now offers smarter completions, better code actions, and improved performance. These changes make Hexai easier to set up, more adaptable to your workflow, and more powerful for both coding and general LLM tasks.


Features

New CLI Tool

  • hexai command-line tool: Process prompts or files directly from the terminal, with concise or verbose output modes.
    • Why it matters: Enables quick LLM-powered tasks outside the editor, such as summarization, code explanation, or command generation.

Provider Flexibility

  • Pluggable LLM providers: Now supports OpenAI, GitHub Copilot, and Ollama (local models), with easy provider selection via config or environment.
    • Why it matters: Lets you choose the best provider for your needs, including local/offline inference with Ollama.

Per-Provider Configuration

  • Provider-specific settings: Configure model, base URL, and temperature for each provider independently.
    • Why it matters: Fine-tune behavior and performance for each backend, ensuring optimal results for your workflow.

In-Editor Chat and Inline Features

  • In-editor chat triggers: Ask questions inline (e.g., ending a line with .., ??, !!, ::, or ;;) and get answers inserted directly below.
    • Why it matters: Makes it easy to get context-aware help or explanations without leaving your code.
  • Strict inline triggers: Use ;instruction; tags for selection-based code actions.
    • Why it matters: Enables precise, context-sensitive LLM actions within your code.

Enhanced Code Actions

  • Rewrite selection: Rewrite selected code based on inline instructions or comments.
  • Resolve diagnostics: Fix only the diagnostics overlapping your current selection.
    • Why it matters: Gives you fine-grained control over LLM-powered edits and fixes.

Improvements

Smarter and Faster Completions

  • Configurable trigger characters: Choose which characters trigger completions (now includes space by default).
  • Short-prefix and busy guards: Avoids unnecessary LLM calls for short prefixes or when a request is already in flight.
  • Tiny LRU cache: Caches recent completions for faster, more responsive editing.
    • Why it matters: Reduces latency, avoids duplicate suggestions, and minimizes distractions.

Flexible and Transparent Configuration

  • Full environment variable overrides: All config options can be set via HEXAI_* environment variables, with clear precedence rules.
  • Per-provider temperature defaults: Set coding-friendly temperature for each provider, or override globally.
    • Why it matters: Makes setup and tuning easy, especially in containerized or cloud environments.

Improved Logging and Diagnostics

  • Colorized logs: Easier to read and debug, with clear distinction between outgoing, incoming, and error messages.
  • LLM stats and metrics: Track averages and per-minute usage for better insight into LLM performance.
  • Preview limits: Control how much context is logged, protecting privacy and reducing noise.

Documentation and Usability

  • Documentation split: Clear separation of configuration and usage guides, with concrete examples for Helix and CLI.
  • Simplified flags and config: Only essential flags remain; everything else is handled via config file or environment.
    • Why it matters: Reduces setup friction and makes it easier to get started.

Bug Fixes

  • No duplicate assignment prefixes: Prevents repeated code fragments in completions.
  • Correct API key handling: CLI now respects provider-specific keys and does not require OpenAI key when using Ollama.
  • Markdown/code fence stripping: Removes unwanted formatting from LLM outputs in completions and code actions.
  • Robust inline trigger handling: Only strict ;instruction; forms are recognized, reducing accidental triggers.

Breaking Changes & Migration Notes

  • CLI and LSP split: The LSP server is now hexai-lsp; the CLI tool is hexai. Update your editor configuration and scripts accordingly.
  • Configuration file changes: Some config keys have changed or moved. See the new docs/configuration.md for details.
  • Environment variable precedence: All config options can now be overridden with HEXAI_* variables. Review your environment for conflicts.
  • Trigger characters: The default set has changed (e.g., ; and ? are no longer triggers by default). Update your config if you rely on these.
  • API key environment variables: Prefer HEXAI_OPENAI_API_KEY and HEXAI_COPILOT_API_KEY over the old names.

How to Upgrade

  1. Update your binaries: Replace previous hexai with the new hexai-lsp (for LSP) and hexai (for CLI).
  2. Review your configuration: Move or update your config file as needed. See docs/configuration.md.
  3. Check your editor integration: Update Helix or other editor configs to use hexai-lsp.
  4. Set environment variables: Use HEXAI_* variables for overrides and API keys.

Documentation


Thank you for using Hexai! Your feedback and contributions help make it better with every release.