Skip to content

Releases: jetify-com/devbox

0.0.0-edge.2023-06-08

08 Jun 09:03
0001114
Compare
Choose a tag to compare
0.0.0-edge.2023-06-08 Pre-release
Pre-release

0.0.0-edge.2023-06-08 edge release

0.5.4

02 Jun 16:54
92bb293
Compare
Choose a tag to compare

New in this release

devbox global push/pull

Sync your global config to a git repo using devbox global push <git repo>, and then clone it on any machine using devbox global pull <git repo>.

Bug Fixes

  • Fixes a bug that prevented path: flakes from installing if they did not output a default package.
  • Fixes an bug where certain wrapped binaries caused an infinite loop
  • Fixes a race condition in devbox global
  • Improves reliability of wrappers in a multi-project env

Changelog

0.0.0-edge.2023-06-01

01 Jun 18:00
59a29ae
Compare
Choose a tag to compare
0.0.0-edge.2023-06-01 Pre-release
Pre-release

0.0.0-edge.2023-06-01 edge release

0.5.3

31 May 22:29
5ff0bdb
Compare
Choose a tag to compare

What's new in this release

Automatic @latest

  • Adding a package without a version number will now automatically install the latest version of the package from our Index. This is equivalent to running devbox add pkg@latest from the CLI
  • Pinning a specific Nixpkg commit for the entire project in your devbox.json is now deprecated. This release still maintains backwards compatibility, but the nixpkg commit will be removed from the config in an upcoming release.
  • See our guide on pinning packages for more information

Devbox Global Improvements

  • devbox global pull can now pull and activate a global profile from a tarball.
  • You can now use update, services, and run with devbox global.
  • Running devbox run without an argument will list the available global scripts

devbox create

  • Our new create subcommand makes it easy to create a new devbox project from a template.
  • Our current templates are based on the projects in our examples repo

MariaDB Plugin

  • Devbox can now automatically configure MariaDB packages using our Plugin.
  • Click here to see the example project, or read the MariaDB docs for more detail

PHP Plugin improvement

  • PHP plugin now lets you edit the php.ini file for your project.

Performance Improvements

  • Projects with a large number of packages are now significantly faster when running devbox add

Bug Fixes

  • Devbox no longer overwrites XDG_DATA_DIRS, instead it will prepend to the path
  • Fixed a bug that caused plugins to function incorrectly with certain Nix pnames
  • Fixed pip plugin autodetection
  • Fixed a bug that prevented Devbox from installing path: flakes without a default package
  • Changes to local flakes should now update when the user runs devbox install

Special thanks to

What's Changed

  • [haskell] Move planner to plugin by @mikeland86 in #1009
  • [devbox.json] Don't create nixpkgs commit hash by @mikeland86 in #1013
  • [examples] Added llama example by @mohsenari in #1008
  • [versions] Enable auto-latest by @mikeland86 in #1011
  • [easy][pip] Fix pip plugin by @mikeland86 in #1005
  • [planners] Remove unused planner code by @mikeland86 in #1012
  • [testscripts] augment php testscrpt to remove and re-add a php-extension by @savil in #1021
  • [devbox.json] Turn shell into pointer by @mikeland86 in #1014
  • [cicd] Simplify go CICD cache by @mikeland86 in #1019
  • chore: update dependencies by @hezhizhen in #1030
  • [direnv] Added warning for old envrc content by @mohsenari in #1018
  • [global] Remove global only functions, make global reuse local code by @mikeland86 in #1027
  • [bug fix] write devbox.lock file first, and then write local.lock by @savil in #1032
  • [devcontainer] Added shellenv to dockerfile template by @mohsenari in #1036
  • [UX] Improve ux when nixpkgs has not been downloaded by @mikeland86 in #1040
  • [plugin] Add php.ini in the PHP plugin by @Lagoja in #1039
  • [templates] Add ability to start project from a template by @mikeland86 in #1016
  • [docs] Correct direnv.md reference to devbox generate direnv by @chancecarey in #1042
  • [easy][bug] Fix legacy resolving when nixpkgs hash is not set by @mikeland86 in #1047
  • [pull] Implement pull tar by @mikeland86 in #1043
  • [refactor] Move config to own package. Don't warn if overwriting defa… by @mikeland86 in #1045
  • [global] Add update/services/run commands to global by @mikeland86 in #1046
  • [shellenv] prepend to XDG_DATA_DIRS, instead of overwriting by @savil in #1041
  • MariaDB Plugin by @Lagoja in #1048
  • [perf] Improve how we determine attribute path by @mikeland86 in #1050
  • feat: add list to devbox run if no args are given by @bketelsen in #1054
  • [docs] Mention bundler flags/configs for ruby projects by @mauricioabreu in #1031
  • [Flakes] Changes to local flakes should reflect in shell after devbox install by @savil in #1063
  • [plugins] Improve how we determine package name in plugins by @mikeland86 in #1062
  • [docs][easy] Fix missing code block type in ruby.md by @mikeland86 in #1065
  • [packages] fix error check in pendingPackagesForInstallation by @savil in #1052
  • [flakes] Fix flakes with fragments by @mikeland86 in #1069

New Contributors

Full Changelog: 0.5.2...0.5.3

0.5.2

18 May 18:22
8f579b2
Compare
Choose a tag to compare

What's new in this release

  • Fixes a bug that would repeatedly prompt users to update

Changelog

0.5.1

18 May 00:56
8661579
Compare
Choose a tag to compare

What's new in this release

This release fixes the following issues:

  • devbox search is now visible in the Devbox CLI Help
  • Fixed a shell.nix bug that would break some direnv use cases
  • Updates the PHP planner to a Flake-backed Plugin
  • Fixes a bug that would print update notices multiple times.

Changelog

0.5.0: Find and Install Nix Packages by Version

15 May 22:26
e2478a2
Compare
Choose a tag to compare

What's New in This Release

This release includes one of our most requested features: installing a specific package version with Devbox. A complete list of features and commits is available below.

To install 0.5.0, run devbox version update from the command line, or follow the installation steps on our docs page. You can also check out our blog post for more details

Install Packages by Version Number

Previously, developers could only install the latest version of a Nix package available in Nixpkgs, or they had to look up and pin an alternative commit in their devbox.json. With 0.5.0, we maintain an index that maps version strings to Nixpkg commits, so users can install their packages by providing a name and version.

This change is backwards compatible, meaning you do not have to update your existing devbox.json immediately when you move to 0.5.0. More details are available in our Docs

Search for Packages

You can see what versions of a package are available to install by running devbox search <package>

$ devbox search nodejs

Found 168+ results for "nodejs":

* nodejs (19.8.1, 19.7.0, 19.5.0, 19.2.0, 18.16.0, 18.15.0, 18.14.2, 18.13.0, 18.12.1, 18.10.0, 
18.8.0, 18.4.0, 18.0.0, 17.9.0, 17.5.0, 17.3.0, 17.0.1, 16.19.1, 16.19.0, 16.18.1, 16.17.1, 16.17.0, 
16.15.0, 16.14.0, 16.13.1, 16.13.0, 16.8.0, 16.4.0, 16.0.0, 15.14.0, 15.10.0, 15.5.0, 15.0.1, 
14.18.1, 14.18.0, 14.17.5, 14.17.1, 14.16.1, 14.16.0, 14.15.3, 14.15.0, 14.9.0, 14.4.0, 13.14.0, 
12.22.12, 12.22.10, 12.22.8, 12.22.7, 12.22.5, 12.22.1, 12.21.0, 12.20.0, 12.19.0, 12.18.3, 
12.18.1, 10.24.1, 10.24.0, 10.23.0, 10.22.0, 10.21.0)
* nodejs_16 (16.20.0)
* nodejs_18 (18.16.0)
* nodejs_19 (19.9.0)
* nodejs_20 (20.0.0)
...

Adding a Package to Your Project

You can add a specific version of a package to your project by running devbox add <package>@<version>. For example, to add NodeJS 16.15.0 to your project you can run:

For packages that follow semver, you can also specify a minor or major version that you want to pin. For example, to install the latest version of NodeJS 16, you can run:

devbox add nodejs@16

To install the latest available version of NodeJS, you can run

devbox add nodejs@latest

or add nodejs@latest to the packages in your devbox.json.

If you do not include a version, Devbox will install the latest version of the package available in the nixpkgs.commit set in your devbox.json file.

Installing and Locking your Packages

Devbox will install your packages and generate a devbox.lock file whenever you run devbox add, devbox install, or whenever activate your shell.

{
      "[email protected]": {
          "last_modified": "2022-06-30T00:42:12Z",
          "resolved": "github:NixOS/nixpkgs/d3248619647234b5dc74a6921bcdf6dd8323eb22#nodejs-16_x",
          "version": "16.15.0"
       }
}

You can check this lockfile in to ensure that every developer who uses your project gets the same packages

Updating your Packages

You can update your devbox.lock and packages by running devbox update. This will fetch the latest versions of your packages that are compatible with your devbox.json

Other features and fixes

  • You can now explicitly activate plugins by adding the to the include section of your devbox.json. This is helpful for when you are installing a package from a flake, but also want to activate a devbox plugin. See more in our documentation
  • We’ve simplified our direnv function to a minimal 2 line script.
  • The Dockerfile generated by devbox generate dockerfile|devcontainer is now based on Debian instead of Alpine.
  • Fixed a bug where $SHELL was not being passed to binaries in your devbox shell (contributed by @ragingpastry)
  • Improved process spawning for devbox wrapper scripts (contributed by @literatesnow)
  • Added an install command and optional --init-hooks flag for devbox global

Special Thanks to:

Full Changelist

  • Devbox Services 2.0 docs by @Lagoja in #886
  • Flake Docs by @Lagoja in #909
  • [direnv] update envrcs in projects by @savil in #915
  • Update Flakes.md Typos by @Lagoja in #918
  • Reduce cognitive complexity by @hezhizhen in #911
  • Example for linking a custom extension to PHP by @Lagoja in #919
  • [direnv] change default hooks for shell --print-env by @mohsenari in #928
  • bring back shell.nix by @savil in #927
  • [search] Add search command by @mikeland86 in #916
  • [cleanup] Simplify code by removing printDevEnv cache and version file by @mikeland86 in #921
  • [add] Implemented devbox add granular package selection by @mikeland86 in #923
  • impl: semicolon at the end of env string commands by @gcurtis in #929
  • chore: move ssh-config generation out of general generating process and wrap its error by @hezhizhen in #922
  • Update add method of devbox interface by @hezhizhen in #924
  • [devbox global] Added init hook flag to global shellenv by @mohsenari in #920
  • [cleanup] add VirtenvBinPath variable by @hezhizhen in #932
  • chore: correct package comment and tweak OSExpandEnvMap by @hezhizhen in #937
  • [devbox global] Added devbox global install command by @mohsenari in #935
  • [cleanup] replace checks for file existing with fileutil.Exists by @hezhizhen in #944
  • [cleanup] replace literal http methods with constants by @hezhizhen in #942
  • Replace current process instead of spawning a new one. by @literatesnow in #934
  • chore: move all env to one package by @hezhizhen in #941
  • [vscode extension] ensure directory exists for ssh keys by @savil in #945
  • [cleanup] update checks for exist errors and not exist errors by @hezhizhen in #943
  • chore: move all env utils to env package by @hezhizhen in #946
  • [vscode extension] bump version and add to CHANGELOG by @savil in #951
  • update README for publishing vscode-extension by @savil in #953
  • [cleanup] replace pkgslice with lo by @hezhizhen in #948
  • [tests] global-add should not fail if global-bins-not-in-path and add testscript unit tests for add and global-add by @savil in #958
  • [cleanup] remove unused functions by @hezhizhen in #947
  • [global] Don't add global packages to local by @mikeland86 in #952
  • fix: inherit SHELL env variables in wrappers by @ragingpastry in #950
  • [lockfile] Add lockfile and use search endpoint to resolve versions by @mikeland86 in #936
  • [easy][wrappers] Ensure wrappers use correct project dir by @mikeland86 in #960
  • [easy][global] Don't show eval message if already shellenved by @mikeland86 in #961
  • Update CONTRIBUTING.md with fixes and style guide by @gcurtis in #963
  • chore: update or add copyright text by @hezhizhen in #968
  • [release] also release to stable-channel's S3 bucket by @savil in #969
  • chore: update env constants and functions by @hezhizhen in #954
  • chore: rename package env as envir by @hezhizhen in #962
  • [version] part 1: update command for devbox and launcher updates by @savil in #965
  • [version update] use LAUNCHER_PATH in triggerUpdate function by @savil in #975
  • [lockfile] Use lockfile for legacy packages by @mikeland86 in #964
  • feat: add cmdutil package to provide utils for commands by @hezhizhen in #970
  • doc: Fix typo in zig.md by @saimen in #977
  • Bump sqlparse from 0.4.3 to 0.4.4 in /examples/stacks/django by @dependabot in #940
  • [update] Implement devbox update by @mikeland86 in #978
  • chore: use constants defined in envir in version check by @hezhizhen in #976
  • chore: add GetValueOrDefault f...
Read more

0.0.0-edge.2023-05-11

11 May 09:03
a1d77e7
Compare
Choose a tag to compare
0.0.0-edge.2023-05-11 Pre-release
Pre-release
Bump django from 4.1.7 to 4.1.9 in /examples/stacks/django (#992)

Bumps [django](https://github.com/django/django) from 4.1.7 to 4.1.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/django/django/commit/dceb634ba42d3a182ea653dce31a529017f75a95"><code>dceb634</code></a>
[4.1.x] Bumped version for 4.1.9 release.</li>
<li><a
href="https://github.com/django/django/commit/e7c3a2ccc3a562328600be05068ed9149e12ce64"><code>e7c3a2c</code></a>
[4.1.x] Fixed CVE-2023-31047, Fixed <a
href="https://redirect.github.com/django/django/issues/31710">#31710</a>
-- Prevented potential bypass of v...</li>
<li><a
href="https://github.com/django/django/commit/491dccec1aa10e829539e4e4fcd8cca606a57ebc"><code>491dcce</code></a>
[4.1.x] Added missing backticks in docs/releases/1.7.txt.</li>
<li><a
href="https://github.com/django/django/commit/6d334a0ca54f2f8b3cce28070367110497d8d82c"><code>6d334a0</code></a>
[4.1.x] Added stub release notes for 4.1.9 and 3.2.19.</li>
<li><a
href="https://github.com/django/django/commit/f55bcff9dcac1d0cb1f927f9fd543cfd567400c4"><code>f55bcff</code></a>
[4.1.x] Refs <a
href="https://redirect.github.com/django/django/issues/34118">#34118</a>
-- Fixed CustomChoicesTests.test_uuid_unsupported on Pyth...</li>
<li><a
href="https://github.com/django/django/commit/685721b4c5551c3ef755421c2f64c164e809c3b7"><code>685721b</code></a>
[4.1.x] Post-release version bump.</li>
<li><a
href="https://github.com/django/django/commit/bbce0153919c6e9ec7886f5ef3ce76463fae57c6"><code>bbce015</code></a>
[4.1.x] Bumped version for 4.1.8 release.</li>
<li><a
href="https://github.com/django/django/commit/67a79dcf5b245f6cb0a77e232243c6b4033dea5c"><code>67a79dc</code></a>
[4.1.x] Added release date for 4.1.8.</li>
<li><a
href="https://github.com/django/django/commit/ba1654cb54eccef3ba29e455cd5065aed84e1f90"><code>ba1654c</code></a>
[4.1.x] Fixed <a
href="https://redirect.github.com/django/django/issues/34384">#34384</a>
-- Fixed session validation when rotation secret keys.</li>
<li><a
href="https://github.com/django/django/commit/ff3e3eb2bd6c259807e5409a8e7299d00a42687e"><code>ff3e3eb</code></a>
[4.1.x] Added stub release notes for 4.1.8.</li>
<li>Additional commits viewable in <a
href="https://github.com/django/django/compare/4.1.7...4.1.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django&package-manager=pip&previous-version=4.1.7&new-version=4.1.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/jetpack-io/devbox/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

0.0.0-edge.2023-05-10

10 May 01:02
Compare
Choose a tag to compare
0.0.0-edge.2023-05-10 Pre-release
Pre-release
Disable tests

0.4.9

03 May 17:05
Compare
Choose a tag to compare

What's new in this release

Devbox will no longer automatically update whenever a new version is available. Instead, users will be notified when a new version of the CLI or Launcher (which manages the Devbox Updates) is available, and prompted to update using devbox version update.

If you would like to pin a specific version of Devbox (for example, when using Devbox in CI), or rollback to an older version of Devbox after updating, you can set the DEVBOX_USE_VERSION environment variable to the version number you'd like to use. For example, to reliably install Devbox 0.4.9 in a CI/CD environment, you can run:

export DEVBOX_USE_VERSION=0.4.9
curl -fsSL https://get.jetpack.io/devbox | bash

Changelog

  • b03f0d2 [version update] use LAUNCHER_PATH in triggerUpdate function (#975)
  • 00d4182 [github post-release] also publish to stable S3 bucket
  • 2de18c7 [version] part 1: update command for devbox and launcher updates (#965)