Skip to content

Release 1.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 17:17

Changes since 1.2.1

New

  • Quiet hours. A daily window — say 23:00 to 08:00 — during which scheduled tests are skipped, set from the pause dialog and honoured everywhere a test is promised: the scheduler refuses occurrences inside it, the status bar counts down to the first one outside it, and the frequency dialog's "next test" preview says the same thing the countdown does. Manual tests still run; the window governs only the schedule. A publicly shared read-only dashboard is not told the window's bounds — they say when nobody is home.
  • Notifications only when a test misses a limit. Each notifier integration can set its own thresholds — ping above, download or upload below — and stay silent for every test that meets them. A test that could not be measured counts as worth telling: an unmeasurable line is not evidence that the line is well, including the all-zero result Cloudflare's CLI produces when it prints nothing usable.
  • Integrations receive everything the test recorded, and the dialog now lists every variable a message template accepts, with a live preview of the payload the integration will get. Template values are written verbatim, once each — a value containing a variable's name no longer expanded twice.
  • Every test records where its server is, not only who runs it. Ookla keeps the sponsor and the city apart, and now so does the history: the opened test names the server, then where it is, then the address that answered — each line carrying only what the one above it does not.
  • The overview row says what the line is like, not just how fast it is. Bufferbloat is graded A+ to F right on the row, packet loss and jitter sit beside the ping with the same colour grading the opened panel uses, and the latency under load has its own place on each direction's card. Every icon is a real button that explains its own figure — by mouse or by keyboard.
  • The consistency card reports the spread a typical test sees. The ping figure was a standard deviation labelled a variance: one 26 ms spike among 170 four-to-seven-millisecond pings nearly doubled it. It is now the median absolute deviation — half the tests sit within it of the middle one — labelled "Typical deviation", and no single test speaks for the range.
  • Latencies keep their decimals. The column stores two; every view prints one — the same one, everywhere, with the colour graded from the printed figure, so a reading never wears one value and a different colour's worth of another.
  • Ukrainian translation.

Fixed

  • The statistics time axis fills the plot again. A lone test was drawn on an axis spanning six years; a year of history was squeezed into half the plot between epoch-anchored ticks with months of dead margin either side. The axis now spans the data.
  • Saving the quiet window could half-apply it. The two ends were written in separate requests with no rollback, so a failure between them left the server silencing tests across a band nobody configured — while the dialog went on showing the pair the operator meant. A failed save now restores the first end, and the dialog re-reads and shows what the server actually holds.
  • A reschedule landing at the wrong moment no longer fires one last test from the schedule it replaced — the quiet-hours check had reopened, for the length of two config reads, the exact race the schedule generation counter exists to close.
  • One Escape, one overlay. Escaping the remove-password confirmation also closed the settings dialog under it, discarding the password typed there — both overlay systems listened on the document and neither knew the other was stacked above. The topmost overlay now answers alone.
  • The opened test names its server once. With a location but no name, the city was printed on both server lines and the address that actually answered on neither; an empty Ookla server name is also stored as the null it means, like the location beside it always was.
  • Delivery failures are recorded while an integration is quiet, a payload size the speedtest skipped is ignored rather than parsed, and the announced next test is tied to the quiet hours that govern it.
  • Failed tests sit level with the rows around them — they had kept the old height floor while measurement rows grew, so the list jogged as it scrolled past one.
  • Also: the integrations dialog grows into the room it already has; the header sits centred in its own band; the button that deletes the password says so, and its prompt can be left without taking the settings dialog along; the dev-mode page works under the app's own security policy; the floating date leaves when its list does; the Ukrainian optimal-speed labels no longer name each other's direction; and the frequency dialog no longer re-walks its cron preview on every status poll while closed.

Under the hood

  • Chart labels are parsed once per recompute instead of once per dataset

Downloads

Platform x86-64 ARM64
Windows EXE · MSI
Linux Binary Binary
macOS Binary Binary

Source Distribution

Docker Images

  • i7gamer/myspeed:latest
  • i7gamer/myspeed:1.3.0