Release Notes:
- (Potentially breaking change) Zed will now use the node installed on
your $PATH (if it is more recent than v18) instead of downloading its
own. You can disable the new behavior with `{"node":
{"disable_path_lookup": true}}` in your settings. We do not yet use
system/project-local node_modules.
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Release Notes:
- ssh-remoting: Fixed format on save
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin
and
Mikayla
created
e95e1c9
Add '?plain=1' to Permalinks on GitLab/GitHub for md files (#18241)
Click to expand commit body
Improve our Permalinks to markdown files.
GitHub/GitLab supports the same URL syntax.
Peter Tripp
created
1ff10b7
lua: Add auto-close for single quote strings and highlight escape sequences (#18199)
Click to expand commit body
- Add auto close to single quote string
- Add syntax highlights to escape sequence
狐狸
created
7051bc0
Add "Fix with Assistant" code action on lines with diagnostics (#18163)
Click to expand commit body
Release Notes:
- Added a new "Fix with Assistant" action on code with errors or
warnings.
---------
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
and
Nathan
created
1efe870
Update stale issues configuration to use 180 days (#18238)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
11953bb
Disable debug mode for stale issue action (#18237)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
65bb989
gpui: Update doc comment for `SharedString::new_static` (#18234)
Click to expand commit body
This PR updates the doc comment for `SharedString::new_static`.
Release Notes:
- N/A
Marshall Bowers
created
2082633
update stale issue configuration to use `any-of-issue-labels` (#18236)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
3c95a64
Add a rather-conservative stale issue action in dry-run mode (#18233)
Click to expand commit body
Zed is becoming more popular and our issue tracker is only growing
larger and larger. I realize that a stale issue action can be
controversial, but the way we currently manage issues hasn't scaled well
and it will only get worse. We need some crowd-sourced system. Let's ask
those who have opened issues if their issues are still valid. This is
rather conservative and only targets bugs and crashes. I'll run it in
debug mode, report the results, and enable it if it feels right. We can
always turn this off if users end up really not liking it.
My original rules were:
```txt
If an issue is old enough (12 months or older)
AND if there are no recent comments from the team (last dev comment is older than 6 months)
AND it has less than X upvotes (5)
AND it does not have an open PR linked to it
AND is a "defect" or "panic / crash"
AND does not have a "ignore top-ranking issues" label
AND was not opened by a org member
AND is open
AND is issue (not a pull request)
THEN close the issue with a kind message.
```
But only some of these were actually supported in the configuration.
Release Notes:
- N/A
Joseph T. Lyons
created
bc751d6
Don't highlight Python import names as type (#17984)
Release Notes:
- ssh remoting: Fix LSP queries run over collab
Conrad Irwin
created
35a80f0
docs: Split vim mode documentation into two pages, edit for clarity (#17614)
Click to expand commit body
Closes #17215
Release Notes:
- N/A
---
This PR builds upon the vim mode documentation page and aims bring the
following improvements:
- Separate vim mode-specific configuration from introducing vim mode.
- Reformat some lists of provided commands and keymaps from code blocks
to sub-sections containing tables.
- Flesh out the text a little bit to make it more explicit in some
parts.
- Generally format notes and a couple of other things closer to some
other docs pages.
Checking the diff doesn't give a good idea of the changes, so here are
some before after images for quick examples of the kinds of changes
brought by this PR.
**Introducing the key differences of Zed's vim mode**
Before

After

---
**Zed-specific vim key bindings**
Before

After

In #17974 we explicitly depend on rustc/cargo for the nix devShell,
however the fenix overlay that contains the latest stable versions was
not being applied to that shell. This led to the shell inheriting
whatever rustc/cargo was on nixos-unstable from nixpkgs, which sometimes
lags behind. This change fixes that, and also restructures the flake to
ensure that all outputs rely on the overlaid `pkgs`.
Release Notes:
- N/A
Related to https://github.com/rust-lang/rust-analyzer/pull/18167
* Declare more completion item fields in the client completion resolve
capabilities
* Do resolve completions even if their docs are present
* Instead, do not resolve completions that could not be resolved when
handling the remote client resolve requests
* Do replace the old lsp completion data with the resolved one
Release Notes:
- Improved completion resolve mechanism
Kirill Bulatov
created
bb7d9d3
docs: Remove `default_dock_anchor` in `configuring-zed.md` (#18210)
Click to expand commit body
Removed the deprecated option `default_dock_anchor` in
`configuring-zed.md`
Note: https://zed.dev/blog/new-panel-system
Release Notes:
- N/A
Junseong Park
created
75cb199
project: Fix typo error cause remove worktree not stop lsp (#18198)
Click to expand commit body
Release Notes:
- N/A
CharlesChen0823
created
0f4ebdf
docs: Add missing `ui_font_size` option in `configuring-zed.md` (#18189)
Click to expand commit body
Added `ui_font_size`, an option that works in the editor but is missing
from the documentation.
Release Notes:
- N/A
Junseong Park
created
37c93d8
docs: Add missing `base_keymap` option in `configuring-zed.md` (#18190)
Click to expand commit body
Added `base_keymap`, an option that works in the editor but is missing
from the documentation.
Release Notes:
- N/A
1. Raised the `Indent Guides` heading to level 2, which is completely
unrelated to `Git`.
2. the `Git` heading now only contains `Git Gutter` and `Inline Git
Blame` as subheadings.
3. The `Indent Guides` heading is now located directly after the `Git`
heading.
Release Notes:
- N/A
Junseong Park
created
1f35c8d
Fix tooltip of `always_treat_brackets_as_autoclosed` (#18191)
Click to expand commit body
Fixed a bug where the `always_treat_brackets_as_autoclosed` option would
not display the message in the tooltip that appears when hovering.
Release Notes:
- N/A
Junseong Park
created
3ca18af
docs: Fix typo in `configuring-zed.md` (#18178)
Click to expand commit body
Fix typo in `configuring-zed.md`
Release Notes:
- N/A
Junseong Park
created
4f227fd
Use LanguageServerName in more places (#18167)
Click to expand commit body
This pushes the new LanguageServerName type to more places.
As both languages and language servers were identified by Arc<str>, it
was
sometimes hard to tell which was intended.
Release Notes:
- N/A
Conrad Irwin
created
743feb9
Add the ability to propose changes to a set of buffers (#18170)
Click to expand commit body
This PR introduces functionality for creating *branches* of buffers that
can be used to preview and edit change sets that haven't yet been
applied to the buffers themselves.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld
,
Marshall Bowers
, and
Marshall
created
e309fbd
Add a slash command for automatically retrieving relevant context (#17972)
Click to expand commit body
* [x] put this slash command behind a feature flag until we release
embedding access to the general population
* [x] choose a name for this slash command and name the rust module to
match
Release Notes:
- N/A
---------
Co-authored-by: Jason <jason@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Jason Mancuso <7891333+jvmncs@users.noreply.github.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Max Brunsfeld
,
Jason
,
Richard
,
Jason Mancuso
, and
Richard Feldman
created
5905fbb
Allow Anthropic custom models to override temperature (#18160)
Click to expand commit body
Release Notes:
- Allow Anthropic custom models to override "temperature"
This also centralized the defaulting of "temperature" to be inside of
each model's `into_x` call instead of being sprinkled around the code.
Roy Williams
created
7d62fda
file_finder: Notify user when picker an non-utf8 file (#18136)
Click to expand commit body
notify user when using file finder picker an file which cannot open.
Release Notes:
- N/A
This PR adds file icons (like in tabs, the project panel and tab
switcher) to the file finder popup.
It's similar to [tab_switcher
icons](https://github.com/zed-industries/zed/pull/17115), but simpler,
because we're only dealing with actual files.
Release Notes:
- Added icons to the file finder.
Screenshot:

---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Daste
and
Marshall Bowers
created
5d12e3c
preview tabs: Toggle preview tab when saving (#18158)
Click to expand commit body
Release Notes:
- Saving a preview tab will now mark it as a permanent tab
Bennet Bo Fenner
created
6010905
Remove `system_id` from all events but `editor_events` (#18154)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
8bd624b
editor: Remove unneeded blank lines in rewrap test cases (#18152)
Click to expand commit body
This PR removes some unneeded blank lines from some of the test cases
for `editor::Rewrap`.
These weren't meaningful to the test, and their presence could be
confusing.
Release Notes:
- N/A
Marshall Bowers
created
9f6ff29
Reuse OpenAI low_speed_timeout setting for zed.dev provider (#18144)
99bef27
Add escape string highlights to JSON and JSONC files (#18138)
Click to expand commit body
Release Notes:
- Added escape string highlights to JSON and JSONC files
狐狸
created
f8195c4
docs: Switch proxy example to socks5h not socks5 (#18142)
Click to expand commit body
Very rarely when you have a SOCKS proxy configured do you want local DNS.
`socks5` does local DNS. `socks5h` does remote DNS.
Peter Tripp
created
759646e
editor: Improve rewrapping when working with comments at different indentation levels (#18146)
Click to expand commit body
This PR improves the `editor::Rewrap` command when working with comments
that were not all at the same indentation level.
We now use a heuristic of finding the most common indentation level for
each line, using the deepest indent in the event of a tie.
It also removes an `.unwrap()` that would previously lead to a panic in
this case. Instead of unwrapping we now log an error to the logs and
skip rewrapping for that selection.
Release Notes:
- Improved the behavior of `editor: rewrap` when working with a
selection that contained comments at different indentation levels.
Marshall Bowers
created
ab1d466
Remove `replica_id` from `MultiBuffer`s (#18141)
Click to expand commit body
This PR removes the `replica_id` field from the `MultiBuffer` struct.
We were only ever referencing this field to pass when constructing a
`MultiBuffer`, and never used it outside of that.
Release Notes:
- N/A
Marshall Bowers
created
5f1046b
Make evals handle failures more gracefully (#18082)
Click to expand commit body
Now when an individual project eval fails, instead of panicking we add
it to a list of failures that we collect and report at the end (and make
the exit code nonzero).
Release Notes:
- N/A
Richard Feldman
created
d6c184b
Detect 'MD' extension as Markdown (#18135)
Peter Tripp
created
16d2afc
ci: Bump `nightly` tag on scheduled Nightly builds (#18134)
Click to expand commit body
This PR makes it so after a scheduled Nightly build we also update the
`nightly` tag to keep things in sync.
It's safe to bump the tag within this Action, as it won't trigger
another Nightly build due to GitHub's recursive Action protections:
> When you use the repository's `GITHUB_TOKEN` to perform tasks, events
triggered by the `GITHUB_TOKEN`, with the exception of
`workflow_dispatch` and `repository_dispatch`, will not create a new
workflow run. This prevents you from accidentally creating recursive
workflow runs. For example, if a workflow run pushes code using the
repository's `GITHUB_TOKEN`, a new workflow will not run even when the
repository contains a workflow configured to run when `push` events
occur.
>
> —
[source](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow)
Release Notes:
- N/A
Marshall Bowers
created
90a12f5
ssh remoting: Do not double-register LspAdapters (#18132)
Click to expand commit body
This fixes the bug with hover tooltips appearing multiple times.
Turns out everytime we receive the `CreateLanguageServer` message we'd
add a new adapter but only have a single server running for all of them.
And we send a `CreateLanguageServer` message everytime you open a
buffer.
What this does is to only add a new adapter if it hasn't already been
registered, which is also what we do locally.
Release Notes:
- N/A
Thorsten Ball
created
ca033e6
Revert "Update nightly tag every night (#17879)" (#18133)
Click to expand commit body
This PR reverts #17879, as it wasn't working.
When a GitHub Action pushes a tag, it does not trigger workflows for
push events for that tag:
> When you use the repository's `GITHUB_TOKEN` to perform tasks, events
triggered by the `GITHUB_TOKEN`, with the exception of
`workflow_dispatch` and `repository_dispatch`, will not create a new
workflow run. This prevents you from accidentally creating recursive
workflow runs. For example, if a workflow run pushes code using the
repository's `GITHUB_TOKEN`, a new workflow will not run even when the
repository contains a workflow configured to run when `push` events
occur.
>
> —
[source](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow)
This reverts commit 761129e3739efacb7b8763eaa0fa8a109e935447.
Release Notes:
- N/A
Marshall Bowers
created
97708fd
settings: Follow-up fix to show more errors (#18123)
Click to expand commit body
The condition added in #18122 was too strict.
Release Notes:
- N/A
Thorsten Ball
created
ace4d51
settings: Show notification when user/project settings fail to parse (#18122)
Click to expand commit body
Closes #16876
We only ever showed parsing errors, but not if something failed to
deserialize.
Basically, if you had a stray `,` somewhere, we'd show a notification
for user errors, but only squiggly lines if you had a `[]` instead of a
`{}`.
The squiggly lines would only show up when there were schema errors.
In the case of `formatter` settings, for example, if someone put in a
`{}` instead of `[]`, we'd never show anything.
With this change we always show a notification if parsing user or
project settings fails.
(Right now, the error message might still be bad, but that's a separate
change)
Release Notes:
- Added a notification to warn users if their user settings or
project-local settings failed to deserialize.
Demo:
https://github.com/user-attachments/assets/e5c48165-f2f7-4b5c-9c6d-6ea74f678683
Thorsten Ball
created
9373098
ssh remoting: Restore items/buffers when opening SSH project (#18083)