Skip to content

feat(sandbox,vercel-sandbox): support orhpan snapshot deletion - #316

Merged
marc-vercel merged 1 commit into
mainfrom
delete-orphan-snapshots
Aug 27, 2026
Merged

marc-vercel merged 1 commit into
mainfrom
delete-orphan-snapshots

Conversation

@marc-vercel

Copy link
Copy Markdown
Collaborator

Support deleteOrphanSnapshots parameter.

SDK:

await sandbox.delete({ deleteOrphanSnapshots: true });

CLI:

sandbox remove <name> --delete-orphan-snapshots

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sandbox-sdk-ai-example Ready Ready Preview Aug 26, 2026 12:37pm
workflow-code-runner Ready Ready Preview Aug 26, 2026 12:37pm

Request Review

@marc-vercel
marc-vercel marked this pull request as ready for review August 26, 2026 13:09
@marc-vercel
marc-vercel merged commit 6a9d34f into main Aug 27, 2026
28 checks passed
@marc-vercel
marc-vercel deleted the delete-orphan-snapshots branch August 27, 2026 07:55
@github-actions github-actions Bot mentioned this pull request Aug 27, 2026
marc-vercel pushed a commit that referenced this pull request Aug 27, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## sandbox@4.2.0

### Minor Changes

- Add a `deleteOrphanSnapshots` option when deleting a sandbox.
([#316](#316))

Deleting a persistent sandbox left all of its snapshots alive until they
expired. `sandbox.delete({ deleteOrphanSnapshots: true })` in the SDK
and `sandbox remove <name> --delete-orphan-snapshots` in the CLI now
also delete the snapshots of that sandbox that no other sandbox uses. It
defaults to `false`, so the existing behaviour is unchanged.

### Patch Changes

- Updated dependencies
[[`6a9d34f0a2a469fda4818ae81e21c80418d095cd`](6a9d34f)]:
  - @vercel/sandbox@3.2.0
## @vercel/sandbox@3.2.0

### Minor Changes

- Add a `deleteOrphanSnapshots` option when deleting a sandbox.
([#316](#316))

Deleting a persistent sandbox left all of its snapshots alive until they
expired. `sandbox.delete({ deleteOrphanSnapshots: true })` in the SDK
and `sandbox remove <name> --delete-orphan-snapshots` in the CLI now
also delete the snapshots of that sandbox that no other sandbox uses. It
defaults to `false`, so the existing behaviour is unchanged.
## @vercel/sandbox-mock@3.2.0

### Patch Changes

- Add a `deleteOrphanSnapshots` option when deleting a sandbox.
([#316](#316))

Deleting a persistent sandbox left all of its snapshots alive until they
expired. `sandbox.delete({ deleteOrphanSnapshots: true })` in the SDK
and `sandbox remove <name> --delete-orphan-snapshots` in the CLI now
also delete the snapshots of that sandbox that no other sandbox uses. It
defaults to `false`, so the existing behaviour is unchanged.

- Updated dependencies
[[`6a9d34f0a2a469fda4818ae81e21c80418d095cd`](6a9d34f)]:
  - @vercel/sandbox@3.2.0
## sandbox-image-al-base@1.0.0

### Major Changes

- Open source Amazon Linux legacy runtime images
([#313](#313))
## sandbox-image-al-node@1.0.0

### Major Changes

- Open source Amazon Linux legacy runtime images
([#313](#313))
## sandbox-image-al-python@1.0.0

### Major Changes

- Open source Amazon Linux legacy runtime images
([#313](#313))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
scotttrinh pushed a commit to vercel/vercel-py that referenced this pull request Sep 18, 2026
Adds `delete_orphan_snapshots` to async and sync Sandbox `destroy()`,
forwards it as `deleteOrphanSnapshots=true`, and makes context-manager
cleanup opt in automatically when it destroys a created sandbox; covers
default and opt-in query behavior, sync and async cleanup requests, plus
a credential-gated live context-manager test. Validated with `uv run poe
qa vercel-sandbox` and `uv run poe check-news-fragments`; the live test
was not run locally because Sandbox credentials were unavailable.
TypeScript parity:
[vercel/sandbox#316](vercel/sandbox#316).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants