Skip to content

Commit dc0948b

Browse files
Add weekly changelog for March 17–23, 2026
Generated-By: mintlify-agent
1 parent 5a439f1 commit dc0948b

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

docs.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,12 @@
216216
"docs/troubleshooting/templates/49999-port-not-open",
217217
"docs/troubleshooting/pip-install-error"
218218
]
219+
},
220+
{
221+
"group": "Changelog",
222+
"pages": [
223+
"docs/changelog"
224+
]
219225
}
220226
]
221227
},

docs/changelog.mdx

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Changelog
3+
description: Latest updates and improvements to E2B.
4+
---
5+
6+
<Update label="2026-03-23" description="Week of March 17–23" tags={["Feature", "Update", "Fix"]}>
7+
## New features
8+
9+
- **Sandbox lifecycle configuration.** You can now control what happens when a sandbox times out using the new `lifecycle` option on `Sandbox.create()`. Set `on_timeout` to `pause` (instead of the default `kill`) to enable resuming later, and enable `auto_resume` so paused sandboxes wake up automatically on incoming traffic. This replaces the previous `beta_pause` API, which is now deprecated. [Learn more](/docs/sandbox/persistence)
10+
11+
- **`fixMissing` option for template package installs.** The `aptInstall()` helper in the JS SDK and `apt_install()` in the Python SDK now accept a `fixMissing` / `fix_missing` option, which passes `--fix-missing` to `apt-get install` during template builds. This helps resolve incomplete package downloads without manual intervention. [Learn more](/docs/template/quickstart)
12+
13+
- **`getTags` / `get_tags` for templates.** Both the JS and Python SDKs now include a method to list all tags for a given template, making it easier to manage template versions programmatically. [Learn more](/docs/template/tags)
14+
15+
- **CLI pause and resume commands.** You can now pause and resume sandboxes directly from the CLI with `e2b sandbox pause <id>` and `e2b sandbox resume <id>`. [Learn more](/docs/cli)
16+
17+
- **Detached sandbox creation in CLI.** Use `e2b sandbox create <template> -d` to create a sandbox without attaching a terminal session. The command prints the sandbox ID and dashboard link, then exits immediately.
18+
19+
## Updates
20+
21+
- **Sandbox metrics enabled by default.** Sandbox CPU and memory metrics are now collected and queryable by default — no feature flag required. You can monitor resource usage for your sandboxes without any additional configuration. [Learn more](/docs/sandbox/metrics)
22+
23+
- **CLI `template init` uses `name` parameter.** The `e2b template init` command now generates code using the current `name` parameter instead of the deprecated `alias`. Existing templates continue to work.
24+
25+
- **Default limit for `sandbox list`.** The CLI now defaults to returning 1,000 sandboxes when listing, preventing unbounded queries. Pass `--limit 0` to list all sandboxes.
26+
27+
- **Python SDK timeout handling improvements.** Server-streaming requests in the Python SDK now include proper read timeouts, reducing the chance of hanging connections on slow or stalled streams.
28+
29+
- **Dotfiles included in template uploads.** Files starting with a dot (`.env`, `.gitignore`, etc.) are now correctly included when uploading template files via the JS and Python SDKs.
30+
31+
- **arm64 support for the base template Docker image.** The base template image is now built for both `amd64` and `arm64` architectures.
32+
33+
## Bug fixes
34+
35+
- **Fixed template builds on older infrastructure.** Resolved an issue where template builds could fail with an "Invalid filesystem option" error on certain orchestrator versions.
36+
37+
- **Fixed `listSandboxes` pagination in JS SDK.** The pagination logic in the JS SDK's `listSandboxes` now correctly stops when the requested limit is reached.
38+
39+
- **Fixed CLI crash on non-standard API errors.** The CLI error handler no longer crashes when the API returns an error without a standard HTTP status code (e.g., network failures or timeouts).
40+
41+
- **Fixed CLI update check.** Replaced the update notification library so update checks work correctly in the bundled CLI. Errors during update checks are now caught gracefully.
42+
43+
- **Fixed CLI sandbox logs timeout.** The `sandbox logs` command no longer times out unnecessarily when `--follow` is not set.
44+
45+
- **Fixed sandbox creation in self-hosted JS SDK.** Sandbox headers are now correctly passed to the internal API client, fixing `Sandbox.create()` failures in self-hosted environments.
46+
47+
- **Fixed Python async SDK transport reuse across event loops.** The async Python SDK now creates a separate HTTP transport per event loop, preventing errors when `asyncio.run()` is called multiple times or from different threads.
48+
49+
- **Fixed error message in Python SDK `set_timeout`.** Corrected the error message when calling `set_timeout` on a non-existent sandbox (previously incorrectly referred to "Paused").
50+
</Update>

0 commit comments

Comments
 (0)