Releases: jetify-com/devbox
0.0.0-edge.2023-12-07
0.0.0-edge.2023-12-07 edge release
0.8.3
This release contains a number of bugfixes and improvements to our 0.8 release.
To upgrade to the latest version, run devbox version update
, or install Devbox using:
curl -fsSL https://get.jetpack.io/devbox | bash
Highlights
For a summary of some of these highlights, see the announcement on our Devlog
-
Fixes a breaking change with Nix 2.19 which prevented Flakes from updating.
-
Fixes a security issue in Dockerfiles generated by
devbox generate
-
Flake references can now install alternate outputs provided by Nix packages. For example: You can install
promtool
from thecli
output of theprometheus
package usingdevbox add flake:nixpkgs#prometheus^out,cli
-
Fixed direnv support when using Fish shells
-
Python plugin can now generate a virtualenv with pip included. No need to install
pip
separately with Devbox -
Updated the default installed Nix version to 2.18.1
Special Thanks To:
- @adamdicarlo0 for fixing issues in our documentation
- @iocron for their first contribution, and fixing a security issue in our Dockerfiles
- @jay-aye-see-kay for their first contribution, and fixing a bug with Github sourced plugins
Full Changelog
- devpkg: add const for flake types by @gcurtis in #1627
- devpkg: more FlakeRef and FlakeInstallable docs by @gcurtis in #1628
- Update
packages
object by @Lagoja in #1637 - [direnv] Fix direnv fish support by @mikeland73 in #1636
- devpkg: return error for invalid flakeref scheme by @gcurtis in #1629
- Bump @babel/traverse from 7.22.8 to 7.23.2 in /docs/app by @dependabot in #1568
- Bump django from 4.1.10 to 4.1.13 in /examples/stacks/django by @dependabot in #1604
- Bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 by @dependabot in #1644
- Bump postcss from 8.4.25 to 8.4.31 in /docs/app by @dependabot in #1537
- [easy][auth] Update auth package by @mikeland73 in #1642
- devpkg: allow multiple/non-default package outputs by @gcurtis in #1630
- [auth] Update auth package by @mikeland73 in #1647
- [Docs] Clarify how NGINX Plugin works in docs by @Lagoja in #1653
- Envsec errors do not block devbox by @Lagoja in #1649
- [Plugin] Create a virtual environment with the
python
plugin by @Lagoja in #1645 - [docker] security fix of sudo/chown/user issue #1638 by @iocron in #1639
- fix: allow github plugins with slash in rev name by @jay-aye-see-kay in #1650
- [tyson] Add tyson support experiment by @mikeland73 in #1656
- [Plugins] Revert pip example changes by @Lagoja in #1660
- [update] Fix update by @mikeland73 in #1662
- [nix] Bump auto-installer to 18.1 by @mikeland73 in #1664
- Create a json schema for plugins by @Lagoja in #1659
- Fix a couple devbox global command examples by @adamdicarlo0 in #1665
- [plugins] Make python, pip, and poetry plugins output to stderr by @mikeland73 in #1667
New Contributors
- @iocron made their first contribution in #1639
- @jay-aye-see-kay made their first contribution in #1650
Full Changelog: 0.8.2...0.8.3
0.0.0-edge.2023-11-30
0.0.0-edge.2023-11-30 edge release
0.0.0-edge.2023-11-23
0.0.0-edge.2023-11-23 edge release
0.8.2
Fixes in this release
- Fixes an issue that would cause MySQL and other packages that use flakes + plugins to fail when starting your shell
- Fixes a performance regression in
devbox shell
and.envrc
files caused by recomputing the environment on every shell start
Full Changelog
- 33ea788 [plugins] flakes should be in own dir (#1626)
- cca5828 [ensure] Don't recompute environment if up to date (#1625)
- a6e5c18 add fields, restrict additional props (#1624)
- ebc4215 Added schema validation to devbox vscode extension (#1620)
- e93a2f0 Added json schema for 0.8 version (#1617)
- f01fa59 [easy][auth] Update auth package (#1618)
0.0.0-edge.2023-11-16
0.0.0-edge.2023-11-16 edge release
0.8.1
0.8.0 - Remove binwrappers, devbox.json with comments, and more
What's New in Devbox 0.8
Removing Binwrappers
The most significant change in this release is the removal of binwrappers. Previous versions of Devbox wrapped the binaries in a shim that recalculated the Devbox environment every time they ran. These binwrappers made it possible to instantly use new packages without restarting your shell. However, it also introduced a lot of bugs and complexity to the Devbox environment. More importantly, it had adverse effects on performance and startup times.
This release removes the binwrappers and links directly to the Nix package binaries in your shell environment. This change should make the Devbox environment significantly faster and much more reliable, especially for scripts or environments that invoke Devbox binaries several times.
Comment and trailing commas support in devbox.json
A long requested feature -- you can now annotate your devbox.json
with comments to explain portions of your configuration! For example, you can use comments to annotate and explain your scripts for new users:
{
"packages": [
"go@latest"
],
"scripts": {
// Build for your current architecture
"build": "go build -o dist/devbox ./cmd/devbox",
// Build for all architectures, used mostly in CI/CD
"build-all": [
"GOOS=darwin GOARCH=amd64 go build -o dist/devbox-darwin-amd64 ./cmd/devbox",
"GOOS=darwin GOARCH=arm64 go build -o dist/devbox-darwin-arm64 ./cmd/devbox",
"GOOS=linux GOARCH=amd64 go build -o dist/devbox-linux-amd64 ./cmd/devbox",
"GOOS=linux GOARCH=arm64 go build -o dist/devbox-linux-arm64 ./cmd/devbox",
],
}
}
Devbox will also correctly parse your config if you leave a trailing comma, which makes it easier to edit or modify your config directly without triggering syntax errors.
Patch Devbox ELF binaries to use the newest version of glibc
Packages can now take an optional patch_glibc
boolean field. When set to true
, this field will patch the package's ELF binaries to use the latest version of glibc
available in Nixpkgs:
"packages": {
"python": {
"version": "3.7",
"patch_glibc": true
}
}
This flag is useful for fixing dynamic linking issues, or GLIBC incompatibility issues between your Devbox packages and packages installed via Pip or other package managers. This field should generally be omitted or set to false
unless you encounter one of these issues.
Faster installs by caching search results
Devbox will now cache search results when adding a package, which should significantly speed up installation and package additions for configs with a large number of packages.
Better ZSH compatibility
Devbox now respects ZDOTDIR for ZSH startup files, and will copy files instead of linking. This should improve customizability and reliability when using Devbox with ZSH.
Bug Fixes
- Fixed a bug that was forcing users to login to use
devbox global pull/push
. You can now pull or push your global config to your own Git repo without needing to authenticate
Special thanks to:
@az-pz and @dallasgoldswain for making their first contributions to Devbox!
What's Changed
- devconfig: allow comments and trailing commas by @gcurtis in #1539
- impl: remove profileDir from shell by @gcurtis in #1583
- devconfig: use two spaces instead of tab by @gcurtis in #1589
- remove match from docs by @Lagoja in #1591
- [shell] respect ZDOTDIR for zsh startup files, and copy startup files instead of linking by @savil in #1587
- [perf] cache nix.searchSystem by @savil in #1546
- [docs] upgrade docusarus by @LucilleH in #1592
- devpkg: better flake references and installable parsing by @gcurtis in #1581
- [shell] Remove bin wrappers 🎉 by @mikeland73 in #1584
- devconfig,shellgen: option to patch ELF binaries with newer glibc by @gcurtis in #1574
- Fix minor spelling mistake in plugins.md doc. by @az-pz in #1601
- devpkg: use struct field values in FlakeRef.String by @gcurtis in #1597
- devpkg: better handling of escapes in flakeref paths by @gcurtis in #1598
- devpkg: make FlakeInstallable.Outputs a string by @gcurtis in #1599
- added arm64 support for multi user nix in docker by @mohsenari in #1605
- Update process-compose.yml in rails stack by @dallasgoldswain in #1573
- [easy][global] global push/pull should not require login for github by @mikeland73 in #1609
- impl: PATH fix for multiple glibc-patched packages by @gcurtis in #1608
- devpkg: use struct field values in FlakeInstallable.String by @gcurtis in #1600
New Contributors
- @az-pz made their first contribution in #1601
- @dallasgoldswain made their first contribution in #1573
Full Changelog: 0.7.1...0.8.0
0.0.0-edge.2023-11-09
0.0.0-edge.2023-11-09 edge release
0.0.0-edge.2023-11-02
0.0.0-edge.2023-11-02 edge release