Releases: zed-industries/zed
Releases · zed-industries/zed
v0.137.5
- Removed a work-in-progress feature from the assistant panel.
v0.137.3
v0.137.2
Enhancements
General
- Added the ability to format unsaved buffers with Prettier. This requires setting a Prettier parser in the user settings. Example for JSON:
{ "languages": { "JSON": { "prettier": { "allowed": true, "parser": "json" } } } }
(#4529).- Check it out: video.
- Changed the behavior of
workspace::CloseActiveItem
: when you're using macOS and there are no open tabs, it now closes the window (#5322). This can be controlled with a new setting,when_closing_with_no_tabs
, to disable it on macOS, or enable it on other platforms. - Improved file finder search sorting (#11970).
- Improved editing of file names in the project panel. Now, the file icon is shown as soon as the file extension is typed, even before the rename is confirmed.
- Added a
proxy
setting (#5032, #6701, #8650, #9424, #9422, #11890). - Added a
Duplicate
action to the project panel (#5304).- Check it out: video
- Added the ability to create directories in
open->file
dialog on macOS.
-
Added a
New Window
item to the dock menu (#11651). -
Standardized CLI application startup to match non-CLI application startup behavior: both now open an empty file or show the welcome page if no previous workspace exists and no path is provided.
-
Added glob support for
file_types
configuration (#10765).
file_types
can now be written like this:
"file_types": {
"Dockerfile": [
"Dockerfile",
"Dockerfile.*",
]
}
- Added
Cut
,Copy
, andPaste
actions to the editor context menu (#4280). - Changed middle mouse down to trigger columnar selection, creating a rectangle of multicursors over a dragged region (#11990).
- Improved performance of editing the assistant panel and untitled buffers with many edits.
- Added font feature values. Now you can set font features like
"cv01": 7
. - Changed context menus in editors to no longer scale with
buffer_font_size
. - Added support for all
OpenType
font features to macOS. - Changed the default ESLint configuration to include the following in order to silence warnings/errors:
{"codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine", }, "showDocumentation": { "enable": true } }}
AI
- Added
editor::AcceptInlineCompletion
action (bound to Tab by default). To prevent accepting inline completions with tab, add{"context": "Editor && inline_completions", "bindings": {"tab": "editor::Tab"}}
(#6788).
Tasks
- Added coloration to task icons in terminal based off status (#11968).
Languages
- Added support for autoclosing of HTML tags in local projects (#5267). This feature is enabled by default, but can be disabled with the following snippet in your
settings.json
:
"lsp": {
"vscode-html-language-server": {
"settings": {
"html": { "tagAutoclosing": false }
}
}
}
- Added built-in Go runnables and tasks that allow users to run Go test functions, test packages, or run
main
functions. - Added
gopls
support when openinggo.mod
orgo.work
files. - Added test runnable detection for PHP (PHPUnit & Pest).
- Added task for running selected PHP code.
- Added
describe
,test
, andit
functions to buffer symbols to support Pest runnable in PHP. - Added
yield
keyword to PHP keyword mapping. - Added GraphQL icon for
.gql
and.graphqls
files. - Added ability to pass
initialization_options
to Ruby language servers (solargraph and ruby-lsp). - Added ability to configure own build of
tailwindcss-language-server
in Zed settings. Example:{"lsp":{"tailwindcss-language-server":{"binary":{"arguments":["/absolute/path/to/tailwindcss-language-server/bin/tailwindcss-language-server", "--stdio" ]}}}}
- Fixed documentation not showing up for completion items coming from
tailwindcss-language-server
(#10532).
Bug Fixes
- Fixed
$ZED_SELECTED_TEXT
variable in Tasks ignoring whether visual-line-mode in Vim was used. - Fixed language servers (such as
gopls
) not starting up correctly when opening a single file in Zed (#11361, #8764). - Fixed Zed's internal Node runtime not being put in
$PATH
correctly when running language servers and other commands withnode
(#11890). - Fixed
gopls
not working correctly when thego.mod
file was in a subfolder and not the root folder of the project opened in Zed (#10224). - Fixed backtick characters not getting autoclosed in Golang files (#12025).
- Fixed keybinding for rename in project panel context menu to be
F2
(#11608). - Fixed a bug where lsp completion requests were sometimes being made twice.
- Fixed default Prettier not respecting Zed's
hard_tabs
settings. - Fixed multiple save modals appearing for the same file being closed (#10192).
- Fixed a theme-specific bug with highlighting of variable in Python files (#11666).
v0.137.2-pre
- (more) Fixes for remote development (alpha group only)
v0.137.1-pre
- Fixes for remote development (alpha group only)
v0.137.0-pre
Enhancements
General
- Added the ability to format unsaved buffers with Prettier. This requires setting a Prettier parser in the user settings. Example for JSON:
{ "languages": { "JSON": { "prettier": { "allowed": true, "parser": "json" } } } }
(#4529).- Check it out: video.
- Changed the behavior of
workspace::CloseActiveItem
: when you're using macOS and there are no open tabs, it now closes the window (#5322). This can be controlled with a new setting,when_closing_with_no_tabs
, to disable it on macOS, or enable it on other platforms. - Improved file finder search sorting (#11970).
- Improved editing of file names in the project panel. Now, the file icon is shown as soon as the file extension is typed, even before the rename is confirmed.
- Added a
proxy
setting (#5032, #6701, #8650, #9424, #9422, #11890). - Added a
Duplicate
action to the project panel (#5304).- Check it out: video
- Added the ability to create directories in
open->file
dialog on macOS.
-
Added a
New Window
item to the dock menu (#11651). -
Standardized CLI application startup to match non-CLI application startup behavior: both now open an empty file or show the welcome page if no previous workspace exists and no path is provided.
-
Added glob support for
file_types
configuration (#10765).
file_types
can now be written like this:
"file_types": {
"Dockerfile": [
"Dockerfile",
"Dockerfile.*",
]
}
- Added
Cut
,Copy
, andPaste
actions to the editor context menu (#4280). - Changed middle mouse down to trigger columnar selection, creating a rectangle of multicursors over a dragged region (#11990).
- Improved performance of editing the assistant panel and untitled buffers with many edits.
- Added font feature values. Now you can set font features like
"cv01": 7
. - Changed context menus in editors to no longer scale with
buffer_font_size
. - Added support for all
OpenType
font features to macOS. - Changed the default ESLint configuration to include the following in order to silence warnings/errors:
{"codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine", }, "showDocumentation": { "enable": true } }}
AI
- Added
editor::AcceptInlineCompletion
action (bound to Tab by default). To prevent accepting inline completions with tab, add{"context": "Editor && inline_completions", "bindings": {"tab": "editor::Tab"}}
(#6788).
Tasks
- Added coloration to task icons in terminal based off status (#11968).
Languages
- Added support for autoclosing of HTML tags in local projects (#5267). This feature is enabled by default, but can be disabled with the following snippet in your
settings.json
:
"lsp": {
"vscode-html-language-server": {
"settings": {
"html": { "tagAutoclosing": false }
}
}
}
- Added built-in Go runnables and tasks that allow users to run Go test functions, test packages, or run
main
functions. - Added
gopls
support when openinggo.mod
orgo.work
files. - Added test runnable detection for PHP (PHPUnit & Pest).
- Added task for running selected PHP code.
- Added
describe
,test
, andit
functions to buffer symbols to support Pest runnable in PHP. - Added
yield
keyword to PHP keyword mapping. - Added GraphQL icon for
.gql
and.graphqls
files. - Added ability to pass
initialization_options
to Ruby language servers (solargraph and ruby-lsp). - Added ability to configure own build of
tailwindcss-language-server
in Zed settings. Example:{"lsp":{"tailwindcss-language-server":{"binary":{"arguments":["/absolute/path/to/tailwindcss-language-server/bin/tailwindcss-language-server", "--stdio" ]}}}}
- Fixed documentation not showing up for completion items coming from
tailwindcss-language-server
(#10532).
Bug Fixes
- Fixed
$ZED_SELECTED_TEXT
variable in Tasks ignoring whether visual-line-mode in Vim was used. - Fixed language servers (such as
gopls
) not starting up correctly when opening a single file in Zed (#11361, #8764). - Fixed Zed's internal Node runtime not being put in
$PATH
correctly when running language servers and other commands withnode
(#11890). - Fixed
gopls
not working correctly when thego.mod
file was in a subfolder and not the root folder of the project opened in Zed (#10224). - Fixed backtick characters not getting autoclosed in Golang files (#12025).
- Fixed keybinding for rename in project panel context menu to be
F2
(#11608). - Fixed a bug where lsp completion requests were sometimes being made twice.
- Fixed default Prettier not respecting Zed's
hard_tabs
settings. - Fixed multiple save modals appearing for the same file being closed (#10192).
- Fixed a theme-specific bug with highlighting of variable in Python files (#11666).
v0.136.2
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.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
.