This PR adds support for transferring any existing usage from a trial
subscription to a Zed Pro subscription when the user upgrades.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
This PR attaches the thread ID and the new prompt ID to telemetry events
for completions in the Agent panel.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
This PR changes Renovate's behavior to require dependency dashboard
approval for updates.
> Maybe you find Renovate too noisy, and want to opt-out of getting
automatic updates whenever they're ready.
>
> In this case, you can tell Renovate to wait for your approval before
making any pull requests. This means that you have full control over
when you get updates.
>
> But vulnerability remediation PRs will still get created immediately
without requiring approval.
>
> To require manual approval for *all* updates, add the
`:dependencyDashboardApproval` presets to the `extends` array in your
Renovate configuration file:
>
> —
https://docs.renovatebot.com/key-concepts/dashboard/#require-approval-for-all-updates
Release Notes:
- N/A
This PR adjusts the upgrade from a Zed Pro trial to Zed Pro to do so by
ending the trial period early.
This will transition the subscription to `active` and bill the user
without needing to send them through a Stripe Checkout flow.
Release Notes:
- N/A
This PR adds an indicator for edit predictions usage in the edit
predictions menu:
| Free | Zed Pro / Trial |
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
| <img width="235" alt="Screenshot 2025-04-18 at 9 53 47 AM"
src="https://github.com/user-attachments/assets/6da001d2-ef9c-49df-86be-03d4c615d45c"
/> | <img width="237" alt="Screenshot 2025-04-18 at 9 54 33 AM"
src="https://github.com/user-attachments/assets/31f5df04-a8e1-43ec-8af7-ebe501516abe"
/> |
Only visible to users on the new billing.
Release Notes:
- N/A
This PR makes it so the thread summarization also reports the model
request usage, to prevent the case where the count would appear to jump
by 2 the next time a message was sent after summarization.
Release Notes:
- N/A
This PR adds a banner showing request usage in the Agent panel:
<img width="640" alt="Screenshot 2025-04-17 at 5 51 46 PM"
src="https://github.com/user-attachments/assets/e0eb036c-57c1-441c-bbab-7dab1c6e56d9"
/>
Only visible to users on the new billing.
Note to Joseph: Doesn't need to be cherry-picked to Preview.
Release Notes:
- N/A
---------
Co-authored-by: Nate <nate@zed.dev>
This PR updates the Agent to extract the usage information from the
response headers, if they are present.
For now we just log the information, but we'll be using this soon to
populate some UI.
Release Notes:
- N/A
This PR updates the Zeta provider to extract the usage information from
the response headers, if they are present.
For now we just log the information, but we'll need to figure out where
this needs to get threaded through to in order to display it in the UI.
Release Notes:
- N/A
This PR makes it so we use more types and constants from the
`zed_llm_client` crate to avoid duplicating information.
Also updates the current usage endpoint to use limits derived from the
`Plan`.
Release Notes:
- N/A
This PR adds a `plan` column to the `subscription_usages` table.
These tables don't have any records in them yet, so it's fine to make
the column required without a default.
Release Notes:
- N/A
This PR adds an error message when the model requests limit has been
hit.
Release Notes:
- N/A
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
This PR adds a new `subscription_usages` table to the LLM database.
We'll use this table to track usage by subscribers.
Records will be looked up using `(user_id, period_start_at,
period_end_at)` to find the record for a user's current subscription
period.
Release Notes:
- N/A
This PR updates the `billing_subscriptions` table with some new columns
- `kind` - The kind of the description (used to denote Zed Pro vs
existing)
- `stripe_current_period_start` - The Stripe timestamp of when the
subscriptions current period starts
- `stripe_current_period_end` - The Stripe timestamp of when the
subscriptions current period ends
Release Notes:
- N/A
Co-authored-by: Mikayla <mikayla@zed.dev>
This PR adds a new `ManageSubscriptionIntent` that allows uses to launch
a general-purpose billing portal session to manage their subscription.
Release Notes:
- N/A
This PR updates the snake_case check for grammar names to use `heck`
instead of `convert_case`.
`heck` correctly handles values like `d2`.
Fixes https://github.com/zed-industries/zed/issues/28583.
Release Notes:
- Updated snake_case check for grammar names in extensions.
This PR cleans up the thread auto-capturing added in #28271.
- Removed usage of `unsafe`
- Fixed feature flag check
- We were incorrectly not respecting the feature flag in release builds
- Made sure the telemetry event was being run on the background executor
Release Notes:
- N/A
This PR removes the retained `MarkdownStyle` on the `Markdown` entity in
favor of using the `MarkdownElement` directly and passing the
`MarkdownStyle` to it.
This makes it so switching themes will be reflected live in the code
block styles.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
This PR reverts #27897, as it is causing a number of Helix-related tests
to fail:
```
Summary [ 84.324s] 1796 tests run: 1793 passed, 3 failed, 0 skipped
FAIL [ 0.434s] vim helix::test::test_delete
FAIL [ 0.562s] vim helix::test::test_delete_character_end_of_buffer
FAIL [ 0.537s] vim helix::test::test_delete_character_end_of_line
```
This reverts commit 9949512b64.
Release Notes:
- Community: Reverted https://github.com/zed-industries/zed/pull/27897.
This PR fixes the `assistant: open prompt library` action in the command
palette not opening the prompt library when the Assistant Panel did not
have focus.
Fixes https://github.com/zed-industries/zed/issues/28058.
Release Notes:
- assistant: Fixed `assistant: open prompt library` not opening the
prompt library when the Assistant Panel was not focused.
This PR fixes an issue where opening the configuration view from the
model selector in the Agent (or inline assist) was not working properly.
Fixes https://github.com/zed-industries/zed/issues/28078.
Release Notes:
- Agent Beta: Fixed an issue where selecting "Configure" in the model
selector would not bring up the configuration view.
This PR renames the `AssistantEvent` type to `AssistantEventData`, as it
no longer represents the event itself, just the data needed to construct
it.
Pulling out of https://github.com/zed-industries/zed/pull/25179.
Release Notes:
- N/A
This PR fixes a panic that could occur when opening the Agent diff from
the workspace (with the agent panel closed).
Release Notes:
- agent: Fixed a panic when running the `agent: open agent diff` command
with the Agent Panel closed.
This PR removes replaces the `.unwrap`s when accessing the debug panel
with `if let Some`s.
These `.unwrap`s are not locally verifiable, and thus are not safe.
Release Notes:
- N/A
This PR updates the `user rate limit` and `user usage` log lines to
include some more information that will be useful for graphing in Axiom.
Release Notes:
- N/A
This PR updates the usage measures used for rate limiting when using
Claude 3.7 Sonnet.
Instead of using the combined `tokens_per_minute` measure we now rate
limit individually on `input_tokens_per_minute` (which exclude cache
reads) and `output_tokens_per_minute`.
Release Notes:
- N/A
This PR adds tracking for input and output tokens per minute separately
from the current aggregate tokens per minute.
We are not yet rate-limiting based on these measures.
Release Notes:
- N/A
This PR adds new granular tokens per minute columns to the `models`
table in preparation for more fine-grained rate limits.
The following columns have been added:
- `max_input_tokens_per_minute`
- `max_output_tokens_per_minute`
These mirror the "Maximum input tokens per minute (ITPM)" and "Maximum
output tokens per minute (OTPM)" [rate limits from
Anthropic](https://docs.anthropic.com/en/api/rate-limits#rate-limits).
Release Notes:
- N/A
This PR disables `parallel_tool_calls` for the models that support it,
as the Agent currently expects at most one tool use per turn.
It was a bit of trial and error to figure this out. OpenAI's API
annoyingly will return an error if passing `parallel_tool_calls` to a
model that doesn't support it.
Release Notes:
- N/A
This PR adds the `Cargo.toml` for the `workspace-hack` crate to the
ignore list for Renovate, as it is opening a number of PRs against it
that will interfere with it.
Release Notes:
- N/A
This PR adds the ability to edit previous user messages in the thread.
Release Notes:
- Agent: Added the ability to edit previous user messages
(Preview-only).
This PR removes the `use_any_tool` method from the `LanguageModel`
trait.
It was not being used anywhere, and doesn't really fit in our new tool
use story.
Release Notes:
- N/A
This PR removes an unneeded `else if` branch that was the same as the
previous branch in the conditional.
Doesn't seem necessary to run this twice.
Release Notes:
- N/A
This PR makes it so if we receive a tool use from the model without any
corresponding text, we'll insert some placeholder text to keep the
conversation in a well-structured format.
This aims to fix an error that Antonio was seeing:

Release Notes:
- N/A
This PR updates the tool names in the default profiles, as they were not
updated after the tool names were changed to snake_case in #27903.
Release Notes:
- N/A
This PR renames the `assistant2` actions to `agent`.
Note that any `assistant` actions have been left as-is for now so that
there aren't any changes to users not in the feature flag.
Release Notes:
- N/A
This PR adds some affordances for when the currently-selected model does
not support tools.
We disable the profile selector and put it into a "No Tools" state:
<img width="1394" alt="Screenshot 2025-04-01 at 3 58 00 PM"
src="https://github.com/user-attachments/assets/de6ecb0f-7657-4e16-9d5d-7bbfbc2b0a5c"
/>
We will also only attach tools to the request to the model if the model
supports it.
Release Notes:
- N/A
This PR updates the Agent Panel tooltip in the status to use "Agent
Panel" instead of "Assistant Panel".
Also changes the name we use in workspace serialization.
Release Notes:
- N/A
This PR makes it so we include the `default_profile` and `profiles`
settings in the JSON schema.
This provides completions when editing the `settings.json`.
Release Notes:
- N/A
This PR adds a new `enable_all_context_servers` field to agent profiles
to allow them to enable all context servers without having to opt into
them individually.
The "Write" profile will now have all context servers enabled out of the
box.
Release Notes:
- N/A
This PR disables the "Suggest Edits" feature when in the `assistant2`
feature flag.
This functionality has been superseded by the new Agent Panel.
We can remove the feature outright once the Agent Panel is generally
available.
Release Notes:
- N/A
This PR switches us back to the upstream `cargo_metadata`.
We had switched to a fork in #27126, but this shouldn't be necessary
after #27117.
Release Notes:
- N/A
This PR switches collab over to start minting access tokens using the
new OAEP-based encryption format.
This is a follow-up to #15058 where we added support for this new
encryption format.
Clients that are newer than 8 months ago should be able to decrypt the
new access tokens. It is only clients older than 8 months ago that will
no longer be supported.
Release Notes:
- N/A
This PR removes an unneeded anonymous lifetime from the `cx` parameter
to `Render::render`.
This makes it so the anonymous lifetime doesn't show up when
implementing the `Render` trait via a code action:
#### Before
```rs
struct Foo;
impl Render for Foo {
fn render(&mut self, window: &mut Window, cx: &mut Context<'_, Self>) -> impl IntoElement {
todo!()
}
}
```
#### After
```rs
struct Foo;
impl Render for Foo {
fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
todo!()
}
}
```
Release Notes:
- N/A
This PR removes the `ZedAssistant2` icon.
I went to use it as a placeholder icon, but noticed that the icon wasn't
loaded properly due to a name mismatch.
However, since we aren't using it anywhere I'm opting to remove it.
Release Notes:
- N/A
This PR fixes an issue where we were looking for context server project
settings in _all_ worktrees, not just visible ones.
This meant that if you had a single file worktree open (e.g.,
`settings.json`) this could impact whether context servers defined in
project settings would load.
Release Notes:
- Fixed an issue where context servers defined in project settings would
not be respected in some scenarios.
Co-authored-by: Wilhelm Klopp <wil.klopp@gmail.com>
This PR removes the `predict-edits-non-eager-mode` feature flag.
The feature is shipped, and we aren't referencing the flag anywhere
anymore.
Release Notes:
- N/A