Raffi v0.21.0 introduces automatic desktop application detection, configurable sort modes, and powerful new capabilities for script filters, including search fallbacks and live autocomplete. It also features significant internal refactoring of the Wayland UI and a new zero-cost debug logging system.
🚀 Features
- Desktop App Auto-Detection: Automatically scans installed desktop applications (via
.desktopfiles) to provide a default list of launchers when no valid configuration is found, enabling immediate use after installation (#168). - Sort Modes: Added a
sort_modeconfiguration option (frequency,recency, orhybrid) for launcher entries. The MRU cache now tracks usage timestamps to support this and migrates automatically. - Search Fallbacks: Introduced a
fallbacksgeneral setting to display specified web searches or script filters at the bottom of the results list. These can execute commands and parse outputs directly from the native UI. - Script Filter Enhancements:
- Added support for passing environment variables (
env) to script processes. - Added
min_query_lengthto prevent execution until a sufficient number of characters are typed, accompanied by a helpful UI prompt. - Included a new live search script (
scripts/search/search.py) that queries configuration files and provides DuckDuckGo autocomplete suggestions.
- Added support for passing environment variables (
- CLI Improvements: Added short CLI flags for config location (
-c), print-only mode (-p), and cache refresh (-r). Also added a--debug-file=FILEflag to activate timestamped debug logging.
🧹 Maintenance / Refactoring
- Wayland UI Modularization: Extracted the monolithic Wayland UI file into a dedicated subdirectory, organizing the logic into maintainable modules (actions, app, browser, currency, emoji, etc.).
- Developer Documentation: Added
AGENTS.mdto detail project workflows andDESIGN.mdto explain internal system structure, configuration models, and runtime behaviors. - Testing: Removed unnecessary reference dereferencing in test assertions to ensure compatibility with updated trait implementations.
- Documentation: Fixed formatting and adjusted aside block placements in the quickstart guide.
📦 Dependencies
- Updated Rust dependencies to their latest versions, including major updates for
jni,read-fonts,thiserror,ureq(to 3.3.0), andschemars(to 1.2.1). - Bumped GitHub Actions for the website deployment workflow (
setup-nodev6,deploy-pagesv5,upload-pages-artifactv4).
Contributors
- @chmouel
- @dependabot[bot]