Releases: filippostanghellini/DocFinder
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
DocFinder v1.0.0
🎉 First Desktop Release
DocFinder is now available as a native desktop application!
Downloads
| Platform | File | Notes |
|---|---|---|
| macOS | DocFinder-macOS.dmg |
Drag to Applications |
| Windows | DocFinder-Windows-Setup.exe |
Run installer |
| Linux | DocFinder-Linux-x86_64.AppImage |
Make executable |
What's New
- 🖥️ Native desktop GUI using pywebview
- 📦 Standalone app - no Python required
- 🔍 Full semantic PDF search
- 📁 Index folders directly from the app
- 💾 Database stored in
~/Documents/DocFinder/
Installation Notes
See README for security bypass instructions (unsigned app).
Full Changelog: v0.2.0...v1.0.0
What's Changed
- Refactor PDF chunking and indexing for streaming by @filippostanghellini in #12
- Add desktop GUI and build scripts for DocFinder by @filippostanghellini in #14
Full Changelog: v0.2.0...v1.0.0
v0.2.0 - Performance Optimizations & Security Improvements
This release brings major performance improvements, memory optimizations, and critical security fixes!
Highlights
- 1.7x faster on Apple Silicon with ONNX backend
- 30% less memory usage with batch processing
- Critical security fixes for path traversal vulnerabilities
- Developer tools for better development workflow
🆕 What's New
Features
ONNX Backend Support
- Automatic hardware detection for Apple Silicon, NVIDIA CUDA, AMD ROCm
- Up to 1.7x faster on compatible hardware
- Configurable backend selection via
EmbeddingConfig
Memory Optimization
- Mini-batch processing (4 texts at a time) prevents OOM errors
- Batch file indexing (2 files at a time) for large document sets
- Strategic garbage collection after each batch
- Successfully indexes large collections on 16GB RAM systems
Development Tools
- Makefile for common development tasks
- Pre-commit hooks for code quality
check-ci.shto test CI checks locally before pushing
Security Fixes
- 🚨 CRITICAL: Path Traversal Vulnerabilities Fixed (CWE-22)
- Canonical path validation with
os.path.realpath() - String prefix check for safe directory containment
- Restricted file access to safe base directories
- Null byte validation
- Symlink attack prevention
- Canonical path validation with
- Fixed log injection vulnerability using safe format strings
- All paths validated before filesystem operations
- All GitHub CodeQL security checks passed
Bug Fixes
- Fixed Windows path handling for cross-platform compatibility
- Fixed path handling with spaces in directory names
- Fixed web form validation for special characters
- Fixed memory exhaustion on 16GB RAM systems
- All lint and formatting issues resolved
Performance Improvements
| Platform | Speed Improvement | Memory Reduction |
|---|---|---|
| Apple Silicon (M4) | ~1.7x faster | -30% RAM |
| NVIDIA GPU | 2-5x faster | Optimized |
| AMD GPU (ROCm) | Optimized | Optimized |
| Intel Mac (ONNX) | ~1.5x faster | Improved |
Upgrade Guide
# Standard installation
pip install --upgrade docfinder
# With GPU support (NVIDIA)
pip install --upgrade "docfinder[gpu]"Initial Release
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Unreleased
0.1.0 - 2025-11-08
Added
- Initial release of DocFinder
- PDF text extraction and chunking with pypdf
- Local semantic embeddings using sentence-transformers and onnxruntime
- SQLite-based vector storage with BLOB storage
- Command-line interface for indexing, searching, and pruning
- Top-k semantic search using cosine similarity
- Optional FastAPI web interface for interactive document search
- Multi-platform support (macOS, Linux, Windows)
- Python 3.10+ compatibility
- Comprehensive test suite with pytest
- CI/CD pipeline with GitHub Actions
- Code quality checks with ruff
- Security scanning with CodeQL and dependency review
- Automated coverage reporting
Changed
- Implemented lazy imports for web dependencies to allow basic CLI usage without web extras
Fixed
- Fixed import errors when using CLI without web extras installed
- Fixed linting issues for consistent code style
- Updated ruff configuration to use non-deprecated settings