Changelog / release

0.15.1 — Failed first starts tell you what went wrong

Released 2026-09-24 · full changelog · GitHub releases

Upgrade: pip install -U rapid-mlx  ·  brew upgrade rapid-mlx  ·  or grab the desktop app.

0.15.1 makes a failed first start diagnosable — for you and for us.

  • A model that needs an optional extra now tells you which one. Vision, video, image, and audio serve paths now converge on the same actionable failure when their optional runtime is unavailable. The CLI and python -m rapid_mlx.server print the exact pip install 'rapid-mlx[<extra>]' command, while the Desktop startup-failure panel names the closed reason and extra and links to the Startup Log for the installation details.
  • Ready: means ready. The server prints its ready banner only after the port is actually bound, so a script that waits for the line can connect immediately.
  • Every serving lane reports success the same way. Image, video, audio, embedding, and specialised text servers now emit the same model_served event as the default lane.
  • Telemetry: two additions, still anonymous, still closed enums. server_start_state records attempted followed by ready or failed, with a failed stage of resolve, download, preflight, prepare, engine_start, or bind. A missing optional runtime records error_class=missing_extra on model_serve_failed, with extra limited to vision, video, audio, or image. There is no new free text or identifier. Full disclosure: rapidmlx.com/docs/telemetry.

Caveat: the bundled privacy policy names the new optional-extra field, but the Settings → Privacy summary does not yet name the new startup-state fields.