Changelog

Every release of the mm CLI, newest first. Update anytime with mm update (or brew upgrade modelstatus-cli).

v0.1.862026-06-16

Search the What's New feed

  • The What's New tab now has / search, like Scan and Inventory. Filter the registry feed, alerts, fixes, and releases by typing — e.g. deprecated to see just the deprecations, or a model or provider name to jump to a specific change.
  • Press / to start filtering, esc to clear; the count of matches shows as you type.

v0.1.852026-06-14

Command polish + safer billing

  • mm upgrade --lifetime starts the one-time Lifetime checkout from the CLI (plain mm upgrade is still the $5/yr Pro plan).
  • mm <command> --help now prints per-command usage and flags; an unknown command exits non-zero instead of silently printing the help.
  • mm clear requires an explicit --yes/--force — it will no longer wipe your cloud inventory on --ci alone. mm logout no longer claims it removed a key when you weren't signed in, and warns if an env-var key still authenticates you.
  • Billing safety: checkout won't start a duplicate charge for an account that's already on Pro or Lifetime.

v0.1.842026-06-14

Clearer mm status, faster scans, safer CI

  • mm status now leads with a one-line verdict, orders models by what dies first, and shows a ≈ suggestion? for ids written without their provider prefix — so a model the registry knows isn't just labelled "unrecognized".
  • Scans are ~9x faster on large trees, with a live file counter while they run; random config keys and generated tokens no longer get mistaken for model ids.
  • mm ci --diff no longer silently passes on a symlinked checkout — it was dropping every finding, hiding retiring models in changed files behind a green check.
  • mm scan --dry-run always previews (it never launches the uploader), mm scan --json always emits JSON, and running the dashboard without an interactive terminal prints a clear message instead of crashing.

v0.1.832026-06-14

Live progress on mm status

  • mm status and mm fix now show live progress while they pull the registry and scan your repo — a cold run no longer sits silent and looks frozen.
  • Docs and the post-install quick start now lead with mm (the full dashboard); mm status is the quick, scriptable, no-account check that drops into CI.

v0.1.822026-06-13

Withdrawn models

  • When a provider pulls a model it released (an unplanned withdrawal, not a planned retirement), it now shows a distinct ⚠ withdrawn badge — in mm status, the TUI, and on its model page — instead of silently becoming an unrecognized id.
  • If you reference a withdrawn model, you get alerted (the same as the people who saw its announcement).

v0.1.812026-06-12

Release notes, in the app

  • After an update, the first launch shows that version's release notes — once, dismissed with any key. Fresh installs aren't interrupted.
  • What's New gains a Releases section: every release with its highlights, right in the TUI. Full history at llmstatus.ai/changelog.

v0.1.802026-06-12

Feedback is one keypress away

  • ! feedback now shows on every tab's keybar — score mm 1–5 (1 = hot garbage, 5 = best thing since sliced bread) and leave a comment; it lands directly with the humans who build this.

v0.1.792026-06-11

mm config

  • New mm config — view and change settings in one place (analytics, channel, config path). mm config analytics on|off controls anonymous usage stats.

v0.1.782026-06-11

Quieter scans

  • The first-run analytics notice no longer interrupts mm status output. The setting (and exactly what's sent: event counts only, never code or paths) lives in mm config and on the Account tab.
  • Analytics opt-out is now persistent — no env var needed.

v0.1.772026-06-11

In-TUI feedback

  • Rate mm without leaving the terminal: a quiet prompt appears after you've used it a bit, and the card takes a 1–5 score plus an optional comment. Asked at most once per 30 days; never again after you answer.

v0.1.762026-06-10

Scan precision

  • Fixed a double-count where one reference (e.g. a Bedrock ARN like anthropic.claude-3-sonnet-20240229-v1:0) showed up both as its resolved model and as a phantom “custom” id. One line, one finding.
  • Fine-tune-style variants (ft:gpt-4:…) now report under their base model — the base carries the lifecycle that matters.

v0.1.752026-06-10

Docs catch-up

  • README and docs now cover mm fix, Homebrew install, the GitHub App, and the supply-chain posture — and state the analytics policy plainly.

v0.1.742026-06-10

Signed releases on every platform

  • Every release manifest is now Ed25519-signed and verified — at install and on every self-update — against a public key embedded in the installer itself, not fetched from the CDN. Linux and Windows downloads get a real authenticity check, not just a same-origin checksum.

v0.1.732026-06-10

Fail-closed installs

  • The installer now refuses to proceed if the checksum manifest can't be fetched or verification can't run — no more silent 'installing unverified' fallback.
  • The self-updater verifies the new binary's Developer ID signature before swapping it in.
  • Releases can't ship un-notarized: the pipeline blocks any macOS binary Apple hasn't accepted.

v0.1.712026-06-10

Homebrew + tighter sandbox

  • brew install randomartifact/tap/modelstatus-cli — mm is on Homebrew (macOS + Linux). Brew owns updates there; the self-updater steps aside.
  • macOS hardened-runtime entitlements trimmed to the single flag Bun's JS engine needs (allow-jit) — nothing else.
  • The installer cryptographically verifies the binary is signed by Random Artifact LLC before installing.

v0.1.702026-06-10

Notarized by Apple

  • macOS binaries are Developer ID signed and Apple-notarized. The installer no longer touches com.apple.quarantine — Gatekeeper passes it legitimately.

v0.1.692026-06-09

macOS signature fix

  • Fixed invalid code signatures on macOS binaries (stricter Macs killed them on launch — credit: an external security review). The installer also sha256-verifies every download before installing.

v0.1.682026-06-09

mm <dir>

  • mm ~/path/to/project opens the TUI scoped to that folder — the thing everyone tried first now just works. Everything runs locally.

v0.1.672026-06-09

First-run polish

  • A failed sign-in is no longer a dead end — g retries, and tabs 1–2 work with no account.
  • Running mm in a folder with no AI calls now says what to do next.

v0.1.662026-06-09

Here first

  • Everyone lands on the Here tab (the live local scan) — signed in or not. Inventory is one keypress away (3).

v0.1.652026-06-09

Fix history with diffs

  • What's New → Fixes now shows the exact red/green diff of every fix you've applied, with o to open the file at that line.

v0.1.642026-06-09

See the diff before it writes

  • Pressing f now opens a diff preview — old line red, new line green, per file:line — and nothing is written until you press y.

v0.1.632026-06-09

Smarter fixes

  • Replacement chains: if a model's replacement is itself dying (davinci → gpt-3.5 → gpt-4o-mini), mm fix follows the chain to the first live model — in the CLI, the TUI, and the GitHub App's fix PRs.
  • Every applied fix is recorded; a new Fixes section on What's New lists them.
  • mm fix --json emits pure JSON for tooling.

v0.1.622026-06-09

In-place fixes

  • Applying a fix updates the list instantly instead of kicking off a full rescan of the workspace.

v0.1.612026-06-09

mm fix

  • New mm fix (and f in the TUI): rewrites deprecated/retiring model ids to their registry replacement, in place. Boundary-safe — gpt-4 never rewrites inside gpt-4o — and style-preserving. --dry-run previews.

v0.1.602026-06-09

Ergonomics pass

  • 30+ fixes across all 8 tabs: every failed fetch now says how to recover (g retries), keybars never hide their most important keys, offline no longer renders as Pro, and the Here header leads with the verdict.

v0.1.582026-06-08

Warp, finally

  • The long tale of the clipped top row in Warp ends: the TUI renders full-screen correctly in Warp, before and after the game.

v0.1.532026-06-08

mm update

  • mm update updates the binary in place and relaunches — one run lands on the latest version. (The background self-updater still applies updates on next launch.)

v0.1.482026-06-07

Alternate screen

  • The TUI runs in the terminal's alternate screen buffer — quitting restores your scrollback cleanly.

v0.1.0 – 0.1.472026-06-03

Early days

  • Everything that made mm, mm: the scanner and lifecycle registry (signed snapshots, offline cache), the TUI with its 8 tabs, cloud inventory and alerts, the CI gate, secret-aware scan sources (env, AWS, k8s, helm, SQL), inventory search, npm + curl installers, the self-updater — and Donkey Kong (press P).