Changes to version 2.1.1
------------------------
- CS 104 slave: added functions IMasterConnection_getPeerAddress and IMasterConnection_close
- CS 101/CS 104 slave: set P/N=1 (negative) when sending COT=44 or COT=45
- improved compatibility with VxWorks
- CS 104 slave: fixed bug in counter interrogation command handling - free stack allocated memory
- fixed some include file problems


Changes to version 2.1.0
------------------------
- CS104 slave: added support for multiple redundancy groups
- added non-threaded moded for CS 104 slave
- separated thread and semaphore support for CS 104 slave
- CS101 unbalanced link layer (master): automatically send request UD 1 when ACD bit is set in received frame
- added CS101_ASDU_getElementEx function to avoid dynamic memory allocation
- added support for static ASDU object allocation
- fixed length check when parsing M_EP_TD_1
- CS101 unbalanced master: fixed state machine problem with multiple slaves (some responses don't change state and master keeps locked on the slave)
- optionally compile library without HAL to simply using together with libiec61850


Changes to version 2.0.2
------------------------
- CS104 slave: added new CS104_ConnectionEventHandler to track connection events
- CS104 master/slave: added callback handlers to log raw messages
- CS101 master/slave: added callback handlers to log raw messages


Changes to version 2.0.1
------------------------
- fixed problems to compile code with C++
- CS101: added functions to better control link layer addresses
- CS101 master: added function to modify default link layer parameters
- link layer: fixed problem in test function handling
- application layer: allow configuration of maximum size of ASDU
- CS104 master: added new function CS104_Master_sendProcessCommandEx
- CS104: fixed timeout T2 problem
- and other small fixes


Changes to version 2.0.0
------------------------
- added support for CS 101 balanced and unbalanced serial link layer
- added serial port abstraction layer and implementations for linux and windows
- seperated lib60870-C and lib60870.NET into separate projects. Removed all .NET code from the lib60870 main branch
- added TLS support for CS 104
- API redesign. Not compatible with old API.
- updated and extended user guide
- added doxygen based API reference documentation
- added more examples

Changes to version 0.9.5
------------------------
- lib60870.NET: add support for server allowing multiple clients using the application layer (ServerMode.CONNECTION_IS_REDUNDANCY_GROUP)
- lib60870-C: add support for server allowing multiple clients using the application layer (new mode where each client connection is a redundancy group)
- lib60870-C: limit the number of allowed client connection (T104Slave_setMaxOpenConnections)
- lib60870-C: only accept single active connection in ServerMode == SINGLE_REDUNDANCY_GROUP
- lib60870-C: enhanced big endian platform detection
- lib60870-C: CS104 slave/server: added support for ConnectionRequestHandler
- lib60870-C: Socket_getPeerAddress replaced by Socket_getPeerAddressStatic to avoid dynamic memory allocation
- lib60870.NET: server support for multiple clients with separate ASDU queues (added ServerMode property)
- lib60870.NET: server - added MaxOpenConnections property
- lib60870.NET: server - added ConnectionRequestHandler
- lib60870.NET: Added RawValue properties to SetpointCommandNormalized and MeasuredValueNormalized, additional constructors with short values
- lib60870.NET: ScaledValue adds proporty to get/set short value
- lib60870.NET: fixed tests project dependencies
- lib60870.NET: fixed bug in BitString32
- lib60870-C: fixed month bug in CP56Time2a conversion functions

Changes to version 0.9.4
------------------------
- added length check when adding information objects to ASDUs --> changed signature of ASDU_addInformationObject
- lib60870-C: added TARGET=UCLINUX-XPORT to compile for Lantronix XPORT PRO
- lib60870-C: added CauseOfTransmission_toString function
- lib60870.NET: fixed bug in parsing of MeasuredValueNormalizedWithoutQuality when SEQ = 1
- added all missing timeout handling for master and slave side
- lib60870.NET: added client side ConnectionStatistics
- lib60870.NET: client socket uses Poll instead of read timeout
- lib60870.NET: added TestCommand ASDU
- lib60870.NET: client - some refactoring - added ASDU queue for congestion handling
- lib60870.NET: fixed constructors for StepPosition information objects (added quality)
- lib60870.NET: Added missing GetEncodedSize in SinglePointWithCPxxx objects
- lib60870.NET: added constructors and set properties for CP24Time2a
- lib60870-C: implemented BufferFrame to enable ASDU and IO encoding to arbitrary memory buffers
- lib60870-C: slave - replaced ASDU queue by queue consisiting of buffers of encoded ASDUs
- lib60870.NET: fixed bug in encoding of sequence of information objects
- lib60870.NET: fixed bug in EventOfProtectionEquipment
- lib60870.NET: added public constructor for CP16Time2a
- lib60870.NET: added encoding tests (with maximum number of information objects in ASDU w/wo sequence of information objects)
- lib60870.NET: fixed bug in StatusAndStatusChangeDetection
- lib60870.NET: ASDU parser - added header length check


Changes to version 0.9.3
------------------------
- lib60870.NET: changed visibility of InformationObject.Encode method to internal
- lib60870.NET: added public Constructor Encoding functions for PackedOutputCircuitInfo, PackedStartEventsOfProtectionEquipment, EventOfProtectionEquipment
- lib60870.NET/lib60870-C: Added parsing support for sequence for information objects for all data messages in monitoring direction (despite the fact that this should not happen according to IEC 60870-5-101) 

Changes to version 0.9.2
------------------------
- lib60870-C: changed to select based read at client side
- lib60870.NET: extended STARTDT/STOPDT handling
- lib60870.NET: changed signature of ConnectionHandler
- lib60870-C: added functions to bind to local IP address and TCP port
- lib60870-C: default bind to address "0.0.0.0"
- lib60780-C: fixed StopDT bug
- lib60870-C: fixed C99 incompatibilities in cpXXtime2a.c
- lib60870-C: added support for M_EI_NA_1 message (end of initialization)
- lib60870-C: DoublePointWithCP56Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: SingleCommandWithCP56Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: SinglePointWithCP56Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: StepPositionWithCP56Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: DoublePointWithCP24Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: SinglePointWithCP24Time2a_getFromBuffer corrected parsing of time stamp
- lib60870-C: corrected parsing of double point information
- lib60870-C: corrected parsing of some data types when sent as sequence of information objects
- lib60870-C: client/master: extended STARTDT/STOPDT handling; changed connection handler signature to indicate STARTDT_CON/STOPDT_CON messages

