Home Docs Examples Blog Changelog Star on GitHub
Release history

Changelog

Format: Keep a Changelog
Versioning: SemVer
Unreleased In development
0.2.2 September 12, 2026 Latest
Added
  • › The setup wizard now verifies your API key against the provider before saving it — a rejected key can be retyped instead of silently landing in the config, and an unreachable provider falls back to a "save anyway" prompt so setup still works offline
  • › Nine new wizard translations across all 8 locales for the verification and permission messages
Fixed
  • › The generated config is now escaped through the toml crate. An API key or custom model name containing a quote or backslash previously produced an unparseable file, which load_config silently discarded — leaving "No API key found" with a config file sitting on disk
  • › An empty API key now re-prompts instead of exiting
Security
  • › On Unix, the config file is created with 0600 and its directory with 0700. The file holds an API key in plain text and was previously left at the default umask, typically world-readable. An existing loosely-permissioned file is tightened on write
0.2.1 September 12, 2026
Changed
  • › AUR packages renamed from yaak-cli and yaak-cli-bin to getyaak and
  • › Both AUR packages now declare conflicts=('yaak-cli') for the shared
  • › The AUR upgrade hint from yaak --update now suggests getyaak-bin
  • › crates.io publishing moved to Trusted Publishing (OIDC), replacing the stored
  • › Homebrew tap and Scoop bucket pushes now mint a short-lived GitHub App
Fixed
  • › Scoop manifest updates, broken since 0.1.5, which left the bucket pinned at
0.2.0 September 12, 2026
Added
  • › Daily update check — yaak asks GitHub for the newest release at most once a day, in a detached background process, so it never delays the command you asked for; when a newer version is known yaak prints a one-line notice and offers to update, and declining is remembered per version so you are only asked once
  • › --no-update-check flag, YAAK_NO_UPDATE_CHECK environment variable and check_updates config option to turn the check off — it is also skipped automatically when stderr is not a terminal or CI is set
  • › Install-aware self-update — yaak --update detects whether yaak came from the install script, Homebrew, cargo, Nix, Scoop or the AUR, and either replaces the binary in place or offers to run the matching package-manager command
  • › update_* translations across all 8 locales
Changed
  • › yaak --update now queries the GitHub releases API through the existing HTTP client instead of shelling out to curl, and no longer pipes the install script over a package-manager install
Fixed
  • › Corrected an inconsistent test assertion
0.1.5 June 21, 2026
Changed
  • › Hardened destructive-command detection — sudo, doas, and pkexec prefixes (including flags like -u root, -E, --preserve-env) and env VAR=val wrappers are now stripped before matching destructive patterns (rm, dd, mkfs, …)
  • › Privilege-escalation commands (sudo/doas/pkexec) now trigger a dedicated warning and confirmation prompt; the system prompt allows sudo when genuinely needed (package installs, systemd, privileged ports) instead of forbidding it outright
  • › Updated the default Gemma model reference in the setup wizard from gemma3:4b to gemma4:e2b
Added
  • › sudo_warning and sudo_confirm translations across all 8 locales
  • › Examples page and recorded VHS demos on the landing site
  • › --shell-init <SHELL> shell integration (bash/zsh/fish): records the command
0.1.4 April 12, 2026
Added
  • › AUR, Nix, and Scoop package definitions for broader package manager support
  • › Blog generated from markdown sources
  • › Shell alias wizard step to create y → yaak shortcut for faster invocation
  • › Badges section to README (crates.io, CI status, license)
0.1.3 April 9, 2026
Fixed
  • › Fix i18n translations showing raw key names instead of translated text by removing invalid [_] TOML section headers from locale files
  • › Improve command label formatting — use a line break instead of leading spaces
0.1.2 April 8, 2026
Added
  • › --update / -U flag to self-update yaak to the latest version
  • › --feedback flag to open a pre-filled GitHub Issue in your browser with version and platform info
Changed
  • › Cache mode now uses BM25 fuzzy matching — similar descriptions hit the cache even when wording differs
  • › Updated landing page, docs, and README with BM25 cache details
0.1.1 April 8, 2026
Added
  • › --feedback flag to open a pre-filled GitHub Issue in your browser with version and platform info
  • › Troubleshooting section in documentation for zsh glob expansion issues
0.1.0 April 8, 2026
Added
  • › Multi-language support — UI available in English, German, Spanish, French, Portuguese, Chinese, Japanese, and Korean
  • › Destructive command override (--force / -f flag and allow_destructive config option) — destructive commands now prompt for confirmation instead of being hard-blocked
0.0.12 April 8, 2026
Added
  • › Google Gemini as a native API provider with streaming support and model suggestions
  • › Curl install command in the landing page CTA section for easier onboarding
0.0.11 April 7, 2026
Added
  • › Doubleword as a provider (https://api.doubleword.ai/v1) with suggested models
0.0.10 April 7, 2026
Added
  • › -v / --version flag to print version number
  • › Refine option in the What next? prompt — iteratively adjust generated commands without restarting
0.0.9 April 7, 2026
Added
  • › Documentation page with full CLI reference, sticky sidebar TOC, and flag table
  • › Curl-based install script (curl -fsSL https://getyaak.ai/install.sh | bash) with SHA256 checksum verification
  • › Mobile hamburger menu for responsive navigation
Fixed
  • › API key no longer required for local providers (Ollama, LM Studio, vLLM, LocalAI)
0.0.8 April 7, 2026
Added
  • › Contextual awareness (--context) — auto-detects project type, git branch, and file listing to enrich LLM prompts
  • › Current working directory always included in system prompt for path-aware commands
  • › Offline cache mode (--cache / --no-cache) — reuse cached results for identical descriptions, skip API calls
Fixed
  • › Landing page footer license corrected from MIT to Apache-2.0
0.0.7 April 6, 2026
Added
  • › Streaming LLM output with real-time token display and dot progress indicator
  • › Command history with --history / -H, --last / -l, and --search / -s for recall, re-execution, and keyword search
  • › Shell completion generation (--completions <bash|zsh|fish>) via clap_complete
  • › Clipboard integration (--copy / -C) to copy generated commands; interactive prompt now offers Execute / Copy / Abort
Fixed
  • › Terminal demo animation bug where all lines after "Thinking..." overwrote the same element
0.0.6 April 6, 2026
Added
  • › Interactive configuration wizard (--config / -c) with provider selection, model picker, and API key prompt
  • › Homebrew install option on landing page (brew tap hanneshapke/yaak && brew install yaak)
Changed
  • › Refactored main.rs into modules (api, config, command, explain, wizard) for maintainability
0.0.5 April 5, 2026
Added
  • › Native Anthropic API support with auto-detection based on API base URL or model name
  • › Automated crates.io publishing in CI on tag push, with version-tag consistency check
Fixed
  • › Landing page GitHub links now point to the correct hanneshapke/yaak repository
0.0.4 April 5, 2026
Added
  • › Reverse/explain mode (-r/--reverse/-e/--explain) that takes a shell command and returns a detailed visual breakdown with per-token explanations, examples, and caution warnings
  • › Package metadata (license, homepage, repository) in Cargo.toml for crates.io publishing
0.0.3 April 5, 2026
Added
  • › Safety check that blocks destructive commands (rm, dd, mkfs, shred, wipefs, etc.) before execution
  • › Detection of sudo variants of dangerous commands in piped and chained command sequences
0.0.2 April 5, 2026
Added
  • › OS and shell detection injected into LLM system prompt for platform-appropriate commands
  • › Config file lookup at ~/.config/yaak/config.toml (XDG-style) with fallback to platform-native config dir
Changed
  • › Commands now run in the user's actual shell ($SHELL) instead of hardcoded bash
  • › Switched reqwest from native-tls to rustls-tls for easier cross-compilation
Fixed
  • › Config file not found on macOS where dirs::config_dir() returns ~/Library/Application Support
  • › LLM generating GNU/Linux-specific flags (e.g. find -printf) on macOS
0.0.1 April 4, 2026
Added
  • › Natural language to bash command translation via OpenAI-compatible /v1/chat/completions endpoint
  • › Configuration via CLI flags (--api-key, --api-base, --model), environment variables (YAAK_API_KEY, YAAK_API_BASE, YAAK_MODEL), and config file (~/.config/yaak/config.toml)
  • › Configuration resolution order: CLI flags → env vars → config file → defaults
  • › Interactive confirmation prompt before command execution, with --yes / -y flag to skip
  • › Smart command extraction from markdown fenced code blocks and $ -prefixed lines
  • › Colored terminal output for errors, commands, and status messages
  • › Support for any OpenAI-compatible provider (OpenAI, Ollama, Groq, Together AI, OpenRouter, vLLM, LM Studio, LocalAI)
  • › Cross-platform CI pipeline with GitHub Actions (lint, test, build)
  • › Prebuilt binaries for Linux (x86_64, aarch64), macOS (x86_64, aarch64), and Windows (x86_64)
  • › Shell completion generation for bash, zsh, and fish via yaak --completions <shell>