Releases: zed-industries/zed
Releases · zed-industries/zed
v0.136.2-pre
- Fixed an issue where the completion menu would sometimes appear detached from the cursor location (preview only).
v0.136.1-pre
- Fixed missing token count for GPT-4o model in assistant. #11893
v0.136.0-pre
Enhancements
General
- Added support for hiding the tab bar (part of #6424, #4963). Turn off the tab bar by adding the following to your
settings.json
:
"tab_bar": {
"show": false
}
- Added support for opening subfolders of git repositories and treating them as part of a repository (show git status in project panel, show git diff in gutter, git blame works, ...) (#4672).
- Check it out: video
- Added "Open permalink" option to right-click menu of git blame entries in gutter.
- Check it out: video
- Added a
pane: alternate file
command, to navigate back and forth between two buffers, and bound it toctrl-6
in Vim mode.- Check it out: video
- Added the
current_line_highlight
setting that defines how to highlight the current line in the editor (#5222). - Added
--foreground
to the CLI to allow running Zed on the current PTY. - Improved the behavioral consistency of
editor: go to diagnostic
andeditor: go to prev diagnostic
. - Improved responsiveness of the main thread under high system load.
- Changed UI elements within the editor to scale based on
buffer_font_size
(e.g., code action indicators, task run indicators, etc.).
AI
- Added support for interacting with Claude in the assistant panel (#8914). You can enable it by adding the following to your
settings.json
:
"assistant": {
"version": "1",
"provider": {
"name": "anthropic"
}
}
- Added a new ambient context feature that allows showing the model up to three buffers (along with their diagnostics) that the user interacted with recently.
- Added the ability to use the inline assistant within the assistant panel.
- Added
GPT-4o
support to the assistant and made it the default. - Added a
low_speed_timeout_in_seconds
setting to the Assistant's OpenAI provider (#9913).
Tasks
- Improved tasks modal by highlighting a distinction between a task template and concrete task instance and surfacing available keybindings more prominently. Task templates are now always available in the modal, even if there's already a history entry with the same label.
Vim
- Added support for the changelist.
g;
andg,
to go to the previous/next change. - Added support for the
'.
mark. - Added support for
gi
to resume the previous insert. - Added support for buffer-local marks (
'a-'z
) and some builtin marks'<
,'>
,'[
,']
,'{
,'}
and^
. Global marks ('A-'Z
), and other builtin marks ('0-'9
,'(
,')
,''
,'.
,'"
) are not yet implemented (#5122). - Added support for pasting with a count (#10842).
Languages
- Added ability to configure settings for
tailwindcss-language-server
, namely theincludeLanguages
andexperimental
objects.
Bug Fixes
- Fixed icon in inline git blame entry not changing with the buffer font size (#11311).
- Fixed rendering issues that could arise when having large amounts of text displayed on a large display. Fixed by dynamically increasing the size of the buffers used on the GPU (#11615).
- Fixed the size of the completions menu changing based on the size of the aside (#11722).
- Fixed a bug where all run buttons would show up as pressed when clicking on a single run button.
- Fixed a bug where Vim bindings were not available when mouse context menu was open.
- Fixed the
go to definition
before by not selecting the target range when the target range has more than one line (#11347). - Fixed
ctrl-space
not being forwarded correctly in the terminal view (#10502). - Fixed a bug where SHELL was outdated if Zed was launched via Finder or Raycast or other desktop launchers (#8794).
- Fixed a panic caused by missing bounds check in completion handler.
- Fixed a bug where autosave
after_delay
would auto-format the buffer (#9787). - Fixed a bug where the last character of a line could be hidden under the scrollbar (#7098).
- Fixed completions inside snippets breaking the jump-to-next-tabstop behaviour when using Go/
gopls
(#10185).- Check it out: video
- Fixed scrollbar markers for folded code.
- Fixed a bug where the code actions button and the test run button could not be triggered when the editor was not focused.
- Vim: Fixed a bug where highlights would appear which were only cancellable by opening then closing the toolbar. Buffer search toolbar now opens on
n
andgn
so that the highlights can be cleared. - Vim: Fixed a bug where
e
/E
was blocked by hint text (#7046).
Breaking Changes
- Removed built-in support for Ruby, in favor of making it available as an extension.
- Changed the default key binding for
picker::UseSelectedQuery
toalt-e
. - Changed the default
format_on_save
behavior for Markdown files to beoff
.
v0.135.2
Enhancements
General
- Added
editor::ToggleHunkDiff
(cmd-'
) andeditor::ExpandAllHunkDiffs
(cmd-"
) actions to browse git hunk diffs in Zed. - Added an
editor: convert to opposite case
command. - Added a
stop_at_soft_wraps
setting forEditor::move_to_{beginning|end}_of_line
. Whentrue
, it causes movement to the either end of the line (via, for example Home or End), to go to the logical end, as opposed to the nearest soft wrap point in the respective direction (#10888). - Changed the branch picker to always show the current branch as the default selected entry.
- Check it out: video
- Changed inline git blame information to not show up on empty lines.
- Check it out: video
Tasks
- Added buttons to the gutter to run tests in Rust files.
Vim
- Added
shift-k
to show the hover tooltip.
Languages
- Added syntax highlighting to regular expressions inside of Go.
- Added ESLint as a default language server for Svelte.
- Added brackets and missing operators to syntax highlighting in Python code (#4341).
- Added support for function call completion when using
typescript-language-server
. This will result in parameters being added, which can then be changed and navigated with<tab>
. For this to work withtypescript-language-server
, the documentation for a given completion item needs to be resolved, meaning that if one types very quickly and accepts completion beforetypescript-language-server
could respond with the documentation, no full function completion is used.- Check it out: video
Bug Fixes
- Fixed terminals always using the global shell even when local settings specified a different shell (#7599).
- Fixed false-positive hunks appearing in files with
\r\n
endings (#11452). - Fixed a bug where the Collab panel context menu could not be dismissed with
Escape
key (#11413). - Fixed Copilot suggestions preventing completions from appearing on completion trigger inputs (#8766).
- Fixed
alt-shift-left
andalt-shift-right
in the Textmate default keybindings (#10242). - Restored the ability to confirm a prompt by pressing "Enter" when deleting/trashing files.
- Fixed detection of JSDoc to only do syntax highlighting in block comments (#7826).
- Vim: Fixed last character of reversed mouse selections (#8492).
v0.134.4
v0.135.1-pre
v0.135.0-pre
Enhancements
General
- Added
editor::ToggleHunkDiff
(cmd-'
) andeditor::ExpandAllHunkDiffs
(cmd-"
) actions to browse git hunk diffs in Zed. - Added an
editor: convert to opposite case
command. - Added a
stop_at_soft_wraps
setting forEditor::move_to_{beginning|end}_of_line
. Whentrue
, it causes movement to the either end of the line (via, for example Home or End), to go to the logical end, as opposed to the nearest soft wrap point in the respective direction (#10888). - Changed the branch picker to always show the current branch as the default selected entry.
- Check it out: video
- Changed inline git blame information to not show up on empty lines.
- Check it out: video
Tasks
- Added buttons to the gutter to run tests in Rust files.
Vim
- Added
shift-k
to show the hover tooltip.
Languages
- Added syntax highlighting to regular expressions inside of Go.
- Added ESLint as a default language server for Svelte.
- Added brackets and missing operators to syntax highlighting in Python code (#4341).
- Added support for function call completion when using
typescript-language-server
. This will result in parameters being added, which can then be changed and navigated with<tab>
. For this to work withtypescript-language-server
, the documentation for a given completion item needs to be resolved, meaning that if one types very quickly and accepts completion beforetypescript-language-server
could respond with the documentation, no full function completion is used.- Check it out: video
Bug Fixes
- Fixed terminals always using the global shell even when local settings specified a different shell (#7599).
- Fixed false-positive hunks appearing in files with
\r\n
endings (#11452). - Fixed a bug where the Collab panel context menu could not be dismissed with
Escape
key (#11413). - Fixed Copilot suggestions preventing completions from appearing on completion trigger inputs (#8766).
- Fixed
alt-shift-left
andalt-shift-right
in the Textmate default keybindings (#10242). - Restored the ability to confirm a prompt by pressing "Enter" when deleting/trashing files.
- Fixed detection of JSDoc to only do syntax highlighting in block comments (#7826).
- Vim: Fixed last character of reversed mouse selections (#8492).
v0.134.3
v0.134.2
Enhancements
General
- Added the ability to open directories using context menu (Right click -> Open With -> Zed).
- Added support for avatars in git blame for repositories hosted on codeberg (#11043).
- Added diagnostics for main-thread hangs on macOS. These are only enabled if you've opted into diagnostics.
- Added support for replacing the current preview tab when using code navigation (
enable_preview_from_code_navigation
). - Added icons for JS, React, C, and C++ file types.
- Improved the behavior of launching an empty already-running Zed application by respecting the user's
restore_on_startup
setting.
(#10812).- Check it out: video
- Added a new
project_panel::Trash
action and changed the default behavior forbackspace
anddelete
in the project panel to send a file to the systems trash, instead of permanently deleting it (#7228, #5094). The original behavior can be restored by adding the following section to your keybindings:
{
"context": "ProjectPanel",
"bindings": {
"backspace": "project_panel::Delete",
"delete": "project_panel::Delete",
}
}
- Added displaying of cursor markers in the scrollbar. They can be switched on/off by the
scrollbar.cursors
setting.- Check it out: video
- Improved rendering performance of list elements inside the markdown preview (#10824).
- Changed the diagnostics view to always update its excerpts eagerly when not focused.
- Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed.
Tasks
- Improved the
task::Rerun
action to toggle the tasks modal when no tasks have been scheduled so far.- Check it out: video
Vim
- Added support for line ranges in Vim replace commands (#9428).
Languages
- Added highlighting to TypeScript's triple-slash reference directives (#11001).
- Added
@operator
,@lifetime
and@punctuation.delimiter
captures to Rust highlights file. - Added support for configuring ESLint's
rulesCustomizations
settings, ie.{"lsp": {"eslint": {"settings": {"rulesCustomizations": [{"rule": "*", "severity": "warn"}]}}}}
.- Check it out: video
- Added ESLint support for Vue.js files by starting it as a language server on
.vue
files. (#9934).
Bug Fixes
- Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it.
- Fixed bugs where the project diagnostics view could show the wrong excerpts.
- Fixed (maybe) a rare crash in watching settings files (#11168).
- Fixed a bug where inline diagnostic messages were still visible after folding surrounding code(#4659).
- Fixed ghostly artifacts in transparent window backgrounds.
- Fixed sluggishness with blurred window backgrounds.
- Fixed inline git blame information moving when horizontally scrolling.
- Fixed error messages being logged due to inline git blame not working on an empty buffer that hasn't been saved yet.
- Vim
Breaking Changes
- Removed built-in support for Elixir, in favor of making it available as an extension.