Faster decode, smooth streaming at any context length, smaller model packs, and built-in model updates.
| 2.8.3 | 2.9.0 | |
|---|---|---|
| Decode throughput | baseline | 15 to 20% faster typical, up to 60% on code-heavy output |
| Visible stream freezes (8k context, ~100 tok/s) | 102 per session | 5 |
| Worst streaming stall (minified JSON) | 725 ms | 109 ms |
| CPU while streaming | 26 to 28% | 18 to 23% |
| CPU with Settings open while streaming | 82 to 97% | 30 to 37% |
| Qwen 3.8 pack downloads | 15 to 21 GB | 0.4 to 0.6 GB smaller per pack |
| Updating a pack you already have | full re-download | 240 to 450 MB |
MTPLX_STREAM_COALESCE=0.mtplx pull now records which revision it downloaded and pins the download to that exact commit. A pack on disk can no longer silently differ from what is published.mtplx models --check shows the update state of every cached pack. mtplx models --update <repo> syncs one, downloading only the changed files: typically 240 to 450 MB instead of a 15 to 21 GB re-pull.| Pack | Draft head | Download | Decode at depth 3 |
|---|---|---|---|
| Optimized Speed | INT4/g64 | 610 MB smaller | 46.8 tok/s, 2.3x plain decode |
| Bare Speed | INT4/g64 | 610 MB smaller | 49.9 tok/s, 2.3x plain decode |
| Optimized Quality | INT8/g64 | 398 MB smaller | 39.2 tok/s, 3.0x plain decode |
| Speed FP16 (M1/M2) | INT4/g64 | 610 MB smaller | 45.4 tok/s, 2.3x plain decode |
| Bare FP16 (M1/M2) | INT4/g64 | 610 MB smaller | 50.2 tok/s, 2.3x plain decode |
| Quality FP16 (M1/M2) | INT8/g64 | 398 MB smaller | 48.7 tok/s, 2.8x plain decode |
pip install -U mtplx or brew upgrade mtplx.mtplx models --check to pick up the smaller packs.