0.183.10
04/23/2025
Today's release features Git amend support, customizable bottom dock layouts, improved diagnostics rendering, and support for OpenAI's o3
and o4-mini
models.
Enhancements
- "Block" diagnostics (that show up in the diagnostics view, or when using
f8
/shift-f8
) are rendered more clearly. (#28006)
f8
/shift-f8
now always go to the "next" or "prev" diagnostic, regardless of the state of the editor. (#28006)- Added a new
bottom_dock_layout
setting that can take the following options:contained
(default),full
,left_aligned
, andright_aligned
. This setting defines how the bottom dock should be laid out when multiple docks are open at the same time. (#26211; thanks th0jensen)
- Added new actions
editor::FindNextMatch
andeditor::FindPreviousMatch
that are similar toeditor::SelectNext
andeditor::SelectPrevious
with"replace_newest": true
, but jump to the first or last selection when there are multiple selections. (#28559) - Added enabling of required features when executing a Rust example or bin through a task. (#27312; thanks NiklasEi)
- Sublime Keymap: Added
git::Restore
compatibility bind (revert_hunk). Mac:cmd-k cmd-z
and Linux:ctrl-k ctrl-z
. (#28444) - Added file icon for Vyper (
.vy
,.vyi
) files. (#28307; thanks ThatOneCalculator) - Tasks are now loaded from local
.vscode/tasks.json
files even if they are.gitignore
d. (#28631; thanks hrou0003) - Snippets are now resolved for all languages active at the cursor location. (#27718; thanks claytonrcarter)
- Improved visibility of code actions by showing them in the right-click context menu. (#28677)
- Improved app responsiveness when spawning Rust tasks. (#28553)
- Improved scroll behavior of
editor: select all matches
. (#28435; thanks neunato) - Improved
editor: copy and trim
command. (#29023; thanks redforks) - Improved selection highlight speed. (#29097)
- Made it so Markdown preview uses the buffer font size instead of the UI font size. (#29183)
- Updated snake_case check for grammar names in extensions. (#28608)
- Made it so the cursor position is reset to where it was after the last edit when undoing a format operation. This only changes the behavior when you make an edit, scroll away, initiate formatting (either by saving or manually), and then undo the format. (#28527)
Git
- Added Git amend support. (#28187)
- Improved performance of Git panel with a large number of untracked files. (#28670)
- Improved the Git panel context menu to show actions with no effect as disabled. (#28288; thanks 5brian)
Languages
- Python: Added support for auto-closing
f
,b
,u
,r
,rb
, and the newly releasedt
strings. (#28709) - Go: Corrected SoftTab indentation handling for lines with mixed spaces and tabs across
.go
files and other file types. (#27336; thanks rodrigoFfreire)
Vim
- Added some forced motion support for delete and yank. (#27991; thanks mastion)
- Added delete mapping in normal mode. (#28551; thanks mastion)
- Improved
single-repeat
after accepting a completion; now pressing.
to replay the completion will re-insert the completion text at the cursor position. (#28586) - The
:s//
command now defaults to replacing the first match per line (like Vim). Use/g
to replace all matches. (#28138; thanks dinocosta)
AI
- Added support for OpenAI o3 and o4-mini models via OpenAI API and Copilot Chat providers. (#28881; thanks @imumesh18)
Bug Fixes
- Fixed incorrect excerpt comparison when replacing them. (#28828)
- Fixed annoying pop-up with typescript-language-server that occurred in multi-buffers with inlay hints enabled. (#28855)
- Fixed an issue where the
feedback: file bug report
action would redirect to an outdated URL. (#28790; thanks MrSubidubi) - Fixed a crash when screen sharing on macOS. (#28784)
- Fixed case-insensitive text search with Unicode characters. (#28752; thanks mockersf)
- Fixed completions with multiple cursors leaving duplicated prefixes. (#28586)
- Fixed a crash when accepting a completion in a multibuffer with multiple cursors. (#28586)
- Fixed a panic when joining a project with a multibuffer with merged excerpts. (#29245)
- Fixed a panic when a removed excerpt has an edit suggestion inlay in it. (#28873)
- Fixed plaintext snippets not working. (#28655; thanks loczek)
- Fixed snippets in PHP, ERB, and other languages whose syntax layers are based on HTML. (#27718; thanks claytonrcarter)
- Fixed bug where signature help popover could go off-screen. (#28566)
- Fixed no feedback provided when installing CLI from welcome page. (#28532)
- Fixed a bug causing Shift to get stuck down when the window focus changes. (#28348)
- Fixed the issue where environment variables from
ExtensionLspAdapter
were lost. (#28173; thanks vitallium) - Fixed cursor styling to maintain drag cursor appearance throughout resize handle interactions. (#24797; thanks huacnlee)
- Fixed a bug where extension-provided snippets were being displayed in duplicate. (#28940; thanks @redforks)
- Fixed
select_larger_syntax_node
to first expand to the word within a string, and then to the larger syntax node. (#29184) - Fixed an issue where uncommenting a code block in Markdown would add Markdown comments instead of removing the language comments. (#29230)
- Inline Assistant: Fixed a bug where the default model would be used even when a specific inline assistant model was configured. (#29136)
- Git: Fixed a bug that caused the staged status of files in the Git panel to be out of date in some cases. (#28588)
- Git: Fixed an issue where diffs stopped updating after closing and reopening them after staging hunks. (#28377)
- Git: Fixed a bug where staging a hunk while the cursor was in a deleted line would move the cursor erroneously. (#28377)
- Git: Fixed an issue where Git was unnecessarily sending a custom HTTP header on remote operations. (#28798)
- Git: Fixed a bug that caused Zed to sometimes not discover Git repositories above a worktree root. (#28436)
- Python: Fixed decorated pytest methods not being picked up as runnable. (#28652; thanks hrou0003)
- HTML: Fixed a case where extra characters were being written at the end of an HTML tag. (#28529)
- Vim: Fixed code actions in visual line mode. (#27817; thanks onsclom)
- Vim: Fixed the number of matches displayed in the search bar after running Vim's substitute command. (#28403; thanks dinocosta)
- Vim: Fixed a panic when using
gv
afterp
in visual line mode. (#29251) - Vim: Fixed
ctrl-c
in normal mode. (#29169) - Linux: Fixed popup menu snap to window to leave margin on Linux. (#27330; thanks huacnlee)
- Linux: Fixed incorrect config directory being used when Zed is installed via Flatpak. (#28952)