Releases: boxlite-ai/boxlite
Releases · boxlite-ai/boxlite
v0.7.5
What's Changed
- fix(publish): chain build-go after build-c for reliable go generate by @DorianZheng in #381
- fix(libgvproxy-sys): force static linking of libresolv on Linux by @DorianZheng in #382
- chore: bump SDK patch versions by @DorianZheng in #383
Full Changelog: v0.7.4...v0.7.5
v0.7.4
What's Changed
- fix: prevent TLS panic in shutdown_on_exit atexit handler by @DorianZheng in #377
- feat(publish): publish boxlite-cli via cargo install and cargo binstall by @DorianZheng in #378
- chore: bump SDK patch versions by @DorianZheng in #379
- feat(publish): add build-c and build-go workflows for Go SDK publishing by @DorianZheng in #380
Full Changelog: v0.7.3...v0.7.4
v0.7.3
What's Changed
- refactor: consistent -sys dependency naming and feature gates by @DorianZheng in #374
- fix(publish): fix crates.io publishing for static-linked -sys crates by @DorianZheng in #375
- docs: use cargo add instead of hardcoded git dependency by @DorianZheng in #376
Full Changelog: v0.7.0...v0.7.3
v0.7.0
What's Changed
- PR Description: Go SDK for BoxLite by @qidi1 in #202
- Remove Python version requirement by @DorianZheng in #301
- Update macOS Intel support status in README by @DorianZheng in #302
- Fix spacing in macOS Intel support status by @DorianZheng in #303
- Update Discord link in README by @DorianZheng in #304
- Fix rust-cache post-step path validation error by @DorianZheng in #305
- fix(python): resolve integration test failures and API mismatches by @DorianZheng in #306
- fix(c-sdk): resolve test_streaming abort from fragile assertions by @DorianZheng in #307
- feat: add health check support by @uran0sH in #266
- feat(make): add smart test target that only tests changed components by @DorianZheng in #308
- Reorganize integration test suite and refactor test utilities by @DorianZheng in #309
- feat(build): statically link libkrun and libgvproxy into boxlite-shim by @DorianZheng in #310
- refactor(test): migrate health_check.rs to BoxTestBase by @DorianZheng in #311
- refactor(test): migrate jailer.rs to BoxTestBase and fix deny-profile assertion by @DorianZheng in #312
- feat: embed runtime binaries for self-contained SDKs by @DorianZheng in #316
- fix(build): enable musl target compatibility for boxlite-shim by @DorianZheng in #317
- fix(build): add --allow-multiple-definition for all Linux targets by @DorianZheng in #318
- fix(build): switch shim from musl to glibc static linking by @DorianZheng in #319
- fix(build): restore build-shim invocation in build-runtime and normal… by @DorianZheng in #320
- fix(build): link libresolv for static glibc builds on Linux by @DorianZheng in #321
- fix(ci): use hardcoded target/ path in Package runtime step by @DorianZheng in #322
- feat(ci): add sccache compilation caching with graceful fallback by @DorianZheng in #324
- fix(ci): pass ACTIONS_CACHE_SERVICE_V2 into Docker for sccache v2 cache API by @DorianZheng in #325
- refactor(ci): consolidate all compilation caching to sccache by @DorianZheng in #328
- ci: standardize sccache across workflows by @DorianZheng in #329
- ci: split setup into build/test phases by @DorianZheng in #331
- refactor: move boxlite-ffi to ffi/ and boxlite-test-utils to test-utils/ by @DorianZheng in #332
- refactor: simplify C SDK build, remove packaging scripts by @DorianZheng in #333
- fix(c-sdk): add error diagnostics to test_box_metrics integration test by @DorianZheng in #334
- feat(go-sdk): add Exec interface to Go SDK by @yan5xu in #327
- fix: prevent snapshot COW child disks from being deleted by Disk::Drop by @acmerfight in #330
- Refactor/disk info base disk v7 schema by @DorianZheng in #335
- docs(c-sdk): update markdown files to match current API and project s… by @DorianZheng in #336
- refactor(jailer): copy only shim + libkrunfw to box bin/ directory by @DorianZheng in #337
- refactor(go): replace Go bridge with direct C FFI, redesign API by @DorianZheng in #338
- update readme by @DorianZheng in #340
- refactor(rootfs): consolidate guest rootfs modules by @DorianZheng in #341
- move disk types into disk mod by @DorianZheng in #342
- fix(test): fix 4 bugs in snapshot integration tests by @DorianZheng in #344
- [codex] introduce BaseDiskID typed base-disk ID flow by @DorianZheng in #346
- fix(node): remove unpublished NAPI targets from package manifest by @Bl3f in #348
- fix(make): colon-namespaced targets silently no-op on macOS Make 3.81 by @DorianZheng in #351
- fix(make): exclude cbindgen-generated boxlite.h from clang-format by @DorianZheng in #352
- fix(build): prevent RUSTFLAGS leaking into vendored libkrun build by @DorianZheng in #353
- deps(rusqlite): upgrade from 0.32 to 0.37 by @uran0sH in #355
- fix: address codex review issues for zygote PR by @DorianZheng in #364
- feat(cli): add boxlite serve — REST API server by @yan5xu in #357
- fix(setup): validate Go version and install from go.dev if too old by @DorianZheng in #367
- feat(sdks): expose all BoxCommand args (cwd, user, timeout) across SDKs by @DorianZheng in #365
- fix(setup): persist Go PATH in shell profile after install by @DorianZheng in #368
- fix(ci): add Go to PATH in warm-caches manylinux container by @DorianZheng in #369
- Fix/musl static linking by @DorianZheng in #370
- fix(ci): add Go to PATH in all manylinux container builds by @DorianZheng in #371
- feat: add MiniMax LLM provider example for AI agents by @octo-patch in #366
- fix(vmm): resolve musl CRT mismatch crash and improve startup diagnostics by @DorianZheng in #372
- chore: bump SDK versions (Rust/Python/C 0.7.0, Node 0.4.0) by @DorianZheng in #373
New Contributors
- @yan5xu made their first contribution in #327
- @acmerfight made their first contribution in #330
- @Bl3f made their first contribution in #348
- @octo-patch made their first contribution in #366
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- ci: auto-publish Rust crates to crates.io on release by @DorianZheng in #272
- fix(jailer): capture SIGSYS in CrashCapture for seccomp diagnostics by @DorianZheng in #274
- feat(jailer): bwrap sandbox improvements and PID namespace watchdog fix by @DorianZheng in #275
- feat(jailer): Linux defense-in-depth: user namespaces, AppArmor, bwrap mounts, seccomp by @DorianZheng in #256
- feat(jailer): sandbox refactor with granular path access by @DorianZheng in #277
- feat(watchdog): pipe-based POLLHUP parent death detection by @DorianZheng in #278
- Revert: enable jailer by default + fix macOS library patterns by @DorianZheng in #280
- feat: add snapshot, export, import, and clone operations by @joeyaflores in #217
- fix: restore runtime backend compile path and binary resolution by @DorianZheng in #281
- Harden macOS seatbelt policy and stabilize deny cleanup integration by @DorianZheng in #282
- feat: auto-quiesce clone/export on running boxes + REST import_box by @DorianZheng in #283
- refactor: extract clone/export/import into dedicated modules by @DorianZheng in #284
- feat: 12-char Base62 box IDs + trait-based migration framework by @DorianZheng in #285
- refactor: parallel test infra + nextest simplification + boot timing by @DorianZheng in #286
- ci: add Codecov integration with OIDC auth by @DorianZheng in #287
- Reference server: BOXLITE_SERVER/BOXLITE_RUNTIME env config + non-detached handle retention by @DorianZheng in #288
- feat: per-exec user override across proto, CLI, and SDKs by @DorianZheng in #291
- chore(setup): add cargo-nextest to setup scripts by @DorianZheng in #292
- build: hard-rename Make targets to tool:mode:scope across quality/test/CI/docs by @DorianZheng in #290
- fix(tests): symlink tmp dir to avoid cross-device errors on Linux tmpfs by @DorianZheng in #293
- fix(tests): complete mirror registry rollout and fix stale warm-up DB by @DorianZheng in #294
- fix(sdks): read stdout and stderr concurrently to prevent deadlock by @DorianZheng in #296
- feat: shared tar module and copy operations by @DorianZheng in #297
- chore: bump SDK versions to 0.6.0 and refactor test infrastructure by @DorianZheng in #298
- feat(node): tests for Python-parity features by @DorianZheng in #299
- test(python): rewrite box management tests to cover actual API by @DorianZheng in #300
New Contributors
- @joeyaflores made their first contribution in #217
Full Changelog: v0.5.14...v0.6.0
v0.5.14
What's Changed
- fix(guest): fd double-close in spawn_with_pipes causing exec crash by @DorianZheng in #268
- feat(rootfs): compile-time guest hash and versioned rootfs pipeline by @DorianZheng in #269
- fix: graceful runtime shutdown, ECHILD race fix, and SendInput cleanup by @DorianZheng in #270
- chore: bump SDK versions (Rust/C/Python 0.5.14, Node 0.2.11) by @DorianZheng in #271
Full Changelog: v0.5.13...v0.5.14
v0.5.13
What's Changed
- fix(copy): file-to-file extraction for copy_in/copy_out by @DorianZheng in #261
- Refactor: Extract FFI code to dedicated crate by @qidi1 in #226
- feat: add log and stat command by @fatelei in #263
- feat(rest): REST API client with Python SDK and examples by @DorianZheng in #262
- docs: bump minimum SDK versions for Rust/C/Python/Node by @DorianZheng in #265
New Contributors
Full Changelog: v0.5.12...v0.5.13
v0.5.12
What's Changed
- refactor(runtime): extract security types into advanced_options module by @DorianZheng in #253
- refactor(sdk): extract security types into advanced_options module by @DorianZheng in #255
- feat(api): add OpenAPI 3.1.1 spec for cloud sandbox REST API by @DorianZheng in #254
- docs: reposition README to emphasize stateful, local-first sandbox by @yingjunwu in #257
- chore: bump SDK versions by @DorianZheng in #259
Full Changelog: v0.5.11...v0.5.12
v0.5.11
What's Changed
- docs(readme): add badges by @DorianZheng in #216
- fix(net): prevent gvproxy socket path collision between concurrent boxes by @DorianZheng in #219
- feat(cli): implement info command for
boxlite-cliby @shayne-snap in #201 - feat(sdk): expose resize_tty in Python SDK and add AI agent guide by @yingjunwu in #220
- Chore/cli ci test by @shayne-snap in #221
- refactor(vmm): improve crash diagnostics and kernel cmdline handling by @DorianZheng in #227
- feat(node-sdk): add security options passthrough in Node SDK by @shayne-snap in #231
- Remove unnecessary badges from README by @yingjunwu in #224
- fix(shim): write exit_file when main() returns Error (exit code 1) by @uran0sH in #232
- Fix Discord link in README by @yingjunwu in #239
- refactor(crash): extract ProcessMonitor and improve crash diagnostics by @DorianZheng in #240
- feat(build): enable cargo add boxlite with prebuilt runtime download by @DorianZheng in #241
- fix(ci): respect CARGO_HOME in setup scripts for manylinux builds by @DorianZheng in #242
- chore: bump Rust/C/Python/Node SDK minimum versions by @DorianZheng in #243
- feat(build): prepare crates for crates.io publishing by @DorianZheng in #250
- fix(python): fix SimpleBox.shutdown() crash on missing method by @yingjunwu in #246
- fix(python): export SecurityOptions from top-level boxlite module by @yingjunwu in #247
- refactor(examples): reorganize Python examples into categorized subdirectories by @yingjunwu in #223
- fix(python): return only stdout from CodeBox.run() by @yingjunwu in #248
- fix(python): fix CodeBox(memory_mib=...) crash due to positional arg mismatch by @yingjunwu in #245
- fix(ci): replace abandoned docker-run-action and fix meson PATH by @DorianZheng in #251
Full Changelog: v0.5.10...v0.5.11
v0.5.10
What's Changed
- feat(sdk): add orchestration API for multi-box messaging by @DorianZheng in #206
- fix(images): handle tar extraction edge cases by @uran0sH in #199
- feat(examples): add interactive Claude Code box example by @yingjunwu in #209
- feat(cli): add shell completion for bash, zsh, and fish by @shayne-snap in #208
- docs(cli): add CLI README, development guide by @shayne-snap in #211
- feat(cli): add -p/--publish and -v/--volume to create and run by @shayne-snap in #207
- feat(cli): add inspect command by @shayne-snap in #197
- feat(examples): add OpenClaw (ClawdBot/Moltbot) example by @DorianZheng in #212
- fix(examples): address review feedback on interactive Claude example by @Copilot in #210
- chore: bump SDK versions by @DorianZheng in #213
- fix(error): prevent cleanup error from masking original error by @DorianZheng in #214
- fix(python): make cloudpickle an optional dependency by @DorianZheng in #215
New Contributors
- @Copilot made their first contribution in #210
Full Changelog: v0.5.9...v0.5.10