What's New in This Release
Platform Specific Packages
- Users can now add packages to their
devbox.json
that will only install on specific platforms. This is useful when you need to install specific packages on Linux or macOS that are not compatible with different platforms.- To only install a package on a specific platform, you can use
devbox add <package> --platform <platforms>
. For example:devbox add busybox --platform x86_64-linux,aarch64-linux
will add busybox to your devbox.json, but only install it on Linux Platforms - To prevent devbox from installing on a specific platform, you can use
devbox add <package> --exclude-platform <platforms>
- To only install a package on a specific platform, you can use
- Note: Specifying platforms for packages will alter your
devbox.json
in a way that is only compatible with Devbox 0.5.12 and newer. You can update Devbox usingdevbox version update
Customize the NGINX Plugin with Environment Variables
- Our NGINX plugin now installs and uses
envsubst
so that developers can manage and customize their nginx.conf file with environment variables. This is similar to how NGINX docker containers work.
Public Docker Image for Devbox
- We now publish an official Docker image for Devbox at jetpackio/devbox. You can use this image to run Devbox in CI/CD, or to test Devbox without installing Nix locally
- We've also updated
devbox generate dockerfile|devcontainer
to use this public image, which should simplify and speed up local image builds
devbox info
Improvements
devbox info
now shows the summary information for packages, along with any plugins that are available for the package.
Bug Fixes and Improvements
- Devbox will now skip version checks for commands like
devbox log
- Fixed a permissions issue that could affect the
.devbox
folder when switching between using Devbox locally and in a Docker container - Improved performance for
devbox run
by skipping binwrapper generation - Added checks to ensure plugin packages are added to nix profile
- Fixed a bug for
nix profile list
that affected packages added by store path
What's Changed
- Update node example to use the prebuilt binary by @LucilleH in #1362
- [extension] Added github action step to publish to openvsx by @mohsenari in #1341
- [docs] Updated docs for --root-user flag by @mohsenari in #1365
- Add docs for --env and devbox run changes by @Lagoja in #1366
- [vscode extension] Fixed github action workflow error by @mohsenari in #1368
- Added --root-user flag to devbox generate by @mohsenari in #1359
- [plugins] Ensure plugin packages are in nix profile by @mikeland73 in #1367
- [Packages] Introduce the concept of Installable packages by @savil in #1357
- devbox.findPackagesByName should be constructed from Config packages by @savil in #1360
- [bin-wrappers] Don't use wrappers on run by @mikeland73 in #1361
- [per-OS Packages] Add platforms and excluded_platforms functionality by @savil in #1358
- [per-OS Packages] in devbox add, allow multiple --platform/--exclude-platform flag values by @savil in #1363
- [per-OS Packages] Suggest --platform/--exclude-platform upon error with installing package that is uninstallable on user's platform by @savil in #1364
- [per-OS Packages] fix devbox update for unversioned packages with platform/excluded-platform by @savil in #1370
- [per-OS Packages] Error if adding --platform, when
excluded_platforms
is defined by @savil in #1373 - [nix.System] call EnsureNixInstalled from devbox.Open, and cleanup function API by @savil in #1374
- [info] Modernize via search api by @savil in #1376
- [Remove Nixpkgs] Ensure we run cli-tests for oldest supported nix version, and 2.17 by @savil in #1375
- [docs] update docs to highlight restrictions for direnv integration by @LucilleH in #1377
- [rm nixpkgs] make HEAD request to BinaryCache to ensure binary is cached by @savil in #1318
- [cli-test] speed up yarn example by @savil in #1386
- [cli-tests] fix by pinning dependencies in rails examples by @savil in #1408
- [docs] Added pure flag docs by @mohsenari in #1411
- [per-OS Packages] Improve error message if package is uninstallable by @savil in #1387
- [Remove Nixpkgs] move concurrency code to own file by @savil in #1412
- fix: typo in mysql process-compose.yml by @kei01234kei in #1383
- [docs] Added devbox global push docs page by @mohsenari in #1414
- [global] Added hardcoded region to push pull bucket by @mohsenari in #1413
- Add missing READMEs to templates, fix lint by @Lagoja in #1418
- Change YAML titles to H1 for better rendering by @Lagoja in #1419
- [dockerhub] Added action for publishing docker image by @mohsenari in #1421
- Give Github Actions instance more disk by @ipince in #1427
- [shell] Support zim (a zsh framework) by @savil in #1428
- [rm-nixpkgs] Fix profile list bug for packages added by store path by @ipince in #1416
- Read all store paths from profile item by @ipince in #1417
- Fix bug when comparing profile item added by store path by @ipince in #1422
- [bug fix] do not check version for devbox log, and for commands whose prefix is in the skip-list by @savil in #1424
- docs: devbox remove command not exist, only rm by @Akiyamka in #1433
- [go] update to 1.21 version by @savil in #1436
- [generate] Updated dockerfile template to use devbox image by @mohsenari in #1432
- bug fix: FillNarInfoCache for versioned packages when adding package by @savil in #1437
- introduce testscript-examples updater, and update the examples by @savil in #1438
- [golangci-lint] bump action to latest release by @savil in #1439
- Use
envsubst
in our NGINX plugin by @Lagoja in #1435 - [per-OS Packages] omitempty for version in expanded Package json representation by @savil in #1440
- [Github Action] Only run max space action on ubuntu by @savil in #1447
New Contributors
- @kei01234kei made their first contribution in #1383
- @Akiyamka made their first contribution in #1433
Full Changelog: 0.5.11...0.5.12