- Fixed GUI layout bug where pagination controls covered the search box
- Added window resizing support (minimize/maximize buttons now functional)
- Fixed search re-execution issue where subsequent searches would fail
- Implemented comprehensive OCR timeout prevention system:
- Increased OCR timeout from 30 to 360 seconds for complex images
- Added aggressive image optimization (resize to 1000×1000, grayscale, contrast enhancement)
- Implemented pre-processing skip for very large images (>9 megapixels)
- Added faster Tesseract configuration (LSTM engine, optimized segmentation)
- Added detailed OCR timing and size logging for performance monitoring
- Improved search state management with thread-safe flag to prevent concurrent searches
- Enhanced pagination controls visibility in search results
- Significantly enhanced search results pagination with a dedicated navigation panel
- Added First and Last page buttons for easier navigation through large result sets
- Implemented dynamic button state management based on current page
- Added clear visual indicators showing total results and current viewing range
- Improved column headers to display result count information
- Enhanced status bar with more detailed search information
- Fixed Tesseract OCR process failure by redesigning temporary file management
- Fixed application continuing to run after closure by implementing proper thread management
- Added daemon threads to ensure background processes terminate when the application exits
- Implemented window close handler with resource cleanup
- Enhanced error handling and cleanup in the main application loop
- Improved search results pagination with better visibility and increased results per page
- Enhanced status bar to clearly indicate pagination information for large result sets
- Fixed FTS5 search query to use correct column names
- Corrected snippet function parameters for better search result highlighting
- Fixed database utility functions for better backward compatibility
- Corrected cache module imports to use proper class names
- Improved error handling in database operations
- Enhanced code maintainability with proper delegation patterns
- Implemented PDF annotations support
- Added document similarity search using TF-IDF and cosine similarity
- Enhanced database schema with annotations table
- Added document clustering functionality
- Implemented document categorization and tagging system
- Enhanced database schema with tags and categories tables
- Optimized FTS5 search with porter stemming and prefix matching
- Improved caching system with memory-aware LRU cache
- Added time-based cache expiration for better resource management
- Enhanced security with secure temporary file handling
- Improved input validation for all user inputs
- Added comprehensive docstrings and type hints throughout the codebase
- Enhanced run_pdf_search.py with improved database setup, error handling, and command-line options
- Updated README with comprehensive documentation and improved installation instructions
- Added copyright headers to all source files
- Added caching system with LRUCache and DiskCache for efficient data storage
- Implemented memory management utilities for handling large PDFs
- Enhanced security with input validation and sanitization functions
- Added pagination for search results
- Enhanced database with full-text search capabilities and improved indexing
- Improved error handling and logging throughout the application
- Removed EasyOCR support in favor of Tesseract OCR for better compatibility
- Streamlined OCR processing with improved architecture
- Updated package versions in requirements.txt for improved compatibility and performance
- Improved PDF processor architecture with OOP structure
- Added type hints and comprehensive documentation
- Enhanced resource management with context managers
- Optimized database operations
- Used pathlib for cross-platform path handling
- Added PDFMetadata dataclass for better data structure
- Initial release
- Support for PDF text extraction
- Support for OCR using Tesseract and EasyOCR
- Basic search functionality
- SQLite database for storing extracted text
- Improved PDF processor architecture and error handling
- Enhanced code structure with better organization
- Added support for EasyOCR as an alternative to Tesseract for OCR processing
- Fixed image processing with NumPy array conversion for EasyOCR compatibility
- Updated required modules and dependencies
- Added MIT License
- Updated README with improved documentation
- Refactored code for better maintainability
- Various enhancements to core functionality
- Updated code and removed unused components
- Improved code organization
- Enhanced search functionality with more precise keyword matching using regular expressions
- Added multithreading for database search operations
- Implemented zoom control for PDF preview
- Added page navigation with Next and Previous buttons
- Improved error handling with UI feedback and logging
- Enhanced UI layout with expandable TreeView and canvas
- Integrated PDF rendering directly on the main window
- Updated README to reflect new features and improvements
- Added requirements.txt file
- Updated .gitignore file
- Initial commit
- Basic PDF processing functionality