Skip to content

e2b@2.32.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 13:37
· 254 commits to main since this release
5d84a8e

Minor Changes

  • 2b7dd17: Add a gzip option to the template copy layer to control whether copied
    files are gzipped before upload.

    Gzip is enabled by default (matching the previous behavior). Pass
    gzip: false (gzip=False in Python) to upload an uncompressed tar archive
    instead — useful when copying already-compressed files where gzipping adds
    CPU cost without shrinking the payload.

    // JS/TS
    template.copy('model.bin', '/app/', { gzip: false })
    # Python
    template.copy('model.bin', '/app/', gzip=False)

Patch Changes

  • bb45f18: Introduce a generic, reusable paginator base class and migrate the sandbox and snapshot list paginators onto it. The base owns the shared cursor-based pagination state (hasNext/has_next, nextToken/next_token, and reading the x-next-token header) while each concrete paginator implements nextItems/next_items to fetch its own page, so future list endpoints can add pagination by subclassing it without reimplementing the bookkeeping. No public API changes.
  • f160f08: Keep integration user-agent attribution on ConnectionConfig instead of exposing it through sandbox, template, volume, or per-call API option types.
  • c385566: Correct Sandbox.list() documentation across both SDKs: it returns a paginator (SandboxPaginator / AsyncSandboxPaginator), not a list, and by default the server returns sandboxes in both running and paused states. The docstrings now describe the return type accurately and show how to iterate pages via paginator.next_items() / await paginator.nextItems() while paginator.has_next / paginator.hasNext is true. No behavior change.
  • bb16968: Template builds: the build-context tar archive is now spooled to a temporary file and streamed from disk during upload instead of being held in memory (JS and Python, sync and async), while keeping the explicit Content-Length required by S3 presigned URLs. Temp-file cleanup is now best-effort, so a cleanup failure after the upload no longer masks a successful upload as an error (nor overwrites the real upload error on failure). The Python SDK now uploads the archive with a 1-hour default timeout (overridable via request_timeout) instead of the 60s general API timeout, matching the JS SDK and preventing large uploads from timing out.