WABS - v1.0.0-beta.5
Full Changelog: https://github.com/wizwin/WABS/commits/v1.0.0-beta.5
WABS v1.0.0-beta.5 - Massive Performance & AI Optimizations
Welcome to WABS v1.0.0-beta.5! This release focuses heavily on taking the app's performance to the next level. We've completely vectorized the offline AI engine, bypassed heavy ORM overheads for lightning-fast database writes, and integrated SQLite's JSON1 extension to unlock incredibly fast, native metadata searches.
Here is everything new, improved, and fixed in this update:
🚀 Major New Features
- Combined AI Scanner: Added a new "Combined Scan" mode to optimize performance by scanning for files, faces, and objects simultaneously in a single pass.
- Advanced JSON Search: Added high-speed JSON prefix searches (
camera:,resolution:,fps:,artist:,album:,genre:, and the catch-allmeta:) utilizing SQLite's JSON1 extension for native metadata querying. - Portable Data Export: Added JSON Export/Import tools for Known People and Object/Custom Tags. This includes a Smart Path Fallback Matcher so your tags and AI profiles survive drive letter changes and migrations!
- People Timeline: Added a chronological Timeline View and "Full Archive Timeline" jump integration directly into the People Photos page.
- Document Thumbnails: Added rich thumbnail generation support for
.docand.docxfiles. - Smart Search UI & People Management: Improved the user interface for Smart Search, renaming people, and resolving person mismatches.
✨ UI/UX Enhancements
- Data Management Redesign: Completely redesigned the Data Management section in Settings with clean, descriptive UI cards.
- Action Safety Locks: Added dynamic UI safety locks to maintenance tasks (like clearing cache, backups, and exports) to prevent data corruption while background scanners are running.
🛠 Build & CI
- Raspberry Pi Build: Added a dedicated Raspberry Pi build target in GitHub Actions.
- Build Selection: Added UI to pick the specific OS build target when running workflows manually.
⚡ Massive Performance Improvements
- Vectorized AI Engine: Completely replaced slow Python math loops with optimized
numpyvector and matrix multiplications for face clustering and similarity searches, dropping computation times from minutes to milliseconds. - Database Speedups: Bypassed heavy SQLAlchemy ORM instantiation overhead in the indexer, search, and duplicate hasher routines. Integrated
bulk_update_mappingsand raised batch commit thresholds from 50 to 500 for lightning-fast SQLite writes. - FTS5 Search & SQLite Tuning: Enabled WAL mode for improved concurrency, heavily optimized FTS5 trigger scoping to slash unnecessary disk I/O, and added Porter stemming and prefix tokenization for highly accurate partial filename matches.
- JSON1 Hasher Optimization: Upgraded the background lazy hasher to use SQLite's native
json_extractfiltering, completely preventing already-verified duplicate files from being unnecessarily loaded into memory. - OOM Memory Optimizations: Resolved severe backend Out-Of-Memory crashes and SQLite lock contentions when scanning massive archives (>90,000 files) by implementing batched
.yield_per()queries and ID-level tracking.
🐞 Bug Fixes
- Database Cleanup & Optimization: Added a dedicated routine in Settings to automatically scan for missing files, remove dead links, purge orphaned AI profiles, and vacuum the SQLite databases to reclaim disk space.
- CPU Drain Fix: Fixed a major bug where stopping the standalone face scan would fail to terminate the background loop, causing indefinite high CPU usage.
- Connection Stability: Fixed backend HTTP connection drops (
[WinError 10054]) during rapid frontend scrolling usingAbortControllernetwork cancellation. - Database Limits: Fixed fatal SQLite
OperationalErrorcrashes during bulk tagging by chunking arrays to circumvent the hard 999IN(...)variable limit. - Pagination & Navigation: Added robust pagination to the People Photos API to prevent browser freezing on profiles with thousands of matched faces. Fixed UI bugs when navigating away from the Duplicates page.
- UI Polish: Fixed issues with re-applying batch processing, UI scaling when resizing the details pane, and missing selection highlights.
📥 Installation Instructions
- Download the standalone executable for your operating system below (
WABS-Windows.exe,WABS-Linux, orWABS-RaspberryPi). - Run the executable anywhere on your computer (no installation required!).
- Open your browser to
http://127.0.0.1:8000
(Note: If updating from an older beta, it is recommended to run the new Database Cleanup routine in Settings!)