Internet off with an allow list reaches the list
A sandbox created or set with network: {internet: false, allow: [...]} was refused every connection (X-Runtime-Egress: internet-off), though its rules showed the list. Internet off with an allow list is now allow-list only: the sandbox reaches the listed destinations and nothing else, and its rules are stored and shown as internet: true with that list, on create and on network.set alike, in the API, every SDK, the CLI, MCP and the console. Internet off with no allow list still reaches nothing. See the network.
A command's record says how it ended
A command whose answer was lost on the way back (its connection cut, or its sandbox stopped or paused under it) is kept as "its answer was lost" (outcome unknown), where it left no record. One still running when its sandbox is stopped or deleted shows ended by the sandbox's stop (or delete), not running for ever. A command that timed out keeps the time limit it ran under. And bwrap (bubblewrap), which Codex runs its commands under, is in the default image from its next build. See commands and processes.
Volume backups go first, and one that can't start says so
A volume backup's copy off its server goes ahead of Runtime's own copies there, never behind one, and copyStartedAt says when it began. A backup whose copy hasn't begun 15 minutes after you asked fails with errorCode backup_stalled rather than staying pending, unless other backups on its server are moving up the line. The volume is unchanged; back it up again. See volume backups.
Pauses, wakes, restarts and stops are in the audit log
Each pause, wake, restart and stop of a sandbox is an audit log entry (resource.paused, resource.woken, resource.restarted, resource.stopped) with who asked; one Runtime did itself says why: it sat idle, it reached its time limit, credit ran out or a spending limit was hit. A volume inside the free 10 GiB, and a job on an account without credit, now read funding: trial, not paid. See the audit log.
Support chat asks you to sign in
The Help chat on withruntime.com is for signed-in accounts: signed out, it asks you to sign in and brings you back to the page, and POST /api/support/chat answers 401. Without an account, write to support@withruntime.com. runtime_support, npx withruntime support and Support in the console are unchanged. See get support.
A sandbox's page in the console loads again
A sandbox's page could fail to load: the server and the browser wrote its chart's and events' dates differently (Sep 23 at 10:30 against Sep 23, 10:30), and the browser threw the page away. Both now write them the same way.
Volume backups on your own schedule
A volume can be backed up every N minutes (15 or more) or on a cron in UTC instead of daily, and keep its backups by counts: the last N, and the newest in each of the newest N hours, days, weeks, months and years. The newest ready backup is always kept. Set it with schedule and keep on the backup policy, in every SDK, the console, MCP, /v1/volumes/{id}:backup-policy and the CLI: runtime volumes backup-policy <id> --every 60 --keep hourly=24,daily=7. schedule: null goes back to daily, and daily and retentionDays work as before. See volume backups.
Sandboxes start from your larger images with no disk to name
A sandbox created from an image of yours larger than the default 4 GiB disk, with no diskMiB, was refused disk_too_small. An image of up to 8 GiB now gets an 8 GiB disk, within the 10 GiB a running sandbox's disk includes, and starts from the image's started copy of that size. A larger image is still refused, now naming the diskMiB to ask for; a diskMiB you name is kept. See images.
Upload links take the 5 GiB they say
An upload link (files:link with method: "PUT") refused a body over 64 MB as too large; it now takes up to its maxBytes, 5 GiB at most, in one request, streamed into the sandbox, with nothing to split. A sandbox can open a file link too, to download or upload with no key. See file links.
The usage export says how far it is final, in every SDK and the CLI
runtime usage export ends by saying on stderr how far the range is final: no more charges will settle before that time. The Python, Go, Ruby and Java SDKs gain the export (usage_export, UsageExport, usageExport), with finalThrough on each page and final on each row. See export settled usage.
E2B's client works in the drop-in
new E2B({ apiKey }).Sandbox in JavaScript, and now E2B(api_key=...).Sandbox in Python, create and connect with the client's key. The client's Template, Volume and Secret refuse before anything happens, naming what to use instead: a Runtime image, Runtime volumes or a Runtime secret. See migrating.