Skip to content

Releases: aymanbagabas/drift

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 07 Aug 15:05

drift is a git diff viewer that acts like a pager, with syntax highlighting and live watching of index/branch changes.

Highlights

📤 Pass-through for non-diff input

Pipe something that isn't a diff — git diff --stat, git status, plain prose — and drift no longer shows an empty screen. It detects that the input isn't a patch and passes the original bytes straight through to your terminal, so git … | drift is safe as a drop-in even when the output isn't a diff. Detection is byte-exact and handles non-UTF-8 and localized git output without dropping or mangling anything.

🐛 Fix: mascot flash on streaming diffs

The idle mascot no longer flashes for a frame when a piped diff starts streaming — a stream that's still loading is now treated as busy, not idle.

Other changes

  • Hardened diff detection: patch headers are confirmed before switching to the viewer (no false positives on prose containing diff --git), and buffering is bounded while classifying input
  • Added CJK/accented and localized-output test coverage
  • Release pipeline fixes: trust the Gemfury tap, probe AUR with the real git operation, and build from a clean tree

Full Changelog: v0.0.3...v0.0.4

v0.0.3

Choose a tag to compare

@aymanbagabas aymanbagabas released this 06 Aug 21:35

drift is a git diff viewer that acts like a pager, with syntax highlighting and live watching of index/branch changes.

Highlights

⚡ Streaming diffs

Piped diffs (git diff | drift) now render file-by-file as they arrive instead of waiting for the entire input. Large diffs are usable instantly, with a faint ⋯ loading indicator in the status bar while more files stream in.

🐛 Fix: "Too many open files" crash on macOS

drift could crash on launch with Too many open files (os error 24) in repositories with many refs. The file watcher now uses the FSEvents backend on macOS (a single kernel stream instead of one file descriptor per ref), so it no longer exhausts the open-file limit.

Other changes

  • macOS release builds now compile natively so the FSEvents backend links correctly
  • Release pipeline: skip AUR automatically when it's unreachable, and retain build artifacts

Full Changelog: v0.0.2...v0.0.3

v0.0.2

Choose a tag to compare

@aymanbagabas aymanbagabas released this 06 Aug 19:33

drift is a git diff viewer that acts like a pager, with syntax highlighting and live watching of index/branch changes.

What's new

This release is all about getting drift into your hands — the first fully automated, multi-channel release.

Install

Available now via Homebrew, Scoop, AUR, apt/yum (Gemfury), npm, crates.io, and prebuilt archives for macOS, Linux, and Windows. See the README for the one-liner for your platform.

Under the hood

  • GoReleaser pipeline building macOS/Linux/Windows on tag push
  • crates.io publishing on release
  • npm via OIDC trusted publishing

Full Changelog: v0.0.1...v0.0.2

v0.0.1

Choose a tag to compare

@aymanbagabas aymanbagabas released this 06 Aug 14:04

First release of drift — a git diff pager that actually wants to be looked at. 👾

Syntax highlighting, word-level change emphasis, split/unified views, a
file-list modal and draggable sidebar, jump-to-hunk, in-file search,
open-in-$EDITOR, and a live watch mode that repaints when your index or
branch moves. Point it at a commit, a range, your staging area, or the working
tree — or pipe a diff in as a pager.

Install

cargo install drift-diff

That drops a drift binary on your PATH. A prebuilt macOS (Apple Silicon)
binary is attached below.

Make it your git diff pager:

git config --global pager.diff drift
git config --global pager.show drift

See the README and
CONFIG.md.