New in this Prerelease
This release includes an update to our Services system, as well as the ability to install packages from Nix Flakes.
To try out the latest pre-release, export DEVBOX_USE_VERSION=0.4.7-dev
in your shell. You can revert to the stable version at any time by unsetting the variable.
Note: Direnv users may need to regenerate their .envrc
file using devbox generate direnv --force
. The new .envrc file should perform better, and be more reliable than previous versions
- Devbox Services 2.0 with Process Compose and custom services
- Devbox Services are now backed by Process Compose, making it easier to start, stop, and manage your services
- Use
devbox services up
to start all your services in the foreground with the Process Compose UI, or start them in the background withdevbox services up -b
- Start, stop, and restart services with
devbox services start|stop|restart
. Stop all your projects withdevbox services stop --all-projects
- Define your own services by adding a
process-compose.yml
to your project's root directory.
- Flake Support: Install packages from Nix Flakes
- You can now install software from Nix Flakes by adding them to the
packages
in your devbox.json. - Example flake references
{ "packages": [ // Add the default package from a Github hosted flake "github:numtide/flake-utils", // Install a specific attribute or package from a Github hosted flake "github:nix-community/fenix#stable.toolchain", // Install a package from a specific channel of Nixpkgs "github:nixos/nixpkgs/21.05#hello", // Install a package from a local flake. // This should point to a directory that contains a flake.nix file. "path:../my-flake#my-package" ] }
- You can now install software from Nix Flakes by adding them to the
- Various bug fixes and improvements
- Improvements to direnv performance and reliability
- Fixed a bug that overwrote environment variables between package calls
What's Changed
- all: upgrade to Go 1.20, upgrade all dependencies by @gcurtis in #862
- ci: create Sentry release by @gcurtis in #861
- chore: update descriptions for commands by @hezhizhen in #847
- [vscode extension] Updated readme and changelog for v0.0.5 by @mohsenari in #853
- boxcli,nix: some better error messages by @gcurtis in #855
- Fix typo in installing_devbox.mdx by @parviste in #857
- Migrate services to process-compose by @Lagoja in #836
- [Readme] Moved install to above benefits by @mohsenari in #863
- chore: go mod tidy by @hezhizhen in #864
- chore: simplify global commands by @hezhizhen in #865
- Skip interactive survey if devbox is not executed in a terminal by @LucilleH in #867
- [devbox] generate script files when we generate shell files by @savil in #868
- List Services and Status via Process Compose by @Lagoja in #870
- Add init hook flag to shellenv command by @LucilleH in #871
- [wrappers] Don't re-source shellenv if already sourced by @mikeland86 in #872
- [vscode extension] update README by @hezhizhen in #877
- [flakes] Add ability to add custom local flakes to devbox project by @mikeland86 in #866
- [examples] Update dependencies by @mikeland86 in #878
- [easy][examples] Update more deps by @mikeland86 in #879
- [nix] Re-add profile to path by @mikeland86 in #882
- [bin-wrappers] Use shellenv command in binwrappers by @mikeland86 in #876
- set HOME for testscripts by @savil in #875
- [vscode-extension] Added better error messages and debugs for openinvscode by @mohsenari in #887
- nixstore: Nix expression for generating a nixpkgs index by @gcurtis in #885
- [tests] Tests should not modify config by @mikeland86 in #883
- [nix] Allow github flakes in devbox.json by @mikeland86 in #888
- [cleanup] delete unused shell.nix and development.nix templates by @savil in #891
- nixstore: add package for querying and resolving Nix store paths by @gcurtis in #884
- chore: get config path from --config only by @hezhizhen in #889
- [devbox] Make stack-examples using Postgres actually work by @savil in #874
- [examples] enable stacks-django and rust examples to pass by @savil in #880
- [example tests] generate "set -e" to exit scripts upon failure by @savil in #869
- [shell] source the hooks file in shellrc by @savil in #890
- bring back shell.nix, but keep development.nix deleted by @savil in #895
- Bump nokogiri from 1.14.2 to 1.14.3 in /examples/stacks/rails/blog by @dependabot in #893
- Multi-instance Process Compose by @Lagoja in #873
- [devbox] add .envrc file to repo by @savil in #899
- [lockfile] Add hidden lockfile for caching by @mikeland86 in #897
- [perf] Only compute print-dev-env if needed by @mikeland86 in #898
- [vscode-extension] Prep for version 0.0.6 release of vscode extension by @mohsenari in #903
- [direnv] drop shell.nix, rely solely on devbox shell --print-env by @savil in #902
- [examples tests] insert one second sleep for services to initialize by @savil in #904
- [cicd] bump timeouts for cli-tests by @savil in #905
- [CICD] stream go test output, and turn off DEVBOX_DEBUG for example tests by @savil in #906
- [CICD] Don't run example tests on mac by @mikeland86 in #907
New Contributors
Full Changelog: 0.4.6...0.4.7-dev