# Release Notes
## v0.1.3 - Cross-Platform Release π
*Released: August 2025*
### π **Fully Cross-Platform Release**
Major improvements to build system and cross-platform compatibility! Now with automatic binary generation for all major platforms.
### β¨ **What's New in v0.1.2**
#### **π§ Build System Improvements**
- **πͺ Windows Build Fix**: Added bundled SQLite feature to resolve Windows linking issues
- **π Automated Releases**: GitHub Actions now automatically builds binaries for all platforms
- **π¦ Four Platform Support**: Linux x86_64, Windows x86_64, macOS Intel, macOS Apple Silicon
- **π Reproducible Builds**: Updated `Cargo.lock` for consistent dependency versions
#### **π§Ή Repository Cleanup**
- **π Code Formatting**: Applied `rustfmt` standards across entire codebase
- **π Linter Compliance**: Fixed all `clippy` warnings for better code quality
- **ποΈ Module Organization**: Resolved module inception issues (`database.rs` β `db.rs`, `indexer.rs` β `scanner.rs`)
- **π Enhanced `.gitignore`**: Prevents accidental commit of binaries and temporary files
#### **βοΈ CI/CD Pipeline**
- **β
Continuous Integration**: Automated testing, formatting, and linting on every commit
- **π Security Auditing**: Daily dependency vulnerability scanning
- **π Build Status**: Real-time build status badges
- **ποΈ Multi-Platform Builds**: Simultaneous building across Linux, Windows, and macOS
### **π¦ Core Features** *(Stable)*
- **π Smart PDF Indexing**: SQLite-powered database with metadata extraction
- **β‘ Lightning Fast**: Two-phase scanning with accurate progress tracking
- **π¨ Beautiful Progress Bars**: Custom Braille character indicators (`β£Ώβ£·β£―β£β‘Ώβ’Ώβ Ώβ β β `)
- **π Zero Duplicates**: Intelligent `INSERT OR REPLACE` prevents duplicate entries
- **π‘οΈ System-Aware**: Gracefully skips protected directories (Photos, System, etc.)
- **π§Ή Clean Uninstall**: Complete data removal with `pdfx cleanup`
### **π₯οΈ Commands Available**
```bash
pdfx init [path] # Index PDFs in specified directory (one-time setup)
pdfx search "query" # Search indexed PDFs (coming in v0.2.0)
pdfx list [-a] # List indexed PDFs (coming in v0.2.0)
pdfx recent [-l N] # Show recent PDFs (coming in v0.2.0)
pdfx cleanup # Complete data cleanup and uninstall
```
#### **Database & Storage**
- **Local SQLite Database**: Stored in OS-appropriate data directories
- **Complete Privacy**: No cloud storage, no tracking, no data sharing
- **Clean Uninstall**: `pdfx cleanup` removes all traces
### π οΈ **Technical Highlights**
- **Architecture**: Clean modular design with proper separation of concerns
- **Error Handling**: Robust error handling with graceful degradation
- **Performance**: Efficient two-phase scanning for accurate progress tracking
- **Memory Safe**: Built with Rust for memory safety and performance
### π **Database Schema**
Your PDFs are indexed with:
- Full file path and filename
- File size and modification timestamps
- Indexing timestamp for change detection
- Unique path constraints to prevent duplicates
### π **Getting Started**
1. **Install**:
```bash
cargo install --git https://github.com/ionnss/pdfx
```
2. **Index your PDFs**:
```bash
pdfx init ~/Documents
```
3. **Enjoy lightning-fast PDF management!**
### π **Fixes**
- **Windows Compilation**: Resolved `LNK1181: cannot open input file 'sqlite3.lib'` error
- **CI Build Failures**: Fixed formatting and linting issues that broke automated builds
- **Module Organization**: Eliminated clippy warnings about module inception
- **Binary Artifacts**: Prevented accidental commit of large binary files
### π **Technical Details**
- **SQLite Integration**: Uses bundled SQLite (no system dependencies required)
- **Cross-Compilation**: Supports building for multiple targets simultaneously
- **Memory Safe**: 100% Rust implementation with zero unsafe code
- **Dependency Management**: All dependencies locked for reproducible builds
---
## v0.1.1 - Workflow Integration π
*Released: January 2025*
### π οΈ **GitHub Actions Integration**
- Added CI/CD workflows for automated testing and building
- Cross-platform build matrix (Linux, Windows, macOS)
- Security audit workflow for dependency monitoring
---
## v0.1.0 - Initial Release π
*Released: January 2025*
### π **First Public Release**
- Core PDF indexing functionality with SQLite backend
- Two-phase scanning with Braille progress indicators
- Cross-platform data directory support
- Graceful error handling for system permissions
- Complete cleanup functionality
---
## πΊοΈ **Roadmap**
### **v0.2.0 - Search & Discovery** *(Next Release)*
- **π Search Implementation**: Full-text search through indexed PDFs
- **π List Command**: Display and filter indexed PDFs with sorting options
- **π
Recent Command**: Show recently modified PDFs with timestamps
- **π― Enhanced Filtering**: Search by file size, modification date, path patterns
- **π Statistics**: Show indexing statistics and storage usage
### **v0.3.0 - Content Intelligence** *(Future)*
- **π PDF Content Extraction**: Index text content for full-text search
- **π Advanced Search**: Search inside PDF content, not just filenames
- **π·οΈ Auto-Tagging**: Automatic categorization based on content
- **π Analytics Dashboard**: Visual statistics and insights
### **v0.4.0 - AI Integration** *(Vision)*
- **π€ AI Summaries**: Automatic PDF content summarization
- **β Question Generation**: Study questions from PDF content
- **π― Key Point Extraction**: Highlight important information
- **π Smart Linking**: Connect related PDFs automatically
---
## π **System Requirements**
- **Operating System**: Linux, macOS, or Windows
- **Architecture**: x86_64 (Intel/AMD64) or ARM64 (Apple Silicon)
- **Terminal**: Modern terminal with Unicode/UTF-8 support
- **Storage**: ~50MB for installation, variable for database (depends on PDF count)
---
## π **Acknowledgments**
Built with excellence using:
- **[Rust](https://rust-lang.org)** π¦ - Systems programming language
- **[rusqlite](https://crates.io/crates/rusqlite)** - SQLite database operations
- **[clap](https://crates.io/crates/clap)** - Command-line argument parsing
- **[indicatif](https://crates.io/crates/indicatif)** - Progress bars and spinners
- **[walkdir](https://crates.io/crates/walkdir)** - Recursive directory traversal
- **[chrono](https://crates.io/crates/chrono)** - Date and time handling
- **[dirs](https://crates.io/crates/dirs)** - Cross-platform directory paths
---
## π **Known Issues**
- **Command Placeholders**: Search, List, and Recent commands show "not implemented" messages
- **System Permissions**: Some directories may show permission warnings (this is normal)
- **Large Directories**: Very large directory trees (>100k files) may take longer to scan
- **Unicode Filenames**: Some special Unicode characters in filenames may display incorrectly
---
## π **Links**
- **π¦ Download**: [GitHub Releases](https://github.com/ionnss/pdfx/releases)
- **π» Source Code**: [GitHub Repository](https://github.com/ionnss/pdfx)
- **π Bug Reports**: [GitHub Issues](https://github.com/ionnss/pdfx/issues)
- **π Documentation**: [README.md](https://github.com/ionnss/pdfx/blob/main/README.md)