Skip to content

Releases: TheNuanceProject/WireTrace

WireTrace v1.2.0

Choose a tag to compare

@shahin-hashim shahin-hashim released this 21 Jun 17:13

Maintenance release. Hardens data durability, fixes disconnect handling on Linux and a plot-pattern hang, and corrects window restore after a monitor change. Linux binaries (AppImage and .deb) are now published, with working in-app updates. Fully backwards-compatible — no API breaks, no file-format breaks, no user action required to upgrade.

Fixed

  • Data durability. Preferences are saved atomically (write-temp, fsync, rename), log writes/fsyncs/closes run under a single lock so the periodic flush can't interleave with the final flush, and fsync now runs after CSV finalisation on log stop. An interrupted save or hard kill can no longer empty the preferences file or truncate the last log line.
  • ANSI/VT100 escape codes stripped from firmware output at the read layer, so the console, the disk log, the CSV export, and the plot parsers all receive plain text. Stripping only — terminal rendering remains out of scope.
  • CSV exports hardened against spreadsheet formula injection. Values beginning with =, +, -, @, tab, or carriage return are prefixed with a single quote so spreadsheets render them as text instead of executing them.
  • Linux serial reconnection. On an unplug or resource error the port is released immediately, so the kernel frees the tty node and the device reconnects to the same path.
  • Memory held across disconnect/reconnect released. Closing a tab disconnects the plot view from the theme manager, and disconnecting a device detaches all reader and log-engine signals — so repeated bring-up cycles no longer accumulate buffers.
  • Custom plot patterns can no longer freeze the app. Manual plot regexes run with a per-line time limit; a pattern that triggers catastrophic backtracking is treated as a non-match and the line is skipped.
  • Linux AppImage now bundles its dependencies and runs on its own (it previously shipped only the launcher and could not start).
  • The tab now resets when a device drops on its own. Any disconnect — button, unplug, or error — flows through one path that resets the controls and, for an unexpected drop, shows a clear notice.
  • Linux in-app updates now install. Running as an AppImage, the updater replaces the running image and relaunches; .deb and source installs fall back to a manual download.
  • Window no longer opens off-screen after a monitor change. The saved position is validated against the connected screens on restore and centred on the primary screen if it isn't visible on any of them.

Changed

  • Manual-mode plot patterns are evaluated with the regex library (new dependency) to support the per-line timeout.

Install

  • Windows: download and run WireTrace-Setup-v1.2.0.exe.
  • Linux: download WireTrace-v1.2.0-x86_64.AppImage, mark it executable (chmod +x), and run it; or install wiretrace_1.2.0_amd64.deb.
  • macOS: build from source — see the build guide in the repository.

Existing users are prompted to update on next launch.

WireTrace is an independent open-source project by The Nuance Project. Not affiliated with any other product or company that may use a similar name in a different category.

WireTrace v1.1.0 - Live plotter and manual configuration

Choose a tag to compare

@shahin-hashim shahin-hashim released this 29 May 09:55

WireTrace v1.1.0 — Live plotter and manual configuration

First feature release after v1.0.0. Adds the live data plotter, manual plot configuration with named profiles, two data-protection improvements, and a refreshed User Guide. Fully backwards-compatible — no API breaks, no file-format breaks, no user action required to upgrade.

New

  • Live data plotter — docked panel below the console with auto-detected JSON, key:value, and delimited formats. Theme-aware, colourblind-safe palette, click-to-toggle legend.
  • Configure Plot dialog — manual regex with named groups, capture-from-sample assistant, tiered Green / Amber / Red test result, named profiles persisted across sessions.
  • plt: prefix protocol for selective plotting in mixed-traffic streams. Suggested by u/Stromi1011 on the r/embedded launch thread; ships verbatim. See Issue #1 and the [launch essay] https://thenuanceproject.com/writing/wiretrace-plotter-from-a-reddit-thread/).

Improved (carry-forward from v1.0.0)

  • 30-second periodic fsync alongside the existing 1-second flush. Worst-case data loss on a hard kill is now bounded to 30 seconds.
  • fsync ordering on log stop closes the post-finalise window — CSV rows written by finalize() are now fsync'd before close.
  • Tag detector word-boundary fix — default no longer matches fault and similar prefix collisions.
  • Status bar metrics reset on disconnect — port, baud, data rate, and line count no longer show stale values from the previous session.

Discoverability

  • Tooltips added to hidden plot affordances (pan/zoom, right-click context menu, legend click-to-toggle, splitter handle, Window dropdown).
  • User Guide rewritten and expanded for v1.1.0. The HTML is version-stamped at load time, so the documentation always matches the running executable.

Known issues

  • AppImage (Linux): The AppImage build in this release does not bundle shiboken6 correctly and fails to launch on some distributions with ImportError: ...shiboken6/Shiboken.so: cannot open shared object file. The .deb package is unaffected — use that on Debian and Ubuntu in the meantime. Fix going in the next release. Thanks to u/Stromi1011 for the report.

Test ledger

  • v1.0.0 baseline: 85 tests
  • v1.1.0 release: 327 tests pass, ruff clean, SPDX clean on Linux, macOS, and Windows.

Installation

Windows: Download WireTrace-Setup-v1.1.0.exe below, run it. Existing v1.0.0 installs will auto-update within 24 hours of the manifest going live (or use Help → Check for Updates).

macOS: Build from source. See
BUILD_GUIDE.md.

Linux: Use the .deb package, or build from source via
BUILD_GUIDE.md.
See the Known issues section regarding the AppImage in this release.

For the full list of changes, see
CHANGELOG.md.

WireTrace v1.0.0

Choose a tag to compare

@shahin-hashim shahin-hashim released this 15 Apr 14:06

The first public release of WireTrace.

What it is

A serial data monitor for hardware and embedded engineers. Multi-device, fast, and built so the disk log captures everything regardless of what the on-screen view is doing.

Features in this release

  • Multi-device tabs — connect to multiple serial ports simultaneously, each in its own tab with its own thread, log file, and view state
  • Sustained throughput above 10,000 lines per second on commodity hardware
  • Buffered logging — writes happen on a separate thread; the read path is never blocked; guaranteed flush on shutdown
  • Severity-based message classification — every line tagged as one of CRITICAL, ERROR, WARNING, INFO, DEBUG, COMMAND, or DATA
  • Live filter bar — narrow the on-screen view by substring without affecting what's written to disk
  • Search — forward and backward navigation through captured data
  • Two-mode CSV export — auto-detect (recognises key: value and JSON-shaped lines) or raw two-column
  • Two themes — Studio Light and Midnight Dark
  • Auto-update — checks GitHub Releases for new versions, prompts to install
  • Hex display mode — toggle between text and byte-level views
  • Editable baud rate — pick from common values (2400 to 115200) or type any integer from 50 to 4,000,000

Installation

Download WireTrace-Setup-v1.0.0.exe below and run it.

Windows SmartScreen note: Because this binary isn't code-signed (a $300/year cost not justified for an initial release), Windows will show a "Windows protected your PC" warning the first time you run the installer. Click More info → Run anyway to proceed. SmartScreen reputation builds as users install without issue.

System requirements

  • Windows 10 (1809+) or Windows 11, 64-bit
  • 512 MB available RAM
  • 100 MB disk space + room for your logs

Verifying the download

The installer's SHA-256 hash is: cbbd37b8998aa1432995ec5fd684762c6515ebd78ef60b6aa53502abbda2a9a1

##Verify with PowerShell:

   Get-FileHash WireTrace-Setup-v1.0.0.exe -Algorithm SHA256

Source code

This release was built from the source in this repository. License is MIT — see LICENSE.

For build instructions on Windows, macOS, or Linux, see BUILD_GUIDE.md.

Documentation

Full project page: thenuanceproject.com/projects/wiretrace

Reporting issues

Bug reports and feature requests via GitHub Issues.


WireTrace is an independent open-source project by The Nuance Project. Not affiliated with any other product or company that may use a similar name in a different category.