# Release Notes
## v0.2.0 - List & Export Features π
*Released: January 2025*
### π **Major Feature Release**
We're excited to announce **pdfx v0.2.0** with powerful new list and export capabilities! This release transforms pdfx from a simple indexer into a comprehensive PDF library management tool.
### β¨ **What's New**
#### **π List Command**
- **π Browse All PDFs**: Display all indexed PDFs with detailed information
- **π Rich Details**: Shows filename, size, path, and modification date
- **π¨ Beautiful Formatting**: Color-coded output with hyperlinks and progress indicators
- **π Human-Readable Sizes**: File sizes displayed in KB, MB, GB format
- **π Clickable Paths**: Terminal hyperlinks for easy file access
#### **π€ Export Command**
- **π Multiple Formats**: Export to JSON, CSV, Markdown, YAML, and HTML
- **π Smart Location**: Exports to Downloads folder by default
- **βοΈ Format Selection**: Choose specific formats with `--format` flag
- **π Complete Metadata**: Includes all PDF information in exports
- **π― Batch Export**: Export all formats at once or select specific ones
#### **π§ Technical Improvements**
- **π¦ Enhanced Data Structures**: Added `size_human` field for consistent formatting
- **ποΈ Modular Architecture**: New `src/export/` module for clean separation
- **π Better Documentation**: Comprehensive README updates with examples
- **π¨ Improved CLI**: Better help text and command descriptions
### **π₯οΈ New Commands Available**
```bash
pdfx list # Display all indexed PDFs with details
pdfx export # Export all formats to Downloads folder
pdfx export --format json # Export only JSON format
pdfx export --format csv,yaml # Export multiple specific formats
```
### **π Export Formats**
- **JSON**: Machine-readable format with full metadata
- **CSV**: Spreadsheet-compatible format for data analysis
- **Markdown**: Human-readable format with tables
- **YAML**: Structured format for configuration files
- **HTML**: Web-ready format for sharing online
### **π Getting Started with New Features**
1. **List your PDFs**:
```bash
pdfx list
```
2. **Export your library**:
```bash
pdfx export
```
---
## v0.1.0 - Initial Release π
*Released: January 2025*
### π **First Official Release**
We're excited to introduce **pdfx** - a lightning-fast terminal-native PDF indexing and search toolkit built with Rust!
### β¨ **What's New**
#### **π§ 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
- **π GitHub Actions v4 Compatibility**: Updated to `actions/upload-artifact@v4` and `actions/download-artifact@v4`
- **π« Artifact Conflicts**: Resolved v4 immutability issues with matrix build strategy
- **π Reproducible Builds**: Updated `Cargo.lock` for consistent dependency versions
- **π Release Permissions**: Granted `contents: write` to GitHub Token for release creation
#### **π§Ή 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`
- **π Security Fixed**: Removed unused `rust-bert` dependency to resolve `protobuf` vulnerability
### **π₯οΈ 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
### π **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!**
### π **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)
---
## πΊοΈ **Roadmap**
### **v0.2.0 - List & Export Features** *(β
Completed)*
- **β
List Command**: Display and filter indexed PDFs with sorting options
- **β
Export Command**: Export to multiple formats (JSON, CSV, Markdown, YAML, HTML)
- **β
Human-Readable Sizes**: Consistent file size formatting across all outputs
- **β
Downloads Integration**: Smart export location to user's Downloads folder
- **β
Format Selection**: Choose specific export formats with CLI flags
### **v0.3.0 - Search & Discovery** *(Next Release)*
- **π Search Implementation**: Full-text search through indexed PDFs
- **π
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.4.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.5.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)