Releases: arcee-ai/pybubble
Releases · arcee-ai/pybubble
v0.4.0
Changelog:
- Networking is now namespace-based, isolating internal sandbox networks from each other.
- Outbound networking (internet, port forwarding from sandbox, and accessing host-based servers) now requires
slirp4netnsto be installed. - It is now possible to forward ports from sandboxed servers to the host.
- It is now possible to access ports from the host in the sandbox (defaults to disabled).
- Selecting between PTY and piped input is now simpler.
v0.3.1
Changelog:
- No longer default to throwing errors when a process returns a non-zero exit code.
v0.3.0
Changelog:
- Optional full PTY support for sandboxed processes.
pybubble runnow runs programs interactively in a full PTY.- Default rootfs is now bundled into the prebuilt wheel.
- Switched from gzip to zstd for rootfs compression.
- Changed
run_pythontorun_scriptwith customizable script runner (defaults to python) and similar return type torun. - If
fuse-overlayfsis installed, you can now enable a writable overlay filesystem. Sandboxshould now be used as a context manager to ensure filesystem resources are cleaned up.- Host's hostname is no longer passed through to sandbox.
- Updated
uvin the default rootfs. - Fixed
/sbinnot being included in PATH.
v0.2.0
Changelog:
Sandbox.runnow returns aSandboxedProcessobject, allowing for streaming input/output.pybubble runnow runs all programs interactively (limited/no TTY support).
v0.1.1
- Friendlier error message for when bubblewrap is not installed
- Support Python 3.12
- Add
uvto default rootfs - Add
ripgrepto default rootfs - Use work_dir directly instead of as a session dir root
- When specifying a work_dir instead of using a temporary one, files persist across runs
- Add support for gzip compression levels for rootfs generation
- Add writable /tmp dir
- Add writable versions of basic devices like /dev/null
- Code now runs as "sandbox" user instead of the host's current user
v0.1.0
Initial release.