Releases: Apollo3zehn/FluentModbus
Releases · Apollo3zehn/FluentModbus
3.0.1-preview.1
Features
- The server implementations now provide notifications when holding registers or coil data changes.
Breaking Changes
- Originally, the server relied on natively allocated buffers. With .NET Core's Span support this is not needed anymore. Thus, the four
Get...Ptr
properties have been removed. - Additionally, the buffers are not cleared anymore when the server is stopped or started. This allows preparing the server data before it gets started. The method to clear the buffers manually is still present.
- See this list for API changes: https://www.fuget.org/packages/FluentModbus/3.0.1/lib/netstandard2.1/diff/2.4.2/
v2.4.2
Bugs Fixed
- On .NET Framework a client threw an exception after disconnect and subsequent
IsConnected
check.
v2.4.1
Bugs Fixed
- In some circumstances, the Modbus TCP server was unable to disconnect timed-out clients.
v2.4.0
Features
- The Modbus TCP Server got a new constructor which allows providing your own
ITcpClientProvider
.
v2.3.0
Features
- The Modbus TCP Server got a new constructor which allows providing your own
TcpClient
. The other constructors start aTcpListener
which accepts multiple clients with default configuration. - The access modifier of
ProcessRequests()
has been made accessible for subclassing (private protected
->protected
).
Changes
- Modified the signature of many methods to accept
integers
instead ofbyte
orushort
to avoid frequent casting fromint
to the target type. This is not considered to be a breaking change sincebyte
andushort
can be casted toint
implicitly.
Bugs Fixed
- The server allowed one more client to connect than defined in
server.MaxConnections
.
v2.2.1
Bugs Fixed
SetBigEndian
,GetBigEndian
,SetLittleEndian
andGetBigEndian
did not work properlytcpServer.MaxConnections
had a wrong limit check and incorrect concurrent behavior
v2.2.0
Server Features
- new little-endian / big-endian write and read methods:
void registers.SetBigEndian<T>(...);
void registers.SetLittleEndian<T>(...);
Span<short> registers.GetBigEndian<T>(...);
Span<short> registers.GetLittleEndian<T>(...);
- bin manipulation methods (for coils and discrete inputs):
void coils.Set(...);
void coils.Toggle(...);
bool coils.Get(...);
-
new
MaxConnections
property to limit the number of active clients -
new
FrameValidator
property to accept or deny a Modbus client request (see the sample for more details)
v2.1.0
Features
- Added connection method overload to specify if data layout is little-endian or big-endian.
- Added implementation for function code 23 (ReadWriteMultipleRegisters).
v2.0.0
Features
- Added Modbus RTU client and server.
- Added Modbus RTU sample.
- Improved NuGet package metadata.
- The NuGet package now includes XML comments for IntelliSense.
Bugs Fixed
- Fixed wrong response message from server (which was the case for some write commands).
v2.0.0-preview.3
Features
- The NuGet package now includes XML comments for IntelliSense.