Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 19:56
· 27 commits to main since this release
49bafdc

Fixed: a crashed probe could freeze one worktree forever

Found and fixed by @awdemos in #4 — the project's first outside contribution,
and a real bug that was shipping.

pets probe used a bare os.Mkdir as its lock, with no staleness check. A probe
that died mid-run — a crash, a kill, a closed terminal — left the lock
directory behind, and every later probe in that worktree saw a held lock and
backed off. The pet stopped refreshing, silently and permanently, and only in
that worktree, so the symptom was "this one den went stale" with nothing to point
at.

The fix moves the lock into its own internal/lock package with tests and lets
it expire: a lock older than the timeout is treated as abandoned rather than
held. The lock exists to stop two probes racing, not to outlive the process
holding it.

If a den has looked frozen on you, this was probably why. Upgrading clears it.

New: the den collects cities, not just creatures

pets den showed creatures and nothing else, so half the collection was
unreachable — the visit log could say who came to a den but not which dens you
had worked in.

  pets den              7/41 species · 2 shiny · 6/16 places

  COMMON      ████████░░░░░░░░░░░░  6/14
  ...

  places worked in

   _  _  _          |              |            /\
  |_||_||_|        /|\           _|_|_         /||\
  |_||_||_|       /_|_\        _|_|_|_|_      /_||_\
     AMS           DXB           NYC           PAR

Also

  • Japanese, Korean and Simplified Chinese front pages, so the README is not
    English-only.
  • An AUR package, so Arch users can find this by searching.

Upgrading

Installed with Upgrade
Homebrew brew upgrade parallel-harness-pets
The install script re-run it, it replaces the binary in place
Go go install github.com/TevvvB/parallel-harness-pets/cmd/pets@latest
A release archive download the new one below

Homebrew refuses to upgrade a cask from a tap it does not trust, so the first
upgrade may stop with "Refusing to load cask ... from untrusted tap". Run
brew trust TevvvB/tap once and it will not ask again.