Changelog / release
0.14.1 — Large and scanned PDFs, and a repetition loop that stops safely
Released 2026-09-11 · full changelog · GitHub releases
Desktop can read a 300-page PDF or a stack of scans without forcing the whole file into one prompt. A multimodal request that fell into a token loop now returns what it produced instead of exhausting Metal and timing out. And an expensive 256 GiB checkpoint was qualified, measured, and deliberately not added to the catalog — the evidence for that decision ships with the release.
- Large and scanned PDFs. Selectable PDFs, image-only scans and documents that mix the two are all analysable. Extraction runs behind a bounded cache with hard read deadlines, and a follow-up question can retrieve a specific outline, page or section rather than re-sending the document. The dogfood covered both ends: a 300-page selectable Chinese PDF cached 125,833 characters with all 300 pages completed and 30 chapter rows resolved to real page offsets, and a 6-page image-only PDF reached the model through OCR with multi-turn synthesis decoding at 45 tok/s. Several failure boundaries closed with it: an OCR or render failure can no longer masquerade as complete extraction, a progress heartbeat cannot extend a read forever, and a model that keeps asking for tools is forced into synthesis.
- A runaway repetition loop now ends safely. An exact token loop in a tool-free multimodal request used to continue until Metal ran out of resource handles, leaving the client waiting on an empty HTTP 500. The scheduler now checks the existing conservative detector every eight generated tokens, retires the stopped batch row immediately, and returns the valid partial response with a normal length finish. The reported 61-token cycle is caught at token 184.
- Sampled MTP has a stronger correctness net. New distribution-level tests cover independent speculative acceptance draws and rejection-residual sampling, with real-weight checks forcing the K=2 and K=3 paths. They earned their place immediately: the prior focused suite passed all 246 tests, while four of the five new distribution checks failed and exposed total-variation error up to 0.14. The real-weight smoke recorded 118 K=2 and 147 K=3 speculative attempts, so the deeper arithmetic is exercised rather than inferred from a nonzero acceptance rate.
- A qualification we published for saying no. An experimental DeepSeek V4.1 Flash REAP 2-bit checkpoint was measured on a 256 GiB M3 Ultra: a 199 GiB artifact, 239.44 s to load, 213.51 GB peak, and 7.31 tok/s conservative decode against a 12 tok/s product floor — short by 34%. It preserved 99.9949% mean robust routing mass and passed tiny-configuration parity within 1.4e-6, so the quality was there and the speed was not. The tooling and evidence ship in the repository and the checkpoint is archived for expert reproduction, but it stays outside the catalog: no Server entry, no Desktop entry, not a managed download.