Skip to content

v0.28.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 19:33
· 10 commits to main since this release
f7685da

Each worktree runs its own services on its own ports; read the migration guide if you used wtm run, wtm switch or script wtm.

Highlights

  • The run module: per-worktree services and tasks grouped in profiles; wtm run init writes the config, wtm run up starts the stack. → Jobs and profiles
  • Per-worktree isolation: shifted ports (3000 → 3010) rewritten in .env, and its own COMPOSE_PROJECT_NAME; wtm env settles them. → Isolation
  • Named URLs per job and worktree (http://web.feat-login.acme.localhost:11080), on port 80 on macOS with wtm run proxy install. → Addressing

Breaking

  • wtm switch is removed: use wtm go then wtm run up. → Migrating to 0.28
  • --non-interactive is removed: use --yes. → Migrating to 0.28
  • Hooks run through /bin/sh -c with placeholders already quoted: drop your own quotes around {{worktree}}. → Migrating to 0.28
  • run commands take the worktree as argument and the job or profile as a flag, and their JSON changes shape: update scripts. → Migrating to 0.28
  • run down --all stays in the current repository, run import replaces instead of merging, and run.toml is validated more strictly. → Migrating to 0.28

Added

  • Shared services: one postgres for the repository, one database per worktree, dropped on clean. → Shared services
  • run up stops before a migration touches data the worktree does not own.
  • wtm run up feat-a feat-b runs several worktrees at once, and wtm ui shows and drives the services.

Changed

  • Output is more consistent: a ┃ bar marks wtm's blocks, hooks sum up in one line, and --quiet works everywhere.

Fixed

  • The wtm shell function returns the command's exit code (open a new shell after upgrading).
  • wtm init no longer installs every workspace package separately.
  • Rewriting a .env value keeps its quotes, comment and line endings.