github jetify-com/devbox 0.18.2

3 hours ago

What's Changed

✨ New Features

  • Generated READMEs now document servicesdevbox generate readme adds a Services section listing the project's services and how to start them, by @mikeland73 (#2934)

🐛 Bug Fixes

  • Projects in paths with spaces now work with services — plugin service commands quote their path env vars, so a project directory like ~/My Projects/app no longer breaks devbox services up, by @mikeland73 (#2960)
  • Services re-invoke the right devbox — service definitions call back into devbox by its executable path instead of a hardcoded devbox name, so they work when the binary is renamed, run from a build dir, or not on PATH (#1321), by @mikeland73 (#2936)
  • Package shell completions work out of the box — the Devbox profile's share dir is added to XDG_DATA_DIRS, so completions shipped by installed packages (e.g. kubectl <TAB>) are picked up by bash-completion (#2776), by @mikeland73 (#2926)
  • Multi-line env values no longer break shellenveval "$(devbox global shellenv)" failed with ambiguous redirect on every prompt when the shell had a multi-line PROMPT_COMMAND (e.g. via bash-preexec); literal newlines in exported values are now preserved (#2814), by @mikeland73 (#2846)
  • SOURCE_DATE_EPOCH no longer leaks into the shell — nixpkgs' fixed 1980 build timestamp was exported into every devbox shell, so Docker images built inside it showed up as created "45 years ago" and tar/gzip output got stale timestamps (#2597), by @mikeland73 (#2935)
  • Missing env_from files warn instead of failing — a referenced env file that doesn't exist yet (e.g. a gitignored .env) no longer blocks the shell from starting, by @mikeland73 (#2901)
  • Flakes from subdirectories of the same git repo are kept distinct — two packages pointing at different ?dir= paths in one repo no longer collapse into a single input (#2704), by @mikeland73 (#2877)
  • devbox update --no-install no longer calls Nix — it only updates the lockfile, as documented (#2585), by @mikeland73 (#2913)
  • Nix detection fixes — Nix versions without a patch component (e.g. 2.30) now parse instead of being treated as unparseable (#2924), and a freshly mounted /nix volume in a container (which only contains lost+found) is no longer reported as a broken install and gets Nix installed into it as intended (#2601, #2939), by @mikeland73.
  • Node.js plugin warns when Corepack is missing — with DEVBOX_COREPACK_ENABLED set on a Node package that doesn't bundle Corepack (nodejs-slim, Node 25+), you now get a warning pointing at the corepack package instead of a cryptic yarn: command not found later (#2791), by @mikeland73 (#2888)
  • devbox generate fixes — the generated dev Dockerfile no longer runs nix-store --optimise, which failed with cannot rename: Stale file handle on Docker's overlay2 driver so the image didn't build out of the box (#2616, #2933), and the generated README uses relative paths for env vars instead of absolute paths from the author's machine (#2865), by @mikeland73.
  • Plugin docs — documented the project-root placeholder and corrected the DevboxDirRoot docs, by @mikeland73 (#2895)

🧹 Maintenance

  • Docs: devbox run scripts and commands run from the project root (#2948); Go example documents GOPATH/GOROOT and warns against GOPATH=$PWD (#2923), by @mikeland73.
  • Release tooling: bump flake.nix to 0.18.2 (#2970), add a claude skills symlink (#2972), and make the release script resume cleanly after a flake bump and not block on an in-progress cli-tests run (#2971), by @mikeland73.

Full Changelog: 0.18.1...0.18.2

Don't miss a new devbox release

NewReleases is sending notifications on new releases.