Repository navigation
Release v0.2.1
Breaking Changes
- The
scansubcommand 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
- Database schema v10 renames
file_size→sizeandtotal_file_size→total_sizeto reflect directory size support - Queries using old column names will fail after upgrade
- 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.,
/projbefore/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
@nameformat specifier - ItemDetailSheet alerts loading corrected to use
val_errorcolumn - Tombstone exclusion in file/folder counts
- Schema migration corrections for ValidationState and enum mappings
- Null date display in Explore view