Skip to content

v5.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Sep 10:02
· 59 commits to dev since this release

Breaking Changes

  • The previously introduced TCP client constructor overload was called Connect although it expected a totally externally managed TCP client which should already be connected. This constructor is now named Initialize and its signature has been adapted to better fit its purpose. The passed TCP client (or IModbusRtuSerialPort in case of the RTU client) is now not modified at all, i.e. configured timeouts or other things are not applied to these externally managed instances (#78).

Features

  • Modbus TCP and RTU clients implement IDisposable so you can do the following now: using var client = new ModbusTcpClient(...) (#67)
  • Modbus server base class has now a virtual Stop method so the actual server can be stopped using a base class reference (#79).

Bugs Fixed

  • The Modbus server ignored the unit identifier and responded to all requests (#79).
  • Modbus server side read timeout exception handling is more defined now:
    • The TCP server closes the connection.
    • The Modbus RTU server ignores the exception as there is only a single connection and if that one is closed, there would be no point in keeping the RTU server running.
  • Modbus server did not properly handle asynchronous cancellation (#79).

See API changes on Fuget.org

Thanks @schotime and @LukasKarel for your PRs!