• v1.0.0-rc2 d3d104ee71

    v1.0.0-rc2 Pre-release

    olemd released this 2025-08-06 15:22:02 +02:00 | 1 commits to main since this release

    mail2couch v1.0.0 Release Candidate 1

    🎉 Production Ready Release

    This release candidate represents the first production-ready version of mail2couch, featuring two complete implementations with identical functionality and database output.

    What's New

    Production Readiness

    • Feature Parity: Both Go and Rust implementations provide identical functionality
    • Verified Output: Comprehensive testing confirms identical CouchDB documents
    • Server-side Filtering: IMAP SEARCH keyword filtering in both implementations
    • Binary Attachments: Full attachment support with CouchDB native storage
    • Incremental Sync: Cross-implementation compatibility verified
    • Dry-run Mode: Safe configuration testing in both implementations

    Core Features

    • IMAP/IMAPS Support: Full TLS support, tested against multiple servers
    • CouchDB Integration: Per-account databases with native attachment storage
    • Advanced Filtering: Server-side IMAP LIST and SEARCH with graceful fallbacks
    • Sync Modes: Archive (append-only) and Sync (mirror) modes
    • Error Resilience: Robust retry logic and connection recovery
    • SystemD Integration: Timer units for automated scheduling

    Operational Features

    • Configuration Discovery: Automatic config file detection
    • GNU-style CLI: Comprehensive command-line interface with help
    • Rich Logging: Detailed progress reporting and troubleshooting info
    • Build System: Unified justfile for development and deployment

    📦 Downloads

    Choose Your Implementation

    Go Implementation (mail2couch-go-linux-amd64)

    • 🎯 Best for: Personal use, simplicity, fast deployment
    • Advantages: Simple architecture, fast builds, low resource usage
    • ⚖️ Trade-offs: Sequential processing, basic CLI

    Rust Implementation (mail2couch-rs-linux-amd64)

    • 🚀 Best for: Production environments, performance, enterprise features
    • Advantages: Async architecture, rich CLI, advanced error handling
    • ⚖️ Trade-offs: More complex, longer build times

    Both implementations produce identical results and use the same configuration files.

    🚀 Quick Start

    1. Download the appropriate binary for your use case
    2. Make executable: chmod +x mail2couch-*
    3. Create config: See configuration examples
    4. Test first: ./mail2couch-* --dry-run --config config.json
    5. Run sync: ./mail2couch-* --config config.json

    📚 Documentation

    Comprehensive documentation is available in the docs/ directory:

    🔧 System Requirements

    • Linux x86_64 (other platforms available on request)
    • CouchDB 3.x with native attachment support
    • IMAP server (Gmail, Outlook, Dovecot, etc.)
    • Network access to both IMAP and CouchDB

    ⚠️ Known Limitations

    • Security: Requires plaintext passwords in config (environment variable support planned for v1.1)
    • Platform Support: Currently Linux x86_64 only (other platforms on request)

    🛠️ Testing

    This release has not really been extensively tested with:

    • Multiple IMAP servers: Gmail, Office365, Dovecot, GreenMail
    • Large mailboxes: Thousands of messages with attachments
    • Filter combinations: Complex folder and keyword filtering scenarios
    • Cross-implementation: Identical output verification between Go and Rust
    • Network conditions: Retry logic and connection recovery

    🤝 Support

    • Issues: Report bugs or request features on GitHub
    • Documentation: See comprehensive guides in docs/ directory
    • Community: Contributions welcome - both implementations maintained

    🎯 Next Steps

    This release candidate will become v1.0.0 after community testing. Planned for v1.1:

    • Environment variable credential support
    • Interactive setup wizard
    • Enhanced progress reporting

    Choose your implementation, test with --dry-run, and start backing up your email today! 📧

    Downloads