Skip to content

Releases: WarriorsCode/deck

v0.7.1

06 Apr 08:34
c61891e

Choose a tag to compare

Changelog

  • c61891e ci: auto-update homebrew formula on release
  • 12f2ccc docs: switch brew install from cask to source formula
  • 7519833 ci: auto-sync CHANGELOG into docs site on release
  • a8deb1c docs: use deck.warriorscode.dev subdomain
  • 7fced1d docs: add GitHub Pages site with just-the-docs theme

v0.7.0

03 Apr 09:28
4927430

Choose a tag to compare

Changelog

  • 4927430 docs: update CHANGELOG for v0.7.0 release
  • f89313c feat: env vars support object syntax with value/script/file modes

v0.6.0

03 Apr 08:44
b50e729

Choose a tag to compare

Changelog

  • b50e729 docs: update CHANGELOG for v0.6.0 release
  • 8c20952 feat: crash recovery with restart policy on services
  • e872ed1 feat: deck init detects project stacks and generates tailored config
  • 28da21d feat: service dependencies with depends_on and ready checks
  • c6b1767 feat: add deck doctor command
  • d6c1902 feat: selective service targeting for all commands
  • d03e57b feat: add deck run command for one-off commands in service context
  • 3dc392a feat: add env_file support to bootstrap steps

v0.5.0

03 Apr 04:58
b380dfe

Choose a tag to compare

Added

  • Per-step env field on bootstrap steps, hooks, and services with $(…) shell interpolation
  • Env values containing $(…) are evaluated at runtime (not config load time) via sh -c
  • Step-level env merges on top of global env — step values win on conflict
  • Shell interpolation runs in the step's working directory for correct relative path resolution
  • Failed $(…) commands produce an empty string and log a warning; the step continues normally

Changed

  • Introduced config.Env named type with Merge and ToSlice methods, replacing raw map[string]string
  • Service env values now support $(…) interpolation (previously only literal values)

v0.4.0

02 Apr 08:26
df4c2ba

Choose a tag to compare

Added

  • --version flag with ldflags injection at build time and git fallback at runtime

v0.3.0

02 Apr 08:12
fe5ab44

Choose a tag to compare

Added

  • Interactive prompt field on bootstrap steps — reads multi-line input, exposes $DECK_INPUT and $DECK_INPUT_FILE
  • Non-TTY detection — prompts fail gracefully in CI/pipes instead of blocking

v0.2.0

02 Apr 01:16
519359b

Choose a tag to compare

Added

  • Global env map — injected into all commands (bootstrap, hooks, services)
  • Per-service env and env_file — load dotenv files and override env vars per service
  • Per-hook env_file — load dotenv files for lifecycle hooks
  • dir field on bootstrap steps and hooks
  • Log backlog — shows last 20 lines when tailing starts
  • ANSI escape code stripping from service log output

Fixed

  • Broadened ANSI stripping to cover all CSI sequences (dim, underline, cursor, etc.)

v0.1.0

02 Apr 00:12
1b113b8

Choose a tag to compare

Initial release.

Added

  • Config parsing with deck.yaml + deck.local.yaml deep merge (order-preserving)
  • StringOrList type — dep start/stop accept string or list
  • Duplicate key rejection in config
  • Dependency checker with multi-strategy fallback and polling
  • Bootstrap step runner with idempotent check/run pattern
  • Lifecycle hooks — pre-start (fail-fast) and post-stop (best-effort)
  • Process manager — PID files, process group kill, SIGTERM → SIGKILL, stale PID cleanup
  • Startup rollback — stops already-started services if a later service fails
  • Log tailing with colored [name] prefixes and timestamp auto-detection
  • Status formatters — table, JSON, Go template output
  • Status shows all configured services with ports and log paths
  • Engine orchestrator wiring the full lifecycle
  • CLI commands: up, start, stop, restart, status, logs, init
  • Graceful shutdown with 30s timeout, second signal force-exits
  • Correct shutdown ordering: deck up runs post-stop hooks before kill, deck stop kills first
  • goreleaser with Homebrew cask publishing