Private preview
Deprecate and archive extensions Private preview
Control new activations and what happens to extensions that app users already activated.
Deprecate when you need to make an extension version unavailable for new activations while allowing extensions already activated on that version to continue running. Archive when you need to move those activated extensions to another version or stop them from running.
Understand extension lifecycle changes
The lifecycle status determines whether app users can activate an extension version and what happens to activated extensions:
| Lifecycle choice | New activations | Activated extensions | App user action |
|---|---|---|---|
| Deprecation only | Blocked after deprecation | Continue running on the deprecated version | Optionally activate a supported version |
| Archive with a fallback version | Blocked after deprecation | Stripe moves them to the fallback version at archival | None, unless the app user prefers another version |
| Archive without a fallback version | Blocked after deprecation | Stop running at archival | Activate a supported version or remove the extension |
| Deprecate the entire extension | Blocked for every version after deprecation | Continue running until optional archival | Depends on whether archival is scheduled |
An extension moves through these lifecycle statuses:
- Deprecation scheduled : The extension remains available for new activations and activated extensions continue running before the selected hour.
- Deprecated : The extension becomes unavailable for new activations. Activated extensions continue running on the deprecated version. Stripe notifies app users who activated an affected version when deprecation takes effect.
- Archived with a fallback version : Stripe moves activated extensions to the selected fallback version. Stripe sends app users reminders before archival.
- Archived without a fallback version: Activated extensions stop running and use the extension point’s fallback behavior. Stripe sends app users reminders before archival.
Stripe applies lifecycle changes during scheduled processing for the hour you select in the Dashboard. The change might not take effect immediately at the start of that hour.
Choose what to manage
Choose the scope that matches the lifecycle change you need.
Manage one extension version
Manage one extension version when you need to replace or stop a specific version without changing the availability of other versions. You can deprecate the version by itself or schedule archival with or without a fallback version.
Manage the entire extension
Manage the entire extension when you need to apply deprecation to every version. You can also archive all versions. At archival, activated extensions stop running and use each extension point’s fallback behavior. Deprecating the entire extension prevents new activations for every version and prevents you from uploading versions for that extension until you reactivate it.
Prepare a fallback version
Before you archive an extension version and move activated extensions, prepare a compatible fallback version. The fallback version must:
- Be active.
- Belong to the same extension.
- Use the same semantic major version as the version you’re archiving.
- Use the same configuration schema as the version you’re archiving.
- Be available in every distribution channel where the version you’re archiving is available.
If no compatible fallback version is available, you can archive without one. At archival, activated extensions stop running and use the extension point’s fallback behavior.
Schedule archival at least 60 days after deprecation. This period gives app users time to respond to the deprecation notification and archival reminders.
Deprecate an extension version
To manage one extension version in the Dashboard:
- Go to Apps , and select your created app.
- Open Details .
- In the Extensions row for the extension, open the overflow menu ( ) and select Manage versions .
- Select the version you want to manage.
- Set the Deprecation date and Deprecation time . The Dashboard schedules changes by the hour.
- To archive the version later, enable Also archive this version , set the Archive date and Archive time , and select a Fallback version if a compatible version is available. The archive time must be at least 60 days after the deprecation time.
- Click Review . The review displays the number of app users with the affected version activated.
- Click Confirm . Stripe handles the deprecation notification and archival reminders.
To deprecate the version without affecting activated extensions, don’t enable Also archive this version.
Deprecate an entire extension
Caution
Deprecating an entire extension applies to every version and prevents new version uploads for that extension. To resume uploads, reactivate the extension itself. Reactivating the extension doesn’t automatically restore versions that you deprecated separately.
To manage an entire extension in the Dashboard:
- Go to Apps , and select your created app.
- Open Details .
- In the Extensions row for the extension, open the overflow menu ( ) and select Manage extension .
- Set the Deprecation date and Deprecation time . The Dashboard schedules changes by the hour.
- To archive every version later, enable Also archive all versions and set the Archive date and Archive time . The archive time must be at least 60 days after the deprecation time.
- Click Review . The review displays the number of app users with an affected version activated.
- Click Schedule deprecation . Stripe handles the deprecation notification and archival reminders.
Change or stop a scheduled deprecation
Before deprecation takes effect, return to Manage versions or Manage extension. Click Edit to change the schedule, or click Stop deprecation to cancel it. Stopping a deprecation also removes its planned archival.
Reactivate or unarchive an extension
For one extension version, return to Manage versions and select Reactivate version. After deprecation, reactivation makes the version available for app users to activate again and cancels a planned archival. After archival, reactivation restores the version’s lifecycle availability, but it doesn’t reverse every effect that occurred while the version was archived.
For an entire extension, return to Manage extension and select Reactivate extension. Select Keep extension versions archived to make the extension available for new version uploads while leaving existing versions deprecated or archived. Turn off this choice to return versions affected by the whole-extension deprecation to the states they had before that deprecation. Versions that you deprecated separately remain deprecated.
If the entire extension is archived, you can also select Unarchive. Unarchiving returns the extension to deprecated status, so it remains unavailable for new activations and version uploads until you reactivate it.
