This PR updates the `GET /billing/preferences` endpoint to return the
user's `trial_started_at` timestamp alongside the billing preferences.
Release Notes:
- N/A
This PR removes the code related to syncing token-based billing events
to Stripe.
We don't need this anymore with the new billing.
Release Notes:
- N/A
This PR improves the `GET /billing/usage` endpoint.
We now return the usage with the default plan limits when there is no
usage record.
Release Notes:
- N/A
This PR updates the billing migration endpoint to work for users who do
not have an active subscription.
This will allow us to use the endpoint to migrate all users.
Release Notes:
- N/A
This PR adds a new `POST /billing/subscriptions/migrate` endpoint for
migrating users to the new billing system.
When called with a GitHub user ID this endpoint will:
1. Find the active billing subscription for this user (if they have one)
2. Cancel the subscription and send a final invoice
3. Ensure the user is in the `new-billing` and `assistant2` feature
flags
Release Notes:
- N/A
This PR renames the symbols for the existing Stripe synchronization.
This will make things clearer once the new synchronization job for the
new billing is added.
Release Notes:
- N/A
This PR makes it so we check for an existing Stripe customer by email
address before attempting to create a new one.
This should avoid the case where we end up creating multiple Stripe
customers for the same user.
Release Notes:
- N/A
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>
The old one wasn't linking, and
https://github.com/zed-industries/zed/pull/29081 has a bunch of merge
conflicts. Wanted to start simple/small.
## Todo
* [x] Remove low-signal examples
* [x] Make the eval run on a cron, on main, and on any PR with the
`run-eval` label
* [x] Noise in logs about failure to write settings
```
[2025-04-21T20:45:04Z ERROR settings] Failed to write settings to file
"/home/runner/.config/zed/settings.json"
Caused by:
No such file or directory (os error 2) at path
"/home/runner/.config/zed/.tmpLewFEs"
```
* [x] `Agentic loop stalled`
(https://github.com/zed-industries/zed/actions/runs/14581044243/job/40897622894)
* [x] Make sure that events are recorded in snowflake
* [ ] Change judge criteria to be more explicit about meanings of scores
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Thomas Mickley-Doyle <tmickleydoyle@gmail.com>
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 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 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
It looks like:
- https://github.com/zed-industries/zed/pull/26780
accidentally added a new event type, `AssistantThreadFeedback`, using
the old event system, that it didn't end up actually using, as the code
actually relies on using the newer (preferred) `telemetry::event!()`.
Release Notes:
- N/A
This PR adds the ability to filter extension results from the extension
API by the features that they provide.
For instance, to filter down just to extensions that provide icon
themes:
```
https://api.zed.dev/extensions?provides=icon-themes
```
Release Notes:
- N/A
This PR adds new columns to the `extension_versions` table to record
which features an extension provides.
These `provides_*` columns are populated from the `provides` field on
the extension manifest.
We'll be able to leverage this data in the future for showing what an
extension provides in the extensions UI, as well as allowing to filter
by extensions that provide a certain feature.
Release Notes:
- N/A
This PR updates the check that prevents subscribing with overdue
subscriptions to use the `billing_customers.has_overdue_invoices` field
instead.
This will allow us to set the value of `has_overdue_invoices` to `false`
when the invoices have been paid.
Release Notes:
- N/A
This PR adds a new `has_overdue_invoices` field to the
`billing_customers` table.
This will be used to statefully track whether a customer has overdue
invoices, and also to reset it when the invoices are paid.
We will set this field to `true` when a subscription is canceled with
the reason `payment_failed`.
Release Notes:
- N/A
Note that this does *not* involve any breaking code changes.
cc @0xtimsb - I didn't change any settings or anything here. That can
happen separately!
Release Notes:
- N/A