Skip to content

Release v0.2.1

Choose a tag to compare

@github-actions github-actions released this 08 Nov 21:42
· 260 commits to main since this release

Breaking Changes

⚠️ CLI Scan Removal

  • The scan subcommand has been removed. All scanning operations must now be performed through the web UI (fspulse serve)
  • CLI commands for querying, reporting, and data exploration remain fully functional

⚠️ Query Column Renames

  • Database schema v10 renames file_size → size and total_file_size → total_size to reflect directory size support
  • Queries using old column names will fail after upgrade

⚠️ Query Language Updates

  • Computed columns (adds, modifies, deletes) replaced with stored columns (add_count, modify_count, delete_count)
  • Queries using old column names will fail after upgrade

Added

🗓️ Scheduled and Recurring Scans

  • New scheduling system with daily, weekly, monthly, and interval-based automatic scans
  • Queue-based execution with database-backed persistence

📁 Browse Page with Item Detail View

  • Navigate filesystem hierarchy with detailed item cards showing metadata, validation status, change history, and alerts
  • Elegant sliding panel interface for item inspection

📊 Scan Trends Visualization

  • New Insights tab with interactive charts showing historical scan data
  • Track file size, file/folder counts, change activity, and alerts over time
  • Features root selection, date range filtering, and smart baseline exclusion

💾 Folder Size Calculation

  • Folder sizes now computed during scan and stored in database
  • Dual-format display (decimal and binary units): e.g., "16.3 MB (15.54 MiB)"

🎯 Enhanced Scan Statistics

  • Denormalized count columns in scans table for improved query performance
  • Home page displays total file size and color-coded change indicators

🔍 UI Enhancements

  • Unified filter toolbar design across Browse and Alerts pages
  • Path search with debouncing on Browse page
  • Standalone Alerts page with context filtering
  • Preset time window selector with quick-select ranges

Changed

⚛️ Complete React Migration

  • Replaced 5,800-line HTML template with React 19 + shadcn/ui
  • Improved responsiveness, accessibility, and maintainability

📦 Single-Binary Distribution

  • Assets embedded using rust-embed with conditional compilation
  • Development builds serve from filesystem; release builds embed assets in binary

🎨 UI Design Language Overhaul

  • Card-based layouts with refined typography and spacing
  • Consistent component styling across all pages

🔧 Progress Reporting Simplification

  • Consolidated from 3 files to 1 with minimal 14-method API
  • Validators now pure validation functions; Scanner tracks progress

📂 Recursive Directory Scanning

  • Replaced queue-based traversal with depth-first recursive scanning
  • Enables bottom-up folder size calculation

🔢 Natural Path Sorting

  • Database schema v8 implements natural, case-insensitive path sorting
  • Hierarchical ordering (e.g., /proj before /proj-A) with proper numeric handling

⚡ Integer-Based Enum Storage

  • Database schema v7 migrates enums to integer values for type safety and performance
  • ChangeType reordered to logical sequence (NoChange=0, Add=1, Modify=2, Delete=3)

🗄️ Standardized Transaction Pattern

  • All transactions now use IMMEDIATE mode for consistency and safety

🖥️ Chart and Visualization Improvements

  • Standardized chart titles, improved visualization types
  • Integer-only Y-axes for count-based charts

Fixed

  • Activity and Monitor page table refresh with proper loading states
  • Monitor page button states (Add Schedule always enabled; Delete disabled during active scan)
  • Root deletion now properly removes associated schedules and queue entries
  • Alert path formatting using correct @name format specifier
  • ItemDetailSheet alerts loading corrected to use val_error column
  • Tombstone exclusion in file/folder counts
  • Schema migration corrections for ValidationState and enum mappings
  • Null date display in Explore view