Skip to content

0.9.3 — 2026-06-03

Choose a tag to compare

@github-actions github-actions released this 03 Jun 19:33
a8090ac

Release Notes

Fixed

  • git-prism shim install now creates and manages a gh symlink alongside git, and the PATH-setup line targets a login-shell rc file. The gh interception added in v0.9.0 never took effect because install only ever created the git symlink, so gh pr diff reached the real gh. Install, status, and uninstall now manage both git and gh as a unit, with validate-then-apply atomicity (a refusal on one name no longer leaves the other half-installed) and provenance-aware handling of foreign and dangling symlinks (a user's own symlink — live or dangling — is no longer clobbered or removed without --force). The PATH-setup consent flow now appends the export PATH line to a file sourced by non-interactive login shells (.zprofile / .zshenv) rather than .zshrc, which those shells (including agent shells) skip. (#347)
  • The PATH shim now emits OpenTelemetry telemetry from intercepted git / gh commands. Shim mode previously returned without ever calling telemetry::init(), so the record_shim_* counters wrote nothing and GIT_PRISM_OTLP_ENDPOINT was never read — only the long-lived serve process emitted telemetry. The shim now initializes telemetry (quietly — no per-command banner on stderr) when an endpoint is configured and force-flushes before the process exits, including before the execvp on passthrough paths where a recorded metric would otherwise be lost. The flush is bounded (300 ms) so an unreachable collector cannot stall every intercepted git command. The reported service.version defaults to the crate version when GIT_PRISM_SERVICE_VERSION is unset or empty. (#348)
  • gh pr diff <N> now works when the PR head commit is not present locally. Previously the shim resolved the PR's base and head SHAs via gh pr view then attempted to build the diff from local objects, failing with Could not find ref '<sha>' for PRs whose head commit had never been fetched (e.g. squash-merged branches or first-time clones). The handler now checks local object presence via gix before building the manifest; when the head SHA is absent it fetches refs/pull/<N>/head from origin using the real git binary (the sanctioned shim-scoped exception to the gix-only rule — gix lacks network capability without optional features this project deliberately omits). The fetch is skipped entirely when the objects are already present, so existing workflows have no overhead. (#349)

Install git-prism 0.9.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mikelane/git-prism/releases/download/v0.9.3/git-prism-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/mikelane/git-prism/releases/download/v0.9.3/git-prism-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install mikelane/tap/git-prism

Download git-prism 0.9.3

File Platform Checksum
git-prism-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
git-prism-x86_64-apple-darwin.tar.xz Intel macOS checksum
git-prism-x86_64-pc-windows-msvc.zip x64 Windows checksum
git-prism-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
git-prism-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum