USB drivers for CSI products can now be installed from within the Device Configuration Utility.
Added datalogger configuration backup and restore.
Fixed an issue with the ModBusMaster where ResultCode was not incrementing correctly when not receiving a response from a ModBus slave.
Corrected an issue with overflowing integers that caused scan intervals greater than 70 minutes to act erratically and not run on their set interval.
Fixed FTPClient() to timeout correctly if the attempt to make a non-passive data connection that is used for the data transfer fails. The symptom is that the FTPClient() instruction will hang forever. Note, this is not the command connection initially opened to the server but rather after this succeeds the server fails to open the data connection with the datalogger.
Added a fix to disable the Ethernet interrupt long enough to guarantee a busy logger has time available to recover after a sustained burst of Ethernet activity.
Fixed an issue in the CR800 with an uninitialized pointer when doing SendData with the public table. In the CR800, memory lined up in such a way that the pointer wrote to hardware which then immediately triggered a watchdog. On a CR3000 and CR1000, this same issue would sometimes cause erroneous "Variable Out of Bounds" messages.
Fixed email authorization when using CRAM MD5.
Fix ftpclient when server responds with a multi-line response.