All notable changes to this project will be documented in this file.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
- Stateful Python execution via Jupyter kernels with SSE streaming support (
/exec/stream). - Multi-language runtime support: Bash, Node.js, TypeScript (
ts-node), Go (go run), and C++ (g++). - Session-scoped file upload/download with LibreChat-compatible response fields.
/healthand/librariesendpoints for runtime and library capability discovery.CODE_INTERPRETER_API_KEYauthentication viax-api-keyheader.- Configurable resource limits:
SUBPROCESS_MAX_MEMORY_MB,SUBPROCESS_MAX_CPU_SECONDS,EXECUTION_TIMEOUT. - Non-root Docker image with configurable
APP_UID/APP_GIDbuild args. - Docker Compose stack with security hardening (capability dropping,
no-new-privileges, resource limits). - Session kernel eviction when
MAX_SESSIONSis reached. /mnt/datapath alias for LibreChat notebook compatibility.- Optional
BASH_STRICT_MODE(set -euo pipefailprelude for bash/sh). - Optional
LOG_REQUESTSfor request debugging. - GitHub Actions CI pipeline (lint, typecheck, unit tests, e2e smoke tests).
- Automated Docker Hub publishing on push to
masterand version tags. - OpenAPI specification (
openapi.json) for MCP client import.