Skip to content

Rawgrep v0.3.1

Latest

Choose a tag to compare

@rakivo rakivo released this 28 Oct 23:57
20261029_02h48m58s_grim

v0.3.1 28 October 2026

Added

  • Automatic JAI backslashed-identifier search. In .jai files, foo\ bar and foo\bar now match a search for foobar, without requiring a --jai flag. Backslashes inside strings and here-strings are left alone. Files larger than 32 MiB are searched raw, without folding backslashes.
  • --no-jai to disable this behavior. It replaces the old opt-in --jai flag, which has been removed.
  • Proper device identity for plain disk-image files, which previously always reported zeroes.
  • If waiting for the Fragment Cache build lock times out (after 2 seconds), Rawgrep now warns the user, naming the lock file and reporting the holder's PID and command line, before building a fresh cache. This would most likely only happen if you're running different Rawgrep executables, e.g. during development.
  • --stats now reports "Read through Page Cache" and "Failed to read through Page Cache" (see Fixed: ext4).

Changed

  • -w now follows ripgrep's Unicode word semantics: a match is accepted only if the code points on both sides are not word characters.
  • Binary detection no longer treats DEL (0x7F) as a binary-only byte, so files containing it are now searched as text. Existing Binary Verdicts caches are invalidated automatically.
  • Single-file searches now spawn just one worker thread, avoiding unnecessary memory preallocation for worker threads that would otherwise remain idle.

Fixed

  • Fragment Cache poisoning with --word-regexp. These runs could record incorrect "fragment absent/present" rows, causing later searches to skip files that should match.
  • ext4: Files with unwritten extents (preallocated space or writes still in flight) are now read through the page cache instead of being read raw, which could cause matches to be missed, due to reading stale data.

Edit (29 October 2026 00:59:11 UTC)

  • JAI mode no longer requires a separate Fragment Cache column, so existing cache works as-is in both JAI and --no-jai modes.