Skip to content

0.4.3

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Mar 20:17
· 1001 commits to main since this release
a619f01

What's New

Devbox is now powered by Nix Flakes

  • Flakes are a new feature in the Nix Language that allows us to package software and create dev shells in a fully reproducible way. This has significant benefits for our ability to upgrade and cache evaluation results.
  • Immediate benefit to users should be faster warm start times for Devbox Shell. We’ve seen some data that Devbox can start up a shell 70% faster after the first installation.
  • Learn more by reading our blog: Devbox 0.4.3: Powered by Flakes

Declare environment variables in devbox.json.

  • Developers can now declare environment variables in their devbox.json under the env object. For example, you can set variable $FOO to bar as follows:
    {
        "packages": [
            "python310"
        ],
        "env": {
            "FOO": "bar"
        },
        "shell": {
            "init_hook": null,
        "nixpkgs": {
            "commit": "..."
        }
    }
  • This lets developers better organize their devbox.json, and avoid lengthy export statements in their init_hook
  • For more details, check out our Docs

Bug Fixes in this Release

  • Fixes a bug where Fish shell would fail to inherit host environment variables
  • Fixed a bug where devbox shellenv was prepending an incorrect path.
  • Fixed a bug that could mangle a user’s PS1 when evaluating devbox shellenv
  • Fixed bugs in generated devcontainer.json, which would include some extensions multiple times

Special thanks to:

What's Changed

  • Add revive linter and enable indent-error-flow rule by @hezhizhen in #651
  • [flakes] enable featureflag by @savil in #716
  • [Devcontainer] Fixed path for python interpreter in devcontainer.json by @mohsenari in #715
  • [vscode extension] Fixed autorun shell on new terminal open bug by @mohsenari in #717
  • [devcontainer] Fixed bug on multiple python extensions listed in devcontainer by @mohsenari in #718
  • Fix fish shell after #706 by @ipince in #721
  • Replace os.Setenv with t.Setenv in tests by @hezhizhen in #720
  • Enable the Env in Config Feature by @Lagoja in #722
  • [easy][code cleanup] move packages specific functions to impl/packages.go by @savil in #723
  • [easy][cleanup] move nix.DevboxShell to impl.DevboxShell by @savil in #724
  • [CICD] auto-nix-install: export env-var and add DEVBOX_DEBUG=1 by @savil in #727
  • Clean up error handling and docs by @hezhizhen in #726
  • [cicd] auto-nix-install: set github access token by @savil in #728
  • Remove obsolete code after unified env by @ipince in #729
  • Remove dead code by @ipince in #732
  • Shellenv prepends to original path, not current path by @ipince in #730
  • plansdk: get cloud cache from environment by @gcurtis in #734
  • Escape env vars in shellenv the same way as in shellrc by @ipince in #731
  • Plugin Contributing Guide by @Lagoja in #611
  • Remove more dead code by @ipince in #735
  • [xdg]: unexport xxxDir() and use xxxSubpath() only by @hezhizhen in #733
  • Fix build: only go:embed .json files in plugins dir by @ipince in #743
  • Fix quickstart button to link to tutorial by @Lagoja in #737
  • Include plugin subdirs by @ipince in #746
  • [config] early return if cannot find GlobalDataPath by @savil in #739
  • [flakes] Assign higher priority to later packages to resolve conflicting packages error by @savil in #738
  • Update and activate stale-issue-cleanup by @Lagoja in #665
  • nix,impl: avoid modifying flake.nix; don't use --impure by @gcurtis in #749
  • ci: enable DEVBOX_DEBUG for all test jobs by @gcurtis in #751
  • testscripts: enable DEVBOX_DEBUG by @gcurtis in #752
  • [allow unfree] add --impure and env-var to nix profile commands by @savil in #753
  • all: add tracing by @gcurtis in #750

Full Changelog: 0.4.2...0.4.3