github zed-industries/zed v0.229.0-pre

latest release: nightly
pre-release10 hours ago

This week's release includes BYOK support for the new 1M context window on Claude Opus and Sonnet, git panel improvements including a badge showing uncommitted change counts and file type icons, an action to align multiple cursors, and pinch-to-zoom in the image viewer.

Features

AI

  • Agent: Updated BYOK integration to support the new 1M context window for Claude Opus and Sonnet. (#51625)
  • Agent: Terminal tool permissions regexes can now match environment variables. Bare interpolations like $FOO are disallowed when permissions regexes are active for security. (#51689)
  • Agent: Streaming text in threads now displays more fluidly. (#51499)
  • Agent: Improved visibility of thinking blocks by making them auto-expanded while in progress. (#51525)
  • Agent: Added support for usage tracking when streaming responses from OpenAI providers. (#45812; thanks Oft3r)
  • Agent: API key input in the Add LLM provider modal is now masked. (#50379; thanks cppcoffee)
  • Agent: Updated the display of tokens for xAI models to reflect the input/output limits. (#48719; thanks anilpai)
  • Edit Prediction: Added an error indicator in the edit prediction menu when the free tier limit is exceeded. (#51447)

Git

  • Added a numeric badge to the git panel sidebar icon showing the count of uncommitted changes. (#49624; thanks IVainqueur)
  • Git panel now supports file type icons (like in the project panel) from icon theme extensions. Enable with git_panel.file_icons (off by default). Folder icons are on by default and can be toggled with git_panel.folder_icons. (#51000; thanks kickbelldev)
  • Project panel now colors folders containing deleted files. (#51553; thanks tidefield)
  • Improved latency of stage/unstage operations. (#47806; thanks marcocondrache)
  • Changed the git diff status to render + and - using the font instead of icons. (#51411)

Languages

  • C/C++: Added clangd readonly token modifier to semantic token rules to highlight constant variables as constants. (#49065; thanks ozacod)
  • C++: Recognize module interface files as C++ files. (#45968; thanks hokein)
  • TSX: Removed rainbow bracket colorization for angled brackets. (#51311; thanks jackkkonggg)

Vim / Helix

  • Vim: Repeat (.) now increments the recorded register when using numbered registers. (#50753; thanks feitreim)

Collaboration

  • Improved recovery of audio latency after CPU-intensive periods. (#51647)

Remote Development

  • Added remote hostname to title bar project picker tooltip. (#51616; thanks watsoncj)

Windows

  • Improved Python toolchain discovery under WSL environments. (#51749; thanks lingyaochu)
  • Improved compatibility with mounted VHDs. (#50974; thanks foxmsft)

Linux

  • Relaxed requirement for libstdc++.so on Linux distributions. (#51433)

Other

  • Added editor::AlignSelections action to align multiple cursors. (#44769; thanks tiagolobao)
  • Added editor::GoToPreviousSymbol and editor::GoToNextSymbol actions to navigate to previous and next outline symbols. Uses either the tree-sitter outline or the LSP-provided outline depending on configuration. (#50777; thanks nishanthkarthik)
  • Added hotkey and actions for toggling light and dark themes. Default: cmd-k cmd-shift-t on macOS, ctrl-k ctrl-shift-t on Linux/Windows. (#49027; thanks tommyming)
  • Image Viewer: Pinch-to-zoom now works for zooming in and out on macOS and Linux. (#47351; thanks MostlyKIGuess)
  • Added "formatter": "none" setting to explicitly disable the formatter. (#48991; thanks lingyaochu)
  • Added workspace::FocusCenterPane action to move focus to the most recent center pane from any dock. (#46059; thanks FloppyDisco)
  • Recent projects on external drives or network mounts are no longer removed from the project picker when temporarily disconnected. They're now preserved for 7 days. (#50829; thanks ojpro)
  • Added $ZED_LANGUAGE task variable that exposes the current buffer's language name. (#51614; thanks mvanhorn)
  • Improved editor::CopyFileLocation to include the full selected line range (e.g., src/main.rs:12-18) when multiple lines are selected. (#51328; thanks shashank-suresh)
  • Added scroll-to-top and scroll-to-bottom keybindings for markdown preview (gg/G in Vim mode, cmd-up/cmd-down on macOS, ctrl-home/ctrl-end on Linux/Windows). (#50460; thanks dremnik)
  • Added _ and newline characters as subword boundaries. (#50552)
  • Improved hover behavior for multi-line diagnostics to persist when hovering over whitespace. (#47471; thanks daydalek)
  • Added project_panel.scrollbar.horizontal_scroll setting to toggle horizontal scrolling in the project panel. (#51143; thanks k4yt3x)
  • Improved multibuffer runnables resolution performance. (#51299)
  • Added the missing ctrl-shift-g binding for editor::UndoSelection in JetBrains macOS bindings. (#51130; thanks zfz7)
  • Keymap Editor: Removed redundant parentheses when displaying keymap context. (#50906; thanks dongdong867)
  • Improved some Ayu Dark/Mirage theme terminal colors. (#51462; thanks tiwari91)
  • Improved wording within file deletion prompts in the project panel. (#43801; thanks AdamJedl)

Bug Fixes

  • Agent: Fixed cases where thread state wasn't saved before closing the thread. (#51744)
  • Agent: Fixed inconsistent behavior for subagent views when focusing on previous messages. (#51654)
  • Agent: Fixed an issue where external agents would return an error because an unsupported ACP method was called. (#51479)
  • Agent: Fixed an issue in the agent panel where scrolling a selection out of view would cause the panel to close while zoomed. (#51806)
  • Agent: Fixed broken (failing on first message) xAI models over the Zed provider on profiles using the spawn_agent tool, including the default Ask and Write profiles. (#51835)
  • Agent: Fixed send failure for pasted file#line mention links. (#49786; thanks cppcoffee)
  • Agent: Fixed model dropdown resetting to "Default (recommended)" when opening a previous conversation from history. (#51587; thanks OmChillure)
  • Agent: Fixed echo cancellation not working on experimental audio pipeline. (#51673)
  • Debugger: Fixed debug session restart only working once when the adapter supports DAP restart requests. (#51247; thanks nelsoncampos-cloudwalk)
  • Debugger: Fixed debugger failing to start when offline if a debug adapter was previously downloaded. (#50928; thanks nihalxkumar)
  • Git UI: Fixed selecting previous item selecting a non-visible item if it's inside a collapsed directory. (#49289; thanks RemcoSmitsDev)
  • Git UI: Fixed a bug where deleting a remote branch from the branch picker would incorrectly remove the entire remote configuration. (#48338; thanks amtoaer)
  • Git UI: Fixed a source of panics when staging diff hunks. (#51641)
  • Git UI: Fixed commit message generation in untrusted repositories. (#51323)
  • GPUI: Fixed list height re-computation when the list width changes. (#51414; thanks feitreim)
  • gopls: Fixed semantic token support with gopls. (#51621; thanks feitreim)
  • gopls: Fixed version display showing raw JSON instead of readable version number. (#49835; thanks amtoaer)
  • LSP: Fixed restarting the LSP breaking semantic token highlighting. (#51452; thanks feitreim)
  • Which-Key: Fixed filter list for some Vim commands. (#51543; thanks feitreim)
  • Fixed "View Release Notes" in Preview/Stable opening the wrong release channel page due to build metadata in the URL. (#48570; thanks RubenFricke)
  • Fixed MoveToBeginningOfLine stopping at indentation in single-line editors like the Find bar instead of moving to column 0. (#50681; thanks virajbhartiya)
  • Fixed path:line:column navigation so non-ASCII columns land on the correct character. (#51238; thanks loadingalias)
  • Fixed shift-a in Helix select mode placing the cursor on the wrong line after selecting with x. (#50709; thanks SkandaBhat)
  • Fixed a deadlock that froze the entire app when opening a new window from a popup window or switching focus between multiple windows on macOS. (#51035; thanks Dnreikronos)
  • Fixed a panic in Helix mode with search selecting wrapping around the document end. (#51642)
  • Fixed a stack overflow when parsing deeply nested HTML in markdown files. (#51637)
  • Fixed an issue where accepting an autocomplete suggestion with multiple cursors could result in duplicated or jumbled text in import statements. (#50320; thanks theonly1me)
  • Fixed an issue where the crease toggles in the gutter would sometimes show when interacting with a popover present over the editor gutter. (#51405)
  • Fixed an issue where using the SelectLargeSyntaxNode action with multiple cursors could reverse the selection direction for the last cursor. (#51752)
  • Fixed binary files (e.g., WAV) being misdetected as UTF-16 text, causing Zed to freeze. (#50890; thanks notJoon)
  • Fixed bracket colorization not working for content after folded regions and for functions with large bodies. (#51108; thanks notJoon)
  • Fixed bug that resurfaced dismissed Copilot edit predictions when moving the cursor around. (#40185; thanks timvermeulen)
  • Fixed closed projects re-opening erroneously. (#50961; thanks AmaanBilwar)
  • Fixed Cmd+key shortcuts being consumed by the IME on non-US keyboard layouts, preventing Zed keybindings and macOS system shortcuts from working with special characters. (#51394; thanks jamarju)
  • Fixed empty files not downloading from a remote project. (#51571; thanks AmaanBilwar)
  • Fixed highlighting of block quotes continued over multiple lines in markdown files. (#51465; thanks polyesterswing)
  • Fixed issues with tremendous audio latency in long-running collaboration calls. (#51315)
  • Fixed keymap editor showing phantom entries and stale defaults when deleting or overriding default keybindings. (#50699; thanks iam-liam)
  • Fixed language selector not selecting the first entry when matching a query. (#51581; thanks cppcoffee)
  • Fixed long diagnostic messages in the status bar pushing right-side buttons (terminal, agent, etc.) off screen. (#51031; thanks Dnreikronos)
  • Fixed markdown preview not re-rendering when edited by agent. (#50583; thanks dongdong867)
  • Fixed missing syntax highlighting in symbol search when using the ty language server. (#51355; thanks lingyaochu)
  • Fixed Ollama models with custom stop tokens generating infinitely by not overriding model defaults when no stop tokens are specified. (#48119; thanks littleKitchen)
  • Fixed project root name appearing in file paths while searching in file finder. (#51530; thanks CCXLV)
  • Fixed segfault at runtime on aarch64-Linux when running static constructors. (#51771)
  • Fixed settings file being restored to multiple panes after restart. (#50842; thanks iam-liam)
  • Fixed subword motions in Helix mode not selecting traversed text. (#45760; thanks maxmalkin)
  • Fixed the "Show Edit Predictions For This Buffer" toggle being a no-op in unsaved buffers after switching the buffer's language. (#50845; thanks ayushk-1801)
  • Fixed the cursor offset in non-visual Helix selections. (#46311; thanks jrobsonchase)
  • Fixed hidden files not showing in remote project's open folder action. (#50846; thanks dibashthapa)
  • Fixed the outline filtering always selecting the last match. (#50594; thanks OmChillure)
  • Fixed trailing whitespace handling on text case changes. (#50523; thanks OmChillure)
  • Fixed Vim's dot repeat ignoring the recorded register. (#50753; thanks feitreim)
  • Fixed visual block shift-i jumping to the initial cursor position after scrolling with ctrl-d/ctrl-u in Vim mode. (#50822; thanks cppcoffee)
  • Fixed XF86 multimedia key names ("New", "Save", "Open") being shown as keybinding hints in menus instead of the actual keyboard shortcuts. (#50540; thanks Dnreikronos)

Don't miss a new zed release

NewReleases is sending notifications on new releases.