Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Mar 17:59
· 345 commits to main since this release
0e40636

Major Milestone — 75 commits, 975 tests, architecture overhaul

A ground-up quality pass: new commands, secrets redaction, comprehensive security hardening, module decomposition, and 975 tests (up from ~100).

New Commands

  • suv alias — shell alias management: add, remove, list, apply, and add-suggested (interactive picker from history analysis)
  • suv gc — garbage collection: remove orphaned tags/sessions and compact SQLite with VACUUM
  • suv session — interactive session timeline TUI with picker, command detail, and scroll/filter
  • suv wrap — execute and record a command without shell hooks (designed for AI agents and scripts)

Search & Suggestions

  • Field-specific search: --field cwd, --field session, --field executor
  • Frequency-weighted suggestions — commands used in more directories rank higher
  • Improved fuzzy ranking: length penalty, human-first boost
  • Help overlay (F1 or ?) with all keyboard shortcuts
  • Responsive column layout: auto-adapts from 80 to 130+ column terminals

Security

  • Secrets redaction — API keys, tokens, passwords auto-redacted before storage. Covers AWS, GitHub, Stripe, database URLs, Bearer tokens, and more. See #5
  • Minisign signature verification for self-update
  • SQLite foreign key enforcement, owner-only file permissions (0o600)
  • ReDoS protection, SQL identifier allowlisting, CSV formula injection prevention
  • Bounded input fields, session ID validation, HTTPS enforcement
  • Secure update: temp dir isolation, tar path traversal validation, mandatory checksum

TUI & Display

  • Command syntax highlighting across all TUI views — commands, flags, strings, variables, paths color-coded
  • Three-tier theme system: dark, light, terminal (ANSI 16). Hot-swap in settings UI
  • Risk level colors centralized in theme.rs
  • Dirty-tracking + save confirmation in settings

Architecture

  • Module decomposition: main.rs (1,500 LOC), search.rs (2,357 LOC), repository.rs (2,464 LOC), agent_ui.rs (1,620 LOC), util.rs (1,043 LOC) each split into focused sub-modules
  • RepositoryApi trait for dependency injection
  • FilterBuilder for composable queries
  • All clippy::too_many_lines suppressions removed via function decomposition

Testing

  • 975 tests (153 binary, 805 library, 17 integration) — up from ~100
  • Covers: ingestion hot path, search input, filter builder, stats, agent UI, suggest UI, fuzzy scoring, timestamps, TUI logic, settings, delete/replay/export, tag commands

40+ Bug Fixes

Shell hook doubled braces, arrow-key navigation hiding failed commands, UTF-8 byte-slicing (4 locations), fuzzy search threshold, config cache TOCTOU, timeline underflow, alias collision, filter popup crashes, division-by-zero, thread-unsafe env, LIKE escaping, REGEXP cache panics, quote-aware shell chaining in risk, LIMIT injection, streaming exports, atomic file writes, and more.

Performance

  • Cached ProjectDirs via LazyLock, config mtime caching, reordered early exits, streaming exports, stats query indexes

Thanks to @world-engineer for CI fixes (#2, #3).

📖 Full documentation · 📋 Changelog

Full Changelog: v0.0.2...v0.1.0