Releases: jetify-com/devbox
0.3.4-dev
What's New
env
field indevbox.json
, which makes it easier to define env variables in Devbox- Initial implementation of
devbox global
, which lets developers install packages that can be used across all their Devbox Projects - Devbox Cloud can now automatically forward ports for services
- New plugin for pip, which automatically configures a virtual environment
- Improvements to plugin execution and Devbox Run
Changelog
- 3112b8e [flakes] explain better nixpkgs prefetch during devbox add (#624)
- a474c16 [devbox.json] Added env in config (#609)
- 5a97bb9 [bug fix] update Env caller to use map instead of key=val array (#625)
- f5821a8 [flakes] enable native nixpkgs download progress output (#623)
- 0892e0e Refactor env vars as map[string]string instead of []string (#621)
- b4014e8 [global] Turn on feature, keep command hidden (#622)
- d92cbb7 Clean PATH of nix profile paths in print-dev-env shell/run (#618)
- 3bf9582 Add Docsearch (#619)
- 5e2d408 [home] Merge global packages when doing shell/run (#604)
- 3ca7a41 Remove obsolete var and simplify cleanEnvPath() (#617)
- 0caff40 Unify print-dev-env feature flags (#620)
- f1b0c6f [global] Use non default profile and improve error handling when adding/removing global packages (#603)
- d47bbb8 Add virtenv path and nix profile path to computed nix path (#616)
- 396ce62 [flake] remove buildEnv from flake.nix (#615)
- 93a8688 [flakes] reset nix profile directory when Flakes feature is toggled (#612)
- 60a4f60 [cloud] Auto-port forward during cloud shell (#586)
- 29829dc [flakes] remove special-case env-var TERM (#614)
- 3ab8448 Add a default stale issue workflow (#613)
- 0d67823 remove devbox-linux-amd64 (#610)
- 517938f [flakes] add and remove packages, individually (#597)
- d644ea8 Add Devbox Instructions to CONTRIBUTING.md (#607)
- b4d60c4 [github merge queue] enable Github Workflows for merge-queue (#606)
- 03e9474 devbox shell uses computeNixEnv (#605)
- cf32331 Create unified function for nix env computation (#591)
- 67b33c2 [global] MVP of devbox global/home (#599)
- daf0596 Refactor testscript framework (#601)
- c173233 remove unused pkgs.go from internal/impl (#600)
- 0d393ee [flakes | print-dev-env] enable flakes to work with print-dev-env (#584)
- c05d145 [cleanup] remove old package install for flakes (#598)
- dc701d5 [docusaurus] Bump docusaurus version to remove vulnerable dependencies (#595)
- 5dc5326 [easy][plugins] User init hooks should run after plugins (#594)
- f67454d Bump http-cache-semantics from 4.1.0 to 4.1.1 in /docs/app (#582)
- dee5576 [Plugin] Add a plugin for
python3xxPackage.pip
(#592) - 9e37940 [bugfix] Arbitrary commands should also run init and plugin hooks (#550)
- de39956 Add more metadata to error reports (#576)
- c753514 [polish] add newline to end of multi-add/rm packages (#589)
- e5f4256 [telemetry] do not log hidden commands to segment Command Events (#588)
- 7f087d4 [RFC] make Telemetry UserID be a uuid string (#574)
- 134b654 [telemetry] fix missing UserID for command events (#583)
- 68f6d2b [cloud] Auto-forward ports when services start (#490)
0.3.3
This release fixes an issue that could cause Devbox Cloud connections from the CLI to fail sporadically.
Changelog
- 98bd57a [cloud] Add retry when trying to connect to cloud vm for first time (#581)
- 9761a9a Mark some more errors as user errors (#578)
- 989335f fix golang testdata (#577)
- 4b85f85 Change README badge to use the Quickstart Example (#575)
- bc6cbd9 fix typo on Nim docs (#567)
- 9664991 Add Tabs and SVG (#573)
- e1c1281 [telemetry] update event name and change is_cloud to shell_access kind (#562)
0.3.3-dev
[CICD] Install smaller package in tests (#571) ## Summary Experimenting to see if this speeds up tests, especially on macos ## How was it tested? CICD
0.3.2: Introducing Devbox Cloud
This release adds support for the Devbox Cloud Open Beta.
Announcing Devbox Cloud
Devbox Cloud is a new way to create and run your Devbox Project in an isolated cloud environment. Devbox Cloud let's you quickly spin up an on-demand Linux Edge VM with your Devbox dependencies and shell, using either a local project or your browser.
Learn more about Devbox Cloud
Launch a Devbox Cloud Shell from the CLI
You can now run Devbox projects in a Cloud VM by running devbox cloud shell
in the same directory as your devbox.json
file. This will launch a Cloud VM, sync your local files, and create a devbox shell session on the remote machine. Your local files are kept in sync with the cloud shell, meaning you can use your own tools to edit and develop your project.
Learn more about Devbox Cloud in your Terminal
Launch a Devbox Cloud Shell in your Browser with Devbox.sh
You can also open any Github project in Devbox Cloud via Devbox.sh. Simply prefix any Github repo with https://devbox.sh
to open it in a Cloud Shell. If the project has a devbox.json
in the root directory, Devbox will also install your packages and initialize your devbox shell.
Learn more about Devbox Cloud in your Brower
Devbox Cloud is Available as a Free Open Beta
Devbox Cloud is currently in Open Beta, and is free to use for anyone with a Github Account. To learn more about the Devbox Open Beta, visit the FAQ in our docs.
Fixes since 0.3.0
Fixes a possible UX issue in devbox cloud when ssh keys are password protected and password is not cached or stored in local keychain
0.3.0: Introducing Devbox Cloud
This release adds support for the Devbox Cloud Open Beta.
Announcing Devbox Cloud
Devbox Cloud is a new way to create and run your Devbox Project in an isolated cloud environment. Devbox Cloud let's you quickly spin up an on-demand Linux Edge VM with your Devbox dependencies and shell, using either a local project or your browser.
Learn more about Devbox Cloud
Launch a Devbox Cloud Shell from the CLI
You can now run Devbox projects in a Cloud VM by running devbox cloud shell
in the same directory as your devbox.json
file. This will launch a Cloud VM, sync your local files, and create a devbox shell session on the remote machine. Your local files are kept in sync with the cloud shell, meaning you can use your own tools to edit and develop your project.
Learn more about Devbox Cloud in your Terminal
Launch a Devbox Cloud Shell in your Browser with Devbox.sh
You can also open any Github project in Devbox Cloud via Devbox.sh. Simply prefix any Github repo with https://devbox.sh
to open it in a Cloud Shell. If the project has a devbox.json
in the root directory, Devbox will also install your packages and initialize your devbox shell.
Learn more about Devbox Cloud in your Brower
Devbox Cloud is Available as a Free Open Beta
Devbox Cloud is currently in Open Beta, and is free to use for anyone with a Github Account. To learn more about the Devbox Open Beta, visit the FAQ in our docs.
0.2.4
This release contains the following bug fixes and improvements:
- More reliable sourcing for Nix binaries, which should reduce some issues where Devbox can't find Nix in your Path
- Improved Install and Error UI + Logging
- Improved performance when running
devbox info
What's Changed
- First pass at testing using testscripts by @loreto in #526
- [tiny] Improve format of generated nix files by @ipince in #528
- Hook up devbox to testscripts by @loreto in #531
- [cloud shell] prevent cloud-shell-inception by @savil in #532
- Do not shell quote environment variables by @ipince in #529
- [minor polish] add space before y/n in question by @savil in #534
- [flakes] respect nixpkgs commit hash by @savil in #535
- [cloud] Add preview wording by @mikeland86 in #537
- delete unused runtime.nix template by @savil in #536
- Update docs to load new devbox landing page by @LucilleH in #530
- [cleanup] remove overlays code from generated nix files by @savil in #538
- Remove unused profile bin dir in shellrc template by @ipince in #541
- Move xdg functions into its own package by @loreto in #542
- plansdk: default nixpkgs -> f80ac84 by @gcurtis in #544
- [flakes] add flakes.nix to git only if we are in a git repo by @savil in #539
- Bump ua-parser-js from 0.7.32 to 0.7.33 in /docs/app by @dependabot in #527
- [tests] relocated test files from
examples/testdata
tointernal/boxcli
by @mohsenari in #540 - [nix] Don't indent output in ensure mode by @mikeland86 in #546
- Improve Nix Sourcing by @loreto in #543
- [polish] capitalize the default answer in direnv integration question by @savil in #545
- [easy][nix] Add ensure message by @mikeland86 in #552
- [cloud] Improve cloud shell error messages by @mikeland86 in #548
- [perf] Make PkgInfo faster by using non-flakes lookup by @mikeland86 in #553
- [sshshim] re-try 3 times for finding activeVM by @savil in #554
- [sshshim] persist debug file output with size limit by @savil in #549
- small grammar fix in testscript README by @savil in #533
- [GHA] Bump versions, create daily golangci-lint cache by @mikeland86 in #556
- [gha] Run tests on main by @mikeland86 in #558
- Add testscripts that tests installing 'hello' by @loreto in #547
- Fix URLs for badges in Quickstart by @Lagoja in #560
Full Changelog: 0.2.3...0.2.4
0.2.3
This release contains the following bug fixes and improvements:
- If a Nix package fails to install, Devbox will no longer add that package to your
devbox.json
- UX tweaks on Devbox commands that install Nix packages
- Improvements to Nix Installation UX and reliability
What's Changed
- Prevent shell inception in cloud shell by @savil in #469
- nix: wait for pipe read to finish before cmd.Wait by @gcurtis in #470
- [CICD] add devbox install nix action in cicd, change release workflow by @LucilleH in #425
- [nix] Improve nix install, add --daemon flag by @mikeland86 in #471
- Experimental impl of nixless shell by @ipince in #457
- Remove redundant debug output by @ipince in #474
- [polish] Minor polish on help text by @ipince in #475
- [cloud telemetry] part 1: derive userId from githubUsername, and identifyUser by @savil in #472
- [cloud telemetry] part 2: add 'cloud_region' property to segment by @savil in #473
- [cloud] remove log.Fatal in favor of returning the error by @savil in #476
- [cuecfg] Don't HTML escape json by @mikeland86 in #477
- Jl/cicd docs by @Lagoja in #480
- [cloud] add shell time-to-interactive segment event by @savil in #479
- removed unused params from Config by @mohsenari in #483
- [cleanup] Removed test for shell plan should have devPackages by @mohsenari in #484
- [telemetry] Don't log user errors to Sentry by @mikeland86 in #485
- [readme] Fix link by @mikeland86 in #487
- [plugins] Change default nginx port to a non-privileged port by @mikeland86 in #488
- Implement stricter "devbox run" using "nix print-dev-env" by @ipince in #482
- [shell] do not return error if it was a user shell command or script by @savil in #489
- [test] New testing framework to easily test devbox commands and examples by @mohsenari in #481
- [port forward] terminate port-fwd sessions if VM is not active by @savil in #494
- move stepper package location to outside cloud directory by @savil in #495
- Allow devbox run to accept script args by @ipince in #492
- devbox run can run arbitrary commands by @ipince in #493
- [forward] Rename port-forward to forward and simplify API by @mikeland86 in #497
- Clean up old script files by @ipince in #499
- impl: allow nixpkgs URL to be set with DEVBOX_NIXPKGS_URL by @gcurtis in #501
- Disallow script names with whitespace in them by @ipince in #500
- Allow limited set of vars to leak into devbox run env by @ipince in #498
- bugfix: use correct script filename by @ipince in #504
- Flip swich on strict devbox run feature flag by @ipince in #503
- Add deprecation warning on shell -- cmd by @ipince in #502
- [install UX] show incremental progress by @savil in #491
- Use same impl for devbox run in shell or out by @ipince in #505
- [install UX] incrementally show the output in-line by @savil in #506
- [stepper] respect the io.Writer used in impl/devbox.go by @savil in #507
- [install UX] go back to using development.nix by @savil in #512
- [test] additional tests for devbox init and run by @mohsenari in #516
- [nix] Filter out 'devbox-development' messages by @mikeland86 in #518
- [devbox cloud] require git in home and fs-root dirs to use as devbox project dir by @savil in #522
- Revert "Add deprecation warning on shell -- cmd (#502)" by @ipince in #520
- Unflip strict run feature flag by @ipince in #519
- [devbox cloud] remove sshshim gate by @savil in #523
- [nix] Improve output in ensurePackagesAreInstalled by @mikeland86 in #524
- plansdk: use nixpkgs mirror when in cloud VM by @gcurtis in #521
- [nix] Don't add bad package to devbox.json by @mikeland86 in #525
Full Changelog: 0.2.2...0.2.4
0.2.2
This release contains the following bug fixes:
- Fixed a bug that cause our Direnv integration to not register environment variables set by plugins
- Fixed a bug that caused
devbox shell
anddevbox run
to in some Linux distributions
Changelog
0.2.2-dev
0.2.2 Pre-release
0.2.1: Fish Support, Caddy + Redis plugins, Direnv and More
What's new in 0.2.1
This release contains a several bug fixes, improvements and user requests from our last release. In addition to various workflow improvments, it adds shell support for Fish, new Devbox Plugins for Caddy + Redis, and much more
Thank you to everyone who filed issues and contributed to the release!
Changes
- Fish Support!
- Developers who use Fish can now start
devbox shell
, execute scripts withdevbox run
, and start services usingdevbox services start
- This should address Issue #401
- Developers who use Fish can now start
- New Plugins
- Plugin Improvement:
postgresql
now uses PGHOST to set a local Linux Socket
- Direnv Integration Improvements
- We now generate a .envrc file on init, and will prompt you to activate direnv if we detect it on your system.
- Our .envrc file can now set environment variables from plugins.
- Other reliability improvements
- Addresses Issue #408
- Bash + devbox run
- Fixed a bug that kept bash users from running devbox scripts
- Addresses issue #402
- Fixed a bug that kept bash users from running devbox scripts
- Set
allowUnfree=true
by default. This allows developers to install packages with unfree licenses in Nixpkgs.- Addresses issue #409
- Devbox will now look for Nix binaries using an absolute path, instead of $PATH.
- Quiet mode
- Turn off Devbox's status logging when running
devbox shell
ordevbox run
using the--quiet
flag- Addresses issue #406
- Turn off Devbox's status logging when running
What's Changed
- [cloud shell polish] query Github to get username by @savil in #390
- Updated docs for 0.2.0 by @Lagoja in #393
- [docs] Update "Installing Devbox" instructions. by @mikenikles in #395
- [nix] Don't install nix if its already installed DEV-1261 by @mikeland86 in #397
- [cloud] scp devbox.json to VM, prior to syncing by @savil in #398
- [cloud VM] prototype updating mutagen status in starship prompt by @savil in #399
- [cloud] set ssh ControlPath and use it to detect existing VM Host by @savil in #418
- Add basic Caddy plugin by @Lagoja in #415
- Add Redis Plugin by @Lagoja in #413
- [polish] simplify the starship prompt for mutagen status by @savil in #421
- [planner] New framework for planners by @mohsenari in #385
- [CLI] Added quiet mode to devbox run, init, and shell by @mohsenari in #414
- Refactor var filtering; check var in posix way by @ipince in #420
- Fix typo by @hezhizhen in #419
- cloud: change ControlMaster to auto and add sockets dir by @gcurtis in #427
- [cloud | polish] update intro text, and display VM region by @savil in #422
- nix-flakes etude by @savil in #247
- Revert "nix-flakes etude (#247)" by @savil in #435
- [CLI] Quiet mode for all commands by @mohsenari in #431
- Add issue template for bug reports by @loreto in #433
- flakes etude (with gating fix) by @savil in #436
- [Generate] Added devbox generate direnv command by @mohsenari in #437
- Enable all users to install unfree packages by @savil in #428
- [nix] attempt to source nix startup files if not in path by @mikeland86 in #426
- [plugins] Make postgresql use local socket by @mikeland86 in #434
- Auto-generate .envrc at devbox init by @mohsenari in #438
- [cloud] Very basic port forwarding by @mikeland86 in #444
- [cleanup] rename configDir to projectDir by @savil in #445
- Added prompt for direnv allow after .envrc by @mohsenari in #439
- [cleanup] devbox cloud: rename configDir to projectDir by @savil in #446
- Extract shell-specific init file injection into own func by @ipince in #424
- [cleanup] nix/shell: rename configDir to projectDir by @savil in #447
- Return exit code of the exec call by @devholic in #441
- [cloud] emulate user's local directory structure in VM by @savil in #440
- [cleanup] plugin framework: rename rootDir to projectDir by @savil in #448
- [auth] save Github username to local file by @savil in #429
- Update sentry to avoid logging errors from os exec commands by @LucilleH in #449
- [cloud] improve mutagen session name sanitization by @savil in #451
- [plugins] Join hash -r and source message and show in yellow by @mikeland86 in #452
- [direnv] Fixed .envrc file to emulate nix-shell env by @mohsenari in #453
- Bump json5 from 2.2.1 to 2.2.3 in /docs/app by @dependabot in #443
- [services] Ensure services have env vars + cleanup by @mikeland86 in #454
- [CICD] Update latest version in s3 by @LucilleH in #450
- Refactor sentry logic and fix bug by @loreto in #455
- [direnv] Added env variables from plugins to direnv by @mohsenari in #458
- Persist devbox binary version in shell session if version is pinned by @LucilleH in #459
- Adds code to call nix print-dev-env by @ipince in #456
- Put call to run_script at the end, to unbreak bash by @ipince in #463
- [direnv] Fix a bug with devbox shell enabled & direnv by @mohsenari in #460
- [cloud] Implement port forwarding using mutagen by @mikeland86 in #461
- Docs for 0.2.1 by @Lagoja in #465
- Fix devbox run for fish and possibly other shells by @ipince in #464
New Contributors
- @mikenikles made their first contribution in #395
- @hezhizhen made their first contribution in #419
- @devholic made their first contribution in #441
Full Changelog: 0.2.0...0.2.1