Releases: junixlabs/devbox
Releases · junixlabs/devbox
v1.0.0
Changelog
All notable changes to devbox are documented in this file.
Format follows Keep a Changelog.
[1.0.0] - 2026-04-13
Added
- Plugin system (
internal/plugin/): Provider and Hook interfaces for extending devbox with custom backends (Docker, Podman, LXC) and lifecycle hooks - Built-in Docker provider (
internal/plugin/docker/): Default provider plugin shipping with devbox - External plugin support: Discover, install, and remove third-party plugins from local directories with manifest validation
- Community template registry (
internal/registry/): Search, pull, and push workspace templates to remote registries - CI/CD integration (
internal/ci/): GitHub Actions support for PR preview workspaces with commit status checks - GitHub Action (
action.yml): Reusabledevbox-previewaction for automated PR preview workflows - Preview workflow (
.github/workflows/preview.yml): Example workflow for PR preview lifecycle - Plugin CLI commands:
devbox plugin list|install|remove - Template registry CLI commands:
devbox template search|pull|push - CI/CD CLI commands:
devbox ci preview-up|preview-down - Plugin API documentation (
docs/PLUGIN_API.md) - New built-in templates: Django, Rust
[0.3.0] - 2026-04-12
Added
- TUI dashboard (
internal/tui/): Interactive terminal UI with Bubble Tea — workspace list, real-time logs viewer, keyboard navigation - Workspace templates (
internal/template/): Built-in and user-defined YAML templates (Go, Python, Node.js, Rails, Laravel, Next.js) - Snapshot & restore (
internal/snapshot/): Save and restore workspace state via Docker volume tar archives - Resource metrics (
internal/metrics/): CPU, memory, disk, and network I/O collection per workspace and server - CLI commands:
devbox tui,devbox template list|create,devbox snapshot|restore,devbox stats
[0.2.0] - 2026-04-11
Added
- User isolation (
internal/identity/): Tailscale login-based identity resolution, user-scoped workspace naming - Port auto-allocation (
internal/port/): Registry with conflict detection and range-based allocation - Docker resource limits (
internal/workspace/): CPU and memory constraints per workspace - Server pool management (
internal/server/): Add/remove/list servers, health checks, least-loaded selection - Multi-server distribution: Automatic workspace placement across server pools
- Multi-user integration tests (
internal/integration/): E2E test suite with build tag isolation - CLI commands:
devbox server add|remove|list
[0.1.0] - 2026-04-10
Added
- CLI skeleton (
cmd/devbox/): Cobra-based CLI withup,stop,list,destroy,sshcommands - Config parsing (
internal/config/):devbox.yamlwith validation, services, ports, environment variables - SSH executor (
internal/ssh/): Remote command execution via native SSH - Docker Compose manager (
internal/docker/): Workspace lifecycle viadocker composeover SSH - Tailscale integration (
internal/tailscale/): Serve/unserve workspaces, status queries - Workspace manager (
internal/workspace/): Orchestration layer wiring SSH, Docker, and Tailscale - Devcontainer support:
.devcontainer/devcontainer.jsonfallback config loading devbox init: Interactive project setup with compose file conversiondevbox doctor: Health checks for Docker, Tailscale, SSH connectivity- Structured error handling (
internal/errors/): Typed errors with suggestions - CLI UX polish (
internal/ui/): Spinners, colored output,--no-colorflag - Cross-compilation: Makefile and GitHub Actions release workflow for linux/darwin amd64/arm64
Full Changelog: v0.3.0...v1.0.0
v0.3.0 — Phase 3: TUI Dashboard, Templates, Snapshot & Restore, Metrics
What's New
TUI Dashboard (ISS-46)
- Interactive terminal dashboard with Bubble Tea
- Keyboard-driven workspace management: start, stop, destroy, SSH, logs
- Real-time workspace status with auto-refresh
- Log viewer with scrollback and search
Workspace Templates (ISS-47)
- Pre-defined templates for common stacks: Go, Python, Next.js, Rails, Laravel
devbox template listto browse available templatesdevbox template createto save current config as reusable templatedevbox up --template <name>to create workspace from template
Snapshot & Restore (ISS-48)
devbox snapshot <workspace>to save workspace state (Docker volumes)devbox restore <workspace> <snapshot>to restore from snapshotdevbox snapshot list <workspace>to browse snapshots- Compressed tar archives stored on server
Resource Metrics (ISS-49)
devbox statsfor server-wide resource overviewdevbox stats <workspace>for per-workspace CPU, memory, disk, network I/O- Formatted output with human-readable byte sizes
Improvements
- Deduplicated server resolution logic across commands
- All new packages follow interface-driven pattern with unit tests
New Commands
devbox tui # Interactive TUI dashboard
devbox template list|create # Workspace templates
devbox snapshot <ws> [name] # Snapshot workspace state
devbox snapshot list <ws> # List snapshots
devbox restore <ws> <snap> # Restore from snapshot
devbox stats [workspace] # Resource metrics
Full Changelog: v0.2.0...v0.3.0
Full Changelog: v0.2.0...v0.3.0
v0.2.0 — Phase 2: Multi-user Workspace Support
What's New
Phase 2 adds multi-user workspace support — multiple developers can now share a single server (or pool of servers) without conflicts.
New Packages
| Package | Description |
|---|---|
internal/identity |
User identity resolution via Tailscale login or DEVBOX_USER env var |
internal/port |
Port auto-allocation registry with conflict detection and manual override |
internal/server |
Server pool management with SSH+Docker+Tailscale health checks |
internal/integration |
Multi-user integration test suite |
internal/testutil |
Shared test helpers for SSH, Docker, and assertions |
Features
- Workspace Naming & User Isolation (ISS-39) — Workspaces named
{user}-{project}-{branch}with per-user filesystem paths - Port Auto-allocation (ISS-40) — Automatic port assignment with configurable range (
port_rangein devbox.yaml), conflict detection, and manual override support - Docker Resource Limits (ISS-41) — Per-workspace CPU and memory limits (
resourcesin devbox.yaml), live stats indevbox list, server-level defaults, and low-resource warnings - Server Pool Management (ISS-42) —
devbox server add/remove/listcommands with health checks (--checkflag) for SSH, Docker, and Tailscale - Multi-server Distribution (ISS-43) — Automatic least-loaded server selection across the pool,
--serverflag for manual targeting, cross-server workspace listing - Multi-user Integration Tests (ISS-44) ��� 5 test scenarios covering concurrent creation, user isolation, port allocation, resource limits, and cleanup
Config Changes
# New fields in devbox.yaml
port_range: # Optional: auto-allocation range
min: 10000
max: 60000
resources: # Optional: per-workspace limits
cpus: 2
memory: 4g
workspaces_root: /workspaces # Optional: base directory on serverBreaking Changes
None — all new features are additive. Existing devbox.yaml files work without modification.
Full Changelog: v0.1.0...v0.2.0
v0.1.0 — Phase 1 MVP
devbox v0.1.0 — First Public Release
Turn any Linux machine into a ready-to-use dev environment in one command. No cloud, no DevOps required.
Features
devbox up— Create and start remote workspaces with Docker Compose + Tailscaledevbox stop/destroy— Full lifecycle management with automatic port cleanupdevbox list— View all workspaces with status, ports, and timestampsdevbox ssh— Interactive SSH into running containers (auto-starts if stopped)devbox init— Interactive setup with docker-compose.yml conversion supportdevbox doctor— Prerequisites and server health checks- devcontainer.json — Fallback config loading with port forwarding
- Structured error handling with actionable suggestions
- CLI UX: spinners, colored table output,
--no-color/--verboseflags
Install
# Linux (amd64)
curl -Lo devbox https://github.com/junixlabs/devbox/releases/download/v0.1.0/devbox-linux-amd64
chmod +x devbox && sudo mv devbox /usr/local/bin/
# macOS (Apple Silicon)
curl -Lo devbox https://github.com/junixlabs/devbox/releases/download/v0.1.0/devbox-darwin-arm64
chmod +x devbox && sudo mv devbox /usr/local/bin/Quick Start
devbox doctor --server your-server # Check prerequisites
devbox init # Create devbox.yaml
devbox up # Launch workspace
devbox ssh my-project # ConnectRequirements
- A Linux server with SSH access
- Docker + Docker Compose on the server
- Tailscale on both local machine and server
Checksums
See checksums.txt in the release assets.