Releases: EtiennePerot/safe-code-execution
v0.8.0
v0.8.0 is a compatibility-fix release.
- The default value of the
WEB_ACCESSIBLE_DIRECTORY_PATH
valve has been fixed. This fixes clickable links to generated files in the Open WebUI code evaluation function. Fixes issue #16. - A new
REQUIRE_RESOURCE_LIMITING
valve has been added. This is enabled by default, but may be turned off to remove the dependency on cgroups v2 for code evaluation sandbox resource limiting. This is unsafe to do in multi-user setups but may be OK for trusted single-user setups, and enables code evaluation sandboxes to run on old Linux distributions that only have cgroups v1. Fixes issue #14. - The Open WebUI setup page has been updated to include instructions on how to lock down the code evaluation function and tool for multi-user setups. Fixes issue #5.
- Memory limits are now enforced in userspace as well as by the host kernel. This should be more effective at proactively killing sandboxes using too many system resources.
- The structure of the codebase has been reorganized, and documented here. This should be invisible to users.
- The codebase has tests now. This should be invisible to users other than providing more stability across releases.
v0.7.0
v0.7.0 contains the following changes over v0.6.0:
- The code execution tool will now display the code it has run as a citation. Thanks to @xiaopa233 for contributing this feature.
- The code execution tool will now internally return the code that it has run. This may help the model using the tool to better interpret the result of the code execution. Thanks to @xiaopa233 for contributing this feature.
- Code execution sandboxes now run with the same timezone setting as the Open WebUI installation. Thanks to @jedwards1230 for contributing this feature.
- Both the code execution tool and function now include update checking functionality (but not auto-update). This is turned on by default, but may be disabled using a valve or an environment variable; see documentation.
- The code execution tool and function are now encoded as ASCII files, which fixes issue #20 related to using them in Open WebUI installations that do not use a UTF-8 system encoding.
- Small compatibility fix for some systems where
/proc/self/mountinfo
contains more than 10 fields per line.
v0.6.0
v0.6.0 fixes support for Open WebUI v0.3.22, which had broken this tool (see issue #11 for details).
The tool and function now both support Open WebUI v0.3.22 and are backwards-compatible with earlier Open WebUI versions too.
This release also fixes additional compatibility issues when not using Docker's --privileged=true
mode, documented on the setup docs.
v0.5.0
Release v0.5.0 now supports displaying files created during code execution. This feature exists in the "function" only (not in the "tool"), as the tool is meant to be non-interactive and for the LLM's internal use only, whereas the function is user-facing.
This feature idea came from a comment by @sultanjulyan in this issue. See also issue #4.
v0.4.0
Version 0.4.0 fixes issues with cgroups within the container, and adds more debugging information when the sandbox fails to start. It also better differentiates between types of errors, such as "the code that was asked to be executed failed" vs "the code took used too much memory" vs "the code ran for too long" vs "the sandbox failed to initialize".
v0.3.0
Initial release to GitHub. The tool's previous versions existed only on the Open WebUI portal prior to this release. Going forward, releases will be available on both the portal and GitHub.