Skip to content

feat(sdk,cli): multi-region support for drives - #307

Merged
QuiiBz merged 4 commits into
drives-betafrom
drives/regions
Aug 20, 2026
Merged

feat(sdk,cli): multi-region support for drives#307
QuiiBz merged 4 commits into
drives-betafrom
drives/regions

Conversation

@QuiiBz

@QuiiBz QuiiBz commented Aug 20, 2026

Copy link
Copy Markdown
Member

Following #301, this PR adds support for multi-region in drives

  • Set the region field when creating a new drive, or use the --region flag in the CLI
  • You can retrieve the region of a drive using the region getter on the Drive class
  • Drives can be only be mounted to sandboxes running on the same region

Also adding the missing mock for the Drive class in @vercel/sandbox-mock

@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
sandbox Ready Ready Preview, v0 Aug 20, 2026 9:38am
sandbox-cli Ready Ready Preview Aug 20, 2026 9:38am
sandbox-sdk-ai-example Ready Ready Preview Aug 20, 2026 9:38am
workflow-code-runner Ready Ready Preview Aug 20, 2026 9:38am
* The region where the drive data is stored.
*/
public get region(): string {
return this.drive.region ?? DEFAULT_SANDBOX_REGION;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Defaulting to DEFAULT_SANDBOX_REGION in case it was stored without it in a workflow step

@QuiiBz
QuiiBz merged commit c2b5d7b into drives-beta Aug 20, 2026
10 checks passed
@QuiiBz
QuiiBz deleted the drives/regions branch August 20, 2026 10:28
@github-actions github-actions Bot mentioned this pull request Aug 20, 2026
marc-vercel pushed a commit that referenced this pull request Aug 21, 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 drives-beta, this
PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`drives-beta` is currently in **pre mode** so this branch has
prereleases rather than normal releases. If you want to exit
prereleases, run `changeset pre exit` on `drives-beta`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## sandbox@4.1.0-beta.1

### Minor Changes

- Add multi-region support for drives:
([#307](#307))

- Set the `region` field when creating a new drive, or use the
`--region` flag in the CLI.
- You can retrieve the region of a drive using the `region` getter on
the `Drive` class.
- Drives can be only be mounted to sandboxes running on the same region.

- Add multi-region support:
([#301](#301))

- New `region` and `failoverRegions` options on sandbox create, fork,
and update (SDK), with matching flags on `sandbox create`, `fork`,
`run`, `sh`, and the `sandbox config region` / `sandbox config
failover-regions` commands (CLI).
- New `failoverRegions` getter on `Sandbox` and `regions` getter on
`Snapshot`.
- Regions are now shown in `sandbox ls`, `sessions list`, `snapshots
list`/`get`, `sandbox config list`, and the create/fork summary.

### Patch Changes

- `Sandbox.region` and `Sandbox.failoverRegions` no longer return
`undefined`: the getters now report the platform defaults (`iad1` and
`[]`) when the API omits the fields, so their types are `string` and
`string[]`. The new `DEFAULT_SANDBOX_REGION` export makes the default
region readable. ([#301](#301))

- Updated dependencies
[[`c2b5d7b45340b485264abb82f0cd640ed4e93293`](c2b5d7b),
[`2997ecc32a77c145289fbbd89ae2dc0214767ae3`](2997ecc),
[`2997ecc32a77c145289fbbd89ae2dc0214767ae3`](2997ecc),
[`2023195eafe3199c2372f7dad8bfaf0878267c52`](2023195)]:
  - @vercel/sandbox@3.1.0-beta.1
## @vercel/sandbox@3.1.0-beta.1

### Minor Changes

- Add multi-region support for drives:
([#307](#307))

- Set the `region` field when creating a new drive, or use the
`--region` flag in the CLI.
- You can retrieve the region of a drive using the `region` getter on
the `Drive` class.
- Drives can be only be mounted to sandboxes running on the same region.

- Add multi-region support:
([#301](#301))

- New `region` and `failoverRegions` options on sandbox create, fork,
and update (SDK), with matching flags on `sandbox create`, `fork`,
`run`, `sh`, and the `sandbox config region` / `sandbox config
failover-regions` commands (CLI).
- New `failoverRegions` getter on `Sandbox` and `regions` getter on
`Snapshot`.
- Regions are now shown in `sandbox ls`, `sessions list`, `snapshots
list`/`get`, `sandbox config list`, and the create/fork summary.

- `Sandbox.region` and `Sandbox.failoverRegions` no longer return
`undefined`: the getters now report the platform defaults (`iad1` and
`[]`) when the API omits the fields, so their types are `string` and
`string[]`. The new `DEFAULT_SANDBOX_REGION` export makes the default
region readable. ([#301](#301))

### Patch Changes

- Update `defineSandboxProxy` to limit the JWKS issuer cache size to
prevent unbounded memory usage.
([#309](#309))
## @vercel/sandbox-mock@3.1.0-beta.1

### Minor Changes

- Add multi-region support:
([#301](#301))

- New `region` and `failoverRegions` options on sandbox create, fork,
and update (SDK), with matching flags on `sandbox create`, `fork`,
`run`, `sh`, and the `sandbox config region` / `sandbox config
failover-regions` commands (CLI).
- New `failoverRegions` getter on `Sandbox` and `regions` getter on
`Snapshot`.
- Regions are now shown in `sandbox ls`, `sessions list`, `snapshots
list`/`get`, `sandbox config list`, and the create/fork summary.

- `Sandbox.region` and `Sandbox.failoverRegions` no longer return
`undefined`: the getters now report the platform defaults (`iad1` and
`[]`) when the API omits the fields, so their types are `string` and
`string[]`. The new `DEFAULT_SANDBOX_REGION` export makes the default
region readable. ([#301](#301))

### Patch Changes

- Add mock for the `Drive` class.
([#307](#307))

- Updated dependencies
[[`c2b5d7b45340b485264abb82f0cd640ed4e93293`](c2b5d7b),
[`2997ecc32a77c145289fbbd89ae2dc0214767ae3`](2997ecc),
[`2997ecc32a77c145289fbbd89ae2dc0214767ae3`](2997ecc),
[`2023195eafe3199c2372f7dad8bfaf0878267c52`](2023195)]:
  - @vercel/sandbox@3.1.0-beta.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants