v1.1.0
Latent Library v1.1.0 - The Real-Time Architecture Update
This is a major milestone release. Version 1.1.0 transforms Latent Library from a static asset manager into a real-time, highly resilient companion for your live AI generation workflows. I have completely overhauled the folder synchronization engine, introduced native WSL support, and fortified the entire backend with an enterprise-grade test suite.
🚀 How to Update
As always, Latent Library is fully portable:
- Close the currently running application.
- Download the new v1.1.0 executable for your OS.
- Replace your old executable.
- DO NOT DELETE your
data/folder. Keep the new executable right next to it, and the app will instantly connect to your existing database, tags, and cached thumbnails.
⚡ Real-Time "Hot Folder" Synchronization
I have completely redesigned how the application monitors your output folders during active generation runs.
- Auto-Show Latest Image: I added a new "Bolt" toggle to the Browser Toolbar. When enabled, the application will automatically detect new image generations, select them, and switch the UI to the enlarged Browser Mode without any manual intervention.
- Smart Polling & WatchService: The backend
LibraryControllernow utilizes a dedicatedWatchServicepinned to Java 21 Virtual Threads (Thread.ofVirtual()). This detects OS-level file creation events instantly without consuming core OS threads. - Zero-Lag Gallery Updates: The Pinia frontend store now uses an intelligent 3-second polling mechanism when viewing a "live" folder. It utilizes a new
skipIndexbackend parameter to fetch new thumbnails instantly without triggering redundant, heavy database indexing tasks.
📁 Native WSL & UNC Path Support
I have solved a fundamental limitation between Windows and the Java runtime regarding network drives and Windows Subsystem for Linux (WSL).
- Direct OS Pinning: Previously, Java could not "see"
\\wsl$\or UNC network paths because they lacked mapped drive letters (likeC:\orZ:\). I have added a new "Pin New Folder" feature to the navigation tree. - The Bridge: This feature uses the native Electron OS folder picker to select the WSL directory and passes the raw absolute string directly to the Spring Boot persistent storage. You can now seamlessly index and browse your Dockerized ComfyUI or Automatic1111 outputs running inside WSL.
🛠️ Critical Stability & Performance Fixes
- Database Connection Leaks Eliminated: I resolved a critical backend crash caused by HikariCP connection pool exhaustion during heavy concurrent loads. I refactored the
ImageRepositoryto use.list()instead of.stream()and enforcedtry-with-resourcesblocks across all streaming queries to guarantee connection returns. - Metadata Resilience: The
ComfyUIStrategyandMetadataServicehave been heavily fortified. The indexing engine will no longer crash or halt when encountering malformed JSON graphs, type mismatches, or deeply nested adversarial metadata chunks. - Separation of Concerns: Low-level file system traversal logic has been stripped from the Controller layer and properly encapsulated within the
IndexingService, adhering strictly to the Single Responsibility Principle (SRP).
🧪 Enterprise-Grade Testing & Code Quality
To ensure long-term stability, I have built and verified over 15 new test suites covering the "Final Mile" of the application's domain logic:
- Intelligent Logic Verified: Validated the SHA-256 Move Detection system (which tracks externally renamed files to preserve your ratings), the BK-Tree Hamming distance calculations for visual Duplicate Detection, and the recursive ComfyUI graph-traversal logic.
- Self-Healing & Data Integrity: Confirmed resilience against SQL Injection and Path Traversal attacks. Verified the Hot Backup system (using SQLite’s
VACUUM INTOfor zero-data-loss snapshots), the Application Trash fallback, and the automatic recreation of corruptedsettings.jsonconfigurations. - Architectural Javadoc: I refactored the codebase to include elite-tier class documentation. Every test suite and complex algorithm (like the bitwise XOR hashing in the
DHashService) is now fully documented to explain its architectural intent and edge-case boundaries. - API Consistency: Standardized the global exception handling. All backend failure states now map directly to frontend-friendly
ErrorResponseDTOs with correct HTTP status codes.
Full Changelog: v1.0.4...v1.1.0