Skip to content

xping v1.4.9

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:35
· 124 commits to main since this release
e57d59f

[1.4.9] - 2026-10-03

Added

  • History: --save and xping history.
    • --save on ping, trace, mtr, health, tls, tcp, udp, http, smtp,
      dnscheck, blocklist, ntp, speedtest, wifi and doctor keeps the result
      in ~/.xping/history/<command>/ (or set save = true under
      [defaults] in the config file).
    • xping history lists what is recorded.
    • xping history COMMAND TARGET shows the runs with the command's key
      metrics, a trend line, the pass rate, and the latest run against the
      median. It supports --last, --since 7d, --clear, and
      --json / --csv.
    • Nothing is recorded without --save. The newest 500 runs per
      command and target are kept.

Changed

  • xping diff is easier to trust and to read.
    • Jitter and the maximum RTT get a 10% noise band; other metrics keep
      3%.
    • New notes warn when the two runs have different or small sample
      sizes.
    • Notes also explain likely causes: a higher minimum RTT points to a
      route or ISP change, and higher jitter with an unchanged minimum
      points to a busy or weak local link.
    • JSON output has a new notes field.
  • xping wifi names two stronger access points when they are nearly
    equal, so the tip no longer flips between runs as signals fluctuate.

Development

  • CI type-checks the code with mypy. Every module is checked except three
    that need a larger rework, which are listed as a baseline in
    pyproject.toml. Fixing the reported issues turned up a name that
    shadowed the colour helper in lookup, plus many missing None
    checks and annotations.

  • The minimum test coverage rose from 55% to 75% (actual: 79%). The CI run
    page shows a coverage summary.

  • A documentation site at https://mehaskari.github.io/xping/, built with
    MkDocs (Material) from docs/. It has search, dark mode and a table of
    contents. Every docs change is built in strict mode, so a broken link
    or section anchor fails the check. The site is published from main.