Releases: filippostanghellini/DocFinder
Releases · filippostanghellini/DocFinder
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