************************************************************************
* Release notes for CPX-AP-A-EP
************************************************************************

* 1.5.43
************************************************************************

General
* fix shutdown during undervoltage detection under special cases
* remove support of ENGP
* fix noisy overvoltage detection which prevents powerfail
AP-System
* change byte order of IP related parameter
* throw diagnosis if file transfer or APDD parsing fails
* fix parameter sync access check all possible return values
* fix update of CPX gateways
* add retries to parameter access in case of temporary service errors
* add non-volatile diagnosis trace
* fix firmware update (AP ASIC part) check correct Startup Controller Register to check wheater program Recovery or Application first
* filter wirefracture diagnosis
* reduce external timeout if AP system fails for parameter or file service
* allow reset in large systems of all devices after firmware update
* device lost diagnosis fixed under certain conditions
* fix device lost on time changes (via time sync)
* fix retries on internal file transfer (fix invalid APDD diagnosis)
* add more details on transmission error counter
* fix parameter read on input process data can cause device lost detection
* fix missing temperature compensation values during temperature read
* Stored Parameter does not include Condition Counter Actual Value anymore
Webserver
* fix info warning is not displayed with warning icon
* add maintenance icon
* show empty AP-A module for unknown modules in AP-A rack
* decorate process data with strike-through on invalid data
* show CBUS diagnosis
* fix freeze of ap-cable-diag if one or more devices are disconnected
* do not display invalid process data in configuration state
* add LLDP overview
* fix loading diagnosis trace on slow connection
* fix error 512 on successful store of Stored Parameter NV
* allow write of string parameter
* fix broken websites (http status 500 - with haserl error)
EtherNet/IP
* Parameter object
** allow write of boolean only with value 0 and 1
** Get_Enum_String return empty string if value is not found
** do not send non-printable chars in help string
* increment CIP sequence IO counter in class 1 input connections
* increase CIP sequence counter in input data frames
* add LLDP support (incl. objects 0x109 and 0x10A)
* add SNMP object (0x52)
* add support for SNMPv3 with user management (via internal webserver)
* latest diagnosis always points to latest diagnosis (fix if two modules raise/ one resolve diagnosis)
* fix L5X export does not contain multiple underscores
* fix possible deadlock in input data handling (T->O)
* fix memory leak in network path translation
Modbus
* add additional error code in the MSB during ISDU error access
* add IO-Link eventcodes starting at HReg=34200 IReg=6000

* 1.4.5
************************************************************************

General
* Initial CPX-AP-A-EP release
* Debounce overvoltage powerfail message
* Stored Parameter work if QuickConnect is active
* Fix Reset to Factory Defaults via rotary switches with Stored Parameter active
* Fix storing parameters for small terminal (usually two modules)
* Fix bring up device scan if gateway is not reachable
AP-System
* Fixed sporadic incorrect cable lengths calculation (value clearly too high).
* Avoid multiple "Device Lost" diagnostics for same device
* Improved handling of communication errors
Webserver
* Assembly view - assembly selector correct formating
* Assembly view now support Configuration Assembly (140)
* Modbus-Register - add export to CSV and copy function
* Add link to Festo Support Portal via Productkey
* Fix display images based on topology for newer AP-I-4DI firmwares (or other single port devices)
* Fix PL LED blinking during overvoltage
* L5X export do not crash on empty hostname
* L5X export throw error on forced empty name
* Username can be changed again
* Use POST instead of GET in password and username dialog (do not store new settings in browser history)
* Fix error if module has no parameter
* Add upload progress bar during firmware update
EtherNet/IP
* Add support to upload EDS file via file object (used by RSLinx)
* Add IO-Link Global ISDU Class (0x68) which mirror CIP bridge IO-Link access
* Remove Parameter Group (0x10) Class Attribute Native Language - fix CT18
* Add Get-Member and Get-Attribute-All service to Parameter Class (0xF) - fix CT18
* Add attributes of assembly 130 to status and diagnosis class (0x65)
* Fall back to Identity Class Revision 1 (due to incompatibility with RS Logix)
* Identity Reset Type 1 does not cause device to use DHCP and static IP at the same time
* Fix assemblies filled with zero if assembly is larger than the actual system
* Fix turn off NS LED on link down or no DHCP server reachable
* Fix time synchronization for non-zero subdomains
* Fix opening EtherNet/IP ports if DHCP is active after power on (sometimes this failed)
* Fix buffer overflow if real input size is bigger than the static assembly
* Identity Class add hardware revision, vendor name and url
* IO-Link Profile use correct command code for factory default reset
* IO-Link fix crash on multiple read/write IDSU to different ports at the same time
* Pass CT18
Modbus/TCP
* Optimize timeout calculation

* 1.3.1
************************************************************************
General:
* fix rx ethernet hang up
* fix DHCP does not accept unreachable gateway
* fix start of webserver (bug introduced with 1.2.2)
* fix input glitches caused by internal locking
* support for stored parameters (setup via webserver only)
* FFWP signed firmware update
* Inform diagnosis does not affect LED anymore (only forwarded to trace)
* diagnosis origin checked more specific (fix IO-Link wrong diagnosis)
* fix system start diagnosis placed correctly in trace
* fix crash on overflow in trace ackknowledge mode
* fix parameter queue overflow (start up parameter on more than 6 4IOL devices)
* do not add diagnosis multiple times
* add function to clear diag trace
* fix resolve of diagnosis which are still active
* fix resolve diagnosis of IO-Link module which occur before or during startup
Webserver
* display process data
* display supply voltages
* display cable length
* fix communication timeout during refresh or load of parameter pages
* add Modbus TCP Register View (Holding and Input Register)
* sync between image and table view
* show number of slot on hover over image
EtherNet/IP
* fix Ethernet Class interface status for autoneg attemp if there is no active link
* fix setting outputs via unconnected requests to Assembly Class (0x04)
* fix CT17 timeout issue with timesync (speed up internal request to other daemon)
* firmware update only allowed if no connection is active or at least all are in IDLE state
* fix module diagnosis assembly which has an offset of one module
* add initial support for large configuration assemblies (>400 bytes)
* add configuration assembly object (0x8C)
* fix global status with module status assembly bit 0 (configuration assembly write in progess - bit)
* add support for module specific configuration (selectable via webserver)
* fix access to parameter class (0xF)
* new limit for class 3 messages is 3994 bytes of data
* reduce 512 bytes DINT fixed assemblies to 488 bytes for inputs and 496 bytes for outputs to fit limits of Rockwell enviroment
* System Parameter Class (0x67) add Get-/Set-Attribute-All service
* export L5X supported with large configurations, fixed assemblies
* export L5X send system parameter even if no configuration assembly is selected
* export L5X support systems with a lot of channels
* send error response for an invalid CIP backplane request path (OMRON, extended link address with a string as port)
* don't write configuration assembly twice if status assembly is activated on Rockwell
* fix backplane identity (class 0x01) answer for catalog text (attribute 21)
* fix ISDU access via CIP IO-Link port for second or following IO-Link master device
* add backplane assemblies for 80 modules (was 40 before)
* fix race condition if using application triggered and cyclic input data at the same time
Modbus/TCP
* clear ISDU data area with a read command
* add command to use ISDU mailbox without byte swap (read = 100, write = 101)
* fix access ISDU area setting last byte to zero on odd data length
* add system parameter to register 14002-14004 (webserver/ snmp enable, webserver write access)
* fix function code 2 (Read Input Discrete) for start offset not divisible by 8 (fix bit was always zero)

* 1.2.2
************************************************************************
General
* fix module diagnosis assemblies and registers (shifted by one position 
  to the end, last module not reachable - bug introduced with v1.2.0)

* 1.2.1
************************************************************************
EtherNet/IP
* fix input glitches if using a second connection (listen only, status
  assembly, ...)

* 1.2.0
************************************************************************

General
* add support for IO-Link Profile (TMG Tool Support)
* fix reset to default also reset gateway address
* fix read topology file for large AP systems (>40 modules)
* fix resolve module lost diagnosis after unfreeze
Webserver
* add images
* add diagnosis
* add identify
EtherNet/IP
* add backplane support (port 1)
** identity class (x01)
** parameter class (x0F)
** module information class (x64)
** status and diagnosis class (x65)
* add support for CIP IOLink backplane (port 3)
** Identity
** ISDU Object (x10B)
** Master PHY (x10C)
** Device (x10D)
* add support for slot assemblies (100 inputs, 101 outputs, 102 configuration, 103 status)
* fix L5X export for input or output only AP systems
* fix L5X export don't crash master if i/o data length > 512 bytes
* change display format of L5X diagnosis state and code to hex
* add service to connection manager to remove all connections at once (unfreeze AP system)
* update ACD and IP configuration to met CT16 requirements
Modbus/TCP
* add IO-Link ISDU access via holding register
* add diagnosis to input register at offset 5000

* 1.0.1
************************************************************************
Product launch
