Releases: mhmd2520/PingPair
Releases · mhmd2520/PingPair
PingPair v0.1.0
PingPair v0.1.0 — first public release.
Automated 20-case Server/Client LAN characterization test between two laptops using fping (latency / loss) and iperf3 (throughput / jitter / loss / per-second telemetry), with Word / Excel / PDF / TXT reports and a JSON sidecar per run.
Added
- Automated 20-case Server/Client LAN sweep (fping + iperf3) with Word / Excel / PDF / TXT reports and a JSON sidecar per run.
- Setup prerequisite checker with one-click fixes, role auto-detect, Config test-plan editor, Analysis comparison/diff tab, Help guide, and theming.
- In-app updater. About → Updates: "Check for updates" (manual), an every-launch update reminder with a "Don't remind me again" opt-out, and "Download & install" that downloads the new build from the GitHub release, verifies its SHA-256, swaps the install, and relaunches.
- About tab reorganized into four cards (About / Updates / Credits & License / Diagnostics).
- The PingPair logo now appears in the header of every Word and PDF report — single-sweep, multi-segment, and the Analysis comparison exports.
- Packaging: top-level
LICENSE, expandedTHIRD_PARTY_LICENSES.md, and a changelog.
Changed
- Download streamed in 1 MiB chunks for faster transfer.
- The Analysis tab's Export comparison report now writes a single self-contained folder (
<name>/plus<name>/Analysis_Images/) with consistently sized wide charts. - A sweep is now blocked while Wi-Fi is connected to the test subnet, and the Ethernet adapter is reverted to DHCP when the app closes.
Security
- Update download refuses an
https→httpredirect downgrade (strict-HTTPS opener) in addition to the mandatory SHA-256 check. The release bundle is unsigned for v1 — HTTPS + SHA-256 is the integrity story; code-signing is a documented post-v1 item. - All elevated system-tool calls (
netsh/ping/icacls/cmd) are invoked by absolute%SystemRoot%\System32path, removing a PATH/cwd binary-planting privilege-escalation surface. - The Setup-tab NIC override is validated as an IPv4 literal before it reaches
netsh; the report filename pattern is sanitized so it can't write outside the Reports folder.
Fixed
- Self-update now actually applies and relaunches (console-less swap helper using
ping-based waits, file logging, robocopy exit-code checks). - Closing the window mid-download no longer freezes the app.
- A 100%-loss test case no longer renders the literal text
nanin the latency columns or sidecar — those latencies now show as "—". - The Analysis tab's Export comparison report now works in every format.
- iperf3 connection errors are recorded as a failed case instead of a misleading 0 Mbps measurement.
- The server no longer stalls ~10 seconds (leaving an orphaned iperf3 process) when a client disconnects mid-case.
- "Reset to defaults" on the Save Options tab restores Word + Excel only (the documented default).
- The Analysis Diff tab's hint banner is readable on the Light theme.
Note: the bundled PingPair-0.1.0-win64.zip is unsigned — Windows SmartScreen may warn on first run. Verify the download against PingPair-0.1.0-win64.zip.sha256.