-
v1.0.0-rc2 Pre-release
released this
2025-08-06 15:22:02 +02:00 | 1 commits to main since this releasemail2couch 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
- Download the appropriate binary for your use case
- Make executable:
chmod +x mail2couch-*
- Create config: See configuration examples
- Test first:
./mail2couch-* --dry-run --config config.json
- Run sync:
./mail2couch-* --config config.json
📚 Documentation
Comprehensive documentation is available in the
docs/
directory:- docs/README.md - Getting started guide
- docs/IMPLEMENTATION_COMPARISON.md - Choose the right implementation
- docs/FOLDER_PATTERNS.md - Folder filtering guide
🔧 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
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
1 download
-
mail2couch-go-linux-amd64
1 download · 10 MiB
-
mail2couch-rs-linux-amd64
3 downloads · 8.2 MiB