bichon version history
11 releases tracked, newest first.
1.6.2
Jul 8, 2026- Improve account setup UI and add post-download email filtering
- Expand proxy provider support
- Add tag display and editing to email view
- Update OpenAPI attachment download parameter
6 downloads
1.6.1
Jun 28, 2026- Truncated "To" column in Search tab to prevent excessive row height
- Added preview support for attachments with generic MIME type
- Added PST upload support with configurable size limits
- Added searchable account selector in user dialog
6 downloads
1.6.0
Jun 26, 2026## Release Notes
### Features
- Added per-account FilterRule, ExtractionRules, and ArchiveRules with regex validation
- Display name / alias support for IMAP accounts #306
- Search recipient address across To/Cc/Bcc simultaneously #304
- In-browser attachment preview for images, PDFs, and text files #303
- Web upload support for EML/MBOX files #260
- Fullscreen attachment gallery with image navigation
### 🐛 Fixes
- Fixed proxy not supporting some providers' response formats #307
- Fixed sliding token expiry and silent 401 redirect issue
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.5.3...1.6.0
6 downloads
1.5.3
Jun 23, 2026## Release Notes
### IMAP
- **Handle UIDVALIDITY changes via Message-ID comparison instead of full rebuild.**
Previously, a UIDVALIDITY change on the remote server forced a full mailbox
rebuild, re-downloading every message. Now the sync compares local and remote
messages by Message-ID, only re-downloading what actually changed. This is
much faster and avoids unnecessary bandwidth for large mailboxes.
### SMTP journaling
- **Reject journaling attempts to non-local accounts.** SMTP deliveries targeting
recipients that do not match a local account are now properly rejected during
the SMTP transaction instead of failing later.
- **Don't clobber IMAP-owned INBOX uid_validity on journal ingest.** Each SMTP
journaling delivery was silently resetting the INBOX uid_validity to None,
causing the next IMAP reconcile to treat the mailbox as invalid and trigger a
full rebuild. For large inboxes with sparse UIDs, interrupted rebuilds could
permanently lose the local copy. The journaling path now only creates the
INBOX row when it does not already exist, leaving the IMAP-maintained metadata
intact. (#297)
#
6 downloads
1.5.2
Jun 8, 2026## Release Notes
* **Storage:** Upgraded `fjall` dependency to `3.1.5`. This addresses the `Bad file descriptor` (EBADF) I/O error frequently encountered when attempting to open or lock database files on **NFS (Network File System)** environments. (#216, #242, #239, #231, #240)
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.5.1...1.5.2
6 downloads
1.5.1
Jun 7, 2026## Release Notes
**Bug Fixes**
- Fix: preserve non-stored search fields (`f_body`, `f_from_text`, etc.) when updating envelope tags — rebuilt from stored fields and EML blob
- Fix: account deletion timeout (#291)
- Fix: auto-reconnect and retry IMAP batch on `BrokenPipe` / network errors
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.5.0...1.5.1
6 downloads
1.5.0
Jun 4, 2026### 🚀 Features
* **imap**: add message size check before download
### 🐛 Fixes
* **migration**: open `NewIndexWriter` once across all migration segments #287
* *Issue*: Opening/closing Fjall DB per segment triggered an `lsm-tree` checksum error (`ChecksumType` mismatch) as data accumulated.
* *Fix*: Instantiated `NewIndexWriter` once before the loop and passed it via `&mut` reference, avoiding the reopen failure path.
* **imap**: Add fallback `UIDVALIDITY` support for non-compliant IMAP servers #288
* *Issue*: Non-compliant servers (like Tencent Enterprise Mail) lack `UIDVALIDITY`, breaking sync.
* *Fix*: Introduced `generate_synthetic_uidvalidity()` (hash-based) to enable incremental sync and system folder support.
## What's Changed
* fix: open NewIndexWriter once across all migration segments by @fama in https://github.com/rustmailer/bichon/pull/287
* fix: Add fallback UIDVALIDITY support for non-compliant IMAP servers by @Korov in https://github.com/rustmailer/bichon/pull/288
## New Contributors
* @fama made their first contribution in https://github.com/rustmailer/bichon/pull/287
* @Korov made their first contribution in https://github.com/rustmailer/
6 downloads
1.4.3
May 30, 2026## Release Notes
**Bug Fixes**
- Fix: "No body available" #262
When the request returns an empty body, choose to skip it and print the account ID and UID information, leaving it for the user to investigate themselves. Otherwise, the IMAP download process will be blocked by this.
- Fix: add in-memory dedup cache to prevent duplicate emails before indexing
Use (account_id, mailbox_id, content_hash) as dedup key with time-based
eviction to bound memory at ~50MB. Check happens before mail parsing,
so duplicate emails skip all expensive work entirely.
- Populate cache from Tantivy FAST columns on startup (7-day window)
- Evict oldest 1/4 of entries when exceeding 300K capacity
- Graceful degradation: populate failure → empty cache, still works
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.4.2...1.4.3
6 downloads
1.4.2
May 29, 2026## Release Notes
**Bug Fixes**
- Fix: Cant migrate with version >= 1.4.0 #277
- Fix: inline attachment detection and account-scoped export
- Treat MIME parts with Content-ID but no Content-Disposition as inline
- Add account_ids filter to CLI export search to avoid pulling all accounts
- Skip failed emails during export instead of aborting the entire batch
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.4.1...1.4.2
6 downloads
1.4.1
May 28, 2026## Release Notes
**Bug Fixes**
- Fix: HTTP Error 500 Internal Server Error: Failed for 58344335-2e86-4009-979d-6da0331bff63 - Failed to export an email. Aborting process... #275
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.4.0...1.4.1
6 downloads
1.4.0
May 26, 2026## Release Notes
**Features**
- Wire up attachment text extraction in IMAP sync pipeline
- Enhance autoconfig detection
- Remove folder limit
**Bug Fixes**
- Use valid IMAP `UID SEARCH` instead of `BEFORE` in `UID FETCH` for incremental sync
**Performance**
- Optimize IMAP account fetch flow
**Chores**
- Add trace logging for duplicate email diagnosis (#214)
- Remove custom global allocator #264
**Full Changelog**: https://github.com/rustmailer/bichon/compare/1.3.0...1.4.0
6 downloads