Releases: filippostanghellini/DocFinder
Releases · filippostanghellini/DocFinder
Release list
Docfinder v2.1.3
What's Changed
Fixed
- RAG LLM context window overflow:
_load_rag_llm()was hardcoded ton_ctx=4096instead of using the model spec'sctx_size(8192 for all Qwen2.5 models), causing "Requested tokens exceed context window" errors. The context budget is now dynamically calculated from_rag_llm.n_ctx - 800. - RAG model not loading on startup: Model load is now auto-triggered on page load instead of only when opening the Settings tab, fixing "RAG model not loaded" errors when chatting immediately after search.
- RAG LLM error handling: Added
try/exceptaround LLM calls to return a proper JSON 502 error instead of an unhandled exception HTML page.
Added
- Open button in Library: Each document row in the Library tab now has an "Open" button to open files with the system default application.
- Settings panel reorganization: Settings tab split into three distinct cards: Shortcuts, AI Chat (RAG), and Configuration.
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v2.1.2...v2.1.3
Docfinder v2.1.2
What's Changed
Fixed
- macOS indexing performance: Switched from ONNX/CoreML to PyTorch MPS backend for Apple Silicon, providing significantly faster embedding generation (from 30+ minutes to seconds for typical workloads).
- macOS RAM calculation: Improved memory detection with
psutil>=5.9.0for accurate cross-platform RAM detection. - Parallel parsing crash recovery: Added
BrokenExecutorfallback to sequential processing when the process pool crashes, preventing complete indexing failures.
Changed
- Apple Silicon backend preference: PyTorch MPS is now the preferred backend for Apple Silicon (previously ONNX with ARM64 quantized model), providing 10-30x faster embedding generation.
- Adaptive batch sizing: Embedding batch size now dynamically scales with available RAM across all platforms (4-64 chunks), instead of being hardcoded to 16 on macOS.
- Backend detection documentation: Updated docstrings and README to accurately reflect the new backend selection strategy.
- Test coverage improved: Expanded test coverage for backend detection and indexing (~65%).
Performance
| Scope | Improvement |
|---|---|
| Apple Silicon (M-series) | 10-30x faster indexing through PyTorch MPS backend |
| High-RAM systems (16GB+) | Up to 4x larger embedding batches (64 vs 16) |
| All platforms | Consistent adaptive batch sizing based on available memory |
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v2.1.1...v2.1.2
Docfinder v2.1.1
What's Changed
Fixed
- Chat button visibility: Fixed RAG chat buttons on search results - buttons now correctly respect the RAG enable/disable setting; buttons are hidden when RAG is disabled and visible when enabled, both on page load and after toggling the setting.
- Windows path handling: Fixed file path normalization for "Open file" button; paths with forward slashes (
/) are now properly converted to Windows backslashes (\) viaos.path.normpath().
Changed
- Test coverage improved: Expanded test coverage for settings, memory utilities, notifications, text processing, and web app endpoints (~66%).
- Config defaults aligned:
AppConfigdefaultchunk_chars(500 -> 1200) andoverlap(50 -> 200) now matchIndexerdefaults for consistency.
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v2.1.0...v2.1.1
What's Changed
- Release v2.1.1 - Bug fixes for chat button visibility and Windows path handling by @filippostanghellini in #49
Full Changelog: v2.1.0...v2.1.1
Docfinder v2.1.0
What's Changed
Added
- Cross-encoder reranking: search results are re-scored with
cross-encoder/ms-marco-MiniLM-L-2-v2for better precision; the bi-encoder fetches 3× candidates and the cross-encoder selects the best matches. - Parallel document ingestion: files are parsed in parallel via
ProcessPoolExecutor(up to 4 workers) when indexing 4+ documents; embedding and storage stay on the main process for thread safety. - Balanced hardware auto-selection for embeddings: runtime selection is now more robust (e.g. NVIDIA systems without ONNX CUDA provider fall back to PyTorch CUDA instead of CPU).
- Balanced adaptive indexing workers: parser worker count now adapts automatically to available CPU/RAM.
- Runtime diagnostics in Settings/System Info: backend, device, GPU, and indexing mode are exposed for easier troubleshooting.
- Hybrid RAG context strategy: small documents (≤ 20 chunks) are loaded fully into context, while larger documents use a sliding window around the matched chunk.
- Table extraction from PDFs: PyMuPDF
find_tables()tables are extracted and converted to Markdown for better embedding quality. - New
Rerankerclass with lazy model loading (index/reranker.py). - New storage methods
get_document_chunk_count()andget_all_chunks()for hybrid RAG context. - Reranker model preloaded at startup alongside the embedding model.
- Search folder filters: Search tab now includes selectable indexed directory filters (All/None + checkboxes), applied at query time without re-indexing.
Changed
- Spotlight panel (
spotlight.html) redesigned to better match the main app visual style. - Spotlight quick-search input is now rounded with less aggressive filtering (minimum 2 chars, softer threshold, fallback rendering).
- ONNX fallback now preserves the best available torch device (
cuda/mps) instead of forcing CPU.
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v2.0.0...v2.1.0
Docfinder v2.0.0
What's Changed
Added
- Local RAG (AI Chat) — ask questions about your documents using a fully local LLM. No data leaves your
machine.- Automatic model selection based on system RAM: Qwen2.5-7B (16 GB+), Qwen2.5-3B (8–16 GB), or Qwen2.5-1.5B
(any) - GPU acceleration: Apple Metal on Apple Silicon, CUDA on NVIDIA, CPU fallback
- Models downloaded once to
~/.cache/docfinder/models/via Hugging Face Hub - Chat button on search results with slide-up conversation panel
- Automatic model selection based on system RAM: Qwen2.5-7B (16 GB+), Qwen2.5-3B (8–16 GB), or Qwen2.5-1.5B
- RAG Settings UI — toggle AI Chat, view hardware detection, select and download models with real-time
progress tracking - Page-aware context retrieval — RAG uses document structure for smarter context:
- PDF: real page boundaries
- Markdown: heading-based sections
- Word (.docx): groups of 10 paragraphs
- Plain text: virtual pages of ~3000 characters
- Multi-format document support — DocFinder now indexes PDF, plain text (
.txt), Markdown (.md), and Word
(.docx) files - Spotlight-style quick-search panel (experimental) — floating
NSPanelsummoned via global hotkey without
switching to the main window
Changed
- Redesigned UI theme
build_chunks()now stores page number in chunk metadata for all document formats- New
[rag]optional dependency group (pip install docfinder[rag])
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v1.2.0...v2.0.0
What's Changed
- Feature/rag by @filippostanghellini in #29
Full Changelog: v1.2.0...v2.0.0
Docfinder v2.0.0-beta
What's Changed
Added
- Multi-format document support — DocFinder now indexes PDF, plain text (
.txt), Markdown (.md), and Word (.docx) files in addition to PDFs; drop any supported file or folder in the Index tab and it will be picked up automatically - Spotlight-style quick-search panel (experimental) — a floating panel summoned via the global hotkey lets you search documents instantly without switching to the main window.
Changed
- Redesigned UI theme
Notes
⚠️ The Spotlight panel is experimental and still being refined — it may behave unexpectedly in some scenarios. Feedback welcome.
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v1.2.0...v2.0.0-beta
Docfinder v1.2.0
What's Changed
Fixed
- Windows: Fixed crash on startup —
create_window()raisedTypeError: unexpected keyword argument 'icon'on some pywebview builds;
the app now falls back gracefully - macOS: Fixed dock icon showing Python logo — the DocFinder logo is now correctly shown in the dock when running from source
Added
- Global hotkey — bring DocFinder to the front from any app with a configurable system-wide shortcut (
⌘+Shift+Fon macOS,
Ctrl+Shift+Fon Windows/Linux) - Settings tab — enable/disable the hotkey and change the key combination via an interactive capture modal
- Native folder picker — "Browse…" button opens Finder/Explorer directly instead of requiring manual path input
Performance
- Indexing 2–4× faster — batch SQLite inserts, larger embedding batches (8→32), removed unnecessary GC calls and artificial
file-batching loops - First request instant — embedding model loaded once at startup instead of on every request
UI
- Real-time indexing progress bar with file counter and current filename
- macOS-native frosted-glass header
⌘K/Ctrl+Kshortcut to jump to search from any tab- Drag & drop folder support in the Index tab
- Relevance score shown as percentage
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v1.1.2...v1.2.0
What's Changed
- Indexing optimization, UI improvement and v1.2.0 release preparation by @filippostanghellini in #28
Full Changelog: v1.1.2...v1.2.0
DocFinder v1.1.2
What's Changed
✅ Fixed
- Windows: Silent startup crash resolved (
multiprocessing.freeze_support()), addedtorch.cudahidden imports, native error dialog, and persistent startup logging. - UI: The Search button no longer jumps on hover.
Added
- CI: Smoke tests for macOS, Windows, and Linux (startup/log verification).
Changed
- Improved multiprocessing handling for PyInstaller-built apps.
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v1.1.1...v1.1.2
What's Changed
- Fix windows bug by @filippostanghellini in #19
Full Changelog: v1.1.1...v1.1.2
DocFinder v1.1.1
What's Changed
✨ Added
- Improved User Interface with better design and user experience
🔄 Changed
- License changed from MIT to AGPL-3.0 to comply with PyMuPDF licensing requirements
- Switched PDF parsing from pypdf to PyMuPDF for faster and more reliable text extraction
- Completely revamped README with better structure and documentation
📦 Downloads
| Platform | Download |
|---|---|
| macOS | DocFinder-macOS.dmg |
| Windows | DocFinder-Windows-Setup.exe |
| Linux | DocFinder-Linux-x86_64.AppImage |
Full Changelog: v1.0.1...v1.1.1
What's Changed
- UI improvements and v1.1.1 release preparation by @filippostanghellini in #17
Full Changelog: v1.0.1...v1.1.1
DocFinder v1.0.1
🐛 Bug Fix Release
Fixed
- Fixed Linux build failing due to disk space issues on CI runner
- Excluded unnecessary CUDA/GPU libraries from bundle (GPU support still works via system libraries)
- Optimized bundle size by using CPU-only PyTorch for builds
Downloads
- macOS:
DocFinder-macOS.dmg - Windows:
DocFinder-Windows-Setup.exe - Linux:
DocFinder-Linux-x86_64.AppImage
Notes
GPU acceleration (NVIDIA CUDA, AMD ROCm, Apple Metal) is still fully supported - the application uses GPU libraries from your system at runtime.
Full Changelog: v1.0.0...v1.0.1