Releases: gtunes-dev/fspulse
Releases · gtunes-dev/fspulse
Release v0.6.5
Added
- Query DSL columns: Exposed
val_scan_id,val_reviewed_at, andhash_reviewed_atin the versions domain, enabling agents and users to query validation scan timing and integrity review status. - Column descriptions: All columns across all query domains now include a description, shown in
query_helpdomain output. - Scan modes and integrity documentation: MCP general help now explains hashing modes (None, New/Changed, All), validation behavior, and why missing hash or validation data is expected.
Improved
- MCP agent guidance: Improved query help documentation, filter syntax examples, timestamp usage guidance, pagination percentage display, partial-result warnings, ORDER BY clause documentation, and format modifier restrictions.
Release v0.6.4
Improved
- MCP agent guidance for deleted items: Help text, examples, and server instructions now explicitly warn that
is_current:(T)includes deleted items. Agents are guided to useis_current:(T), is_deleted:(F)when analyzing live items. - MCP agent guidance for path prefix matching: Help text, column tips, and server instructions now warn that path filters use substring matching and that a trailing slash is needed when filtering by folder path to avoid matching sibling folders with similar prefixes.
Release v0.6.3
Fixed
- Scan date display:
started_atandended_atcolumns in scan queries were returning raw epoch timestamps instead of formatted dates. Display modifiers (@short,@full,@timestamp) and the default format now work correctly, matching the existing behavior ofmod_datein version queries.
Release v0.6.2
Added
- Schedules table Integrity column: Combined hash mode and validation settings into a single Integrity column, replacing the need to check individual settings in the edit dialog.
Fixed
- Browse page ItemDetail version selection: ItemDetail now selects the item version active at the currently viewed scan instead of always showing the most recent version.
- Schedule dialog interval input: Interval value field no longer snaps to 1 while typing, allowing users to clear and retype values. Invalid values are caught on submit with a validation message.
Release v0.6.1
Added
- Date/time precision in query filters: Date filters now accept three input forms — date only (
2025-01-15), date and time (2025-01-15 14:30:00), and Unix epoch (1737936000). Date-only values match the entire day; date+time and epoch values match an exact second. All three forms can be mixed freely within a filter or range (e.g.started_at:(2025-01-15..2025-01-16 14:30:00)). - Date format round-tripping: Any date value produced by a query (via
@short,@full, or@timestampdisplay modifiers) can be used directly as filter input, enabling agents and users to copy output values into subsequent queries without conversion.
Changed
- MCP pagination: All tools now support consistent pagination with
limit(default 50, max 200) andoffsetparameters. Total counts and next-offset hints included in responses. - MCP query_data: Removed
max_rowsparameter; 200-row cap applied internally. Pagination controlled via LIMIT/OFFSET in the query string. - MCP query_help: Added data model overview with domain descriptions and entity relationships to help agents understand the data structure before querying.
- MCP tool descriptions: Updated all tool descriptions to document pagination support and date filter formats.
- MCP documentation: Expanded sample prompts with multi-step investigation workflows. Updated tools reference with pagination details and date format documentation.
Release v0.6.0
Added
- **MCP server (experimental) **: Integrated MCP (Model Context Protocol) server via rmcp with Streamable HTTP transport at
/mcp. Provides 10 tools for AI agents:system_overview,query_data,query_count,query_help,integrity_report,scan_history,browse_filesystem,search_files,item_detail,scan_changes. Compatible with Claude Desktop (via mcp-remote), Claude Code, and other MCP clients. - GROUP BY and aggregate functions: Query DSL now supports
GROUP BYwith aggregate functionscount,sum,avg,min,max. GROUP BY requires an explicit SHOW clause. Aggregates can be used in ORDER BY. - MCP enable/disable setting: New "Enable MCP Server" toggle in Settings under MCP Server section. Disabled by default; requires restart to take effect.
- MCP documentation: New top-level documentation section covering setup (Claude Desktop, Claude Code, multiple instances), sample prompts, and tool reference.
- Linux ARM64 release builds: CI now produces
aarch64-unknown-linux-gnubinaries for Raspberry Pi (3/4/5 with 64-bit OS), ARM servers, and other Linux ARM64 devices.
Changed
- Query model cleanup: Restructured query domains to match the actual data hierarchy (items → versions → hashes). The
itemsdomain now exposes only item identity columns (path, name, extension, type, validator flags). Version-state columns (size, mod_date, access, val_state, etc.) and hash columns have been removed fromitems. Theversionsdomain no longer includes hash columns. A newhashesdomain provides direct access to hash observation records. New columns added:is_added,is_current, andfile_extensiononversions;has_validatoranddo_not_validateonitems. Thescan_statecolumn onscansis now shown by default. - Data Explorer: Added Hashes tab. Updated sample queries including aggregate examples.
Fixed
- Boolean filter binding: Boolean filter values are now bound as integers instead of strings, fixing
is_currentand other virtual boolean column filters that returned empty results due to SQLite type mismatch. - Remove false-positive suspect hashes (schema v30→v31): Prior to v0.5.2, insufficient guards between the filesystem walk and hash computation could cause legitimate file changes to be misidentified as suspicious hash changes. The guards were fixed in v0.5.2, but existing databases may still contain suspect hash records created before the fix. This migration treats all existing suspect hashes as false positives and removes them: deletes all suspect hash_version rows, clears associated review timestamps, and adjusts scan-level hash counts accordingly. Future scans will reestablish hash baselines under the corrected logic.
Release v0.5.4
Added
- Validation settings: Add per-validator-group settings to enable or disable file validation for Images (JPG, JPEG, PNG, GIF, TIFF, BMP), PDF, and Audio (FLAC). Settings appear in a new "Validation" section on the Settings page and take effect on the next scan. PDF validation defaults to off due to high false positive rates
- Scan filtering for disabled validators: File Analysis phase skips validation for file types whose validator group is disabled in settings, both in item counts and batch fetching
- Integrity info box: Informational banner on the Integrity page explaining that validation may produce false positives, with a link to Settings
- Batch review on Integrity page: Checkbox selection for items with bulk "Review Selected" and "Review All" actions. Confirmation dialog describes exactly which issue types will be marked reviewed. Review timestamps are guarded against overwriting previously reviewed items
Changed
- Per-row Review button: Renamed from "Review All" to "Review" to distinguish from the new bulk "Review All" action
- Thousands separators: Format all displayed counts with locale-appropriate separators
- Browse ChangeDots respect filter: Folder descendant grid suppresses colors for change types hidden by the filter
- Scan summary bar: Remove change counts (redundant with calendar picker)
- ItemDetail header icons: Use neutral colors instead of blue folders and red tombstone icons
Fixed
- Review timestamp guards: Existing per-item review now guards against overwriting previously set review timestamps
Release v0.5.3
Follow-up to v0.5.0, which introduced the integrity model redesign and Integrity page. See the v0.5.0 changelog entry for full details on the new integrity architecture, hash version tracking, review system, and the removal of the alerts system.
Added
- Scan summary bar on Browse page: Display scan metadata (date, file count, folder count, total size, change icons) as a title bar above the tree/folder/search content area. Clickable to open full scan detail sheet
- Scan list change icons: Replace text-based change summaries in the calendar scan picker with the shared
ChangeIconscomponent for visual consistency with History and Home pages - Independent scroll regions on Browse page: Tree/folder/search and item detail panel scroll independently, preventing detail panel from scrolling out of view. Detail panel always visible with empty state placeholder
- Browse link in scan detail sheet: Navigate from scan details to Browse page viewing that scan. Hidden when already on Browse page
Changed
- Browse filter control: Move change type filter from a full-width bar into a popover triggered by a button with a ChangeDots-style 2x2 grid indicator, reclaiming vertical space on the Browse page
- Scan detail sheet redesign: Match ItemDetail styling (header, fonts, layout). Add scan duration, scan options, integrity table (new/total suspect hashes and validation errors), error display. Use shared ChangeIcons and icon patterns from Browse/History pages
- Trends page chart clicks: Open scan detail sheet instead of navigating directly to Browse, with browse link available from the sheet
Fixed
- Scan detail sheet on Roots page: Remove references to deleted
alert_countcolumn that caused the scan detail sheet to fail with "Internal Server Error" when clicking on scan info
Release v0.5.2
Follow-up to v0.5.0, which introduced the integrity model redesign and Integrity page. See the v0.5.0 changelog entry for full details on the new integrity architecture, hash version tracking, review system, and the removal of the alerts system.
Changed
- Unified change type icons: Replace colored dots with lucide icons (Plus, Triangle filled, X, Minus) across Browse page filters, ChangeDots file indicators, ItemDetail version cards and folder counts, and Trends page Changes chart legend
- Delete icon: Change delete icon from Minus to X across all change type displays (Home, History, Browse, ItemDetail, Trends)
- Unchanged icon: Add Minus icon for Unchanged change type using foreground color (adapts to light/dark mode)
- Icon sizing: Bump change type icon sizes across Browse and ItemDetail for better visibility
- Changes column icons: Replace text characters (+, ~, -) with lucide icons (Plus, Triangle, Minus) in Home and History page change columns for visual consistency with integrity icons
- Integrity column ordering: Show hash count before validation count in Home and History integrity columns
- Trends chart ordering: Swap Suspicious Hashes and Validation Errors charts so hash appears first, matching integrity column order
- DRY change icons: Extract shared
ChangeIconscomponent used by both Home and History pages
Fixed
- Scan count data repair (schema v29→v30): Fix incorrect historical
file_countandfolder_counton scans where the v27→v28 overlap cleanup incorrectly marked folders as deleted while their descendant files remained alive. Repairs folder deletion flags and recomputes population, change, and integrity counts for affected scans - Integrity version expansion crash: Fix error when expanding items on the Integrity page that have only hash issues (no validation failure).
val_statewas incorrectly typed as non-nullable, causing a database read failure on NULL values - Root detail recent scans: Remove references to deleted
alert_countcolumn that caused the Recent Scans list to fail silently and show "No scans recorded" - Root detail scan changes: Replace text-based change summary with
ChangeIconscomponent for visual consistency
Release v0.5.1
This is a follow-up to v0.5.0, which introduced the integrity model redesign and Integrity page. See the v0.5.0 changelog entry for full details on the new integrity architecture, hash version tracking, review system, and the removal of the alerts system.
Fixed
- Scan count data repair (schema v29→v30): Fix incorrect historical
file_countandfolder_counton scans where the v27→v28 overlap cleanup incorrectly marked folders as deleted while their descendant files remained alive. Repairs folder deletion flags and recomputes population, change, and integrity counts for affected scans - Integrity version expansion crash: Fix error when expanding items on the Integrity page that have only hash issues (no validation failure).
val_statewas incorrectly typed as non-nullable, causing a database read failure on NULL values
Changed
- Changes column icons: Replace text characters (+, ~, -) with lucide icons (Plus, Triangle, Minus) in Home and History page change columns for visual consistency with integrity icons
- Integrity column ordering: Show hash count before validation count in Home and History integrity columns
- Trends chart ordering: Swap Suspicious Hashes and Validation Errors charts so hash appears first, matching integrity column order
- DRY change icons: Extract shared
ChangeIconscomponent used by both Home and History pages