github jetify-com/devbox 0.10.0
0.10.0 - Plugins v2, Non-default Outputs, Corepack support, and more

latest releases: 0.13.2, 0.13.1, 0.13.0...
6 months ago

What's new in this Release

This new release includes a new, more powerful plugin system, support for installing non-default outputs in devbox.json without a Flake reference, and lots of other features.

You can update to the latest release by running devbox version update from your CLI. If you were testing a pre-release version of Devbox, you will need to unset DEVBOX_USE_VERSION before upgrading.

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, including scripts and packages:
    • 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
  • Plugins can now include/import other plugins in the include field
  • Plugins installed from a Github repo will now get their own directories in devbox.d and .devbox/virtenv, instead of being combined in a single folder. This makes it easier to host multiple plugins from a single repo.

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]

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.

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 recommend Corepack

GLIBC Library Patching

This release updates Devbox's ability patch a package to use a newer 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.

This is an early, in development feature. Please let us know on Discord and Github if you run into any issues when patching glibc.

Process-compose 0.85.0

  • The version of process-compose used by Devbox has been updated to 0.85.0. We also refactored some code so that we can keep process-compose more up to date in the future
  • 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 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.
  • 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
  • Removed recommendations when running devbox init, since these were not very relevant to users
  • Fixes to various examples and templates
  • Other small UX improvements and fixes

What's Changed

New Contributors

Full Changelog: 0.9.1...0.10.0

Don't miss a new devbox release

NewReleases is sending notifications on new releases.