New in this release
- Custom Plugins — Custom plugins can now be defined without recompiling Devbox. This means you can create your own Plugins, and add them to your Devbox project by adding them to the
include
section of yourdevbox.json
- See our Creating Plugins docs for details on how to write your own plugin
- Check the examples directory in this repo for an example plugin
- Improved Search Results —
devbox search
anddevbox add
have several enhancements to make finding packages more reliable.- Devbox search uses our new v2 search endpoint, which is faster, more reliable, and more complete than our previous endpoint
- You can now search for a package with a version number (e.g.,
nodejs@20
) to get a better idea of how the reference will resolve - If a package is not in our search index or if our search index is unreachable, Devbox fall back to installing directly with Nix. This is useful for references like
stdenv.cc.cc.lib
which are not easily indexed by our search service. - Devbox’s search index can now search and add
nodePackages
from the Nix repository.
- Insecure Package Warnings and Override — Devbox will now warn you if a package that you wish to install has been marked insecure, and provide the reason why the package has been marked insecure.
- If you wish to use an insecure package, you can install it using
devbox add <pkg> --allow-insecure
. For example, to addnodejs@16
, you can rundevbox add nodejs@16 --allow-insecure
- If you wish to use an insecure package, you can install it using
Bug Fixes
- Fixed a fork bomb that could occur when adding certain packages, like
coreutils
(see #1260) - Fixed an error that could occur while cleaning up scripts (see #1252)
- Added a newline at the end of all generated files (see #1251)
Thanks to
- @hezhizhen for their contributions to this release
What's Changed
- [minor improvement] computeNixEnv: use JoinPathLists for idempotency of LIBRARY_PATHs by @savil in #1231
- [cleanup] remove unused Env code from bin-wrapper template by @savil in #1232
- [remove nixpkgs] part 2: generate flake.nix using builtins.fetchClosure by @savil in #1209
- Revert "[RFC][direnv-inspired] introduce export and hook commands, use in devbox shell, global and direnv (#1172)" by @savil in #1233
- [Docs] Updated docs for vscode integration by @mohsenari in #1234
- [docs] Fixed broken link in vscode doc page by @mohsenari in #1237
- [run] Add list flag to list all scripts by @hezhizhen in #1167
- [refactor] intro nixprofile package by @savil in #1238
- [refactor] move nix.Package to devpkg.Package by @savil in #1239
- call nix.System directly from lock.lockfile by @savil in #1245
- move nix.System call inside featureflag.RemoveNixpkgs if-condition by @savil in #1247
- Add MySQL docs, update example by @Lagoja in #1243
- [CLI] Added a "\n" to end of writefile by @mohsenari in #1251
- Fix script gen clean up failure by @LucilleH in #1252
- [search] Update search endpoints by @mikeland73 in #1249
- [plugins] Allow local non-compiled plugins by @mikeland73 in #1224
- [remove nixpkgs] enable fallback for packages not in binary store by @savil in #1236
- [remove nixpkgs] Enable installing and removing packages by @savil in #1255
- [remove nixpkgs] add toPath, and edit devbox.lock only on update command by @savil in #1256
- [remove nixpkgs] Naming: update Package methods to InputAddressedPath and ContentAddressedPath, and s/BinaryStore/BinaryCache by @savil in #1257
- [remove nixpkgs] move installableForPackage to a Package.Installable method by @savil in #1258
- [remove nixpkgs] bug fix: update only the user's sysInfo, rather than for all systems by @savil in #1259
- Add a Java Spring Boot Example by @Lagoja in #1261
- [bug] Added abs path ref. to devbox binary in wrappers by @mohsenari in #1260
- devbox add fallthrough and fallback for packages not handled by search by @LucilleH in #1264
- Update lockfile api for package source by @LucilleH in #1266
- [allow-insecure] Allow insecure packages with --allow-insecure flag by @mikeland73 in #1265
Full Changelog: 0.5.6...0.5.7