Release Notes
PyMTR uses Semantic Versioning for user-facing releases:
MAJOR.MINOR.PATCH, with beta suffixes while the application is still being
validated before a stable 1.0.0 release.
0.12.0
New Features
Added
About > Report an Issuewith guidance for actionable bug reports, links to Issues, Discussions, and documentation, and a clear no-warranty/no-guaranteed-fix notice.Added a GNU Make convenience file for local install, test, coverage, docs, build, release, status, commit, and push workflows.
Added QA planning reports for Playwright/desktop regression options, reference network-tool improvements, and PyMTR/MTR/WinMTR bug-review risks.
Changes
Removed the optional analytical storage benchmark dependency from project metadata and public documentation. SQLite remains the active history backend.
Removed the public Performance page from Sphinx; the storage evaluation is retained only as a short historical architecture note.
Extended
-o/--orderso it accepts comma-separated PyMTR column keys for percentile metrics while keeping MTR-style letter compatibility.Clarified documentation for the two Windows executables:
PyMTR.exefor the GUI andPyMTR-CLI.exefor CLI/TUI usage.
Documentation
Updated README, User Guide, Manual, Architecture, Downloads, packaging notes, and release notes for CLI/TUI usage and
0.12.0.
Tests
Added coverage for optional storage dependency removal, CLI column-key ordering, Report an Issue resources, Makefile presence, and required QA reports.
0.11.0
New Features
Added an MTR-like command-line dispatcher: no arguments open the GUI,
pymtr HOSTstarts a Rich live TUI,pymtr --gui [HOST]opens the GUI, andpymtr --report HOSTruns finite report mode.Added CLI options for IPv4/IPv6 selection, DNS control, TTL, packet size, interval, timeout, report cycles, MTR-style
-oordering, explicit columns, route mode, debug logging, and TXT/CSV/HTML/PDF exports.Added a Rich-based live TUI that renders the same shared column catalog and snapshot values used by the GUI and exporters.
Added
manual.mdplus a packageable Markdown manpage source underpackaging/for future Linux and macOS releases.Added a PyMTR visual identity with SVG source assets, generated PNG/ICO outputs, README hero artwork, Tkinter window icon support, and PyInstaller icon metadata.
Changes
Removed all GUI and documentation localization/i18n support. PyMTR now ships canonical English UI text and English-only Sphinx documentation.
Removed translation and language-count README badges.
Simplified the Sphinx build to produce a single English documentation site.
Bug Fixes
Removed obsolete locale package data from the runtime bundle so stale language resources are no longer packaged.
0.10.0
New Features
Added README badges for release, license, downloads, release pipeline, coverage, Trivy, Python, pip, and Sphinx.
Added a prominent pre-
1.0.0development disclaimer clarifying that PyMTR output is supporting evidence and not a sole source of truth for critical incidents.Added a Sphinx Performance page and a reproducible historical storage benchmark report while keeping SQLite as the active history store.
Bug Fixes
Replaced short localized Sphinx summaries with versioned localized Markdown pages that follow the canonical English documentation structure.
Expanded localized Help resources so metric descriptions and interpretations no longer fall back to English when another GUI language is selected.
Updated Downloads documentation to direct users to the GitHub Releases page for older versions, checksums, and release details.
Documentation
Improved metric descriptions in the central column catalog, README, and Help using legacy MTR-help notes only as conceptual guidance.
Added translated documentation pages for Overview, User Guide, Architecture, Release Notes, Downloads, and Performance in every supported documentation language.
Added the historical storage benchmark conclusion and the latest inspected Trivy result summary: run
25579050313reported zero vulnerabilities, zero misconfigurations, and zero secrets.
Security / CI
Added coverage reporting to the unit-test job and badge endpoint generation for GitHub Pages.
Added a Markdown Trivy summary artifact while preserving TXT, JSON, SARIF, and JUnit outputs.
Kept Trivy findings informational and non-mutating; unit tests remain the release gate.
0.9.0
New Features
Added a canonical
userguide.mdwith end-to-end operational guidance for traces, thresholds, Hop Details, exports, logs, and troubleshooting interpretation.Added a Sphinx
Downloadspage with GitHub Release links for self-contained Windows ZIP packages.Improved the default main-table column order for new installations and unmodified legacy defaults.
Added a benchmark gate and storage abstraction for evaluating future history storage options without changing the active SQLite history backend by default.
Bug Fixes
Removed Sphinx page duplication by making Overview, Architecture, and Release Notes single canonical include pages.
Cleaned generated documentation output before multilingual builds so stale pages are not published.
Reduced Hop Details chart workload for long traces by caching history reads and downsampling only Canvas-rendered points.
Documentation
Improved metric descriptions in Help and README using the legacy MTR-help notes as conceptual reference.
Documented per-column threshold configuration and per-cell conditional-format interpretation.
Documented the history-storage decision gate and why SQLite remains active unless future benchmark criteria are met.
Security / CI
Consolidated CI into a sequential release pipeline: unit tests, Trivy reports, Windows release, documentation build, and GitHub Pages deploy.
Expanded Trivy artifacts to include TXT, JSON, SARIF, and JUnit reports while keeping findings informational.
0.8.0
Bug Fixes
Fixed UTF-8 documentation labels in the Sphinx configuration and localized page sources.
Fixed the FullReport all-metrics chart rendering so its legend has enough width to include every historical metric label.
New Features
Added
LP50andJP50median percentile metrics derived from SQLite history without changing the live probe backend or incremental MTR-compatible counters.Added
LP50andJP50to Options, the main table, Help, Hop Details, charts, TXT/CSV/HTML exports, chart exports, and FullReport.
Documentation
Added the root
README.md,architectural.md, andrelease_notes.mdfiles to the generated Sphinx site while keeping autodoc in the API reference.Documented that conditional formatting is triggered per numeric cell in the configured column.
Clarified Hop Details separation between hop identity, snapshot metrics, live metrics, and historical charts.
0.7.1
Bug Fixes
Fixed remaining hardcoded GUI dialog strings so non-metric labels are loaded from localized text resources.
Localized Help and License dialog content, including an informative translated license summary and the official English MIT text.
Reworked Hop Details layout to separate hop identity from snapshot and live metrics, avoiding duplicated fields and long-hostname overflow.
Added factual IPv6 display in Hop Details when available, with localized unavailable fallback.
Fixed Hop Details chart viewport synchronization so points, lines, X-axis labels, and scrollbar move together.
Fixed GitHub Pages documentation publishing by creating the project
.venvbefore running the multilingual Sphinx build script.
Documentation
Added language switching to the generated Sphinx site.
Added localized Sphinx page content for all supported documentation languages.
Moved legacy plans and agent prompts into organized documentation/archive folders.
0.7.0
New Features
Added versioned GUI localization files for English, Portuguese (Brazil), Spanish, French, Italian, Russian, Greek, Simplified Chinese, Japanese, Arabic, and German.
Added a language selector in Options, persisted in
PyMTR.ini.Changed the user-facing trace interval setting to milliseconds with migration from legacy second-based
Interval.Added per-section
Select allandClear allcontrols for Hop Details graph metric groups.Added persisted main-grid column widths.
Added multilingual Sphinx build output under
docs/_build/html/<language>.
Bug Fixes
Fixed historical percentile chart behavior so percentiles are calculated from the full hop history before applying zoom/viewport filters.
Fixed conditional formatting so only cells above configured thresholds are highlighted.
Fixed TXT, CSV, and HTML export dialogs to start from the PyMTR runtime folder.
Kept chart data, X-axis labels, and scrollbar synchronized through the same viewport model.
Documentation
Removed duplicated architecture/README entries from the Sphinx table of contents.
Promoted
architectural.mdas the canonical architecture source.Rebuilt architecture documentation with coherent Mermaid C4, flow, class, ERD, settings, and screen-map diagrams.
Added multilingual documentation build support and GitHub Pages publication for all supported language folders.
Security / CI
Updated GitHub Pages workflow to publish multilingual Sphinx output.
Kept Trivy and pytest workflows informational and non-blocking.
0.6.0
New Features
Added historical percentile metrics:
LP95,LP99,JP95, andJP99.Added percentile metrics to Options, the main table, Help, Hop Details, charts, TXT/CSV/HTML exports, chart exports, and FullReport.
Replaced the main results table with a Canvas-based metrics grid that supports cell-level rendering.
Added a visible insertion indicator while dragging columns.
Added per-column conditional formatting for numeric metric cells.
Added an informational GitHub Actions unit-test workflow.
Bug Fixes
Reworked keyboard shortcuts to avoid global
bind_allhandlers and native Tk menu traversal freezes.Replaced the native menu bar with an in-window menubar so mnemonic underlines remain visible.
Kept percentile calculations isolated from existing incremental MTR metrics.
Documentation
Included the root
README.mdin Sphinx.Expanded architecture documentation with diagrams, flows, and component relationships.
Added Semantic Versioning guidance to README and Sphinx documentation.
Updated the metric reference with percentile metric descriptions and millisecond units.
Security / CI
Added a non-blocking pytest workflow that publishes JUnit test artifacts.
Kept Trivy as a separate informational, non-blocking GitHub Actions report.
0.5.0
New Features
Added GitHub Pages publication for Sphinx documentation.
Added user guide documentation for troubleshooting workflows.
Enhanced Generate FullReport to include all metrics, one combined chart per hop, and individual charts for every metric.
Bug Fixes
Fixed Hop Details Live mode so it follows new samples without resetting the current zoom width.
Allowed Hop Details charts to display no metrics when all checkboxes are cleared.
Prevented empty chart metric selections from overwriting the last valid global default.
Added explicit menu mnemonics for File, Options, About, and Exit.
Documentation
Added release notes to README and Sphinx.
Documented Static route as the default route behavior and Dynamic route as the optional path-change mode.
Documented Export Chart, Generate FullReport, hotkeys, log folders, and temporary data folders.
Security / CI
Kept Trivy as an informational, non-blocking GitHub Actions report.
Added GitHub Pages documentation deployment as a separate workflow.
0.4.0
New Features
Added multi-instance-safe SQLite history storage under
data/history.Added per-hop chart export to PNG, JPG, HTML, and PDF.
Added
File > Open Temp Folder.Added
File > Generate FullReport.Added
About > Hotkeys.
Bug Fixes
Prevented one PyMTR instance from deleting another instance’s temporary history.
Changed Hop Details charts to line-only rendering for readability.
Preserved normal trace behavior when history writes fail.
Documentation
Documented temporary history files, metadata sidecars, manual cleanup, chart export, and FullReport.
0.3.0
New Features
Added temporary SQLite history per trace session.
Added modeless Hop Details windows with snapshot metrics, live metrics, and live charts.
Added chart metric selection, zoom, pan, horizontal scroll, resize, and tooltips.
Bug Fixes
Closed old Hop Details windows before removing the previous trace history.
Kept historical chart failures isolated from the live trace table.
Documentation
Documented historical charts, local timestamps, metric units, and session-only history.
0.2.x
New Features
Reworked the backend toward an MTR-like packet-helper architecture.
Added tokenized probe correlation, out-of-order reply handling, and per-probe timeout handling.
Added ICMP, UDP, and TCP probe contracts where raw socket permissions allow them.
Bug Fixes
Fixed slow serialized hop probing by batching one probe per TTL.
Improved route trimming to avoid stale or duplicated unreachable tail hops.
Improved telemetry for probe attempts, replies, route limits, alternate responses, and emitted snapshots.
Documentation
Documented that PyMTR does not fall back to Windows ICMP API or native
ping.
0.1.x beta
New Features
Created the clean-room Python/Tkinter PyMTR application.
Added WinMTR-style Host, Start/Stop, Options, Help, Exit, table, exports, DNS display, and continuous trace workflow.
Added TXT, CSV, and HTML exports.
Added configurable route modes with Static route as the default.
Bug Fixes
Fixed DNS display to keep IP addresses visible with resolved hostnames.
Fixed negative packet-loss display.
Fixed row selection preservation during live refresh.
Fixed release packaging so the Windows
onedirbuild is self-contained.
Documentation
Added project planning, architecture, README, Sphinx API documentation, and Windows release notes.