Repository navigation
Releases: keithxc/tio-gui
Release list
v0.4.3
tio-gui 0.4.3 — resilient settings snapshots
This release includes self-contained Linux x86-64 AppImage, DEB, RPM, Arch
binary package, portable tarball and sideloadable Flatpak, signed/notarized
Apple Silicon macOS DMG and ZIP, and a Windows x86-64 per-user NSIS installer.
It keeps GPL-3.0-only licensing. These are upstream downloads, not acceptance
into Debian, Fedora, AUR, Flathub or Nixpkgs repositories.
The immutable v0.4.3 tag retains application source e69f5f6. The macOS
assets use packaging revision 86c6fe1, which redirects Nix's build-machine
Apple iconv to the system library with the same ABI. This fixes charset
conversion without requiring Nix or Homebrew on the destination Mac; GNU
iconv is not substituted. The macOS application implementation is unchanged.
The Linux assets additionally fix GTK transient-dialog cleanup during the last
logged tab's close confirmation, preserve explicit language selection during
GTK initialization, and follow the system language for new workspaces. The
portable runtime includes MIME data, a UTF-8 locale and Latin/CJK fonts so icons
and translations work without the builder's desktop libraries. Exact Linux
source revision and asset hashes are recorded in release-provenance.json and
SHA256SUMS.txt; the corresponding application and runtime sources are supplied
in the linux-runtime-sources.tar.xz asset. GitHub's automatic tag source archive
remains the original immutable tag, not these later Linux fixes.
The Windows installer uses packaging revision d2b0b6e, which includes GLib's
two subprocess helper executables. These are required by bundled pixbuf setup
and are not discovered by DLL-import scanning. The installer is unsigned and
does not require MSYS2 on the destination. The Windows frontend remains a
smaller native serial console; it does not claim the full macOS tools workspace.
Settings integrity and recovery
- Normal saves alternate between the primary settings file and a peer
.bk
slot, preserving one previously validated snapshot during replacement. - Each slot carries a version, unsigned 64-bit sequence number, and SHA-256
digest over the exact serialized payload. Startup validates both slots and
selects the newest valid snapshot, including across sequence wraparound. - Missing, truncated, or damaged slots recover from the other valid copy.
Ambiguous counters and stores with no valid copy fail closed without
overwriting the files. - Cross-process locking serializes writers, replacement is atomic and durable
where the platform supports those guarantees, and POSIX snapshots are kept at
mode0600. - Existing single-file settings migrate on the next successful save. Import now
commits the new store before replacing the visible workspace, and native
editions back up the complete in-memory workspace before importing. - Closing the application now persists the workspace before sessions are torn
down. If locking or storage fails, the window and its live tabs remain open so
the user can retry or export them instead of silently losing the workspace.
The .bk path is a peer slot and may contain the newest settings; it is not
always an older backup. See settings storage for the
format, recovery procedure, and filesystem limits.
Validation scope
The final settings implementation adds thirteen store scenarios covering
alternation, every truncation point, corruption, legacy migration, backup-only
recovery, sequence wraparound and ambiguity, write failure, import/export,
permissions, cross-process locking, and interrupted writers.
At the release candidate commit, Linux, Windows, and macOS CI passed. Native
x86-64 Linux builds on both pk4 and wpc passed all 15 registered CTest groups in
an isolated X11 session, including settings storage and workspace restart. The
Nix package and the complete pk4/wpc system configurations are validated
separately before the mynix pin is delivered.
The Linux release runtime passed all 15 CTest groups in the pinned Ubuntu 24.04
builder, with critical GTK/GLib warnings fatal in workspace-close regression
tests. A minimal Ubuntu 22.04 container without GTK development/runtime
packages and without networking exercised the bundled GUI, tio PTY transmit,
receive/logging and normal last-tab close. Chinese and system/C-locale English
screenshots were checked for translations, fonts and SVG icons. The bundled Lua
and QuickJS plugin tests passed on a native Linux host with network, process,
filesystem and output limits retained. A sideloaded Flatpak passed the same X11
PTY/logging/normal-close test in a task-owned installation and configuration.
DEB (Ubuntu 22.04), RPM (Fedora 44) and Arch binary packages were checked for
installation, replacement, CLI identity, desktop metadata, removal and user
settings preservation in offline disposable containers. They share the same
portable runtime; these checks are not full desktop/hardware certification for
every distribution. Direct AppImage FUSE mounting, Wayland, real USB/BLE and
nested Flatpak plugin behavior remain separate acceptance work.
On the physical Apple Silicon Mac, all 16 native CTest groups passed. The final
ZIP passed Developer ID signature, notarization and Gatekeeper checks, plus
an isolated PTY test receiving/logging 2,065 exact bytes and sending text with
a CR terminator. Development-library paths were denied during that test.
The packager now also requires actual bundled GLib conversions from ASCII,
ISO-8859-1 and GB18030 to UTF-8 with Nix/Homebrew paths denied, covering runtime
data dependencies that a dylib/signature audit alone does not detect.
The final Windows installer was installed over SSH on a physical GPD Win Mini
running Windows 11, then launched in its logged-in desktop session. Its Chinese
window was visually checked. All four native test executables passed using only
the installed runtime and Windows system paths: settings storage, native serial
error handling, payloads, and highlighting (24 cases: 22 passed, 2 explicitly
skipped platform/external-shell cases). The settings test includes child-process
locking and interrupted writers. No COM device was attached for this check.
These checks do not replace physical USB adapter, unplug/replug, electrical line
control, or long-running serial-session acceptance. Existing running sessions
are not stopped or migrated by the package build.
v0.4.2 preview
tio-gui 0.4.2 — restore workspaces and preview remote serial
This prerelease supplies the Linux Nix source package and Apple Silicon
desktop packages for configuration-managed testing. It keeps GPL-3.0-only
licensing. Windows installers and mobile-native applications are not included.
Workspace restoration
- New settings reopen the previous tabs by default, without connecting ports.
- Linux saves tab configurations independently of the startup restore option,
including their order, individual parameters and quick commands. - Closing the final tab preserves changed application preferences. Restoring
logging no longer overrides a saved disabled timestamp setting. - Existing explicit
restore-tabs=falsevalues remain respected. Enable
Reopen sessions on startup before closing the main window if upgrading
from an installation that previously opened only one tab.
Remote serial preview
An optional headless native serial agent and authenticated HTTP/TLS gateway
provide browser access to a serial adapter on another computer. The browser
workspace prioritizes received output, with connection/tool drawers, a fixed
send composer and frozen selection/scrollback during continuing reception.
Linux and macOS source builds are available. Native Windows UCRT64 compilation,
six registered test groups and version checks passed CI; Windows GUI, installer
and physical COM-port acceptance are still pending.
This does not provide local USB serial access on iPad or Android. The gateway
must be started explicitly; the desktop app never starts a server automatically.
See remote serial setup for ownership, TLS, buffer and
background-session limits.
Packaging and validation
Linux adds AppStream metadata, distribution build guidance and the native
AArch64 plugin-sandbox architecture selection. Linux, Windows
and macOS CI definitions cover their distinct source-build paths.
The macOS arm64 desktop requires macOS 26 or later. Its ZIP and DMG use
Developer ID signing, hardened runtime and Apple notarization. Package checks
do not replace physical adapter and mobile browser acceptance.
The final 0.4.2 source passed 14 Linux test groups under a virtual display,
including the close/reopen workspace regression, and 12 macOS test groups.
Both Linux Nix packages were built successfully; the agent package also ran
its three headless test groups in the Nix build.
See the workspace restoration,
cross-platform,
and macOS package
validation reports for the tested boundaries. No general claim of every Linux distribution or five-platform
feature parity is made by this prerelease.
Final source: 3ce6691cc18a7e066e1aab8d531cc935edc46d68.
Hosted CI passed on this revision: Linux x86-64 and ARM64, Windows UCRT64, and macOS with Cairo software rendering. Local macOS package acceptance used the default renderer.
v0.4.1 — follow macOS appearance
tio-gui 0.4.1 — follow macOS appearance
Fixes the macOS System theme setting: the application now reads the macOS
appearance on startup and refreshes it while running. Version 0.4.0 only reset
a GTK preference, which could leave the interface light on a dark system.
Explicit Light/Dark choices remain fixed. The console retains the same dark
palette as the Linux serial workspace.
The build also tracks VERSION changes and refuses to package a stale app
version; each packaging attempt uses a fresh staging directory.
The Apple Silicon DMG and ZIP use Developer ID signing, hardened runtime and
Apple notarization. Requires macOS 26+. Dependencies remain Nix-managed through
mynix#tio-gui; the installed application requires neither Nix nor Homebrew.
Theme, serial UI and integrated serial-tools regression checks passed. The
release also includes a matching source archive, SHA256SUMS, and
macos-0.4.1-acceptance.md. See the 0.4.0 acceptance record for the full serial
feature baseline and the physical-device/Chinese IME checks still outstanding.
v0.4.0 — macOS serial tools
tio-gui 0.4.0 — macOS serial tools
The macOS edition now brings the Linux serial workflow into the same compact
workspace: highlighted logs and a libvterm terminal, CRC/delayed quick sends,
the shared sequence editor, recording/rotation/replay, log analysis and graphs,
custom highlighting, session comparison, Modbus RTU and X/Y/ZMODEM transfers.
Profiles, full/portable settings, tab naming/reordering, history and shortcuts
are available. USB serial identity and new/latest selection improve reconnect.
The Apple Silicon DMG and ZIP include their runtime dependencies and use
Developer ID Application signing, hardened runtime and Apple notarization.
Built with Nix-managed dependencies through the shared macOS devShell.
Requires macOS 26+. Open the DMG and drag tio-gui into Applications.
The existing bundle ID and native settings location are preserved. Older native
settings migrate to preserve byte-exact append logging; imported Linux profiles
remain disconnected until you select an appropriate local device and connect.
Downloads:
tio-gui-0.4.0-macos-arm64.dmg— drag-to-Applications installer.tio-gui-0.4.0-macos-arm64.zip— the same notarized application.tio-gui-0.4.0-source.tar.gz— matching application source.SHA256SUMSandmacos-0.4.0-acceptance.md— checksums and validation scope.
Software verification covers native PTYs, binary logging, sequence ordering and
cancellation, repeated Modbus requests, all three transfer protocols in both
directions, plugin isolation/timeouts, terminal ANSI/alternate-screen/UTF-8/input,
configuration migration and recording drain on quit. Linux common-code tests
run separately in an isolated workspace.
A physical USB adapter was not available: electrical line controls, custom baud,
real unplug/replug and USB identity matching remain hardware checks. macOS has no
Linux RS-485 ioctl; use a hardware auto-direction adapter. The libvterm view has
bounded scrollback and no mouse reporting. CAN/BLE/network-only tools and Windows
feature expansion are outside this macOS serial release. Existing Linux/Windows
0.3.7 downloads are unchanged.
v0.3.7
tio-gui 0.3.7 improves responsiveness when clearing or receiving large amounts of serial output.
- Clear highlighted history by removing text tags before deleting text. In a local 10,000-line benchmark, clear time fell from about 9.8 seconds to 0.16 seconds.
- Process the Linux raw serial stream in smaller chunks and give interface input and redraw work priority. A simulated continuously ready stream delivered all 900,000 bytes with a worst UI heartbeat gap of about 44 ms.
- Batch history trimming, limit highlighted history to 10,000 lines or 2,097,152 Unicode characters (whichever is reached first), and avoid repeated UTF-8 prefix scans while applying highlighting. Oldest complete lines are discarded when either history limit is reached; file logging is independent of this display limit.
- Preserve custom highlighting rules and search tags after clear. Regression checks cover long histories, Chinese text, partial prompts, continuous reception with clear, scrolling and selection, and real keyboard/Bash editing.
- Include the shared desktop workspace and native appearance improvements from main in all platform builds.
Downloads:
- Linux x86-64:
tio-gui-0.3.7-linux-x86_64.AppImage, including tio, runtime dependencies and Latin/CJK fonts. Make it executable and run it. Linux user namespaces are required; use--appimage-extract-and-runwhen FUSE is unavailable. Nix users can runnix run github:keithxc/tio-gui/v0.3.7. - Windows x86-64:
tio-gui-0.3.7-windows-x86_64-setup.exe, a per-user installer with shortcuts and uninstall support. - macOS Apple Silicon:
tio-gui-0.3.7-macos-arm64.dmg; drag the application into Applications. Requires macOS 26 or later. Intel Macs are not included. SHA256SUMScontains checksums for the three application packages.
The native Windows/macOS edition is a serial console and does not include the Linux edition's complete protocol/plugin toolset or a full-screen terminal emulator. The history/highlight fixes are shared by all editions; the raw-stream scheduling change applies to Linux. Windows packages have no publisher certificate; the Mac app uses an ad-hoc signature and is not notarized. Performance figures are local software measurements, not hardware throughput guarantees.
Validation:
- Linux: all 10 CTest suites passed. GUI flood/scroll and real keyboard/Bash editing checks passed. The AppImage passed version, standalone GUI, bundled tio PTY TX/RX, logging and normal-close checks with the host Nix store hidden.
- Windows: installer, relocated bundled runtime, native/payload/highlighter tests, GUI startup/normal close and uninstall passed under Wine 11. Physical Windows hardware/USB-driver acceptance is not claimed.
- macOS: native serial, payload and highlighter suites passed on Apple Silicon. The signed, relocated application passed version and standalone GUI startup checks.
- Known macOS GTK 4.22.4 issue: repeatedly reopening the quick editor triggers
gdk_surface_thaw_updatesdiagnostics. The strict GUI test aborts on this diagnostic. A separate diagnostic run with nonfatal critical logging completed transport, logging, profiles, search and lifecycle assertions; this is not counted as a clean GUI-suite pass. The shipped application retains its normal logging behavior and contains no diagnostic test modifications.
All application packages were built from commit 68d26e473cbb87e37149d61123967f1cdf0dc0f2 (tag v0.3.7).
v0.3.6
tio-gui 0.3.6 improves console search, adds persistent font zoom, and fixes stale text during interactive shell editing.
- Hold Ctrl and scroll to resize console text. The size is shared across tabs and remembered after restarting.
- Search the active console view, navigate with Enter/Shift+Enter or F3/Shift+F3, and use case-sensitive or regular-expression matching. Highlight consoles show matching text and current/total counts while keeping the reading position stable as data arrives.
- Fix characters remaining visible after shell Backspace/Delete. The line renderer now handles delete, erase, insert and erase-to-end control sequences, verified against real Bash/Readline responses.
- Windows and macOS use the native serial edition and include their GTK/runtime dependencies. Users do not need tio, MSYS2, Homebrew or Nix.
Downloads:
- Linux x86-64:
tio-gui-0.3.6-linux-x86_64.AppImage, including tio, runtime dependencies and Latin/CJK fonts. Make it executable and run it. Linux user namespaces are required;--appimage-extract-and-runis available when FUSE is unavailable. Nix users can also runnix run github:keithxc/tio-gui/v0.3.6. - Windows x86-64:
tio-gui-0.3.6-windows-x86_64-setup.exe, a per-user installer with shortcuts and uninstall support. - macOS Apple Silicon:
tio-gui-0.3.6-macos-arm64.dmg; drag the application into Applications. Requires macOS 26 or later. Intel Macs are not included. SHA256SUMScontains checksums for the three application packages.
The native Windows/macOS edition is a serial console and does not include the Linux edition's complete protocol/plugin toolset or a full-screen terminal emulator. USB serial drivers and hardware-specific line behavior depend on the operating system and device. Windows packages have no publisher certificate; the Mac app uses an ad-hoc signature and is not notarized.
Validation: Linux passed 10 CTest suites plus real keyboard/shell tests; the AppImage passed isolated PTY transport checks without the host Nix store. Windows installer/runtime/uninstall checks passed under Wine 11. macOS passed four native suites and a relocated bundled-app launch on an Apple Silicon Mac.
Windows installer refresh — 2026-09-09:
- Share workspace construction and CSS with the Linux edition: device/baud toolbar, status row, collapsible connection settings, search, console frame, send row, quick buttons and quick editor fields. Unsupported backend actions are omitted in place; Windows/macOS no longer use an independently arranged workspace.
- Share the appearance settings card. Follow system remains the default theme, with immediate Light/Dark overrides. Windows follows changes to the app-color preference while open.
- Default new installations to simplified Chinese. Native Chinese/English switching now updates the open interface without restarting or disconnecting sessions. Bundle a private Noto Sans SC fallback for minimal Windows installations.
- Match the four Windows client-decoration corners; maximized/fullscreen windows use square corners. System fonts, DPI and platform window decoration remain native.
- Preserve native serial transport, logging and search; connection settings lock while connected, with manual DTR/RTS/Break still accessible. Closing the quick editor discards unsaved drafts.
Validation for the shared workspace: Linux CTest suites, native serial suites, native GTK/PTY regression including live language switching, Linux GUI/search/quick-editor regression, and localized layout snapshots. The refreshed Windows installer is checked for installation, relocation, bundled tests/font, launch, normal close and uninstall under Wine 11. The user confirmed the preceding UI preview on a Windows 10 VM; the final shared-layout build still needs VM/hardware acceptance. No new macOS desktop acceptance is claimed.
This refresh replaces the Windows installer and updates SHA256SUMS under the existing 0.3.6 release. Linux AppImage and macOS DMG downloads remain the original 0.3.6 packages. The shared source changes are on main; the Windows rebuild source revision is recorded below on GitHub. Physical USB serial and driver acceptance remain pending.
Windows rebuild source: d593592. The original v0.3.6 tag remains unchanged.