132e8e8
docs: Fix delayed git inline blame example (#17320)
Click to expand commit body
Fixes docs example. Otherwise the inline git blame is fully disabled
instead of delayed.
Release Notes:
- N/A
Brian J. Cardiff
created
5a94e0f
zed: Sort dependencies in `Cargo.toml` (#17317)
Click to expand commit body
This PR sorts the dependencies in the `zed` crate's `Cargo.toml`, as
they had gotten unsorted.
Release Notes:
- N/A
Marshall Bowers
created
3d83903
gpui: Update "Getting Started" to include macOS setup (#17316)
Click to expand commit body
This PR updates the GPUI docs to mention how to install XCode for Metal
support.
Supersedes https://github.com/zed-industries/zed/pull/16820.
Release Notes:
- N/A
This PR adds an example for working with SVGs.
Release Notes:
- N/A
Marshall Bowers
created
30cfff0
Document PRIME config setting on linux (#17311)
Click to expand commit body
Release Notes:
- N/A
Conrad Irwin
created
3005625
collab: Add `GET /models` endpoint to LLM service (#17307)
Click to expand commit body
This PR adds a `GET /models` endpoint to the LLM service.
This endpoint returns the models that the authenticated user has access
to.
This is the first step towards populating the models for the hosted
service from the server.
Release Notes:
- N/A
Marshall Bowers
created
122f01f
Update Rust crate async-tar to 0.5.0 (#17304)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [async-tar](https://redirect.github.com/dignifiedquire/async-tar) |
workspace.dependencies | minor | `0.4.2` -> `0.5.0` |
---
### Release Notes
<details>
<summary>dignifiedquire/async-tar (async-tar)</summary>
###
[`v0.5.0`](https://redirect.github.com/dignifiedquire/async-tar/compare/v0.4.2...v0.5.0)
[Compare
Source](https://redirect.github.com/dignifiedquire/async-tar/compare/v0.4.2...v0.5.0)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
02e9682
extension: Delete working directory on uninstall (#17127)
Click to expand commit body
Closes #17126
Release Notes:
- N/A
bestgopher
created
32db140
assistant: Fix inline assist not restarting transformation after pressing retry (#17301)
Click to expand commit body
Release Notes:
- Fixed an issue where the inline assist would be dismissed even when
instructed to regenerate the transformation after an error
Bennet Bo Fenner
created
64a8b14
assistant: Use code label for tab slash command completions (#17296)
Click to expand commit body
This adopts the same approach we use for the `/file` command, which has
the benefit that, even if the path is long, the filename is always
visible.
| Before | After |
|--------|-------|
| <img width="564" alt="image"
src="https://github.com/user-attachments/assets/a43574af-e4c1-4f11-be70-49d6020557c4">
| <img width="567" alt="image"
src="https://github.com/user-attachments/assets/4db383b9-5039-4f35-b821-e1cc1a4ea7e8">
|
Release Notes:
- Improved UX of tab slash command completions
Bennet Bo Fenner
created
b41ddbd
Have models indicate code locations in workflows using textual search, not symbol names (#17282)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld
and
Antonio Scandurra
created
c63c201
Revert accidental one theme changes (#17273)
This list should now be complete according to the official list at
https://www.php.net/manual/en/reserved.keywords.php
Patka
created
6b8bdcf
Add jsonschema link to bundled themes (#17253)
Peter Tripp
created
b6cf576
project panel: Always show paste in context menu (and grey it out when it's disabled) (#17262)
Click to expand commit body

Release Notes:
- "Paste" is now always shown in project panel context menu.
Piotr Osiewicz
created
b578be5
assistant: Fix `"New Context"` behavior when focused in editor (#17106)
Click to expand commit body
Closes #16676
Release Notes:
- assistant: fix `New Context` opening a new file when focused in the
editor pane.
Rami Pellumbi
created
1c6dbe0
editor: Do not lay out task indicators outside of the viewport (#17250)
Click to expand commit body
A friend of mine shared a Rust file with me that crashed Zed
consistently due to Arena space exhaustion. It is a dump of a proc macro
output that generates tests (among other things).
TL;DR: we were always laying out all run indicators, irrespective of
current scroll position. In his case, we were redundantly rendering
about 3k elements.
Obviously, this doesn't just fix the problems with Arena space
exhaustion - it should also improve perf in files with many runnables.
Release Notes:
- Improved editor performance in presence of many runnable indicators in
the gutter.
Part of https://github.com/zed-industries/zed/issues/14235
* moved search results highlight calculation into the background thread,
with highlight-less representation as a fallback
* show only a part of the line per search result, stop uniting them into
a single line if possible, always trim left trailing whitespaces
* highlight results in batches
* better cache all search result data, related to rendering
* add test infra and fix folding-related issues
* improve entry displays when multi buffer has a buffer search (find
references one has)
* fix cloud notes not showing search matches
Release Notes:
- Improved outline panel performance
b8e6098
Consolidate logic for protobuf message handling between ssh and web socket clients (#17185)
Click to expand commit body
This is a refactor to prepare for adding LSP support in SSH remote
projects.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
- Correct Privacy policy to state `"Zed does not store or train on your requests without consent."`
Peter Tripp
created
54ac963
client: Ensure query string values are URL-encoded (#17235)
Click to expand commit body
This PR fixes an issue where the query string values weren't URL-encoded
when authenticating as an admin in development.
Release Notes:
- N/A
Marshall Bowers
created
b386b6c
Allow Zed to run under multiple user accounts simultaneously (#14143)
Click to expand commit body
Closes #4607
This is an attempt to enable Zed to run under multiple user accounts on
the same Mac, because it's a blocker to me really giving Zed a fair shot
at being my primary editor.
According to some helpful info from @ForLoveOfCats in #4607 the main
reason why this doesn't work is because Zed is using a Unix socket or
maybe a TCP socket with a hard-coded path and/or port. To me it looks
like it's a TCP socket so I tried changing that code in here, but I'm
stuck at trying to test it out because running `target/debug/zed` or
`target/release/zed` seems to behave differently than running an actual
app bundle. I had no luck copying the binary over to
/Applications/Zed.app/Contents/MacOS/zed because it can't find
WebRTC.framework which resides at a different relative path in the app
bundle.
If this seems like a desirable change to the core team then I'm looking
for some guidance on how to build an app bundle or otherwise test out
this change, or a nudge in the correct direction if I'm way off base
with my current approach.
Release Notes:
- Added multiuser support for up to 100 users on the same machine.
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Sami Samhuri
and
Mikayla
created
8376395
rust: Improve syntax highlighting of methods in completions menu (#17184)
Click to expand commit body
What do all of the syntax-highlighted methods have in common in this
screenshot?
<img width="597" alt="image"
src="https://github.com/user-attachments/assets/7e3cced5-1857-44ca-8000-d2aa3c485726">
They're all trait methods. This is an unfortunate byproduct of how we
parse function signatures and handle details of completions. Other
non-syntax highlighted entries could get the highlighting for free, if
not for the fact that they lack a bit of data that is available for
trait methods.
This PR fixes this problem.
<img width="597" alt="image"
src="https://github.com/user-attachments/assets/065dc929-be00-46fc-a7c3-e63ed7ad6a0a">
Release Notes:
- Improved syntax highlighting of Rust methods in completions menu
Piotr Osiewicz
created
6a9820e
scripts: Fix bundle-linux when RUSTFLAGS is unset (#17218)
Click to expand commit body
The install-linux script fails to build when the RUSTFLAGS environment
variable is not set. Bash attempts to expand an empty variable and fails
due to the prior set -u
Closes #17217
Release Notes:
- N/A
it-a-me
created
c9b4c8c
Let script/bundle-linux preserve RUSTFLAGS (#17202)
Click to expand commit body
Example usage:
RUSTFLAGS="--cfg gles" ./script/install-linux
Release Notes:
- N/A
Niklas Fiekas
created
03d8e54
Revert "lsp: Watch paths outside of worktrees at language servers request (#17173) (#17206)
Click to expand commit body
This PR reverts #17173, as it introduced a segfault when opening any
Gleam project and the language server starts up.
This reverts commit a850731b0ed61b0ef2a0173843b6daedf45327e8.
Release Notes:
- N/A
Marshall Bowers
created
a850731
lsp: Watch paths outside of worktrees at language servers request (#17173)
Click to expand commit body
Context: https://x.com/fasterthanlime/status/1819120238228570598
Up to this PR:
- We were not watching paths outside of a worktree when language server
requested it.
- We expected GlobPattern used for file watching to be always rooted at
the worktree root.
'1 mattered for observing global files (e.g. global RA config) and both
points had impact on "monorepos".
Let's picture the following scenario:
You're working on a Rust project that has two crates: bin and lib crate:
```
my-rust-project/
bin-crate/
lib-crate/
```
Up to this PR, making changes like changing field visibility in
lib-crate **was not reflected** in bin-crate until RA was restarted. RA
for bin-crate asked us to watch lib-crate. Now, depending on if you had
this project open as:
- a project with one worktree rooted at my-rust-project:
- due to '2, we never noticed that we have to notify RA instance for
bin-crate about changes in lib-crate.
- a project with two worktrees (bin-crate and lib-crate):
- due to '1 (as lib-crate is not within bin-crate's worktree), we once
again missed the fact that we have to watch for changes in lib-crate.
This PR solves this by introducing a side-channel - we just store fs
watchers for abs paths at the Project level. Worktree changes handling
is left relatively untouched - as it's used for other changes besides
LSP change notifying, I've figured to better leave it as is, as right
now we have 1 worktree change watcher; if we were to change it, we'd
have `(language server) + 1` watchers per worktree, which seems.. pretty
horrid.
What's the end effect? At the very least fasterthanlime should be a tad
happier; in reality though, I expect it to have some impact on LS
reliability in monorepo setups.
TODO
- [x] Wire through FileChangeType into `fs::watch` interface.
Release Notes:
- Improved language server reliability in multi-worktree projects and
monorepo. We now notify the language server more reliably about which
files have changed.
Piotr Osiewicz
created
d2cb45e
Revert "Make selection more consistent across languages (#17084)" (#17175)
Click to expand commit body
This reverts commit 7db8d80c3090f70b466284e70e9635b0e63528c9.(#17084)
Release Notes:
- N/A
Conrad Irwin
created
75d4c79
Extract an LspStore object from Project, to prepare for language support over SSH (#17041)
Click to expand commit body
For ssh remoting lsps we'll need to have language server support
factored out of project.
Thus that begins
Release Notes:
- N/A
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin
,
Max Brunsfeld
, and
Mikayla
created
This PR updates the `.mailmap` file to merge some more commit authors.
Release Notes:
- N/A
Marshall Bowers
created
bb9f2f8
collab: Require `github_user_created_at` at ingress points (#17180)
Click to expand commit body
This PR makes the `github_user_created_at` field required at ingress
points into collab.
In practice we already have this value passed up, this change just makes
that explicit.
This is a precursor to making it required in the database.
Release Notes:
- N/A
Marshall Bowers
created
9a8c301
collab: Set `github_user_created_at` when seeding GitHub users (#17178)
Click to expand commit body
This PR updates the seed script to set the `github_user_created_at`
value for each GitHub user.
Release Notes:
- N/A
Marshall Bowers
created
58c0f39
OpenAI: Fix GPT-4. Only include max_tokens when max_output_tokens provided (#17168)
ee6ec50
Fix `-` being a word character for selections (#17171)
Click to expand commit body
Co-Authored-By: Mikayla <mikayla@zed.dev>
Co-Authored-By: Nate <nate@zed.dev>
Closes #15606
Closes #13515
Release Notes:
- Fixes `-` being considered a word character for selections in some
languages
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Nate <nate@zed.dev>
Conrad Irwin
,
Mikayla
, and
Nate
created
c0731bf
assistant: Fix formatting in settings (#17172)
Click to expand commit body
This PR fixes some formatting issues in `assistant_settings.rs` that
were being caused by long lines.
Release Notes:
- N/A
Marshall Bowers
created
68ea661
assistant: Add foundation for receiving tool uses from Anthropic models (#17170)
Click to expand commit body
This PR updates the Assistant with support for receiving tool uses from
Anthropic models and capturing them as text in the context editor.
This is just laying the foundation for tool use. We don't yet fulfill
the tool uses yet, or define any tools for the model to use.
Here's an example of what it looks like using the example `get_weather`
tool from the Anthropic docs:
<img width="644" alt="Screenshot 2024-08-30 at 1 51 13 PM"
src="https://github.com/user-attachments/assets/3614f953-0689-423c-8955-b146729ea638">
Release Notes:
- N/A
Marshall Bowers
created
ea25d43
anthropic: Remove `cache_control` field from `ResponseContent` (#17165)
Click to expand commit body
This PR removes the `cache_control` field from the variants in
`ResponseContent`.
This field is used on requests to control the caching behavior, but is
not needed on content in the response.
Release Notes:
- N/A
Marshall Bowers
created
8901d92
anthropic: Use separate `Content` type in requests and responses (#17163)
Click to expand commit body
This PR splits the `Content` type for Anthropic into two new types:
`RequestContent` and `ResponseContent`.
As I was going through the Anthropic API docs it seems that there are
different types of content that can be sent in requests vs what can be
returned in responses.
Using a separate type for each case tells the story a bit better and
makes it easier to understand, IMO.
Release Notes:
- N/A
Marshall Bowers
created
00eed76
Fix Go test task when using Git submodules (#17108)
Click to expand commit body
I have found an error running tests in Golang projects that use
submodules. This PR fixes the issue by accessing the directory before
running the test.

The `commons` in the image is a git submodule in a subfolder inside a
parent folder where the workspace is set.
Release Notes:
- Fixed Go tests not being able to run in case the package (and the
`go.mod`) was in a nested folder. Pre-defined Go tasks have been changed
to now run in the package's directory. That means `go test ./package
-run MyTest` will run in `./package` and execute `go test -run MyTest`.
Also, `go test ./...` will run in the package directory, not at the root
of the Zed project, which is a small breaking change. In case one wants
to run `go test ./...` from the root, one can spawn a manual task that
does this.

---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Glaudiston Gomes da Silva
and
Thorsten Ball
created
89632ff
gpui: Fix typo in `DefaultThemeAppearance` doc comment (#17157)
Click to expand commit body
Release Notes:
- N/A
Marshall Bowers
created
c909bc0
docs: Fix Ollama formatting; remove stale link to stable Nix package (#17158)
This PR removes the `lib.name` field from the `story` crate's
`Cargo.toml`, as it is not needed.
Release Notes:
- N/A
Marshall Bowers
created
9c8b6f4
workspace: Fix weird behavior when save replaces the existing open file (#17123)
Click to expand commit body
Fixes this weird behavior:
- open an file, like `test.rs`
- `ctrl-n` create an new buffer
- `ctrl-s` save new buffer with name `test.rs`, select replace old file.
- the older open file also exist, this is weird.
Release Notes:
- Fixed two panes staying opening when saving a new buffer with the same filename as a file that was already open.
**Changelog:**
- Replace default tasks with a stub message (#16752)
- Update tree-sitter grammar for the Ruby language (#16892)
- Rename `rbs` to `RBS` (#16893)
- Upgrade `zed_extension_api` to v0.1.0 (#16907)
Release Notes:
- N/A
Vitaly Slobodin
created
0835d45
gpui: Fix text ellipsis appearing even the flex element has space (#17149)
Click to expand commit body
Release Notes:
- N/A
There was a calculation bug before. When we added `text_ellipsis` to the
flex element, it would always show ellipsis no matter how long it was.
Actually we can't use `flex` and `text_ellipsis` at same time, the CSS
also not support this. But this bug will let user confuse.
### Before
<img width="731" alt="image"
src="https://github.com/user-attachments/assets/b7d60017-6785-45f5-8b40-dd5efa154a1e">
### After
<img width="521" alt="image"
src="https://github.com/user-attachments/assets/a3117793-284e-48d4-8c15-059fe61abe60">
- Support `available_models` for Ollama
- Clamp default max tokens (context length) to 16384.
- Add documentation for ollama context configuration.
Peter Tripp
created
d401ab1
Make links in assistant configuration clickable (#17011)
Peter Tripp
created
eb7367d
vim: Disable inline completions if not Insert/Replace mode (#17154)
Click to expand commit body
This is a follow-up to
- https://github.com/zed-industries/zed/pull/17137
- https://github.com/zed-industries/zed/pull/17138 (revert of #17137)
and it does what I originally thought I wouldn't have to do: add another
boolean to `Editor`.
cc @ConradIrwin
Release Notes:
- Fixed inline completions (Copilot or Supermaven) showing up in Vim's
normal mode.