github zed-industries/zed v0.218.0-pre

latest releases: nightly, collab-production
pre-release13 hours ago

This week's release includes initial support for Dev Containers, a new Tree view for the Git panel, SQL syntax highlighting in Python files, GPT-5.2 support for BYOK users, AI-generated commit messages that respect rules files (e.g. AGENTS.md), improved terminal scrolling and link detection, and a set of Helix mode keymap improvements.

Features

AI

  • Agent: Added GPT-5.2 support when using your own OpenAI key. (#44656)
  • Agent: Added save_file and restore_file_from_disk agent tools to handle dirty buffers when editing files. (#45005)
  • Agent: Added a button to the agent thread view that scrolls to the most recent prompt. (#44961)
  • Agent: Added the ability to use shift-tab to cycle through profiles for the built-in Zed agent. (#44979)
  • Agent: Added the ability to delete a profile through the "Manage Profiles" modal. (#44977)
  • Agent: Improved agent panel performance when rendering large diffs. (#44995)
  • Agent: Improved the model search quality in the model picker. (#44984)
  • Agent: Added optional timeout_ms parameter to the terminal tool, allowing the agent to bound command runtime and prevent indefinite hangs. (#44895)
  • Edit Prediction: Improved self-hosted zeta UX. Users no longer have to log into Zed to use custom or self-hosted zeta backends. (#43236; thanks DominicBurkart)
  • Copilot: Improved GitHub Enterprise (GHE) Copilot sign-in. (#44085; thanks madmo)
  • Ollama: Added auto_discover setting to optionally limit visible models to only those manually configured in available_models. (#42207; thanks xfbs)

Git

⭐ = Shipped via Let's Git Together


  • ⭐Added a tree view for the Git panel. Users are able to switch between Flat and Tree view in the Git panel. (#44089; thanks xipeng-jin)
  • ⭐Improved the file history view by making it keyboard navigable. (#44328; thanks feeiyu)
  • Improved stability of excerpts when editing in the project diff. (#44312)
  • AI-generated commit messages now respect rules files (e.g. AGENTS.md) if present. (#44921)
  • The branch name in the title bar now includes the name of the current repository when needed to disambiguate. (#44793)
  • ⭐Changed clicking the changes button in the Git panel to reset the project diff to the beginning. (#43579; thanks marcocondrache)
  • ⭐Improved permalinks to account for current diffs. (#41915; thanks siame)
  • ⭐Fixed Git panel color for staged new files. (#44071; thanks cppcoffee)
  • ⭐Fixed double slash in commit URLs. (#44996; thanks cppcoffee)
  • Fixed partially-staged files not being represented accurately in the Git panel. (#44837)

Languages

  • Improved Markdown Preview with scrolling actions: markdown::ScrollUp, markdown::ScrollDown, markdown::ScrollUpByItem, and markdown::ScrollDownByItem. (#44585; thanks KyleBarton)
  • Rust: Changed cwd of tasks that spawn a binary target to the root of a current package (which used to be a directory of the current source file). (#44672)
  • Added rainbow bracket coloring for C++ angle brackets (< / >). (#44735; thanks hokein)
  • Added language injections for string and tagged template literals in JS/TS(X). (#44180; thanks vitallium)
  • Improved JavaScript and TypeScript syntax highlighting to better distinguish types, parameters, punctuation, and JSDoc elements. (#44532)
  • Added SQL syntax highlighting support in Python files. (#43756; thanks jeffbrennan)
  • Improved Proto support to work better out of the box. (#44440)

Terminal

  • Improved scroll performance. (#44714; thanks davewa)
  • Improved URL link detection in terminals. (#43559; thanks marcocondrache)
  • Improved performance of terminal link matching even more. (#44679)

Vim / Helix

  • Added Helix's space / keybinding to open a global search menu to Zed's Helix mode. (#43363; thanks godalming123)
  • Changed Helix keybinds to use visual line movement for j, Down, k, and Up, and textual line movement for g j, g Down, g k, and g Up. (#42676; thanks probablykasper)
  • Added custom mappings for Zed-specific diff and git-related actions to Helix's goto mode. (#45006)
  • g o - toggle selected diff hunks
  • g O - toggle staged
  • g R - restore change
  • g u - stage and goto next diff hunk
  • g U - unstage and goto next diff hunk
  • Improved Helix mode keymaps by adding a Search category and clarifying non-Helix bindings. (#43735; thanks atahrijouti)

Other

  • Added ability to Open a project in a DevContainer, provided a .devcontainer/devcontainer.json is present. (#44442; thanks KyleBarton)
  • Improved link parsing for cases when a link is embedded in parentheses, e.g. Markdown. (#44733; thanks KyleBarton)
  • Improved path and rendering performance. (#44655; thanks marcocondrache)
  • Settings UI: Added an "Open Keymap Editor" item under the Keymap section. (#44914)
  • Settings UI: Added a section for configuring edit prediction providers under AI > Edit Predictions, including Codestral and GitHub Copilot. Once you've updated you can use the following link to open it: zed://settings/edit_predictions.providers. (#44505)
  • Added support for on-type formatting with newlines. (#44882)
  • Implemented the zed --wait flag so that it works when opening a directory. The command will block until the window is closed. (#44936)
  • Added scroll keybindings for the OutlinePanel. (#42438; thanks 0x2CA)
  • Added the actions: workspace::ZoomIn and workspace::ZoomOut that complement the existing workspace::ToggleZoom action. (#44587; thanks pedroni)
  • Added a connection_timeout setting to specify the SSH connection timeout. (#44823; thanks marcocondrache)
  • Standardized cmd-o = open file, cmd-k, cmd-o = open folder across operating systems. (#44598; thanks Zachiah)
  • Added a show_user_menu setting (defaulting to true) which shows or hides the user menu (the one with the user avatar) in the title bar. (#44466; thanks notnotjake)
  • macOS: Added Force Touch support for go-to-definition. (#40399; thanks aarol)
  • Improved the UI for keymap error messages. (#42037; thanks johnklucinec)
  • Improved LSP notification messages by adding Markdown rendering with clickable URLs, inline code, etc. (#44215; thanks errmayank)
  • Improved new windows spawned from maximized or fullscreen windows by preserving maximized and fullscreen state. (#44605)
  • Suppressed warnings for trailing commas in built-in JSON files (settings.json, keymap.json, etc.). (#43854; thanks ian-h-chamberlain)
  • Added a new value to the restore_on_startup setting called launchpad. This value makes Zed open with a variant of the welcome screen ("the launchpad") upon startup. Additionally, this same page variant is now also what is displayed if you close all tabs in an existing window that doesn't contain any folders open. The launchpad page shows you up to 5 recent projects, making it easy to open something you were working recently. (#44048; thanks simonpham)

Bug Fixes

  • Windows: Fixed the folder picker inserting wrong slashes when remoting from Windows to WSL. (#44886)
  • Windows: Fixed terminal hyperlinking not working for file:// schemes with Windows drive letters. (#44847)
  • Windows: Fixed double hover state. (#44711)
  • Windows: Fixed SendKeystrokes mapping. (#44707)
  • Windows: Fixed shell environment fetching on Windows discarding specified arguments in settings. (#44615)
  • Windows: Fixed a bug where custom MCP and ACP servers installed through did not launch correctly. (#42382)
  • Windows: Fixed new windows underflowing the taskbar. (#44605)
  • Linux: Fixed a race condition where the macros containing modifier + key would sometimes be processed without the modifier. (#44234; thanks AndreRoelofs)
  • Terminal: Fixed an issue where ctrl|cmd+click on links was very sensitive to mouse movement. Clicking links now tolerates mouse movement within the same clickable element, making link navigation more reliable. (#42526; thanks nihalxkumar)
  • Vim: Fixed bug where overwriting global Vim marks was inconsistent. (#44765; thanks AidanV)
  • Git: Fixed a bug where not all branches were being shown in the branch selector when the search field was empty. (#44742)
  • Git: Fixed a bug where the git: amend command would not load the latest head commit message, and any previously entered text in the commit message editor would be lost after the amend completed. (#44553)
  • Fixed a case where an incorrect match could be generated in label_for_completion. (#44925; thanks Nereuxofficial)
  • Fixed an issue where Markdown tables would sometimes show double borders. (#44991)
  • Fixed an issue where Markdown tables wouldn't render in the hover popover. (#44712)
  • Fixed percent-encoded filenames appearing in agent message file mentions. (#44983; thanks Suzushiro-radish)
  • Fixed tab preview not showing up on initial ctrl-shift-tab press. (#44959; thanks errmayank)
  • Fixed editor context menu triggering format on save. (#44073; thanks flappyBug)
  • Fixed file_finder::Toggle action sometimes not working in JetBrains keymap. (#44951)
  • Fixed a bug where screen-share tabs would persist after the sender (or receiver) had left the call. (#44945)
  • Fixed a bug when expanding a diff hunk at the beginning of a file, where the deleted portion of the hunk would remain outside of the viewport. (#44932)
  • Fixed -or- divider rendering incorrectly in the project panel of an empty workspace. (#44920; thanks ti0ma)
  • Fixed quote autoclose incorrectly counting quotes inside strings. (#44281; thanks errmayank)
  • Fixed a bug where git pager configurations could cause agent and terminal git commands to hang by forcing PAGER and GIT_PAGER environment variables off. (#43277; thanks odvcencio)
  • Fixed a bug where double- and triple-click selection would not correctly expand by word and by line within Markdown elements (diagnostics, agent panel, etc.), instead requiring manual adjustment. (#43813; thanks RMcGhee)
  • Fixed a bug where adjacent selections were being merged together. (#44811; thanks marcocondrache)
  • Fixed vitest test running and debugging for projects using vitest v4. (#43241; thanks freddyfallon)
  • Fixed incorrect provider shown in "view on remote" button. (#44738; thanks errmayank)
  • Fixed comment injections not working with C and C++. (#44883)
  • Fixes block and hollow cursor being offset when selecting text. (#42837; thanks lennartkloock)
  • Fixed search bars losing their replace state if you re-focus on them via actions or keybinds. (#44862)
  • Fixed ANSI colors definitions in the Gruvbox theme (thanks @dangooddd). (#38536; thanks dangooddd)
  • Fixed external agents that hung on “Loading…” when shell startup output broke JSON-RPC initialization. (#44826; thanks xipeng-jin)
  • Fixed terminal $SHLVL starting at 2 instead of 1 (#33958). (#44835; thanks edlsh)
  • Fixed hover boxes for inlays blinking in and out without movement when cursor blinking was enabled. (#44822)
  • Fixed tab jitter from oversized scrolling. (#42434; thanks cppcoffee)
  • Fixed remoting not working on some Linux and mac systems. (#44697)
  • Fixed wrong font features in Blame UI, Hover Popover and Markdown Preview. (#44657)
  • Fixed an issue where commit and amend actions wouldn’t trigger when using keybinds in the commit modal. (#44690)
  • Fixed an issue in Markdown where new list items weren’t respecting the expected indentation on type. (#44616)
  • Fixed micromamba environments failing to activate by initializing micromamba using the active shell’s init script. (#44646; thanks cvanelteren)
  • Fixed a bug where cmd+click would still trigger if you pressed cmd after starting the click, instead of requiring cmd to be held before the click began. (#44579; thanks Zachiah)
  • Fixed the diagnostics panel always showing breadcrumbs, ignoring the toolbar.breadcrumbs setting. (#44974; thanks majiayu000)
  • Fixed editor::OpenUrl not working for https://zed.dev links. (#44910)
  • Fixed in-editor clicks on Zed channel and channel-note links redirecting via the web. (#44910)
  • Fixed slash command file collection showing incorrect folded directory paths (e.g. .github/.zed instead of .zed). (#41880; thanks CLoaKY233)

Breaking Changes and Notices

  • Disable word completions in plaintext and markdown files. To re-enable, add the following to your settings: "languages": { "Plain Text": { "completions": { "words": "enabled" } }, "Markdown": { "completions": { "words": "enabled" } } }. (#44654)
  • Removed editor::AcceptPartialEditPrediction and replaced it with editor::AcceptNextLineEditPrediction and editor::AcceptNextWordEditPrediction. (#44411; thanks teleoflexuous)
  • Changed Markdown Preview commands markdown::MovePageUp and markdown::MovePageDown to markdown::ScrollPageUp and markdown::ScrollPageDown. (#44585; thanks KyleBarton)
  • Vim: Removed a keybinding conflict between the default macOS bindings for pane::ActivateItem and the ctrl-6 alias forpane::AlternateFile which is primarily bound to ctrl-^. ctrl-6 is no longer treated as an alias for ctrl-^ in vim mode. If you'd like to restore ctrl-6 as a binding for pane::AlternateFile, paste the following into your keymap.json file. (#44560)

Don't miss a new zed release

NewReleases is sending notifications on new releases.