Skip to content

Releases: zed-industries/zed

v0.164.0-pre

27 Nov 18:13
389b202
Compare
Choose a tag to compare
v0.164.0-pre Pre-release
Pre-release

Enhancements

General

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

AI

  • Restyled Apply/Discard buttons (#21017)

Vim

  • 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"
        }
    }
    

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).
  • Fix the code_actions_on_format setting when used with a language server like ZLS (#20847; thanks Techatrix).
  • Updated tsconfig.json and package.json JSON schemas from upstream (#20910).

Bug Fixes

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

Breaking Changes and Notices

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

v0.163.2

27 Nov 18:14
7b043fc
Compare
Choose a tag to compare

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

v0.163.2-pre

22 Nov 01:36
Compare
Choose a tag to compare
v0.163.2-pre Pre-release
Pre-release
  • Python: tweaked default pylsp settings to be less noisy (mypy and pycodestyle are no longer enabled by default). (#21027)

v0.162.5

22 Nov 01:49
Compare
Choose a tag to compare
  • Python: tweaked default pylsp settings to be less noisy (mypy and pycodestyle are no longer enabled by default). (#21028)

v0.163.1-pre

21 Nov 18:27
Compare
Choose a tag to compare
v0.163.1-pre Pre-release
Pre-release
  • Fixed keyboard shortcuts on Spanish ISO keyboards (#20998)
  • (macOS) Fixed a panic when using the Pinyin keyboard with emojis (#20969)
  • Fixed a panic when reloading keymaps (#20965)
  • Fixed a bug where tapping shift could type "shift" if you had a binding on "shift shift" (#20957)
  • Fixes opening the menu when Chinese Pinyin keyboard is in use (#20915)

v0.162.4

21 Nov 20:57
Compare
Choose a tag to compare
  • Fixed keyboard shortcuts on Spanish ISO keyboards (#20999)
  • Fixed a panic when reloading keymaps (#20966)
  • Fixed a bug where tapping shift coudl type "shift" if you had a binding on "shift shift" (#20958)
  • Fixes opening the menu when Chinese Pinyin keyboard is in use (#20916)

v0.163.0-pre

20 Nov 18:18
8444a6f
Compare
Choose a tag to compare
v0.163.0-pre Pre-release
Pre-release

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

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

v0.162.3

20 Nov 18:13
f816087
Compare
Choose a tag to compare

Enhancements

General

  • Repl: Added kernel picker (#20274).

image

  • Added setting to display error and warning indicators in project panel items (#18182; thanks nilskch).

image

  • Added macOS key equivalents to cmd-shift-p debug: Open Key Context View (#20530).
  • Added support for kernelspecs based on python environments (#20467).
  • Added initial support for FreeBSD (#20480; thanks CalebHeydon).
  • Added language setting to disable inline comments in certain scopes. Example: {"languages": {"Go": {"inline_completions_disabled_in": ["comment", "string"]}}} (#20508).
  • Added ability to configure rootFontSize for the tailwindcss-language-server. Example settings: {"lsp": {"tailwindcss-language-server": {"settings": { "rootFontSize": 50}}}} (#20500).
  • Added shortcuts for open settings and revert selected hunks to JetBrains keymap (#20414; thanks trin94).
  • Added initial set of default emacs keybindings (#19605; thanks vextorspace).
  • Added a project panel: remove from project action so that users can now add a keybinding to trigger it: project_panel::RemoveFromProject (#20360).
  • Added support for look-around in project search (#20308; thanks wbbradley).
  • Changed project panel to mark files when opening them, which should make it more intuitive to mark multiple files after opening a single one (#20412).
  • Improved terminal.working_directory when editing settings.json or other non-project files (#18251).
  • Improved task tabs to always rerun tasks on click (#20591).
  • Improved runnable's refresh timings during project search (#20470).
  • Improved the deleting or trashing of files by showing a confirmation prompt when unsaved changes exist (#20172).
  • Improved window title by showing workspace name before filename (#20310; thanks schpet).
  • Improved revealing items for outline and project panels (now center of the list is preferred) (#20349).
  • Improved contrast in default One themes (#20304).
  • Improved prompt for generating title summaries, avoiding preambles (#20822).
  • Stopped showing signature help after completions by default (#20726).
  • Repl: Only show session-oriented repl:: actions for editors after a session has been created (#20396).

AI

  • Changed the model selector in the assistant panel to only show configured models (#20392).
  • Improved knowledge of which model is used when with alternative inline models turned on (#20350).
  • Improved UI feedback when inserting /delta without new changes (#20356).

SSH Remoting

  • Improved error message on unsupported OS/Arch (#20529).
  • Improved support of Zed remote server compilation for riscv64 (#20489; thanks ifsheldon).

Languages

  • Python: Added python-lsp-server as a secondary built-in language server (#20358).
  • Zig: Changed treesitter grammars to the official Zig grammar (#20004; thanks xdBronch).

Bug Fixes

  • Fixed detection of detect_venv.directories being ignored by a worktree (#20227; thanks SirSilver).
  • Fixed context menus not cycling over its edge when selecting items (#20592).
  • Fixed the inability to navigate into project search input with the keyboard (#20579).
  • Fixed an issue with image output from REPL kernels that didn't use base64 padding (#20561).
  • Fixed window drawing when switching X11 workspaces, particularly for tiling window managers such as i3wm and XMonad (#20535).
  • Fixed editor::Rewrap now preserves cursors and only inserts whitespace by using character-level diff instead of line-level diff (#20368).
  • Fixed a long initial delay when performing a project search in a large repository (#20513).
  • Fixed a bug in toolchain selector that caused it to not pick up venvs for tabs before the user interacted with them (#20488).
  • Fixed a bug in the language selector that caused it to pick up Markdown as the language for a buffer up until the tab was interacted with (#20488).
  • Fixed language server logs menu only showing a single entry when using SSH remoting (#20495).
  • Fixed language server names showing up only as "node" (#20428).
  • Fixed an issue where the image preview would not update when the underlying file changed (#20374; thanks wbbradley).
  • Fixed an issue where completions were not triggering when multiple language servers were used for a single file (#20471).
  • Fixed a bug where you could not jump to an untitled file from the multibuffer headers (#20469).
  • Fixed a bug that allowed toggling comments in readonly buffers (#20464; thanks antaz).
  • Fixed a bug where toggling line numbers would incorrectly hide whitespace indicators (#20427).
  • Fixed project panel entries flickering the border when the user clicks on another entry to open it (when preview tabs are disabled) (#20417).
  • Fixed a bug where [] was considered a clickable link in the terminal (#20386; thanks MrSubidubi).
  • Fixed a bug where a directory would be expanded when dropped onto itself in project_panel (#20365; thanks matubu).
  • Fixed inline completions (Copilot, Supermaven, ...) taking over when a snippet completion was active. That resulted in tab not working to jump to the next placeholder in the snippet (#20300).
  • Fixed a bug where file-closing actions would close pinned tabs (#19593; thanks axelcarl).
  • Typescript: Fixed a bug where abstract classes weren't shown correctly in the outline view when editing code (#20377).
  • Fixed Zed when the directory that you opened is renamed (#20313).
  • SSH Remoting: Fixed password dialog for remote server showing ligatures (#20549).

Breaking Changes and Notices

We have made a number of changes to keyboard shortcuts to support non-US keyboard layouts. See the blog post for more information on our general approach, or the issue for details about what changed.

  • All builtin shortcuts that were bound to alt-[a-z] have been rebound, as these shortcuts intefered with typing on non-US keyboards. You can restore these by adding them to your keymap file. The complete list of changes is:

    Old Binding Mapped To Function
    alt-b alt-right editor::MoveToNextWordStart
    alt-d alt-delete editor::DeleteToNextWordEnd
    alt-f alt-left `editor::MoveToNe...
Read more

v0.162.3-pre

20 Nov 02:11
Compare
Choose a tag to compare
v0.162.3-pre Pre-release
Pre-release
  • Fixed holding down space in the terminal (preview only) (#20879)
  • Fixed slash commands from other slash commands (like /default) not being evaluated (Preview only). (#20864)
  • Fixed a crash on Big Sur (preview only) (#20846)
  • Improve prompt for generating title summaries, avoiding preambles (#20822)
  • Stopped showing signature help after completions by default (#20726)
  • (Preview) Fixed broken rust-analyzer downloads (#20718)

v0.162.2-pre

18 Nov 22:10
8fa471f
Compare
Choose a tag to compare
v0.162.2-pre Pre-release
Pre-release

Features

  • Zed Extension API v0.2.0 (#20683).

Bug Fixes

  • Adjusted file finder split keybindings to be less conflicting (Preview only) (#20680).