Releases: jetify-com/devbox
0.13.7
What's new in this release
- [Flake] Fixed an issue where Python projects would break after installing Devbox from a flake (#2406)
- [Flake] Devbox no longer bundles the
updater
subpackage when built from it's flake. This removes conflicts with other packages that included anupdater
binary (#2426) - [Offline] Adds a
--recompute
flag todevbox shell
anddevbox run
. This flag can be set tofalse
to speed up startup times when offline, or when the shell is already up to date (#2391) - [PostgreSQL] Fixed an issue with the postgresql service when $PGHOST contained a blanks pace (#2399)
- [Plugins] Fixed an issue where Devbox configs would overwrite $PATH changes from plugins (#2418)
Special thanks to:
@rbardak and @adamdicarlo for making their first contributions to Devbox!
What's Changed
- [zeroconfig] Implement nodejs detector by @mikeland73 in #2395
- [PROPOSAL] postgresql process-compose is faulty when $PGHOST contains blank space by @rbardak in #2399
- [zeroconfig] Default nodejs to corepack enabled by @mikeland73 in #2396
- Add --recompute flag for commands: shell and run by @savil in #2391
- [easy] comment fix OnStaleState by @savil in #2405
- configfile: sort members in setEnv by @gcurtis in #2417
- Fix flake version string issue by @Lagoja in #2406
- [bug] plugin env PATH fix by @mohsenari in #2418
- [cli-test] Added /usr/bin to PATH so that haskell can to verify pkg downloads by @mohsenari in #2433
- Exclude testscripts from Flake build by @adamdicarlo in #2426
- devbox: export API for devbox install by @gcurtis in #2437
- all: remove cloud subcommand and unused packages by @gcurtis in #2438
- Bump version to 0.13.7 by @Lagoja in #2436
New Contributors
- @rbardak made their first contribution in #2399
- @adamdicarlo made their first contribution in #2426
Full Changelog: 0.13.6...0.13.7
0.13.6
What's new in this release
- Fixes a few issues with package patching that could prevent Python from installing succesfully
- Improves platform compatibility checks when installing packages with
runx
- Fixes an issue where
devbox shellenv
would fail on paths with whitespace - Fixes a bug where
env_from
would fail when called from a subdirectory - Fixes documentation and error messaging for
env_from
when calling devbox from a subdirectory
Changelog
- 0bc66cb [whitespace] sourcing init hooks: wrap project dir path in quotes (#2393)
- 1f4db4a [auto] Add php detector (#2390)
- 8384357 Version 0.13.6 (#2389)
- 2f38449 shellgen: delete flake.lock if flake.nix changes (#2388)
- 399b7f3 [env] Fix env_from docs and improve error messaging (#2386)
- b3f6847 [dependencies] Update pkg (for runx) (#2384)
- 73fcc6f [autodetect] Add go autodetection (#2381)
- 5c665e5 telemetry: add devspace analytics (#2380)
- cab9ca6 patchpkg: use devbox flake instead of local binary (#2378)
- 034a486 cli reference: update completion docs for zsh (#2371)
- e8763dd fix wrong button on Quickstart (#2367)
- 1815867 Re-enable Algolia Search (#2365)
- eecce85 [Temp] Disable Search (#2364)
- a37b090 fix: json syntax error in plugin example (#2363)
- d52d414 [cicd] Remove macos-12 (#2361)
- 02a719f [env] Fixed env_from bug when it is called from a subdirectory (#2355)
0.13.5
What's new in this release
- Process-compose downgraded to 1.24.2 to fix an issue with PostgreSQL services
- Fixes a potential error with
devbox init
Changelog
- 8205c25 bump version to 0.13.5 (#2360)
- 595dc22 Revert process-compose to 1.24.2 (#2356)
- 1ec15d9 update-links (#2351)
- ec8aa70 [autodetect] Fix autodetect (#2353)
- 5bf73ed [auth] Fix failed session refresh (#2350)
- bb67992 [init] init config should return error if already exists (#2346)
- 0b2e47e [auth | dev] use new dev auth url (#2349)
- f99b715 Zed Docs (#2345)
- 9cb6297 Bump django from 4.1.13 to 4.2.16 in /examples/stacks/django (#2339)
- e040073 Remove Fleek from Docs (#2338)
0.13.4
What's new in this release:
- Bump process-compose to 1.34.0. This update fixes a bug where services would be left orphaned if your shell terminated suddenly
- [Python]
venvShellHook
is now moresh
compatible - Flake updated to only build the
devbox
package, and to support cross-compilation.
Changelog
- 9c709d2 Bump version to 0.13.4 (#2337)
- e106c39 Bump process-compose to 1.34.0 (#2336)
- b06bf8e [docs] Update deps (#2332)
- 14327a7 make
venvShellHook
compatible with sh (#2333) - 750bfc1 [zeroconfig] Change autodetect implementation so it generates devbox.json (#2331)
- a306f27 [autodetect] Move autodetect to pkg (#2330)
- 834147a [zeroconfig] Implement --autodetect flag (#2325)
- d8e8bbe Add deploys back to Sidebar (#2328)
- fc99ab2 [logging] Fix segment logging (#2322)
- d4cf421 Reorganize docs (#2323)
- 3ed10ab Jetify Sandbox Docs Draft (#2255)
- 49c91f4 [github actions] fix publish ovsx (#2320)
- de1495b [vscode extension] updated changelog (#2317)
- a5d08b2 Flake version to 0.13.3 (#2319)
0.13.3
What's new in this release
- Fixes an issue where non-versioned packages and flakes could be incorrectly removed from the devbox.lock file.
- Adds an experimental environment variable (
DEVBOX_X_GITHUB_PLUGIN_CACHE_TTL
) that manages how long Devbox caches Github-sourced plugins
Changelog
- fc7a398 [plugins] Add env var to control github cache ttl (#2314)
- 59c2d6d Update docs for 0.13 series (#2312)
- 0ff66c1 [lockfile] Fix tidy for non-versioned packages (#2313)
- f66f7a9 changed trigger to release to dockerhub to run on published releases (#2311)
- 8ca1f75 patchpkg: improve CUDA shared library search (#2306)
0.13.2
What's new in this release
- [Services] Users can now choose the process-compose port when running services
- To set it from the command line, use the
--pcport, -p
flag - To set it in your config or environment, export the
DEVBOX_PC_PORT_NUM
environment variable
- To set it from the command line, use the
- [Install] Devbox can now use the Determinate Systems Installer to manage Nix.
- To test the installer, export
DEVBOX_FEATURE_DETSYS_INSTALLER=1
in your environment before setting up Nix
- To test the installer, export
- [Install] Nix Flake for installing Devbox
- To get the latest version, run
nix profile install github:jetify-com/devbox/latest
- To pin a specific version, run
nix profile install github:jetify-com/devbox/<version>
. Note that only versions >= 0.13.2 can be installed this way
- To get the latest version, run
- [Install] Devbox now installs the latest version of nix (2.24.7)
Changelog
- fcf3a42 Fix flake rev issue (#2310)
- 37c36a1 Build and Install Devbox via Nix Flake (#2308)
- 2544163 [vscode-extension] Added support for reopen in devbox for cursor and vscodium (#2309)
- 3da723b docs,examples: update dependencies (#2307)
- 6a72354 [telemetry] Don't log user errors (#2305)
- 57312c0 patchpkg: patch python to use devbox CUDA libs (#2296)
- 58ed80e [nix] Add DetSys installer behind feature flag (#2303)
- 68edd30 [services] Let users set the port for process-compose (#2299)
- 3818683 refactor: add bash shebang for shellcheck (#2286)
- 3c6af98 bump installed nix version to latest, and update test-nix-versions (#2301)
0.13.1
What's new in this release
This hotfix fixes the following bugs in the 0.13.0 release:
- Fixed an error with Python autopatching that could occur on macOS
- Devbox can now handle paths that contain whitespace
- Fixed a search error when installing Rust
Additionally, this release adds the following new features:
print-dev-env
now has a--impure
flag set, which allows flakes to receive environment variables. This feature is behind a feature flag, and can be enabled withIMPURE_PRINT_DEV_ENV=1
.devbox ls
now prints the version strings of the packages installed in your project
Changelog
- ac07204 internal/devbox: handle whitespace in paths (#2292)
- f8f5511 patchpkg: don't error on missing store refs (#2293)
- 6021de4 [search] Fix bad error when installing "rust" (#2284)
- c314509 Aadd
--impure
flag when calling print-dev-env (#2279) - dd9d373 [sandboxes] devbox ls: print versions (#2277)
- 6a89adb [easy][refactor] Move env var to owner package (#2282)
0.13.0
What's new in this release
0.13.0 is a major release, with several enhancements to improve the Python development experience with Devbox.
[Python] Autopatching Native Libraries
This release includes an experimental feature that automatically patches Python interpreters to load native libraries installed in your Devbox Shell, without needing to set LD_LIBRARY_PATH
. This makes it easier to create Devbox shells for projects with Python Packages that use native extensions. Additionally, Devbox will automatically install native libraries that are commonly used by Python packages, such as zlib
and openssl
. This feature can be disabled with devbox add <python-package> --patch never
This release automatically enables patching for Python interepreters, but it can be enabled for any package (such as Ruby) using devbox add <pkg> --patch always
.
[Python] Plugin + Virtual Environment improvements
When you launch Python, our plugin now defaults to putting your virtual environment in $DEVBOX_PROJECT_ROOT/.venv. This provides better compatibility with IDEs and Language Extensions that expect Python to be in your project root. The plugin also sets a UV_PYTHON
environment variable to improve compatibility with the uv
package manager.
You can manage where Devbox sets up your .venv directory by setting the $VENV_DIR environment variable in your devbox.json.
Special thanks to @djgoku for contributing fixes to this feature!
[Services] devbox services attach
and better backgrounding
Starting Devbox services in the background with devbox services up -b
now runs process-compose as a detached process in the background, meaning it will stay alive even if your terminal exits or crashes. You can attach the process-compose TUI to the backgrounded process with devbox services attach
, and exiting the TUI will leave process-compose running in the background.
To stop the backgrounded process, you can use devbox services stop
.
This release also upgrades the default process-compose to 1.24.2, which has several reliability and performance improvements.
Other Features
- Devbox can now automatically parse and add secrets from your dotenv files. To have Devbox load your dotenv files automatically, add the dotenv file to
env_from
in your devbox.json - Devbox now includes a builtin plugins for Valkey, a drop-in Redis Replacement. Special thanks to @captainseeker for contributing!
- Added a
DEVBOX_WD
environment variable that maps to the working directory where you ran a script. This variable is useful if you want to run scripts that act on your current working directory, instead of the Devbox project's root directory - Devbox's direnv integration now watched devbox.lock for changes, and updates your environment. Thanks to @mjgallag for contributing!
- Added missing/required properties to the devbox-plugin-schema.json. Thanks to @svallory for contributing!
Full Changelog
- [docs] json format fix of configuration.md by @yocoldle in #2168
- [i18n/kr]: Update README-ko-KR.md by @tianyeeT in #2152
- [i18n/zh-cn]: Update README-zh-CN.md by @tianyeeT in #2151
- (Examples - Databases - PostgreSQL) Add more info about configuring the database by @rafaelfess in #2156
- [ux] Improve refresh messaging by @mikeland73 in #2173
- [devbox.json] support env_from dotenv files by @mohsenari in #2174
- Used go-envparse to parse .env files by @mohsenari in #2177
- [example] add R example by @ignatiusm in #2183
- internal/devconfig: move project directory search into
devbox.Find
by @gcurtis in #2172 - [lockfile] Fix built-in plugin issues by @mikeland73 in #2189
- Update apache example with proper start command for jetify cloud by @LucilleH in #2198
- Add build and start command to nginx server example by @LucilleH in #2199
- searcher: set custom user agent in search client by @gcurtis in #2203
- Change the caddy example port to 8080 by @LucilleH in #2206
- Initial Nixhub docs by @Lagoja in #2186
- Add Valkey Plugin by @captainseeker in #2154
- fix permissions and build issues by @Lagoja in #2219
- Bump semver and postman-code-generators in /docs/app by @dependabot in #2208
- [envars] Add DEVBOX_WD env var by @mikeland73 in #2220
- fix: devbox-plugin.schema.json required properties by @svallory in #2221
- [pkg] Update pkg deps by @mikeland73 in #2225
- testscripts: python tests for numpy and psycopg2 by @gcurtis in #2214
- git: add .gitattributes and remove trace.out by @gcurtis in #2228
- all: upgrade to Go 1.23.0 by @gcurtis in #2229
- fix: make direnv watch devbox.lock by @mjgallag in #2233
- patchpkg: start moving glibc-patch.bash to Go by @gcurtis in #2237
- testscripts: better caching with Docker by @gcurtis in #2245
- patchpkg:
lookPath
helper to find nix binaries by @gcurtis in #2247 - patchpkg: add packageFS to handle store paths by @gcurtis in #2246
- Nixhub Links by @Lagoja in #2218
- add information on disabling plugins by @Lagoja in #2232
- patchpkg: port ELF patching to Go and use RPATH by @gcurtis in #2248
- patchpkg: restore removed refs to build deps by @gcurtis in #2249
- Fix plugin placeholder docs by @Lagoja in #2254
- devpkg: auto-patch python by @gcurtis in #2250
- testscripts: skip (known) failing tests on darwin by @gcurtis in #2256
- patchpkg: patch missing Python refs on darwin by @gcurtis in #2258
- [Python] Change
.venv
script to be more compatible with IDEs by @Lagoja in #2259 - [Python] Venv tweaks based on testing in Sandboxes by @Lagoja in #2264
- Chore/switch pip plugin reference to python by @djgoku in #2265
- [Services] Keep Process Compose alive in background, add
attach
command by @Lagoja in #2269 - [pc-version] Bump process compose to 1.24.2 by @mikeland73 in #2276
- patchpkg: patch libstdc++ by @gcurtis in #2271
- devpkg: fix empty patch mode by @gcurtis in #2278
New Contributors
- @yocoldle made their first contribution in #2168
- @tianyeeT made their first contribution in #2152
- @rafaelfess made their first contribution in #2156
- @ignatiusm made their first contribution in #2183
- @captainseeker made their first contribution in #2154
- @svallory made their first contribution in #2221
- @mjgallag made their first contribution in #2233
- @djgoku made their first contribution in #2265
Full Changelog: 0.12.0...0.13.0
0.13.0-devrc
What's new in this Release
Process Compose Updates
Process compose is now updated to v1.24.2, which should provide more stability and includes several new features. The release also adds the devbox services attach
command, which lets you re-attach to process compose while it is running in the background
Other fixes
- Improvements to Python plugin
- Bug fixes for Python auto-patching
Changelog
- b9c5173 devpkg: fix empty patch mode (#2278)
- 9da62f6 patchpkg: patch libstdc++ (#2271)
- 1b918e7 [pc-version] Bump process compose to 1.24.2 (#2276)
- 3ac5262 [Services] Keep Process Compose alive in background, add
attach
command (#2269) - df187b9 Chore/switch pip plugin reference to python (#2265)
- d1ab641 [Python] Venv tweaks based on testing in Sandboxes (#2264)
0.13.0-deva
What's new in This Pre-release
[Python] Plugin will now create .venv
in your project root by default
When you launch Python, our plugin now defaults to putting your virtual environment in $DEVBOX_PROJECT_ROOT/.venv
. This provides better compatibility with IDEs and Language Extensions that expect Python to be in your project root.
You can manage where Devbox sets up your .venv
directory by setting the $VENV_DIR
environment variable in your devbox.json
Other Fixes
- Devbox now automatically installs common native libraries used by Python on Darwin.