Releases: zed-industries/zed
Releases · zed-industries/zed
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
.
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).