These release notes apply to every platform build. Download details stay in the platform picker.
Features
Local echo: Terminal passthrough now echoes what you type in the receive view, so a device that never echoes back — common on embedded targets — no longer leaves you typing blind. It is separate from Display Send, which shows and logs whole frames from the send box: local echo renders keystrokes in place, in typing order, and keeps them out of the log. Off by default, since a device that does echo would otherwise double every character
Indicator lights toggle: The quick-settings panel can now hide the TX/RX and control-line indicators and give the space back to the data views
Cloud Console live channel: The cloud console now carries commands and status over a WebSocket instead of polling, removing the poll-interval delay. A backend that does not advertise the gateway keeps working on the previous HTTP polling path
Interface
The quick-settings bar drags narrower: Its minimum width used to follow the longest port name, the longest combo entry and the widest label all at once, pinning the bar near 300 pixels. Long combo entries now elide in place — the popup still shows them in full — and the shared label column stops growing, so the bar goes as narrow as you need it
Consistent settings terminology: Options… is now Settings… in the main window and the multi-port dialog, the terminal's connection, receive and send settings read consistently, and the settings panel's Options group is named Log Behavior after what it actually holds
Fixes
Misaligned columns from a missing monospace font: The receive and send views name Monaco, which does not exist outside macOS — only Windows' Consolas was substituted before — so those views fell back to a proportional face and the HEX and timestamp columns drifted out of line. Both families now substitute to the system monospace font when they are missing
Online services missing from Microsoft Store builds: MSIX packaging compiled out account sign-in, cloud sync and the cloud console entirely, so the Store build shipped without them. It now matches the direct download
Version archive
Previous releases
Choose a platform to review older builds and their release notes.
X/YMODEM file transfer: Send and receive files over an established serial, TCP or RFC 2217 connection with XMODEM, XMODEM-CRC, XMODEM-1K, YMODEM and YMODEM-G. Protocol traffic is isolated from ordinary terminal data, while a non-modal progress bar reports the file, progress, rate, ETA and retry count. TCP servers can pin a selected client, so remote firmware updates no longer require another terminal application
Single-connection RFC 2217 remote serial: RFC 2217 is now available directly in the port list for connecting to Moxa NPort, ser2net or another Serial Port Utility and setting remote baud rate, data bits, parity, stop bits, flow control and DTR/RTS in the same connection. The device server's existing configuration is preserved by default; parameters are sent only after the user explicitly takes control. Peers without RFC 2217 support warn and degrade safely
RFC 2217 bridge client mode: A bridge can dial a device server and synchronize its serial parameters from the link's other endpoint. Parameters are sent once negotiation succeeds and only changes are sent afterward; remote replies are recorded in the link messages but never applied back to the local serial port
Remote control-line status: RFC 2217 connections show the remote CTS, DSR, RI and DCD states, making hardware handshaking behind a device server directly observable
Fixes
RFC 2217 negotiation: The access server now answers a client's WILL with DO. It previously worked only with clients that also send DO, such as pyserial; a client that opens with WILL alone waited until it timed out and fell back to a plain socket
RFC 2217 negotiation no longer ping-pongs: Answers are tracked per option and sent only when they change something. Two Serial Port Utility bridges pointed at each other used to exchange WILL/DO forever
RFC 2217 compatibility: COM-PORT-OPTION refusals are now interpreted by role, fixing parameter delivery after negotiation with ser2net
Terminal passthrough on network connections: Fixed keyboard passthrough checking only the local serial handle, which made typing ineffective on TCP, UDP and RFC 2217 connections
Bridge peer events: A peer arriving on the device end no longer opens a negotiation with the network end
Download
| Platform | File |
| --- | --- |
| Windows 10 1809 or later, 64-bit | serial_port_utility_*.exe |
| macOS 12 or later, Apple Silicon | SerialPortUtility-*.dmg |
| Linux x86_64 (Ubuntu 22.04 or later) | serial-port-utility-*-linux-x86_64.tar.gz |
First-launch notes for each platform — Gatekeeper on macOS, the runtime libraries on Linux —
are in the README.
Transparent network-to-serial bridge: Link two connections and this machine becomes a serial device server — a program on the network reads and writes the local serial port directly, while both sides of the traffic stay visible on screen. A fast network feeding a slow port is throttled automatically, and whatever still has to be dropped is counted in red until you clear it. Several clients can be handled exclusively, by broadcast, or by taking turns; an address allowlist keeps strangers out, both directions can be recorded into one time-ordered capture file, and a two-minute traffic curve shows how the link is doing
RFC 2217 and Modbus gateway: Two new protocol modes for the bridge. RFC 2217 lets a remote machine set the baud rate, data format, flow control and control lines as if the port were local; the Modbus gateway converts frames between TCP and RTU, and when several masters share one RS-485 bus it serves them one at a time so every answer goes back to whoever asked
Selectable wire encodings: Each connection can use its own receive and send encoding (UTF-8, GBK, GB18030, Big5, Shift-JIS, Latin-1, System and more), so a device that speaks GBK no longer arrives as mojibake. Both the settings dialog and the quick-settings panel can change it, and the choice is stored with your settings, the .spu project file and the cloud snapshot; terminal typing and cloud remote send follow the owning connection's encoding too
Drag the split between connections: The boundary between connections can be dragged, so a busy connection can be given more room; the proportions you drag survive toggling the quick-settings panel
Custom CRC: The toolbox accepts custom CRC parameters, and the result can be fed straight into the send frame
Configurable Enter sequence: The bytes sent by Enter in terminal mode are now yours to choose
Online help center: The Help menu links straight to the online help center
Restore defaults: Added a guarded workflow for restoring default settings
Microsoft Store: MSIX packaging is in, so the app can be installed from the Microsoft Store
UI Improvements
Bridge editor: The six setting groups became three tabs, so the dialog fits a 13" laptop and OK and Cancel are never pushed off screen
Toolbox: Streamlined the toolbox UI and its window entry
Quick settings panel: Adding a connection no longer folds the panel away — keeping it open is your call
Modbus request builder: Removed the empty space at the bottom of the window; it opens at the height the content actually needs
Fixes & Enhancements
Mac App Store launch crash: The 6.6 build installed from the Mac App Store quit immediately on launch. Fixed, and the release pipeline now has a check that stops the same kind of defect from shipping again
No way back from TCP/UDP mode: After a connection switched to TCP or UDP, the settings dialog no longer showed the port and mode pickers, leaving no route back to serial mode
Monospace font on macOS: The default font does not exist on macOS, so it was replaced with a proportional face and the hex and timestamp columns stopped lining up. The font is now picked from what is actually installed
GB18030 four-byte characters: Fixed the decoding of emoji and similar characters, along with a crash on malformed bytes seen with some Qt builds
Unencodable characters are no longer swapped silently: A character the current encoding cannot represent is no longer sent as ? — the frame is held back and the status bar names the character
Smaller install: Dropped an unused database component, cutting roughly 4 MB from the package
Connection activity lamps: The connection group gains interactive TX/RX and control-line indicator lamps that blink to reflect live traffic and control-line state; the classic control-line UI is retired in favour of the lamps
Serial control lines: Added serial control line handling with a new Control Lines tab in the settings dialog
Modbus request builder: Added a Modbus request builder to the Tools menu
Per-field quick settings: Quick settings are now available per field across all groups, with the picker moved into the settings dialog
Line Ending combo: Replaced the send auto-feed checkbox with a Line Ending combo
Restore last connection: Automatically restores the connection that was open at last exit
Terminal caret & honest Tx metrics: The terminal mode shows a caret and reports real Tx counts
UI Improvements
TCP/UDP mode UI: Silenced the server-error popup and polished the TCP/UDP mode UI
Toolbar: Reworked the log-recording and quick-settings toolbar controls
UI alignment & polish: Unified the receive Auto FL and send Loop rows, aligned the Line Ending and Append Checksum combos, and more
Fixes & Enhancements
Settings defaults: Seeded and guarded the remaining Log/Display defaults in the settings panel; never store empty Rx/Tx time formats
.spu session loading: Parse .spu bool flags with toBool so saved true values survive reload
Internationalization: Label the format radios Text, not ASCII, in Chinese
Log directory: Create the log directory before opening the log file
Cloud Console: When enabled, a signed-in browser on alithon.com can view this device's ports live; separate "Allow Remote Send" and remote port-control consents govern cloud writes and remote open/close/reconfigure. Data uploads only while someone is watching and counts toward the monthly traffic quota
Account system: Sign in / sign out from the Account submenu under File, with a "keep me signed in" persistent session; the status bar shows the account state on the far right and menu entries follow the auth state
Device binding & account sync: Bind this machine to your account after signing in and keep account data in sync
Auto-reconnect: Automatically attempts to reconnect after an unexpected disconnect
Send-frame checksums: Outgoing frames can carry a checksum, with a quick-settings entry
Receive find/filter bar: The receive text area gains a find/filter bar for locating content in large outputs
UI Improvements
Toolbar rework: Regrouped by function with connection controls first; toggle buttons now reflect their pressed state; shortcuts completed; the port combo stays in sync across windows and defaults to a real available port; the toolbar is locked in place
Menu rework: Added a Connection menu, moved Account under File, consolidated licensing entries; completed Simplified Chinese translations with unified mnemonics
Registration dialog: Redesigned the registration/purchase prompt; the defunct Weidian QR code is replaced with a direct purchase link
UDP communication modes: Added UDP Server and UDP Client configuration pages with complete send/receive support, plus coverage for the connection controller, settings panel, and serial port widget
Fixes & Enhancements
Received text sanitization: Text receive mode now filters ANSI escape sequences so terminal control codes do not pollute displayed content
Consolidated connection settings: Removed the duplicate inline connection editor; SettingsPanel is now the single configuration source for serial, TCP, and UDP connections
Serial placeholder detection: The no-port placeholder is now classified as a serial entry, preventing connection-mode misclassification
Status-bar log link: The status-bar log path is now an in-app link — clicking it flushes and then opens the current log file. The filename is length/NULL-validated and HTML-escaped, the tooltip shows the absolute path, a placeholder is shown when logging is off, and flush/open failures now raise a warning
Safer serial text rendering: The receive pane, log output, and text-decoding path now sanitize non-printable control characters while preserving line breaks, carriage returns, and tabs. Other control characters are replaced with placeholders to keep the UI and logs readable
Fixes & Enhancements
Stability: Fixed SQLiteAdapter connection reuse and cleanup issues by using unique connection names, parameterized SQL, UPSERT handling, and a safer close sequence, improving reliability for local configuration and license data writes
Network resource handling: Fixed parent ownership and cleanup logic for UDP/TCP-related objects to reduce leak risks during connection switching and teardown