Skip to content

Releases

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 00:36
Index fixes, root-helper hardening, UI never freezes

- Removed roots no longer reappear after a restart.
- Elevated mode saves the index again, picks up every update, and reflects
  live changes within seconds instead of only after a full rebuild.
- Index saves fsync the containing directory too.
- Size column sort no longer drops on a new search.
- The search window no longer freezes: index loading, rebuilds, settings
  changes, elevated reloads, and Trash/Delete all run in the background.
- indexed-helper validates every directory in a path before opening it,
  refusing symlinks, planted pipes, or hard links; index files are
  validated against their declared size before parsing.

Full test suite green (332/332); clang-format and cppcheck clean.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 18 Sep 13:03
Persistence hardening and stability

- Index persistence is crash-safe: writes go to a temp file, fsync, then
  rename into place instead of truncating the destination in place.
- Fixed a heap-use-after-free: saving the index while a live-monitoring
  mutation landed on another thread could read the pool mid-reallocation.
- Serialized index format rejects trailing bytes past the declared payload.
- Selected result and keyboard focus no longer drop during a live-monitoring
  refresh of an unrelated file.
- Documented symlink-skip and cache-staleness policies (README); tombstone
  reclamation confirmed rebuild-only, recorded in docs/adr/0007.
- CI: benchmark delta table no longer always reports "nothing to compare
  against" (cache-key collision fix).

Full test suite green; clang-format and cppcheck clean.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 07:37
Live monitoring and file operations

Live monitoring
- Search results now update as files change under a monitored folder:
  a file created, copied in from a USB drive or network share, or deleted
  externally shows up (or disappears) within a second or two, no manual
  "Rebuild Index Now". Bursts (a large copy) coalesce into one refresh.
- A directory that appears already populated -- mkdir d && touch d/f, or
  moving a populated folder in -- no longer loses its contents to the
  window between the directory existing and inotify watching it.

File operations (docs/adr/0013, supersedes 0005)
- Ctrl+C copies the file object: pasting into Nautilus, Nemo, Caja, or
  Thunar copies the actual file. Plain-text path still available for text
  editors. Ctrl+X is the move-on-paste counterpart.
- Dragging a result row out to a file manager now works.
- Shift+Delete permanently deletes the selection behind a confirm dialog;
  plain Delete still moves to Trash.
- Right-click Copy and Cut entries in the result context menu.
- Trash and permanent-delete now report failures instead of silently
  leaving the index inconsistent.

Also: the version string, stuck at 0.1.0 through the v0.1.1 and v0.2.0
tags, is synced to 0.3.0.

Full test suite green; clang-format and cppcheck clean; changes covered
by two independent code reviews.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 12:54
Performance
- RegexSearch: two-phase RE2 matching (cheap boolean-only filter before the
  slower capturing call) -- ~1.75-1.8x throughput at 100k/1M-entry scale.
- TokenSetSearch: per-entry name-token spans now cached in IndexPool instead
  of re-tokenized on every search (docs/adr/0012) -- ~1.75x throughput at
  1M-entry scale. matchPath/ignoreDiacritics searches unaffected.

CI
- Benchmark results render as markdown tables directly in the job summary,
  including a delta-vs-previous-run comparison (previous/current/percent
  change, flagged) so regressions are visible without manual digging.
- Dependency Scan workflow (weekly cron + manual dispatch) given its first
  run so its status badge is meaningful.

Fixed
- InotifyWatcher's intermittent test failures root-caused to dev-machine
  background load starving the watcher thread past test timeouts, not a
  product bug -- confirmed via isolated inotify probes and repeated clean
  runs under normal load.

Docs
- README states the actual platform-testing scope honestly: Fedora XFCE
  only, solo project, portability believed but unverified elsewhere.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 05:24
Fix bugs, add screenshots

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:47

Initial public release.