Skip to content

Releases: rustmailer/bichon

Release 0.3.1

14 Jan 00:48

Choose a tag to compare

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:manage permission. (#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

  • @ktdd made their first contribution in #103
  • @op3 made their first contribution in #110

Full Changelog: 0.3.0...0.3.1

Release 0.3.0

05 Jan 13:39

Choose a tag to compare

Release Notes

This release focuses on **email import tooling, along with important bug fixes.

✨ Highlights

  • Introduced bichonctl interactive 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 .sbd hierarchy 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 bichonctl together with Bichon binaries for simplified distribution.

see https://github.com/rustmailer/bichon/wiki/Using-Bichonctl-For-Email-Import

🐛 Fixes

  • Skipped default admin role validation when global_roles is None (#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

31 Dec 15:06

Choose a tag to compare

🚀 Release Notes

New Features

  • Search & Stats: Use email Date header 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

  • feat(api): Add envelope endpoint and improve API documentation by @mmaudet in #67

Full Changelog: 0.2.1...0.2.2

Release 0.2.1

30 Dec 07:14

Choose a tag to compare

🚀 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

29 Dec 04:52

Choose a tag to compare

🚀 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

    • Support fetching emails before a specified date.
    • Introduced date_before semantics for downloading historical emails (e.g. emails older than one year).
    • Added sync_batch_size to allow users to customize synchronization batch sizes.
      Related issues / PRs: #24, #58
  • 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: Rename id to message_id in Message APIs
    Renamed the id query parameter to message_id for clarity and consistency in the following endpoints:

    • GET /api/v1/message-content/:account_id
    • GET /api/v1/download-message/:account_id
    • GET /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

🐛 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 root account and password are removed.

  • The system now includes a built-in admin account:

    • Username: admin
    • Password: admin@bichon

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

Full Changelog: 0.1.5...0.2.0

Release 0.1.5

07 Dec 19:49

Choose a tag to compare

🚀 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

06 Dec 16:47
a1453f3

Choose a tag to compare

Release Notes

🚀 New Features

  • CORS: BICHON_CORS_ORIGINS default 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 name field to step 2 (#30)
  • Docs: Updated README.md and 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

03 Dec 01:29

Choose a tag to compare

  • 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

02 Dec 19:54

Choose a tag to compare

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

29 Nov 21:55

Choose a tag to compare

Release Notes

  • Feat(dashboard): Display system version and Git hash, link to release tag (#19)
  • Feat(import): Introduce /api/v1/import endpoint 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