cifX Driver Version History:

V1.2.0.0
-----------------
 - Extended to provide bus-driver functionality for the cifXNDIS Device Driver
 - Added initial version of the cifXNDIS Device Driver

V1.1.1.0
-----------------
 - netX API (nxDrvDownload) may insert configuration database multiple times in 
   registry if configuration in run feature of SYCON.NET is used
 - Added command to set system time if a RTC is available on the hardware
 - Added support for MRAM via CIFX-API functions
 - Updated Bootloader to V1.4.6.0

V1.1.0.0
-----------------
 - Thread safety of netX API improved
 - Unexpected packet callback (pfnRecvPktCallback on xSysdeviceDownload, xChannelDownload) does not deliver 
   the correct packets not belonging to downloads
 - Unaligned access to DPM may deliver wrong data, depending on the used PCI / PCIe Bridge
 - Handling xSysdeviceInfo, xChannelInfo, xChannelCommonState, xChannelExtendedState outside of
   KMDF Framework to achieve better performance under Windows Vista / 7
 - Notification Callback functions (xChannelRegisterNotification) are not performed with higher thread priority.
    * THREAD_PRIORITY_TIME_CRITICAL for Sync callback
    * THREAD_PRIORITY_HIGHEST for all others.

V1.0.5.0
-----------------
 - netX API (nxDrvDownload) does not cleanup channel directories on multi-channel devices (e.g. CIFX50-2DP),
   when performing a firmware download. This may result in an inconsistent configuration after firmware
   update, and SYCON.NET may not be able to update the configuration persistently on channel != 0.

V1.0.4.0
-----------------
 - IOCTL's for cyclic data handled outside of KMDF framework to achieve better performance
 - Return values for xSysdevicePut/GetPacket() and xChannelPut/GetPacket() changed from CIFX_IOCONTROL_FAILED to CIFX_INVALID_POINTER if pointer checking fails
 - Updated to latest DIFX (Driver Installer Framework) to allow easier upgrading of drivers
 - Updated Bootloader to V1.3.6.0

V1.0.3.0
-----------------
 - netJACK 100 Support added
 - xChannelRegisterNotification does not pass expected notification data on callback
 - Updated Bootloader to V1.3.4.0

V1.0.2.0
-----------------
 - cifXHandleWarmstartParameter(), checking receive packet state fixed
 - Updated internal security permissions
 - Updated Bootloader to V1.3.2.0

V1.0.1.0
-----------------
Bugfix:
 - xSysdeviceFindFirst will not call ReceivePacket function on native 32Bit and 64 Bit. 
   32Bit application on 64Bit OS works ok.
 - NXSB-PCA test functions added (only 32Bit native and 64 Bit native)
 - xDriverMemoryPointer always needed pulChannelSize / pulChannelStartOffset even 
   if CIFX_NO_CHANNEL was requested
 - Downloading loadable modules (.NXO) may fail on larger files due to the last 
   confirmation packet taking longer than expected

V1.0.0.0
-----------------
 - Setup creates InstallDirectory Entry at wrong location. This results
   that cifXTest / cifXSetup cannot be opened from Control Panel, before a cifX
   card was inserted
 - xChannelSyncState Parameters updated (added Timeout)
 - Loadable modules not working correctly
 - xChannelPLCMemoryPointer returns invalid pointer on success
 - Interrupts for NXPCA-PCI not working
 - Timings for NXPCA-PCI boards were not written. DIP switch on card did only
   work in 8 Bit Mode.
 - Wrong timings for NXPCA-PCI Boards in .INF File. If an older version was
   installed it might be necessary to update the timings in the registry
 - netPLC was not detected
 - Driver may cause Blue Screen if Invalid Pointer is passed to xDriverRestartDevice
 - USER_GetWarmstartParameters(), using short file name to open file fixed

Based on Toolkit V1.0.0.0


V0.10.1.0
-----------------
 - Interrupt may not be re-enabled when restarting device via cifXSetup

V0.10.0.0
-----------------
 - Notification callbacks added
 - Sync added
 - Upload does not work from 32 Bit applications on 64Bit systems
 - Alias not working correctly

V0.9.10.0
---------
 - Shared interrupts may result in Blue screen if Interrupt is disabled for a
   PCI device.
 - Unmapping an invalid pointer via xChannelPLCMemoryPointer / xDriverMemoryPointer results
   in a Blue Screen with BAD_POOL_CALLER.
 - xDriverGetInformation did not work from 32Bit Applications running on x64 Windows
 - xDriverGetErrorDescription now working correctly
 - Added Cyclic Timer for COS Flag handling
 - xChannelFindFirst-/FindNextFile and xSysdeviceFindFirst-/FindNextFile were not working
   on 64Bit platforms using a 32 Bit application
 - xChannelPLCMemoryPtr / xDriverMemoryPointer did not work for 32-Bit Applications
   on 64Bit platforms

cifXSetup:
 - Support for cards with Slot numbers updated
 - UAC conformance added (Tools requires admin privileges)
 - Warmstart parameters for ECS updated

cifXTest:
 - IO Test dialog modified. It now skips drawing IO data for low cycle times, if
   windows is not able to update the windows fast enough.

V0.9.9.0
--------
 - Update to KMDF
 - x64 Support

B 0.952
--------------------------
04.02.2010
 - cifX Toolkit V0.952 included
 - NX50-RTE files removed from cifX.inf
 - NX50-RTE removed from driver installation

B 0.951
--------------------------
07.12.2009
 - cifX Toolkit V0.951 included
 - cifX Setup and Test program now checking the file names to max 8 characters 

B 0.950
--------------------------
06.11.2009
 - Support of cifX cards with slot number switch included
 - I/O data transfer via DMA implemented
 - cifX Toolkit V0.950 included

B 0.946
--------------------------
01.10.2009
 - cifX Toolkit V0.946 included

B 0.945
--------------------------
01.09.2009
 - cifX Toolkit V0.945 included

T 0.945
--------------------------
15.07.2009
 - netPLC HW Rev.2 support included

B 0.944
--------------------------
07.07.2009
 - cifX Toolkit V0.944 included

B 0.942
--------------------------
29.04.2009
 - cifX Toolkit V0.942 included
 - cifX32DLL, callbacks of channel and sysdevice functions included and therefore
   unnecessary functions implementation in the cifX32DLL removed 

B 0.941
--------------------------
03.02.2008
 - Based on cifX Toolkit B0.941
 
B 0.940
--------------------------
12.12.2008
 - Based on cifX Toolkit B0.940
 - Included PRELIMINIARY support for "Loadable Modules"

V 0.936
--------------------------
10.12.2008
 - cifX Toolkit updated to V0.931  
 - nxDRV function, in cifX32DLL, now changes the file attribute (READONLY to READ/WRITE)
   if necessary before deleting a file
 - Support for HilFileHeaderV3 included
 - Trace information during RestartDevice() included
 - Changes of the DPM system block layout added in cifXUser.h (CPUload/TimeSinceStart)
 - Added support of HilFileHeaderV3 in cifXSetup program 
 - Added changes of the DPM layout into cifXTest program
 - cifX INF file information for NXPCA-PCI boards changed
 - Answer to warmstart commands now excepted with size != 0 preventing error 0x800A0012
 

BETA 0.935
--------------------------
13.11.2008 
 - ClassGUID in cifX.INF file updated

20.06.2008
 - Function xDriverRestartDevice() inserted into the driver API


BETA 0.934
--------------------------
16.06.2008
 - Fixed driver blue screen during driver shutdown if an
   application still accesse the hardware


BETA 0.933
--------------------------
15.05.2008
 - nxDRV Functions added
 - Handling of shutdown notifications added 
 - Function xDriverRestartDevice() included
 - Toolkit V0.930 used


BETA 0.932
--------------------------
29.04.2008
 - DOWNLOAD_MODE_LICENSECODE added

02.04.2008

 - Toolkit V0.923 included


BETA 0.931
--------------------------

04.04.2008
 - USER_Trace calling from IRQL other than PASSIVE_LEVEL prevented

20.03.2008
 - netX API configuration function and restart device included


BETA 0.930
--------------------------

14.03.2008
 - NX-PCA-PCI hardware included

10.10.2007
 - cifX driver version now handled independently from the cifX Toolkit


=================================================
NOTE: Earlier driver version history was combined
with the version of the cifX toolkit and can be found under
version_history.txt
