ModelDeck 0.3.2 — one-click in-app updates (last manual install)
The Sparkle debut: this release ships the in-app update machinery, so
0.3.2 itself must still be installed by hand from the DMG — the last
manual install. Releases after 0.3.2 arrive via in-app Update Now.
Added
- Menu bar account picker: Settings → General → Menu bar now offers
"Show percentage for" — either the original Lowest across all
accounts (percent appears only below the warning threshold) or one
pinned account, whose lowest usage window shows in the menu bar
continuously: neutral label color while healthy, gold at warning,
red at critical. The pin survives restarts; a pinned account that is
later removed falls back to lowest-across. Threshold notifications keep
watching every account regardless of the pin. Two quick paths beyond the
Settings picker: right-click any deck card to "Pin to Menu Bar" (or
unpin), and a "Follow Active … Account" mode (per provider) that
automatically tracks whichever account is currently active. - One-click in-app updates via Sparkle 2: when a newer version is
found, both the deck gear dialog and Settings → General now offer
Update Now — download, EdDSA + Apple-signature verification, atomic
install, relaunch — with "Release Notes" as the secondary link. A new
"Install updates automatically" toggle (default ON) downloads found
updates quietly and installs them on the next relaunch; turn it off and
nothing installs without an explicit Update Now. The daily check cadence
and its Settings toggle are unchanged.
Fixed
- Honest copy for unanchored usage windows: a deck card whose window
has never been anchored by real use said "Resets " with a
floating, meaningless time. It now says "Resets 7 days after first
use" until an anchor exists, and a window that rolled over recently
shows "Week reset just now" / "Week reset at HH:MM" so a
suddenly-full quota bar comes with its explanation. - Activation attempts can no longer end silently: clicking the
Accounts-pane activation radio could appear to do nothing — a stale
trouble banner from an earlier failure masked the new attempt's outcome.
Every activation attempt now ends in a visible outcome (banner or
verified switch), and the radio dims while activation is unavailable
instead of swallowing clicks.