Releases

Keep up with the weekly Zed releases.


March

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

0.172.11

02/10/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a crash when searching the outline view in certain Ruby files (#24574).

0.172.10

02/07/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Assistant: Fixed an issue where the patch block was not being rendered when using "Suggest Edits". (#24464)
  • Added support for Google's new Gemini 2.0 models. (#24448)

0.172.9

02/07/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Improved the resolution of icons rendered by icon themes. (#24337)

0.172.8

02/05/2025

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

Users have been asking us for a long time to give them the ability to customize their file icons:

file-icons-issue
file-icons-issue

With today's release of icon themes, this is now possible! 🎉

feature-image
feature-image

Enhancements

General

  • Added support for icon themes (#23987).
    • Extensions can now provide icon themes.
    • Use the icon theme selector: toggle action to switch between installed icon themes.
  • Added precise drag-and-drop for files onto folded directories in the Project Panel (#22983; thanks 0xtimsb).
  • Added functionality to expand or collapse a directory and all its contents (alt+click) (#22896; thanks 0xtimsb).
  • Added Open File action in file menu for Linux and Windows (#23707; thanks 0xtimsb).
  • Added a new show_tab_bar_buttons setting, under tab_bar, that enables hiding the pane tab bar buttons (#23752).
  • Added auto-completion support for snippet files (#23698; thanks loczek).
  • Added an editor: open selections in multibuffer (alt-enter) command (#23644).
  • Added Copilot Chat support for o3-mini and remove support for o1-mini (#24080; thanks SkywardSyntax).
  • Improved terminal hover word matching (#23776).
  • Improved diff rendering, allowing you to navigate with your cursor inside of deleted text in diff hunks (#22994).
  • Improved editor horizontal autoscroll to now place the cursor to the left of the scrollbar rather than under it (#23586).
  • Improved the task modal by using the full task label when it does not require truncation (#23611).
  • Improved project search performance in worktrees with binary files (#23581).
  • Improved the Copy Permalink menu item by disabling it when not in a Git repository (#23350; thanks Swiftaff).
  • Improved workspace: new window action to now bring app to foreground (#24015).
  • Improved default inline_completions.disabled_globs (#24051).
  • Revised "Hide/Show Inline Completions" menu.
  • Errors in settings file are now reported in UI on startup (#23817).

Language Support

  • Added Python syntax highlighting for class- and module-level docstrings, additional docstrings, and improved recognition of function-level docstrings (#20898; thanks jfmontanaro).
  • Improved support for yaml-language-server as YAML formatter (#23612).
  • Language servers now track their working directory more accurately (#23473).

AI

  • Accepting completions while the cursor is in the middle of suggested completion will now result in smaller edits being applied (#23490).

Vim, Emacs, and Keybinds

  • Vim: Added ab/ib "AnyBrackets" text objects that are the smallest of a(, a[ or a{ or i(, i[ or i{ (#23679; thanks oca159).
  • Vim: Added support for ctrl-g and {count} ctrl-g to show the filename in the status bar (#23562).
  • Vim: Fixed aq/iq "AnyQuotes" text objects when they are nested (#23679; thanks oca159).

Bug Fixes

  • Fixed terminal drag and drop, including project panel items (#23827).
  • Fixed inline Git blame not visible on long lines due to overflow (#23374; thanks 0xtimsb).
  • Fixed project_panel::NewDirectory, editor:: NewlineAbove in TextMate keymap (#23825; thanks huacnlee).
  • Fixed .gitignored files filter occasionally not working in context file picker (#23777).
  • Fixed an issue where snippets would not update when a snippets file contained comments (#23755; thanks loczek).
  • Fixed the issue where a file outside of the workspace was opening in a random window instead of the last active window (#23726; thanks 0xtimsb).
  • Fixed ZED_WORKTREE_ROOT incorrectly pointing to a file. Now points to a directory when current file is a project or unset when in out-of-project files (settings.json, tasks.json, etc) (#23150; thanks aborg-dev).
  • Fixed incorrect UTF-8 characters handling in GoToLine and caret position (#23654).
  • Fixed some instances of disabled list items still registering clicks (#23569).
  • Fixed The path /.../tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version. pop-up appearing (#23525).
  • Fixed panics on opening repositories with empty remotes (#23520).
  • Python: Fixed venv activation script path showing up in terminal for non-existent scripts (#23476).
  • Fixed a crash that could happen when expanding certain diff hunks (#23990).
  • Fixed a bug where diff hunks were not syntax highlighted when reopening a project with previously-opened buffers (#23990).
  • Fixed an issue in certain themes where diffs would render with the wrong red and green colors for deletions and insertions (#24151).
  • 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 multiple save modals appearing when app is being closed multiple times (#24180).
  • Fixed a panic when deleting text after a deletion hunk (#24280).
  • Fixed missing git blame and status output in some projects with multiple git repositories (#24283).
  • Fixed a bug where Zed could crash with certain input sources on macOS (#24286).

Breaking changes

  • Changed editor: open excerpts split key binding to cmd-alt-enter on macOS and ctrl-alt-enter on Linux, to be more consistent with other actions that open files in a new split (#23646).

0.171.6

02/01/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Add Copilot Chat support for o3-mini and remove support for o1-mini (#24080; thanks @SkywardSyntax)
  • Fixed Assistant token counts for OpenAI o3-mini models (#24068)

0.171.5

02/01/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Add support for OpenAI o3-mini (#24044).
  • Fixed usage of nonquantized models with LM Studio (#24054).
  • Improved default inline_completions.disabled_globs (#24051).
January

0.171.4

01/31/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • "New Window" action will now bring App to foreground. (#24015)
  • Fixed incorrect action names in TextMate keymap. (#23905)

0.171.3

01/29/2025

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

Enhancements

General

  • Added editor: swap selection ends action which swaps the cursor location from the beginning/end of a given selection (#23428).
  • Added workspace: activate next window and workspace: activate previous window actions for cycling between windows (#23356; thanks 0xtimsb).
  • Added new command to move the focused panel to the next valid dock position – workspace: move focused panel to next position (#23317; thanks dinocosta).
  • Added scrollbar to terminal (#23256; thanks 0xtimsb).
  • Added auto-expand for directories on hover for a while during dragging (#23080; thanks 0xtimsb).
  • Persisted font size changes made with actions to the user settings (#23265).
  • Tab switcher: Preserve selected position when tab is closed (#22861; thanks aborg-dev).
  • Improved which keybindings are selected for display. Now later entries within bindings will take precedence. The default keymaps have been updated accordingly (#23378).
  • Improved handling of errors within the user keymap file. Parse errors within context, keystrokes, or actions no longer prevent loading the key bindings that do parse (#23113).
  • Improved app responsiveness when encountering a large number of diagnostics (#23122).
  • The tooltip for inline git blame now waits a bit before disappearing when the mouse leaves it (#22644).
  • Linux: Added support for the Cut, Copy, Paste, Undo, Redo, New, Open, Save, and Find keys to the default keymap (#22997; thanks Jules-Bertholet).
  • Linux: Added a way to use audio in collaboration rooms (#23191).

Language Support

  • Improved syntax highlight for Python: new capture groups for @function.arguments, @function.kwargs, @type.class.inheritance, @keyword.definition, @attribute.builtin and @type.builtin (#21454; thanks elisiariocouto).

AI

  • Added deepseek-r1 to ollama context size defaults (#23420).
  • Switched from using o1-preview to o1 for OpenAI provider (#23425).

Vim, Emacs, and Keybinds

  • Added Emacs mark mode (ctrl-space / ctrl-@ to set mark; ctrl-x ctrl-x to swap mark/cursor) (#23297).
  • Added Vim :!, :<range>! and :r! support (#23169).
  • Added Vim ! operator in normal/visual mode (#23169).

Bug Fixes

  • Restored o1-preview to OpenAI provider (#23715).
  • Fixed % in Vim mode not working correctly for multi-char brackets, such as do/end in Elixir or \begin and \end in LaTeX (#23471).
  • Fixed broken symlinks when installing dev extensions (#22396; thanks Qkessler).
  • Fixed renaming project entries in remote development (#23382; thanks aborg-dev).
  • Fixed context menus staying open when action was triggered via keyboard (#23380).
  • Fixed project panel colors when one git repository is nested beneath another (#23300).
  • Fixed an issue where docks did not remember the active panel (#23207; thanks AaronFeickert).
  • Fixed outline panel navigation in unnamed files (#23273).
  • Linux: Fixed missing task terminal output for short-running commands (#23085; thanks aborg-dev).
  • Fixed a crash that occurred when adding a new file or directory to the first folded directory (#23217; thanks 0xtimsb).
  • Fixed editor: copy path not work in ssh remote (#23235; thanks CharlesChen0823).
  • Fixed active line number highlight (#23266).
  • Fixed the "Matches multiple schemas when only one must validate" warning for the assistant setting (#23190).
  • Fixed inlay hints handling for the same position (#23156).

Breaking changes

  • selection keyboard context has been replaced with selection_mode (#23297).

0.170.4

01/27/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Added support for DeepSeek to the Assistant. (#23734)

0.170.3

01/27/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a potential panic in handling of Git statuses. (#23559)
  • Fixed a potential panic in completion labels handling. (#23712)

0.170.2

01/23/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed vtsls crashing on notification dismiss (#23535)
  • Fixed "The path /.../tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version." pop-up appearing (#22606)

0.170.1

01/22/2025

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

Enhancements

General

  • Improved app responsiveness with large number of diagnostics (#23122).
  • Improved visibility of errors from language servers by reporting them in the UI when the user invokes an LSP action (#23011).
  • Improved formatting of selection by adding support for multiple cursors (#22933).
  • Improved diagnostic excerpts by using syntactic info to determine the context lines to show (#22858).
  • Added an error toast that is shown when a dev extension fails to install (#22914).
  • Added the process ID (PID) to terminal tab tooltips (#21955; thanks Angelk90).
  • Added project_panel.entry_spacing setting to configure spacing between entries in the project panel: comfortable (default) or standard (#16255; thanks mikesun).
  • Improved keymap settings file with enhanced JSON schema information, enabling better json-language-server completions and tooltips, especially for actions requiring input (#23044).

Language Support

  • Added support for checking for yaml-language-server on the$PATH (#22036; thanks henryhchchc).
  • Changed default formatter for C/C++ to be the primary language server, not Prettier. Format-on-save is still disabled by default for C/C++, but if one uses the editor: format command now, it will default to the language server. clangd can format C++ files, whereas prettier cannot (#23112, #23119).
  • Fixed rename symbols action when the language server does not have the capability to prepare renames - such as luau-lsp (#23000).
  • Added configuration sent on initialization to the Server Info section of the language server logs (#23084).
  • Improved LSP debug logs by defaulting to soft wrap and folding a suffix of long lines. Also adds autoscroll, so if the cursor is on the last line of the logs they will scroll like tail (#22996).

AI

Vim, Emacs, and Keybinds

  • Vim: Added SubWord TextObject (#22387; thanks 0x2CA).
  • Vim: Added support for the popular vim_sneak plugin. This is disabled by default and can be enabled by binding a key to the Sneak and SneakBackward operators (#22793; thanks nilehmann).
  • Emacs: Added support for ctrl-t transposing characters on Linux (#22974).
  • Added Diagnostics key context allowing Diagnostic pane-specific keybinds (#23043; thanks everdrone).
  • macOS: Added fn-f keyboard shortcut for fullscreen toggle (#23184).

Bug Fixes

  • Fixed a bug binding to fn-X (where X is a printing key) on macOS (#23070).
  • Fixed highlighting of "tool" directives in go.mod (#22995).
  • Fixed error message about shell environment failing to load when joining projects in collaboration (#23138).
  • Fixed Vim dxG delete to line (#23053; thanks 0x2CA).
  • Fixed handling of selection ranges when formatting selections within a multibuffer (#22929).
  • Fixed result count in branch picker searches (#22908; thanks AaronFeickert).
  • Fixed issue with project-specific env not being found via .envrc (direnv) on Linux (#22803; thanks 0xtimsb).
  • Fixed outline items not scrolling properly (#22890).
  • Fixed extend/shrink selection in JetBrains keymap on macOS (#22814; thanks narqo).
  • Fixed completion labels becoming overly large due to LSP completion items with newlines (#23409).
  • Changed the default keybinding to accept partial inline completions from ctrl-right to ctrl-cmd-right on macOS, because ctrl-right is already bound to jump to the end of the line (#23357)
  • Fixed an issue where horizontal scrollbars of editors would always be painted (even if there is no horizontal scrolling to be done) (#23339).
  • Fixed a bug that could prevent accepting a partial inline completion (#23327).

0.169.3

01/21/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed an issue where horizontal scrollbars of editors would always be painted (even if there is no horizontal scrolling to be done) (#23338)
  • Fixed a bug that could prevent accepting a partial inline completion. (#23328)

0.169.2

01/15/2025

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

Enhancements

General

  • Add workspace::OpenFiles action to enable opening individual files on Linux and Windows (#22625)
  • Improved debug: open language server logs to display more language server data (#22797)
  • Set TERM to xterm-256color in Zed's built-in terminal (#22777)
  • Improved the RemoveFromProject action to remove all selected items (#22455; thanks pepyakin).
  • Improved project panel selection, copying, and deletion behavior, to be more predictable (#22658; thanks 0xtimsb).
  • Improved ExpandExcerpts action (shift+enter by default) so it expands all excerpts that have selected text, rather than just excerpts that contain the end of a selection (#22748).
  • Project panel: pasting a file with a conflicting filename will now automatically open the rename dialog (#19975; thanks Zollerboy1).
  • Improved support for file:// URLs with line numbers in the Zed terminal (#22559).
  • Added fine-grained control of scrollbar diagnostic indicators (#22364; thanks AaronFeickert).
  • Support diagnostic navigation in multibuffers (#22620).
  • Added auto-focus for the docked terminal on load when no other item is focused. (#23094; thanks 0xtimsb).

Language Support

  • Python: Added detection for pixi-environments (#22635; thanks YYYasin19)
  • Python auto-venv activation in terminal now checks for path existence before executing the activate script. (#22792).
  • Python: Fixed for running pip commands inside a virtual environment on Windows 11. (#22587; thanks TorratDev)
  • Typescript: Improved typescript-language-server completion details rendering (#23034)
  • Ensure end >= start in lsp::Range (fixes some Zig zls crashes; perhaps others) (#22690; thanks unexge).
  • Improved Tree-sitter support with added compatibility for standard injections captures (#22268; thanks uncenter).
  • Fixed gopls path construction on Windows 11 (#22727; thanks TorratDev).

AI

  • Improved support for Phi4 with ollama (#23036).
  • Added support for Google's Gemini 2.0 Flash experimental model (#22665; thanks respberryx).
  • Added support for the Claude 3.5 Haiku model (#22323; thanks saahityaedams).
  • Added the ability to specify additional beta headers for custom Anthropic models (#20551; thanks rowillia).
  • Fixed inline completions showing up in Vim normal mode (#22439; thanks zeux).

Vim, Emacs, and Keybinds

  • vim: Add 'g J' JoinLines and JoinLinesNoWhitespace (#22496; thanks 0x2CA).
  • vim: Add aq/iq "any quote" text objects that are the smallest of a", a' or <code>a`</code> (#22263; thanks oca159).
  • Fixed a panic in vim text objects in multibuffers (#22753).
  • Fixed Y so it yanks entire line instead of selection (#22416; thanks 0x2CA).
  • Improvements to emacs keybindings (#22590 and #22629; thanks rosstimson).:
    • Better support for running emacs inside Zed terminal (e.g. ctrl-x ctrl-c will quit emacs in terminal not zed)
    • alt-; Toggle Comments
    • alt-^ Join Lines
    • ctrl-/ Undo
    • alt-. GotoDefinition and alt-, GoBack
    • alt-< / alt-> Goto End/Beginning of Buffer
    • alt-g g or alt-g alt-g Goto Line Number
    • ctrl-x h SelectAll
    • ctrl-x b Switch Tabs
    • ctrl-g Menu::cancel
    • ctrl-x 5 0 CloseWindow
    • ctrl-x 5 2 as workspace::NewWindow
  • Added keyboard navigation for menus on Linux (left/right/up/down). (#22074; thanks 0xtimsb). If you wish to open menus with keyboard shortcuts add the following to your user keymap:
      {
        "context": "Workspace",
        "bindings": {
          "alt-z": ["app_menu::OpenApplicationMenu", "Zed"],
          "alt-f": ["app_menu::OpenApplicationMenu", "File"],
          "alt-e": ["app_menu::OpenApplicationMenu", "Edit"],
          "alt-s": ["app_menu::OpenApplicationMenu", "Selection"],
          "alt-v": ["app_menu::OpenApplicationMenu", "View"],
          "alt-g": ["app_menu::OpenApplicationMenu", "Go"],
          "alt-w": ["app_menu::OpenApplicationMenu", "Window"],
          "alt-h": ["app_menu::OpenApplicationMenu", "Help"]
        }
      }
    

Bug Fixes

  • Fixed duplicate "Fix with Assistant" code actions being displayed (#23118).
  • Improved line positioning when jumping from an excerpt in a Multibuffer into a file. (#23101).
  • Fixed Project Panel toggle (cmd-shift-e / ctrl-shift-e) so it works in more contexts (#22713).
  • Fixed inline completions (Copilot, Supermaven, ...) still being visible sometimes after leaving Vim's insert mode. (#23176).
  • Changed inline completions (Copilot, Supermaven, ...) to not show up in empty buffers. (#23125).
  • Fixed SSH remoting in the case that ssh defaults to a non-$HOME directory (#22744).
  • Added an error alert when there's an error opening file with native OS picker (#22671; thanks spotikhanov).
  • Fixed Rust runnable not detected when comment is after #[test] attribute (#22823; thanks RemcoSmitsDev).
  • Fixed a panic after disconnecting from a remote project (#22806)
  • Fixed bundle-mac script to generate licenses (#22800)
  • Fixed an issue where items on the Welcome page could not be toggled on Windows, either on first launch or when settings.json is a symlink (#22660; thanks 0xtimsb.
  • Fixed terminal incorrectly inheriting TERM from the parent environment (#22615; thanks JuliusDeBoer).
  • Reduced amount of workspace serialization happening (#22730)
  • Fixed empty title in Recent Projects (#21952; thanks huacnlee).
  • Fixed target file from being trashed when trashing symlink on Linux (#22704; thanks 0xtimsb).
  • Pinning a preview tab will now turn off preview mode (#22501; thanks Hmikihiro).
  • gpui: Fixed an issue where shadows with a blur_radius of 0 would not render (#22441).
  • Fixed ghost files appearing in the project panel when clicking relative paths in the terminal (#22688; thanks 0xtimsb).
  • Fixed buttons being unresponsive on load until the center pane is clicked (#23094; thanks 0xtimsb).
  • Fixed inlay hints not showing while using theme selector (#22605).
  • Fixed zed cli crash (ScreenCaptureKit library not loaded) on older macOS versions (#22515; thanks huacnlee).
  • Fixed issue where Welcome page could alter settings on Linux when Zed settings.json was a Symlink (dotfiles, etc) (#22608; thanks 0xtimsb).
  • Fixed robotgo failing when Zed window is open on Linux (#22348; thanks 0xtimsb).
  • Fixed cursor style not changing on hover over items in the title bar on Windows (#22580; thanks 0xtimsb).
  • Fixed terminal pane button opening two terminals on click (#23032).

Breaking changes

  • Renamed the OpenFile action to OpenSelectedFilename for clarity (#22494).
  • Changed the behavior of <tab> at start of line when an inline completion (Copilot, Supermaven, ...) is visible. If the cursor is before the suggested indentation, <tab> now indents the line instead of accepting the visible completion. (#22892).

0.168.3

01/13/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed a bug where the relative position of an excerpt within the multibuffer was not accounted for while jumping to the buffer, causing the clicked line to drastically change position on screen. (#23100)
  • Fixed unresponsive buttons on load until the center pane is clicked.
  • Added auto-focus for the docked terminal on load when no other item is focused. (#23093)
  • Fixed terminal pane button opening two terminals on click (#23031)
  • Improved typescript-language-server's completion details rendering (#23033)

0.168.2

01/08/2025

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

Enhancements

General

  • Added menus on Linux (#21873; thanks 0xtimsb).
  • Multibuffer headers will now stick to the top of the viewport as you scroll (#22391).
  • Multibuffer improved usability: clicking on line numbers in multibuffers jumps the cursor to that location in file; show keybinds for "jump to file/location" and "expand excerpt" (#22167).
  • Multibuffer diagnostic excerpts can now be expanded(#22391).
  • Added block comment syntax <!-- and --> for Markdown files (#22352; thanks Rusydy).
  • Improved handling of resizing and multiple monitors in Linux/Windows (#22409; thanks kvark).
  • Make workspace::ToggleRightDock open the assistant panel if no right-dock panel has yet been activated (#22346).
  • Terminal: cmd-n now opens a new terminal instead of a new file (#22253).
  • Improved performance with large quantity of cursors (#22299)
  • Improved GPU context management: share a single context with multiple surfaces (#20853; thanks kvark)
  • Added support for searching command palette using keymap-style action names (#22149).
  • Add keybinds for "Close Left" / "Close Right" tab actions: cmd-k e / cmd-k t (macOS) or ctrl-k e / ctrl-k t (Linux) (#22402).

Language / AI

  • Add support for OpenAI o1 model (non-preview) in GitHub Copilot Chat (#22376; thanks chirpcel).
  • Syntax highlight the JavaScript keyword using (#22479; thanks jaydenseric).
  • Zig: Fixed zls renames applying duplicate edits (#22512).
  • Zig: Fixed zls not working properly when typos extension is installed (#22511).
  • Fixed autocomplete inserting multiple imports (#22448)
  • Fixed pytest decoracted function discovery (#22325; thanks ThomAub)
  • Added the new CSS logo (#22382)

Vim

  • Support arrow key movement in with Alacritty vi-mode in the Zed Terminal on more keyboard layouts. Access via terminal::ToggleViMode action which is bound by-default to ctrl-shift-space (#22103; thanks agomezl)
  • Fixed vim repeat (.) and macro playback of insertions in diagnostics and assistant (#22210).
  • Fixed deleting sentence-wise (i.e. d( and d)), which would previously delete the whole line instead of just a sentence. (#22289)
  • Added support for find and replace in diagnostics. Also causes keybindings that use search to now work (such as * and # vim bindings) (#22213).

Bug Fixes

  • Fixed non-maximized zed windows growing larger across sessions on Linux (#22301; thanks 0xtimsb)
  • Fixed Failed to start language server errors when starting from dekstop entry on Linux (#22335; thanks 0xtimsb).
  • Fixed some language servers reporting status as "Downloading..." when only a version check was being done (#22292).
  • Fixed language servers not being released between project reopens (#22470).
  • Fixed wrong cursor theme for arrow cursor style on Linux (#22276; thanks 0xtimsb).
  • Fixed file saving with root ownership on Linux (#22045; thanks 0xtimsb).
  • Fixed GitHub permalink-to-line actions when worktree dir and Git dir aren't the same (#22003)
  • Collab: Fixed an overlap that cuts off user names when a cursor has a block shape (#21999; thanks AaronFeickert).
  • Collab: Hide chat panel button by default when not in a call (#22200).
  • Fixed Rust completion labels not showing the imports (#22651)
  • Fixed a staleness issue with the language model selector. (#22626)

0.167.2

01/06/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Fixed Rust completion labels not showing the imports (#22650)
  • Fixed a staleness issue with the language model selector. (#22627)
  • Fixed tooltips getting stuck (#22549)

0.167.1

01/01/2025

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

Enhancements

General

  • Multibuffers now support folding (hiding) results from a given file/buffer together (#22046).
  • Added .prettierignore support to the Prettier integration (#21297; thanks 0xtimsb)
  • Added MoveItemToPane and MoveItemToPaneInDirection actions (#21760; thanks Igonato).
  • Improved editor::OpenUrl to also handle the selected portion of a URL (#21825; thanks 0xtimsb).
  • Clicking on empty space in the Project Panel now deselects all selected items (#22073; thanks 0xtimsb)
  • Improved diff syntax highlighting (#21740; thanks uncenter)
  • Improved performance of the cursor position indicator in single buffers (#21946)
  • gpui: Add linear gradient support to fill background (#20812; thanks huacnlee)
  • Added file icon for metal (#21720; thanks nervenes)
  • Added file icon for gitcommit files (#21935)
  • Added support for tasks spawned via custom keybinding to launch into the center pane (#22004):
    // Assuming you have a task labeled "echo hello"
    "ctrl--": ["task::Spawn", { "task_name": "echo hello", "target": "center" }]
    

Languages and AI

  • Changed how inline completions (Copilot, Supermaven, ...) and normal completions (from language servers) interact. Zed will now also show inline completions when the completion menu is visible. The user can accept the inline completion with <shift-tab> and the active entry in the completion menu with <tab> (#21858, #22069, #22077, #22093).
  • Improved completions menu layout to be more stable and use available space better (#22102).
  • Added Restart Button to Inline Assistant When Prompt Is Unchanged (#20439; thanks g0t4)
  • Improved ElixirLS LSP autocomplete to show module, function and struct field details (#21666; thanks jotaviobiondo).
  • Suggest Cython extension for syntax highlighting of .pyx, .pxd and .pxi files (#22053; thanks lgeiger).
  • Fixed model version of o1 in GitHub Copilot Chat (#22376; thanks chirpcel).
  • The Python virtual environment activation command is no longer shown in the terminal output by default (#22256).

Vim, Emacs and Keymaps: Oh my!

  • Added Editor::DuplicateSelection action. Bound to cmd-d / ctrl-d in JetBrains/SublimeText keymaps (#21154 and #21976; thanks CharlesChen0823)
  • Added Editor && selection context for keybindings that are active when there is a text selection (#21927; thanks ozanmakes).
  • Addded ToggleRegex action (macos: cmd-alt-x, linux: ctrl-alt-x) for buffer search (#21799; thanks CharlesChen0823)
  • vim: Add support for :g/<pattern>/<cmd> and :v/<pattern>/<cmd> (#22177)
  • vim: Add <count> support for [x/]x (#22176)
  • vim: Do not dismiss inline completions when leaving insert/replace mode with <esc> (#22075).
  • vim: Improved cursor shape behavior to better match Vim (#21502; thanks 5brian).
  • emacs: Improved ctrl-a / ctrl-e / home / end behavior (#21923)
  • emacs: Added for ctrl-s / ctrl-r / ctrl-g for navigating buffer search results (#21923)

Settings

  • Added hover_popover_delay to control the delay before showing hover boxes (#22006; thanks AaronFeickert).
  • Added lsp_highlight_debounce to configure delay for querying highlights from language server (#21702; thanks xzbdmw).
  • Added horizontal_scroll_margin and scrollbar.axis settings (#19495; thanks frqubit).
  • Added max_tabs to limit the maximum number of open tabs (#18933; thanks BuonOmo).

Bug Fixes

  • Fixed an issue where the working directory for a task was sometimes incorrectly set as a file instead of a directory (#22004).
  • Fixed task::Spawn sort order so project tasks are shown first. (#21706; thanks IViktorov).
  • Fixed running Python commands with paths that include spaces (#21981; thanks silvanocerza)
  • Fixed splitting terminal items in the center (#22088).
  • Fixed disabled extensions blocking scroll events in the extensions list (#22189).
  • Fixed panic in linked editing ranges (#21905)
  • Fixed panic when jumping between panes (#21948)
  • Fixed panic when streaming language model completions (#21914)
  • Fixed terminal pane tabs arrangement and closing (#22013).
  • Fixed Hover Popover Font Callbacks (#21945; thanks 0x2CA)
  • Fixed opening repos when .git is a soft link (#21153; thanks can2049)
  • Fixed creation of project panel items when the editor is dismissed via the mouse (#21045; thanks CharlesChen0823)
  • Fixed private files not being redacted when not part of a larger worktree (#21861)
  • Fixed language servers starting when doing project search (#21787)
  • Fixed high CPU usage when ignoring warnings in the diagnostics view (#21787)
  • Fixed shell environments not being loaded properly to be used by language servers and terminals in case a project had multiple worktrees (#22246.
  • Fixed Failed to run direnv messages showing up in case Zed restored a window that contained a worktree with a single file (#22246.
  • Fixed autocomplete inserting multiple imports (#22448)

0.166.2

01/01/2025

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

Bug Fixes

  • Fixed shell environments not being loaded properly to be used by language servers and terminals in case a project had multiple worktrees.
  • Fixed Failed to run direnv messages showing up in case Zed restored a window that contained a worktree with a single file. https://github.com/zed-industries/zed/issues/21972
December

0.166.1

12/18/2024

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

Enhancements

General

  • Added support for opening images, either by dropping them onto a pane or by opening them via the command line (#21803).
  • Added left_neighbour option to the tabs.activate_on_close setting to activate the left adjacent tab on tab close (#21800; thanks MrSubidubi).
  • Added show_completions_on_input and show_completion_documentation per-language settings. These settings were available before, but were not configurable per-language (#21722).
  • Added support for language server actions being executed on file rename (#21651).
  • Added editor: insert uuid v4 and editor: insert uuid v7 actions for inserting generated UUIDs into the editor (#21656).
  • Added setting ("project_panel": {"show": "always"}) to display error and warning indicators in tabs (#21383; thanks nilskch).
  • Added editor::OpenContextMenu action to open context menu at current cursor position (#21494).
  • Changed the include warnings toggle in the diagnostic tab to be global for a Zed session (#21618).
  • Improved key equivalents for Norwegian Extended layout (#21665).
  • Linux: Added preliminary support for voice chat and viewing screenshares (#21550).

Languages

  • Added support for *.C and *.H (uppercase) to be recognized as C++ (#21647; thanks budde25).
  • Added JavaScript runnable detection for context and suite methods for mochajs framework (#21719; thanks RemcoSmitsDev).
  • Added YAML and TOML frontmatter highlighting for markdown (#21503; thanks uncenter).

Vim

  • Added delete action to HelixNormal mode (#21544; thanks leroycep).
  • Added [ c & ] c to select prev/next git modified file within the project panel (#20941; thanks Anthony-Eid).
  • Added [ d & ] d to select prev/next file with diagnostics from an LSP within the project panel (#20941; thanks Anthony-Eid).
  • Added { & } to select prev/next directory within the project panel (#20941; thanks Anthony-Eid).

Bug Fixes

  • Fixed missing musl dependency required to build from source on ArchLinux (#21830; thanks connortsui20).
  • Fixed diagnostics editor not scrolling properly under certain conditions (#21209).
  • Fixed completion list moving around on load of documentation. The previous approach to mitigating this was to rate-limit the fetch of docs, configured by a completion_documentation_secondary_query_debounce setting, which is now deprecated (#21716).
  • Fixed right click selection behavior in project panel (#21707; thanks 0xtimsb).
  • Fixed a bug where cmd-escape could act like . (#21667).
  • Fixed a bug where the panel.background color was not used in the file tree (#21559; thanks nilskch).
  • Fixed detection of git remotes when using SSH and username is not "git" (#21508; thanks nickbreaton).
  • Fixed opening git worktrees that were created from a bare repository (#21596).
  • Fixed completion item labels not being updated after the resolve for non-LSP compliant servers (#21521).
  • Fixed an issue with multiline code actions' rendering by forcing them to be single line (#21409; thanks WeetHet).
  • SSH Remoting: Fixed an issue where some dev extensions would not work after being uploaded to the remote server (#21761).

Breaking Changes and Notices

  • editor::ShowInlineCompetion is now option-tab on macOS (not option-/). editor::{Next,Previous}Completion are option-tab and option-shift-tab (not option-[ and option-]). This fixes typing characters generated by option-{/,[,]} on keyboards like Croatian (#21669).
  • In keymap.json "use_layout_keys": true is now the default. If you want to opt-out of this behaviour, set "use_key_equivalents": true to have keys mapped for your keyboard (#21662). See documentation.

0.165.4

12/11/2024

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

Enhancements

General

  • Added the ability to split the terminal panel (#21238).
  • Added an uninstall script. To uninstall zed, run zed --uninstall via the CLI binary (#21213; thanks WeetHet).
  • GIF images now play when opened (#21274; thanks dovakin0007).
  • Reduced the amount of completionItem/resolve calls done in the completion menu (#21286).
  • Improved suggestions for snippets (#21524; thanks 0xtimsb).
  • Improved outline panel opening behavior to so the editor centers on the selection (#21375)
  • Stop scrolling when clicking to the edges of the visible text area. Use autoscroll_on_clicks to configure this behavior. (#20287; thanks haruleekim)
  • Published updated JSON Schema for themes v0.2.0.json (#21428).
  • Added "Copy Extension ID" to extension details menu (#21395; thanks uncenter).
  • Removed project panel Trash action for remote projects. (#21300; thanks Moshyfawn)
  • Enabled toolchain virtual environment in new terminals (#21388; thanks [sn1c]
  • Added show_user_picture setting (default: true) to allow users to hide their profile picture in titlebar (#21526).

Languages

  • Added textobject support to erlang, haskell, lua, php, prisma, proto, toml, and zig (#21488)
  • Added new editor::FoldFunctionBodies action to fold all function bodies (textobject languages only) (#21504)
  • Improved runnable detection for JavaScript/Typescript files (#21246; thanks RemcoSmitsDev).
  • Added Python syntax highlighting for forward references (#20766; thanks JaagupAverin).
  • Enabled clangd's dot-to-arrow feature (#21142; thanks feeiyu).
  • Added support for running Rust examples as tasks (#21412).
  • .pcss files are now recognized as CSS (#21402; thanks MrSubidubi)
  • Add V file icon (#20017; thanks spytheman)

Vim

  • Added == indent line (#21490)
  • Added settings to control highlight_on_yank or highlight_on_copy (#21479; thanks RustyDev24).
  • Added motions [[, [], ]], ][ for navigating by section, [m, ]m, [M, ]M for navigating by method, and [*, ]*, [/, ]/ for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924).
  • Added new text objects: ic, ac for inside/around classes, if,af for functions/methods, and g c for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924).

Bug Fixes

  • Fixed incorrect "close tab" keybinding shown in context menu of the terminal panel tabs on Linux and Windows (#21254).
  • Fixed buffer search for queries ending with non-letter characters (#19152; thanks CharlesChen0823).
  • Fixed underline when hovering a code link not showing when multi_cursor_modifier is cmd_or_ctrl (#20949; thanks remixz).
  • Fixed cursor position displaying when no buffers open (#21295).
  • Fixed folds not opening when jumping from search results multibuffer (#21433)
  • Fixed diagnostics status bar flashing when typing (#21463).
  • Fixed AI Context menu text wrapping causing overlap. (#21438; thanks huacnlee)
  • Fixed showing prev/next hunk navigation buttons when there is only one hunk (#21437)
  • Fixed workspace serialization of collapsed panels (#21408)
  • Fixed item closing overtly triggering save dialogues (#21374).
  • Fixed Copilot Chat OAuth Token parsing (#21360; thanks fred-sch).
  • Fixed mouse cursor size and blur issues on Wayland (#21373; thanks 0xtimsb)
  • Fixed Zed not visible in the "Open with" list in the file manager for Flatpak. (#21177; thanks 0xtimsb)
  • Fixed a panic when folding in a multibuffer (#21511).
  • Fixed a rare panic when changing tab (#21510)
  • Fixed a panic when closing tabs containing new unsaved files (#21480).
  • Fixed an issue where the app could crash when opening the markdown preview with a malformed image tag (#21616)
  • Fixed an edge case with appliance of autocompletions in VTSLS that could result in incorrect edits being applied. (#21755)

Breaking Changes and Notices

  • Linux: Fixed issue where files wouldn't open from the file explorer (#21137; thanks 0xtimsb).
    • This only fixes the .desktop file created for new users.
    • Existing users will need to run install.sh again or manually edit their zed.desktop to receive this fix.

0.164.2

12/04/2024

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

Enhancements

General

  • Improved app responsiveness in environments with multiple Python virtual environments (#21420)
  • Added image rendering to the Markdown preview (#21082)
  • Added file_scan_inclusions setting to force Zed to index files that match the provided globs, even if they're gitignored (#16852; thanks Hawkbawk).
  • Added task settings to suppress summary and command line in the task output show_summary / show_command (#20920; thanks omennia).
  • Added support for ctrl-k / ctrl-y alternate cut/yank buffer on macOS (#21003).

SSH Remoting

  • Added support for extension languages on the remote server (#20049).

Languages

  • Python: pylsp will now use version installed in user venv, if one is available (#21069).
  • Python: Added string.doc python syntax highlighting to class and module-level docstrings. (#20486; thanks clwainwright)
  • JSON: Added json-language-server configuration via settings (#20748; thanks 4teapo).
  • Updated tsconfig.json and package.json JSON schemas from upstream (#20910).

AI

  • Restyled Apply/Discard buttons (#21017)

Vim

  • Added the = operator, for auto-indent (#21427)
  • Added support for ctrl-w _ and ctrl-w = (#21227).
  • Added ctrl-w {+,-,>,<} for resizing the current pane (#21038; thanks AidanV).
  • Added vim "unmatched" motions: ]}, ]), [{ and [( (#21098; thanks helgemahrt).
  • Added vii, vai and vaI for selecting indent-text-object (#21121; thanks vultix).
  • Fixed : on the welcome screen (#20937)
  • Restores dia to mean "delete in argument" instead of "delete within angle brackets". (#20918) To keep this in your own keymap use:
    {
        "context": "vim_operator == a || vim_operator == i || vim_operator == cs",
        "use_layout_keys": true,
        "bindings": {
            "a": "vim::AngleBrackets"
        }
    }
    

Bug Fixes

  • Fixed code_actions_on_format setting when used with a language server like ZLS (#20847; thanks Techatrix).
  • Fixed diagnostics editor not scrolling properly under certain conditions (#21209).
  • Fixed multiple project panel selection bugs (#20859 and #20577; thanks 0xtimsb)
  • Fixed eslint 404 downloads (#21233).
  • Fixed incorrect handling of the completion list defaults (#21202)
  • Fixed enter not working and menu toggle binding not shown in the file finder menu (#21087).
  • Fixed a bug where it is possible to get in near-unrecoverable panel state by resizing the panel past the edge of the workspace (#20637).
  • Fixed a bug where the non-OS save dialog would fail to save with "file exists" (#21080)
  • Fixed symlink resolution when opening projects from within Zed. Previously this only happened within zed's cli, but that broke file watching on Linux when opening a symlinked directory (#21039).
  • Fixed remote server panic of "local task dropped by a thread that didn't spawn it" (#21022).
  • Fixed terminal title and breadcrumbs behavior (#20997).
  • macOS: Add keybind for ctrl-home / ctrl-end (MoveToBeginning, MoveToEnd) (#21007).
  • macOS: Fixed for cmd-shift-\ (cmd-|) not working for MoveToEnclosingBracket (#21207).
  • macOS: Fixed cmd-shift-e / ctrl-shift-e (pane::RevealInProjectPanel / project_panel::ToggleFocus) to better my VSCode behavior (#21228).
  • Fixed a panic when backspacing at the start of a buffer with always_treat_brackets_as_autoclosed enabled. (#21482)
  • Fixed dismissing the macOS IME menu with escape when no marked text was present (#21413)
  • Improved positioning of macOS IME overlay (#21416)
  • Fixed file-less excerpts always opening instead of activating (#21472)
  • Fixed a bug in the Markdown preview where images in the same paragraph would be rendered next to each other (#21247)

Breaking Changes and Notices

  • Zed longer provides universal binaries for macOS releases (#21014).

0.163.3

12/02/2024

macOS
Loading...
Loading...
Linux
Loading...
Loading...
  • Improved app responsiveness in environments with multiple Python virtual environments (#21421)
November

0.163.2

11/27/2024

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

Enhancements

General

  • Added an editor: open docs action to open links to documentation via rust-analyzer (#19233; thanks wanlufun).
  • Added a setting to adjust the width of the file finder modal (#18682; thanks isaacdonaldson).
    "file_finder": {
        "modal_width": "medium"
    },
    
  • Added indication of deleted files. Files deleted outside of Zed will have a strikethrough in the title of the tab (#20711).
  • Sublime Keymap: Added editor::SelectAllMatches compatibility bind (find_all_under). Mac: ctrl-cmd-g and Linux: alt-f3 (#20866).
  • Sublime Keymap: Improved tab switching (#20547; thanks ShinyChang).
  • Enabled snippet parsing to successfully parse snippets with choices (#13958; thanks Anthony-Eid).
  • Show completion menu when tabbing to a snippet variable with multiple choices (#13958; thanks Anthony-Eid).
  • Improved detection of .env.* files as Shell Scripts by default (#20429).
  • Improved the vertical movement behavior when reaching the start or end of a document. The selection goal is now maintained, aligning with native text field functionality (#20705; thanks lord).
  • Improved handling of externally deleted files: auto-save will be disabled, multibuffers will treat this as a save conflict, and single buffers will ask for restore confirmation (#20742).
  • Changed the tab bar height according to ui-density (#19076; thanks Aaron-212).
  • Updated Copilot's underlying version to Copilot.vim 1.41.0 (#20520).
  • Linux: Added Support for Back/Forward multimedia keys (#20695).

AI

  • Added inline hints that guide users on how to invoke the inline assistant and open the assistant panel. (These hints can be disabled by setting {"assistant": {"show_hints": false}}) (#20824).
  • Updated the Assistant to show more details in error cases (#20740).

Vim

  • Added :<range>cpplink to copy a permanent git link to the highlighted range to the clipboard (#20707).
  • Added support for % to jump between pairs of tags (#20536; thanks hrou0003).
  • Added support for ctrl-o in insert mode to enter temporary normal mode (#19454; thanks axelcarl).

SSH Remoting

  • Improved environment variable handling for SSH remotes (#20641).

Languages

  • Python: Improved syntax highlighting (#20487, #20763):
    • Differentiated between function and method calls and definitions. function.definition matches the highlight for e.g. rust, function.call is new (thanks clwainwright).
    • Differentiated between class calls and class definitions (thanks clwainwright).
    • Better highlighting of function decorators (the @ symbol is punctuation, and now the decorator itself has a function.decorator tag) (thanks clwainwright).
    • Made cls a special variable (like self) (thanks clwainwright).
    • Added ellipsis as a built-in constant (thanks clwainwright).
    • Added syntax highlighting for attribute docstrings (thanks JaagupAverin).
  • Python: Added pytest-based test discovery and runnables (#18824; thanks jrderuiter).
  • Python: Added a configurable option for switching between unittest and pytest as a test runner under Python language settings. Set "TASK_RUNNER" to "unittest" under task settings for Python if you wish to use unittest to run Python tasks; the default is pytest (#18824; thanks jrderuiter).
  • Python: Improved toolchain selection for Conda environments (#20702; thanks wolffiex).
  • Python: Improved handling of triple-quote strings (#20664).
  • Python: Improved detection of Poetry-based environments (#20669).
  • Python: tasks now use active toolchain to run (#20667).
  • HTML: Added injections for Markdown syntax highlighting (#20527; thanks uncenter).
  • JavaScript, TypeScript, and TSX: Highlighted ? and : in ternary expressions as operator (#20573; thanks Huliiiiii).
  • Added some more common Prettier plugin base paths (#20758; thanks sweetppro).

Bug Fixes

  • Fixed ESLint 404 downloads (#21233).
  • Fixed for cmd-shift-\ (cmd-|) not working for MoveToEnclosingBracket on macOS (#21207).
  • Fixed cmd-shift-e / ctrl-shift-e (pane::RevealInProjectPanel / project_panel::ToggleFocus) to better my VSCode behavior (#21228).
  • Fixed a crash when opening a file containing a very large number of ascii control characters on one line (#20841).
  • Fixed Rust LSP adapter on FreeBSD (#20736; thanks CalebHeydon).
  • Fixed quirks around dropping project entries into tab bar that might have led to tabs being pinned sometimes (#20722).
  • Fixed rendering of dragged project panel entries (#20686).
  • SSH Remoting: Fixed accidental use of GNU netcat instead of nc provided by macOS (#20751).
  • SSH Remoting: Correctly show an error when SSH'ing into a 32-bit arm system (#20618).
  • (macOS) Fixed a panic when using the Pinyin keyboard with emojis (#20969)

Breaking Changes and Notices

  • Removed the low_speed_timeout setting from LLM provider settings, since it was only used to increase the timeout to give LLMs more time, but since we don't have any other use for it, we simply remove the setting to give LLMs as long as they need (#20681).