Skip to content

Releases: junixlabs/devbox

v1.0.0

12 Apr 20:19

Choose a tag to compare

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): Reusable devbox-preview action 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 with up, stop, list, destroy, ssh commands
  • Config parsing (internal/config/): devbox.yaml with validation, services, ports, environment variables
  • SSH executor (internal/ssh/): Remote command execution via native SSH
  • Docker Compose manager (internal/docker/): Workspace lifecycle via docker compose over 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.json fallback config loading
  • devbox init: Interactive project setup with compose file conversion
  • devbox 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-color flag
  • 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

12 Apr 19:23

Choose a tag to compare

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 list to browse available templates
  • devbox template create to save current config as reusable template
  • devbox 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 snapshot
  • devbox snapshot list <workspace> to browse snapshots
  • Compressed tar archives stored on server

Resource Metrics (ISS-49)

  • devbox stats for server-wide resource overview
  • devbox 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

12 Apr 18:36

Choose a tag to compare

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_range in devbox.yaml), conflict detection, and manual override support
  • Docker Resource Limits (ISS-41) — Per-workspace CPU and memory limits (resources in devbox.yaml), live stats in devbox list, server-level defaults, and low-resource warnings
  • Server Pool Management (ISS-42) — devbox server add/remove/list commands with health checks (--check flag) for SSH, Docker, and Tailscale
  • Multi-server Distribution (ISS-43) — Automatic least-loaded server selection across the pool, --server flag 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 server

Breaking 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

11 Apr 06:57

Choose a tag to compare

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 + Tailscale
  • devbox stop/destroy — Full lifecycle management with automatic port cleanup
  • devbox list — View all workspaces with status, ports, and timestamps
  • devbox ssh — Interactive SSH into running containers (auto-starts if stopped)
  • devbox init — Interactive setup with docker-compose.yml conversion support
  • devbox 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 / --verbose flags

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                 # Connect

Requirements

  • 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.