Skip to content

Releases: jetify-com/devbox

0.10.0-dev

12 Mar 21:07
25e35f2
Compare
Choose a tag to compare
0.10.0-dev Pre-release
Pre-release

This 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, 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

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

New Contributors

Full Changelog: 0.9.2-dev...0.10.0-dev

0.9.2-dev

26 Feb 18:48
b2ea1dc
Compare
Choose a tag to compare
0.9.2-dev Pre-release
Pre-release

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 [email protected] --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

New Contributors

Full Changelog: 0.9.1...0.9.2-dev

0.0.0-edge.2024-02-15

15 Feb 09:32
821906b
Compare
Choose a tag to compare
0.0.0-edge.2024-02-15 Pre-release
Pre-release

0.0.0-edge.2024-02-15 edge release

0.0.0-edge.2024-02-08

08 Feb 00:18
Compare
Choose a tag to compare
0.0.0-edge.2024-02-08 Pre-release
Pre-release

0.0.0-edge.2024-02-08 edge release

0.9.1

05 Feb 20:03
f48959d
Compare
Choose a tag to compare

Fixes in this release:

  • Adds compatibility with Nix 2.20
  • Fixes a syntax error when running init_hooks in Fish shell.

Changelog

  • f48959d internal/nix: fix unredacted error message (#1782)
  • 2018568 [github actions] changed root-reserve size (#1786)
  • b390352 [eval symlinks] eval symlinks in print-dev-env (#1777)
  • 6d9ea74 [update] change Error: to Warning: for failed attempt to upgrade flake (#1773)
  • 12f2daf nix: improve redacted nix error (#1776)
  • f050ab8 [state] Ignore shell mismatch for run (#1774)
  • 799368c [fish] make init hook recursion fish compatible (#1771)
  • 67f4f9f [nix profile] Changes to support format changes from nix 2.20 (#1770)

0.0.0-edge.2024-02-01

01 Feb 09:04
f14ed9d
Compare
Choose a tag to compare
0.0.0-edge.2024-02-01 Pre-release
Pre-release

0.0.0-edge.2024-02-01 edge release

0.9.0

01 Feb 00:14
7796d01
Compare
Choose a tag to compare

Improved Nix Profile Generation

We've improved how Devbox creates Nix Profiles for your development shells to make it more reliable and deterministic. In addition to simplifying our profile generation code, this should ensure that changes to your installed packages are more reliably reflected in your Nix Shell.

--allow-insecure Improvements

You can now pass a list of packages to the --allow-insecure flag. This is useful when you need to allow a list of insecure dependencies for a package

For example: installing sublime4 will fail because openssl-1.1.1w is marked insecure in Nixpkgs. To override the warning and install openssl, you can run devbox add sublime4 --allow-insecure=openssl-1.1.1w:

299856518-8d922d43-0c1c-4e86-ae6e-12fe9bc9e82d

Fish init_hook Improvements

Init Hooks are now sourced correctly when run in Fish shell, which should avoid script parsing errors on starting the shell.

Changelog

  • 7796d01 [fish] use fish hooks file for devbox.EnvExports (used in shellenv) (#1756)
  • 5585d21 [vscode-exntension] extension version 0.1.4 changes (#1757)
  • 414c517 [add] migrate allow_insecure from lockfile to config (#1754)
  • 3697cb9 [devbox add] --allow-insecure should handle multiple, user-specified packages (#1749)
  • 3ac7be0 [fish] use exit instead of return in init-hook recursion guard (#1755)
  • f4a8c74 Update Docs: direnv, gen readme, FAQs (#1751)
  • 2fee55b [vscode-extension] Logging events in logfile (#1745)
  • 1732602 [easy] remove extraneous debugging Printf from devbox.installNixPackagesToStore (#1750)

0.9.0-pre

30 Jan 23:01
7796d01
Compare
Choose a tag to compare
0.9.0-pre Pre-release
Pre-release

Pre-release of our upcoming 0.9.0 release, including improvements to Devbox profile generation, better support for overriding insecure packages, and more

Features

Improved Nix Profile Generation

We've improved how Devbox creates Nix Profiles for your development shells to make it more reliable and deterministic. In addition to simplifying our profile generation code, this should ensure that changes to your installed packages are more reliably reflected in your Nix Shell.

--allow-insecure Improvements

You can now pass a list of packages to the --allow-insecure flag. This is useful when you need to allow a list of insecure dependencies for a package

For example: installing sublime4 will fail because openssl-1.1.1w is marked insecure in Nixpkgs. To override the warning and install openssl, you can run devbox add sublime4 --allow-insecure=openssl-1.1.1w:

299856518-8d922d43-0c1c-4e86-ae6e-12fe9bc9e82d

Fish init_hook Improvements

Init Hooks are now sourced correctly when run in Fish shell, which should avoid script parsing errors on starting the shell.

How to Install

To opt in to the pre-release, export DEVBOX_USE_VERSION=0.9.0-pre in your shell. We recommend adding this to your shellrc file if you plan to test the pre-release long term.

To revert to the last released version, unset the DEVBOX_USE_VERSION environment variable

Changelog

  • 7796d01 [fish] use fish hooks file for devbox.EnvExports (used in shellenv) (#1756)
  • 5585d21 [vscode-exntension] extension version 0.1.4 changes (#1757)
  • 414c517 [add] migrate allow_insecure from lockfile to config (#1754)
  • 3697cb9 [devbox add] --allow-insecure should handle multiple, user-specified packages (#1749)
  • 3ac7be0 [fish] use exit instead of return in init-hook recursion guard (#1755)
  • f4a8c74 Update Docs: direnv, gen readme, FAQs (#1751)
  • 2fee55b [vscode-extension] Logging events in logfile (#1745)
  • 1732602 [easy] remove extraneous debugging Printf from devbox.installNixPackagesToStore (#1750)

0.0.0-edge.2024-01-25

25 Jan 09:03
64b4d87
Compare
Choose a tag to compare
0.0.0-edge.2024-01-25 Pre-release
Pre-release

0.0.0-edge.2024-01-25 edge release

0.8.7

24 Jan 00:14
525bb17
Compare
Choose a tag to compare

Fixed in this release

  • Fixed an issue that would throw syntax errors when running init_hooks in Fish shell
  • Added a command (devbox gen readme) to generate a Markdown Readme from a devbox.json

Changelog