Skip to content

Latency Lab v3.2.0

Choose a tag to compare

@oernster oernster released this 03 Oct 03:19
· 23 commits to main since this release

Release notes

A donate button in the top bar

The top bar now carries a donate button, immediately left of the light and dark toggle. Pressing it hands the donation page to your browser; LatencyLab itself fetches nothing, so the update check stays its only outbound request. If the desktop declines to open a browser, the app says so and shows the address. LatencyLab stays free, with no paid tier and nothing held back behind a donation. The README and the website carry the same link.

Commercial licences

LatencyLab remains free and open source under GPL-3.0, with its interface layer under LGPL-3.0. A commercial licence for the author's own code is now offered separately for anyone those terms do not suit; the README and the website say where to find it.

A tidier website

The site gains a Features page that gathers the application, using it and reading the output behind three cards, so the top bar shrinks to Features, Why and Download. Links that pointed at a post which no longer exists (sending a reader straight back to this site) are gone; the README's equivalent now points at the Why page. Each stylesheet is now linked with a hash of its content, so a browser can no longer pair a fresh page with a stale cached stylesheet.

A quieter failure in the update check

If the window were closed while an update check was still waiting for GitHub, the answer could have raised an error on a background thread. No known path in the app does that today; the answer is now simply dropped when there is no window left to show it.

For anyone working on the source

Three new documents sit beside the README: DEVELOPMENT.md covers running from source, each platform's build in order and cutting a release; TESTING.md covers the checks, what the coverage gate holds and leaves out and how a test is written; DECISIONS-TRADEOFFS.md records the choices LatencyLab rests on, with what each one gains and what it costs.

The Windows build scripts now stop before touching anything unless Nuitka 4.2.1 or newer is installed; the build extra asks for the same minimum.

The full test suite could crash with heap corruption in most runs, because windows a test left behind were freed by Python's garbage collector in the middle of a later test. Each test now has its leftover windows deleted through Qt as it ends, so the suite runs to completion.