Releases

Keep up with the weekly Zed releases.


April

0.183.10

04/23/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Today's release features Git amend support, customizable bottom dock layouts, improved diagnostics rendering, and support for OpenAI's o3 and o4-mini models.

Enhancements

  • "Block" diagnostics (that show up in the diagnostics view, or when using f8/shift-f8) are rendered more clearly. (#28006)
Improved block diagnostics rendering
Improved block diagnostics rendering
  • f8/shift-f8 now always go to the "next" or "prev" diagnostic, regardless of the state of the editor. (#28006)
  • Added a new bottom_dock_layout setting that can take the following options: contained (default), full, left_aligned, and right_aligned. This setting defines how the bottom dock should be laid out when multiple docks are open at the same time. (#26211; thanks th0jensen)
Using the left_aligned option
Using the left_aligned option
  • Added new actions editor::FindNextMatch and editor::FindPreviousMatch that are similar to editor::SelectNext and editor::SelectPrevious with "replace_newest": true, but jump to the first or last selection when there are multiple selections. (#28559)
  • Added enabling of required features when executing a Rust example or bin through a task. (#27312; thanks NiklasEi)
  • Sublime Keymap: Added git::Restore compatibility bind (revert_hunk). Mac: cmd-k cmd-z and Linux: ctrl-k ctrl-z. (#28444)
  • Added file icon for Vyper (.vy, .vyi) files. (#28307; thanks ThatOneCalculator)
  • Tasks are now loaded from local .vscode/tasks.json files even if they are .gitignored. (#28631; thanks hrou0003)
  • Snippets are now resolved for all languages active at the cursor location. (#27718; thanks claytonrcarter)
  • Improved visibility of code actions by showing them in the right-click context menu. (#28677)
  • Improved app responsiveness when spawning Rust tasks. (#28553)
  • Improved scroll behavior of editor: select all matches. (#28435; thanks neunato)
  • Improved editor: copy and trim command. (#29023; thanks redforks)
  • Improved selection highlight speed. (#29097)
  • Made it so Markdown preview uses the buffer font size instead of the UI font size. (#29183)
  • Updated snake_case check for grammar names in extensions. (#28608)
  • Made it so the cursor position is reset to where it was after the last edit when undoing a format operation. This only changes the behavior when you make an edit, scroll away, initiate formatting (either by saving or manually), and then undo the format. (#28527)

Git

  • Added Git amend support. (#28187)
  • Improved performance of Git panel with a large number of untracked files. (#28670)
  • Improved the Git panel context menu to show actions with no effect as disabled. (#28288; thanks 5brian)

Languages

  • Python: Added support for auto-closing f, b, u, r, rb, and the newly released t strings. (#28709)
  • Go: Corrected SoftTab indentation handling for lines with mixed spaces and tabs across .go files and other file types. (#27336; thanks rodrigoFfreire)

Vim

  • Added some forced motion support for delete and yank. (#27991; thanks mastion)
  • Added delete mapping in normal mode. (#28551; thanks mastion)
  • Improved single-repeat after accepting a completion; now pressing . to replay the completion will re-insert the completion text at the cursor position. (#28586)
  • The :s// command now defaults to replacing the first match per line (like Vim). Use /g to replace all matches. (#28138; thanks dinocosta)

AI

  • Added support for OpenAI o3 and o4-mini models via OpenAI API and Copilot Chat providers. (#28881; thanks @imumesh18)

Bug Fixes

  • Fixed incorrect excerpt comparison when replacing them. (#28828)
  • Fixed annoying pop-up with typescript-language-server that occurred in multi-buffers with inlay hints enabled. (#28855)
  • Fixed an issue where the feedback: file bug report action would redirect to an outdated URL. (#28790; thanks MrSubidubi)
  • Fixed a crash when screen sharing on macOS. (#28784)
  • Fixed case-insensitive text search with Unicode characters. (#28752; thanks mockersf)
  • Fixed completions with multiple cursors leaving duplicated prefixes. (#28586)
  • Fixed a crash when accepting a completion in a multibuffer with multiple cursors. (#28586)
  • Fixed a panic when joining a project with a multibuffer with merged excerpts. (#29245)
  • Fixed a panic when a removed excerpt has an edit suggestion inlay in it. (#28873)
  • Fixed plaintext snippets not working. (#28655; thanks loczek)
  • Fixed snippets in PHP, ERB, and other languages whose syntax layers are based on HTML. (#27718; thanks claytonrcarter)
  • Fixed bug where signature help popover could go off-screen. (#28566)
  • Fixed no feedback provided when installing CLI from welcome page. (#28532)
  • Fixed a bug causing Shift to get stuck down when the window focus changes. (#28348)
  • Fixed the issue where environment variables from ExtensionLspAdapter were lost. (#28173; thanks vitallium)
  • Fixed cursor styling to maintain drag cursor appearance throughout resize handle interactions. (#24797; thanks huacnlee)
  • Fixed a bug where extension-provided snippets were being displayed in duplicate. (#28940; thanks @redforks)
  • Fixed select_larger_syntax_node to first expand to the word within a string, and then to the larger syntax node. (#29184)
  • Fixed an issue where uncommenting a code block in Markdown would add Markdown comments instead of removing the language comments. (#29230)
  • Inline Assistant: Fixed a bug where the default model would be used even when a specific inline assistant model was configured. (#29136)
  • Git: Fixed a bug that caused the staged status of files in the Git panel to be out of date in some cases. (#28588)
  • Git: Fixed an issue where diffs stopped updating after closing and reopening them after staging hunks. (#28377)
  • Git: Fixed a bug where staging a hunk while the cursor was in a deleted line would move the cursor erroneously. (#28377)
  • Git: Fixed an issue where Git was unnecessarily sending a custom HTTP header on remote operations. (#28798)
  • Git: Fixed a bug that caused Zed to sometimes not discover Git repositories above a worktree root. (#28436)
  • Python: Fixed decorated pytest methods not being picked up as runnable. (#28652; thanks hrou0003)
  • HTML: Fixed a case where extra characters were being written at the end of an HTML tag. (#28529)
  • Vim: Fixed code actions in visual line mode. (#27817; thanks onsclom)
  • Vim: Fixed the number of matches displayed in the search bar after running Vim's substitute command. (#28403; thanks dinocosta)
  • Vim: Fixed a panic when using gv after p in visual line mode. (#29251)
  • Vim: Fixed ctrl-c in normal mode. (#29169)
  • Linux: Fixed popup menu snap to window to leave margin on Linux. (#27330; thanks huacnlee)
  • Linux: Fixed incorrect config directory being used when Zed is installed via Flatpak. (#28952)

0.182.11

04/17/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a crash when screensharing on MacOS (#28784)
  • Fixed certain doctests not being run properly (#28980)
  • Add support for OpenAI o3 and o4-mini models via OpenAI API and Copilot Chat providers. (#28881; thanks @imumesh18)
  • Fixed a bug where extension provided snippets were being displayed in duplicate. (#28940; thanks @redforks)
  • Fixed an issue where the file bug report action would redirect to an outdated URL. (#28790; thanks @MrSubidubi)

0.182.10

04/17/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Edit Prediction: Fixed a bug disabling predictions in restored buffers. (#28919)
  • Fixed a panic when an excerpt removed has an edit suggestion inlay in it (#28872)

0.182.9

04/16/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Enhancements

  • Added support for screensharing on X11 (Linux). (#27807)
  • Added a button to open the project search to the status bar. (#28388)
  • Added an editor: toggle case command. Use cmd-shift-u for macOS and ctrl-shift-u for Linux, when using the JetBrains keymap. (#28415)
  • Added warning for leading or trailing whitespace while renaming or creating new file or directory in Project Panel. (#28215)
  • Added tasks from rust-analyzer. (#28359)
  • Added ability to spawn tasks by tag with key bindings. (#25650; thanks aevsai)
  • Added tags to tasks selector. (#25650; thanks aevsai)
  • Added --user-data-dir CLI flag (#26886)
  • Improved runnable detection for test modules in Rust. (#28024; thanks MrSubidubi)
  • Improved contrast of terminal ANSI colors in Gruvbox theme(s). (#27166; thanks dallinhuff)
  • Improved the project panel to show an error when a file or directory already exists while renaming or creating a new one. (#28177)
  • Improved keybindings for close all tabs to better match VSCode behavior. (#28060)
  • Improved multi buffer excerpts to merge when expanded. (#27893)
  • Changed the default model of Zed's hosted LLM service to Claude 3.7 Sonnet. (#28541)

Git

  • Added an activity indicator for long-running git commands. (#28204)

Languages

  • Added support for the insert_text_mode field of completions from the language server protocol. (#28171)
  • Added a way to temporarily stop LSP servers. (#28034)
  • Improved Bash heredoc highlighting. (#28185; thanks chbk)
  • Zed-managed pylsp installations will now correctly upgrade themselves. (#28338)
  • LSP completions: added actions ConfirmCompletionInsert and ConfirmCompletionReplace that control how completions are inserted, these override completions.lsp_insert_mode, by default, shift-enter triggers ConfirmCompletionReplace which replaces the whole word. (#28121)
  • Added new setting completions.lsp_insert_mode that changes what will be replaced when an LSP completion is accepted. (#27453; thanks frederik-uni)

Vim

  • Added motions from the indent wise plugin [-, ]-, [+, ]+, [=, ]=. (#28044; thanks 5brian)
  • Switch to the configured default mode after paste instead of hard-coding Normal mode. (#27897; thanks jneem)
  • Expanded default helix-style keybindings in experimental HelixNormal mode. (#28103; thanks jneem)

Bug Fixes

  • Fixed incorrect excerpt comparison when replacing them. (#28828)
  • Fixed a regression where code-actions used when formatting on save were rejected if they contained commands. (#28392)
  • Fixed invalid read-only with split pane. (#28012; thanks 0x2CA)
  • Fixed a panic that could occur when paths changed in the project diff. (#28364)
  • Fixed an issue when using auto-import code actions provided by pyright (or basedpyright) where the import would be jumbled with the scoped import resulting in an invalid result. (#28354)
  • Fixed a panic during shutdown of the remote server. (#28290)
  • Fixed an issue where new participants were not muted when the room was deafened. (#28330)
  • Fixed mouse selection scrolling too fast in both editor and terminal. (#28309)
  • Fixed text selection misalignment in terminal when the inline assistant is active. (#26112; thanks flappyBug)
  • Fixed compiling dev extensions with Tree-sitter grammars on Linux aarch64. (#27906; thanks jkbz64)
  • Fixed an issue where pasting code starting with a new line resulted in incorrect auto indent. (#28134)
  • Fixed a bug where ^ wasn't being escaped in Go tests. Run regex to improve shell compatibility (notably with zsh). (#27746; thanks jakejx)
  • Fixed an issue causing "robot voice" when enabling the microphone on some bluetooth headphones (hopefully). (#28045)
  • Fixed an issue where the active line number in the editor was not always highlighted. (#28015; thanks MrSubidubi)
  • Fixed missing background for inline code blocks in the editor hover tooltip. (#27980)
  • Fixed a bug where Zed sometimes added multiple redundant FS watchers when language servers requested to watch paths. This could cause saves and git operations to fail if Zed exceeded the file descriptor limit. (#27957)
  • Fixed certain case where typing closing bracket would skip it when auto close setting is turned off. (#27960)
  • Fixed issue where selection wasn't working for info and diagnostic popovers. (#28642)
  • Fixed an issue with using non-streaming Copilot Chat models (e.g., o1, o3-mini). (#28537)
  • Fixed a panic when LSP tasks are queried in certain multi buffer excerpts. (#28538)
  • Git: Fixed an issue where non-UTF8 files in a git diff would generate log spam. (#28276)
  • Git: Fixed a bug causing the git panel to not update after pushing to a remote. (#28327)
  • Vim: Fixed visual line yank while on the newline character yanking following line. (#28005; thanks 5brian)
  • Vim: Fixed paste action to switch back to the configured default mode. (#28304; thanks jneem)
  • Vim: Fixed visual object expands. (#28301; thanks 0x2CA)

Breaking Changes and Notices

  • If using system node Zed now requires Node >= v20. Previously Node >= v18 was required. (Node v18 EOL date is 2025-04-30; Node v19 EOL since 2023-06-01). Note: This does not change the Zed bundled Node runtime version (still v23). (#27912; thanks thorbenk)

0.181.8

04/15/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed an issue where Gemini requests would sometimes return a Bad Request ("Invalid argument...") (#28749)

0.181.7

04/14/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Copilot Chat: Added Gemini 2.5 Pro support to Copilot Chat, accessible in both the stable Assistant panel and the new Agent panel (beta). (#28660; thanks 0xRichardH)
  • Added support for OpenAI's GPT-4.1, GPT‑4.1 mini, and GPT‑4.1 nano via Copilot Chat and OpenAI API, accessible in both the stable Assistant panel and the new Agent panel (beta). (#28708)

0.181.6

04/11/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a crash on macOS (Catalina, Big Sur). Users may need to manually redownload Zed if they updated to a broken release. (#28585)
  • Fixed a panic when enabling or disabling a VPN on macOS (#28531)
  • Fixed a panic that could occur when git statuses were updated. (#28594)
  • Fixed a bug causing conflicted files in the git panel to jump to the "Tracked" section as soon as they were staged. (#28511)
  • Fixed a regression where code-actions used when formatting on save were rejected if they contained commands (#28426)
  • Fixed a bug that could cause the staged status of entries in the git panel to be stale. (#28592)
  • Re-Added support for Screensharing on X11. (#28160)

0.181.5

04/09/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Enhancements

  • Added support for automatically inserting a newline when hitting enter between opening and closing tags in JSX/TSX (#27618)
  • Improved restoration of editor state when files are reopened (folds, selections, scroll position). (#27672)
  • Added persistent history of command palette usages. (#26948; thanks KyleBarton)
  • Added correct syntax highlighting for use bounds and async closures in Rust. (#27875)
  • Mouse cursor now auto-hides in more circumstances. This behavior can be changed by setting hide_mouse to on_typing_and_movement, on_typing or never.
  • Improved how upper-case characters are handled in keybinds. "Special" keys such as the function keys, control, shift, etc. are now parsed case-insensitively, so for example F8, CTRL, SHIFT are now acceptable alternatives to f8, ctrl, and shift when declaring keybindings. Additionally, upper-case (ASCII) characters will now be converted explicitly to shift + the lowercase version of the character, to match the Vim behavior. (#27813)
  • Keybinds in context menus will now be dimmed if the corresponding action is currently disabled (#27693; thanks MrSubidubi)
  • Added ability to double click on empty pane to open a new file (#27521; thanks loczek)
  • Added support for project panel hiding gitignored files. Use the ProjectPanel::ToggleHideGitIgnore action to toggle the new project_panel.hide_gitignore setting. (#26636; thanks AlvaroParker)

Git

  • Added the ability to show past commits in Zed. You can view the most recent commit by clicking its message in the commit panel. And when viewing a git blame, you can show any commit by clicking its sha. (#27636)
  • Ensured that only one repository is shown in the git UI when two subdirectories of a common repository root are open in Zed. (#27884)
  • Zed will now use GIT_ASKPASS if you already have one set instead of overriding with our own. Fixes git push in Coder. (#27681)
  • Changed the git panel to prompt before restoring a file. (#27525)
  • Fixed git repositories being added for files outside the project. (#27894)
  • Fixed a bug where the git panel displayed a commit's committer in place of its author. (#27856)
  • Fixed an issue where Git committer was displayed instead of Git author. (#27628)

Languages

  • Python: Improved detection of virtualenvwrapper environments in work trees. (#26759; thanks elprans)
  • Python: Improved highlighting of function parameters in Python. (#26815; thanks MrSubidubi)
  • Python: Improved display of environments in toolchain selector. (#26741; thanks elprans)

Vim

  • Added :ls and :buffers. (#27797; thanks 5brian)
  • Added :options and :map. (#27798; thanks 5brian)
  • Added g? convert to Rot13/Rot47. (#27824; thanks 0x2CA)
  • Fixed d]} to not delete the closing brace (#27786)
  • Fixed d} from the start of the line to not delete the paragraph separator (#27786)
  • Fixed d} from the middle of the line to not delete the final newline (#27786)
  • Fixed space on multibyte characters at end of line. (#27860; thanks mastion)
  • Fixed o and shift-o in visual block mode. (#27678; thanks mastion)
  • Added support for Terminal && vi_mode as keybinding context to detect when the terminal is in vi_mode. (#26236; thanks iyht)

AI

  • Added support for DeepSeek R1 hosted on AWS Bedrock. (#27495; thanks 5herlocked)
  • Fixed an issue where context servers defined in project settings would not be respected in some scenarios. (#27633)

Bug Fixes

  • Fixed an issue where fuzzy matching in file finder did not properly prioritize matches in file names. (#27937)
  • Fixed padding issue with the signature popovers. (#27734; thanks WeetHet)
  • Fixed code actions tooltip opening on top of code actions menu. (#27809)
  • Fixed the mouse cursor not hiding while typing in Vim mode. (#27804)
  • Fixed a bug where unchanged buffers were marked as conflicting if their files were deleted outside of Zed (#27701)
  • Fixed an issue where accepting LSP snippet completion would insert the label instead of expanding the snippet (#27630)
  • Fixed an issue where workspace::ToggleRightDock would open the assistant panel even when disabled via settings (#27215; thanks MrSubidubi)
  • Fixed an issue where GitHub Copilot would not install properly if the directory was not present. (#28178)
  • Fixed a panic that could occur when paths changed in the project diff. (#28364)
  • Fixed the git panel sometimes failing to update after pushing to a remote. (#28327)
  • Collaboration: Fixed a bug where AirPods had bad sound quality. (#27126)
  • Collaboration: Fixed a bug where Zed might hang when muting/unmuting/leaving/joining a channel. (#27126)
  • Collaboration: Fixed echo cancellation in calls on Linux. (#27126)
  • Collaboration: Removed dependency on WebRTC.framework on Mac. (#27126)
  • SSH: Fixed remote not restoring when opening for second time. (#27830)
  • SSH: Fixed project panel not opening when opening new SSH remote folder. (#27830)
  • SSH: Fixed remote clients unable to query custom, lsp_ext, commands (#27775)
  • SSH: Fixed trash to work on remotes with no Linux desktop environment configured (#27682)
  • Removed a small gap between the editor gutter and horizontal scrollbar. (#24887; thanks MrSubidubi)
  • Terminal: Fixed an issue where editor theme colors (text, background) were incorrectly being used instead of terminal theme colors (terminal.{foreground,background}) (#27617)

Linux Video

  • Added the ability to specify which GPU Zed uses on Linux by setting the ZED_DEVICE_ID environment variable. You can obtain the device ID of your GPU by running lspci -nn | grep VGA which will output each GPU on one line like:
    08:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070] [10de:2484] (rev a1)
    
    where the device ID here is 2484. This value is in hexadecimal, so to force Zed to use this specific GPU you would set the environment variable like so:
    ZED_DEVICE_ID=0x2484
    
    Make sure to export the variable if you choose to define it globally in a .bashrc or similar

Breaking Changes and Notices

  • Renamed hide_mouse_while_typing setting to hide_mouse (#27677)
  • Keymaps: Upper-case (ASCII) characters will now be converted explicitly to shift + the lowercase version of the character, to match the Vim behavior. (#27813)

0.180.4

04/08/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a panic with completions around non-ASCII code. (#28285)

0.180.3

04/07/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a crash that could happen when expanding diff hunks with multiple cursors in one hunk. (#28117)
  • Fixed an issue where dismissing the git onboarding banner would not be persisted across sessions. (#28148)

0.180.2

04/02/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Enhancements

  • Added persistence to editor folds to preserve them between restarts. (#27252)
  • Added an editor::CopyAndTrim action to trim selections when copying. (#27206)
  • Added a go_to_definition_fallback setting, which can be assigned find_all_references (default) or none. (#27426)
  • Added a scrollbar to the extensions page. (#27303)
  • Added the --system-specs flag to the Zed binary (not the CLI!), to retrieve the system specs we ask for in GitHub issues without needing to open Zed. (#27285)
  • Added option to copy extension author's name and email from extension context menu. (#27221)
  • Added the ability to set a language server's environment variables. For example: {"lsp": {"rust-analyzer": {"binary": {"path": "/some/abs/path/rust-analyzer", "env": {"RA_PROFILE": "*>100"} }}}}. (#27213; thanks davidbarsky)
  • Added a notification when saving the tasks.json file while in an invalid state. (#27185)
  • Improved user menu placement. (#27329; thanks huacnlee)
  • Improved memory usage around installed monospace fonts. On Arch Linux with the nerd-fonts package installed (which provides around 2000 monospaced fonts), it decreases RAM usage from ~800MB to around ~300MB. (#27362; thanks AlvaroParker)
  • Improved Regex syntax highlighting. (#25332; thanks chbk)
  • Improved scrolling of editor::SelectLargerSyntaxNode for better visibility. (#27295)
  • Improved autocomplete suggestions in settings.json, now the whole string is queried instead of just the last word of the string, which filters out a lot of false positives. (#27175)
  • Improved selection of action in keymap.json, where now you can double click to only select certain parts of an action, instead of selecting the whole action. (#27175)
  • Removed the stderr-prefix of a language server's stderr logs. (#27213; thanks davidbarsky)

Languages

  • Python: Added detection for runnable Python modules. (#26462; thanks griendt)
  • Python: Added Python-specific task to run a Python file as a module from inside the project's scope. (#26462; thanks griendt)
  • Python: File, line references from Python, like File "file.py", line 8 are now clickable in the terminal. (#26903; thanks thorbenk)
  • Python: Show tasks from Python plugin for standalone files. (#27183)
  • JavaScript / TypeScript: Improved autocomplete suggestions for imports. (#27235)
  • Added recognition for APKBUILD files as "Shell Script". (#27099; thanks vixalien)
  • Improved language server autocomplete to show more possible matches. (#27199)
  • Updated bun.lock files to be recognized as JSONC. (#27359; thanks A-caibird)

Vim

  • Added ' and " marks (last location jumped from in the current buffer, and location when last exiting a buffer). (#27231; thanks AidanV)
  • Added :marks which brings up a list of current marks. (#26885; thanks AidanV)

AI

  • Added support for Gemini 2.5 Pro Experimental model. (#27468)
  • Added support for Claude Sonnet 3.7 Thought in the assistant panel. (#27085)
  • Added support for Claude Sonnet 3.7 Thought to GitHub Copilot Chat. (#27409; thanks jiahaoxiang2000)
  • Updated Copilot to use the official @github/copilot-language-server. (#27401)
  • Inline assistant will now expand empty selections to the block under the cursor. (#27282)

Bug Fixes

  • Git: Fixed hunks being skipped when staging too quickly. (#27552)
  • Git: Fixed crash when staging a hunk that overlaps multiple unstaged hunks. (#27545)
  • Fixed invisible scrollbar tracks being inserted into the editor when scrollbars are explicitly disabled via settings. (#27467; thanks MrSubidubi)
  • Fixed an issue where code block highlight and indentation in Markdown preview was rendered incorrectly. (#27463)
  • Fixed an issue where Markdown preview was not rendering bullet points beginning with HTML. (#27018; thanks nilskch)
  • Fixed color swatches shrinking upon re-adding a color-related property. (#27450)
  • Fixed a conflict between LaTeX and cspell extensions affecting code formatting on save. (#27286; thanks lnay)
  • Fixed an issue where except, finally, else, and elif control flow keywords in Python would be incorrectly indented when entered at the correct level of indentation. (#27428)
  • Fixed a bug where inactiveRegions didn't replace existing diagnostics anymore when using the clangd language server. (#26737; thanks naim94a)
  • Fixed an issue where both the predict edit and git onboarding banners would show at the same time. (#27412)
  • Fixed a rare panic in the project diff view. (#27395)
  • Fixed an issue with JSX tag auto-close where components containing a . access like <Foo.Bar> would be auto-closed as </> instead of </Foo.Bar>. (#27374)
  • Fixed images in the Markdown preview appearing not at all or too often. (#25592; thanks not-my-profile)
  • Fixed an issue with context server paths not being interpreted relative to the extension's work dir. (#27201)

Breaking Changes and Notices

  • Files that are 6GB or larger will now not open. This is a temporary workaround for inefficient handling of large files resulting in extremely high memory usage, often resulting in system freezing, requiring a restart of Zed or the entire system. (#27458)
  • Changed Markdown default to soft_wrap at window width instead of preferred_line_length. (#27205)
March

0.179.5

03/31/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Added support for Gemini 2.5 Pro Experimental model to Zed AI. (#27468)

0.179.4

03/28/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed language server restarts sometimes not restarting a language server. (#27657)

0.179.3

03/27/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Zed now hides the mouse cursor when the user is typing. This behavior can be configured with the hide_mouse_while_typing setting. (#27519)

0.179.2

03/26/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

We introduced a new display mode for Edit Prediction called subtle, which makes predicted text hidden by default and only visible when you're holding a modifier key. To turn it on, open the Edit Prediction status bar menu and select subtle. This can also be adjusted via your settings.json with: "edit_predictions": { "mode": "subtle" }. To read about this new mode, check the blog post.

Enhancements

  • Added support for word-based completions via editor: show word completions. (#26410)
  • Added the ability to filter the list of extensions by category. (#27005)
  • Added support for reading from anonymous file descriptors (e.g., created as part of process substitution) on macOS and Linux. (#26744)
  • Added a setting use_system_prompts. On macOS, you can set this to false to use Zed's in-window confirmation dialogs instead of the system ones. (On Linux, Zed's dialogs are always used). (#26201; thanks Hawkbawk)
  • Added fallback colors for the version_control.<variant> theme properties. (#27106)
  • Git: Added a SelectRepo action that opens the repository selector in a modal. (#26950)
  • Git: Added a new git_hosting_providers setting for configuring custom Git hosting providers. (#26879; thanks khayyamsaleem)
  • Git: Improved the placement of the repo and branch picker popovers in the git panel. (#26950)
  • Git: Improved consistency of colors relating to Git status. (#26951; thanks jakucermak)
  • Git: Synced Git action buttons between the project diff and git panel. (#26938)
  • Git: Removed a behavior where staging the last hunk in the project diff would open the commit modal. (#26939)
  • SSH: Improved handling of multiple @ in connection strings: e.g., ssh jim.lv@es2@10.220.67.57@11.239.1.231 improving support of jump hosts running JumpServer. (#25314; thanks ColorFuzzy)
  • Multi-buffer: Improved Expand Excerpt Down so the button stays in place, allowing rapid expansion without moving the mouse. (#27058)
  • Improved Multibuffer design. Multibuffers now use less vertical space for excerpt boundaries. Additionally, the expand up/down arrows are hidden at the start and end of the buffers. (#24428)
  • Improved performance when using the scroll wheel and some other mouse interactions. (#25009; thanks huacnlee)
  • Improved support for extended keyboards on Mac (F20-F35). (#26899; thanks 0x2CA)
  • Improved autocomplete for keymap.json by treating :: like word characters when inside a string. (#26574; thanks KyleBarton)
  • Improved save dialogues for new files to default to the directory you're currently working in instead of the project root. (#22563; thanks CharlesChen0823)
  • Extended timeout used when connecting to remote instances. (#27250)

Vim

  • Added global marks '[A-Z]. (#25702; thanks AidanV)
  • Added persistence for global (and local) marks. When re-opening the same workspace, your previous marks will be available. (#25702; thanks AidanV)
  • Added sentence marks '( and '). (#25702; thanks AidanV)

AI

  • Copilot: You can now sign into Copilot from assistant settings without making it your edit prediction provider. This is useful if you want to use Copilot chat while keeping a different provider, like Zed, for predictions. (#26689)
  • Copilot: Removed the copilot key from features in settings. Use edit_prediction_provider instead. (#26689)
  • Edit Prediction: Enabled toggling display modes (eager or subtle) directly from the UI via the status bar menu. (#26680)

Bug Fixes

  • Fixed buffer search keeping focus when pressing enter in vim mode. (#26266; thanks CharlesChen0823)
  • Fixed an issue where navigating code from a preview tab with enable_preview_from_code_navigation set to true, "Go Back" from a newly opened tab could focus on the tab to the right instead of returning to the original preview tab. (#26943)
  • Fixed an issue where selecting the first line in the terminal would cause it to scroll. (#26842)
  • Fixed a bug where context for the terminal assistant would add line breaks in the presence of soft wrapped lines. (#25415; thanks 0xRichardH)
  • Fixed the interaction between auto_reveal, file_scan_inclusions, and .gitignore within the Project Panel. Files that are always included will now be auto-revealed in the Project Panel, even if those files are also gitignored. (#26197; thanks Hawkbawk)
  • Fixed edit predictions appearing in read-only buffers. (#26804; thanks MrSubidubi)
  • Fixed attributes in Rust being improperly highlighted. (#26172; thanks MrSubidubi)
  • Fixed selection highlight appearing in input fields like the file picker, command palette, etc. (#26805)
  • Fixed auto-paired quotes being inserted when typing a quote immediately next to a word character. (#26803)
  • Fixed a rare case where languages had no associated icon in the language selector. (#26376; thanks MrSubidubi)
  • Fixed an issue where file names with newlines and multi-byte characters could cause a crash in certain cases. (#26791)
  • Fixed an issue where Zed would show macOS native tabs when opening new fullscreen windows on macOS. (#26774)
  • Fixed a bug where editor's outline view wouldn't move the cursor on confirm action. (#26761)
  • Fixed an issue where autocomplete suggestions and diagnostics for languages and (icon) themes in settings would not update when the extension with which they were added was installed or uninstalled. (#26633)
  • Fixed an issue when using code actions as a format step where the edits made by the code actions would not be grouped with the other format edits in the undo history (#27198)
  • Fixed custom tasks not shown (#27187)
  • Linux: Fixed an issue where Zed would crash on AMD Linux systems when selecting long lines. (#26890; thanks not-my-profile)
  • Git: Fixed git commit messages not being syntax-highlighted. (#26988)
  • Git: Fixed involuntary joining of lines when typing in the commit message editor. (#26953)
  • Git: Fixed being unable to type whitespace after a comment character at the start of a line in the commit message editor. (#26953)
  • SSH: Fixed an issue that prevented formatting from working when working with remote dev.
  • Vim: Fixed space not handling non-ASCII characters. (#27053; thanks 5brian)

0.178.5

03/19/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed issue where Zed would show mac native tabs when opening new fullscreen windows on macOS. (#26774)

0.178.4

03/19/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Enhancements

  • Git: Added a git.hunk_style setting to control whether staged or unstaged hunks are hollow. (26816; thanks jakcharvat)
  • Git: Improved gutter diff hunks to show whether a hunk is staged. (#26809; thanks jakcharvat)
  • Added a keybinding to alt-shift-enter to interact with the button on the new status toasts, toast::RunAction. (#26420)
  • Added Open Remote... to File menu. (#26288)
  • Added a "secondary" meta key to the Zed keystroke parser, which maps to cmd on macOS and ctrl off of macOS. (#26390)
  • Added support for opening folders in Zed from third-party macOS file managers like Path Finder and Super Charge through their Open With menu. (#26357)
  • Added a sign-out button for Copilot in Assistant settings. (#26340)
  • Added support for workspace/executeCommand for actions' data. (#26239)
  • Improved cmd-click in terminal to find more paths. (#26174)
  • Improved the terminal tab for when command is run via vim mode, in order to disable the rerun button, seeing as Zed does not support it. (#26122; thanks dinocosta)
  • User and global .npmrc configuration is now respected when running user-provided NPM binary (which also happens automatically when npm from PATH is newer than 18.0.0). (#26209)
  • Gruvbox Themes: Added a color for @variable.special syntax highlights. (#26271; thanks edwloef)
  • Linux: Made nano save (ctrl-o) work by default in terminal. (#26479)

Languages

  • Added support for auto-closing of JSX tags. (#25681)
  • Added support for clangd's inactiveRegions extension. (#26146; thanks naim94a)
  • Added vtsls and typescript-language-server to the list of available language servers. (#26046; thanks sacki5)
  • Improved Python highlighting for default function arguments and scoped identifiers. (#25813; thanks MrSubidubi)
  • Enabled soft-wrap by default in Markdown. (#26247)

Vim

  • Added <count>% motion. (#25839; thanks 5brian)
  • Added :reg[isters] to show the current values of registers. (#25945; thanks AidanV)
  • Added support for toggling boolean values with ctrl-a/ctrl-x. (#25997; thanks 5brian)

AI

  • Edit Predictions: Improved UX when there's no keybinding for accepting predictions. (#25815)

Bug Fixes

  • Fixed an issue where text selection was not visible on top of a text background in the editor. (#26454)
  • Fixed an issue where Zed showed transparent titlebar in fullscreen mode on macOS. (#26403)
  • Fixed a bug where file paths in the built-in terminal of the format path/to/file.ext:row:col:description or error message would not be correctly identified as file paths due to the colon & additional text at the end. (#26401)
  • Fixed an issue where clicking the editor with the mouse while the Go to Line palette is open would cause it to jump to the previous scroll position. (#26362)
  • Fixed LSP completion items modified before resolve request. (#26347)
  • Fixed an issue where signing into Copilot required restarting Zed. (#26330)
  • Fixed default file type associations overriding associations provided by extensions for txt files. (#25420; thanks MrSubidubi)
  • Fixed SSH remotes running Nushell. (#25613)
  • Fixed the terminal tab title when using !! to rerun the last command. (#26122; thanks dinocosta)
  • Fixed an issue where cmd+click on a URL was not working sometimes. (#26128)
  • Fixed an issue where the wrong file from a different worktree would open when using Cmd+Click on a file import. (#26120)
  • Fixed font sizes not reacting on settings change. (#26060)
  • Fixed the "Open a file or project to get started" message not always showing after all buffers have been closed. (#26044; thanks felixpackard)
  • Fixed lost focus when navigating back in project search result. (#22483; thanks feeiyu)
  • Fixed broken C++ completion suggestions. (#25405; thanks BorisVassilev1)
  • Fixed wrong file icons being shown for files outside of the current project. (#25933; thanks MrSubidubi)
  • Fixed constants not being highlighted in Python files. (#25813; thanks MrSubidubi)
  • Fixed regex search box being overly green. (#25962)
  • Fixed an issue where file paths in the terminal surrounded by () or [] would not be highlighted properly. (#26695)
  • Fixed issue where Zed would behave weirdly when opening new fullscreen windows by disabling window tabbing. (#26600)
  • Fixed goto single file worktrees during terminal cmd-clicks. (#26582)
  • Vim: Fixed insert before (shift-i) in visual modes. (#25603; thanks 5brian)
  • Vim: Fixed Vim ignoring cursor_shape settings. (#25439; thanks 0x2CA)
  • Vim: Fixed . repeat for remapped surrounds/exchange actions. (#26101)
  • Vim: Fixed "seed_search_query_from_cursor" : "selection". (#26107; thanks 0x2CA)
  • Vim: Fixed vim exchange's "clear exchange" function didn't clear the exchange and kept you in operator pending mode. (#25804; thanks thomasheartman)
  • Vim: Fixed incorrect behavior of backward search. (#24974; thanks nilehmann)
  • Vim: Fixed x g ctrl-a step. (#26023; thanks 0x2CA)
  • Linux: Fixed ctrl-alt-f not correctly toggling search filters in project search. (#25917; thanks GuilhermeRGoncalves)

Breaking Changes and Notices

  • Renamed the vim::Backspace and vim::Space actions to vim::WrappingLeft and vim::WrappingRight respectively. The old names are still available, but they are marked as deprecated and users are advised to use the new names. (#25694; thanks asqarslanov)

0.177.11

03/18/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Git: Changed git commit message editors to use placeholder text for Git's suggested merge messages. (#26992)
  • Git: Fixed various minor bugs.

0.177.10

03/17/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a bug that prevented typing in the in-app feedback form (#26807)

0.177.9

03/14/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Added multibuffer key context. (#26264)
  • Added editor::MoveToStartOfNextExcerpt and editor::MoveToEndOfPreviousExcerpt. (#26264)
  • cmd-down and cmd-shift-down on Mac now move to the end of the last line of a singleton buffer instead of the beginning. In multibuffers, these now move to the start of the next excerpt. (#26264)
  • Git: On macOS, switched to using the system's Git binary to create commits. This fixes issues that some users were seeing with pre-commit hooks. Compatibility note: after this change, it is no longer possible to commit from Zed unless Git is installed. (#26705)
  • Git: Fixed a bug that prevented putting the cursor after a deletion hunk at the end of a file, in the absence of trailing newlines. (#26621)
  • Git: Fixed flicker when reverting last hunk in project diff view. (#26706)
  • Git: Fixed the Git panel to not show an "Initialize Repositories" button in empty projects. (#26713)
  • Git: Fixed showing commit messages for all repos. (#26709)
  • Fixed vim::PreviousSectionEnd (bound to [ ]) to move to the beginning of the line, matching the behavior of vim::NextSectionEnd. (#26264)

0.177.8

03/13/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Git: Fixed git-credential-manager. (#26573)
  • Git: Fixed a bug where unstage/stage all in project diff wouldn't work while Git panel was closed. (#26575)
  • Git: Commit messages are now wrapped "as you type" to 72 characters. (#26507)
  • Git: Renamed editor::ToggleGitBlame to git::Blame. (#26565)
  • Theme: Fixed an issue where version control colors weren't applying correctly. (#26665, #26606)
  • Fixed a bug where the modal layer could not be dismissed via the mouse.
  • Fixed an issue where multi-line pasted content was auto-indented incorrectly if copied from the middle of an existing line. (#26246)
  • Fixed soft_wrap setting not applying to buffers starting with a different language. (#25880; thanks alexozer)

0.177.7

03/12/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

🚀 Zed now has built-in Git support! 🚀

You can view your diff, stage changes, commit, and push from within the editor. For more information, check out the blog post.


Enhancements

  • Added support for stop_at_indent to Editor::DeleteToBeginningOfLine. (Thanks @felixpackard)
  • Added support to unfold multibuffer excerpts when editing their contents. (#25677)
  • Added a way to toggle inlay hints with modifiers. (#25752)
"inlay_hints": {
    /// A set of modifiers which, when pressed, will toggle the visibility of inlay hints.
    /// If the set is empty or not all the modifiers specified are pressed, inlay hints will not be toggled.
    "toggle_on_modifiers_press": {
        "control": false,
        "shift": false,
        "alt": false,
        "platform": false,
        "function": false
    }
}
  • Added copy permalink action for self-hosted GitHub enterprise instances. (#26482)
  • SSH: Added support for specifying ssh_config files (ssh -F ssh_config) in connection string. (#25619)
  • SSH: Added support for downloading zed-remote-server with busybox wget (Alpine, etc). (#25621)
  • Improved Zed tasks' ZED_WORKTREE_ROOT fallbacks. (#25605)
  • Improved performance of rendering multibuffers with very large numbers of buffers. (#26308)
  • Changed the always_show_close_button key to show_close_button and introduced a new hidden value, that allows never displaying the close button. (#23880; thanks @Morgandri1)
  • Updated bundled JSON schemas for package.json and tsconfig.json. (#25826)

Vim

Languages

  • Added editor::OrganizeImports action to organize imports (sort, remove unused, etc.) for supported LSPs. You can trigger it by using the alt-shift-o key binding. (#25793)
  • Added support for clickable file paths in the Odin language format. (#25842; thanks @devzeth)

AI

  • Edit Predictions: Added an enabled_in_assistant setting. (#25767)
  • Edit Predictions: Added support for absolute globs in edit_predictions.disabled_globs.

Bug Fixes

  • Fixed an issue where git hunk indicators in editor scrollbars used the incorrect colors. (#25824)
  • Fixed Markdown preview to display image with max width 100%. (#25632; thanks @huacnlee)
  • Fixed issues with ansible-language-server sending phantom diagnostic updates. (#25903)
  • Fixed an issue where the buffer search options would not be reset when using buffer: deploy search after using Vim search (* & #) which enable all search options. (#25838)
  • Fixed an issue where active_pane_modifiers settings would be applied to a parent pane if one of its child panes was active. (#25836)
  • Fixed search input regex highlight not going away after redeploy. (#25797)
  • Fixed an issue where Zed.log could grow excessively large during long sessions of Zed. (#25768)
  • Fixed Rust test tasks showing up outside of tests. (#25787)
  • Fixed markdown preview not updating when an edit prediction is accepted. (#25772)
  • Fixed a panic when Cyrillic characters are used in languages like Swift. (#25739)
  • Fixed an issue where the Bedrock model provider would not always respect the region. (#25716; thanks @5herlocked)
  • Fixed an issue where active diagnostics could become stale. (#25646)
  • Fixed a hang that could occur when editing certain Zig files. (#26092)
  • Fixed an issue where language models would not be authenticated until after the model selector was opened (Preview only). (#26138)
  • Fixed a bug causing slowness when viewing multi buffers with lots of excerpts. (#26253)
  • Fixed some potential panics in the AWS Bedrock model provider. (#26238)
  • Fixed editor: copy permalink to line to now use the upstream of the current branch instead of origin. (#26398)
  • Linux: Fixed a panic that could occur on theme appearance change. (#26019)
  • Vim: Fixed j/k on folded multibuffer header. (#25944)
  • Vim: Added git keyboard shortcuts: d u/d U for staging/unstaging in the project diff view. d o/d O to show hide/toggle staged in the editor and d p for restoring the hunk. (#26045)

Breaking Changes and Notices

  • Renamed several keymap actions for consistency (e.g., GoToPrevHunkGoToPreviousHunk, TabPrevBacktab, etc). Your existing configured keybindings will still work. You can click "Backup and Update" at the top of your keymap file to easily update to the new actions. (#25909)

0.176.3

03/06/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed some potential panics in the AWS Bedrock model provider. (#26242)

0.176.2

03/04/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a panic on Linux theme appearance change. (#26019)
  • Renamed several keymap actions for consistency (e.g., GoToPrevHunkGoToPreviousHunk, TabPrevBacktab, etc.). Your existing configured keybindings will still work. You can click "Backup and Update" at the top of your keymap file to easily update to the new actions. (#25909, 25931)

0.176.1

03/03/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Today, we are launching our private beta for enhanced Git integrations. We'll gradually invite users from the Git beta waitlist daily. Keep an eye out for an invite email from our team in the coming days.


Breaking Changes and Notices

  • Renamed editor::RevertSelectedHunks and editor::RevertFile to git::Restore and git::RestoreFile for consistency with git (#25197)
  • Renamed the editor::ExpandAllHunkDiffs action to editor::ExpandAllDiffHunks (#25369)

Enhancements

  • Added an allow_rewrap setting to control the editor::Rewrap behavior for a given language. (#25173)
  • Added an on_last_window_closed setting, that allows users to quit the app when the last window is closed (#25185)
  • Added initial inline diagnostics support (#25297)
  • Added support for stop_at_indent option for MoveToBeginningOfLine and SelectToBeginningOfLine. (#25428)
  • Added support for checking for package-version-server on the $PATH. (#23849; thanks matthewpi)
  • Added support for repositories hosted on chromium.googlesource.com for Git blames and permalinks. (#24881; thanks hferreiro)
  • Added support for selecting the commit message in git commits (#25136)
  • Added support for tcsh/csh shells as login shell when loading environment variables. (#25122)
  • Added the ability to specify an HTTP/HTTPS proxy for Copilot (#24364; thanks eli-kaplan).
  • Improved diagnostic pane responsiveness with large # of diagnostics. (#25287)
  • Improved display of long paths in the file finder modal (#25049)
  • Improved expanded macro ergonomics (#25298)
  • Improved performance of project panel in large git repositories. (#25465)
  • Improved the scenario where there'd be a project panel entry highlighted/marked even if there is no open buffer. (#25457)
  • Improved Zed's handling of the following requests when the first language server in language server settings for a given language is not capable of handling them (#25591):
    • Perform Rename
    • Prepare Rename
    • Document Highlights
    • Find all references
    • Go to implementation
    • Go to definition
    • Go to declaration
    • Go to type definition

Syntax Highlighting / Themes

  • Added eager loading of the active theme and icon theme. This should address some reports of seeing the default themes briefly on startup. (#25368)
  • Added syntax scopes to themes (#25323; thanks chbk)
  • Added raw keyword to Rust language highlights (see the Rust 1.82.0 announcement). (#25342)
  • Improved the appearance of the file finder when long paths are shown by eliding path segments (#25303)
  • Improved C++ syntax highlighting for sized type specifiers. (#25362; thanks zeux)
  • Improved JavaScript and TypeScript syntax highlighting. (#25328; thanks chbk)
  • Improved Rust syntax highlighting. (#25333; thanks chbk)
  • Improved Python syntax highlighting. (#25331; thanks chbk)
  • Improved terminal reopening to be per workspace instead of global. (#25336)
  • Improved C and C++ syntax highlighting. (#25325; thanks chbk)
  • Improved Go syntax highlighting. (#25327; thanks chbk)
  • Improved JSON syntax highlighting. (#25329; thanks chbk)
  • Improved Bash syntax highlighting (#25324; thanks chbk)
  • Improved rendering of true and false to match boolean highlight defined in themes for C, C++, Go, JSON, JSONC, Python, and Rust. (#25338; thanks everdrone)
  • Gruvbox themes: Changed the color used for @variable syntax highlights to be less intense. (#25464)
  • One Dark theme: Adjusted the color used for @variable syntax highlights. (#25468)
  • Fixed theme selector resetting the buffer size. (#25425)

Vim

  • Vim: Added an implementation of vim-exchange (#24678; thanks thomasheartman)
  • Vim: Added missing default key binding for Vim::CurrentLine for replace with register mode (grr) (#24678; thanks thomasheartman)
  • Vim: Fixed gr in visual mode (#25301; thanks 0x2CA)
  • Vim: Fixed a bug where assistant: insert into editor was missing the selected range. (#25133; thanks rien7)
  • Vim: Fixed a bug where editor: copy was missing the selected range. (#25133; thanks rien7)
  • Vim: Fixed a bug where search results were skipped occasionally. (#25580)
  • Vim: Fixed cursor shape hollow only in block (#25235; thanks 0x2CA)
  • Vim: Fixed operations on backtick quotes. (#25502; thanks 5brian)
  • Vim: Fixed visual selections when jumping to marks (#25360; thanks dinocosta)
  • Vim: Fixed a panic when submitting a search. (#25717)

Keybind Improvements

  • Emacs: Added mapping for alt-m (back-to-indentation). (#25428)
  • Emacs: Added support for alt-{ and alt-} paragraph navigation. (#25284)
  • Fixed undo in emacs (ctrl-_) not working by default in Terminal on macOS. (#25578)
  • Fixed tmux ctrl-b being broken in the Terminal on Linux by default. (#25476)
  • Mac: In the default keymap, cmd-up now moves to the previous multibuffer excerpt start, and cmd-down moves to the next multibuffer excerpt end. For normal buffers these behave the same as before, moving to the beginning or end. (#25299)
  • Windows: Added support for "menu" key (#25000; thanks gim913)

Languages

  • Rust: Added support for --target-dir for Rust tasks (#24725; thanks bnjjj)
  • Rust: Added support for doc test in tasks for Rust (#24806; thanks bnjjj)
  • Rust: Fixed not being able to spawn the cargo test task for a tests module in lib.rs, main.rs, or mod.rs (#25092)
  • Python: Fixed a bug where indentation was applied when adding a newline to a comment ending in :. (#25437)
  • Python: Fixed Pyright failing to start when installed locally (#24873; thanks MrSubidubi)

AI

  • Added support for AWS Bedrock to the Assistant. (#21092; thanks 5herlocked)
  • Edit Predictions: Added support for detecting LICENSE.md and LICENCE.md files to license detection. (#25422; thanks pngdrift)
  • Edit Predictions: Disable This Buffer option when predictions are disabled for its language. (#25566)
  • Edit Predictions: Disable as soon as edit_prediction_provider is set to none. (#25505)
  • Edit Predictions: Do not require a modifier key when indentation is correct according to its surrounding block. (#25491)
  • Edit Predictions: Fixed mismatch between status bar settings and editor control settings. (#25505)
  • Edit Predictions: Fixed jump/accept popover position for long lines. (#25348)

Bug Fixes

  • Fixed a bug in the GoToDefinitionSplit action where splitting wouldn't happen if the definition was in the same active editor. (#24990)
  • Fixed a bug that would prevent rejoining projects sometimes. (#25530)
  • Fixed a bug where copy_recursive ran infinitely when copying a folder into its subfolder. (#25317)
  • Fixed a bug where run indicators were jumping when buffer content changed. (#25507)
  • Fixed a bug where shells spawned by the Zed terminal would not hide the login message when ~/.hushlogin exists (#25224)
  • Fixed a bug where the breadcrumb was showing in the image viewer when toolbar breadcrumbs were disabled. (#25654; thanks kaf-lamed-beyt)
  • Fixed a bug where you couldn't open the outline modal when focus was in the buffer search bar. (#25225)
  • Fixed a crash that could happen when typing in the assistant panel with edit predictions enabled. (#25598)
  • Fixed a hang that could occur when large files were changed on disk or formatted. (#25129)
  • Fixed a visual bug that could make context menus unusable when setting a custom buffer_line_height. (#25172)
  • Fixed an issue where screen sharing would be visible even when user didn't have the right permission resulting in errors later on. (#25192; thanks devzeth)
  • Fixed an issue where whitespace selections were incorrectly highlighted. (#25236)
  • Fixed being unable to toggle diff hunks with the mouse in some cases (#25367)
  • Fixed extremely small scrollbar thumb for long content in Terminal, Outline Panel, and more. (#25288)
  • Fixed gutter highlights not matching diff hunks in multibuffers in some cases. (#25600)
  • Fixed incorrect indentation when pasting multi-line content that was copied from another app. (#25300)
  • Fixed issue where scroll thumb was invisible or too small when viewing long or wide files. (#25162)
  • Fixed keymap use of shift- modifier symbol (#25238; thanks 0x2CA)
  • Fixed keystrokes rendering inconsistently on Linux (#25139)
  • Fixed panic caused when editor::SelectLargerSyntaxNode is called repeatedly in multi buffer. (#25585)
  • Fixed project panel entry not being marked when triggering open action via keyboard. (#25567)
  • Fixed project panel implementation of the menu::SelectLast action (#25160; thanks pjtatlow)
  • Fixed scenario where pasting a file in the project panel after a copy/cut operation wouldn't automatically open it in the editor (#25555).
  • Fixed some issues that caused AI providers to sometimes be misconfigured. (#25313)
  • Fixed yank + paste indenting incorrectly when auto_indent_on_paste was set to false in certain languages. (#25447)
February

0.175.6

02/27/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed issues with launching Svelte/Biome language servers (#25756)

0.175.5

02/26/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

We are currently working to integrate Git more deeply into Zed. Join the waitlist for the private beta, and we will pull you in when it's ready!


Breaking Changes and Notices

  • A number of themes are no longer installed in Zed by default: Andromeda, Atelier, Rosé Pine, Sandcastle, Solarized & Summercamp. If you would like to continue using one of these extensions (#24589):
    1. Open zed: extensions
    2. Install the zed-legacy-themes extension
    3. Re-select your desired theme
  • No longer open the split menu in the file finder when command is pressed. (#25097)

Enhancements

  • Added support for Gemini 2.0 Flash via Copilot Chat in Zed Assistant. (#24952; thanks 0xRichardH)
  • Added support for Mistral to the Assistant. (#24879; thanks Shidfar)
  • Added ability to extend selection with shift-click in the terminal. (#25143)
  • Added support for switching to columnar selection by pressing alt-shift while mouse is down. (#25096)
  • Added support to highlight all matching occurrences of text within the selection in editor. (#24835)
  • Added regex highlights in the query input. (#25005)
  • Added recognition for .bats files as Shell Script. (#24877; thanks bersace)
  • Added ability to specify port forwarding settings for remote connections. (#24474; thanks Tebro)
  • Added a way to configure user key bindings to toggle font size without adjusting user settings (#24857). By default, toggling font size will not result in the user settings being updated. You can opt into persistence by adding some of the following keybindings to your keybindings.json file:
    • "cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
    • "cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
    • "cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
    • "cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]
  • Icon Themes: Added the ability for icon themes to provide their own file associations. (#24926)
  • Icon Themes: Added file icon associations for .rdata and .RData files. (#24925; thanks aymennasri)
  • Icon Themes: Added the ability to change file icons for Visual Studio project files (#24851; thanks RandaZraik):
    • Solution files (.sln)
    • Solution User Options files (.suo)
    • C# Project files (.csproj)
    • F# Project files (.fsproj)
    • Visual Basic Project files (.vbproj)
  • Icon Themes: Added the ability to change the file icon for Crystal (.cr, .ecr) files. (#24903; thanks nobodywasishere)
  • Improved LSP documentation file links by opening in Zed, not the system opener. (#25117)
  • Improved rendering of completion documentation markdown consistently with documentation markdown. (#25117)
  • Improved display of long paths in the file finder modal. (#25049)
  • Improved workspace serialization by persisting latest selections for editors. (#25083)
  • Improved redaction of Google Gemini keys from API errors in logs. (#24884)
  • Improved gutter color highlights by having separate highlights for removed and deleted portions of git modification hunks. (#24834)
  • Reduced the number of "theme not found" and "icon theme not found" errors in the logs for themes provided by extensions. (#25098)

Vim

  • Improved logic of aq, iq, ab, and ib motions to work more like mini.ai plugin. (#24167; thanks oca159)
  • Use visual mode for select all matches in search (to be consistent with ga). (#24897; thanks dinocosta)

AI

  • Handle edit_prediction_conflict context without modified keybinds for AcceptEditPrediction. (#25015)
  • Excluded Cloudflare Workers .dev.vars files from edit prediction. (#24838)

Bug Fixes

  • Fixed panics on completion with multi-byte characters input. (#25150)
  • Fixed an issue where configured languages models were not showing up in the language model selector until the configuration view was opened for the first time. (#25123)
  • Fixed a bug that made it possible to undo changes in dirty deserialized buffer (with restore_unsaved_buffers: true). (#25106)
  • Fixed diff hunks appearing in unchanged symlinked files. (#25058)
  • Fixed a parsing bug that caused memory leaks and crashes when using the Ansible extension. (#25054)
  • Fixed a bug where editor: split selection into lines was adding an extra line at the end of the selection. (#25053)
  • Fixed an issue where writing TypeScript using Allman style would result in incorrect auto-indent behavior. (#25051)
  • Fixed crash when trying to save terminal buffer. (#25028; thanks dylwil3)
  • Fixed a bug that sometimes caused incorrect syntax highlighting when deploying the inline assistant. (#25031)
  • Fixed issue where reload hangs for several minutes on Linux. (#24882)
  • Fixed an indentation bug in the outline view when working with Go code. (#24861; thanks ashishbhate)
  • Fixed edge-cases when closing multiple items, including multibuffers. Previously no prompt was generated when closing an item that was open in a multibuffer, now you will be prompted. (#24603)
  • Fixed a panic in the file finder. (#25166)
  • Fixed some language servers (elixir-ls, tailwindcss, phpactor) failing to start up due to an unfilled root_uri property in the InitializeParams. (#25290)
  • Fixed Zed sending out didOpen notification to a language server when opening documents. (#25411)
  • Changed how workspace folders are shared with language servers, fixing a startup issue with next-ls in the process. (#25344)
  • Terminal: Fixed cmd-click on links/files when terminal is not focused. (#25104)
  • Terminal: Fixed a bug where links remained highlighted/clickable, even after releasing cmd, when switching to another application and back. (#25104)
  • Vim: Fixed crash in ci{. (#25138)
  • Vim: Fixed rendering of vim commands to preserve case sensitivity. (#24322; thanks dinocosta)
  • Vim: Fixed ReplaceWithRegister gr with dot repeat. (#24932; thanks xzbdmw)
  • Vim: Fix :wq in a multibuffer. (#24603)
  • Windows: Fixed handling of F10 and Alt+Fn. (#24745; thanks gim913)

0.174.8

02/25/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Added Claude Sonnet 3.7 to Zed AI. (#25577)
  • Added Claude Sonnet 3.7 to GitHub Copilot Chat (#25529)

0.174.7

02/25/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Added support for Anthropic Claude 3.7. (#25497)

0.174.6

02/20/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed an issue where using zed: increase buffer font size and zed: decrease buffer font size commands would alter the user's settings.json file. Now, by default, using these commands will not alter your settings file, but you can opt into persistence by adding some of the following keybindings to your keybindings.json file:
    • "cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
    • "cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
    • "cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
    • "cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]

0.174.5

02/19/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a regression where branches containing forward slashes would not show up in the Recent Branches button. (#24809)

0.174.4

02/19/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Last week, we introduced the public beta of Edit Prediction. To support the launch of this beta, we accelerated the release of all preview features and bug fixes to the stable version. This resulted in a more substantial stable release last week, followed by a smaller update this week. Check out today's preview release (v0.175.0) for more action.


  • Fixed a bug where edit predictions would not interact correctly with code within folded blocks. Folded blocks are now automatically expanded when jumping to them. (#25116)
  • Fixed panics on completion with multi-byte characters input. (#25150)

0.173.11

02/18/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a bug that prevented renames for some languages. (#23706)

0.173.10

02/14/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed an issue where the keybinding for task::Spawn opened the task selector instead of executing the task. (#24902)

0.173.9

02/14/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a panic when displaying a whitespace-only line in the edit prediction preview (#24875)
  • Fixed editor::ShowEditPrediction when show_edit_predictions is set to false. (#24869)
  • Fixed an issue where changing the icon theme would change the theme. (#24864)

0.173.8

02/13/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Introducing Edit Prediction. Powered by Zeta, our open-source, open-dataset language model.

To learn more, check out the blog post.

Enhancements

  • Allow searching within the results of a project search (#23819).
  • Icon themes: Added the ability for extensions to change the file icon for the following file types:
  • Icon themes: Added support for configuring both a light and dark icon theme and switching between them based on system preference (#24702).
{
  "icon_theme": {
    "mode": "system",
    "light": "Zed (Default)",
    "dark": "Zed (Default)"
  }
}
  • Added an option to open the icon theme selector from the user menu (#24482; thanks beniaminzagan).
  • Added icon support for additional Prettier config file types (#24496; thanks sethstha).
  • Added a way to access the extension store from the theme selector to make it easier to find new themes (#24195).
  • Added an indicator in About/CopySystemSpecs when running in debug mode (#24457).
  • Added an explicit background color to the syntax tree view (#24524; thanks kaf-lamed-beyt).
  • Added ToggleStagedSelectedDiffHunks action for staging and unstaging individual diff hunks (#24606).
  • Added commands editor: copy file name and editor: copy file name without extensions (#22174; thanks ankddev).
  • Added dimensions and file size information for images (#21675; thanks kaf-lamed-beyt).
  • Unified selection directions when performing editor: select all matches (#23993).
  • Pass the NODE_EXTRA_CA_CERTS environment variable through to NPM when installing language servers (#23662; thanks jswny).
  • Improved default completion label fallback (#23909).
  • Improved project_panel::NewSearchInDirectory to search the parent directory when triggered on a file (#23696; thanks wblazer).
  • Improved divider in status bar by rendering it only conditionally (#24114; thanks ksweetie).
  • Improved close active item to better handle pinned tabs: pinned tabs now stay open when using close shortcuts, auto focuses to any other non-pinned tab instead (#23488).
  • Improved the debug::OpenSyntaxTreeView action by automatically opening in split to the right (#24452).
  • Improved outline panel initial update (#24500).
  • Improved bracket auto-closing in PHP language extension (#24558; thanks MrSubidubi).
  • Linux: Move from using openssl for collaboration to rustls/ring (#24141).
  • Modified some keymap actions and settings for naming consistency (#23834). To ensure a smooth transition, we implemented a settings migrator. If Zed detects that you’ve customized a keybinding with an outdated name, you’ll receive a toast notification. This notification includes an action that, when activated, creates a backup of your current settings and updates the setting name while preserving your custom binding. Our aim is to establish consistent and easily-searchable action names. For any potential future changes, we’ll continue to use the migrator, so that you do not have to manually update your keymap.json file.

Vim

  • Added e for entire file object. yae to copy entire file (#24039).
  • Added ctrl-w a to close all items in the current pane (#24162).
  • Added gr for replace with register (#24326).
  • Added a default keymap that returns the user to normal mode after pressing escape during a pending visual-surround operation (#24484; thanks roycrippen4).
  • Introduced first version of :set with support for [no]wrap, [no]number, [no]relativenumber (#24209; thanks maxbucknell).
  • Improved multi-line operations (#24518; thanks 5brian).
  • Preserve trailing whitespace in inner text object selections (#24481; thanks 5brian).
  • Load vim keymap after a user-configured keymap (#24161).

AI

  • Added OpenAI o3-mini support for the Assistant (#24044).
  • Added Copilot Chat support for o3-mini and remove support for o1-mini (#24080; thanks @SkywardSyntax).

Languages

  • Add basic support for autoindent functionality in bash/shell files (#24156).
  • Added file type associations for ESLint flat config files (#23994; thanks radmorecameron).
  • Added support for Go fuzz tests (#24107; thanks @cborup).

Bug Fixes

  • Fixed multiple save modals appearing when app is being closed multiple times (#24180).
  • Fixed a bug where closing an empty, named, file would warn about unsaved content (#24171).
  • Fixed display, revert and undo of deleted hunks when the file is empty (#24168).
  • Fixes an issue with search actions so that they now execute on the clicked pane rather than the focused pane when using search UI in multiple panes (#24037).
  • Fixed a bug where pressing ctrl/cmd (or other modifiers) after mouse down but before mouse up still triggered ctrl/cmd+click behavior (e.g. "go to definition") (#22988; thanks smoores-dev).
  • Fixed mouse navigation buttons on some devices (Logitech, Mac OS) (#23332; thanks srsly4).
  • Fixed some modifier changed events not being present on Linux X11. This affected things like the project search palette, where holding ctrl would not cause the split options to appear. (#24154).
  • Fixed a bug where shifting focus to the terminal panel could be slow (#24172).
  • Fixed an issue in certain themes where diffs would render with the wrong red and green colors for deletions and insertions (#24151).
  • Fixed a crash that could happen when expanding certain diff hunks.
  • Fixed a bug where diff hunks were not syntax highlighted when reopening a project with previously-opened buffers.
  • Fixed an issue where language server diagnostic codes would be converted to strings leading to errors with some language servers (#24347).
  • Fixed diff hunks not appearing when opening a single file within a larger repository (#24377).
  • Fixed Around Subword No Include Whitespace (#24356; thanks 0x2CA).
  • Fixed an issue where hidden files would have the default icon instead of the correct one (#24391).
  • Fixed an issue where files with specific icons (such as eslint.config.js) would not have their specific icon without a leading . (.eslint.config.js) (#24391).
  • Fixed deletion diff hunks not being syntax highlighted in some cases (#24413).
  • Fixed display of symbols such as &nbsp; in hover popovers (#24388; thanks WeetHet).
  • Fixed bug where select_next_git_entry project panel action would only select a previous entry or the currently selected entry (#24217; thanks Anthony-Eid).
  • Fixed a bug where toggling a diff hunk that immediately precedes another hunk would act on both hunks (#24355).
  • Fixed a crash in Wayland-based compositors like Sway when switching windows via the keyboard (#24379).
  • Fixed an edge case with multibuffers that could break language features within them (#22958).
  • Added a notification for deprecated settings and keymaps, allowing you to migrate them with a single click. A backup of your existing keymap and settings will be created in your home directory (#23834).
  • Fixed a bug where the json file icon could not be replaced via icon themes (#24432; thanks sethstha).
  • Fixed file icons not being properly updated upon icon theme upgrade or uninstall (#24449; thanks MrSubidubi).
  • Fixed an issue where worktree root name couldn't be renamed in project panel (#24487).
  • Fixed outline panel not focusing editor when outlines and search results were opened with outline_panel::Open (#24535).
  • Fixed outline panel issues in a multi-worktree set-up (#24538).
  • Fixed hover tooltips appearing after related element is pressed (#24540).
  • Fixed a rare crash during syntax highlighting (#24492; thanks Liamolucko).
  • Fixed an issue where, if multiple formatters were configured, they would run in parallel instead of sequentially, leading to unwanted artifacts (#24584). and incorrect output.
  • Fixed issue where horizontal scrollbar would scroll few characters width when soft wrap is active (#24735).
  • Fixed editor::GoToDiagnostics action stuck when multiple diagnostics groups belong to the same place (#24697).
  • Fixed a crash caused by calling editor::SelectPrevious twice in a row (#24660).
  • Fixed a bug that caused OS-level CA certificate bundles to not be respected (#24656).
  • Fixed keybind hints being improperly scaled for custom ui font sizes (#24708; thanks MrSubidubi).
  • Fixed an issue where subdirectories of an already opened project, when opened via the terminal, would open in the existing project instead of a new window (#24560).
  • Fixed ctrl-{<,>,+,-} for resizing docks in addition to panes (#23874; thanks AidanV).
  • AI: Corrected Github Copilot o3-mini context length (#24152; thanks chapel).
  • AI: Fixed an issue where the inline_completions > disabled_globs setting would not be respected when manually requesting a completion (editor: Show inline completion) (#24121).
  • AI: Fixed usage of nonquantized models with LM Studio (#24054; thanks @cborup).
  • Vim: Fixed an issue where doing line-wise operations in vim mode on the last line of a file with no trailing newline would not work properly (#24409).
  • Vim: Fixed //?, n/N, gn/gN,*/# in project search results (#23819).
  • Vim: Fixed navigating to end of line with inlay hints (#23975).
  • Vim: Fixed an issue where changing the case of an object at the end of the line would not change the case of the last character in the object (#24163).
  • Vim: Fixed a bug where around word operations were selecting indentation (#24635; thanks 5brian).