diff --git a/.vscode/launch.json b/.vscode/launch.json
index f63f9e5..f685d82 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,5 +1,5 @@
{
- "version": "1.0.6",
+ "version": "1.1.0",
"configurations": [
{
"name": "ACP Server",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 115e7a5..d126f06 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [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
diff --git a/distribution/zed/extension.toml b/distribution/zed/extension.toml
index c1df053..b1f71f4 100644
--- a/distribution/zed/extension.toml
+++ b/distribution/zed/extension.toml
@@ -1,7 +1,7 @@
id = "mistral-vibe"
name = "Mistral Vibe"
description = "Mistral's open-source coding assistant"
-version = "1.0.6"
+version = "1.1.0"
schema_version = 1
authors = ["Mistral AI"]
repository = "https://github.com/mistralai/mistral-vibe"
@@ -11,25 +11,25 @@ name = "Mistral Vibe"
icon = "./icons/mistral_vibe.svg"
[agent_servers.mistral-vibe.targets.darwin-aarch64]
-archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-darwin-aarch64-1.0.6.zip"
+archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-darwin-aarch64-1.1.0.zip"
cmd = "./vibe-acp"
[agent_servers.mistral-vibe.targets.darwin-x86_64]
-archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-darwin-x86_64-1.0.6.zip"
+archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-darwin-x86_64-1.1.0.zip"
cmd = "./vibe-acp"
# [agent_servers.mistral-vibe.targets.linux-aarch64]
-# archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-linux-aarch64-1.0.6.zip"
+# archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-linux-aarch64-1.1.0.zip"
# cmd = "./vibe-acp"
[agent_servers.mistral-vibe.targets.linux-x86_64]
-archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-linux-x86_64-1.0.6.zip"
+archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-linux-x86_64-1.1.0.zip"
cmd = "./vibe-acp"
# [agent_servers.mistral-vibe.targets.windows-aarch64]
-# archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-windows-aarch64-1.0.6.zip"
+# archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-windows-aarch64-1.1.0.zip"
# cmd = "./vibe-acp.exe"
[agent_servers.mistral-vibe.targets.windows-x86_64]
-archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.0.6/vibe-acp-windows-x86_64-1.0.6.zip"
+archive = "https://github.com/mistralai/mistral-vibe/releases/download/v1.1.0/vibe-acp-windows-x86_64-1.1.0.zip"
cmd = "./vibe-acp.exe"
diff --git a/pyproject.toml b/pyproject.toml
index b5feb5b..fe40f8d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "mistral-vibe"
-version = "1.0.6"
+version = "1.1.0"
description = "Minimal CLI coding agent by Mistral"
readme = "README.md"
requires-python = ">=3.12"
diff --git a/tests/acp/test_acp.py b/tests/acp/test_acp.py
index 8d38faa..c5dd142 100644
--- a/tests/acp/test_acp.py
+++ b/tests/acp/test_acp.py
@@ -351,7 +351,7 @@ class TestInitialization:
mcpCapabilities=McpCapabilities(http=False, sse=False),
)
assert response.result.agentInfo == Implementation(
- name="@mistralai/mistral-vibe", title="Mistral Vibe", version="1.0.6"
+ name="@mistralai/mistral-vibe", title="Mistral Vibe", version="1.1.0"
)
vibe_setup_method = next(
(
diff --git a/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg b/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg
index cab55e1..ca9347a 100644
--- a/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg
+++ b/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg
@@ -162,7 +162,7 @@
-
+
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
@@ -198,7 +198,7 @@
│>Ask anything...│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
-/test/workdir12% of 100k tokens
+/test/workdir6% of 200k tokens
diff --git a/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg b/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg
index b725549..90fef87 100644
--- a/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg
+++ b/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg
@@ -206,7 +206,7 @@
│>Ask anything...│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
-/test/workdir0% of 100k tokens
+/test/workdir0% of 200k tokens
diff --git a/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg b/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg
index ec53ff0..2c138f5 100644
--- a/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg
+++ b/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg
@@ -198,7 +198,7 @@
│>Ask anything...│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
-/test/workdir0% of 100k tokens
+/test/workdir0% of 200k tokens
diff --git a/uv.lock b/uv.lock
index c3deb46..737c8f9 100644
--- a/uv.lock
+++ b/uv.lock
@@ -661,7 +661,7 @@ wheels = [
[[package]]
name = "mistral-vibe"
-version = "1.0.6"
+version = "1.1.0"
source = { editable = "." }
dependencies = [
{ name = "agent-client-protocol" },
diff --git a/vibe/cli/clipboard.py b/vibe/cli/clipboard.py
index 33bcea7..429f097 100644
--- a/vibe/cli/clipboard.py
+++ b/vibe/cli/clipboard.py
@@ -12,7 +12,12 @@ def copy_selection_to_clipboard(app: App) -> None:
continue
selection = widget.text_selection
- result = widget.get_selection(selection)
+
+ try:
+ result = widget.get_selection(selection)
+ except Exception:
+ continue
+
if not result:
continue
diff --git a/vibe/core/__init__.py b/vibe/core/__init__.py
index 78604af..852e031 100644
--- a/vibe/core/__init__.py
+++ b/vibe/core/__init__.py
@@ -1,6 +1,6 @@
from __future__ import annotations
__all__ = ["__version__", "run_programmatic"]
-__version__ = "1.0.6"
+__version__ = "1.1.0"
from vibe.core.programmatic import run_programmatic
diff --git a/vibe/core/config.py b/vibe/core/config.py
index 891b2db..290a40d 100644
--- a/vibe/core/config.py
+++ b/vibe/core/config.py
@@ -299,7 +299,7 @@ class VibeConfig(BaseSettings):
vim_keybindings: bool = False
disable_welcome_banner_animation: bool = False
displayed_workdir: str = ""
- auto_compact_threshold: int = 100_000
+ auto_compact_threshold: int = 200_000
context_warnings: bool = False
textual_theme: str = "textual-dark"
instructions: str = ""
@@ -539,7 +539,26 @@ class VibeConfig(BaseSettings):
@classmethod
def _migrate(cls) -> None:
- pass
+ if not CONFIG_FILE.exists():
+ return
+
+ try:
+ with CONFIG_FILE.open("rb") as f:
+ config = tomllib.load(f)
+ except (OSError, tomllib.TOMLDecodeError):
+ return
+
+ needs_save = False
+
+ if (
+ "auto_compact_threshold" not in config
+ or config["auto_compact_threshold"] == 100_000 # noqa: PLR2004
+ ):
+ config["auto_compact_threshold"] = 200_000
+ needs_save = True
+
+ if needs_save:
+ cls.dump_config(config)
@classmethod
def load(cls, agent: str | None = None, **overrides: Any) -> VibeConfig: