Skip to content

Releases: praxis-labs-io/zen-review

Release list

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:57

The second release of zen-review. It upgrades itself now, runs on Windows, and
reads the whole file when three lines of context are not enough.

New

  • zen-review update. It asks GitHub for the latest release, stops if you
    already have it, and otherwise runs the installer into the directory the
    running binary is in, so the new one replaces it in place. The reader also
    says on its status bar when a newer release is out, at most one request a day,
    and { "update_check": false } in ~/.zen-review/config.json turns that off.
    No other command touches the network, so an agent or a hook never makes the
    request.
  • A Windows installer. install.ps1 does what install.sh does: downloads
    the binary for your machine, checks it against the published checksums, and
    installs nothing that does not match. It lands in
    %LOCALAPPDATA%\Programs\zen-review.
  • The whole file on p. It fills in the rest of the file around the hunks,
    at the generation the changeset is measured in, with the changed lines still
    marked. c and v reach the lines it fills in, so the code you needed the
    context to judge is code you can ask about. Pressed again it takes the file
    back out, and it lasts the file rather than the run.
  • Hunk comments have their own scope. A comment on a hunk hangs under that
    hunk's heading and stays there while the hunk grows or shrinks, rather than
    being a line range that happened to match it.
  • A Claude Code plugin. The repository is its own marketplace, and the
    plugin ships the queue skill, which is the review loop where an agent meets
    it. Ask for the review queue and it knows what to do. The Stop hook that gates
    an unattended run ships with it and is opt-in.
  • --mockup. zen-review --mockup opens the reader over a changeset built
    into the binary: no repository, no database, nothing written to disk. It is
    what a demo or a screenshot runs on.

Fixed

  • A comment's words survive a refused write. A save that lost the race to
    another zen-review now reloads, carries the box onto the generation that
    landed, clamps it to the lines that survived, and keeps everything typed into
    it. Nothing is written until you press ctrl+s again.
  • A tall comment card is reachable. A card taller than the window scrolls
    under the cursor before the cursor leaves it, and G onto one shows its end.
  • The installer verifies what it downloaded. It checks the archive against
    checksums.txt and stages the binary before replacing the one you are
    running, so a failed download leaves the working one in place.
  • The licence ships with the binary. Every archive carries it.

Changed

  • The chrome follows your terminal. The hues are ANSI slots, so your own
    palette reaches the frame without being configured, and the shades and the
    diff tints are blended off the background your terminal reports at launch. A
    filled row is placed at a distance from that background rather than at a fixed
    ratio, so a pale green does not read grey and a dark one keeps its lean.
  • R advances. Marking a whole file read now moves to the next unreviewed
    hunk, which is in another file, the way r has always advanced.
  • The agent's gate asks for open. unresolved is every state but
    resolved, so an agent that answered every comment left them addressed and
    the gate it had just cleared held it again. The documented hook now asks for
    open, which is the half an agent can close.

Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.sh | sh

Windows:

irm https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.ps1 | iex

macOS and Linux on arm64 and amd64, Windows on amd64. Anything else:

go install github.com/praxis-labs-io/zen-review/cmd/zen-review@latest

Already running it:

zen-review update

Install
covers the requirements, the PATH setup and the launch check, and
the guide
covers how a review is kept.

Known gaps

  • No Homebrew tap yet.
  • No tree filter. / is not a key, despite v0.1.0's notes naming one.
  • A source build reports dev rather than a version. Only a release stamps one,
    and zen-review update would replace your build with a release, so upgrade
    from the clone instead.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 21:59
36327e0

The first release of zen-review.

It answers one question a diff viewer cannot: which of these machine-generated
changes have I inspected, and are they still the ones I inspected. What you have
read is stored as line ranges and carried through every new version of the
changeset, so a rewrite hands back the parts it destroyed rather than leaving a
stale mark on code nobody read.

What it does

  • One changeset. The merge base with your base branch, through the working
    tree, untracked files included.
  • A reader you burn down. n walks to the next unreviewed hunk, r marks
    the one you are on and advances.
  • Comments that survive a rewrite. Anchored to lines, carried through each
    refresh, orphaned rather than silently moved when their code goes.
  • A CLI that answers everything the reader does, so an agent can read its own
    queue and answer it. comments --exit-code gates a hook on whether anything is
    still open.
  • Side by side on |, syntax highlighting, and a tree you can filter.

Sessions are per repo and branch, and resume days later. State lives beside the
repo in SQLite and nothing lands in your working tree.

Install

curl -fsSL https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.sh | sh

macOS and Linux on arm64 and amd64. Windows takes the .zip from the assets
below. Anything else:

go install github.com/praxis-labs-io/zen-review/cmd/zen-review@latest

Install
covers the requirements and the PATH setup, and
the guide
covers how a review is kept.

Known gaps

  • No Homebrew tap yet.
  • The installer does not verify the checksums it downloads. checksums.txt is
    published beside the archives if you want to check one by hand.
  • A source build reports dev rather than a version. Only a release stamps one.