jvq 0.5.0 goes after the one slowdown a per-change gate can’t see: many small ones, each inside the budget. Runs on the default branch now add a line to a history file, and jvq history shows how far each benchmark has moved in all, with an interval, run by run.
Each run’s change was measured on one machine, so the changes can be chained even when CI runners differ. Each run’s interval is chained along with it, so noise widens the answer instead of passing for a trend. In the GitHub Action it’s one input, history, kept in the Actions cache; the GitLab template has the same.
The review before release changed the design. Chaining bare numbers turned 12 real merges at +1% each into -4%, and a limit on that would fail builds on noise. It also caught commits skipped between pushes, re-runs counted twice, and pull requests failing on someone else’s slowdown. It follows https://softdevstudio.com/jvq-gates-gitlab-merge-requests/.