<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloudflare changelogs | Sandbox SDK</title><description>Cloudflare changelogs for Sandbox SDK</description><link>https://developers.stormtrust.net/changelog/</link><item><title>Sandbox SDK - Sandbox SDK 1.0 preview on @next</title><link>https://developers.stormtrust.net/changelog/post/2026-08-07-sandbox-sdk-1-0-preview/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-08-07-sandbox-sdk-1-0-preview/</guid><description>
&lt;p&gt;&lt;strong&gt;Sandbox SDK 1.0&lt;/strong&gt; is available to preview under the npm &lt;code&gt;@next&lt;/code&gt; tag. For existing applications, the current stable package remains published on the 0.12.x line.&lt;/p&gt;
&lt;p&gt;Sandbox SDK first shipped to provide a rich library for running untrusted and agent-driven work on &lt;a href=&quot;https://developers.stormtrust.net/containers/&quot;&gt;Cloudflare Containers&lt;/a&gt;. Since then, both Sandbox and Containers have matured. This preview is a thinner SDK built on a richer Cloudflare Containers foundation.&lt;/p&gt;
&lt;script&gt;
	if (!customElements.get(&quot;nb-pm-restore&quot;)) {
		customElements.define(
			&quot;nb-pm-restore&quot;,
			class extends HTMLElement {
				connectedCallback() {
					const card = this.closest(&quot;[data-nb-pm]&quot;);
					if (!card) return;
					let saved;
					try {
						saved = sessionStorage.getItem(&quot;ui-pm-tab&quot;);
					} catch {
						return;
					}
					if (!saved) return;
					const tabs = card.querySelectorAll(&quot;[data-nb-pm-tab]&quot;);
					let idx = -1;
					tabs.forEach(function (t, i) {
						if (t.textContent.trim() === saved) idx = i;
					});
					if (idx &lt; 1) return;
					tabs.forEach(function (t, i) {
						t.setAttribute(&quot;aria-selected&quot;, String(i === idx));
					});
					card.querySelectorAll(&quot;[data-nb-pm-panel]&quot;).forEach(function (p, i) {
						p.hidden = i !== idx;
					});
				}
			},
		);
	}
&lt;/script&gt;&lt;div data-nb-pm class=&quot;w-full&quot;&gt;&lt;div class=&quot;flex w-full flex-col overflow-hidden rounded-lg text-sm ring ring-border bg-card&quot;&gt;&lt;div class=&quot;flex items-center gap-2 px-3 py-2 text-[0.8125rem] font-medium leading-5 text-muted-foreground bg-[var(--nb-surface-sunken)]&quot; role=&quot;tablist&quot; aria-label=&quot;Package manager&quot;&gt;&lt;button role=&quot;tab&quot; type=&quot;button&quot; aria-selected=&quot;true&quot; aria-controls=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-npm&quot; id=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-npm&quot; data-nb-pm-tab class=&quot;text-muted-foreground hover:bg-accent hover:text-foreground aria-selected:bg-selected aria-selected:text-foreground focus-visible:outline-ring m-0 cursor-pointer rounded-md border-0 bg-transparent px-2 py-0.5 text-xs leading-5 font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2&quot;&gt;npm&lt;/button&gt;&lt;button role=&quot;tab&quot; type=&quot;button&quot; aria-selected=&quot;false&quot; aria-controls=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-yarn&quot; id=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-yarn&quot; data-nb-pm-tab class=&quot;text-muted-foreground hover:bg-accent hover:text-foreground aria-selected:bg-selected aria-selected:text-foreground focus-visible:outline-ring m-0 cursor-pointer rounded-md border-0 bg-transparent px-2 py-0.5 text-xs leading-5 font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2&quot;&gt;yarn&lt;/button&gt;&lt;button role=&quot;tab&quot; type=&quot;button&quot; aria-selected=&quot;false&quot; aria-controls=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-pnpm&quot; id=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-pnpm&quot; data-nb-pm-tab class=&quot;text-muted-foreground hover:bg-accent hover:text-foreground aria-selected:bg-selected aria-selected:text-foreground focus-visible:outline-ring m-0 cursor-pointer rounded-md border-0 bg-transparent px-2 py-0.5 text-xs leading-5 font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2&quot;&gt;pnpm&lt;/button&gt;&lt;button role=&quot;tab&quot; type=&quot;button&quot; aria-selected=&quot;false&quot; aria-controls=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-bun&quot; id=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-bun&quot; data-nb-pm-tab class=&quot;text-muted-foreground hover:bg-accent hover:text-foreground aria-selected:bg-selected aria-selected:text-foreground focus-visible:outline-ring m-0 cursor-pointer rounded-md border-0 bg-transparent px-2 py-0.5 text-xs leading-5 font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2&quot;&gt;bun&lt;/button&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; id=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-npm&quot; aria-labelledby=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-npm&quot; data-nb-pm-panel class=&quot;bg-card ring-border relative overflow-hidden rounded-lg text-inherit ring&quot;&gt;&lt;div class=&quot;flex items-stretch&quot;&gt;&lt;pre class=&quot;text-foreground my-0 min-w-0 grow overflow-x-auto border-0 bg-transparent px-4 py-3 font-mono text-sm leading-relaxed whitespace-pre&quot;&gt;&lt;code data-nb-pm-code&gt;&lt;span class=&quot;text-success&quot;&gt;npm&lt;/span&gt;&lt;span class=&quot;text-warning&quot;&gt; i @cloudflare/sandbox@next&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;button type=&quot;button&quot; data-nb-pm-copy data-nb-command=&quot;npm i @cloudflare/sandbox@next&quot; aria-label=&quot;Copy to clipboard&quot; class=&quot;border-border text-muted-foreground hover:text-foreground focus-visible:outline-ring m-0 flex shrink-0 cursor-pointer items-center justify-center border-0 border-l border-solid bg-transparent px-3 transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2&quot;&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;h-[18px] w-[18px]&quot; data-icon=&quot;ph:copy&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z&quot;/&gt;&lt;/svg&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;hidden h-[18px] w-[18px]&quot; data-icon=&quot;ph:check&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32&quot;/&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; id=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-yarn&quot; aria-labelledby=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-yarn&quot; hidden data-nb-pm-panel class=&quot;bg-card ring-border relative overflow-hidden rounded-lg text-inherit ring&quot;&gt;&lt;div class=&quot;flex items-stretch&quot;&gt;&lt;pre class=&quot;text-foreground my-0 min-w-0 grow overflow-x-auto border-0 bg-transparent px-4 py-3 font-mono text-sm leading-relaxed whitespace-pre&quot;&gt;&lt;code data-nb-pm-code&gt;&lt;span class=&quot;text-success&quot;&gt;yarn&lt;/span&gt;&lt;span class=&quot;text-warning&quot;&gt; add @cloudflare/sandbox@next&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;button type=&quot;button&quot; data-nb-pm-copy data-nb-command=&quot;yarn add @cloudflare/sandbox@next&quot; aria-label=&quot;Copy to clipboard&quot; class=&quot;border-border text-muted-foreground hover:text-foreground focus-visible:outline-ring m-0 flex shrink-0 cursor-pointer items-center justify-center border-0 border-l border-solid bg-transparent px-3 transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2&quot;&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;h-[18px] w-[18px]&quot; data-icon=&quot;ph:copy&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z&quot;/&gt;&lt;/svg&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;hidden h-[18px] w-[18px]&quot; data-icon=&quot;ph:check&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32&quot;/&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; id=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-pnpm&quot; aria-labelledby=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-pnpm&quot; hidden data-nb-pm-panel class=&quot;bg-card ring-border relative overflow-hidden rounded-lg text-inherit ring&quot;&gt;&lt;div class=&quot;flex items-stretch&quot;&gt;&lt;pre class=&quot;text-foreground my-0 min-w-0 grow overflow-x-auto border-0 bg-transparent px-4 py-3 font-mono text-sm leading-relaxed whitespace-pre&quot;&gt;&lt;code data-nb-pm-code&gt;&lt;span class=&quot;text-success&quot;&gt;pnpm&lt;/span&gt;&lt;span class=&quot;text-warning&quot;&gt; add @cloudflare/sandbox@next&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;button type=&quot;button&quot; data-nb-pm-copy data-nb-command=&quot;pnpm add @cloudflare/sandbox@next&quot; aria-label=&quot;Copy to clipboard&quot; class=&quot;border-border text-muted-foreground hover:text-foreground focus-visible:outline-ring m-0 flex shrink-0 cursor-pointer items-center justify-center border-0 border-l border-solid bg-transparent px-3 transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2&quot;&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;h-[18px] w-[18px]&quot; data-icon=&quot;ph:copy&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z&quot;/&gt;&lt;/svg&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;hidden h-[18px] w-[18px]&quot; data-icon=&quot;ph:check&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32&quot;/&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; id=&quot;pm-panel-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-bun&quot; aria-labelledby=&quot;pm-tab-pm-3346ff48-ea56-4fbe-8200-202e8d6da4c7-bun&quot; hidden data-nb-pm-panel class=&quot;bg-card ring-border relative overflow-hidden rounded-lg text-inherit ring&quot;&gt;&lt;div class=&quot;flex items-stretch&quot;&gt;&lt;pre class=&quot;text-foreground my-0 min-w-0 grow overflow-x-auto border-0 bg-transparent px-4 py-3 font-mono text-sm leading-relaxed whitespace-pre&quot;&gt;&lt;code data-nb-pm-code&gt;&lt;span class=&quot;text-success&quot;&gt;bun&lt;/span&gt;&lt;span class=&quot;text-warning&quot;&gt; add @cloudflare/sandbox@next&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;button type=&quot;button&quot; data-nb-pm-copy data-nb-command=&quot;bun add @cloudflare/sandbox@next&quot; aria-label=&quot;Copy to clipboard&quot; class=&quot;border-border text-muted-foreground hover:text-foreground focus-visible:outline-ring m-0 flex shrink-0 cursor-pointer items-center justify-center border-0 border-l border-solid bg-transparent px-3 transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2&quot;&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;h-[18px] w-[18px]&quot; data-icon=&quot;ph:copy&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z&quot;/&gt;&lt;/svg&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;hidden h-[18px] w-[18px]&quot; data-icon=&quot;ph:check&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;m229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69L218.34 66.34a8 8 0 0 1 11.32 11.32&quot;/&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;nb-pm-restore style=&quot;display:contents&quot;&gt;&lt;/nb-pm-restore&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;module&quot; src=&quot;https://developers.stormtrust.net/home/runner/work/infrastructure/infrastructure/org/apps/developers/src/components/ui/package-managers/PackageManagers.astro?astro&amp;type=script&amp;index=0&amp;lang.ts&quot;&gt;&lt;/script&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;what-this-preview-is&quot;&gt;What this preview is&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#what-this-preview-is&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A single execution interface&lt;/strong&gt; — &lt;code&gt;sandbox.exec()&lt;/code&gt; takes an argument list, returns when the process &lt;strong&gt;starts&lt;/strong&gt;, and gives you a handle for output, logs, waits, and signals. Both short commands and long-running services use the same API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removed session execution&lt;/strong&gt; — the SDK no longer maintains shell state between executions. Each launch is independent. Pass &lt;code&gt;cwd&lt;/code&gt; and &lt;code&gt;env&lt;/code&gt; when you need them, or put multi-step shell syntax in one explicit shell command.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RPC as the only transport&lt;/strong&gt; — the SDK talks to the container exclusively over RPC. Remove &lt;code&gt;SANDBOX_TRANSPORT&lt;/code&gt;, &lt;code&gt;transport&lt;/code&gt; on &lt;code&gt;getSandbox()&lt;/code&gt;, and &lt;code&gt;setTransport()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved PTY and terminal interface&lt;/strong&gt; — interactive PTYs use &lt;code&gt;createTerminal&lt;/code&gt; / &lt;code&gt;connect&lt;/code&gt;, not the older session-shaped helpers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code interpreter as an extension&lt;/strong&gt; — configure the code interpreter on your &lt;code&gt;Sandbox&lt;/code&gt; subclass so you only ship what you need.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Start new projects on &lt;code&gt;@next&lt;/code&gt;. Migrate existing apps when you can so you are ready when 1.0 becomes stable. Deploy the Worker package and container image from the &lt;strong&gt;same&lt;/strong&gt; &lt;code&gt;@next&lt;/code&gt; line.&lt;/p&gt;
&lt;p&gt;Coding agents: install &lt;a href=&quot;https://github.com/cloudflare/skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare Skills&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt; (&lt;a href=&quot;https://developers.stormtrust.net/agent-setup/&quot;&gt;Agent setup&lt;/a&gt;). Use &lt;strong&gt;&lt;code&gt;sandbox-next&lt;/code&gt;&lt;/strong&gt; for &lt;code&gt;@next&lt;/code&gt; (recommended for new projects), &lt;strong&gt;&lt;code&gt;sandbox-stable&lt;/code&gt;&lt;/strong&gt; for the current stable package, and &lt;strong&gt;&lt;code&gt;sandbox-migrate-to-next&lt;/code&gt;&lt;/strong&gt; when you are ready to port. Stable-package deprecated-API cleanup is in the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/2026-deprecation/&quot;&gt;2026 deprecation guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The main &lt;a href=&quot;https://developers.stormtrust.net/sandbox/&quot;&gt;Sandbox documentation&lt;/a&gt; still describes today&apos;s stable package. Preview docs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/&quot;&gt;1.0 preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/get-started/&quot;&gt;Get started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/migrate/&quot;&gt;Migrate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/processes/&quot;&gt;Processes&lt;/a&gt; · &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/terminals/&quot;&gt;Terminals&lt;/a&gt; · &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/errors/&quot;&gt;Errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/api/&quot;&gt;API reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The self-deployed Sandbox bridge is not currently part of this preview. We are working on bringing it in line with the latest code. Until then, use the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/bridge/&quot;&gt;stable bridge&lt;/a&gt; with the matching stable package and container image.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;timeline-for-10&quot;&gt;Timeline for 1.0&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#timeline-for-10&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Further Cloudflare Containers features will let us keep reducing the size of the Sandbox SDK. We aim to ship Sandbox SDK 1.0 once those are in. In the meantime we continue to support and maintain the 1.0 preview (&lt;code&gt;@next&lt;/code&gt;) alongside the current stable release.&lt;/p&gt;</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><product>Sandbox SDK</product><category>Sandbox SDK</category></item><item><title>Sandbox SDK - Run Devin on Cloudflare using Devin Outposts</title><link>https://developers.stormtrust.net/changelog/post/2026-07-21-devin-outposts/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-07-21-devin-outposts/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.devin.ai/onboard-devin/outposts&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Devin Outposts&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt; lets you run Devin agents on Cloudflare. Each Devin session runs in its own isolated sandbox backed by &lt;a href=&quot;https://developers.stormtrust.net/containers/&quot;&gt;Cloudflare Containers&lt;/a&gt;, so agents can execute code and use development tooling in an isolated environment.&lt;/p&gt;
&lt;p&gt;Use Devin Outposts when you want Devin sessions to run on Cloudflare managed infrastructure, with each session isolated from the others.&lt;/p&gt;
&lt;img src=&quot;https://developers.stormtrust.net/cdn-cgi/image/onerror=redirect,width=1712,height=914,format=webp/_astro/devin-outposts.B3xjmfR5.jpg&quot; alt=&quot;Devin interface showing Cloudflare selected as an Outposts virtual environment&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1712&quot; height=&quot;914&quot;&gt;
&lt;p&gt;To get started, refer to &lt;a href=&quot;https://developers.stormtrust.net/sandbox/tutorials/devin-outposts/&quot;&gt;Run Devin on Cloudflare using Devin Outposts&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate><product>Sandbox SDK</product><category>Sandbox SDK</category></item><item><title>Sandbox SDK - Deprecating Sandbox SDK features</title><link>https://developers.stormtrust.net/changelog/post/2026-06-09-deprecating-sandbox-sdk-features/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-06-09-deprecating-sandbox-sdk-features/</guid><description>&lt;aside role=&quot;note&quot; aria-label=&quot;Sandbox SDK 1.0 preview&quot; class=&quot;aside-card flex items-start gap-3 rounded-lg px-4 py-3 my-4&quot; style=&quot;--_c: var(--nb-info); --_t: var(--nb-info-muted);&quot; data-astro-cid-znle5jil&gt;&lt;span class=&quot;flex h-[1.375em] shrink-0 items-center&quot; aria-hidden=&quot;true&quot; data-astro-cid-znle5jil&gt;&lt;svg width=&quot;1em&quot; height=&quot;1em&quot; viewBox=&quot;0 0 256 256&quot; class=&quot;h-[1em] w-[1em]&quot; data-astro-cid-znle5jil=&quot;true&quot; data-icon=&quot;ph:info&quot;&gt;&lt;path fill=&quot;currentColor&quot; d=&quot;M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88m16-40a8 8 0 0 1-8 8a16 16 0 0 1-16-16v-40a8 8 0 0 1 0-16a16 16 0 0 1 16 16v40a8 8 0 0 1 8 8m-32-92a12 12 0 1 1 12 12a12 12 0 0 1-12-12&quot;/&gt;&lt;/svg&gt;&lt;/span&gt;&lt;div class=&quot;flex min-w-0 flex-1 flex-col gap-0.5&quot; data-astro-cid-znle5jil&gt;&lt;p class=&quot;m-0 text-base leading-snug font-semibold&quot; data-astro-cid-znle5jil&gt;Sandbox SDK 1.0 preview&lt;/p&gt;&lt;div class=&quot;aside-card-body text-sm leading-normal&quot; data-astro-cid-znle5jil&gt;&lt;p&gt;A preview of &lt;strong&gt;Sandbox SDK 1.0&lt;/strong&gt; is available on &lt;code&gt;@cloudflare/sandbox@next&lt;/code&gt;. For new projects, or to move past these deprecations in one migration, refer to the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/&quot;&gt;Sandbox SDK 1.0 preview&lt;/a&gt; and &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/migrate/&quot;&gt;Migrate&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;Today we are announcing the deprecation of several features from the Sandbox SDK. The SDK has grown and matured substantially since it first launched. As agent workflows have developed, we have shipped many new features and experiments so developers can easily integrate secure, isolated code execution into their workflows.&lt;/p&gt;
&lt;p&gt;We want the SDK to continue providing a stable foundation for agentic workflows while we iterate quickly on the codebase. These deprecated features have either been superseded by newer capabilities or seen low adoption. Do not build new work on them. Migrate using the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/2026-deprecation/&quot;&gt;2026 deprecation migration guide&lt;/a&gt;, or move to the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/&quot;&gt;Sandbox SDK 1.0 preview&lt;/a&gt; when you can.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;http-and-websocket-transports&quot;&gt;HTTP and WebSocket transports&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#http-and-websocket-transports&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;In April 2026, we released the new RPC transport and deprecated the WebSocket transport. This setting governs how the sandbox container talks to the Workers ecosystem. The RPC transport removes the limitations of both the HTTP and WebSocket transports. As of this announcement, RPC is the recommended default. HTTP and WebSocket transports are deprecated and will not ship in future Sandbox SDK majors.&lt;/p&gt;
&lt;p&gt;To migrate, update the &lt;code&gt;SANDBOX_TRANSPORT&lt;/code&gt; variable to &lt;code&gt;rpc&lt;/code&gt; or set the &lt;code&gt;transport&lt;/code&gt; option when calling &lt;code&gt;getSandbox()&lt;/code&gt;. For more information, refer to the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/configuration/transport/&quot;&gt;transport configuration documentation&lt;/a&gt;.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;desktop&quot;&gt;Desktop&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#desktop&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;The desktop feature ran a full Linux desktop inside the sandbox (display server, desktop environment, and VNC/noVNC) so agents and apps could drive a GUI with screenshots, mouse, and keyboard — the same &lt;em&gt;computer-use&lt;/em&gt; shape other sandbox products expose for UI automation. Adoption stayed low, and we removed it in &lt;code&gt;0.10.2&lt;/code&gt;. If you need that capability again, you can build it on top of the sandbox with &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/extensions/&quot;&gt;extensions&lt;/a&gt; rather than a built-in &lt;code&gt;sandbox.desktop&lt;/code&gt; API.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;expose-ports&quot;&gt;Expose ports&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#expose-ports&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;We recently released support for Cloudflare Tunnel in the Sandbox SDK. This provides a robust API for exposing services running in your sandbox to the public internet. It fixes issues many were facing with local development and deployment to &lt;code&gt;workers.dev&lt;/code&gt; domains. To migrate from &lt;code&gt;exposePort()&lt;/code&gt; to tunnels, refer to the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/api/tunnels/&quot;&gt;tunnels API documentation&lt;/a&gt; and the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/expose-services/&quot;&gt;expose services guide&lt;/a&gt;.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;default-sessions&quot;&gt;Default sessions&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#default-sessions&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;By default, the &lt;code&gt;exec()&lt;/code&gt; method in the Sandbox SDK maintains a default session across all calls, so a &lt;code&gt;cd&lt;/code&gt; in one call is honored in the next. This convenience helped developers writing &lt;code&gt;exec&lt;/code&gt; statements by hand, but confused agents and caused hard-to-trace bugs. As of &lt;code&gt;0.10.3&lt;/code&gt;, we have introduced the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/configuration/sandbox-options/&quot;&gt;&lt;code&gt;enableDefaultSession&lt;/code&gt;&lt;/a&gt; flag on the &lt;code&gt;getSandbox()&lt;/code&gt; interface to turn this off. Default sessions as a concept — and the flag — will be removed in an upcoming release.&lt;/p&gt;
&lt;p&gt;We recommend setting &lt;code&gt;enableDefaultSession: false&lt;/code&gt; today and using the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/api/sessions/&quot;&gt;&lt;code&gt;sandbox.createSession()&lt;/code&gt; API&lt;/a&gt; when you need the previous behavior.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;other-changes&quot;&gt;Other changes&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#other-changes&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;We are also consolidating all APIs that buffer data to support streaming by default. This includes &lt;a href=&quot;https://developers.stormtrust.net/sandbox/api/files/&quot;&gt;&lt;code&gt;readFile&lt;/code&gt;, &lt;code&gt;writeFile&lt;/code&gt;&lt;/a&gt;, and &lt;a href=&quot;https://developers.stormtrust.net/sandbox/api/commands/&quot;&gt;&lt;code&gt;exec&lt;/code&gt;&lt;/a&gt;. The stream equivalents will be removed.&lt;/p&gt;
&lt;p&gt;We are exploring moving non-core features like the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/code-execution/&quot;&gt;code interpreter&lt;/a&gt;, &lt;a href=&quot;https://developers.stormtrust.net/sandbox/api/terminal/&quot;&gt;terminal&lt;/a&gt;, and &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/git-workflows/&quot;&gt;git APIs&lt;/a&gt; into helpers. These features will retain their existing APIs, so migration should be simple.&lt;/p&gt;
&lt;div tabindex=&quot;-1&quot; class=&quot;heading-wrapper level-h4&quot;&gt;&lt;h4 id=&quot;next-steps&quot;&gt;Next steps&lt;/h4&gt;&lt;a class=&quot;anchor-link&quot; href=&quot;#next-steps&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;anchor-icon&quot;&gt;&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot;&gt;&lt;path fill=&quot;currentcolor&quot; d=&quot;m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;If you use any of these features on the &lt;strong&gt;current stable&lt;/strong&gt; package, refer to the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/guides/2026-deprecation/&quot;&gt;2026 deprecation migration guide&lt;/a&gt;. Coding agents can use the &lt;strong&gt;&lt;code&gt;sandbox-stable&lt;/code&gt;&lt;/strong&gt; skill for stable-package work and that guide for cleanup (&lt;a href=&quot;https://developers.stormtrust.net/agent-setup/&quot;&gt;Agent setup&lt;/a&gt; · &lt;a href=&quot;https://github.com/cloudflare/skills&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare Skills&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;If you are moving to &lt;strong&gt;Sandbox SDK 1.0&lt;/strong&gt; (&lt;code&gt;@next&lt;/code&gt;), use the &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/&quot;&gt;1.0 preview&lt;/a&gt; and &lt;a href=&quot;https://developers.stormtrust.net/sandbox/1-0-preview/migrate/&quot;&gt;Migrate&lt;/a&gt; guides instead — or the &lt;strong&gt;&lt;code&gt;sandbox-migrate-to-next&lt;/code&gt;&lt;/strong&gt; skill after installing Cloudflare Skills. New projects should prefer &lt;strong&gt;&lt;code&gt;sandbox-next&lt;/code&gt;&lt;/strong&gt; on &lt;code&gt;@next&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For any questions, ask in the &lt;a href=&quot;https://discord.gg/cloudflaredev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare Developers Discord&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><product>Sandbox SDK</product><category>Sandbox SDK</category></item></channel></rss>