Skip to content

Releases: LucasPcq/wtm

v0.29.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 20:47
bf4611c

For scripts and agents: wtm events follows every repository and reports job crashes, wtm env stops printing secrets, wtm prune stays fast on repositories with many branches, and usage errors exit 2.

Added

  • wtm events --all follows every repository wtm knows from any directory, ignoring an inherited GIT_DIR; integrations should pass it instead of running from outside a repository. → Every repository at once
  • wtm env --addressing ports|names moves the main checkout's addresses onto names, or back to ports, on its own. → The main checkout
  • wtm events reports jobs starting, crashing, exiting and stopping (job.*), shared services naming the worktrees that hold them, and its snapshot lists each worktree's jobs; same schema v: 1. → Jobs

Changed

  • wtm env prints only the values wtm writes, in text and JSON ("redacted": true for the others), and masks URL passwords, also in env_ports; --show-values prints everything. → A .env is out of date
  • wtm env main keeps the addressing its .env spells: reconciling its keys no longer moves it onto named URLs; pass --addressing names for that. → The main checkout
  • wtm prune reads only the branches that have a worktree, on git and on GitHub, so its time no longer grows with the repository's branches; it no longer refreshes the other remote-tracking refs. → Stacked pull requests
  • wtm env asks whether to keep or switch the worktree's isolation (the main checkout: its addressing), keeping it by default; the recap's verbatim action is gone. → Isolation
  • --output json without --yes on a command that could ask (create, checkout, sync, clean, env…) exits 2, a usage error, instead of 1: a script branching on 1 should read 2. → Exit codes

Fixed

  • wtm prune and wtm tree --with-prs find a worktree's pull request however many newer ones the repository has, instead of only among the 100 newest. → Stacked pull requests
  • wtm env main no longer writes [[env]] namespaces into the main checkout (wt_main, acme-main), and puts back the template's value where an earlier run did. → Shared services
  • Usage errors exit 2 instead of 1: flags that cannot be combined (clean/prune --keep-data --drop-data, run up --exclusive --parallel, sync --push --no-push…), --all with a name, and wtm checkout <not a number>, now refused before the config is read. → Exit codes
  • wtm run list in a terminal opens its picker again instead of printing Aborted. straight away.
  • wtm env's resolver shows a kept conflict as your value alone, instead of an arrow from your value to itself.
  • wtm prune --dry-run --output json reports "dry_run": true when there is nothing to prune.

v0.29.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 06:01
beb3e63

A fix release for wtm create and run.toml, with a shorter isolation question.

Changed

  • wtm create <branch>... with several names skips the branches step, as a single name does, and opens the wizard on the source branch.
  • wtm create and wtm checkout ask the isolation question in one line, the detail is in the guide. → Isolation

Fixed

  • run.toml: a link to a .env that config.toml does not configure is ignored with a warning, and no longer stops the other .env values from being written. → run.toml
  • wtm create keeps the names you are typing when the branch fetch finishes, and a refreshed branch or worktree picker keeps its highlighted row.

v0.29.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:30
4bfe787

wtm opens up to other tools with a live event stream, and works on several worktrees at once.

Highlights

  • wtm events streams every worktree change as it happens, as JSON Lines for editors, terminal plugins and agents. → Event stream
  • wtm create and wtm clean take several worktrees in one run: wtm create feat/a feat/b. → Recipes
  • wtm exec runs one command in several worktrees in parallel, each with its own ports: wtm exec --all -- pnpm test. → Recipes

Breaking

  • wtm create --output json and wtm clean --output json answer with an envelope: read .results[0]. → Migrating to 0.29
  • Exit code 21 for any command run outside a git repository (was 1). → Migrating to 0.29
  • Exit code 19 for an interactive cancellation (was 0), so wtm create x && wtm go x stops there. → Migrating to 0.29

Added

  • wtm events outside a repository follows every repository wtm has been used in. → Every repository at once
  • worktree.provisioned and worktree.deprovisioned events tell when a worktree's hooks have run, and whether they passed.
  • WTM_CORRELATION_ID tags the events a command publishes, so a tool recognises its own. → Integrations
  • wtm version --output json reports the version of each machine contract, for integrations to check compatibility.
  • Locked worktrees (git worktree lock) are refused by clean and prune unless --force, and marked in list and tree.
  • wtm ui creates and deletes several worktrees at once, and picks up changes made elsewhere immediately.

Changed

  • wtm env --check exits 18 on drift, ready for CI.
  • wtm checkout and wtm extract ask the same questions as create and always show a recap before acting.
  • wtm env reports a count per file and only the keys left to handle; warnings go to stderr.
  • Invalid flag values and branch names git would reject are refused upfront with exit 2, before anything is created.

Fixed

  • wtm relocate --to rewrites base_path even when no worktree has to move.
  • wtm create and wtm checkout reject an unknown --env-from before creating a half-provisioned worktree.
  • A branch can no longer be its own parent (create b --from b).
  • wtm extract no longer ignores --from and --ff when the target is picked in the wizard.

v0.28.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 19:33
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.

v0.28.0-beta.10

v0.28.0-beta.10 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 11:32
278a5e9

Pre-release of v0.28.0. See the v0.28.0 release notes.

v0.28.0-beta.9

v0.28.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@LucasPcq LucasPcq released this 29 Sep 12:33
2cc3418

Pre-release of v0.28.0. See the v0.28.0 release notes.

v0.28.0-beta.8

v0.28.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@LucasPcq LucasPcq released this 29 Sep 10:49
4babfa4

Pre-release of v0.28.0. See the v0.28.0 release notes.

v0.28.0-beta.7

v0.28.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 22:49
05ffffa

Pre-release of v0.28.0. See the v0.28.0 release notes.

v0.28.0-beta.6

v0.28.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Sep 14:20
e0aed0e

Pre-release of v0.28.0. See the v0.28.0 release notes.

v0.28.0-beta.5

v0.28.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Sep 09:02
4ab178e

Pre-release of v0.28.0. See the v0.28.0 release notes.