🔍 Search
- Expanded default search scope with specific field filtering
- Added advanced attachment filters (extension, category, MIME type)
- Integrated mailbox directory tree into the search interface
- Added dedicated attachment search view
- Fixed search date picker navigation (#148)
- Added stemmer support for multilingual token matching
📧 Email & SMTP
- Built-in SMTP server for mail ingestion with real-time archiving
- Support for nested EML attachment preview and download (#150)
- Export account emails to a single mbox file
- Manual download and cancel download for email accounts
- MIME-encoded X-Gmail-Labels decoding support in mbox import via bichonctl (#182)
- Support for X-Bichon-Metadata in import with optimized CLI progress reporting
🏗️ Architecture & Storage
- Decoupled email body and attachment storage
- Switched to fjall for storing detached emails and attachments
- Replaced native_db with memdb
- Switched to UUID for envelope IDs to prevent accidental deletion
🌐 UI & UX
- Synced search filters with URL and added dashboard navigation
- Subpath hosting support (#145)
- Saved user page size preferences (#171)
- Mailbox list caching (10 minutes) with progress display on initial fetch
- Multiple color themes in appearance settings
- Interactive data migration tool in bichon-admin
- Fixed sync settings modal layout on smaller viewports (#168)
- Fixed search date picker navigation (#148)
🔐 Permissions & Accounts
- Added
DATA_SMTP_INGESTpermission for inbound mail - Email/login name now immutable; account name is sortable (#195)
- Fixed inconsistent permissions for
/oauth2(#196) - Fixed deletion of roles that are currently in use (#194)
- Fixed Bichonctl Thunderbird upload crashes (#178)
🛠️ Bug Fixes
- Fixed memory leak (#167)
- Optimized CPU usage (#159)
- Fixed EML ID conversion issue
- Fixed dashboard 500 errors with placeholder data
- Added detailed error info on send failure (#198)
⚠️ Migration Note
- Legacy Tantivy data layout is detected on startup — the app will abort with a migration hint. Please use the built-in data migration tool in the admin panel before upgrading.
What's Changed
New Contributors
Full Changelog: 0.3.7...1.0.0