What's Changed
✨ New Features
devbox searchshows a table of versions and platforms — results now list each package's versions and the platforms each one runs on, with consecutive versions that share platforms collapsed into one row, by @kadaan (#3041)
⚡ Performance
- Editing scripts, env or
init_hookno longer triggers a Nix recompute — devbox now hashes the Nix-relevant parts of the config separately, so changingenv,init_hook,scriptsand similar fields skips package checks, flake generation andnix print-dev-envon the nextrun/shell, by @mikeland73 (#3031) - Faster state recomputes — binary cache lookups are cached on disk for 30 days instead of per process (#3028), and the Nix profile is read from
manifest.jsoninstead of runningnix profile list(#3030), by @mikeland73 - Remote plugins work offline — GitHub and git plugin fetches now time out after 15s and fall back to the cached copy when the network is down, and plugins pinned to a commit are cached for good instead of re-cloned per file, by @mikeland73 (#3029)
🐛 Bug Fixes
- Concurrent
devbox runin one project is safe — parallel runs could fail with exit 127/126 or print nothing because they deleted or truncated each other's script files. Scripts are now written atomically (#3032) and (#3037), by @mikeland73 - Ctrl-C during
devbox runwaits for the command to exit — the prompt no longer comes back while the command is still shutting down and printing output, by @mikeland73 (#3033) - Clearer errors from
devbox add— a package that doesn't exist now fails in under a second with a hint to usedevbox searchinstead of downloading nixpkgs first (#2996). Search requests are retried, and if the search service is down,addsays so and suggests a nixpkgs reference instead of reporting "not found" (#3043), by @mikeland73 - Fixed the nodejs plugin failing with
ENOENT ... corepack-binwhenDEVBOX_COREPACK_ENABLEDis set, by @mikeland73 (#3042).
🧹 Maintenance
- Bumped
devbox-install-actionto v0.16.0 (#3044), fixed a flaky Ctrl-C test (#3039), and bumped the flake version to 0.20.0 (#3045), by @mikeland73
Full Changelog: 0.19.0...0.20.0