Skip to content

Latest commit

 

History

History
280 lines (213 loc) · 11.3 KB

File metadata and controls

280 lines (213 loc) · 11.3 KB

Changelog

All notable changes to Volt will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Unreleased - 2026-04-14

Changed — File indexing hardening (2026-06-12)

  • Added a persistent, feature-gated Tantivy file-search backend with exact boosts, BM25, as-you-type prefix matching and fuzzy Levenshtein matching with transpositions.
  • Reuse the Tantivy index across restarts only when its SQLite dirty marker is clean and its document count matches the source-of-truth snapshot.
  • Full scans now replace SQLite transactionally after success instead of clearing the previous coherent index before scanning.
  • File watcher updates SQLite, the in-memory snapshot/lookup and Tantivy together; stopping the watcher joins its worker before rebuilds.
  • Hidden files are excluded by default in both nucleo and Tantivy search paths.
  • File-hit lookup is maintained with the snapshot instead of rebuilding a path map on every query.

Fixed — Encrypted database recovery (2026-06-12)

  • Recover interrupted SQLCipher migrations without overwriting a valid encrypted primary database.
  • Quarantine invalid migration candidates and restore a verified backup when required.

Quality — Validation (2026-06-12)

  • ESLint passes with no warnings after removing the 31 pre-existing warnings.
  • Validation baseline: 345 frontend tests, 294 default Rust tests, 312 Rust tests with Tantivy, and 15 targeted SQLCipher recovery/integration tests.
  • Both Tantivy and SQLCipher feature matrices pass strict Clippy with -D warnings.

Added — Phase 3: Platform & Extensibility

  • Web Worker sandbox for extensions (keywords/prefix in manifest, 500ms timeout, crash recovery)
  • Permission enforcement with consent dialog (clipboard, network, notifications)
  • Network proxy for Worker extensions (fetch via postMessage with permission check)
  • Plugin SDK CLI (volt-plugin init/test/publish) in volt-extensions repo
  • Extension marketplace with install/uninstall/update from registry

Added — Phase 4: Power Features

  • Frecency scoring for applications (launch_count × recency_decay)
  • Predictive suggestions on empty query (top frecency apps)
  • Power-user operators: ext:pdf, in:~/Documents, size:>10mb, modified:<7d
  • Preview panel (Ctrl+P) with dynamic window resize 800→1100px
    • Text preview (first 2KB, monospace), image preview, folder listing
    • Debounced 200ms for keyboard navigation
  • Snippets system with text expansion
    • CRUD backend with JSON storage
    • Variables: {date}, {time}, {datetime}, {clipboard}, {random}
    • Import/export JSON, categories
    • Builtin plugin with ; prefix trigger
  • Results grouped by section (Applications, Commands, Games, Files) like Raycast
  • Type badges on every result (Application, File, Game, Command, etc.)
  • Shortened file paths (~\Documents instead of C:\Users...)
  • Clean app display (no paths in subtitle)

Added — Windows Native Integration

  • Registry Uninstall scanning for better app names (DisplayName, Publisher)
  • Shell AppsFolder enumeration for Store/UWP apps via PowerShell
  • Windows Search Index as supplementary file source (OLE DB via PowerShell)
  • Junk app filtering (SDK samples, documentation, dev tools, uninstallers)
  • Frecency penalization for never-used apps (30% score reduction)

Changed

  • App search uses frecency scoring instead of flat priority score
  • File search limit doubled, total results increased for section grouping
  • Search pipeline uses queryParser for operator extraction

Fixed

  • "Analyser maintenant" button in Settings now shows feedback (count + spinner)
  • File search view refreshes when indexing completes (listens to indexing-progress events)
  • File search shows "X fichiers indexés" instead of "Aucun fichier indexé" when files are indexed but none recently accessed

0.0.4 - 2026-04-12

🔧 Improvements

  • Major App.tsx refactor - Reduced from 1090 lines to 197 lines by extracting hooks: useSearchPipeline, useAppLifecycle, useGlobalHotkey, useResultActions (in src/app/hooks/)
  • VoltError discriminated union - Typed error handling across all Tauri commands
  • Tracing-based logging - Rotating daily log files on the backend
  • Help dialog - Press F1 to view keyboard shortcuts and help
  • CSP security policy - Content Security Policy added in tauri.conf.json
  • Version sync script - Run pnpm run sync-version to keep versions aligned

🧪 Testing

  • 130+ frontend tests (vitest)
  • 113+ backend tests (cargo test)

🔒 Security & CI

  • Added CI gates: cargo fmt --check, cargo clippy -D warnings, vitest, cargo test
  • Code signing CI scaffolding (ready to activate)

🗑️ Removals

  • Dead code cleanup: SnowEffect, SettingsWindow duplicate, and other unused code

0.0.3 - 2026-04-12

📝 Notes

  • First public release attempt
  • Version tag v0.0.3 was consumed by a failed release pipeline

0.0.2 - 2026-01-01

🎉 Initial Release

We're excited to introduce Volt - a modern, lightning-fast application launcher for Windows, macOS, and Linux. Built with Tauri v2 and React, Volt combines native performance with a beautiful, customizable interface.

✨ Core Features

Search & Launch

  • Intelligent Search Engine - Find applications, files, and commands instantly with fuzzy matching
  • Smart Scoring - Results are prioritized based on relevance, usage frequency, and match quality
  • Keyboard-First Navigation - Full keyboard support with arrow keys, Home/End, Page Up/Down
  • Quick Actions - Use Alt+1-9 to launch the first 9 results directly
  • Debounced Search - Sub-150ms response time for smooth, responsive searches

User Interface

  • Glass Morphism Design - Modern, semi-transparent interface that blends beautifully with your desktop
  • Multi-Theme Support - Choose between Dark, Light, or Auto (follows system theme)
  • Smooth Animations - Polished transitions and micro-interactions throughout
  • Responsive Layout - Optimized for different screen sizes and resolutions
  • Customizable Window Position - Top, Center, or Custom positioning with pixel-perfect control

File Indexing

  • Background Indexing - Automatically indexes your files on startup for instant search
  • Configurable Folders - Choose which directories to index
  • Smart Exclusions - Exclude specific paths and file extensions
  • Recent Files Tracking - Access your recently opened files quickly
  • Index Statistics - View detailed stats about your indexed content

🔌 Built-in Plugins

  • Calculator (= or calc)

    • Instant mathematical evaluations
    • Support for basic operations and common functions
    • Result copying with one click
  • Clipboard Manager (clipboard)

    • Automatic clipboard history tracking
    • Search through past clipboard entries
    • Pin important items for quick access
    • Delete unwanted entries
  • Emoji Picker (:emoji)

    • Search and copy emojis instantly
    • Type : followed by emoji name
    • Copy to clipboard with Enter or click
  • Web Search (?query)

    • Quick web searches from Volt
    • Support for Google, Bing, DuckDuckGo
    • Opens in your default browser
  • Timer (timer 5m)

    • Countdown timer with multiple formats
    • Visual countdown display
    • Notification when timer completes
  • System Monitor (system)

    • Real-time CPU usage monitoring
    • Memory (RAM) statistics
    • Disk space information
    • System performance overview
  • Game Scanner

    • Automatic detection of installed games
    • Support for Steam, Epic Games, GOG, EA, Ubisoft
    • Quick game launching
    • Platform icons and metadata

⚙️ Settings & Customization

General Settings

  • Max Results - Control how many search results to display
  • Close on Launch - Auto-hide window after launching an app
  • Start with Windows - Launch Volt on system startup
  • Language - Interface language selection

Appearance

  • Theme Selection - Dark, Light, or Auto
  • Window Position - Top, Center, or Custom coordinates
  • Transparency Effects - Adjust blur and transparency
  • Font Size - Customize text size

Hotkeys

  • Global Hotkey - Register a system-wide shortcut (default: Ctrl+Space)
  • Custom Shortcuts - Assign keyboard shortcuts to specific apps
  • Conflict Detection - Alerts when hotkeys conflict with other apps

Indexing

  • Folder Selection - Choose which folders to index
  • Excluded Paths - Blacklist specific directories
  • File Extensions - Filter by file types
  • Index on Startup - Auto-index when Volt starts
  • Manual Re-indexing - Force a fresh index scan

Plugin Management

  • Enable/Disable Plugins - Turn plugins on or off
  • Plugin Configuration - Customize plugin behavior
  • External Extensions - Load community-created extensions

🚀 Performance

  • Native Performance - Built with Rust and Tauri for maximum speed
  • Low Memory Footprint - Efficient memory usage (~50-100MB typical)
  • Fast Startup - Launches in under 1 second
  • Optimized Search - Sub-150ms search response time
  • Background Operations - File indexing doesn't block the UI
  • Smart Caching - Frequently accessed data is cached intelligently

🛠️ Technical Details

Architecture

  • Frontend: React 19 with TypeScript, Vite, CSS Variables
  • Backend: Rust with Tauri v2
  • State Management: React hooks and context
  • Plugin System: Extensible architecture with TypeScript/Rust APIs
  • File Indexing: Asynchronous scanning with configurable filters

Platform Support

  • Windows - Full support (Windows 10+)
  • macOS - Full support (macOS 10.13+)
  • Linux - Full support (major distributions)

System Requirements

  • OS: Windows 10+, macOS 10.13+, or Linux with GTK3
  • RAM: 4GB minimum (8GB recommended)
  • Disk: 100MB for application + index space
  • Display: 1280x720 minimum resolution

📦 Distribution

  • Windows: Portable EXE, MSI Installer, NSIS Installer
  • macOS: DMG, Universal Binary (Intel + Apple Silicon)
  • Linux: AppImage, DEB, RPM

🐛 Known Issues

  • Hotkey registration may fail if already in use by another application
  • File indexing may be slow on large drives (10,000+ files)
  • Some games from exotic launchers may not be detected

📝 Notes

This is the initial public release of Volt. We're committed to regular updates and improvements based on community feedback. Please report bugs and request features on our GitHub repository.

🙏 Acknowledgments

Special thanks to:

  • The Tauri team for their amazing framework
  • The Rust and React communities
  • All early testers and contributors

Legend

  • 🎉 Major Release
  • ✨ New Features
  • 🔧 Improvements
  • 🐛 Bug Fixes
  • 🔒 Security
  • 📝 Documentation
  • 🚀 Performance
  • ⚠️ Deprecations
  • 🗑️ Removals