rustmailer
7dee5a7874
bump to v1.6.2
1.6.2
2026-07-08 23:55:05 +08:00
rustmailer
166ac21549
feat: add tag display and editing to email view
2026-07-08 00:30:20 +08:00
rustmailer
524201c26d
docs(openapi): update attachment download param to content_hash #314
2026-07-06 09:46:29 +08:00
rustmailer and GitHub
ef954e255e
Merge pull request #312 from 8times4/feat/proxy-provider-expansion
...
feat: expand proxy provider support
2026-07-01 00:53:19 +08:00
8times4
24fcca70a5
expand proxy provider support
2026-06-30 14:59:08 +02:00
rustmailer
2da42134d0
feat: Improve account setup UI and add post-download email filtering
2026-06-30 09:42:03 +08:00
rustmailer
5fe45795b9
bump to 1.6.1
1.6.1
2026-06-28 11:39:58 +08:00
rustmailer
4996dac1ea
Update folder-hint.ts
2026-06-28 11:39:44 +08:00
rustmailer
42ce36a439
feat: add searchable account selector with alphabetical sort in user dialog #289
2026-06-28 11:35:39 +08:00
rustmailer
40ae2d49d4
feat: web upload supports PST, configurable MBOX/PST size limits
...
- Make MBOX/PST upload size limits configurable via SETTINGS
(bichon_web_mbox_upload_limit_mb defaults to 1 GB,
bichon_web_pst_upload_limit_mb defaults to 2 GB)
2026-06-28 09:43:50 +08:00
rustmailer
5034760517
fix: detect previewable attachments by file extension when MIME type is octet-stream #309
2026-06-27 16:08:42 +08:00
rustmailer
875eb2e309
fix:Truncate "To" column recipients in Search tab to prevent excessive row height #308
2026-06-27 13:06:41 +08:00
rustmailer
f0d0f202ba
bump to 1.6.0
1.6.0
2026-06-26 19:15:46 +08:00
rustmailer
0d37825625
feat: fullscreen attachment gallery with image navigation
2026-06-26 19:13:14 +08:00
rustmailer
cfb8172607
fix: sliding token expiry and silent 401 redirect
2026-06-26 18:29:18 +08:00
rustmailer
8641bb4b56
fix: Proxy does not support formats from proxy providers #307
2026-06-26 18:20:19 +08:00
rustmailer
cdf27f2dd4
feat: add web upload for EML/MBOX files #260
2026-06-26 17:49:35 +08:00
rustmailer
db36272bae
feat: add in-browser attachment preview for images, PDFs, and text files #303
2026-06-25 04:51:05 +08:00
rustmailer
cad447275f
feat: search for an email address simultaneously in to, cc and bcc #304
2026-06-25 02:36:24 +08:00
rustmailer
8542ba0d28
feat: Display Name / Alias for IMAP Accounts #306
2026-06-25 02:00:20 +08:00
rustmailer
af089958e9
Update README.md
2026-06-24 23:11:52 +08:00
rustmailer
bba1ea5cc7
feat: add per-account FilterRule, ExtractionRules and ArchiveRules with regex validation
2026-06-24 21:46:32 +08:00
rustmailer
9e55026f12
feat: add SSO/OIDC support to user model and settings
2026-06-24 17:32:14 +08:00
rustmailer
b0f229618c
refactor(blob): add NFS-safe file I/O layer
2026-06-24 00:03:56 +08:00
rustmailer
ff59d47a0d
fix(blob): fsync meta before rename and hold write_mutex during GC
2026-06-23 23:57:34 +08:00
rustmailer
b6957c8ceb
test(blob): add concurrent access and crash recovery integration tests
2026-06-23 23:29:48 +08:00
rustmailer
cd98c050b6
fix(blob): invalidate FilePool after GC to prevent stale reads
2026-06-23 23:28:33 +08:00
rustmailer
11e40750fe
feat(blob): add FilePool read cache and fix BucketCache TOCTOU
2026-06-23 23:23:03 +08:00
rustmailer
b0374517e8
fix(blob): address review issues - visibility, unused param
2026-06-23 23:20:24 +08:00
rustmailer
4e12ae5457
refactor(blob): replace global RwLock with per-account Arc<AccountHandle>
2026-06-23 23:13:39 +08:00
rustmailer
495c91b7ae
fix(blob): address code review issues - CRC guard, tests, clone
2026-06-23 23:10:15 +08:00
rustmailer
e442db4a2d
feat(blob): replace JSON metadata with bincode + CRC32 binary format
2026-06-23 23:01:32 +08:00
rustmailer
cc54063669
chore(blob): add bincode dependency and new meta error variants
2026-06-23 22:55:13 +08:00
rustmailer
04745458bc
feat(blob): add embedded KV storage engine for email archiving
2026-06-23 21:38:31 +08:00
rustmailer
6fcc9e0e8e
bump to v1.5.3
1.5.3
2026-06-23 17:18:46 +08:00
rustmailer
220aa268c1
feat(imap): handle UIDVALIDITY changes via Message-ID comparison instead of full rebuild
2026-06-23 10:46:36 +08:00
rustmailer
e3fd9d2f29
fix: purge DedupCache entries on account/mailbox/envelope removal
2026-06-22 17:11:20 +08:00
rustmailer
41c3b84e65
feat(ui): persist account table sorting to localStorage
2026-06-21 12:50:21 +08:00
rustmailer
89557700ae
Merge branch 'main' of https://github.com/rustmailer/bichon
2026-06-11 09:23:00 +08:00
rustmailer
2f5de48c6a
fix(smtp): reject journaling attempts to non-local accounts
2026-06-11 09:22:57 +08:00
rustmailer and GitHub
debb119d3d
Merge pull request #298 from shadowdao/fix/smtp-inbox-uidvalidity-clobber-297
...
fix(smtp): don't clobber the IMAP-owned INBOX uid_validity on journal ingest (#297 )
2026-06-11 09:10:01 +08:00
Josh and Claude Opus 4.8
ce3f8944a3
fix(smtp): don't clobber the IMAP-owned INBOX uid_validity on journal ingest
...
When SMTP journaling ingests a message, parse_email() upserts the account's
INBOX MailBox row so the journaled envelope has a row to attach to. But it
built the row with uid_validity/highest_uid/uid_next = None and called
batch_upsert, which replaces the WHOLE row. The INBOX row id
(create_hash(account_id, "INBOX")) is the same id the IMAP sync maintains,
so every journaled delivery reset the IMAP-maintained uid_validity to None.
On the next reconcile, local_mailbox.uid_validity != Some(remote) is then
true, so the mailbox is treated as invalid and wiped + rebuilt. For a large,
UID-sparse INBOX whose rebuild gets interrupted, the local copy is silently
lost and never restored (the incremental fetch resumes past all existing
UIDs). See #297 for the full diagnosis and DB evidence.
Fix: only create the INBOX row when it does not already exist; otherwise
leave the IMAP-owned row untouched. The journaling path only needs the row
to exist so the envelope can attach to it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:36:38 -07:00
rustmailer
6f572b15ae
deps: upgrade fjall to 3.1.5 to address NFS Bad file descriptor error #216 #242 #239 #231 #240
1.5.2
2026-06-09 01:33:17 +08:00
rustmailer
3bfc080258
bump to 1.5.1
1.5.1
2026-06-07 18:21:07 +08:00
rustmailer
c3a725770c
fix: reconnect and retry IMAP batch on BrokenPipe/network errors
2026-06-07 18:18:37 +08:00
rustmailer
c736afffb0
fix: account deletion times out #291
2026-06-07 15:34:38 +08:00
rustmailer and GitHub
62cb5264fd
Add funding.json for project funding details
2026-06-06 15:56:47 +08:00
rustmailer
aebb94ee4e
fix: preserve non-stored search fields when updating envelope tags
...
update_envelope_tags lost f_body, f_from_text, f_to_text, f_cc_text,
f_bcc_text, f_attachment_name_text and f_attachment_name_exact because
they are not STORED and field_values() skipped them during delete+add.
Rebuild these from stored counterparts and the blob-store EML.
2026-06-05 09:13:25 +08:00
rustmailer
769630f9d7
Merge branch 'main' of https://github.com/rustmailer/bichon
1.5.0
2026-06-04 23:46:28 +08:00
rustmailer
368b18c45f
bump to v1.5.0
2026-06-04 23:46:25 +08:00