Mycelium updates itself — it checks a static version file and offers you the new build. This is the record of what those builds contained.
Two of the export sources existed because there was no other way in. Gmail has an API and Telegram has an open user API, so making people request a data export for either was a worse product pretending to be a constraint. Connecting a mailbox is now one press: the browser opens Google’s own consent screen and the tab comes back naming the account. Connect as many as you like.
List-Unsubscribe is bulk by the
sender’s own declaration and is dropped before triage. Quoted
thread history is cut at the reply marker.Three fixes, all of them things that failed quietly rather than loudly:
.app is held together by symlinks, and unpacking with
Python’s zipfile wrote each one out as a short text
file naming its target. The framework broke, the signature stopped
verifying, and Gatekeeper refused to launch what had just been
installed. Unpacking now uses ditto, and the replacement
is verified twice — once on download and again immediately before the
old copy is deleted.Four more sources, all read from exports you can request yourself — no API key, no business account, no app review, nothing that puts an account at risk. That constraint is what makes them work for anyone rather than only for someone with a Meta app and a linked Page.
The time column was inventing data. Only 4 of 29 real items actually stated a time; the rest fell back to 09:00, so a column of identical “9:00 AM” stamps read as precision the messages never had. A clock now appears only when the message named one.
Twenty-eight items with mouse-only approve and dismiss is the single
worst thing about a triage queue. J/K move,
A approves, D dismisses, U
undoes, R checks, esc clears.
A fix release: the interface had a section that rendered but did not respond, and nine tests removed during the previous release came back.
A downloadable bundle rather than a script, for two reasons. macOS ships Python 3.9 and Mycelium needs 3.11+, so the interpreter has to travel with it. And Full Disk Access attaches to the application that runs the code — which as a shell script meant asking people to authorize Terminal. Confusing, and far broader than necessary. The grant now goes to Mycelium itself.
With no terminal to print to, a permission failure would be invisible, so the setup flow moved into the page: the app always starts, reports its access state, and offers a button that opens the right settings pane.
Mycelium offers the update itself — or take the current one directly. 10 MB · macOS 11 Big Sur or later · Apple silicon.