Skip to content

Releases

v2.2.1

Choose a tag to compare

@mclgoerg mclgoerg released this 07 Nov 09:37
b9c800b

2.2.1 (2026-11-07)

Bug Fixes

  • keep manual picks on "Select all but newest" and complete the duplicates hints (#261) (107073d)
    • "Select all but newest" in the Duplicates panel no longer clears mails you ticked by hand under "Same mail, different versions" or "Possible duplicates".
    • The "No duplicates found" hint now covers all three sections.

v2.2.0

Choose a tag to compare

@mclgoerg mclgoerg released this 07 Nov 09:00
24a7898

2.2.0 (2026-11-07)

Features

  • split duplicates into identical copies, different versions and possible duplicates (#259) (c7461f6)
    • Duplicates are now split into Identical copies (same Message-ID and size), Same mail, different versions and Possible duplicates.
    • Copies of the same mail that differ in size (for example one with its attachments stripped) are listed separately, tagged "largest", and are no longer selected by "Select all but newest" or counted as reclaimable.

Bug Fixes

  • drop Proton-only wording from the attachments hint and docs (#258) (94e1207)
    • The attachments panel no longer mentions Proton on other providers: it now says that no provider supports removing a single attachment over IMAP, so deleting removes the whole mail (which can be undone).

v2.1.0

Choose a tag to compare

@mclgoerg mclgoerg released this 07 Nov 00:16
7110433

2.1.0 (2026-11-07)

Features

  • improve first-use guidance and mailbox cleanup feedback (#257) (53ca670)
    • Account switching, protected senders and Undo are safer; ambiguous server copies require manual restoration from the destination folder.
    • Rules and duplicate cleanup show actual results and failures. Setup, encryption guidance and Trash warnings are clearer.
    • Upgrading SSO: sign in again. Existing non-admin tenants require operator-verified INBOXRAKE_OIDC_LEGACY_BINDINGS, or settings backup/import and mailbox reconnection; see docs/security.md. Administrator ownership binds to a verified immutable provider identity.
    • Settings imports that change connection identity or endpoints clear the corresponding credentials; reconnect before use.

Bug Fixes

  • harden mailbox actions, Undo and SSO identity ownership (#257) (53ca670)
  • refresh app and website branding with release version (#255) (47973c2)
    • Refreshed the app, README and website with a smoother rake-and-envelope icon in coffee, caramel and cream.
    • Website and documentation headers now show the current release version, linked to its release notes.

v2.0.0

Choose a tag to compare

@mclgoerg mclgoerg released this 06 Nov 21:57
0a9c5f1

2.0.0 (2026-11-06)

⚠ BREAKING CHANGES

  • rename Mailbroom to Inboxrake (#204) Mailbroom is now Inboxrake, because another email app already uses the old name.
    • Upgrading: in your compose file, change the image to ghcr.io/mclgoerg/inboxrake:latest; the old image gets no more updates. Keep your volume, .env and the rest of the compose file as they are. The old MAILBROOM_* settings still work, and the log tells you which ones to rename to INBOXRAKE_*. MAILBROOM_BIND/MAILBROOM_PORT belong to your compose file's ports: line - rename them only together with it.
    • If you turned on the local mail-text index, Settings shows it as built with a different key after the upgrade - your key is fine, click Rebuild once.

Features

  • browser demo shell (#223) (6509cf3) Inboxrake now has a try-it-in-your-browser demo. It runs entirely in your browser tab with invented mailboxes: no account, no mailbox, nothing leaves your browser.
  • demo-mode gating in the UI (#218) (1fe38d5) Inboxrake can now run as the public in-browser demo: controls that need a network (adding accounts, AI, OAuth sign-in, digests, connection tests) are shown greyed out with a "Not available in the demo" note. Normal installs are unchanged.
  • possible duplicates - the same mail sent twice within minutes (#251) (a669a2a)
    • The Duplicates panel now also lists possible duplicates: the same sender and subject sent twice within ten minutes (different Message-IDs). Nothing there is selected for you - open the mails, compare, and tick what to trash.
  • rename Mailbroom to Inboxrake (#204) (cbae001)

Bug Fixes

  • a failed connection test no longer counts as finished setup (#235) (111c1d6) If the connection test fails during setup, the home screen now says the account still needs setting up and offers to continue, instead of inviting a scan that hangs. Existing accounts are unaffected.
  • a fresh install points to setup instead of Scan (#249) (e803926)
    • On a fresh install the main button now says "Set up your mailbox" and opens the setup wizard, instead of offering a Scan that could only fail.
  • a rescan no longer forgets attachment sizes (#252) (fa09a11)
    • Rescanning (including after "Not junk" or Undo) no longer resets attachment sizes, so the attachment-based quick wins stay.
  • block rules can't be widened by a crafted sender address (#240) (639e4da)
    • Blocking a sender or domain now refuses unusual addresses instead of creating a rule that could match a different sender.
  • demo unsubscribe explains instead of opening a dead page (#228) (bec8a1d) The website demo no longer opens a dead page on Unsubscribe; it explains what happens in a real install.
  • duplicates are only mails that really are the same (#248) (de60446)
    • The duplicate finder now only lists mails that really are the same: the same Message-ID, in any folder. Two different mails from the same sender with the same subject and size (say, monthly statements) are no longer treated as duplicates, so "Select all but newest" can't pick the older one.
    • Mails without a usable Message-ID (missing, or junk such as <> / @ / -, or cut off) are still matched by identical sender + subject + size, but only with each other.
  • editing an armed rule sends it back to report mode (#233) (a9d2d57)
    • Editing a rule's filter, action, target folder, retention or account now sends it back to report mode. It needs one report run of the new definition before it acts again.
    • Renaming a rule, changing its schedule or enabling/disabling it does not reset it.
    • Existing armed rules keep running as they are until their next edit.
  • keep the undo entry when an Undo fails (#220) (b52cea8)
    • A failed Undo (server unreachable, Trash cannot be opened, connection dropped halfway) no longer throws the undo entry away: it stays in the list, in the same place, and you can retry. Mails that were already restored are not restored twice.
  • limit request body size (#243) (b2b2efe)
    • The server now refuses oversized requests (HTTP 413) instead of reading them into memory. A settings backup up to 64 MiB can still be imported.
  • login throttle holds under parallel attempts (#229) (6cf1a88)
    • Login throttling now also holds against parallel attempts: the 6th attempt within 15 minutes is refused even when many arrive at once.
    • IPv6 clients are counted per /64 network.
    • Behind a reverse proxy, set FORWARDED_ALLOW_IPS to the proxy's address (never *) so attempts are counted per visitor; without it, 5 wrong passwords from anyone lock everyone out for 15 minutes.
  • new rules no longer say they were reset (#238) (fc84b8e) A newly created rule (including Block rules and imported rules) no longer shows "Back in report mode: what the rule acts on was changed".
  • Outlook device sign-in no longer sends tokens to the browser (#230) (5e9f69e)
    • Outlook device-code sign-in no longer sends the access and refresh tokens to the browser; they stay on the server, where they were already saved.
  • Outlook setup no longer calls an optional secret required (#236) (3ca9ff4) The Outlook / Microsoft 365 setup no longer marks the client secret as required; a public client doesn't need one.
  • purge rules wait until mail has been in Trash or Junk for N days (#234) (a9cd0d6)
    • Purge rules (Trash/Junk) now delete a mail only once it has been in that folder for more than N days, counted from when Inboxrake first saw it there - a mail you trash by mistake today is no longer deleted on the next run just because it is old.
    • The received-date condition still applies on top.
    • Upgrade note: Inboxrake has no "first seen" time for mail already in Trash/Junk, so after upgrading armed purge rules delete nothing for their first N days. Manual purges in the Folders panel are unchanged.
  • rules refuse a qualifier given twice (#242) (6004e58)
    • A rule filter that names the same qualifier twice (for example two age: parts) is now refused when saved; before, only the last one counted and the rule could match more mail than intended. Existing rules like that are flagged and don't execute until edited.
  • rules refuse filters with mistyped parts (#237) (fb0c09e)
    • Saving a rule (create or edit) whose filter has a part Inboxrake doesn't understand is refused, with an error naming the part. The editor shows it next to the filter field.
    • Rules saved earlier with such a filter stay saved and show a warning on their card; their exe...
Read more

v1.11.0

Choose a tag to compare

@mclgoerg mclgoerg released this 06 Nov 01:33
6bde5c8

1.11.0 (2026-11-06)

Features

  • first-run setup wizard (#206) (2b8fb4e) New: a first-run setup wizard. A fresh install now walks you through provider, sign-in, folders, an optional password and the first scan; "Add account" in the profile menu uses the same steps. Connection problems are explained in your language (wrong password, server not reachable, certificate problem).
  • let Gmail accounts sign in with an app password again (780e4a8)

Bug Fixes

  • a fresh install no longer fails on the first scan (#191) (0e858a6) Fixed: a fresh install no longer fails the first scan with a raw file error. Mailbroom now tells you in your language to set up an account first, or names a missing certificate file. The welcome card stays visible after a failed scan, and choosing "Custom" no longer keeps Proton's certificate path.
    Upgrade note: the Proton Bridge certificate path is only assumed when the file exists; set IMAP_CAFILE explicitly otherwise.
  • accounts connected via OAuth can test the connection and start the first scan (780e4a8)
  • changing an account's provider preset no longer keeps signing in via OAuth (780e4a8)
  • forbid embedding Mailbroom in other sites' frames (#184) (026510d) Other websites can no longer embed Mailbroom in a frame (clickjacking protection); browsers also stop guessing content types and send no referrer to other sites.
  • group the Tools menu (#186) (282ce66)
    • The Tools menu is now sorted into three sections: Clean up, Insights, and AI & export.
  • health checks no longer fill the log (#192) (734bfb6) The container log no longer gets a line every minute from the built-in health check.
  • hide folders that can't hold mail, like Gmail's [Gmail] parent (#196) (f43fcff) Folders that only group other folders and can't hold mail (like Gmail's "[Gmail]") no longer show up under Folders to scan and are never scanned or used as a move target.
  • keep sign-in tokens out of the settings backup (#180) (310c1a1)
    • Settings backups no longer contain sign-in (OAuth) tokens or client secrets.
    • Backup files made by earlier versions may contain such tokens: delete them or keep them private. Importing a backup never changes the sign-in tokens or passwords already on the instance.
  • label the Junk and Trash counts in the header (#181) (700fdac)
    • The Junk and Trash counts in the header now say what they are ("Junk 11", "Trash 70") on tablets and desktops.
  • less clutter above the group list (#203) (fad4032)
    • The "cached AI verdicts" message is now a small note at the end of the status line instead of a banner.
    • Quick wins remembers per account whether you collapsed it, and a collapsed strip is a single slim line.
    • On phones the quick-filter chips sit on one scrollable line, so more groups fit on the first screen.
  • mailto unsubscribe can no longer add mail headers (#189) (f47e4d8)
    • Unsubscribing by e-mail now refuses addresses or texts that would add extra recipients or headers to the unsubscribe mail; the sender is then shown as failed.
  • never purge other apps' deleted mails while moving (#199) (ca3d9b3)
    • On mail servers without the MOVE extension, deleting or restoring mail can no longer permanently remove mails that another mail program had only marked for deletion; the move now stops with a clear message instead.
  • refuse requests from other websites when no login is set (#179) (54e5a09)
    • Mailbroom now refuses requests that other websites try to make through your browser (DNS rebinding and cross-site form posts).
    • Upgrade caveat: if you run without a login and open Mailbroom under a host name (not localhost or an IP address), add MAILBROOM_ALLOWED_HOSTS=<that name> to the container environment.
  • refuse single sign-on with an unverified email (759d23e)
  • save the scan snapshot before a delete job reports done (#209) (6557221)
    • A restart right after a delete or move no longer risks bringing back the cleaned-up groups from an older cached scan.
  • say clearly when the data folder is not writable (#194) (04bdf61)
    • If the data folder is not writable (typically a new host folder mounted at /data), Mailbroom now logs the exact fix at startup and the UI says so in plain words instead of showing a raw permission error.
    • The install guide explains the folder ownership (user ID 1000) for Synology, Unraid and TrueNAS.
  • send "Describe a filter" with Ctrl+Enter (#198) (c4517f5)
    • "Describe a filter": a hint now says you can send your sentence with Ctrl+Enter (⌘+Enter on a Mac), and the shortcut no longer adds a stray new line.
  • show Unsubscribe in a group's view on phones (#182) (5e8b2a5)
    • On phones, the Unsubscribe button is now visible in a sender's view instead of being hidden in the "..." menu.
  • sign everyone out when the login changes (#205) (bcfa037)
    • Changing the login password, the login method, the allowed SSO users or the admin now signs every other browser out; new "Sign out all sessions" button in Settings -> Server.
    • Upgrade caveat: sessions from before this update are refused once - everyone signs in again after updating.
  • slow down password guessing on the login page (#208) (b91ea9a) After 5 wrong passwords within 15 minutes the login page asks you to wait (the message says how long). Behind a reverse proxy all visitors share the proxy's address, so the wait applies to them together.
  • Smart rows of a single sender show its AI verdict (#200) (9e8cb7d)
    • On the Smart tab, rows that are a single sender now show the AI verdict that sender already has on the Sender tab (pooled company/kind rows are unchanged).
  • tell status badges and category tags apart in the group list (#190) (bc250ab)
    • In the group list, category tags (newsletter, shopping...) are now outlined and listed after the status badges, so the two are easy to tell apart. The column header reads "Status & tags".
  • the deploy starter kit works out of the box (#178) (96348c4)
    • Single sign-on set up through the starter .env was broke...
Read more

v1.10.0

Choose a tag to compare

@mclgoerg mclgoerg released this 01 Nov 23:11
24feb95

1.10.0 (2026-11-01)

Features

  • describe a filter in your own words and let the AI write it (#156) (5832fa9)
    • Describe a filter in your own words: your AI turns the sentence into the filter syntax, which you can check and edit with a live preview before applying it, saving it as a preset or starting a rule from it.
    • Only your sentence, the filter syntax and your tag names are sent to the AI provider - no mail data. Needs an AI provider in Settings.
  • flag senders who keep mailing after you unsubscribed (#155) (81545dc)
    • Senders that keep mailing more than two days after a successful unsubscribe are now flagged "Still mailing", with a chip, the filter is:still-mailing and a one-tap block in the detail view.
    • The activity digest counts them.
  • quick-win cleanup suggestions after a scan (#159) (2783e2d) After a scan, Mailbroom suggests a few quick cleanups (old newsletters you never open, quiet senders, mail from senders you already unsubscribed from, big old attachments, what the AI rated safe) with how much each frees. Review them in the list or clean up with the usual confirm and Undo; "Not now" hides a card until it grows.
  • show which senders track your opens and clicks (#157) (4f9eaa0)
    • See which senders put tracking pixels or click-tracking links in their mail: Tools -> Trackers, a badge on the row, and the filter has:tracker.
    • Detected locally while the body index is built - nothing is loaded or sent. Needs the local body index; mails indexed earlier appear under "Check older mails" (a rebuild with the usual confirm).
  • space map of what fills your mailbox (#160) (988a8c6)
    • A new space map (Tools -> Space map) shows what fills your mailbox as tiles sized by storage; tap to drill from domains to senders.
    • Tick tiles and hand them to the normal selection to clean up with the usual confirmation and undo.
  • swipe through groups to triage them (#161) (17a3586)
    • New Triage view (Tools menu, button on phones): swipe through groups - left Trash, right Keep, up Unsubscribe - and apply all decisions with one confirm at the end.
    • Buttons, arrow keys and Undo work too; protected senders can never be trashed from it and nothing changes until you confirm.
  • your year in mail, story-style (#162) (42bd6a0) "Your year in mail" (Tools or Statistics) tells the story of your mailbox year in cards - who wrote most, ghost senders, what you cleaned up - and can save a summary image with sender names hidden.
    It is based on the mail in your mailbox now; mail you deleted since is not counted as received.

Bug Fixes

  • address the user as du everywhere in German (#165) (536528d) The German interface now addresses you consistently with "du" (a few hints and the plain-words filter panel still used "Sie").
  • arrow keys in Your year in mail act on the loaded cards right away (#166) (b7c03bd) "Your year in mail": the arrow keys now always move to the next card, even when pressed the moment the story has loaded.
  • keep Triage in the Tools menu only (#164) (7229a78) On phones, Triage now opens from the Tools menu like the other tools; the extra toolbar button is gone, so the toolbar fits on one line again (also in German).
  • make the quick-wins strip compact on phones (#163) (4e3fdef) The quick-wins suggestions take less room on phones: shorter cards, "Not now" is an ✕ in the card's corner, and "more" sits at the end of the swipeable row.

v1.9.0

Choose a tag to compare

@mclgoerg mclgoerg released this 29 Oct 06:04
b036245

1.9.0 (2026-10-28)

Features

  • delete mails in Trash and Junk permanently (#139) (f5d6829)
    • New: delete mails in Trash and Junk permanently from the Folders panel - selected mails, one sender, everything received more than N days ago, or "Empty Junk". The count is read live from the server and shown in a confirm that also lists skipped mails from protected senders and protected mails (they are never deleted; remove the protection first to delete them). Junk mails go through Trash first. Irreversible; refused while Trash/Junk is ambiguous and not confirmed in Settings.
    • The "freed" number changes meaning: it now counts permanent deletes only (Empty Trash, Junk/Trash deletes), in the Statistics panel, the admin usage table and the digest email. Moving mail to Trash no longer counts as freed. "Freed" only counts permanent deletions from this version on; earlier months show no figure. The digest email gains a "Permanently deleted" line.
  • Junk and Trash in one Folders panel (#138) (0e63cfa)
    • New Folders panel: browse Junk and Trash side by side, grouped by sender, from a Junk count chip in the header or Tools > Junk & Trash.
    • "Not junk" moves false alarms back to your inbox (undoable) and offers to protect the sender; Junk mails can also be moved to Trash.
    • Nothing is deleted permanently from Junk.
  • purge rules for Trash and Junk (#140) (61470f9)
    • New, opt-in: purge rules for Junk and Trash (Rules -> "Applies to"). A rule deletes mail older than N days (default 30, weekly) permanently, on the server.
    • Nothing creates one for you; a new rule only reports what it would delete until you run a report and switch it to execute behind a confirm. Editing its folder, filter or age switches it back to report, and so do renaming its account, changing the account's server or login, or the Junk/Trash folder resolving to another folder (also a folder deleted and re-created).
    • Protected senders and protected mails are never touched; each run is capped (the confirm names the cap). An empty filter means all senders in that folder.
    • Deleting an account deletes its Junk/Trash purge rules; its ordinary mail rules stay and stop running, as before (the delete confirm says so).
    • Fix: rules created while another account was shown were saved for, and ran on, the default account. Check the default account's Rules for any that belong elsewhere (existing misfiled rules are not moved).
    • Upgrade caveat: existing rules are unchanged. If you roll back to an older version, a purge rule is rejected as an unknown action instead of running.
  • Settings shows special folders by name and lets you choose between look-alikes (#137) (df5bd5c)
    • Settings > Folders now lists special folders (Trash, Junk, Sent, Drafts, Archive, All mail) by their translated names and shows how each was found; subfolders are indented.
    • If two folders could be your Trash or Junk, you can pick the right one; empty-Trash and other permanent actions use exactly that folder.
    • A folder that looks like a second Trash/Junk/Sent/Drafts can have its mail moved into the real folder in one step (undoable).

Bug Fixes

  • count a Gmail mail once even when it has several labels (#134) (0991254)
    • Gmail: a mail that carries several labels is now counted once (the INBOX copy is preferred), and the Duplicates panel no longer lists label copies as duplicates.
    • Counts on Gmail drop to the real number after the next scan; the first scan also adds one cheap request per folder to learn Gmail's message ids.
    • Other mail providers are unaffected.
  • Empty Trash only deletes the mails it counted (#132) (194c828)
    • Empty Trash now deletes only the mails that were counted in the confirmation; a mail that arrives in Trash meanwhile is kept.
    • It refuses if the server renumbered the Trash folder, and a failed Empty Trash no longer wipes the undo history (after a successful one, only the undo entries of the deleted mails go).
  • focus confirm and prompt dialogs in the same commit that opens them (#147) (8106d54)
  • keep INBOX subfolders directly under INBOX in the Settings folder list (#141) (ef038ae)
    • Settings > Folders: folders that live inside INBOX are now listed directly under INBOX (they used to appear under the next folder in the list, e.g. the archive). Only the display changed; which folders are scanned is unchanged.
  • make the segments of the Folders panel toggles equally wide (#142) (fb81f2e)
    • Folders panel: the Junk | Trash switch and the By sender | Mails switch now have equally wide segments.
  • neutralise spreadsheet formulas in CSV exports (#146) (79b23e2)
    • CSV exports (audit log and group list) no longer run spreadsheet formulas: a text cell that starts with =, +, -, @, a tab or a carriage return now gets a leading apostrophe, so Excel, LibreOffice and Sheets show it as text.
    • Numbers, dates and ordinary text are unchanged; text that merely starts with one of those characters (for example +1 555..., @handle or - Newsletter) now shows a leading apostrophe in the spreadsheet.
  • never scan Gmail's Starred and Important views as extra copies (#131) (47a0ec7)
    • Gmail's Starred and Important views are no longer scanned as extra copies of your mail.
    • Gmail counts drop to the real number after the next scan.
    • Proton Bridge's Starred folder (also a flagged view) is no longer scanned either; it was already excluded by name, so counts there only change if it had been ticked.
  • recognise more special folders and pick one when two look alike (#135) (4eb55f7)
    • Folders that look like a second Trash, Junk or Sent (for example a mail client's "Gelöschte Elemente" or "Junk-E-Mail" next to the server's own Trash and Junk) are no longer scanned, so their mail no longer shows up as cleanup candidates. This also applies if you had ticked them in Settings. Counts may drop after the next scan.
    • Empty Trash is refused while two folders look like Trash and none is confirmed (it says "Trash is ambiguous - choose it in Settings first"); moving mail to Trash keeps using the automatic pick.
    • Special folders are recognised in more cases (INBOX-prefixed names, more German and Outlook names, Gmail's older attributes); a folder that is now recognised as Trash, Junk, Sent, Drafts or All Mail also stops being scanned.
  • show the errors of the folder features in the user's language (#145) (3a39803)
    • The errors of the folder features (Empty Trash, permanent delete, moving mails in the Folders panel, look-alike folders, Undo, Junk / Trash purge rules) now appear in the interface language instead of English - including on a rule's last-run line.
    • The Undo list and the restore confirmation word "2 mails from Junk" in your language (and "1 mail", not "1 mails").
    • Nothing changes in what is refused or when.
  • show the purge-rule warning in a danger tone (#143) (8b95128)
    • Rules: the "deletes mail on the server, permanently" warning for Junk / Trash rules is now shown in red so it cannot be mistaken for a plain hint.

Performance Improvements

  • keep an incremental index of Trash instead of refetching it on every open (#136) (7d2d97c)
    • Opening the Trash panel is much faster on big Trash folders: only mail that arrived since the last open is fetched.
    • The first Trash open after the upgrade fetches the whole folder once.

v1.8.0

Choose a tag to compare

@mclgoerg mclgoerg released this 21 Oct 19:40
f4828ce

1.8.0 (2026-10-21)

Features

  • file senders in Smart and keep AI answers (#121) (3301b04)
    • File senders yourself: in a Smart row, tick senders and choose "File in Smart as…" to put a sender - or its whole company - under any kind or one of your own categories. It never moves mail, is remembered on your server and can be undone.
    • A sender's detail view now shows how Mailbroom files it and why, and lets you change or reset that.
    • After an AI sorting run you can keep its answers as your own rules; clearer mail still wins over a kept answer.
  • manage what Mailbroom knows about your senders in Settings (#122) (52b16d8)
    • A new Settings tab "Filed senders" shows everything you have filed in Smart and every kept AI answer: search and sort it, edit an entry in place, delete (and undo), remove entries that no longer match any sender, keep or forget AI answers in one go, and download or upload just this list.
    • The list stays on your server and is never sent to an AI. Backups (Settings > General > Export) now include it and, like before, list sender addresses - keep the file private.
  • private sender knowledge (backend) (#120) (320fb6c)
  • re-rate groups from the AI review entries (#106) (ed73f8e)
    • AI review can now re-rate: when some of the groups you are reviewing already have an AI verdict, AI review asks whether to review only the new ones or to re-rate all of them (uses tokens again). Nothing changes if no group is rated yet.
  • smart grouping replaces the Domain tab (#105) (891713e)
    • The Domain tab is replaced by Smart: big senders keep their own row, small senders are pooled by company and by what their mails are about (orders, appointments, applications, support, accounts & security, newsletters, ...), cutting hundreds of rows to about 50.
    • Open a pooled row to see its senders and trash, archive, move, mark read or protect just the ones you tick. Company rows say what their mails are about.
    • Categories you define or edit still decide first and now apply without a rescan; the built-in keyword categories no longer place rows.
    • Optional: a button on the Other row lets your AI sort the senders the rules could not place (you see the scope and cost first; only sender names, addresses, counts and a few subject lines are sent; you can add your own instructions in Settings and remove the sorting again).
    • Settings > "Own row from N mails" (default 10). Domain rules, domain blocks and @domain protect entries keep working. After the upgrade the Smart rows are re-derived from the saved scan (no rescan needed).

Bug Fixes

  • bump the python base image to pick up OpenSSL and PCRE2 security fixes (#114) (a63dd52) Container image rebuilt on an updated Debian base with OpenSSL and PCRE2 security fixes. No configuration changes; pull the new image to get them.
  • count AI sorting and kept answers in senders everywhere (#123) (6c53989)
    • AI sorting counts in senders everywhere: the cost dialog, progress, the "done" notice, the Keep button and its result now all use the same unit - senders - instead of mixing senders, groups and answers.
    • The "placed" number no longer counts answers that cannot apply (a shop-type answer for a free-mail sender), so it matches what "Keep these answers" keeps.
  • don't reopen the Action menu after a confirm dialog on touch (#117) (e65b0c1)
    • Fixed: on iPhone/iPad the Action menu no longer pops open again after you confirm an action from it.

Performance Improvements

  • AI group review asks for low reasoning effort (#118) (3a7390f)
    • AI review is faster and cheaper: it now asks the model for low reasoning effort, which roughly halves the time and cuts the cost by about a third; the verdicts come out about the same, slightly more cautious.

v1.7.0

Choose a tag to compare

@mclgoerg mclgoerg released this 08 Oct 07:10
077e36e

1.7.0 (2026-10-08)

Features

  • accessibility and polish across the UI (#100) (4148a10) Better keyboard and screen-reader support (dialogs keep focus inside, phone cards can be opened from the keyboard, labelled pagers), correct singular/plural wording ("1 mail") in English and German, cleaner thread avatars, and a tidier group view on phones. German now says "KI" consistently.
  • clearer focus and disabled states, groundwork for the UI refresh (#91) (fa9f510)
    • Clearer keyboard focus ring and a consistent greyed-out look for disabled buttons and fields.
    • AI verdict pills are readable in the light theme, and fainter text is easier to read.
    • Rules and Statistics now open full-screen on phones.
  • clearer settings layout and filter builder (#99) (a6917a6) Settings are easier to use: the tabs fit on phones, Save/Cancel sit at the bottom, backup export/import moved to General, and deleting an account or clearing AI data is clearly marked and confirmed. The filter builder's fields line up and open as a sheet on phones.
  • clearer, safer destructive actions with in-app confirmations (#97) (83e877f) Deleting is clearer and safer: the group view says exactly how many mails "Trash all" moves, reading a single mail offers "Trash this mail", "Empty Trash" is set apart in the menu and also available in the Trash panel, and confirmations are proper dialogs listing what will happen. The rule form now labels its fields.
  • compact dates and a cleaner group table (#95) (b2e7a62) Dates are shown in a short readable form (e.g. "6 Oct", older ones with the year), so the group table no longer wraps every row onto two lines. Column headers line up, and clicking anywhere on a row opens it.
  • compact, consistent mail lists in all panels (#98) (5e414f3) Search, Trash, Attachments, Duplicates, All mails and the group mail lists share one compact two-line mail row (about twice as many mails per screen on phones). Delete buttons only appear once something is selected, and empty panels explain what to do instead of showing unusable buttons.
  • flat all-mails view like a classic mail client (#83) (763f8aa) New "All mails" tab: every scanned mail in one date-sorted list, like a classic mail client. Sort by date, size or sender, filter by words, from:, domain:, folder:, age:, size:, is:unread and more, and act on selected mails (archive, move, mark read, trash). Pinned mails keep their confirmation.
  • group mails by conversation thread (#84) (abb945e) New "Thread" tab groups mails by conversation (Message-ID / References), so you can trash whole old conversations at once; threads work with rules, AI review, protected senders and pinned mails.
    Upgrade note: after updating, each account is empty until its first scan, which re-fetches all headers once. Mails without reply headers show up as one-mail threads.
  • harmonize the UI onto a layered type and spacing scale (#92) (7e13567) Consistent text sizes, buttons and colours across all screens. The light theme's status labels are now light, and checkboxes are larger and easier to tap.
  • opt-in local mail-text search index with keyed word hashes (#87) (de3c28c) New opt-in local word index for searching inside mail text, meant for large mailboxes and slow providers (Settings -> Mail account -> Mail text search -> Local word index; needs MAILBROOM_SECRET_KEY). Before building, Settings shows the estimated disk space (about 5-6 KB per mail) and the free space of the data volume and asks you to confirm; the build is cancellable and shows a progress bar, and every scan then keeps the index current. It stores no readable mail text - only keyed hashes of each mail's words - so a copied data volume reveals nothing. Searches match whole words (case/accents ignored), not parts of words, and are instant on any provider. Turning it off deletes the index. The server-side search stays available as before and is already fast for mailboxes of a few thousand mails.
  • optional server-side body search with a per-account setting (#82) (b4c5a2c) Search can now look inside mail text: tick "Also search mail text" in the search panel. Your mail server does the searching and Mailbroom stores nothing; remote providers can be slower than Proton Bridge. Turn it off per account under Settings -> Mail account -> Mail text search. On servers without UTF-8 search, accented characters may not match (you get a note).
  • per-group engagement score with sort and eng: filter (#79) (1e74dce) Every group now has an engagement score from 0 to 100 (how much of it you actually read, whether you reply to that sender, how recent it is), shown as a three-bar meter in a new sortable "Eng." column. Sort by engagement, or filter with eng:low, eng:medium and eng:high (also in rules and saved filters). It is computed locally from scan data; nothing new is sent to the AI.
  • pin single mails so no bulk action, rule, or AI pick can delete them (#77) (edfc0c4) Protect single mails: pin a mail (pin icon on mail rows) and no bulk action, rule, retention window or AI verdict will ever move or delete it. Pinned mails are skipped in group actions and counted in a badge on the group; acting on one directly asks for confirmation first. Filter with has:pinned. Undo and the Trash browser are unaffected.
  • read a conversation as one thread, including your own replies from Sent (#86) (b2280b9) Read a whole conversation as one thread: open any mail that belongs to a thread and tap Read conversation (also in the "..." menu of a Thread group). It shows the mails oldest first, including your own replies from the Sent folder, with the quoted history of earlier mails folded away. Mails load when you expand them; nothing is stored. If your Sent folder can't be read you still see the received mails, with a note.
  • side-by-side group details on wide screens (#101) (0fc75b5) On wide screens (1280 px and up) a group's mails now open beside the list instead of on top of it, so you can step through senders with j/k and act without closing a popup. Smaller screens are unchanged.
  • tidier toolbar with a labelled Tools menu (#94) (0bd30ca) The toolbar is reorganised: Rules, Attachments, Duplicates, Statistics, Audit log, AI review and CSV export are now in one labelled Tools menu, the filter box always gets enough room, and the three "Inactive" quick filters are one compact control. Phones show the list much sooner, and the card layout now stays up to 767 px wide.
  • visible result toasts with undo, clearer status and progress (#93) (dfaea61) Results and errors now appear as a message at the bottom of the screen (with Undo after moving mails) instead of a small line at the top that was out of sight after scrolling. A thin progress bar shows running scans and jobs. Filtering to zero results no longer claims there was no scan and offers "Clear filter".

Bug Fixes

Read more

v1.6.0

Choose a tag to compare

@mclgoerg mclgoerg released this 02 Oct 21:54
72ed6c1

1.6.0 (2026-10-02)

Features

  • configurable auto-scan schedule per account (#68) (44249c2)
  • incremental scanning - fetch only new/changed mail (#66) (7c901d8)