Skip to content

Releases: jetify-com/devbox

0.10.3

01 Apr 20:41
1ff72fa
Compare
Choose a tag to compare

What's Changed

This changes the oauth2 issuer domain from accounts.jetpack.io to accounts.jetify.com (For logged in use only. This has no effect on logged out use).

Full Changelog: 0.10.2...0.10.3

0.10.2

28 Mar 23:05
63981b0
Compare
Choose a tag to compare

This dot release includes the following fixes/features:

  • Fix bug where php and other packages with built in plugins could not be removed with devbox rm
  • Fix bug where some plugins were re-writing user files in devbox.d
  • Allow comments in plugin.json files. (similar to devbox.json). These comments are ignored when parsing.

What's Changed

  • 0.10.0 Docs by @Lagoja in #1900
  • [Plugins] Do not overwrite existing user-config files of plugins by @savil in #1917
  • Support Project Directory having spaces by @savil in #1920
  • remove extraneous print by @savil in #1922
  • [plugins] support reading (and discarding) comments plugin.json files by @savil in #1923
  • [path with spaces] run scripts for projects with paths in spaces by @savil in #1924
  • Update nodejs README.md to include corepack by @LucilleH in #1928
  • [plugins] remove extraneous code change from #1917 by @savil in #1937
  • Revert "[path with spaces] run scripts for projects with paths in spaces (#1924)" by @savil in #1935
  • [docs] FAQ: add --experimental to nix store gc by @savil in #1941
  • [plugins] Fix rm for packages with __remove_trigger_package by @mikeland73 in #1940
  • [plugins] change pip venv shell hook recommendation to be posix-compatible by @savil in #1939

Full Changelog: 0.10.1...0.10.2

0.10.1

15 Mar 20:34
6758504
Compare
Choose a tag to compare

This release includes the following fixes for Devbox 0.10.0:

  • Fixes a bug that kept process-compose from updating on systems using Nix >2.20.
  • Corepack for Node.js is now an opt-in feature. Devs can enable corepack by setting DEVBOX_COREPACK_ENABLED in the env section of their devbox.json. For starting new projects, we recommend using Corepack to manage npm, yarn, or pnpm.

Changelog

0.10.0 - Plugins v2, Non-default Outputs, Corepack support, and more

15 Mar 00:25
ff7b1cb
Compare
Choose a tag to compare

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

Read more

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 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.

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