// CHANGELOG.md

CHANGELOG RELEASE_HISTORY_

Track the evolution of Zaguán Blade. See what's new, what's fixed, and what's coming.

v0.5.1

TBD
Development

Development builds focused on polishing the Terminal experience, resolving shell output display issues, and improving File Explorer reliability.

Enhancements

  • CodeMirror. Made the scrolling feel smoother.
  • Canvas. Added a hook to repaint the canvas, especially on Linux/X11/Openbox.
  • Local AI. Zaguán Blade now supports Gemma 4 with Local AI (Ollama and OpenAI-compat).

🐛 Bug Fixes

  • Terminal. Fixed bugs that caused the Terminal to not display Tab text or requests from the shell.
  • Terminal. Continuing to fix the bug where run_command requests from the model aren't showing up correctly.
  • Local AI. Fixed a Local AI leak that was sent to the server.
  • File Explorer. Fixed a regression where files and folders weren't displaying correctly.

v0.5.0

March 25, 2026
Latest

This release introduces semantic code search, giving Zaguán Blade a deep reference map of your codebase so the model can find the exact context it needs with higher accuracy and far fewer tokens.

Enhancements

  • Semantic Search. Zaguán Blade now analyzes your codebase and builds a deep reference map that the model can query semantically.
  • Smarter Context Retrieval. Instead of pulling broad chunks of code, the model can now pinpoint the most relevant symbols, files, and references it actually needs.
  • Lower Token Usage. Semantic search helps reduce context size while improving response quality and precision across code understanding tasks.
  • Configuration Redesign. Reworked Settings into Configuration for a clearer and more intentional setup experience.
  • Fully implemented i18n for Zaguán Blade, with English and Spanish now available.
  • Updated to Vite 8.
  • Updated CodeMirror modules to their latest versions.
  • Updated many outdated Rust crates.
  • Replaced a select few commands with built-in commands for better cross-OS compatibility.
  • Zaguán Blade. Disabled a lot more debug output throughout the app.
  • Zaguán Coder Daemon. Made the symbol_* tools first-class citizens.
  • Harness. Continued strengthening the harness across many levels. Testing is still needed.

🐛 Bug Fixes

  • Tool Calls. Fixed a bug where the final response could arrive above a run_command tool call.
  • Blade Terminal. Fixed a bug where extra text would sometimes precede the command from run_command.
  • Release Audit. Completed a final release audit and fixed several lingering issues, including removing the old Chat implementation.
  • Chat Panel. Fixed Markdown rendering so messages feel more fluid and natural.
  • Chat Input. Fixed a bug where the cursor was rendered at double the font size.
  • Editor. Fixed the font color of inactive line numbers in the gutter to be brighter and more visible.
  • Diff View. Fixed a regression in the editor Diff View.
  • Image Attachments. Fixed a bug where attached images would not be correctly sent to the model.

v0.4.1

March 18, 2026
Previous

This release focuses on removing friction from first-time usage and clarifying the app's setup flow.

Enhancements

  • Zaguán Coder Daemon. Introducing GPT-5.4-Mini with Low and Medium reasoning.
  • Local AI. It is now possible to try and use Zaguán Blade with Local AI models.
  • First-Run Experience. Improved the onboarding flow with Local AI as a no-setup option.

🐛 Bug Fixes

  • Tool Calls. Fixed the issue where tool calls would always appear at the top of the conversation instead of inline where they belong.
  • Setup Flow. Removed the blocking setup dialog that prevented users from exploring the app.
  • Messaging. Clarified the messaging around Local vs Cloud usage.
  • UX & Copy. Various UX and copy improvements throughout the app.
  • Zaguán Coder Daemon. Fixed a bug where we didn't catch the reasoning chunks correctly for the GLM-5 model.
  • Zaguán Coder Daemon. Fixed a bug where the final response from MiniMax M2.5 and M2.7 was placed above the tool calls when it should be the last message in the conversation.

v0.4.0

March 11, 2026
Previous

This release introduces significant improvements to Zaguán Blade, including a complete rewrite of the AI Chat Panel for better performance, new Code and Planning modes with a dedicated Planning skill, and theme support with four built-in themes. The update also includes numerous bug fixes, design refinements, and reduced debug output for a cleaner console experience.

Enhancements

  • Zaguán Coder Daemon. Implemented a new GPT skill inspired by Uncodixfy and refined the other design skill.
  • Zaguán Coder Daemon. Fixed streaming issues related to gpt-5.4.
  • Zaguán Coder Daemon. Added a tool_search tool based on the Anthropic documentation to help reduce initial token usage.
  • AI Chat Panel v2. A complete rewrite of the AI Chat panel. v2 is now a lot more performant and responsive.
  • Chat Panel Update. Updated the Chat panel and took a lot of inspiration from T3 Code.
  • Git Commit Text Area. Made the Git commit text area bigger and dynamic.
  • AI Chat Panel. Toned down the font color to make it easier to read.
  • AI Chat Panel. Made completed tool calls fade a little to make it easier to separate.
  • Editor Breadcrumb. Minor design tweak to the breadcrumb at the top of the editor for improved visual hierarchy.

New Features

  • Code and Planning Mode. You can now switch between Code and Planning mode. Added a special Planning skill in Zaguán Coder Daemon to go along with this new feature.
  • Implement Button. Implemented an "Implement" button when in Planning mode. Clicking this switches to Code mode and begins the work.
  • Themes. Added theme support with four built-in themes: the original dark theme Zaguán Dark plus Blade Coder, Blade Cream and Blade Robot.

🎨 Design Updates

  • Theme Selector Dropdown. Tightened up and redesigned the design of the Theme selector dropdown menu.

🐛 Bug Fixes

  • AI Chat Conversation Order. Fixed a bug where responses and tool calls would not arrive and display in a natural conversation order.
  • Git Push Lock Issue. Fixed a bug in the Git panel where a git push would complain about a git lock.
  • Gitoxide Integration. Moved more Git functionality from git to gitoxide.
  • Streaming Logic. Fixed a bug in the streaming logic that would sometimes garble the responses from specific models.
  • GPT-5.4 Streaming. Fixed the streaming issue when using gpt-5.4 that resulted in garbled responses.
  • Cancelled Tool Calls. Fixed an issue where a cancelled run_command tool call would end up below the response from the model.
  • Chat UI. Removed noisy elements from the chat and tightened up some of them as well. Much nicer view.
  • Git Commit Generate. Fixed a bug in the Git Commit Generate path that would sometimes fail for certain models.
  • Git Commit Generator. Fixed the Git Commit generator to also check for/include new/staged files. This was missed before.
  • Blade Terminal Rendering. Rewired the logic to use the Blade Terminal again and hopefully fixed the rendering bugs.
  • AI Chat v2 Design. Made minor tweaks to the AI chat v2 design.
  • Terminal Resize. Fixed the resize logic for the Terminal—previously wonky, now much smoother.
  • Keyboard Shortcut. Added a new keyboard shortcut - Ctrl-L - to put the chat input in focus.
  • Diff View Styling. Fixed Diff View styling across all 4 themes. The new themes were using the style from the original theme.
  • Zaguán Coder Daemon. Fixed the Gemini continuation thinking bug.
  • Zaguán Coder Daemon. Fixed bugs in relation to tool_search that would sometimes result in the model failing to apply patches and then overwrite files.
  • Debug Output. Disabled a lot of debug output in the console.

v0.3.4

2026-03-05
Previous

Enhancements

  • Frontend Audit. Completed a full frontend audit: removed dead files, tightened up many functions, removed unused fonts, and made the codebase cleaner and leaner.
  • i18n Preparation. Began preparing the application for internationalization (i18n); English is now ready.
  • Zaguán Coder Daemon. Enabled parallel tool calling for supported models.
  • Zaguán Coder Daemon. Added preliminary support for Mistral Devstral 2.
  • Rust Backend. Did an audit of the Rust backend using the Rust Skill. Found and fixed a few bugs, memory optimizations and panic-prone locks.
  • Zaguán Coder Daemon. Working on making the Mercury 2 system prompt stronger and better.
  • Zaguán Coder Daemon. Replaced Gemini 3 Flash Preview with Gemini 3.1 Flash Lite Preview.
  • Zaguán Coder Daemon. Initial testing support for Inception Mercury 2.
  • Zaguán Coder Daemon. Enabled OpenAI GPT-5.4 with low and medium reasoning.

New Features

  • Zaguán Coder Daemon. Cherry-picked the best pieces from Superpowers and ported them to the GUI environment of Zaguán Blade.

🐛 Bug Fixes

  • Run Command. Fixed a bug in the run_command card where the command would get detached when it shouldn't.
  • Editor Colors. Fixed an issue where the editor did not show colors at all due to incompatible CodeMirror versions.
  • Editor Scrollbar. Fixed an issue where the editor horizontal scrollbar was laid over the terminal.
  • Layout Alignment. Fixed an alignment issue in the space between the editor and the chat.
  • Chat Image Paste. Fixed a bug introduced after the audit where pasting images into chat no longer worked.
  • Chat Streaming. Fixed a bug in the chat so that regular responses now stream correctly.
  • Chat UI. Fixed the chat and removed a lot of noisy cards.
  • New Chat Creation. Fixed a bug when creating a new chat where the model received no data at all.
  • Zaguán Coder Daemon. Removed artificial limitation on the number of turns models could do.
  • Zaguán Coder Daemon. Fixed a bug where the conversation wouldn't end properly, especially after repeated tool calls.

v0.3.3

February 28, 2026
Previous

Enhancements

  • Markdown Editor. Show a proper Diff view and the Accept/Reject pill in the Markdown editor when it's in Edit mode after a model has made changes.
  • Message Queue. Added a message queue so that you can send messages while the model works. These will be executed sequentially.
  • Zaguán Coder Daemon. Working on ironing out bugs in several models, Gemini 3.1 Pro, MiniMax M2.5, GPT-5.3-Codex.
  • Zaguán Coder Daemon. Disabled several variations of models in the `low` and `medium` ranges to clean up the list.
  • Zaguán Coder Daemon. Used the Codex guide to make the implementation better.
  • UI. Added the Project Name to the header and to the window title.
  • Zaguán Blade. Now sending the local time and date to the model. This helps with year hallucinations and other time related issues.
  • Zaguán Coder Daemon. Used gemini-cli source code to get the best information on how to handle it in the best possible manner.
  • Zaguán Coder Daemon. Tightened up grep_search command with a timeout and excluding certain directories to speed things up.

New Features

  • Git Push. Pushing to Git now accepts all changes automatically.

🐛 Bug Fixes

  • Zaguán Coder Daemon. Fixed a bug that resulted in a warning for the Gemini model. Did not affect functionality.
  • Git Push. Fixed a bug in the Git Push button where it now correctly changes state from Push to Pushing to Pushed.
  • Header Alignment. Fixed an alignment issue in the header where the app name was off-center when no tabs were open.
  • Local AI. Fixed an issue where the responses would appear in reverse order.
  • Terminal. Fixed the Terminal Copy command Ctrl-Shift-C/Cmd-Shift-C.
  • UI Focus. Fixed a possible bug where the UI wouldn't get focus at launch due to the custom window decorations in Tauri.
  • CodeMirror. Fixed a bug in the CodeMirror implementation that would show stale diff views.
  • Terminal. Fixed a bug where pasting content into the Terminal would paste twice.
  • Chat Panel. It's now possible to resize the chat panel again.
  • Terminal. Removed the horizontal resize bar.
  • Editor Test. Fixed a test case in the editor.

v0.3.2

February 25, 2026
Previous

Enhancements

  • Project Index Tools. Added 2 new tools to retrieve the project_index.md file. This file can be used by the model to get an overview of the project.
  • Editor Context. Send filenames of all open tabs in the editor to the AI model.
  • Zaguán Coder Daemon. Dug through a few open-source projects to figure out the best way to make gpt-5.3-codex work seamlessly. A huge thanks to these very smart and talented people building awesome tools.
  • OpenAI integration. OpenAI GPT-5.3-Codex is now available in Zaguán Blade.
  • Zaguán Coder Daemon. Tightened up the logic for Google Gemini 3.1 Pro. TTFT now 4-5x faster.
  • Git Panel. Enhanced Git Panel to show a strikethrough for elements that are moved, renamed or deleted.
  • Chat. Added visual feedback while waiting for the model to respond in the chat.

🐛 Bug Fixes

  • GPT Codex. Fixed a bug where, sometimes, GPT Codex model would emit characters from other languages seemingly at random.
  • GPT Codex. Fixed a bug where gpt-5.3-codex would stop after a few tool calls.
  • Patching. Fixed a bug in apply_patch_to_string that would replace instead of add new content.
  • Local AI. Fixed a bug in the Git commit generation for Local AI where it would fail. This was due to the message being routed wrong.
  • Welcome screen. Fixed alignment issue on the Welcome screen.
  • Paste image. Fixed a bug where pasting images from clipboard into chat didn't work.
  • Tab focus. Active tab now always stays in focus while new tabs are opening.
  • Git. Fixed a bug where the .zblade directory would be submitted to git.
  • Chat. Fixed a bug where images attached to a message were being re-sent on every subsequent turn, causing context bloat.

v0.3.1

February 23, 2026
Previous

Enhancements

  • Zaguán Coder Daemon. Added stronger detection for Google Gemini if it was unable to apply a patch to help it recover and try again instead of hanging.
  • Zaguán Coder Daemon. Added a runtime guard to prevent AI models from inappropriately using shell commands (e.g., grep, cat) instead of dedicated tools, automatically guiding them to correct usage.
  • Dependencies. Updated modules for frontend and backend.

🐛 Bug Fixes

  • Research Progress. Fixed an issue where research progress indicators (like "RUNNING_TOOLS") would remain stuck in a running state when a chat session ended or was stopped.
  • Run Command. Fixed a bug in Zaguán Blade where a Run Command, when skipped, would still stay running.
  • Run Command. Fixed a bug when the Stop button was pressed and a Run Command was running and would stay running.

v0.3.0

February 23, 2026
Previous

New Features

  • Alpha Tag Removed. Removed the "alpha" tag as Zaguán Blade has reached a usable state.
  • UI Redesign. Redesigned the whole application. It's now a lot more professional, calm and better structured.
  • Settings. Added an About section in Settings.

Enhancements

  • Performance. Fixed memory leaks, optimized for better performance and cleaned up the code a little.
  • Editor Performance. Significantly improved editor responsiveness by splitting context state and actions to eliminate unnecessary re-renders in hot-path components.
  • Markdown Performance. Improved typing responsiveness in Markdown files by disabling expensive syntax features and skipping per-keystroke cursor synchronization.
  • Google Gemini 3.1 Pro. Trying to make Google Gemini 3.1. Pro work better based on feedback and other OSS projects.
  • Google Gemini. Updated our Google Gemini implementation in Zaguán Coder Daemon.
  • MiniMax. Updated our MiniMax implementation for Fireworks in Zaguán Coder Daemon.
  • Dependencies. Updated gix to v0.51.0.

🐛 Bug Fixes

  • Diff parsing. Fixed line-number drift in the editor caused by newline metadata.
  • Uncommitted changes. Fixed cumulative diff tracking to properly display changes for files edited multiple times.
  • Fixed a bug in the global Accept All/Reject All that was wrongly removed.

v0.2.1

February 21, 2026
Previous

New Features

  • Google Gemini 3.1 Pro. Added Google Gemini 3.1 Pro in Zaguán Coder Daemon.
  • Chunk counting. Added chunk counting and display for write operations tool calls.
  • Qwen3.5 support. Added support for Qwen3.5 models in Zaguán Coder Daemon.
  • Claude Sonnet 4.6. Enabled Claude Sonnet 4.6 in Zaguán Coder Daemon. Restart application to access it.

Enhancements

  • Performance. Optimized streaming performance and conversation context synchronization.
  • Frontend. Updated Vite to version 7.3.1.

🐛 Bug Fixes

  • Zaguán Coder Daemon provider fix. Fixed an issue where Anthropic-specific instructions were being sent to non-Anthropic providers.
  • Fixed a bug when using Gemini 3.1 Pro where extra text would appear when using the run_command tool.
  • Fixed a bug when run_command started a command without exit that blocked progress.
  • Diff parsing. Fixed an issue where Diff parsing was only reading the first parsed patch block.
  • Fixed a warning message that was too prominent.
  • Fixed escaped characters showing up in the Blade Terminal.
  • Fixed terminal crash with dead-key characters. Resolved UTF-8 unsafe slicing in sentinel parsing that caused crashes with multibyte characters (e.g., ~/dead-key sequences). ANSI stripping now preserves UTF-8 bytes correctly.
  • Fixed a bug where the global Accept All/Accept All didn't hide if Accept changes on file was triggered.

v0.2.0

February 16, 2026
Previous

Enhancements

  • When selecting a screenshot, added a half-second delay before capturing to allow time for UI elements (like window selection boxes) to disappear.
  • Git performance. Replaced most external git calls with gix for faster, more efficient Git operations.
  • Git Commit message. Now uses the full git commit message instead of just the first line.
  • Local AI refactoring. Refactored Local AI so that it's separate from the main AI flow for easier maintenance.

New Features

  • Brand new App Icon. Redesigned app icon with a fresh, modern look.
  • Git graph visualization. Implemented a Git graph of the 50 latest commits with a details popup for viewing commit information.
  • Ollama Cloud support. Added support for Ollama Cloud. Requires an account at ollama.com.

🐛 Bug Fixes

  • Fixed text disappearing or flickering when sending new messages after loading a conversation from history.
  • Fixed scroll not going to bottom when loading an existing conversation from history.
  • **CodeMirror "Ranges must be added sorted" crash.** Three extensions could add decorations in unsorted order causing CodeMirror to crash:
    • diffDecorations.ts — Sort was (from, to) but CodeMirror requires (from, startSide, to). Fixed by tracking startSide on each decoration and sorting by (from, startSide, to).
    • rainbowBrackets.ts — Visible ranges expanded to line boundaries could overlap, causing duplicate/unsorted bracket decorations. Fixed by tracking maxProcessed to skip already-processed positions and sorting all brackets before adding.
    • indentGuides.ts — Same overlapping visible ranges risk. Fixed with maxProcessed guard.
    • Chat UI. Fixed the chat and removed a lot of noisy cards.
    • New Chat Creation. Fixed a bug when creating a new chat where the model received no data at all.
    • Zaguán Coder Daemon. Removed artificial limitation on the number of turns models could do.
    • Chat UI. Fixed the chat and removed a lot of noisy cards.
    • New Chat Creation. Fixed a bug when creating a new chat where the model received no data at all.
    • Zaguán Coder Daemon. Removed artificial limitation on the number of turns models could do.
  • Chat UI. Fixed the chat and removed a lot of noisy cards.
  • New Chat Creation. Fixed a bug when creating a new chat where the model received no data at all.
  • Zaguán Coder Daemon. Removed artificial limitation on the number of turns models could do.
  • Chat becomes inert after UI reload. After a UI reload (e.g. crash recovery), the frontend's loading state was false even though the backend was still streaming. Added get_chat_status Tauri command that returns true if the backend is streaming. Frontend init() now calls get_chat_status and restores loading = true if the backend is still active. Files: chat.rs, lib.rs, useChat.ts
  • Can't scroll to bottom after crash/reload. After reload, the scroll container starts at the top. The isUserAtBottomRef quickly becomes false from the scroll handler, so streaming auto-scroll stops working. Added an initial scroll-to-bottom effect that fires once when messages first load, ensuring the user sees the latest content and isUserAtBottomRef stays true for streaming auto-scroll. Files: ChatPanel.tsx
  • Fixed the Blade Terminal echo bug when the model is using the run_command tool call.
  • Fixed run_command tool calls in AI Chat appearing above already run (or failed) commands instead of below them.
  • Fixed bug in the Ollama and Ollama Cloud implementation that resulted in errors.
  • Diff view showing up on wrong lines. Fixed issue where diff view would appear on incorrect lines due to stale data in the editor. Added proper cleanup and state invalidation when editor content changes. Files: DiffView.tsx, EditorPane.tsx
  • Model selector sluggishness. Reduced avoidable work in the compact selector by memoizing derived lists and selected model. Removed delayed/smooth scroll on open (which can feel laggy) and switched to requestAnimationFrame + instant nearest scroll. Files: CompactModelSelector.tsx
  • History titles missing. Added a resilient fallback title strategy: use conversation.title if present, else use preview, else synthesize from last active timestamp (Conversation X ago). Files: HistoryTab.tsx
  • Natural chat autoscroll + user can interrupt with wheel. Reworked autoscroll to use the real scroll container ref. Split behavior: scroll on new message if user is at bottom / just sent; during streaming, only keep following while user remains at bottom. This preserves manual scroll interruption. Files: ChatPanel.tsx
  • Settings save feels slow. Changed save flow to close modal immediately, then persist in background. Keeps UI responsive while save + model refresh continue asynchronously. Files: SettingsModal.tsx
  • General snappiness + launch flicker. Removed duplicate no-tab editor rendering path that could cause visual churn. Tightened startup flow to show window after first frame and fade out loading overlay immediately (no extra nested delays). Files: Layout.tsx, main.tsx
  • Modernized title bar buttons. Updated window controls to compact rounded buttons with tighter spacing and better active feedback. Files: TitleBar.tsx
  • Terminal too close to sidebar shadow. Increased left padding in terminal content area. Files: TerminalPane.tsx
  • Fixed crash in read_file_range on out-of-bounds slice. Added bounds clamping to prevent panic when requesting lines beyond EOF (e.g., start_line: 350 on a 259-line file). Now returns safe empty output for extreme or inverted ranges instead of crashing.
  • Fixed reasoning blocks being dropped during final answer transition. Changed filter logic to preserve reasoning blocks when clearing stale text content. Files: useChat.ts
  • Fixed caret sync issues in Command Center textarea. Added shared autosize helper for consistent height updates and implemented explicit Shift+Enter newline insertion with proper caret position restoration. Files: CommandCenter.tsx

📦 Dependencies Updated

Comprehensive dependency upgrade across frontend and Rust ecosystem.

Package From To
@codemirror/commands 6.10.1 6.10.2
@codemirror/lint 6.9.2 6.9.3
@codemirror/view 6.39.11 6.39.13
@tauri-apps/api 2.9.1 2.10.1
@tauri-apps/cli 2.9.6 2.10.0
@tauri-apps/plugin-shell 2.3.4 2.3.5
i18next 25.8.0 25.8.4
pdfjs-dist 5.4.530 5.4.624
@types/react 19.2.10 19.2.13
@vitejs/plugin-react 5.1.2 5.1.4

Rust Crates - Safe Updates

Crate From To
clap 4.5.54 4.5.57
regex 1.12.2 1.12.3
tempfile 3.24.0 3.25.0
uuid 1.19.0 1.20.0

Rust Crates - Breaking Updates

  • tauri (2.9.5 → 2.10.2)
    No code changes required. Unblocked plugin support and JavaScript improvements.
  • tree-sitter (0.24 → 0.26)
    Updated node.child(i) to node.child(i as u32) to match new API.
  • notify (6.1.1 → 8.2.0)
    No code changes required. API remains compatible.
  • reqwest (0.12.28 → 0.13.2)
    Removed rustls-tls feature (now default in new version).
  • rusqlite (0.32 → 0.38)
    No code changes required. API remains compatible.
  • tokio-tungstenite (0.21 → 0.28)
    WebSocketConfig now mutable default. Message::Text and Message::Ping take Utf8Bytes and Bytes respectively (converted using .into()).

v0.1.1

February 9, 2026
Previous

New Features

  • PDF support. The editor can now load PDFs natively.
  • Screenshot support. Capture window or select region and attach to chat.
  • Upload image. Upload images directly to chat.
  • Paste image. Paste images from clipboard into chat.

Enhancements

  • Git implementation is now complete. Full Git integration ready for use.
  • Added tooltips on the buttons in the sidebar.
  • Adjustments in the status bar. Improved status bar layout and information.

🐛 Bug Fixes

  • Fixed the Blade Terminal input and output where it used to show escape characters.
  • Fixed issue where the chat would sometimes show garbled response.
  • Hide Search icon because functionality not yet implemented.
  • Open tab now shows the Close button.
  • After closing a tab, go to the previously open tab.
  • Plus many bug fixes.

v0.1.0

February 4, 2026
Initial
🚀

The very first release of Zaguán Blade. This marks the beginning of our journey to create the ultimate AI-native code editor.