0.10.0-dev
Pre-releaseThis is a pre-release of our upcoming 0.10.0 Devbox Release.
To test the latest version of the 0.10.0 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.10.0-dev
To revert back to the previous release, unset this variable.
What's New in this Prerelease
In addition to all the features in our last prerelease, this prerelease adds the following:
Plugins v2
This release includes an update to our Devbox Plugins to make them more flexible and powerful. These changes are backwards compatible, so your current plugins should work as expected.
- Plugins now support all the fields from
devbox.json
, includingscripts
andpackages
:- Specifying
scripts
in your plugin.json will make those scripts available in any project that imports your plugin - Specifying
packages
in your plugin.json will install those packages in any project that imports your plugin
- Specifying
- Plugins can now include/import other plugins in the
include
field
This version also implements a merge algorithm that makes it possible to import multiple plugins, or even nest plugin imports. For more technical details, see the [#1850]
Corepack For NodeJS
Devbox now has a builtin plugin that configures Node.js packages to use Corepack. Corepack is a script bundled with Node.js that manages yarn, npm, and pnpm for your project without having to install them with Nix/Devbox. Huge thanks to @jasononeil and @jay-aye-see-kay for contributing the plugin.
We recommend using Corepack to install npm and other package managers instead of installing them directly with Devbox. Docs and examples will be updated to use Corepack for our full release.
Other Fixes:
- Fixed a backwards compatibility issue with the last Devbox pre-release
- Fixed a permissions issue on the
/code
directory when generating a Dockerfile. Thanks @agate for contributing this fix! devbox update
will now refresh git flakes to ensure that they are up to date. Thanks @kadaan for contributing this fix!- Fixed Github flake reference parsing to handle commit references +
?dir
query parameters. - Fixed a bug where Devbox symlinks are not properly recognized on some systems.
Full Changelog
- [update] Ignore update flake error by @mikeland73 in #1840
- [examples] Update all examples by @mikeland73 in #1841
- [cicd] split out project and non-projec tests by @mikeland73 in #1839
- [CICD] Unbreak by @mikeland73 in #1843
- [cicd] Run mac tests on cron only by @mikeland73 in #1844
- [Outputs] Update generated flake to handle store paths for each output by @savil in #1837
- [Outputs] make pkg.Installable and pkg.InputAddressedPaths return array by @savil in #1842
- Bump rails from 7.0.8 to 7.0.8.1 in /examples/stacks/rails/blog by @dependabot in #1859
- [plugins] Unify plugin config and devbox config by @mikeland73 in #1831
- [cleanup] remove unnecessary code when installing packages in store by @savil in #1847
- internal/shellgen: add trace messages to flake by @gcurtis in #1862
- nix/flake: handle github refs with / and subdirs by @gcurtis in #1863
- [nix-outputs] Fix flake installable with custom outouts by @mikeland73 in #1864
- [error message UX] Bring back nicer error messages for insecure and platform-incompatible packages by @savil in #1853
- [flakes] Ensure flake outputs are always used by @mikeland73 in #1865
- Fixes a bug where devbox symlink isn't recognized in some systems by @mohsenari in #1861
- [plugins] Use reflikes for plugins by @mikeland73 in #1845
- Add builtin plugin for nodejs + Corepack support by @Lagoja in #1860
- [outputs lockfile] make backwards compatible by @savil in #1866
- [Examples] Update devbox.lock to have Store Paths (for backwards compat) by @savil in #1873
- [versioning] Add tag version to json schema and templates by @mikeland73 in #1875
- [plugins] Implement plugins v2 by @mikeland73 in #1850
- [cleanup] Remove reflike and tyson by @mikeland73 in #1867
- internal/devconfig/configfile: remove NewPackage func by @gcurtis in #1880
- set the ownership of /code to devbox user by @agate in #1717
- Fix #1783: Support non-root install in pure mode by @kadaan in #1869
- Fix #1868: Fix flake handling by @kadaan in #1870
- [easy][UX] use ux.Finfo for printing ensuring packages are installed by @savil in #1888
- [Devbox] update dependencies by @savil in #1889
- all: go get -u ./... by @gcurtis in #1887
- [plugins] Fix relative plugins, add cycle detection by @mikeland73 in #1877
- [cleanup] Remove init rec feature by @mikeland73 in #1890
New Contributors
Full Changelog: 0.9.2-dev...0.10.0-dev