Changelog
Major changes in every release. For the full, line-by-line
detail - including smaller fixes and polish - see the
GitHub repository or ModbusLens's own Help > About > Changelog tab.
v2.3.0 Upcoming
New
- Modbus Diagnostic Functions dialog - exception status, diagnostics, comm event log, report server ID, file records, mask write, FIFO queue, and device identification
- Save/Load Session - connection settings, Tags, Address Table range, and write bounds together in one file
- U64/S64/F64 numeric formats, alongside the existing U32/S32/F32
- Fast LAN Mode - instant unreachable-device detection instead of retrying every tag
- Tags table: drag-to-reorder columns, a show/hide column picker, per-tag enable/disable
- Raw Data gained an Exception column and an integrated Frame Viewer decoding TX/RX frames side by side
- Diagnostics > Decode Registers - a standalone hex decoder (U16 through F64, HEX, binary, ASCII, BCD, individual bits, all four byte/word orderings), no connection needed
- A shared read cache and coalesced adjacent reads cut duplicate traffic on the wire
- Script engine gained ASSERT and an Assertion Results panel - checks log PASS/FAIL/ERROR without stopping the script on a failure
- In-app documentation gained a "Full search" option across every topic at once
- Network Discovery gained a "Scan Unit IDs (1-247)" option - sweeps every Unit ID on each confirmed Modbus host to report which ones respond
- New "Find Devices" dialog - TCP network scan and serial parameter sweep in one shared results table, with a single Apply to Connection Settings for either
Fixed
- Tag Monitoring's polling (read-mode and write-mode) moved off the GUI thread - a single unreachable device no longer freezes the whole window
- Write-mode tags with a signed format showed the raw unsigned value instead of the signed one
- Tags table selection was invisible, with a related write-safety gap around deselected rows
- Script tab's example/help text is now real, scrollable content instead of clipped placeholder text
- Run Script's live-system safety warning dialog now follows the app's theme
- Connection Settings: selecting a Recent Connections entry - including the most recent one - now actually applies it
v2.2.0 Current
New
- Modbus Diagnostic Functions dialog - the function codes beyond basic read/write (exception status, diagnostics, comm event log, report server ID, file records, mask write, FIFO queue, device identification)
- Save/Load Session - connection settings, Tags, Address Table range, and write bounds together in one file
- U64/S64/F64 numeric formats, alongside the existing U32/S32/F32
- Fast LAN Mode - instant unreachable-device detection instead of retrying every tag
- Raw Data gained an Exception column and an integrated Frame Viewer decoding TX/RX frames side by side
- Tags table: drag-to-reorder columns, a show/hide column picker, per-tag enable/disable
- A shared read cache and coalesced adjacent reads cut duplicate traffic on the wire
Fixed
- Tag Monitoring's polling moved off the GUI thread - a single unreachable device no longer freezes the whole window
- Write-mode tags with a signed format showed the raw unsigned value instead of the signed one
- Tags table selection was invisible, with a related write-safety gap around deselected rows
v2.1.0
New
- Light/Dark theme, with a "follow system" option
- Scanner tab - auto-discover which addresses actually respond on a connected device
- Serial Discovery - sweep baud rate/parity/stop bits/Unit ID to find an undocumented serial device's settings
- Auto-reconnect with backoff, and monitoring resumes automatically once the connection comes back
- Modbus ASCII framing support for serial connections, alongside RTU
- Raw Data became its own dedicated tab - full wire-level diagnostics for every transaction
Fixed
- Scanner/Serial Discovery could race with auto-reconnect or a manual disconnect, and closing the app mid-scan could crash instead of shutting down cleanly
- Server tab's Unit ID field did nothing - the simulator answered on any unit ID
- Monitoring's auto-stop-after-repeated-failures didn't actually stop
v2.0.0
- Modbus Serial (RTU) support, alongside TCP
- Scripting tab - a small test-sequence language (WRITE/READ/WAIT/LOG/LET) with a safety warning before running against a live device
- Multi-window support - connect to more than one device at once, each in its own window
- Built-in documentation (Help menu)
v1.1.0
- Server/slave mode - act as a Modbus TCP device so another master can poll ModbusLens
- Trend tab with live graphing
- Per-tag alarms (high/low limits) and CSV logging of live values
- ARP-based network discovery and Modbus device detection
v1.0.0
- Initial public release
- Modbus TCP client - connect, read, and write coils/registers from an address table
- Tag table for monitoring named addresses, with safety interlocks around live writes
- Standalone Windows executable