-
v4.2.2
StableAll checks were successfulRelease / Create Forgejo release (push) Successful in 12sCI / Bot/backend version sync (push) Successful in 45sCI / Backend lint (ruff) (push) Successful in 54sCI / Summarisation accuracy eval harness (stub provider) (push) Successful in 1m28sCI / Frontend tests, audit, and build (push) Successful in 1m55sCI / Bot tests and audit (push) Successful in 2m9sCI / Docker image build (push) Successful in 4m11sRelease / Build and push versioned images (push) Successful in 4m25sCI / Backend migration, tests, and audit (push) Successful in 9m59sCI / Synthetic session harness (no GPU, no LLM) (push) Successful in 14m56sreleased this
2026-09-05 17:26:13 +00:00 | 186 commits to main since this releasev4.2.1's headline fix did not hold on the bundled stack, so this patch follows within the hour. The hardware preflight now measures a reasoning model's throughput from the tokens it actually produced, whether or not it finished its answer, and reports a profile band on the default self-hosted configuration.
No migration. The database schema is unchanged since v4.2.0 (
e9fa0b1c2d3eremains the head).Bot API contract v1, unchanged.
BOT_EXPECTED_APP_VERSIONis bumped so the bot's startup log matches.No new settings. If you deployed v4.2.1 and the preflight panel still said "Not measured" for the LLM, upgrade and re-run the preflight; that is the whole of the change. If you skipped v4.2.1, its notes still apply.
Fixed
- [webapp] The hardware preflight now measures a reasoning model whether or
not it finishes its answer (#507). v4.2.1 gave a thinking model a bigger
output budget on the theory that it would finish inside one. On the bundled
llama.cpp stack serving qwen3.5 — the default self-hosted configuration — it
did not: the model thought for the whole budget, 2048 tokens in 61 seconds,
and the panel reported "Not measured" again. Raising the cap further is the
wrong lever, because a budget large enough for a workstation GPU to finish
inside is a timeout on a CPU box. So the probe stopped asking the model to
finish. 2048 tokens in 61 seconds is 33.6 tokens per second, which is the
only number the preflight exists to obtain, and it is now read off the
generation that ran out of room instead of being thrown away with it. A
deployment running a local reasoning model gets a generation rate, a profile
band and an expected session time, with the panel saying that the rate came
from a generation that never reached a visible answer. An endpoint that
reports no tokens at all is still reported as broken.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [webapp] The hardware preflight now measures a reasoning model whether or