> ## Documentation Index
> Fetch the complete documentation index at: https://e2b-mintlify-6e219f24.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Weekly updates on what shipped in E2B

<Update label="July 21, 2026" description="Sandbox forking, snapshot name filter, and template fixes" tags={["Sandboxes", "SDK", "Templates", "Self-hosted"]} rss={{ title: "Sandbox Forking & Snapshot Name Filters", description: "This week improves sandbox provisioning and snapshot workflows with in-place sandbox forking, name-based snapshot lookup, and Docker-compatible template file copying." }}>
  ## Sandbox Forking & Snapshot Name Filters

  This week improves sandbox provisioning and snapshot workflows with in-place sandbox forking, name-based snapshot lookup, and Docker-compatible template file copying.

  ### Sandbox forking

  You can now fork a running [sandbox](/docs/sandbox) to spin up one or more clones from its exact in-memory state. The source is briefly paused, snapshotted, and resumed with its ID and expiration untouched, while each fork is returned independently as a running sandbox or a per-fork error. Use `sandbox.fork({ count, timeoutMs })` in JavaScript SDK 2.35.0 or `sandbox.fork(count=..., timeout=...)` in Python SDK 2.34.0. ([#3202](https://github.com/e2b-dev/infra/pull/3202), [#1554](https://github.com/e2b-dev/E2B/pull/1554))

  ### Snapshot filtering by name

  `Sandbox.listSnapshots()` and `Sandbox.list_snapshots()` now accept a `name` filter matching a snapshot name or ID, optionally tag-qualified such as `"my-team/my-snapshot:v1"`. It combines with the existing sandbox ID filter and returns an empty page for unknown names. Available in JavaScript SDK 2.34.0 and Python SDK 2.33.0. ([#1523](https://github.com/e2b-dev/E2B/pull/1523))

  ### Docker-compatible template file copies

  The [template `copy` step](/docs/template/defining-template) now merges into existing destination directories instead of replacing them, matching Docker `COPY` semantics. Copying `src/` into an image that already has files under `/app/src/` preserves those entries and only overwrites what the source provides. ([#3283](https://github.com/e2b-dev/infra/pull/3283))

  ### Fixes

  * Fixed template builds occasionally reporting a failed command stream as success, so build failures now surface reliably. ([#3281](https://github.com/e2b-dev/infra/pull/3281))
  * Fixed [template builds](/docs/template/build) sizing the root filesystem from stale free-space totals, which could leave the resized template short on space after an unclean shutdown. ([#3282](https://github.com/e2b-dev/infra/pull/3282))
  * Fixed copying a template layer when the source snapshot contained only a filesystem image and no memory state. ([#3299](https://github.com/e2b-dev/infra/pull/3299))
  * Fixed resumed sandboxes forwarding stale pre-resume log lines with their old timestamps instead of dropping them. ([#3297](https://github.com/e2b-dev/infra/pull/3297))
  * Fixed the JavaScript SDK `Template.copy()` resolving source paths against the SDK's own directory under `target: es2022` and above. ([#1539](https://github.com/e2b-dev/E2B/pull/1539))
  * Fixed the Python SDK leaking a proxy connection pool on every [volume](/docs/volumes) operation when a proxy was configured, and added connect-level retries via `E2B_CONNECTION_RETRIES`. ([#1534](https://github.com/e2b-dev/E2B/pull/1534))
  * Self-hosted: fixed the Nomad node-pool autoscaler terminating random allocations when downscaling ineligible nodes. ([#3301](https://github.com/e2b-dev/infra/pull/3301))
  * Reliability and security hardening across platform services, including dependency and base image CVE patches.
</Update>

<Update label="July 14, 2026" description="Storage, sandbox reliability, and template build fixes" tags={["Sandboxes", "Templates", "Self-hosted"]}>
  ## New features

  **Per-role storage URLs for self-hosted deployments**

  Self-hosted deployments can now point templates and the build cache at different storage backends by setting `TEMPLATE_STORAGE_URL` and `BUILD_CACHE_STORAGE_URL` to full destination URLs, including `s3://`, `gs://`, and `file://` schemes. Existing bucket and provider environment variables continue to work unchanged. ([#3246](https://github.com/e2b-dev/infra/pull/3246))

  ## Updates

  **Compressed uploads for AWS storage**

  Self-hosted deployments backed by AWS S3 can now upload template layers with the same compressed transfer path already used for other providers, cutting bandwidth on large template builds. ([#3232](https://github.com/e2b-dev/infra/pull/3232))

  ## Bug fixes

  * Fixed an issue where a resumed sandbox could silently drop outbound traffic until its network cache re-resolved, causing stalled connections right after resume. ([#3271](https://github.com/e2b-dev/infra/pull/3271))
  * Fixed a rare deadlock in [sandbox command execution](/docs/commands) where cancelling a request while a command was starting could leave the call hung. ([#3256](https://github.com/e2b-dev/infra/pull/3256))
  * Fixed [template build](/docs/template/build) failures caused by incorrect compressed uploads and cache handling for template layers. ([#3231](https://github.com/e2b-dev/infra/pull/3231))
  * Fixed an issue where creating a template could fail with a stale lock error when a previous build had exited without cleaning up. ([#3217](https://github.com/e2b-dev/infra/pull/3217))
  * Fixed [template builds](/docs/template/build) unpacking OCI image layers so that whiteouts and permissions match the behavior of the Docker daemon. ([#3215](https://github.com/e2b-dev/infra/pull/3215))
  * Fixed an issue where a sandbox could remain accounted for after being removed, keeping it in the paused list until the next reconciliation. ([#3199](https://github.com/e2b-dev/infra/pull/3199))
  * Reliability and security hardening across platform services, including dependency and base image CVE patches.
</Update>
