Repository navigation
diSerial v1.1.0
diSerial combines a serial terminal with a two-port bus monitor. Send and receive data through
one serial port, or observe both directions of a conversation through two ports on one merged
timeline. View HEX and ASCII data and save local recordings for later export. Free and open
source, with no account or subscription required.
What's new since v1.0.1
- Recording manager: find past recordings by date, export them again as TSV or CSV, or
select multiple recordings for deletion. Port names and aliases help identify each recording. - Shortcut buttons: save frequently used commands as named buttons and send them with one
click in terminal sessions. Saved shortcuts remain available after restarting the app. - Auto-answer rules: automatically send a predefined reply when a received frame contains a
trigger byte sequence. Terminal sessions only; all rules start disabled on every app launch.
If multiple enabled rules match, only the first replies. - Optional automatic reconnect: retry an unexpected disconnect with a configurable retry
count and interval. Off by default; an active recording continues in the same batch after
successful reconnection. The original port must still be available under the same name. - Configurable receive framing: a fresh install now uses a fixed 10 ms idle gap, with
automatic selection off. Change the gap or enable automatic selection under
Tools → Options → Reception; it takes effect on the next connection. Auto-answer rules
match individual frames, so a trigger split across frames will not match.
Two-port monitoring still requires suitable monitoring hardware and connections. Sending is
disabled by default. Manual sending requires explicit confirmation and can affect connected
devices. Timed sending, shortcut buttons and auto-answer rules are unavailable in monitor
sessions.
macOS fixes
- Fixed the standalone download's dependency on Homebrew's Brotli libraries, which prevented
v1.0.1 from starting on Macs without those libraries. - New-session port selection now prefers adapter ports over built-in Bluetooth and debug-console
ports when suitable ports are available. These built-in ports remain in the list and can
still be selected manually.
The interface remains available in nine languages: English, Simplified Chinese, Traditional
Chinese, Japanese, French, German, Spanish, Italian and European Portuguese. Switch languages
from the menu without restarting. Recordings, settings and logs stay on your computer; the
application has no network code, telemetry, analytics, crash uploads or built-in update checks.
Downloads
Choose the package that matches your machine. All four are self-contained; no separate .NET
runtime is required.
| Package | For | Final ZIP size |
|---|---|---|
diSerial-1.1.0-win-x64.zip |
64-bit Windows on Intel or AMD | 47,846,507 bytes (45.63 MiB) |
diSerial-1.1.0-win-x86.zip |
32-bit Windows | 44,565,880 bytes (42.50 MiB) |
diSerial-1.1.0-win-arm64.zip |
Windows on Arm | 45,662,274 bytes (43.55 MiB) |
diSerial-1.1.0-osx-arm64.zip |
macOS on Apple Silicon | 44,851,307 bytes (42.77 MiB) |
Every package includes COMPATIBILITY.txt, LICENSE, NOTICE and THIRD-PARTY-NOTICES.
Keep the whole package together and include those files when redistributing it.
Windows
Requires Windows 10 version 1607 or later. Windows 7, 8 and 8.1 are not supported.
Unpack the complete folder and run diSerial.exe.
Not sure which package to choose? Open Settings → System → About and check System type.
For an ARM-based processor, choose win-arm64; for a 32-bit operating system, choose win-x86;
otherwise choose win-x64.
The standalone Windows executables are not code-signed. SmartScreen may show
"Windows protected your PC". Verify the SHA-256 first, then use More info → Run anyway if
you choose to proceed.
The Microsoft Store edition uses a separate installation package, requires Windows 10 version
1809 or later, and lets Windows select the appropriate architecture.
macOS
Apple Silicon only; no Intel Mac build. The app declares macOS 12.0 as its minimum version.
It has not been tested on macOS 12 itself.
Unpack with Finder or ditto, then drag diSerial.app into /Applications before opening it.
The four text files sit beside the app, outside its bundle. Moving the app does not move
them; keep them and include them if you redistribute the app.
The Mac App Store edition stores recordings, settings and logs in a separate sandbox container.
Data is not copied between it and the standalone download.
The macOS download is signed with Developer ID and notarized by Apple. The Mac build host
verified the signature, stapled notarization ticket and Gatekeeper acceptance after unpacking
the ZIP, and confirmed startup without Homebrew libraries. The ZIP received on Windows matches
the build host's published SHA-256.
Debug-symbol permissions: the three bundled PDB files are readable by the account that
unpacks the download, but not by other local accounts sharing the app. No startup problem for
the downloading account was observed.
Debug metadata: the retained Mac build contains build-machine directory paths in its
main executable and application PDB. This release keeps the original signed and notarized
archive; the Mac packaging workflow will address those paths for a later build.
Windows startup check: each of the three ZIPs was unpacked and launched on a Windows on Arm
test machine. Each process remained running for 12 seconds, opened a window, and logged its
expected architecture and version without an Error or Fatal event. This check did not exercise
serial hardware or retest every feature in these rebuilt ZIPs.
After unpacking the official package, check the app itself:
ditto -x -k diSerial-1.1.0-osx-arm64.zip .
spctl -a -vvv -t exec diSerial.app
# Expected for the official download: accepted / source=Notarized Developer IDSHA-256
Verify the final ZIP you downloaded before running the app. These values must come from the
exact files attached to this release:
1dcabbefc8422102da5c89c7583636e5258b9ae48fb022a47f9dd53785bca636 diSerial-1.1.0-win-x64.zip
c42d268a6c560d00e7a6a0b469e4df4cd8d4a399da7a277bc245057e27eff58b diSerial-1.1.0-win-x86.zip
13788fa0ad7e3621b4012878d53068cfd951d4e101f08d00c8ee663665ec9435 diSerial-1.1.0-win-arm64.zip
37c6cfc4d2876c99da40c1252fe553c8a2c07ac838aefddc9b67b0a4952d1a4f diSerial-1.1.0-osx-arm64.zip
Windows — PowerShell:
(Get-FileHash .\diSerial-1.1.0-win-x64.zip -Algorithm SHA256).HashmacOS — Terminal:
shasum -a 256 diSerial-1.1.0-osx-arm64.zipBuild identification and source
| Package | Exact informational version |
|---|---|
win-x64 |
1.1.0+tree.151e96e83b03f891c6264d9ebae6588eb974f4e4 |
win-x86 |
1.1.0+tree.151e96e83b03f891c6264d9ebae6588eb974f4e4 |
win-arm64 |
1.1.0+tree.151e96e83b03f891c6264d9ebae6588eb974f4e4 |
osx-arm64 |
1.1.0+4ae48aa3a967fca045e156b1c2493fb079b92ef2 |
Check Properties → Details → Product version on diSerial.exe, or
DiSerialInformationalVersion in diSerial.app/Contents/Info.plist.
The Windows downloads were built from the application source and build inputs frozen as Git
source tree 151e96e83b03f891c6264d9ebae6588eb974f4e4, prepared for this public release.
The tree. suffix identifies that tree, not a public commit ID. The v1.1.0 tag identifies
the public source snapshot; release-documentation edits made after the freeze can change its full
tree ID without changing the application's build inputs. Compare the relevant source and build
files rather than assuming the full trees are identical.
The macOS download was built and signed/notarized on a separate Mac from a different source
revision. It was not rebuilt from this public source snapshot; comments, diagnostic text and
developer notes can differ. Its suffix identifies that separate build, not a public commit.
Each SHA-256 above verifies the bytes of one attached ZIP; a ZIP hash does not establish that
two packages came from identical source.
Licensed under Apache-2.0. See LICENSE, NOTICE and the platform-specific third-party
attribution list included in each package. A combined copy is also attached as
THIRD-PARTY-NOTICES.md.