3987b60
Set upstream tracking when pushing preview branch (#32075)
Click to expand commit body
Release Notes: - N/A
Joseph T. Lyons created
3987b60
Set upstream tracking when pushing preview branch (#32075)
Release Notes: - N/A
Joseph T. Lyons created
8271039
Bump Zed to v0.191 (#32073)
Release Notes: -N/A
Joseph T. Lyons created
8e9e3ba
ruby: Add `sorbet` and `steep` to the list of available language servers (#32008)
Hi, this pull request adds `sorbet` and `steep` to the list of available language servers for the Ruby language in order to prepare default Ruby language settings for these LS. Both language servers are disabled by default. We plan to add both in #104 and #102. Thanks! Release Notes: - ruby: Added `sorbet` and `steep` to the list of available language servers.
Vitaly Slobodin created
676ed8f
agent: Use new `has_pending_edit_tool_use` state for toolbar review buttons (#32071)
Follow up to https://github.com/zed-industries/zed/pull/31971. Now, the toolbar review buttons will also appear/be available at the same time as the panel buttons. Release Notes: - N/A
Danilo Leal created
4304521
Remove unused load_model method from LanguageModelProvider (#32070)
Removes the load_model trait method and its implementations in Ollama and LM Studio providers, along with associated preload_model functions and unused imports. Release Notes: - N/A
Ben Brandt created
04716a0
edit_file_tool: Fail when edit location is not unique (#32056)
When `<old_text>` points to more than one location in a file, we used to edit the first match, confusing the agent along the way. Now we will return an error, asking to expand `<old_text>` selection. Closes #ISSUE Release Notes: - agent: Fixed incorrect file edits when edit locations are ambiguous
Oleksiy Syvokon created
5e38915
Properly register buffers with reused language servers (#32057)
Follow-up of https://github.com/zed-industries/zed/pull/30707 The old code does something odd, re-accessing essentially the same adapter-server pair for every language server initialized; but that was done before for "incorrect", non-reused worktree_id hence never resulted in external worktrees' files registration in this code path. Release Notes: - Fixed certain external worktrees' files sometimes not registered with language servers
Kirill Bulatov created
f9257b0
debugger: Use UUID for Go debug binary names, do not rely on OUT_DIR (#32004)
It seems that there was a regression. `build_config` no longer has an `OUT_DIR` in it. On way to mitigate it is to stop relying on it and just use `cwd` as dir for the test binary to be placed in. Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Alex and Piotr Osiewicz created
5d0c968
editor: Stabilize IME candidate box position during pre-edit on Wayland (#28429)
Modify the `replace_and_mark_text_in_range` method in the `Editor` to keep the cursor at the start of the preedit range during IME composition. Previously, the cursor would move to the end of the preedit text with each update, causing the IME candidate box to shift (e.g., when typing pinyin with Fcitx5 on Wayland). This change ensures the cursor and candidate box remain fixed until the composition is committed, improving the IME experience. Closes #21004 Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: 张小白 <364772080@qq.com>
Wanten , Mikayla Maki , and 张小白 created
071e684
bedrock: Fix ci failure due model enum and model name mismatch (#32049)
Release Notes: - N/A
Umesh Yadav created
2280594
bedrock: Allow users to pick Thinking vs. Non-Thinking models (#31600)
Release Notes: - bedrock: Added ability to pick between Thinking and Non-Thinking models
Shardul Vaidya created
09a1d51
bedrock: Fix Claude 4 output token bug (#31599)
Release Notes: - Fixed an issue preventing the use of Claude 4 Thinking models with Bedrock
Shardul Vaidya created
ac15194
docs: Add OpenRouter agent support (#32011)
Update few other docs as well. Like recently tool support was added for deepseek. Also there was recent thinking and images support for ollama model. Release Notes: - N/A
Umesh Yadav created
988d834
project_panel: When initiating a drag the highlight selection should jump to the item you've picked up (#32044)
Closes #14496. In https://github.com/zed-industries/zed/pull/31976, we modified the highlighting behavior for entries when certain entries or paths are being dragged over them. Instead of relying on marked entries for highlighting, we introduced the `highlight_entry_id` parameter, which determines which entry and its children should be highlighted when an item is being dragged over it. The rationale behind that is that we can now utilize marked entries for various other functions, such as: 1. When dragging multiple items, we use marked entried to show which items are being dragged. (This is already covered because to drag multiple items, you need to use marked entries.) 2. When dragging a single item, set that item to marked entries. (This PR) https://github.com/user-attachments/assets/8a03bdd4-b5db-467d-b70f-53d9766fec52 Release Notes: - Added highlighting to entries being dragged in the Project Panel, indicating which items are being moved.
Smit Barmase created
48eacf3
Add `#[track_caller]` to test utilities that involve marked text (#32043)
Release Notes: - N/A
Michael Sloan created
030d4d2
project_panel: Holding `alt` or `shift` to copy the file should adds a green (+) icon to the mouse cursor (#32040)
Part of https://github.com/zed-industries/zed/issues/14496 Depends on new API https://github.com/zed-industries/zed/pull/32028 Holding `alt` or `shift` to copy the file should add a green (+) icon to the mouse cursor to indicate this is a copy operation. 1. Press `option` first, then drag: https://github.com/user-attachments/assets/ae58c441-f1ab-423e-be59-a8ec5cba33b0 2. Drag first, then press `option`: https://github.com/user-attachments/assets/5136329f-9396-4ab9-a799-07d69cec89e2 Release Notes: - Added copy-drag cursor when pressing Alt or Shift to copy the file in Project Panel.
Smit Barmase created
10df7b5
gpui: Add API for read and write active drag cursor style (#32028)
Prep for https://github.com/zed-industries/zed/pull/32040 Currently, there’s no way to modify the cursor style of the active drag state after dragging begins. However, there are scenarios where we might want to change the cursor style, such as pressing a modifier key while dragging. This PR introduces an API to update and read the current active drag state cursor. Release Notes: - N/A
Smit Barmase created
55120c4
Properly load environment variables from the login shell (#31799)
Fixes #11647 Fixes #13888 Fixes #18771 Fixes #19779 Fixes #22437 Fixes #23649 Fixes #24200 Fixes #27601 Zed’s current method of loading environment variables from the login shell has two issues: 1. Some shells—fish in particular—write specific escape characters to `stdout` right before they exit. When this happens, the tail end of the last environment variable printed by `/usr/bin/env` becomes corrupted. 2. If a multi-line value contains an equals sign, that line is mis-parsed as a separate name-value pair. This PR addresses those problems by: 1. Redirecting the shell command's `stdout` directly to a temporary file, eliminating any side effects caused by the shell itself. 2. Replacing `/usr/bin/env` with `sh -c 'export -p'`, which removes ambiguity when handling multi-line values. Additional changes: - Correctly set the arguments used to launch a login shell under `csh` or `tcsh`. - Deduplicate code by sharing the implementation that loads environment variables on first run with the logic that reloads them for a project. Release Notes: - N/A
Haru Kim created
8227c45
docs: Document debugger.dock setting (#32038)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
d23359e
debugger: Fix issues with running Zed-installed debugpy + hangs when downloading (#32034)
Closes #32018 Release Notes: - Fixed issues with launching Python debug adapter downloaded by Zed. You might need to clear the old install of Debugpy from `$HOME/.local/share/zed/debug_adapters/Debugpy` (Linux) or `$HOME/Library/Application Support/Zed/debug_adapters/Debugpy` (Mac).
Piotr Osiewicz created
936ad0b
Use better fallback for empty rerun action (#32031)
When invoking the task rerun action before any task had been run, it falls back to task selection modal. Adjust this fall back to use the debugger view, if available: Before:  After:  Release Notes: - N/A
Kirill Bulatov created
faa0bb5
Better log canonicalization errors (#32030)
Based on https://github.com/zed-industries/zed/issues/18673#issuecomment-2933025951 Adds an anyhow error context with the path used for canonicalization (also, explicitly mention path at the place from the comment). Release Notes: - N/A
Kirill Bulatov created
2db2271
Do not activate inactive tabs when pinning or unpinning
Closes https://github.com/zed-industries/zed/issues/32024 Release Notes: - Fixed a bug where inactive tabs would be activated when pinning or unpinning.
Joseph T. Lyons created
79b1dd7
Improve collab cleanup (#32000)
Co-authored-by: Max <max@zed.dev> Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev> Release Notes: - N/A
Conrad Irwin created
81f8e2e
Limit BufferSnapshot::surrounding_word search to 256 characters (#32016)
This is the first step to closing #16120. Part of the problem was that `surrounding_word` would search the whole line for matches with no limit. Co-authored-by: Conrad Irwin \<conrad@zed.dev\> Co-authored-by: Ben Kunkle \<ben@zed.dev\> Co-authored-by: Cole Miller \<cole@zed.dev\> Release Notes: - N/A
Anthony Eid created
b9256dd
editor: Apply `common_prefix_len` refactor suggestion (#31957)
This adds João's nice suggestion from https://github.com/zed-industries/zed/pull/31818#discussion_r2118582616. Release Notes: - N/A --------- Co-authored-by: João Marcos <marcospb19@hotmail.com>
Gilles Peiffer and João Marcos created
27d3da6
editor: Fix panic when full width crease is wrapped (#31960)
Closes #31919 Release Notes: - Fixed a panic that could sometimes occur when the agent panel was too narrow and contained context included via `@`. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner , Antonio , and Antonio Scandurra created
03357f3
Fix panic when re-editing old message with creases (#32017)
Co-authored-by: Cole Miller <m@cole-miller.net> Release Notes: - agent: Fixed a panic when re-editing old messages --------- Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Cole Miller <cole@zed.dev>
Conrad Irwin , Cole Miller , and Cole Miller created
4aabba6
Improve Zed prompts for file path selection (#32014)
Part of https://github.com/zed-industries/zed/discussions/31653 `"use_system_path_prompts": false` is needed in settings for these to appear as modals for new file save and file open. Fixed a very subpar experience of the "save new file" Zed modal, compared to a similar "open file path" Zed modal by uniting their code. Before: https://github.com/user-attachments/assets/c4082b70-6cdc-4598-a416-d491011c8ac4 After: https://github.com/user-attachments/assets/21ca672a-ae40-426c-b68f-9efee4f93c8c Also * alters both prompts to start in the current worktree directory, with the fallback to home directory. * adjusts the code to handle Windows paths better Release Notes: - Improved Zed prompts for file path selection --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Kirill Bulatov and Smit Barmase created
8c46a4f
Make completions menu stay open after after it's manually requested (#32015)
Also includes a clarity refactoring to remove `ignore_completion_provider`. Closes #15549 Release Notes: - Fixed completions menu closing on typing after being requested while `show_completions_on_input: false`.
Michael Sloan created
522abe8
Change default formatter settings for LaTeX (#28727)
Closes: https://github.com/rzukic/zed-latex/issues/77 ## Default formatter: `latexindent` Before, formatting was delegated to the language server, which just ran a `latexindent` executable. There was no benefit to running it through the language server over running it as an "external" formatter in zed. In fact this was an issue because there was no way to provide an explicit path for the executable (causing above extension issue). Having the default settings configure the formatter directly gives more control to user and removes the number of indirections making it clearer how to tweak things like the executable path, or extra CLI args, etc... ## Alternative: `prettier` Default settings have also been added to allow prettier as the formatter (by just setting `"formatter": "prettier"` in the "LaTeX" language settings). This was not possible before because an extra line needed to be added to the `prettier` crate (similarly to what was done for https://github.com/zed-industries/zed/issues/19024) to find the plugin correctly. > [!NOTE] > The `prettier-plugin-latex` node module also contained a `dist/standalone.js` but using that instead of `dist/prettier-plugin-latex.js` gave an error, and indeed the latter worked as intended (along with its questionable choices for formatting). Release Notes: - LaTeX: added default `latexindent` formatter settings without relying on `texlab`, as well as allowing `prettier` to be chosen for formatting --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Luke Naylor and Peter Tripp created
5ae8c4c
Fix word completions clobbering the text after the cursor (#32010)
Release Notes: - N/A
Michael Sloan created
d8195a8
project_panel: Highlight containing folder which would be the target of the drop operation (#31976)
Part of https://github.com/zed-industries/zed/issues/14496 This PR adds highlighting on the containing folder which would be the target of the drop operation. It only highlights those directories where actual drop is possible, i.e. same directory where drag started is not highlighted. - [x] Tests https://github.com/user-attachments/assets/46528467-e07a-4574-a8d5-beab25e70162 Release Notes: - Improved project panel to show a highlight on the containing folder which would be the target of the drop operation.
Smit Barmase created
2645591
agent: Allow to accept and reject all via the panel (#31971)
This PR introduces the "Reject All" and "Accept All" buttons in the panel's edit bar, which appears as soon as the agent starts editing a file. I'm also adding here a new method to the thread called `has_pending_edit_tool_uses`, which is a more specific way of knowing, in comparison to the `is_generating` method, whether or not the reject/accept all actions can be triggered. Previously, without this new method, you'd be waiting for the whole generation to end (e.g., the agent would be generating markdown with things like change summary) to be able to click those buttons, when the edit was already there, ready for you. It always felt like waiting for the whole thing was unnecessary when you really wanted to just wait for the _edits_ to be done, as so to avoid any potential conflicting state. <img src="https://github.com/user-attachments/assets/0927f3a6-c9ee-46ae-8f7b-97157d39a7b5" width="500"/> --- Release Notes: - agent: Added ability to reject and accept all changes from the agent panel. --------- Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal and Agus Zubiaga created
526a7c0
agent: Support `AGENT.md` and `AGENTS.md` as rules file names (#31998)
These started to be used more recently, so we should also support them. Release Notes: - agent: Added support for `AGENT.md` and `AGENTS.md` as rules file names.
Danilo Leal created
e793740
agent: Refine rules library window design (#31994)
Just polishing up a bit the Rules Library design. I think the most confusing part here was the icon that was being used to tag a rule as default; I've heard feedback more than once saying that was confusing, so I'm now switching to a rather standard star icon, which I'd assume is well-understood as a "favoriting" affordance. Release Notes: - N/A
Danilo Leal created
dea0a58
docs: Update mentions to GitHub to use correct capitalization (#31996)
That type of thing... 😅 "Github" is the incorrect formatting; "GitHub" is the correct. Release Notes: - N/A
Danilo Leal created
b7abc9d
agent: Display full terminal output without scrolling (#31922)
The terminal tool card used a fixed height and scrolling, but this meant that it was too tall for commands that only outputted a few lines, and the nested scrolling was undesirable. This PR makes the card be as too as needed to fit the entire output (no scrolling), and allows the user to collapse it to fewer lines when applicable. Making it work the same way as the edit tool card. In fact, both tools now use a shared UI component. https://github.com/user-attachments/assets/1127e21d-1d41-4a4b-a99f-7cd70fccbb56 Release Notes: - Agent: Display full terminal output - Agent: Allow collapsing terminal output
Agus Zubiaga created
01a77bb
Add sql language docs (#32003)
Closes: https://github.com/zed-industries/zed/issues/9537 Pairs with removing `prettier-plugin-sql` from the sql extension: - https://github.com/zed-extensions/sql/pull/19 Release Notes: - N/A
Peter Tripp created
de225fd
file_finder: Add option to create new file (#31567)
https://github.com/user-attachments/assets/7c8a05a1-8d59-4371-a1d6-a8cb82aa13b9 While implementing this, I noticed that currently when the search panel displays only one result, the box oscillates a bit up and down like so: https://github.com/user-attachments/assets/dd1520e2-fa0b-4307-b27a-984e69b0a644 Not sure how to fix this at the moment, maybe that could be another PR? Release Notes: - Add option to create new file in project search panel.
Daniel Zhu created
1bc052d
docs: Gemini thinking budget configuration (#32002)
Release Notes: - N/A
Oleksiy Syvokon created
29cb95a
Remove support for changing magnification of active pane (#31981)
Closes #4265 Closes #24600 This setting causes many visual defects, and introduces unnecessary (maintenance) complexity. as seen by #4265 and #24600 CC: @iamnbutler - How do you feel about this? I recommend looking at https://github.com/zed-industries/zed/pull/24150#issuecomment-2866706506 for more context Release Notes: - Removed support --------- Co-authored-by: Peter <peter@zed.dev>
Ben Kunkle and Peter created
1307b81
Allow configuring custom git hosting providers in project settings (#31929)
Closes #29229 Release Notes: - Extended the support for configuring custom git hosting providers to cover project settings in addition to global settings. --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Cole Miller and Anthony Eid created
203754d
docs: Demote rdbg support in docs (#31993)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
c9c603b
Add support for OpenRouter as a language model provider (#29496)
This pull request adds full integration with OpenRouter, allowing users
to access a wide variety of language models through a single API key.
**Implementation Details:**
* **Provider Registration:** Registers OpenRouter as a new language
model provider within the application's model registry. This includes UI
for API key authentication, token counting, streaming completions, and
tool-call handling.
* **Dedicated Crate:** Adds a new `open_router` crate to manage
interactions with the OpenRouter HTTP API, including model discovery and
streaming helpers.
* **UI & Configuration:** Extends workspace manifests, the settings
schema, icons, and default configurations to surface the OpenRouter
provider and its settings within the UI.
* **Readability:** Reformats JSON arrays within the settings files for
improved readability.
**Design Decisions & Discussion Points:**
* **Code Reuse:** I leveraged much of the existing logic from the
`openai` provider integration due to the significant similarities
between the OpenAI and OpenRouter API specifications.
* **Default Model:** I set the default model to `openrouter/auto`. This
model automatically routes user prompts to the most suitable underlying
model on OpenRouter, providing a convenient starting point.
* **Model Population Strategy:**
* <strike>I've implemented dynamic population of available models by
querying the OpenRouter API upon initialization.
* Currently, this involves three separate API calls: one for all models,
one for tool-use models, and one for models good at programming.
* The data from the tool-use API call sets a `tool_use` flag for
relevant models.
* The data from the programming models API call is used to sort the
list, prioritizing coding-focused models in the dropdown.</strike>
* <strike>**Feedback Welcome:** I acknowledge this multi-call approach
is API-intensive. I am open to feedback and alternative implementation
suggestions if the team believes this can be optimized.</strike>
* **Update: Now this has been simplified to one api call.**
* **UI/UX Considerations:**
* <strike>Authentication Method: Currently, I've implemented the
standard API key input in settings, similar to other providers like
OpenAI/Anthropic. However, OpenRouter also supports OAuth 2.0 with PKCE.
This could offer a potentially smoother, more integrated setup
experience for users (e.g., clicking a button to authorize instead of
copy-pasting a key). Should we prioritize implementing OAuth PKCE now,
or perhaps add it as an alternative option later?</strike>(PKCE is not
straight forward and complicated so skipping this for now. So that we
can add the support and work on this later.)
* <strike>To visually distinguish models better suited for programming,
I've considered adding a marker (e.g., `</>` or `🧠`) next to their
names. Thoughts on this proposal?</strike>. (This will require a changes
and discussion across model provider. This doesn't fall under the scope
of current PR).
* OpenRouter offers 300+ models. The current implementation loads all of
them. **Feedback Needed:** Should we refine this list or implement more
sophisticated filtering/categorization for better usability?
**Motivation:**
This integration directly addresses one of the most highly upvoted
feature requests/discussions within the Zed community. Adding OpenRouter
support significantly expands the range of AI models accessible to
users.
I welcome feedback from the Zed team on this implementation and the
design choices made. I am eager to refine this feature and make it
available to users.
ISSUES: https://github.com/zed-industries/zed/discussions/16576
Release Notes:
- Added support for OpenRouter as a language model provider.
---------
Signed-off-by: Umesh Yadav <umesh4257@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Umesh Yadav and Marshall Bowers created
e13b494
bedrock: Fix cross-region inference (#30659)
Closes #30535 Release Notes: - AWS Bedrock: Add support for Meta Llama 4 Scout and Maverick models. - AWS Bedrock: Fixed cross-region inference for all regions. - AWS Bedrock: Updated all models available through Cross Region inference. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya and Marshall Bowers created
c039772
language_models: Sort Ollama models by name (#31620)
Hello, This is my first contribution so apologies if I'm not following the proper process (I haven't seen anything special in https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md). Also, I have tested my changes manually, but I could not figure out an easy we to instantiate a `LanguageModelSelector` in the unit tests, so I didn't write a test. If you can provide some guidance I'd be happy to write a test. --- If the user configured the models with custom names via `display_name`, we want the ollama models to be sorted based on the name that is actually displayed. ~~The original issue is only about ollama but this change will also affect the other providers.~~ Closes #30854 Release Notes: - Ollama: Changed models to be sorted by name.
little-dude created
9c2b90f
collab: Return subscription period from `GET /billing/subscriptions` (#31987)
This PR updates the `GET /billing/subscriptions` endpoint to return the subscription period on them. Release Notes: - N/A
Marshall Bowers created
d108e5f
collab: Fix deserialization of create meter event response (#31982)
This PR fixes the deserialization of the create meter event response from the Stripe API. Release Notes: - N/A
Marshall Bowers created
2551bde
collab: Increase number of returned extensions to 1,000 (#31983)
This PR increases the number of returned extensions from the extension API to 1,000 (up from 500). We'll need a better solution at some point, but for now we can keep bumping this number. Closes https://github.com/zed-industries/zed/issues/31067. Release Notes: - N/A
Marshall Bowers created