Skip to content

rpi v0.3.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 16:37
· 538 commits to main since this release

0.3.2

Session pickers became readable, -c stopped opening empty transcripts, and a
race that could resurrect a stale tool list is fixed. No breaking changes.

Added

  • The session pickers (rpi -r and /session) list readable rows. They
    previously rendered as a wall of near-identical timestamped file names, because
    the list was built from header metadata that carries no name and no transcript.
    Each row now comes from a cheap head/tail summary of the session file — display
    name, first user prompt (single-lined and truncated to a label), and on-disk
    size — so saved sessions can be told apart without parsing logs that can run to
    tens of megabytes. Search matches the label, the short id and the file name,
    and the primary column is wide enough not to clip a long label.
  • --name / -n records a session's display name durably, for a fresh
    session as well as a restored one. An empty value clears a name set earlier.

Changed

  • The interactive header uses the three-bar brand mark from the site favicon,
    labelled with the crab in place of the language name. The old mark mixed an
    emoji with a box-drawing glyph, whose east-asian width is ambiguous, so the
    header rendered inconsistently depending on the terminal. The mark follows the
    active theme's accent colour for its middle bar. RPI_NO_EMOJI=1 renders the
    lockup without the crab (and without the separator that would otherwise
    dangle).
  • The workspace is now rustfmt-clean, and the sweep is listed in
    .git-blame-ignore-revs so git blame skips it.
  • rpi-ai, rpi-agent, rpi-tools, rpi-harness and rpi-cli now carry the
    crates.io artificial-intelligence category, so they are reachable by
    browsing it and not only by keyword search.

Fixed

  • A superseded runtime-context update could publish its activeTools list
    after a newer one had already been applied.
    Concurrent set_runtime_context
    calls run on separate threads, and the thread holding the older response could
    reach the recording step last, resurrecting a tool list the newer context had
    replaced. The result is now discarded unless its revision is still the newest,
    matching the rule Node already applies to the request itself. It surfaced as a
    flaky test (issue #17); the test was not the problem.
  • -c / --continue and -r / /session no longer offer header-only
    sessions
    — the leftovers an abandoned launch leaves behind. Resuming one
    previously opened an empty transcript. -c now picks the newest session that
    has content, falling back to the newest overall only when every session is
    empty.

Install

Prebuilt binaries for Linux (x86_64, aarch64), macOS (aarch64) and Windows (x86_64) are attached to this release:

curl -fsSL https://raw.githubusercontent.com/bigfish1913/pi-rust/main/scripts/install.sh | sh

Or build from crates.io:

cargo install rpi-cli --version 0.3.2