Skip to content

e2b@2.30.1

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 18:36
· 4 commits to main since this release
7cec36d

Patch Changes

  • e88ae33: Fix signed URL expiration edge cases in uploadUrl/downloadUrl (upload_url/download_url):

    • Python now raises InvalidArgumentException when use_signature_expiration is passed for an unsecured sandbox, matching the JS SDK behavior (which now throws InvalidArgumentError instead of a plain Error).
    • A signature expiration of 0 now produces an immediately expiring URL instead of silently creating a never-expiring one.
  • 78c200a: Allow disabling client-side API key format validation. Set the E2B_VALIDATE_API_KEY environment variable to false, or pass the validateApiKey: false (JS) / validate_api_key=False (Python) connection option, when your deployment issues API keys that don't match the default e2b_ format.

  • cb061d2: Fix command and PTY streaming issues:

    • Decode stdout/stderr incrementally so multibyte UTF-8 characters split across command stream chunks are no longer corrupted
    • Avoid mutating the caller's envs object when applying default TERM/LANG/LC_ALL values in pty.create()
  • 82add5b: Raise a typed, actionable error when the sandbox dies while a request is in flight. When the connection is dropped mid-request (streaming RPC calls — commands, PTY, directory watch — and filesystem read/write), the SDKs now probe the sandbox health endpoint: if the sandbox is confirmed gone, a TimeoutError (JS) / TimeoutException (Python) is raised stating the sandbox was killed or reached its end of life — consistent with how requests to an already-dead sandbox surface. In all other cases the original error propagates unchanged.

  • 5ea287b: Make the gzip: true upload option imply the application/octet-stream upload path so it is no longer silently ignored on the default multipart/form-data path. On envd versions older than 0.5.7 the upload still falls back to uncompressed multipart/form-data.

  • b52eb3c: Skip the control plane request in Sandbox.connect() when running in debug mode, matching the behavior of Sandbox.create(). In the Python SDK, Sandbox.connect() now also normalizes missing envd and traffic access tokens to None instead of leaking the Unset sentinel, which previously broke download_url()/upload_url() for non-secure sandboxes.