This is a pre-release of our upcoming 0.9.2 Devbox Release.
To test the 0.9.2 prerelease, export the DEVBOX_USE_VERSION environment variable in your shell. We recommend adding this line to your shell's rc file
export DEVBOX_USE_VERSION=0.9.2-dev
To revert back to the previous release, unset this variable. Please see the note below on changes to our lockfile before reverting to a previous release.
What's new in this pre-release
Alternate Outputs Support
You can now install alternate outputs for a package with devbox add
using the --outputs
flag, no flake references required.
For example, if you need to install the promtool cli along with the prometheus package, you can now run devbox add prometheus@latest --outputs=out,cli
.
GLIBC Library Patching
This release updates Devbox's ability patch a package to use the latest available version of glibc
. This fix should help address version 'GLIBC_x.xx' not found
errors that may occur when installing or running a mix of older and newer packages with Devbox, especially when using older versions of interpreted languages like Python or Ruby.
If you encounter this error in your project, you should run devbox add <package-name> --patch-glibc
on the language interpreter or runtime. For example, if you encounter this with a Python 3.8 project, you should run devbox add python@3.8 --patch-glibc
.
This release also unsets the LD_LIBRARY_PATH
and LIBRARY_PATH
variables in Devbox Shell, which could cause compatibility or missing library issues.
Process-compose Updates
The version of process-compose used by Devbox has been updated to 0.85.0. Additionally, we've updated Devbox to assign a random port to process-compose instead of using a pre-selected block, which should reduce the risk of port contention.
Other Improvements and Bug Fixes:
- Fixes a bug with parsing Flake URL references
- Devbox environments will now update faster if you are adding a package that is already in your Nix store
devbox.json
files created by the CLI now include our JSON schema- Fixes to various examples and templates
- Other small UX improvements and fixes
Note on devbox.lock
Changes
This pre-release includes some lockfile formatting changes to support alternate outputs. Using the pre-release may modify your devbox.lock
file, but should not change your locked packages. These changes are incompatible with earlier versions of Devbox, so we recommend backing up your devbox.lock
file while testing the pre-release
Thanks to:
@evsl for contributing for the first time, fixing a critical bug in how we parsed Flake URLS #1819
@t-monaghan for contributing for the first time, adding the devbox.json schema to generated projects: #1760
@literatesnow for adding documentation on DEVBOX_NO_PROMPT to our Devbox docs: #1792
Full Changelog
- internal/devpkg: move flake code into new nix/flake package by @gcurtis in #1789
- internal/searcher,lock: use /v2/resolve endpoint by @gcurtis in #1790
- [telemetry] Fix release in telemetry by @mikeland73 in #1775
- examples/development/zig: update to 0.11.0 and fix for macOS by @gcurtis in #1795
- examples/development/elixir: update elixir to fix for macOS Sonoma by @gcurtis in #1796
- ci: run example tests on macOS for releases by @gcurtis in #1797
- Bump puma from 5.6.7 to 5.6.8 in /examples/stacks/rails/blog by @dependabot in #1706
- plugins/redis: log to stdout by default by @gcurtis in #1793
- [secrets] Fix working dir for secrets upload/download by @mikeland73 in #1800
- internal/devbox: stop setting LD_LIBRARY_PATH and LIBRARY_PATH by @gcurtis in #1799
- examples/stacks/rails: update deps for dependabot by @gcurtis in #1802
- Add documentation for DEVBOX_NO_PROMPT to the FAQ. by @literatesnow in #1792
- examples/insecure: modernize devbox.json by @gcurtis in #1804
- examples/stacks/drupal: fix for local by @gcurtis in #1801
- all: upgrade to Go 1.22 by @gcurtis in #1805
- docs: update dependencies by @gcurtis in #1803
- [search api] enable /v2/resolve api by @savil in #1807
- Bump grpcio from 1.53.0 to 1.53.2 in /examples/development/python/pipenv by @dependabot in #1808
- Json schema included in initial devbox.json file by @t-monaghan in #1760
- ci: increase mac test timeout to 1 hour by @gcurtis in #1809
- [gen-readme] Allow custom templates by @mikeland73 in #1794
- [CICD] Add slack message when cli release is complete by @mikeland73 in #1806
- [secrets] Update envsec by @mikeland73 in #1812
- [docker] fix for devbox docker image root-user build by @mohsenari in #1811
- nix/flake: installables exclude attribute path from URL by @evsl in #1819
- [config] Refactor config to prepare for imports by @mikeland73 in #1817
- internal/shellgen: stop adding flake to git by @gcurtis in #1822
- shellgen: update store paths when patching glibc by @gcurtis in #1818
- [Outputs] Add store-paths of package outputs to devbox.lock by @savil in #1814
- [UX] Show add (nix build) stdout by @mikeland73 in #1826
- Update Process Compose to 0.85.0 by @Lagoja in #1820
- [UX] Better dedup packages we nix build, and improve UX printouts by @savil in #1827
- [process-compose] Improve port selection by @mikeland73 in #1835
- [cicd] Update versions, fix cache error by @mikeland73 in #1836
- [easy][cicd] Disable insecure pacakge example test by @mikeland73 in #1838
New Contributors
- @t-monaghan made their first contribution in #1760
- @evsl made their first contribution in #1819
Full Changelog: 0.9.1...0.9.2-dev