Releases: rustmailer/bichon
Release 0.3.1
Release Notes
✨ New Features
- Outlook PST import support — Import emails from Outlook PST files. (#105)
- IPv6 & dual-stack support — Support binding to IPv6 addresses and
::for IPv4 + IPv6. (#110) - Sorting & presets — Updated presets and added a “sort by” feature. (#103)
🐛 Bug Fixes
- Fixed large empty space at the bottom of the UI. (#98)
- Fixed inline attachments not being counted or found in attachment search.
- Fixed missing
user:managepermission. (#102) - Skip invalid MBOX files during import instead of failing.
🧹 Improvements & Chores
- Added attachment file-type icons in the UI.
- Removed max limit on
sync_interval_min. (#107) - Adjusted dark mode brightness & light mode saturation. (#109)
- Minimum username length set to 3. (#106)
What's Changed
- Updated presets and added a 'sort by' feature. by @ktdd in #103
- Remove the maximum from the sync_interval_min. by @metlos in #107
- Support listening on IPv6 addresses by @op3 in #110
New Contributors
Full Changelog: 0.3.0...0.3.1
Release 0.3.0
Release Notes
This release focuses on **email import tooling, along with important bug fixes.
✨ Highlights
-
Introduced
bichonctlinteractive CLI for guided email imports from EML, MBOX, and Thunderbird sources. -
Added rich import capabilities:
- Recursive EML directory scanning with folder structure preservation
- Streaming import for single MBOX files
- Thunderbird profile import with automatic
.sbdhierarchy detection
-
Improved import performance via batch processing (Base64 encoding and batched API requests).
-
Added mailbox cleanup support (#96).
-
Enhanced UI with a clickable logo that redirects to the homepage (#95).
-
Packaged
bichonctltogether with Bichon binaries for simplified distribution.
🐛 Fixes
- Skipped default admin role validation when
global_rolesisNone(#93). - Fixed reported issue #94.
- Resolved an issue where folder limit could not be empty (#97).
Full Changelog: 0.2.2...0.3.0
Release 0.2.2
🚀 Release Notes
New Features
- Search & Stats: Use email
Dateheader for statistics and search filtering. (#87) - Message Restore: Support restoring individual emails back to the IMAP server. (#77)
- API Enhancements: Added envelope endpoint and improved API documentation.
Bug Fixes & Improvements
- Account Sync: Fixed sync range updates not taking effect; added reset logic for "All" mode.
- Admin Management: Fixed a bug preventing the modification of the admin user. (#90)
What's Changed
Full Changelog: 0.2.1...0.2.2
Release 0.2.1
🚀 Release Notes
Improvements & Fixes
- Increased maximum password length from 32 to 256 characters (#83)
- Fixed i18n schema handling to properly support translations (#83)
- Invalidated Web UI tokens on password change to enforce re-login (#83)
- Added quick page navigation to email list pagination (#85)
- Introduced user appearance preferences with persisted theme and language (#85)
Full Changelog: 0.2.0...0.2.1
Release 0.2.0
🚀 Release Notes
✨ New Features
-
Multi-User Support & Role-Based Access Control (RBAC)
Added multi-user login with system-level roles (admin / user) and per-mail-account permissions.
Related issues / PRs: #31 -
Date-Based Email Fetching Enhancements
-
Encryption Password File Support (CLI)
- Added an option to specify the encryption password via a file.
- If a password file is provided, it is used as the primary source.
Related issues / PRs: #71
-
Internationalization (i18n)
-
Added Polish language support.
- Merge pull request: #57
-
Added i18n support for the profile dropdown in the WebUI.
-
-
Search & UI Enhancements
- Search results now display the account email and mailbox name.
- Added quick year and month selection in the search UI.
- Replaced min/max byte inputs with predefined size preset selections.
Related issues / PRs: #39
🛠 API Changes & Improvements
-
⚠️ Breaking Change: Renameidtomessage_idin Message APIs
Renamed theidquery parameter tomessage_idfor clarity and consistency in the following endpoints:GET /api/v1/message-content/:account_idGET /api/v1/download-message/:account_idGET /api/v1/download-attachment/:account_id
This is a breaking change for API clients using these endpoints.
Related issues / PRs: #65 -
OpenAPI / Swagger Documentation Fixes
- Switched path parameters to
poem_openapi::param::Path. - Ensures path parameters correctly appear in OpenAPI / Swagger documentation.
- Updated frontend API calls to use
message_id.
Related issues / PRs: #65
- Switched path parameters to
🐛 Bug Fixes
-
Fixed RFC2047 decoding by stitching adjacent encoded words to prevent byte-split artifacts.
Related issues / PRs: #79 -
Ensured unchecked checkboxes are visible in dark mode.
Related issues / PRs: #70
Here’s a clear and friendly upgrade notice you can add to the release notes or README:
⚠️ Upgrade Notice (0.1.5 → 0.2.0)
You can upgrade directly from v0.1.5 to v0.2.0 without any intermediate steps.
Please note the following breaking changes related to authentication:
-
Previously created access tokens are no longer valid and must be regenerated.
-
The old
rootaccount and password are removed. -
The system now includes a built-in admin account:
- Username:
admin - Password:
admin@bichon
- Username:
After logging in, you can update the username, password, avatar, and profile information in
Settings → Profile.
We strongly recommend changing the default credentials immediately after upgrading.
What's Changed
- Added new language Polish by @pansuzuki in #57
- feat(cli): add an option to specify the encrypt password in a file by @metlos in #71
- fix(api): Rename id to message_id and fix OpenAPI path parameters by @mmaudet in #65
New Contributors
- @pansuzuki made their first contribution in #57
- @metlos made their first contribution in #71
- @mmaudet made their first contribution in #65
Full Changelog: 0.1.5...0.2.0
Release 0.1.5
🚀 Release Note
✨ Features & Stability
Added connection pool status logging for diagnostics and disabled the bb8 idle timeout to prevent connection drops.
🐞 Fixes
Fixed the "TooNarrow" error occurring in the account synchronization task. #38
🎨 UI
Adjust width of account list for better visibility
Full Changelog: 0.1.4...0.1.5
Release 0.1.4
Release Notes
🚀 New Features
-
CORS:
BICHON_CORS_ORIGINSdefault behavior changed.- If not set, all origins are allowed.
- Debug logging added to show incoming Origin and configured origins for easier troubleshooting.
🐛 Fixes
- Sync: Added missing initial sync start time after enabling a previously disabled account (#32)
🛠 Chores / Improvements
- UI: Moved
namefield to step 2 (#30) - Docs: Updated
README.mdand fixed FAQ link
⚠️ Note on CORS Issues
Many users have encountered CORS problems in previous versions.
If you experience CORS issues, please upgrade to v0.1.4, set the log level to debug, and follow the instructions in the latest README, which contains detailed guidance on configuring BICHON_CORS_ORIGINS.
Full Changelog: 0.1.3...0.1.4
Full Changelog: 0.1.3...0.1.4
Release 0.1.3
- Fix(account): Resolve name clearing issue and update field labels
- Feat(i18n): Implement internationalization for date distance
- Fix(i18n, dashboard): Internationalize recent activity chart dates
- Fix(ui, config): Ensure use_dangerous status is visible in ui
Full Changelog: 0.1.2...0.1.3
Release 0.1.2
Release Notes
✨ New Features & Enhancements
We have refined the IMAP account login logic to give you more flexibility when configuring the authentication username #28 :
- A dedicated Username (
name) field is now prioritized and used for IMAP login authentication. - This field now serves as the primary IMAP login credential and is no longer treated purely as an optional, descriptive field.
- Enhanced Compatibility: This change supports IMAP providers where the required login username is not the full email address (e.g., specific account IDs or employee numbers).
- Default Behavior: If the Username field is left empty, the system will automatically fall back to using your full email address for authentication.
Note that the name field wasn’t used in earlier versions. If your account already had a value set for this field, upgrading directly to this version may cause IMAP authentication to fail. The solution is to edit the account, enter your email address into the name field, and then save.
🐞 Bug Fixes & Stability
- IMAP Compatibility Fix: Resolved a compatibility issue with 163 mail servers by ensuring the IMAP ID command is sent after successful authentication. #25
Full Changelog: 0.1.1...0.1.2
Release 0.1.1
Release Notes
- Feat(dashboard): Display system version and Git hash, link to release tag (#19)
- Feat(import): Introduce
/api/v1/importendpoint to support batch EML email import - Fix(ui): Handle IMAP connection failure gracefully during folder sync (#23)
- Fix(ui): Fix sync folder selection jump issue; add auto-select children/parents and expand/collapse all folders button (#21)
Full Changelog: 0.1.0...0.1.1