Repository navigation
Releases
Releases · rajeshsub/indexed
v0.4.0
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
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
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
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.