vibe/CHANGELOG.md
Clément Drouin c2cb612ac1
v2.16.0 (#798)
Co-authored-by: Hdandria <henri.dandria@mistral.ai>
Co-authored-by: Liam Lyons <65613603+lyons-liam@users.noreply.github.com>
Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Quentin <quentin.torroba@mistral.ai>
Co-authored-by: allansimon-mistral <allan.simon@ext.mistral.ai>
Co-authored-by: angelapopopo <angele.lenglemetz@mistral.ai>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
2026-06-15 17:36:21 +02:00

33 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.

[2.16.0] - 2026-06-15

Added

  • Fuzzy search in slash command autocomplete
  • Syntax-highlighted, line-numbered, theme-aware diffs for file edits

Changed

  • /resume now scopes the session picker to the current folder
  • Clipboard copy confirmations now appear inline instead of stacking toast notifications
  • ACP teleports now use the client title as the Vibe Code project name when no explicit project name is configured

Fixed

  • ACP max-output-token responses now stop gracefully with max_tokens instead of surfacing internal errors
  • Context-too-long responses wrapped as HTTP 422 are now classified correctly
  • SSE streams are parsed on CR/LF boundaries only, avoiding crashes on valid Unicode line separators in JSON strings
  • CLI banner now shows the Free plan correctly
  • Mistral backend no longer sends reasoning content when model thinking is off

[2.15.0] - 2026-06-12

Added

  • [Experimental] before_tool and after_tool hooks: shell scripts declared in hooks.toml that fire around every tool call; hooks can deny the call, rewrite tool inputs, or append context to the output — enable with enable_experimental_hooks = true
  • Message queue: messages typed while the agent or a !bash command is running are queued and shown above the input; Esc pauses the queue, Ctrl+C drops the last queued message (LIFO), Enter flushes the queue when paused
  • Tool result output is now collapsed by default to keep responses scannable
  • Common read-only shell commands (ls, cat, pwd, etc.) are allowed without approval by default
  • Session deletion available directly from the resume picker
  • [mcp_servers.auth] block in config for per-server MCP authentication
  • Collapsed web tool output now shows the URL and search query at a glance
  • max_turns support exposed over ACP via set_config_option

Changed

  • Compaction now re-injects prior user messages so the agent retains the original task goals across context resets
  • [Breaking — experimental hooks] post_agent_turn retries no longer use exit code 2; hooks must now exit 0 and return {"decision": "deny", "reason": "..."} on stdout to trigger a retry — exit code 2 is treated as a failure
  • Model refusal stop reason is now surfaced to the user instead of stopping silently

Fixed

  • CLI UI no longer goes blank during app switches
  • User messages are preserved correctly across repeated compactions
  • Non-UTF-8 input is handled gracefully across all CLI surfaces
  • --resume now shows history when launched from a dangerous directory
  • Startup no longer crashes in unowned folders or when a git ancestor is unreadable
  • Plain-string answers from web_search are handled without crashing
  • NaN SGR mouse reports no longer leak into the chat input

[2.14.1] - 2026-06-08

Added

  • /teleport slash command exposed over ACP, mirroring the TUI command for IDE integrations
  • Startup prompt to install a pending Vibe update before continuing the session

Fixed

  • JetBrains IDEs no longer trigger a preemptive auth prompt over ACP and no longer drop terminal arguments
  • Initial ACP slash-command advertisement is delayed so Zed registers commands like /help instead of rejecting them
  • Built-in tool prompts no longer reference the removed search_replace name and now point to edit

[2.14.0] - 2026-06-04

Added

  • Image attachments via @-mentions in the TUI for vision-capable models
  • Session deletion, exposed over ACP as the session/delete extension method
  • Browser sign-in now shows a copyable fallback URL when the browser does not open, so SSH and remote sessions can complete onboarding
  • Toast notification when a SKILL.md file fails to parse instead of silently dropping the skill
  • Trust prompt now proposes the git repository ancestor as a trust target
  • EnvironmentLayer in the layered configuration, populated from VIBE_-prefixed environment variables

Changed

  • New tool-call format for read and the file edit tool
  • write_file is now create-only and refuses to overwrite existing files
  • Bumped agent-client-protocol to 0.10.1

Fixed

  • LLM calls now retry on network errors and timeouts (connection, read, write, remote protocol, timeout)
  • Approval modal now sizes itself so the bottom of long tool-call payloads stays visible above the options block
  • Banner connector count and /mcp panel ordering now reflect which connectors are actually usable and the user's enable/disable choices
  • disabled_tools from runtime is merged with the TOML configuration instead of replacing it, and is enforced inside ToolManager.get()
  • shift+backspace and shift+delete now work in the chat input
  • Crash in the ACP todo plan-update handler when the model's tool call failed validation

Removed

  • Recursive search for nested harness files

[2.13.0] - 2026-05-29

Added

  • enable_system_trust_store config flag to switch the shared SSL context to the OS trust store for corporate TLS / private CA setups

Changed

  • MCP HTTP transport now uses Vibe's shared SSL context so it honors SSL_CERT_FILE / SSL_CERT_DIR and the system trust store opt-in
  • API key onboarding and plan-upgrade CTAs now link to the new Mistral Vibe Code extensions page
  • Compaction summaries are now injected into the conversation instead of replacing it

Fixed

  • Crash during initialization
  • VS Code extension promo banner now sits at the top of the conversation instead of being pinned above the input

[2.12.1] - 2026-05-27

Fixed

  • VS Code extension promo link in the CLI banner now points to the renamed mistralai.mistral-vibe-code extension

[2.12.0] - 2026-05-27

Changed

  • /teleport now uses the new Vibe Code Web sessions

[2.11.1] - 2026-05-27

Added

  • Custom compaction prompts via the compaction_prompt_id config setting, resolved from ~/.vibe/prompts/ or .vibe/prompts/
  • --max-tokens flag for programmatic mode (-p)
  • ACP _auth/status and _auth/signOut extension methods so IDE extensions can show auth state and sign the user out
  • Auth source assessment in vibe.setup.auth to classify the active credential source
  • VS Code extension promo line in the CLI banner when launched from a VS Code, Cursor, or VS Code Insiders terminal
  • OverridesLayer and ProjectConfigLayer for the layered configuration system

Changed

  • Programmatic mode (-p) no longer auto-approves tool calls by default
  • Browser sign-in is enabled by default for Mistral providers; the enable_experimental_browser_sign_in flag is no longer required (stale entries are silently ignored)
  • Compaction quality improved
  • Refreshed user message styling and slash/teleport variants
  • /teleport to Vibe Code Web now carries the working diff and last commit, matching the legacy teleport
  • Reworded /teleport help and completion copy to say "Vibe Code Web"

Removed

  • Zed extension publishing job from the release workflow

[2.11.0] - 2026-05-25

Added

  • Load skills from ~/.agents/skills so they can be shared across agents
  • Restore the textual theme selection system with an onboarding theme picker
  • Surface unauthenticated connectors in /mcp with needs auth / needs setup labels and start the OAuth flow from inside the CLI
  • Current date injected into the system prompt
  • minimal system prompt variant for eval and training

Changed

  • Refreshed manual API key onboarding screen to match the new onboarding panel layout
  • Newly discovered connectors are now disabled by default; existing user choices are preserved

Fixed

  • Preserve original line endings in ACP search_replace
  • Show MCP/connectors count as enabled/total in the banner
  • ACP grep tool displays the search path as a chip and no longer drops the filename

[2.10.1] - 2026-05-20

Added

  • Pretty session titles that format @mention syntax for human-readable display
  • Auto-emit SessionInfoUpdate on the first prompt so IDE session pickers reflect the title immediately
  • End-to-end layered config read path with TomlFileLayer, ConfigBuilder, and ConfigOrchestrator

Fixed

  • MCP menu no longer shows D/E shortcuts in the detail view when there are no tools to enable or disable
  • Parallel bash tool calls in ACP each render their own live terminal instead of racing on shared state

[2.10.0] - 2026-05-19

Added

  • GrowthBook A/B testing layer with first system prompt experiment
  • --add-dir flag to pull additional repository roots into a session
  • --no-autofill flag for bump_version.py script
  • TTY-keyed --continue scoping to current terminal
  • Improved plan mode readability with live-editable plan display (Ctrl+G to edit)
  • ACP dispatch user rating telemetry
  • enable_connectors config flag to control connector availability
  • Connectors migrated to public GA endpoints

Changed

  • Combine git subprocess calls in SessionLogger for improved performance by @MichisGitIsKing
  • Indent assistant message content to align with other messages
  • Deprecate retrying workflow status and expose retry source
  • Drop consecutive user-message merging in LLM backends

Fixed

  • Share session permissions with subagents
  • Bump pydantic-settings to >=2.13.0
  • Avoid closing in-use backend on agent reload
  • Slash commands broken when automatic IDE context is enabled
  • Debounce tool approvals to avoid interrupting user typing
  • Preserve newline style in search_replace
  • Reset cursor position on up-arrow
  • Remove hardcoded API key env var in websearch
  • Fix whoami hardcoded url
  • Pin dependencies in published wheel

[2.9.6] - 2026-05-11

Added

  • Syntax-highlighted file diffs for write_file and search_replace in the IDE agent webview
  • Spinner and loader for ! (bang) command output
  • prepare release script can resume after resolving merge conflicts

Fixed

  • Strip wildcard suffix when persisting bash allowlist patterns
  • Build a combined SSL context for all outbound HTTPS requests
  • Hide non-interactive tools from the LLM in ACP and programmatic mode

[2.9.5] - 2026-05-06

Added

  • /loop command to run a prompt or slash command on a recurring interval
  • default_agent config setting
  • Telemetry instrumentation for the teleport command
  • Logging environment variables documented in --help

Changed

  • enable_telemetry now takes precedence over enable_otel

Fixed

  • Non-retryable errors raised by sub-activities now correctly stop the retry when the agent loop runs inside a Temporal activity (deepens the 2.9.4 fix to walk the exception cause chain)
  • Compacted session IDs displayed correctly
  • Reload the history file before writing so parallel instances don't clobber each other
  • read_file flagged as truncated when the limit is reached
  • CLI loader left-alignment
  • Default scroll sensitivity in the TUI restored
  • Loosened the "no git commit" constraint
  • Ensure enable_telemetry takes precedence over enable_otel

[2.9.4] - 2026-05-05

Added

  • /rename command to rename the current session
  • feat: vibe.at_mention_inserted telemetry event
  • "Always allow" tool permissions persist across sessions
  • Eager agent-loop warmup so vibe.ready telemetry fires sooner

Changed

  • bash (!command) bang commands run via async subprocess for better latency
  • Bumped mistral SDK to 2.4.4
  • Bumped cryptography to address upstream CVEs

Fixed

  • Preserve non_retryable flag on exceptions raised through _chat / _chat_streaming, so callers driving the agent loop from a Temporal activity can signal "do not retry"
  • /clear no longer chains parent_session_id to the previous session
  • vibe.new_session telemetry no longer fires when resuming a session

Removed

  • Windows ARM build artifacts (no longer published; required to bump cryptography)

[2.9.3] - 2026-04-30

Added

Changed

Fixed

  • Fix textual version

Removed

[2.9.2] - 2026-04-29

Fixed

  • Teleport surfaces the latest GitHub connection status while polling

[2.9.1] - 2026-04-29

Added

  • Connector OAuth authentication flow in /mcp menu
  • ConfigPatch operation types for Vibe Code
  • extra_headers field to ProviderConfig
  • Structured metadata on ACP tool results
  • vibe.user_cancelled_action ACP telemetry coverage
  • vibe.new_session telemetry event emitted whenever the session is reset

Changed

  • Migrated default model to mistral-medium-3.5

[2.9.0] - 2026-04-28

Added

  • Scratchpad directory for temporary working files shared with subagents
  • /copy slash command
  • Experimental hooks system with post-agent-turn lifecycle
  • OpenAI Responses API adapter
  • ACP session fork and session close support
  • Thinking level picker in ACP CLI
  • --trust session-only flag and fail-fast behavior in -p mode
  • Opus 4.7 model support
  • ConfigLayer for layered configuration resolution
  • ~/.vibe/prompts overrides for builtin prompts
  • Enable/disable MCP servers and individual tools from /mcp menu
  • Custom compaction instructions via /compact
  • vibe.ready telemetry event
  • Usage updates sent after every LLM turn for ACP
  • Headless section in system prompt to prevent bad model behavior

Changed

  • Renamed auto_approve config to bypass_tool_permissions
  • Increased feedback bar frequency with cooldown and TOML cache
  • Feedback bar only shown when active model is Mistral
  • Centralized telemetry metadata construction and wired through entrypoints
  • Preserved stable session identity across compact/fork/rewind
  • Filtered remote sessions by current user and deduped continue-as-new
  • --continue now only looks for sessions of the current working directory
  • Batched widget mounts and narrowed CSS selectors for UI performance

Fixed

  • Autocomplete popup height calculation for wrapped lines
  • Autocomplete popup dismissed on tab completion and escape
  • Double Ctrl+C/Ctrl+D required to quit instead of killing session immediately
  • Context window overrun now shows a friendly error message
  • MallocStackLogging error messages suppressed in CLI input
  • index.lock leftover on interrupted deferred init
  • Safe find commands allowed by default
  • Session ID preserved when resuming sessions through ACP
  • Usage updates sent after tool results instead of tool streams in ACP
  • KV cache warming via x-affinity in count tokens

[2.8.1] - 2026-04-21

Fixed

  • Fixed changelog and whats_new

[2.8.0] - 2026-04-21

Added

  • Builtin skills system with self-awareness skill
  • cwd configuration parameter for MCP stdio servers
  • /connectors as alias for /mcp and R refresh shortcut in MCP browser
  • MergeFieldMetadata and annotated merge strategy helpers for config schemas
  • vibe.request_sent telemetry event fired before each LLM API call
  • Model alias to tool_call_finished telemetry event

Changed

  • Deferred heavy init in subagents and ACP sessions to background thread
  • Renamed request_sent telemetry fields and added nb_prompt_chars
  • Sorted connectors in /mcp menu by connection state then alphabetically

Fixed

  • /debug command no longer throws
  • Race condition in banner initialization dropping initial state

Removed

  • /terminal-setup command

[2.7.6] - 2026-04-16

Added

  • MergeStrategy enum and merge logic for configuration
  • call_source=vibe_code field in LLM request metadata
  • "Other" task type for non-code requests in CLI prompt

Changed

  • Parallelized git subprocess calls during startup
  • Extracted command registry and refactored skill resolution
  • 1M context window and thinking budget max for opus
  • Updated default telemetry URL to api.mistral.ai

Fixed

  • Markdown fence context loss causing streaming rendering problems
  • Proxy chain URLs in api_base parsing

Removed

  • Alt+Left / Alt+Right key bindings from chat input

[2.7.5] - 2026-04-14

Changed

  • Display detected files and LLM risks in trust folder dialog
  • Text-to-speech via the Mistral SDK with telemetry tracking
  • Deferred MCP and git I/O to background thread for faster CLI startup
  • Made telemetry URL configurable
  • Bumped Textual to 8.2.1

Fixed

  • Encoding detection fallback in read_safe for non-UTF-8 files
  • Config saving logic cleanup

[2.7.4] - 2026-04-09

Added

  • Console View for enhanced debugging and monitoring
  • /mcp command to display MCP servers and their status
  • Manual command output forwarding to agent context

Changed

  • Improved web_fetch content truncation for better readability
  • Lazily load heavy dependencies to improve startup time
  • Optimized folder parsing at startup using scandir
  • Include file name in search_replace result display

Fixed

  • Stale configurations from subagent switch
  • ValueError on OTEL context detach in agent_span
  • Clipboard toast preview replaced with fixed text
  • Only agents with type "agent" are loadable with --agent flag
  • Made chat_url nullable in ChatAssistantPublicData
  • Normalized OTEL span exporter endpoint
  • Removed redundant permission prompts for parallel tool calls needing the same permission
  • Removed bottom margin issue in UI
  • Never crash before ACP server starts
  • Use skill in recent commands via the up-arrow navigation
  • Fixed loading order issues in vibe initialization

[2.7.3] - 2026-04-03

Added

  • /data-retention slash command to view Mistral AI's data retention notice and privacy settings

[2.7.2] - 2026-04-01

Added

  • Alt+Left / Alt+Right keyboard shortcuts for word-wise cursor movement in chat input

Changed

  • Refactored narrator into a dedicated narrator manager

Fixed

  • Broken build on Linux
  • Errored MCP servers are now excluded from the banner count
  • Improved bash denylist matching and error messages
  • Command messages are now skipped during rewind navigation

[2.7.1] - 2026-03-31

Added

  • ACP message-id support for reliable message boundary identification
  • Reasoning effort parameter for supported models

Changed

  • Updated MistralAI SDK
  • Updated ACP SDK dependency
  • Refined system prompt wording and structure
  • Reduced scroll sensitivity to 1 line per tick for smoother scrolling

Fixed

  • Non-standard HTTP 529 status codes now handled gracefully in error formatting and retried
  • Text selection errors when copying from unmounting components
  • Excluded "injected" field from user messages in generic backend

[2.7.0] - 2026-03-24

Added

  • Rewind mode to navigate and fork conversation history

Fixed

  • Preserve message_id when aggregating streaming LLM chunks
  • Improved error handling for SDK response errors

[2.6.2] - 2026-03-23

Changed

  • Pinned agent-client-protocol dependency back to 0.8.1

Removed

  • Context usage updates via ACP

[2.6.1] - 2026-03-23

Changed

  • Loosened agent-client-protocol version constraint from pinned to minimum bound

[2.6.0] - 2026-03-23

Added

  • OTEL tracing support for observability
  • Skill tool for managing task lists and workflows
  • Text-to-speech (TTS) functionality
  • Standalone --resume command for session picker
  • BFS for vibe folders to improve startup performance
  • List-based model picker for /model command
  • is_user_prompt flag to Mistral metadata header
  • Correlation ID in user feedback calls
  • Current date added to system prompt in vibe-work
  • TypeScript type inference for large tool outputs in vibe-work-harness

Changed

  • Updated agent-client-protocol to 0.9.0a1
  • Changed inline code color from yellow to green
  • Removed "You have no internet access" from CLI prompt
  • Fine-grained permission system improvements
  • Inject system certs into vibe-acp frozen binary via truststore

Fixed

  • Streaming for currently streamed message when switching agents
  • Proper UI updates when tools switch current agents
  • Space key functionality when holding shift
  • Empty TextChunk not appended when reasoning has no text content
  • Messages removed from user feedback event
  • Bash allowlist/denylist activation on Windows
  • Improved scrolling performance
  • ACP error handling in webview
  • Context usage updates sent via ACP
  • Include exit_plan_mode tool only in plan mode

[2.5.0] - 2026-03-16

Added

  • Dedicated theorem proving agent powered by leanstral, setup with /leanstall
  • More advanced AGENTS.md support:
    • AGENTS.md in ~/.vibe/ folder for user-level agent instructions
    • AGENTS.md for subfolders and in parent folders
  • Mistral Code API key info displayed in CLI banner
  • Voice mode with real-time transcription support
  • Parallel tool execution for improved performance
  • Structured ACP error classes for better error handling

Changed

  • Bash allowlist/denylist now active on Windows
  • Auto-completion relevance improved with better filename and path matching
  • History navigation no longer filters by prefix
  • Updated to Mistral SDK v2 import structure
  • Removed find from bash default allowlist to prevent -exec abuse

Fixed

  • Improved scrolling performance
  • Web search tool now infers server URL from provider config

[2.4.2] - 2026-03-12

Added

  • Session ID included in telemetry events for better tracing

Changed

  • Skills now extract arguments when invoked, improving parameter handling
  • Auto-compact threshold falls back to global setting when not defined at model level
  • Update notification toast no longer times out, ensuring the user sees the restart prompt
  • Removed file_content_before from Vibe Code, reducing payload size

[2.4.1] - 2026-03-10

Added

  • HarnessFilesManager for selective loading of harness files, enabling SDK usage without accessing the file system.

Changed

  • Web search tool infers server URL from provider config instead of hardcoded production API
  • ask_user_questions tool disabled in prompt mode

Fixed

  • Space key fix extended to all Input widgets (question prompts, proxy setup) in VS Code terminal
  • Ruff isort/formatter config conflict resolved (split-on-trailing-comma set to false)

[2.4.0] - 2026-03-09

Added

  • User plan displayed in the CLI banner
  • Reasoning effort configuration and thinking blocks adapter

Changed

  • Auto-compact threshold is now per-model
  • Removed expensive file scan from system prompt; cached git operations for faster agent switching
  • Improved plan mode
  • Updated whoami response handling with new plan type and name fields

Fixed

  • Space key works again in VSCode 1.110+
  • Arrow-key history navigation at wrapped-line boundaries in chat input
  • UTF-8 encoding enforced when reading metadata files
  • Update notifier no longer crashes on unexpected response fields

[2.3.0] - 2026-02-27

Added

  • /resume command to choose which session to resume
  • Web search and web fetch tools for retrieving and searching web content
  • MCP sampling support: MCP servers can request LLM completions via the sampling protocol
  • MCP server discovery cache (MCPRegistry): survives agent switches without re-discovering unchanged servers
  • Chat mode for ACP (session/set_config_options with mode=chat)
  • ACP session/set_config_options support for switching mode and model
  • Tool call streaming: tool call arguments are now streamed incrementally in the UI
  • Notification indicator in CLI: terminal bell and window title change on action required or completion
  • Subagent traces saved in agents/ subfolder of parent session directory
  • IDE detection in new_session telemetry
  • Discover agents, tools, and skills in subfolders of trusted directories (monorepo support)
  • E2E test infrastructure for CLI TUI

Changed

  • System prompts rewritten for improved model behavior (3-phase Orient/Plan/Execute workflow, brevity rules)
  • Tool call display refactored with ToolCallDisplay/ToolResultDisplay models and per-tool UI customization
  • Middleware pipeline replaces observer pattern for system message injections
  • Improved permission handling for write_file, read_file, search_replace (allowlist/denylist globs, out-of-cwd detection)
  • Proxy setup UI updated with guided bottom-panel wizard
  • Smoother color transitions in CLI loader animation
  • Dead tool state classes removed (Grep, ReadFile, WriteFile state)

Fixed

  • Agent switch (Shift+Tab) no longer freezes the UI (moved to thread worker)
  • Empty assistant messages are no longer displayed
  • Tool results returned to LLM in correct order matching tool calls
  • Auto-scroll suspended when user has scrolled up; resumes at bottom
  • Retry and timeout handling in Mistral backend (backoff strategy, configurable timeout)

Removed

[2.2.1] - 2026-02-18

Added

  • Multiple clipboard copy strategies: OSC52 first, then pyperclip fallback when system clipboard is available (e.g. local GUI, SSH without OSC52)
  • Ctrl+Z to put Vibe in background

Changed

  • Improve performance around streaming and scrolling
  • File watcher is now opt-out by default; opt-in via config
  • Bump Textual version in dependencies
  • Inline code styling: yellow bold with transparent background for better readability

Fixed

  • Banner: sync skills count after initial app mount (fixes wrong count in some cases)
  • Collapsed tool results: strip newlines in truncation to remove extra blank line
  • Context token widget: preserve stats listeners across /clear so token percentage updates correctly
  • Vertex AI: cache credentials to avoid blocking the event loop on every LLM request
  • Bash tool: remove NO_COLOR from subprocess env to fix snapshot tests and colored output

[2.2.0] - 2026-02-17

Added

  • Google Vertex AI support
  • Telemetry: user interaction and tool usage events sent to datalake (configurable via enable_telemetry)
  • Skill discovery from .agents/skills/ (Agent Skills standard) in addition to .vibe/skills/
  • ACP: session/load and session/list for loading and listing sessions
  • New model behavior prompts (CLI and explore)
  • Proxy Wizard (PoC) for CLI and for ACP
  • Proxy setup documentation
  • Documentation for JetBrains ACP registry

Changed

  • Trusted folders: presence of .agents is now considered trustable content
  • Logging handling updated
  • Pin cryptography to >=44.0.0,<=46.0.3; uv sync for cryptography

Fixed

  • Auto scroll when switching to input
  • MCP stdio: redirect stderr to logger to avoid unwanted console output
  • Align pyproject.toml minimum versions with uv.lock for pip installs
  • Middleware injection: use standalone user messages instead of mutating flushed messages
  • Revert cryptography 46.0.5 bump for compatibility
  • Pin banner version in UI snapshot tests for stability

[2.1.0] - 2026-02-11

Added

  • Incremental load of long sessions: windowing (20 messages), "Load more" to fetch older messages, scroll to bottom when resuming
  • ACP support for thinking (agent-client-protocol 0.8.0)
  • Support for FIFO path for env file

Changed

  • UI redesign: new look and layout for the CLI
  • Textual UI optimizations: ChatScroll to reduce style recalculations, VerticalGroup for messages, stream layout for streaming blocks, cached DOM queries
  • Bumped agent-client-protocol to 0.8.0
  • Use UTC date for timestamps
  • Clipboard behavior improvements
  • Docs updated for GitHub discussions
  • Made the Upgrade to Pro banner less prominent

Fixed

  • Fixed inaccurate token count in UI in some cases
  • Fixed agent prompt overrides being ignored
  • Terminal setup: avoid overwriting Wezterm config

Removed

  • Legacy terminal theme module and agent indicator widget
  • Standalone onboarding theme selection screen (replaced by redesign)

[2.0.2] - 2026-01-30

Added

  • Allow environment variables to be overridden by dotenv files
  • Display custom rate limit messages depending on plan type

Changed

  • Made plan offer message more discreet in UI
  • Speed up latest session scan and harden validation
  • Updated pytest-xdist configuration to schedule single test chunks

Fixed

  • Prevent duplicate messages in persisted sessions
  • Fix ACP bash tool to pass full command string for chained commands
  • Fix global agent prompt not being loaded correctly
  • Do not propose to "resume" when there is nothing to resume

[2.0.1] - 2026-01-28

Fixed

  • Fix encoding issues in Windows

[2.0.0] - 2026-01-27

Added

  • Subagent support
  • AskUserQuestion tool for interactive user input
  • User-defined slash commands through skills
  • What's new message display on version update
  • Auto-update feature
  • Environment variables and timeout support for MCP servers
  • Editor shortcut support
  • Shift+enter support for VS Code Insiders
  • Message ID property for messages
  • Client notification of compaction events
  • debugpy support for macOS debugging

Changed

  • Mode system refactored to Agents
  • Standardized managers
  • Improved system prompt
  • Updated session storage to separate metadata from messages
  • Use shell environment to determine shell in bash tool
  • Expanded user input handling
  • Bumped agent-client-protocol to 0.7.1
  • Refactored UI to require AgentLoop at VibeApp construction
  • Updated README with new MCP server config
  • Improved readability of the AskUserQuestion tool output

Fixed

  • Use ensure_ascii=False for all JSON dumps
  • Delete long-living temporary session files
  • Ignore system prompt when saving/loading session messages
  • Bash tool timeout handling
  • Clipboard: no markup parsing of selected texts
  • Canonical imports
  • Remove last user message from compaction
  • Pause tool timer while awaiting user action

Removed

  • instructions.md support
  • workdir setting in config file

[1.3.5] - 2026-01-12

Fixed

  • bash tool not discovered by vibe-acp

[1.3.4] - 2026-01-07

Fixed

  • markup in blinking messages
  • safety around Bash and AGENTS.md
  • explicit permissions to GitHub Actions workflows
  • improve render performance in long sessions

[1.3.3] - 2025-12-26

Fixed

  • Fix config desyncing issues

[1.3.2] - 2025-12-24

Added

  • User definable reasoning field

Fixed

  • Fix rendering issue with spinner

[1.3.1] - 2025-12-24

Fixed

  • Fix crash when continuing conversation
  • Fix Nix flake to not export python

[1.3.0] - 2025-12-23

Added

  • agentskills.io support
  • Reasoning support
  • Native terminal theme support
  • Issue templates for bug reports and feature requests
  • Auto update zed extension on release creation

Changed

  • Improve ToolUI system with better rendering and organization
  • Use pinned actions in CI workflows
  • Remove 100k -> 200k tokens config migration

Fixed

  • Fix -p mode to auto-approve tool calls
  • Fix crash when switching mode
  • Fix some cases where clipboard copy didn't work

[1.2.2] - 2025-12-22

Fixed

  • Remove dead code
  • Fix artefacts automatically attached to the release
  • Refactor agent post streaming

[1.2.1] - 2025-12-18

Fixed

  • Improve error message when running in home dir
  • Do not show trusted folder workflow in home dir

[1.2.0] - 2025-12-18

Added

  • Modular mode system
  • Trusted folder mechanism for local .vibe directories
  • Document public setup for vibe-acp in zed, jetbrains and neovim
  • --version flag

Changed

  • Improve UI based on feedback
  • Remove unnecessary logging and flushing for better performance
  • Update textual
  • Update nix flake
  • Automate binary attachment to GitHub releases

Fixed

  • Prevent segmentation fault on exit by shutting down thread pools
  • Fix extra spacing with assistant message

[1.1.3] - 2025-12-12

Added

  • Add more copy_to_clipboard methods to support all cases
  • Add bindings to scroll chat history

Changed

  • Relax config to accept extra inputs
  • Remove useless stats from assistant events
  • Improve scroll actions while streaming
  • Do not check for updates more than once a day
  • Use PyPI in update notifier

Fixed

  • Fix tool permission handling for "allow always" option in ACP
  • Fix security issue: prevent command injection in GitHub Action prompt handling
  • Fix issues with vLLM

[1.1.2] - 2025-12-11

Changed

  • add terminal-auth auth method to ACP agent only if the client supports it
  • fix user-agent header when using Mistral backend, using SDK hook

[1.1.1] - 2025-12-10

Changed

  • added include_commit_signature in config.toml to disable signing commits

[1.1.0] - 2025-12-10

Fixed

  • fixed crash in some rare instances when copy-pasting

Changed

  • improved context length from 100k to 200k

[1.0.6] - 2025-12-10

Fixed

  • add missing steps in bump_version script
  • move pytest-xdist to dev dependencies
  • take into account config for bash timeout

Changed

  • improve textual performance
  • improve README:
    • improve windows installation instructions
    • update default system prompt reference
    • document MCP tool permission configuration

[1.0.5] - 2025-12-10

Fixed

  • Fix streaming with OpenAI adapter

[1.0.4] - 2025-12-09

Changed

  • Rename agent in distribution/zed/extension.toml to mistral-vibe

Fixed

  • Fix icon and description in distribution/zed/extension.toml

Removed

  • Remove .envrc file

[1.0.3] - 2025-12-09

Added

  • Add LICENCE symlink in distribution/zed for compatibility with zed extension release process

[1.0.2] - 2025-12-09

Fixed

  • Fix setup flow for vibe-acp builds

[1.0.1] - 2025-12-09

Fixed

  • Fix update notification

[1.0.0] - 2025-12-09

Added

  • Initial release