Repository navigation
v1.0.0
Date: 2026-07-05
Previous release: none
Summary
First release of the Modbus TCP device simulator for gateway integration and CI testing.
- Fixture-driven simulation —
modbus-simulator.fixture.v1JSON defines one or more devices (coils, discrete inputs, holding/input registers, FC43 identity, exception/fault rules). - Stateful runtime — writes persist in memory; optional
resetOnConnectionper device. - JSONL traces —
run --tracerecordsmodbus-simulator.trace.v1logs with deterministicseq, responses, andstateChanges. - CI assertions —
assert-traceevaluatesmodbus-simulator.expect.v1files (contains,notContains,count,ordered,exact). - CLI —
validate,run,assert-trace,version, and shellcompletion. - Schemas — canonical JSON Schemas in
schemas/(fixture-v1.json,trace-v1.json,expect-v1.json), embedded in the binary for offline validation. - Examples — ten ready-to-run fixtures in
examples/(one per supported FC plus an all-in-one fixture), each covered by TCP integration tests. - License — MIT (LICENSE).
Install
Download the binary for your platform from GitHub Releases, or:
go install github.com/otfabric/modbus-simulator@v1.0.0Requires Go 1.25+ when building from source.
Pre-built binaries are published for linux/amd64, linux/arm64, linux/arm/v7, darwin/amd64, darwin/arm64, windows/amd64, and windows/arm64.
Breaking changes
None (initial release).
Known limitations (v1)
- TCP only; RTU/serial server and TCP+TLS listen are deferred.
timeoutandconnectionClosefault rules are recorded in traces but approximated on the wire (go-modbus handler constraints).resetViaControlandreloadFixturestate modes are deferred.