ReleaseCloudflare (Workers AI)Cloudflare (Workers AI)published May 5, 2026seen Jun 26

cloudflare/sandbox-sdk @cloudflare/sandbox@0.9.3

cloudflare/sandbox-sdk

Open original ↗

Captured source

source ↗
published May 5, 2026seen Jun 26captured 4whttp 200method plain

@cloudflare/sandbox@0.9.3

Repository: cloudflare/sandbox-sdk

Tag: @cloudflare/sandbox@0.9.3

Published: 2026-05-05T17:15:40Z

Prerelease: no

Release notes:

Patch Changes

  • #666 `e8f57c8` Thanks @scuffi! - Speed up backup and restore for larger archives with faster default compression, multipart R2 uploads, and parallel range downloads that write directly into the restored archive.
  • #647 `68c4f9b` Thanks @aron-cf! - Introduce new rpc transport to consolidate http and websocket transports.

The intention is to replace http and websocket transports with a single implementation.

  • No sub-request limitations (currently affects the http transport).
  • No limit on write file size (currently affects both http and websocket transports).

To enable the transport set SANDBOX_TRANSPORT to rpc in your wrangler config.

A ReadableStream instance can now be passed to sandbox.writeFile() when using the rpc transport to avoid the 32mb file limit.

{
fetch(req, env) {
const sandbox = getSandbox(env.Sandbox, "my-sandbox");

// A ReadableStream can be passed as the content to writeFile().
sandbox.writeFile("/workspace/archive.tar.gz", req.body);

return new Response("OK");
}
}
  • #653 `e18ba4d` Thanks @ask-bonk! - Surface s3fs mount failures from mountBucket(). Mount errors (bad credentials, wrong bucket name, network failures) now throw S3FSMountError with the underlying s3fs log output, instead of silently returning success and leaving no filesystem attached.
import { S3FSMountError } from '@cloudflare/sandbox';

try {
await sandbox.mountBucket('my-bucket', '/mnt/data', {
endpoint,
credentials
});
} catch (err) {
if (err instanceof S3FSMountError) {
// err.message includes the s3fs log tail, e.g. "403 AccessDenied"
}
}