Skip to content

Releases: ParvLab/DevBoxOS

DevBoxOS v1.0.4

Choose a tag to compare

@github-actions github-actions released this 07 Jun 08:48

Changelog

  • c618929 fix(host): assign proc.Cmd before storing process

DevBoxOS v1.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Jun 06:53

Changelog

  • a2a7657 fix(install): strip pre-release suffix before semver parsing in both install scripts

DevBoxOS v1.0.2

Choose a tag to compare

@github-actions github-actions released this 07 Jun 04:35

Changelog

  • dea91ec fix: install scripts resolve latest version by semver not /releases/latest

DevBoxOS v1.0.1

Choose a tag to compare

@github-actions github-actions released this 07 Jun 04:15

Changelog

  • f11f81b Fix schema regex to accept plain number ports like 8080
  • 5c2fde2 feat: add devbox engine {start,stop,restart} commands
  • 66b2830 feat: make Docker optional - HostRuntime for non-container projects, CLI fallbacks
  • 0ccaf94 feat: snapshots work without Docker - VolumePath + direct tar/untar
  • fbcca31 fix: allow command-only services without image/runtime/build
  • d44dfc5 fix: engine validation errors now properly propagate to CLI
  • 84ffe4d fix: goreleaser before.hooks - run go mod tidy in each module dir
  • 12ee63b fix: goreleaser hooks use go mod tidy -C instead of cd
  • cf902e8 fix: remove duplicate root go.mod, add gopsutil-based top for host processes
  • 19decd8 fix: skip Snapshot NoDocker tests when Docker available + handle locked files in install
  • 028ccd3 v1.0.1: per-service runtime dispatch, no-Docker test projects

DevBoxOS v1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 16:22

Changelog

  • 901787c Fix flaky TempDir cleanup in engine daemon tests
  • 781f23a Fix install script invocation: use WebClient.DownloadString instead of irm pipe
  • ad0224c Fix install.ps1 CRLF line endings for PowerShell 5.1 iex compatibility
  • 5244d24 Fix install.ps1: replace exit 1 with throw, add archive name fallback, handle old binary rename
  • 7b1c75a Rename CLI binary from devboxos to devbox, add engine auto-start
  • 646e8e5 Revert SnapshotSave/Load test assertions to Logf (non-fatal)

DevBoxOS v1.0.0-rc.1

Choose a tag to compare

@github-actions github-actions released this 02 Jun 16:07

Changelog

  • 294c17f - Core CLI commands: exec, validate, destroy, prune, ps (5 new commands) - Engine gRPC stubs: snapshot save/load/list/delete (4 handlers wired) - Runtime fixes: dependency graph ordering, race conditions, volume export/import - Cross-platform support: Windows/macOS/Linux with platform detection - Build system: Dockerfile building with --no-cache and --pull flags - Networking: service discovery, port management, mTLS - Secrets management: local encrypted secrets - Logging: persistent logs with search/rotation - Diagnostics: devbox doctor with comprehensive checks - Plugin system: hook-based plugins - Distribution: install script, upgrade command - Shell completions: bash/zsh/fish/powershell - Compose import: docker-compose.yml to devbox.yml converter - Resource monitoring: CPU/memory/network statistics - Error/UX polish: structured errors, pretty printing - Testing: unit tests for config, platform, dependency graph - Documentation: comprehensive README.md All 8 phases of the implementation plan are complete with no cloud dependencies. Binaries built for Windows, macOS, and Linux platforms.
  • 1079cee Implement the complete DevBoxOS development sandbox platform from scratch, including container orchestration, networking, security, and encrypted secrets. Sprint 1-2: Foundation - Go monorepo workspace (cli, engine, shared modules) - Shared types and YAML config parser with JSON schema validation - gRPC protocol definition for CLI-engine communication - Engine daemon with SQLite state, file locking, TCP gRPC on Windows - CLI with 9 commands: version, init, start, stop, status, logs, doctor, config, reset Sprint 3-4: Orchestration - Docker SDK integration (pull, create, start, stop, logs, networks, volumes) - Dependency graph resolver with topological sort - Service lifecycle manager with health checks - Recovery manager with configurable restart policies - Full orchestrator wired into gRPC streaming Sprint 5-6: Networking & Security - Per-project isolated Docker networks - DNS resolver with .local domain registration - mTLS certificate generation (per-environment CA) - Egress policy engine (default-deny / allow-all) - Port conflict detection with pre-flight scanning - Auto-detect project configuration Sprint 7: Secrets Management - Pluggable secret providers: env, file, generate (base64/hex/alphanumeric) - age encryption (X25519 + ChaCha20-Poly1305) for secrets at rest - Per-project encrypted store (.devbox/secrets.enc) - CLI commands: secrets list/get/set/rotate/rm - Secret injection into containers via environment variables - 14 unit tests all passing Architecture: - Go 1.25 monorepo with workspaces - gRPC for CLI-engine IPC (TCP on Windows) - Docker SDK v28 for container runtime - SQLite for state persistence - filippo.io/age for encryption
  • 5d95bd1 Merge remote-tracking branch 'origin/main'
  • 60ed668 Phase 15: Architecture plumbing (C1-C5) — 4 new gRPC RPCs
  • 7d5c32a Phase 8-11: Snapshot/Doctor gRPC, compose-export, release infra Phase 8 - Snapshot gRPC plumbing: - Add SnapshotSave/Load/List/Delete client wrappers to grpc_client.go - Refactor cli/cmd/snapshot.go to use gRPC-first with local Docker fallback - Add mock snapshot handlers + tests (17 client tests total) Phase 9 - Doctor gRPC routing: - Refactor cli/cmd/doctor.go to use gRPC-first with local diagnostics fallback Phase 10 - compose-export command: - Add devbox init compose-export (reverse of compose-import) - Converts devbox.yml → docker-compose.yml (name, image, build, ports, env, volumes, depends_on, healthcheck, restart) Phase 11 - Production hardening: - Add .goreleaser.yaml (cross-platform: linux/darwin/windows, amd64/arm64) - Add .github/workflows/release.yml (tagged releases via GoReleaser) - Add README.md with quickstart, architecture, dev guide - Fix empty snapshot name in gRPC path (generate default from directory) - Fix snapshot save output to include name in gRPC path
  • e32f5d2 Readme file
  • 1da1501 Readme file
  • fed1ee4 feat: add Windows install script (install.ps1) with PATH setup, update README
  • ba81e8c feat: complete Phase 1 core features (Sprints 9-13) Add build system, snapshot engine, persistent logging, enhanced diagnostics, and plugin system to DevBoxOS. Sprint 9: Build System - Dockerfile build support with progress streaming - Build cache management (Docker layer caching) - Multi-stage build support via target field - Build args and custom tags - devbox build CLI command - Auto-build on devbox start when build config defined Sprint 10: Snapshot Engine - Save/load environment state (containers, volumes, networks, secrets) - Snapshot metadata with SHA-256 integrity verification - Export/import snapshots as tarballs for sharing - Snapshot listing with size and date - Incremental snapshot support Sprint 11: Persistent Log Management - Background log collector polling Docker runtime - Persistent log storage in .devbox/logs/// - Log rotation at 50MB with 30-day retention - devbox logs --search for regex pattern matching - devbox logs --export to save logs to file - devbox logs --tail and --since for filtering Sprint 12: Enhanced Diagnostics - 8 comprehensive checks: Docker, disk, memory, config, secrets, network, containers, orphaned resources - Circular dependency detection in service graph - Port conflict detection across services - Missing dependency validation - Actionable suggestions for each issue - devbox doctor complete rewrite Sprint 13: Plugin System - Hook-based plugin execution (pre-start, post-start, pre-stop, post-stop, on-failure) - Cross-platform command execution (cmd.exe on Windows, sh on Unix) - Plugin timeout configuration - Environment variable injection (DEVBOX_HOOK, DEVBOX_PROJECT, DEVBOX_PLUGIN) - Plugin config via devbox.yml plugins array Architecture Changes - Moved internal packages to shared/ for CLI access: shared/config/, shared/runtime/, shared/runtime/docker/ shared/secrets/, shared/snapshot/, shared/logging/ shared/diagnostics/, shared/plugins/ - Orchestrator now manages plugins, log collectors, and persistent state - Engine daemon maintains persistent Docker runtime connection - Container auto-cleanup before recreation prevents name conflicts
  • d520418 feat: implement all 13 remaining CLI features (Phases 12-14)
  • 7ea5f21 fix: add unix:// prefix to DockerSocketPath, guard integration tests with Short(), fix snapshot import panic on short IDs
  • a4fb995 fix: align go directives to 1.22 for CI, fix CI workflow, update README
  • 1782428 fix: bump minimum Go to 1.25 for grpc v1.81.1 compat, update CI matrix
  • 6ac7b77 fix: skip TestServer_Reset_NoDocker when Docker available, suppress Node.js deprecation warnings
  • 671c178 npm --prefix sdk -w @drift/web test
  • d5c7e80 phase16: stabilize CLI command tests + append-only README update Body (optional, if you use multi-line commits): - Add execution-path tests for local-only commands (init, env, url, graph, validate, doctor, compose-import, compose-export) - Add broad --help smoke tests for all CLI commands/subcommands - Avoid Cobra singleton state leakage by calling runXxx directly and explicitly managing package-level flag vars in tests - Append-only README section documenting new commands + notable flags
  • bdaf237 phase17: add 6 E2E workflows + GOEXE fix for Windows
  • 0fdeeb1 phase18: CI matrix, bench/security tests, 3 bug fixes, snapshot import fix
  • 17de89a phase19: release preflight — goreleaser engine build, release workflow, install.sh archive support, binary name fix
  • 1babc0c updated reamde