### IDTECH SDK CHANGE LOG ## 3.2.4.400 #4/29/24 SDK-1722 Update NEO1 FW Update from Text file SDK-1721 Catch unexpected USB data buffer overflow condition SDK-1715 Fix WorldPay Tip Function SDK-1714 Recognize VP3350 as compound HID/KB device SDK-1698 Fix MSII and Augusta Firmware Update Routines SDK-1703 Fix NGA Transaction Data Callback SDK-1702 uDemo App ignoring logging for devices with -0 in name SDK-1699 Update VC MFG Tool with SDK that supresses missing data errors SDK-1699 Supress Missing Data error on ViVOConfig Remove Data ## 3.2.4.399 #4/17/24 SDK-1610 Fix infinite loop on 0x60 response that not is emv response SDK-1661 Add SyslogRead to SDK SDK-1689 Check for null data condition before evaluating for error SDK-1639 Add Retrieve Syslog device_SyslogList 86-61 SDK-1585 Fix Augusta QCKB RKI Failure SDK-1634 Add Exponent Entry Field for Transactions in uDemo SDK-1546 uDemo CAPK Form Sizable Windows Conversion SDK-1632 Add Transaction Exponent Checking against 5F36 SDK-1628 Add Stream Logging function to uDemo SDK-1588 Remove Gen4 RKI from L100-L80 SDK-1619 Remove SDK look-up table for read-only MSR settings SDK-1617 Enable DTR/RTS flags on RS-232 Connection SDK-1616 Setting MSR values needs to attempt multiple scenarios ## 3.2.4.398 #3/20/24 SDK-1605 Make MAUI Command/Read queues static SDK-1603 Strip padding from PAN label in stored transactions SDK-1604 Replace FFF2 with 9F1E for WorldNet Transactions SDK-1602 Clear Retrieve Transactions log before display SDK-1595 Fix WorldNet error reporting on failed return SDK-1567 Create WorldNet Test Tool Utility SDK-1565 WorldNet Integration Updates to SDK SDK-1534 Fix Augusta VC Read Failure SDK-1533 Data In Reporting Fix for Cobmined Packets SDK-1529 Update multi-response packet to recognize 0x23 SDK-1519 Update Manifest Package ADF_START on ADF assets SDK-1518 Add Get/Set Encryption to Command Trees SDK-1512 Harden UpdateIDT Stop All ADF Apps function SDK-1511 Correctly process pk/zip input files SDK-1510 Fix ViVOConfig CAPK Modulus Capture SDK-1499 Increase command timeout for 10s to 30s for listing directory SDK-1498 Fix Delete Directory cancel on empty directory name SDK-1495 Fix Approve Online 03-03 to accept 8 char approval codes SDK-1497 Update Logging Fonts in uDemo SDK-1503 Recognize NEO3 Command Tree on IP/COM connection SDK-1504 Update Get Wireless Work Mode D1-1A SDK-1505 Update Get/Set WiFi settings on NEO3 command D1-17 SDK-1508 Exit File Query when no filename is provided SDK-1424 uDemo setURL to set PKI/RKI url, not Symmetric RKI url ## 3.2.4.397 #2/16/24 SDK-1493 Recognize C7-15 (device tree apply) as reboot condition SDK-1046 Add ZMQ CommandGetDeviceVIDPID SDK-1490 Remove unnecessary download delay for rrc file download SDK-1454 Increase rrc Install App 64-29 timeout from 3 seconds to 15 seconds SDK-1453 Increase rrc download 64-2b timeout from 6 to 30 seconds SDK-1464 Update VP7200 Command Tree SDK-1164 Added ctls_setConfigurationGroup CommandSetConfigurableGroup SDK-1164 Add Activate Transaction to ZSDK Bridge SDK-1488 Update EMV_LCD_DISPLAY_MODE enumeration SDK-1487 Check incoming TLS file size for device_loadCertCA SDK-1154 Add device_cancelTransaction to ZSDK Bridge ## 3.2.4.396 #1/31/24 SDK-1463 Restore PAN data type 0x83 to transaction data callback SDK-1164 Add device_controlUserInterface to ZSDK Bridge SDK-1164 Add device_pingDevice to ZSDK Bridge SDK-1164 Added ctls_updateBalance for ZMQ bridge ## 3.2.4.395 #1/27/24 SDK-1442 Catch exception with deviceClose() prematurely nulls ipStream due to race condition SDK-1266 Fix BLE reconnect issue on device reboot for MAUI SDK-1438 Add additional baud rate support for command 30-01 ## 3.2.4.394 #1/24/24 SDK-1424 Fixed URL Override for Gen4 RKI SDK-1428 fix result log scrolling in uDemo SDK-1427 Remove ZSDK Client Library dependencies SDK-1419 Update Firmware Update Dialog Box uDemo SDK-1418 Enhance Logging Results with Rich Text Box Color Output (uDemo) SDK-1390 SDK will disconnect and reboot device when SDK detects damaged RS-2332 stream during file transfer SDK-1347 Filter transaction data callback to only return transaction data, not unexpected data SDK-1390 Increase RS-232 Receive Buffer to accommodate large file transfers SDK-1349 Update/optimize Read from SD Card SDK-1350 Fix crash when polling SD card for file that does not exist SDK-1394 Fix FW Update on RT1052 Devices SDK-1391 Remove Get/Set RKI Gen 4 from Command Trees SDK-1392 Increase wait timeout and remove double command on Serial Rebooting SDK-1398 Increase response timeout value for Cancel QR Scan 61-42 ## 3.2.4.393 #1/10/24 SDK-1373 Update doxygen version build to 3.2.4.393 SDK-1367 Add RRC Commands to uDemo - 3.2.4.393 SDK-1366 Add RRC Disconnect API command 64-21 as device_rrcDisconnect SDK-1361 Add RRC Connect API command 64-20 as device_rrcConnect SDK-884 Add Download App Method 64-2B device_rrcDownloadApp SDK-1355 Remove Reversal Amount from WP SDK SDK-845 Create Install Application API Method 64-29 device_rrcInstallApp SDK-847 Create Run Application API Methos 64-2A device_rrcRunApp SDK-846 Add Uninstall Application 64-2C device_rrcUninstallApp SDK-1341 Remove SetConfig C7-82 default value. SSL error checking validated SDK-1213 Remove Reboot Timeout Checking SDK-1335 Record SSL IP/MAC upon connection to eenable wake from sleep SDK-1328 Remove Gen2 RKI, all RKI will default to Gen4 SDK-1333 When VP7200 reboot with C7-47, increase read timeout from 2 seconds to 6 seconds SDK-1299 Implement Custom URL for Gen4 RKI SDK-1217 Update Gen4 RKI to use direct commands to comm class, not API calls SDK-1325 Fixed MsrToKB parsing. Updated RCM to 3.3.4.393 NEO-6124 Add retry to PK update, resend last good packet on error 0x66 SDK-1249 Update WP duplicateCheckDisable Flag, Update SDK version 3.2.4.392 Update obfuscation files SDK-1250 Update RCM to move tag DFED46 when 02-40 created ## 3.2.4.392 #12/15/23 SDK-1216 Fix WorldPay Automatically sending DFED46 ## 3.2.4.391 #12/13/23 SWCSHAR-1022 Fix DRL Risk Parameter Response SWCSHAR-1016 Recognize DFED46 FastEMV Tag Flow on VP3300 WP Class SWCSHAR-1023 Fix WP Reveral Amount on Contact Trans SWCSHAR-1023 WorldPay Receipt Fix SDK-1194 Combine incomplete IP packets before processing SDK-1176 Fix 09-01 and 09-02 to recognize legacy tags ## 3.2.4.390 #11/30/23 Add support for .Net 8.0 SDK-1166 Add force close IP stream for non-TLS clients (SONIC) SDK-1165 Prevent null object exception if device disconnects in middle of API call GEN4-1337 Update Serial Selection to Include Device Name SWCSHAR-1013 Add L100/L80 support for Symmetric RKI-A Fix WorldPay Ping Crash SDK-1162 Add Additional Tags option for WorldPay Trans PMT-271 PMT-274 Add WorldPay Completion Amount Checking ## 3.2.4.389 #11/15/23 NEO3-8562 Update NEO3 C7-41 Reconnect Logic SDK-1063 Add TLS Certificates for NEO3 Demo and Production VC-283 Check for CTLS only devices before writing CONTACT settings. CS-5331: Increase SecureMag timeout when loading the key. ## 3.2.4.388 #10/26/23 NEO3-8238 Validate USB stream connection on first connect NEO3-8238 Remove USB Physical Descriptor Query on device connection SWCSHAR-997: Catch HidDevice = null, increase number of try to resend sendIDGToUSB SDK-1048 Added ZSDK functions SWCSHAR-1005 Catch stream write error on bad stream open Fixed 1050 Update calculating wrong 24-bit file size SDK-1095 Added C7-78 PK Update Resume Capabilities ## 3.2.4.387 #9/20/23 GEN4-1210: Updated uDemo, added reference to Gen4 RKI link SWCSHAR-1003: SecureMag RKI RevA - updated nonce to send to web service GEN4-1210: Added Gen4 RKI URL link SDK-1005 Update reboot connectivity using both Ping and GetFirmware ## 3.2.4.386 #9/18/23 SDK-1000 On NEO2_Devices.xml load failure, revert back to internal definition file CS-5316 Fix CAPK Modulus Length Calculation SDK-935 Added ZSDK Integration SDK-965 Add interface Override for WorldPay Transaction SDK-956 Update RemoteClientModel to 3.3.4.387 SDK-935 Initial Support for ZSDK in C# SDK ## 3.2.4.385 #8/15/23 SONIC-155 Added Secure Message Enter The Give Card Code SDK-882 Fixed CAPK Verification during VC Update process SDK-881 Fixed ViVOConfig Update for Augusta KB. SWCSHAR-984 Fix ipWait parameter in UpdateIDT.exe SWCSHAR-980 Use hash value to bypass PAE/SDK loading ## 3.2.4.384 #8/15/23 SWCSHAR-954: Don't add tab for device without zero serial number when the device reboot. SWCSHAR-954: Increase timeout on VP7200 on usbReboodRequestIDG, add error handler, and add loop to 4x to read the device and be discovered. SWCSHAR-954: Add error-handle on sendIDGToUSB when HidStream is null. SWCSHAR-995 Fix WorldPay declinePartial parameter SWCSHAR-994 Fix uDemo to send correct identifier for PAE command SWCSHAR-992: UpdateFirmwareKernel, refactor some codes: SWCSCHAR-992: Refactor some codes in updateFirmwareNEOII1050 SWCSHAR-989: Add condition comm!=null before comm.DirectWrite command SWCSHAR-954: Update VP7200 navigation to display RT1052 instead of RT1050 SWCSHAR-974: Use the selected navigation menu to determine the model to use for DeviceTree. SWCSHAR-974: Value of data should be 0x01 for DeviceTree Model RT1050 and RT1052. ## 3.2.4.383 #6/20/23 SDK 866 Remove exception condition when device disconnects in middle of API call Add modified function in IDTechZSDK_Client Modify zsdk_session's initialze call SDK-839 Create Certification Loading API Method C7-17 for C# SDK WorldPay Demo App Updates SWCSHAR-970 Changed bootloader validation from 18-01 to 29-00 command ## 3.2.4.382 #6/22/23 SDK-829 Add "Enter Gift Card" to secure messages for pin_promptForInput_ext SDK-828 During VC Remove Config Group, update error message when group cannot be deleted SDK-827 Add Full/Partial Reversal to WorldPay Trans Types NEO3-4952 Add uDemo logging during reboot event NEO3-6730 Increase timeout for C7-48 1050 update command SDK-821 Fix default masking return values when DFEE1D does not exist NEO3-6575 Added bootloader update RS232 .txt file support SDK-818 Make SSL Server/Port optional for D1-17 SWCSHAR-946 Restore getDRLRiskParameters to VP3300 ## 3.2.4.381 #6/9/23 SCS-488 fix using wrong protocol in RKI_RevB SCS-488 fix using wrong protocol in RKI_RevB when multiple device is connected SDK-802 Update README.txt in UpdateIDT.exe to reflect latest parameters SDK-801 Add RKI Commands to Kiosk III Command Tree ## 3.2.4.380 #6/1/23 SCS-490 Send rki callback when no key is regested SCS-490 Change RKI data receiving method ## 3.2.4.379 #5/30/23 SWCSHAR-972 Perform reboot when UpdateIDT stop or star all apps SWCSHAR-972 Add IDG logging to UpdateIDT utility Updated signtool.exe path in obfuscation files SWCSHAR-966 Fixed potential comm null condition during firmware manifest update routine SDK-755 Fixed Pin Prompt For Key Input when 1 character PIN entered. SWCSHAR-966 fix updateIDT for SSL connection SWCSHAR-968 Fixed connecting to IP-TLS for specific IP address. GEN4-987 Fix selectable key by adding semicolon before key name SCS-490 Change call back's return value SCS-490 Change gen4 activation method SCS-490 Implement WebAPIGen4 SCS-490 Implement Gen4UrlConfig SCS-490 Add RKI Gen4 Classes ## 3.2.4.378 #5/18/23 SDK-736 Fix getUseGen4API to return correct reference back to caller in ZMQ Client SDK-735 Add Gen 4 RKI Mode Set/Get to uDemo SCS-490 Change call back's return value SCS-490 Change gen4 activation method SCS-490 Implement WebAPIGen4 SCS-490 Implement Gen4UrlConfig SCS-490 Add RKI Gen4 Classes ## 3.2.4.377 #5/15/23 SWCSHAR-949 Increase wait time for TLS to connect after reboot SWCSHAR-965 Update uDemo to show RT1052 for NEO3 devices Fix UpdateIDT for starting/stopping ADF process Fixed -start and -finish filter in Update IDT SDK-725 Fix firmware version checking when more than 1 device connected SWCSHAR-962 Fix PK update on VP3350 SWCSHAR-963 Fix Firmware Update Ping Failure condition ## 3.2.4.376 #5/02/23 Remove semicolon if no key name during RKI request. WorldPay Callback restored. Xamarin iOS: Fix single device comm linking issue SDK-704 Fix Device Tree Update success flag during manifest update SDK-703 Add Start/Stop ADF to UpdateIDT CLI Utility SDK-695 Added customer selection for partial payment to WorldPay Update compiler directives to include .Net 7.0 where specified for .Net 6.0 SWCSHAR-949 Fix updateFirmware signature, extend set network info timeout SWCSHAR-955 Fix file transfer counter to avoid duplicate file loading SWCSHAR-957 Fix Query File command to correctly parse timestamp from response SDK-677 Reset PINPAD flag when swipe captured on pin entry screen SDK-676 Add callback parameter to device_startTransaction Xamarin SDK 3.2.4.376 Add function to reset External Accessory protocol on iOS TS-32601 Update ViVOConfig to set read only MSR value 0x77 ## 3.2.4.375 #4/17/23 SDK-660 Make Profile.connectionDict Thread Safe ## 3.2.4.374 #4/13/23 Add WorldPay Simulator Mode Add Get BLE Name function to SDK/uDemo Added Get Device Tree 1050 String SWCSHAR-951 Increase config_getStatusKeySlots timeout SWCSHAR-947 Fix for RT1050 SRK Fuse Status SWCSHAR-948 Pass FW update by path instead of file data SW-CSHAR-854 Update reboot routines for IDG devices TS-32351 Fix transaction start on BLE disconnect/reconnect event WorldNet Class Updates. Refactor to use WorldPay Class SDK-645 Fix ViVOConfig Read/Write/Verity CAPK when modules length reversed Add WorldPay Licensing scheme Add return codes for IPS WorldPay Licensing errors Update Xamarin SDK to 3.2.4.374 TS-32351 Fix BLE reconnect in Xamarin/Maui TS-32400 TS32362 Add timeout for UniMag/Shuttle Xamarin/Maui code WorldPay: Add a manual entry mode Added WorldPay Licensing code to SDK Update version to 3.2.4.373, including RemoteClientModel WordPay: Fix Void transactions and Add-On Completion Worldpay: Allow add-on transaction to perform without a device connected first Worldpay: Fix busy flag if stored transaction encountered. WorldPay: Fix amount entry on Void transactions Update version 3.2.4.372 WorldPay Code Updates for WorldNet compatibility. SDK-624 Fix CAPK parsing in ViVOConfig for Kiosk V devices SWCSHAR-946 Removed Get DRL Reader Risk Parameters API from SDK/uDemo/ZMQ SDK-216 Autodetect .json file when sending VC .zip file SDK-611 Updated RKI command tree for neo2/neo3 Added WorldNet Support to Universal SDK ## 3.2.4.373 #3/23/23 WorldPay: Fix Void transactions and Add-On Completion WorldPay: Allow add-on transaction to perform without a device connected first WorldPay: Fix busy flag if stored transaction encountered. WorldPay: Fix amount entry on Void transactions ## 3.2.4.372 #3/22/23 WorldPay Code Updates for WorldNet compatibility. SDK-624 Fix CAPK parsing in ViVOConfig for Kiosk V devices SWCSHAR-946 Removed Get DRL Reader Risk Parameters API from SDK/uDemo/ZMQ SDK-216 Autodetect .json file when sending VC .zip file SDK-611 Updated RKI command tree for neo2/neo3 Added WorldNet Support to Universal SDK ## 3.2.4.371 #2/28/23 SWCSHAR-944 Adjust timing for sending signature on FW update SWCSHAR-945 Fix manifest update from zip failure. SWCSHAR-932 Change RKI URL from global to device-level local variable SWCSHAR-943 Won't allow Firmware type checking if "BOOT" or "BL" appears in version string ## 3.2.4.370 #2/22/23 SDK-552 Parse transaction data if returned in place of command ACK TS-32036 Move CAPK loading to background thread in uDemo. CS-4967 ViVOConfig will erase all tags by default instead of referring to install rule SWCSHAR-942 Fixed terminal configuration data retrieval Added VP3350 NSRED PID to Neo Devices ## 3.2.4.369 #2/16/23 Added support for .NET 7.0 Removed support for .NetCore 3.1 Updated Minimum Requirement of .Net 4.6.1 to .Net 4.8 SDK-522 Optimize RemoteClientModel shared library SDK-522 Implement functions in device info on ZSDK ## 2.1.4.367 #2/15/23 SDK-522 Configure RemoteClientModel for NuGet publishing. Version 2.1.4.367 Update Obfuscation Files to sign new shared library SDK-532 Fix selectable key selection when keyname has extra space at end SDK-522 Added defaultTerminalConfiguration to ZSDK for uDemo compatibility. SDK-522 Make RemoteClientModel the define library for IDTechSDK_STD SDK-522 Removed IDTechComm dependency in Common.cs SWCSHAR-940 Fixed Gen4 RKI 92-03 Command SDK-522 Create generic helper for ZSDK execution SDK-522 Reduce code in device apis SWUS-35 Compare device reported FW against FW filname SWCSHAR-941 Fix Update Device Tree exception when device header missing from file Add remote client model to main solution file. Removed Device Header Links in IDTechZMQ_Client Fixed Augusta Get Status in uDemo SDK-522: add ZSDK error code cvt helpers SDK-522: add ZSDK hotplug support SDK-522: add zsdk device registration SDK-522: integrate ZSDK csharp client projects SDK-522: move IDT_Device field to begin SDK-522: split remote api defines ## 2.1.4.366 #2/7/23 SDK-511 Add Get RT1050 SRK Fuse Status (29-81) SDK-510 Shorten command names that have prefix "Get" SDK-509 Add Get RT1050 Bootloaader Version command (29-14) SDK-508 Add Reset Non-Volatile Memory command to SDK (04-0A) SDK-507 Added function Set RKL Key (90-24) SDK-506 Add Get/Set DUKPT PEK/DEK Keyslot C7-A4/C7-A5 SDK-505 Add Get/Set DUKPT Attributes (TDES/AES) C7-A2/C7-A3 SDK-502 Add Check DUKPT Key (81-04) SDK-501 Add Get DUKPT KSN / Salt KCV (81-0A) to .NET SDK SDK-500 Update Set/Get DUKPT Key Encryption Type (C7-32, C7-33) SDK-499 Add Get Data Encryption Key Variant Type (C7-30) SDK-498 Add Set Data Encryption Key Variant Type (C7-2F) TS-31723 Avoid crash is customer enters invalid data for double convert. SDK-496 Fix RKI-PKI for NEO2 devices Added Selectable RKI Command to SREDKey2 Command Tree ## 2.1.4.365 #2/1/23 SWCSHAR-913 Create error flag to be thrown during update from manifest SDK-492 Update RKI Rev B routines SXS-110 Fixed VP8800 Auto-Complete in uDemo SDK-491 Fix crash if bad response from server in RKI Key Name Request SXS-105 Updated bluetooth drivers for Maui ## 2.1.4.364 #1/20/23 CS-4959 Limit set poll mode checking tag DF891b to VP3300 If DT file is true .fm file, strip first 576 and last 256 bytes from data TS-31651 Fix SREDKey2 HID Card Parsing SWCSHAR-933 Restore setting custom URL during RKI update SWCSHAR-920 Fix term config TLV combo-box selection in Cross Platform demo SWUS-36 Additional PK support for .Net demo SDK-451 Add additional .pk package support SWCSHAR-936 Update Device Type Table for 09-01 command SWCSHAR-934 Fixed custom URL reporting in status log. SWCSHAR-923 Fixed file transfer flow on Cross Platform demo SWCSHAR-918 Fixed transaction crash on Cross Platform example SWCSHAR-935 Fix tags for kernel configuration 11c SDK-449 Fixed RKI Rev B initial command. CS-4945 Allow legacy tags to be recognized on NEO2/NEO3 devices ## 2.1.4.363 #1/11/23 SWCSHAR-932 Fixed uDemo updating device list when tab changes SDK-429 Fix Selectable key crash when identical key names SDK-416 Updated Manifest to load NEO3 Device Trees SDK-415 Add new command device_getDeviceTreeVersion SWCSHAR-931 Add confirmation dialog for RKI in uDemo Add ZMQ Client Paramater Access ## 2.1.4.362 #1/5/23 SWCSHAR-916 Fixed RS-232 and USB connected at same time Add Reboot Device to default Kiosk Command Tree SWCSHAR-924 Fix Set Ble Parameters on Cross Platform demo SWCSHAR-923 Fix multiple file selection dialog issue SWCSHAR-918 Fix device_startTransaction for Cross Platform app SWCSHAR-921 Add scroll bars to log/results windows SWCSHAR-919 Fixed CrossPlatform Firmware Update Reporting NEO3-4205 Add adjustable block size for 1050 update SDK-387 VP3300 at FW 1.10.xx should device_startTransaction like NEO2 ## 2.1.4.361 #12/22/22 SDK-298 Terminal GUI version of uDemo final initial changes Updated to ZMQ Client for backward compatibility SDK-378 Fix Get/Set Whitelist Command Trees SDK-377 Added send/receive timeout option to SSL connection SWCSHAR-892 Occasional failure during WiFi update VP6800 SDK-376 Validate USB descriptor serial number before using in identifier. SXS-108 Reset all SDK flags on cancel transaction SWCSHAR-912 Fixed null exception on usb device descriptor on AddComm SWCSHAR-913 Add additional FW Manifest Result Completed with Errors SWCSHAR-914 Map IDG Success 0xd00 to universal success 0x00 SWT-733 For 1050 Device Tree Updates, remove getFirmwareVersion checking SDK-374 Add Mutual Authentication for SSL connection in uDemo and SDK SXS-107 Fix iMag iOS External Accessory Communications SDK-370 Add Selectable Key Function for Symmetric RKI devices SDK-369 When ZMQ Client API has timeout parameter, pass that to SendAPIToServer ## 2.1.4.360 #12/12/22 SDK-368 Add new RKI Selectable Key function to uDemo SDK-364 Add Multi-Device support for WorldPay Transactions SDK-363 Fix processor reporting info on ViVOConfig capture SDK-358 Add VP3300 support for CTLS Update Balance SDK-357 Improve 1050 FW Update Speed ## 2.1.4.359 #12/7/22 SWCSHAR-910 Process unexpected CTLS results that is returned to API method instead of normal path SDK-353 On VP3300 CTLS->Contact switch, add delay before executing 60-10 SCS-448 Avoid SDK register same device multi times Shroten processCmd's second read section's timeout SWCSHAR-909 Filter out incorrect USB Descriptor serial number SDK-293 Build warnings and messages p6 SDK-293 Clear build warnings and message p5 SDK-293 Cleanup Build warnings and messages p4 SDK-293 Cleanup build warnings .NET SDK p3 ## 2.1.4.358 #11/28/22 SDK-339 Added transaction busy flag for Worldpay Transactions SCS-467 Add missing case in ZMQ_Client SCS-441 Avoid add device to connectDict repeatedly SDK-337 Update WorldPay for Muilti-Device parallel transactions SDK-335 Extend ctls_getAllConfigurationGroups to 10 second timeout SDK-318 Suppress reboot activity if C7-C7 ADF command fails. ## 2.1.4.357 #11/16/22 SDK-320 Add Checking for valid IP address on ZMQ Start SDK-297 Add ZMQ info to documentation SDK-319 Send WorldPay Messages as Message ID, not Encoded Strings SDK-293 Cleanup Build warning .NET SDK p2 SDK-293 Clean up .NET SDK build warnings SCS-401 Change PKI's return to fit Brute-force RKI SCS-401 Brute-force RKI Send additional callback SCS-401 Add exception control in Brute-Force RKI SCS-417 Add auto rki return code Align ZMQ_Client's RETURN_CODE to SDK_STD AOS-1228 Fix AP6800 update firmware routine SDK-318 Only reboot device on successful C7-C7 command (ADF command) SDK-316 Fix Kiosk V device names SDK-296 Added MAUI info to documentation SDK-315 Add Neo3 1050 Device Tree update capabilities SDK-295 Updated Doxygen file for latest definitions ## 2.1.4.356 #11/10/22 SDK-313 Fix WorldPay LCD messages to include device identifier ## 2.1.4.355 #11/9/22 SDK-312 Reset isClosed flag to false when deviceOpen is successful. SDK-310 Fix CTLS data after wake from sleep over Serial ## 2.1.4.354 #11/8/22 SDK-264 Fixed setPCM status command (f0-00) to allow 3 bytes SDK-301 Set Date/Time on PIP device connection SDK-305 Update WorldPay code and docs for multi-device operation SDK-304 Fix WorldPay transaction timeout and busy conditions for emv_startTransaction, recognize code 0x63 as SUCCESS condition SDK-303 Fix WorldPay executeTransaction API to recognize ident parameter ## 2.1.4.353 #11/2/22 Fix loop timing on VP3300 (NEO1) firmware upgrade ## 2.1.4.352 #11/2/22 SWUS-35 Added DT_PRJ version checking before updating Device Tree SAU-200 Added originalUSB flag to ZMQ_CLient for backwards compatibility SW-CSHAR-836 Restore msr_startMSRSwipe for Augusta in QCKB mode Add device_getDRS for NEO2 Devices Fixed MiniMagII being incorrectly identified as SecureMag HP ## 2.1.4.351 #10/28/22 SDK-278 Fix RKI Rev B for Augusta KB in QC mode MAUI / Android SDK updates Implement RKIAuto to brute force RKI update Aboart ReadData loop when device is disconnected Divide workflow hidSream.GetFeature for SREDKey2 ## 2.1.4.350 #10/20/22 TS-30770 Fixed overwriting VP5300 serial number when L100 passthrough mode ## 2.1.4.349 #10/19/22 SDK-264 Remove 2-byte filter for ViVOConfig pcm_status setting Allow TLS cert to load from external file SWCSHAR-836 Restore MSR class to treat AugustaKB+QCKB as Augusta SWCSHAR-845 Have device update reset if starting in bootloader mode SWCSHAR-893 Removed spaces from Kiosk V name SWCSHAR-864 Updated read file timeout from 45 sec to 120 sec SWCSHAR-555 Fixed VP8800 Command Tree in uDemo Add workaround for AP6800 K81 FW issue of getSerial SWCSHAR-900 Fixed L80 Passthrough Flag SWCSHAR-873 Fixed Firmware Update RS-232 Kiosk IV SDK-267 Update config_getSerialNumber to execute when in L100/L8 passthrough mode Removed incorrect PID entry for VP6800 in definition file. SWCSHAR-876 Updated Firmware Routines for L100 ## 2.1.4.348 #10/1/22 Added user notifications when device rebooting into/out of ADF mode Fixed USB dictionary crashing if attempting to add duplicate key Fixed exeucting ViVOconfig during manifest update CS-4813 MSR commands not recognized in QCKB SDK-254 Reset SDK flags when file transfer is successful. Ignore invalid USB reporting serial number upon connection SWCSHAR-893 Show friendly name for Kiosk V in uDemo Add indicator when reporting SDK_Version if ORIG_USB or not Fixed command tree for SREDKey2 in uDemo Add SDK indicator for USB_ORIG vs new drivers Added default command tree for VP7200 SDK-215 Updated version parsing to allow 5-part versions SXS-98 SXS-99 SXS-100 SXS-101 Add a reboot notification for Xamarin SDK SDK-215 Reset SDK flags to allow device reboot commands to execute ## 2.1.4.347 #10/3/22 Remove waiting period after getting Metrics Add debug log for Get TMS data Fix update firmware issue Remove metric object from ZMQ_Client Add data exchange member for ZMQ_Client Serialize/Deserialize json for TMS/DRS Deserialize TMS and DRS info Add TMS Data structure Implement Get TMS Function Moved Stop All App reboot to right before apps load. Updated project and installer to include command tree files ## 2.1.4.346 #9/29/22 SDK-215 Added device reboot to execute after Application Control Start/Stop apps. NEO3-3087 Add support for Device Tree PRF files in .TXT format For KioskV, NEO2 update takes priority over KioskIII update SDK-215 Fixed updating PAE/SDK with Concierge SDK-228 Fixed reporting verification warning when device command fails Fixed parsing single item command tree Move C7-41 VP6800 delay to after success condition is known. SDK-223 Updated device_getDrlReaderRiskPara to not crash on bad response SDK-221 Recognize command 04-F0 as a device reboot event SDK-218 Fixed multiple file downloading to SD card SDK-217 Adjust timeout for 04-09 to be 15 seconds minimum SDK-216 In uDemo fixed writeVC file name when updating ViVoconfig file SDK-220 Check null data condition for ctls_retrieveAIDList SDK-213 Fixed bad input crash on config_getConfigurationGroup in uDemo Removed bypass version checking when updating from zip. SDK-215 Add version checking for PAE/SDK during .zip firmware update Command Tree Format needed update to 2 levels deep. Added AltDevice support for NEO2/NEO3 devices Updated uDemo with Dynamically Loading Command Tree Updated ZMQ Client to avoid readQueue going null after report item available ZMQ Client fixed signature pin_getPanEntry_ext Fixed ZMQ Client Disconnect when Reconnect Same Session Verify IP address when starting ZMQ Server Increase ZMQ Client Read from SD from 60 seconds to 120 seconds Added Gen3 Definition Compatibility to ZMQ Client Add DeviceTree Update to Update Utility ## 2.1.4.345 #9/12/22 Fixed device_getDrlReaderRiskPara null exception stopping ViVOConfig from executing Added Native .pk support ## 2.1.4.344 #9/12/22 Added .pk Firmware File Support ## 2.1.4.342 #9/1/22 Added NEO3 Device Detection Fixed Linux USB connect/disconnect notifications ## 2.1.4.341 # 8/12/22 Fixed IP read stream on 32-bit OS Updated firmware manifest routines to recognize ADF files and auto-switch modes to accommodate upload Updated connection dict scanning with flag on wait for reboot Removed unnecessary duplicate connection attempt checking ## 2.1.4.339 # 7/27/22 Fixed device_updateFirmwareIP to correctly recognize firmware callback Updated Simple Ping to parse out IP address when port is provided ## 2.1.4.338 # 7/26/22 - Restored default FW reboot to "reconnect to first device" logic - Restored USBPhysicalAddress reboot logic as previously introduced by Leo, but make code active by demand (Execute IDT_Device.SharedController.setAlternateReboot(true) to enable it). - Allow ViVOConfig to be included in FW update manifest, and execute after FW update is complete - Allow ADF SDK updates to work - Allow ADF App updates to work ## 2.1.4.337 # 7/19/22 Added retry logic to lcd_createScreen, lcd_addItem, lcd_updateLabel Added retry logic to msr_cancelMSRSwipe Added sync delay to msr_cancelMSRSwipe Added retry logic to pin_cancelPINEntry Added sync delay to pin_cancelPINEntry Updated IP Ping/Discovery routines to specify TLS/Non-TLS Updated ip_isConnected to auto-repair connection Updated ip_isConnected to send disconnect notification if device no longer online Updated processCommand to try to repair IP connection if momentarly disconnected or reset ## 2.1.4.336 # 7/10/22 Kiosk V recognizes FM files in addition to txt files ## 2.1.4.335 # 7/6/22 Removed overloaded method from Transaction Data Correctly recognized Kiosk V as KIII, not NEO2 Correctly recgonize Kiosk V fw update as NEO2 fw update ## 2.1.4.333 # 7/5/22 Fixed block size indicator in TXT->FM conversion utility Added VP5300 NSRED 0x4451 to NEO2_Devices.xml Return 0xdd single byte tranmission on TLS reboot Fixed SecureMag RKI (GetReport Loop Too Fast) Fixed connectToIP to only recognize IDTech Devices ## 2.1.4.332 # 6/28/22 Updated WorldPay Certification Code Fixed reading base address on NEO3 Bootloader file. Fixed reboot issue with USBPhysicalAddress does not exist Added FW type FIRMWARE_TYPE_NEO3_BOOTLOADER Recognize #USBHID .txt FW files for NEO2 fw update ## 2.1.4.331 # 6/23/22 Updated WorldPay Certification Code Dropped .Net 4.5 support -> Minimum now is .Net 4.6.1 Dropped .Net Standard 2.0 support -> Minimum is now .Net Standard 2.1 Added .net 6.0 support ## 2.1.3.330 # 6/17/22 Fixed filtering 'DD' when IP cable unplugged causing erratic behavior Added WorldPay Hosted Payments Certification ## 2.1.3.329 # 6/16/22 Added keep alive for tCP connection Fixed Update Device Tree FW update 0x31 (49) ## 2.1.3.328 # 6/13/22 Added device_queryFile This method will query either flash or SD card for the file, and if exists, will return it's timestamp and filesize Added device_readFileFromSD This method will retrieve a file from the SD card (if exists) Fixed reporting Cancel Key Pressed on incoming data log Add fail control to updateFirmwareNeoII (try-catch) Handle device disconnection on IDT_device Add error handling on IDT_device.cs, to handle the error caused by device disconnect. Also add USB port monitoring ## 2.1.3.327 # 6/01/22 Verify SSL connection still alive before reconnecting from disconnected queue Fixed cancel button recognition VP6800 screen over Serial/IP Fixed reporting correct RKI URL override value ## 2.1.3.326 # 5/24/22 Added keyName option for Symmetric RKI (B) Added FIRMWARE_TYPE.FIRMWARE_TYPE_DEVICE_TREE_DEF Added FIRMWARE_TYPE.FIRMWARE_TYPE_DEVICE_TREE_PRJ Added ability to update Device Tree Added QuickChip Start/Finish for WorldPay transactions ## 2.1.3.325 # 5/24/22 Removed forced logging enabled ## 2.1.3.324 # 5/23/22 Fixed reconnecting to IP after force disconnect Fixed recognizing cancel button screen press VP6800 Fixed PAE attempted reboot when ADF mode disabled Removed sleep command retry over serial PAE Added IDT_Device.retainTLS to allow full disconnect from TLS stream if desired. Fixed recognition of bypassReboot flag Fixed firmware update error detection Fixed KB Protocol for command timeout Fixed double response stream on reboot ## 2.1.3.318 # 5/14/22 Fixed QR Code Timeout Reporting Fixed API Signature for ZMQ Client on updateFirmareType Updated AugustaQCKB to act like Augusta ## 2.1.3.317 # 5/4/22 Removed resource checking for IDTech_Devices.json Updated reboot/reconnect Fixed augusta failing on flashing reboot because couldn't read serial number Added self check time validating before starting firmware update ## 2.1.3.316 # 5/4/22 Updated TLS Authentication timeout values Fixed wake from standby for tls devices Updated TLS Reboot routines ## 2.1.3.315 # 5/3/22 Fixed config_setWirlessWorkMode Fixed config_sendSSLRequestWiFi ## 2.1.3.314 # 4/29/22 Added additional reboot time for VP6300 ## 2.1.3.313 # 4/28/22 Added additional reboot time for SREDKey2 ## 2.1.3.312 # 4/27/22 Updated reboot connection methods during flashing Added function to refresh USB names when device is in bootloader mode ## 2.1.3.311 # 4/26/22 Fixed Flashing Sync Issue ## 2.1.3.310 # 4/22/22 Added multi port support for TLS server Removed reboot blocking for IP and COM connections Updated config_setWifiConfig Updated config_getWifiConfig Added config_setWirelessWorkMode Added config_GetWirelessWorkMode Added config_sendSSLRequestWiFi Added config_setSSLServerEthernet Added config_getSSLServerEthernet Fixed IDT_Device.closeAllCommConnections to also close IP Fixed TLS autoconnect before monitoring enables Removed TTK only for getDRS Enhanced DeviceState.ButtonEvent to include Screen and Button Name ## 2.1.3.309 # 4/22/22 Updated fw manifest update to convert Augusta KB to Augusta before flashing Fixed device_updateFirmwareFromZip to recognize ViVOconfig concierge format Further updated device reboot routines ## 2.1.3.308 # 4/19/22 Updated RKI for Kiosk V ## 2.1.3.307 # 4/18/22 Fixed command Augusta device_getDRS Added reboot error conditions for stream error and device error Updated Enhanced MSR parsing to include SALT and Key Mtme ## 2.1.3.306 # 4/14/22 Removed QuickWrite from Flashing routines Updated TLS connection logic ## 2.1.3.305 # 4/12/22 Fixed PIP connection polling for SN/FW Send unsolicited PAE messages to message callback Add new command device_disableAugustaLED Fixed NGA response parsing to device_sendDataCommand_ext Update setCAPK for any modulus length order Fixed msr_startMSRSwipe to process quick swipe attempts Added KioskV KB 0x4691 PID Added dynamic USB device loading with IDTech_Devices.json file ## 2.1.3.304 # 4/4/22 Recognize PAE Reboot Command Restored device_getConfigurationFromMemory to PIP Reset RKI flags after status check Add type range checking to device_remoteKeyInjection Fixed MS2 Activate Transaction response Fix issue were device doesn't respond to getFirmware on initial connection Clear TLS dict when closeAllComm Executed ## 2.1.3.303 # 3/24/22 Added additional reboot time for flashing over serial Fixed 1050 reboot time for flashing over multi-usb Fixed 1050 error reporting for flashing over multi-usb Added device_RemoteKeyInjection to all devices Added interface to icc_powerOnICC Fixed activate transaction Added device_sendVivoCommandP4_ext for SREDKey2 Add lock to device_setPIPMode Add null exception catch for cancelTransaction Fixed TLS port mapping Fixed Flashing/Reboot on IP TLS connection Disable L100/L80 passthrough on connection Increase large response buffer 24000->500000 Added Manifest Support for Xamarin ## 2.1.3.302 # 3/14/22 Fixed Update From Manifes for Windows ## 2.1.3.301 # 3/10/22 Fixed 1050 update for VP6800 ## 2.1.3.300 # 3/5/22 Updated VP6800 FW Routines Removed camera event blocking CS-4380 device_sendVivoCommandP2_ext updated to correctly parse out data packet length. CS-4369 Update from Zip will recognize bootloader a error and start bootloader b SDK-4 Reset SDK flags when transaction data recognized FXT-770 Updated TLV terminal settings for VP8800 SWCSHAR-555 add pause for first C7-43 command in FW update SWCSHAR-765 Set DeviceName if device name is blank in Comm class Fixed sendDataCommand wrong protocol crash Fixed filtering unknown device in NGA bootloader mode Added DeviceState.RebootStarting, DeviceState.RebootEnding Changed firmware update routines for XamarinAndroid builds ## 2.1.3.299 # 2/11/22 Fixed recognzing HID XML output for more cases on SREDKEY ## 2.1.3.298 # 1/11/22 Added hasUI = false to ZMQ Server Added CMD_PING to ZMQ Server/Client. Allows client to ping server to determine if alive/online Updated Firmware Update Routines ## 2.1.3.297 # 2/3/22 Close all comm connections will clear the comm dictionary Reset reboot flag on L80 Passthrough Mode when FW update Added Kiosk V and VP7200 PIDs Fixed PIP crashing on connection Class connectionInfo created With DeviceState.Connected callback includes data that can be translated into a connectionInfo object Updated reboot detection logic Fixed possible null reference condition when stepping through idtechDevices ## 2.1.3.296 # 1/14/22 Verify usbDeviceConnection exists before attempting to evaluate on USB device connection Fixed exit loop condition on FW version checking during FW update Added Verify and Repair connection (if necessary) after device reboot Updated client close logic and have connection close on uDemo exit Try up to 3 times to retrieve device serial number upon device connection Updated Server Start/Stop for correct device unmount/mount Fixed pin_capturePin_EXT over ZMQ Fixed RKI over ZMQ Fixed lcd_startScanQR_EXT over ZMQ Fixed ctls_getConfigurationGroup over ZMQ Fixed lcd_linkUIWithTransactionMessageId over ZMQ Updated RKI routines for multi-device and ZMQ Fixed device type recognition on Augusta vs AugustaKB FW update over ZMQ adjustments Add Set Language d1-27 as reboot situation and increase ZMQ client timeout ## 2.1.3.295 # 1/11/22 Restored 60-xx functions for VP8800 Added new function emv_setTerminalDataVP8800 Added logic to filter out response that don't match command for IDG Added logic to recognize C7-63 in FW update verification process to await next final response Updated all non-TLS IP Connection logic Removed NoSslTcpClient and Heartbeat function Added new async method to connect to non-TLS devices Updated legacy connection logic to use new async method Updated ip_isConnected for non-TLS devices Updated ip_connectToSocket to use new SSL Connection class Fixed setting firmware callback on device_updateDeviceFromManifest Added isAES to pin_getEncryptedPIN Added an additional callback for more precise data logging Added parameter to lcd_setBacklight for turning on/off the light Fixed firmware update of L100/L80 when hooked up to VP5300 Reset VP5300 back into non L100/L80 passthrough when first plugged in New USB routines for device insertion, removal, and reboot handling ## 2.1.3.294 fixed processing of commands with timeouts. ## 2.1.3.293 # 01/03/22 Updated SSlTcpServer class to automatically reconnect on power loss Updated SSLTcpServer to correctly respond to device reboot situations Added new function to have SSL devices automatically connect to SDK Added new function to disable SSL auto connection Updated uDemo connection menu to select auto connect for SSL IP devices Added heartbeat to IP TLS connection: -Will recover from cable unplug/replug -Will recover from device power down / power up -Will not display disconnect/reconnect on reboot events Add SSL logic to determine if reconnect is by power reboot or cable plug Added thread safety for Profile.connectionDict Added NoSslTcpClient class to manage non-TLS device connections Added the following functions: - public static void monitorNetworkForDevices(bool monitorON, bool useTLS, int port = 0) This enables/disable monitoring for IP devices, both TLS and non-TLS - public static List getIpAddresses() This returns the list of all nonTLS IP address the SDK is monitoring for - public static void addIpAddresses(List list) This add to the list for nonTLS IP address the SDK will monitoring for - public static void removeIpAddresses(List list) This remove from the list for nonTLS IP address the SDK will monitoring for - public static void clearIpAddresses() This will clear the list for nonTLS IP address the SDK will monitoring for Added retry on IP simplePing heartbeat Updated project to include NEO2_Devices.xml as embedded resourced Removed NEO2_Devices.xml as hardcoded in Common class Updated NEO2_Devices.xml for additional devices Fixed VC ability to set kernel configuation > 5C Fixed USB connection crash when non-usb device already connected Fixed possible crash on getSerialNumber with data is null Fixed lcd_setAudioVolume in NEO2.cs Fixed setCommandTimeout in ZMQ Client ## 2.1.3.292 # 12/29/21 Fixed compile errors in IDTEchSDK_Android Moved TLS Server from IDTechComm to own class Updated TLS connection logic in IDTechComm to use Server Class ## 2.1.3.291 # 12/21/21 Resolve null pointer exception when .json file missing configuration section ## 2.1.3.290 # 12/15/21 Added logging to files. Disabled by default. ## 2.1.3.289 # 12/2/21 Added method in IDTechComm (adjustTimeout) to override default timeout values for certain commands. Added 92-03 = 30sec timeout Removed device_UpdateAllKernels from ZMQ Client Removed device_updateFirmwareType_ext from ZMQ Client Removed device_updateDeviceFromConcierge from ZMQ Client Removed device_updateFirmwareIP from ZMQ Client Fixed ZMQ client disconnect stops all file transfers and fw updates in progress Fixed ZMQ Client emv_trySaveTerminalData Fixed ZMQ Client ctls_trySaveTerminalData Fixed ZMQ Server freeze after read device config Fixed ZMQ Client not showing directory listing on occasion Updated device_resetTransation Supress serial number broadcast processing on device startup Changed felica_requestService from 0202 to 0201 Fixed ReadLog crash Fixed getting correct FW version when update from zip fails Fixed FW update reporting correct success status Updated TransArmor response to not require 0x06 as first byte Fixed Get Self Check Time crash Fixed updateconfigurationFromZip ## 2.1.3.288 # 11/30/21 Fixed update from zip over ZMQ Fixed ActivateTransaction over ZMQ Fixed AddButton callback over ZMQ Removed config_setNetowrkConfiguration from ZMQ_Client Removed device_updateFromManifest from ZMQ_Client Fixed ZMQ Server parsing Type IDTechSDK classes Fixed ZMQ server parsing Type IDTechSDK.Cofigs classes Fixed ZMQ server MSR swipe Fixed ZMQ server get transaction results Fixed ZMQ client device_disBlueLED Fixed ZMQ client to wait for reboot to happen Fixed ZMQ Client adf download application Fixed ZMQ Client pin_capturePIN_ext callbacks Fixed ZMQ Client CTLS faile Fixed ZMQ Client multiple reported issues ## 2.1.3.287 # 11/29/21 Updated ZMQ packet logging to replace large api data with "" Fixed setting active app in ZMQ when device id not provided ## 2.1.3.286 # 11/23/21 Updated adf_getModuleInfo to return List of ADF_Info instead of byte[] Added adf_getModuleBytes Fixed adf start Application ## 2.1.3.285 # 11/22/21 Updated multiple IP device cross-threading issues, losing ident Updated Identifer for NEO2 and IP connection to just be IP value Updated Logging command to correctly recognize logging command response vs actuall logs being transmitted Updated pin functions properly broadcasting IP address ## 2.1.3.284 # 11/16/21 Fixed PIP multi-PID USB support Fixed update intermediate K81 in multiple FW update utility Fixed update in single update utility ## 2.1.3.283 # 11/12/21 Updated FW 1050 over serial for VP6800 Added "IDTECH04" for Symmetric RKI Multi-Key Fixed Profile.discoverDevice to ignore currently connected devices ## 2.1.3.281 # 11/09/21 Changed USB Reboot logic to device 10/25 seconds delay before proceeding ## 2.1.3.280 # 11/04/21 Updated SDK to recognize 1050/k81 update and add additional wait time before success indicator. ## 2.1.3.279 # 11/03/21 Changed 1050 update to try 0x48, and if that fail, then try 0x45 Update 1050 update to correctly report failure callback on 0x45/0x48 condition ## 2.1.3.278 # 11/03/21 Added additional error correction when 1050 bootloader mode needs fwByte 0x45 instead of 0x48 ## 2.1.3.277 # 11/02/21 Updated multi usb to reset usb devices after first k81 reboot ## 2.1.3.276 # 11/01/21 Updated version checking for 1050 FWbyte 0x45 vs 0x48 ## 2.1.3.275 # 11/01/21 Added more delay for kenel multi-loading VP5300M Updated multi-loading K81/bootloader/1050 final reboot waiting ## 2.1.3.274 # 10/28/21 Updated VP6800 over serial fw update for packages Added retry logic VP3600 Added logic to verify version when update reports failure ## 2.1.3.273 # 10/27/21 Added retry logic to multi=load utility Added additional reboot time to VP3320 When bootloader not reporting, will not check bypass versions Added logCallback recognition Fixed response from large SD card read Fixed 1050 update to recognize 0x48 when 0x45 doesn't work ## 2.1.3.272 # 10/26/21 Added reboot delay for VP5300M/VP3600 Fixed VP6800 firmware upadate Removed legacy .zip file format Fixed ADF reboot issue FiXed ADF start application Fixed getSelfCheckTime Fixed block data size checking Fixed 1050 firmware update issue Added logic to combine 0x63 packets when large response Added function to detect when serial cable is unplugged Fixed stack overflow on device_setAudioVolume in NEO2 class Fixed enter standby mode Fixed device reconnect scanning USB Fixed lcd_getAudioVolume calling wrong function ## 2.1.3.271 # 10/25/21 Added delay for possible double-reboot on FW update ## 2.1.3.270 # 10/21/21 Fixed VP6800 Multi FW Update pausing on kernel Fixed VP6800 Single FW Update crashing on button push ## 2.1.3.268 # 10/21/21 Fixed URL Override ## 2.1.3.267 # 10/21/21 Updated getKernelVersionEXT to recognize NGA devices Updated Firmware reconnect routines Fixed capturing MSR swipe SREDKey2 Fixed Twice MSR swipe SREDKey2 ## 2.1.3.265 # 10/19/21 Updated documentation for device_updateFirmwawreFromZip Fixed cancelMSR to bypass SDK status check Fixed capturing and parsing RKI encoded data (trans_armour_TDES) ## 2.1.3.264 # 10/14/21 Updated device_updateFirmwareFromZip to include Concierge files Reduced .Net Version from 4.6 to 4.5 ## 2.1.3.263 # 10/15/21 Updated firmware update routines to add more delay after reboot ## 2.1.3.262 # 10/14/21 Updated firmware update routines to add more delay after reboot ## 2.1.3.261 # 10/13/21 Fixed 25-07 when not set reboot time (get reboot time) to not wait for reboot Updated firmware update routines to add more delay after reboot ## 2.1.3.260 # 10/12/21 Added delay for K81 firmware completion before kernel fw start ## 2.1.3.259 # 10/7/21 Fixed Kernel Update Routines ## 2.1.3.258 # 10/7/21 Fixed VP3300 Update Routines ## 2.1.3.257 # 10/6/21 Added ZMQ functions to resolve ambiguity issues Added SecureMag 0F66 / 467D ## 2.1.3.256 # 10/4/21 Added support for QuickChip over HID 01-14 ## 2.1.3.254 # 10/4/21 Fixed 01-0a wait for reboot function ## 2.1.3.252 # 10/1/21 Updated to ignore F0-00 on non Bluetooth VP3300 ## 2.1.3.251 # 10/1/21 Updated VC to pass verify if all tags exist, but warn if additional tag also exist Fixed Set Poll Mode when CTLS poll mode settings out of sync ## 2.1.3.250 # 9/29/21 Fixed AutoPoll/PollOnDemand waiting for reboot error Fixed beeper verification on VC configuration check ## 2.1.3.249 # 9/26/21 Added ZMQ Compatibility Code ## 2.1.3.248 # 9/20/21 Fixed 1050 Firmware Update disposed object error on first block write Added delay for VP3300 retrieveTranasactionResults on WorldPay transaction ## 2.1.3.247 # 9/20/21 Added SREDKey 2 PID 4522 ## 2.1.3.246 # 9/16/21 Optimized reboot checking device count on bootloader mode ## 2.1.3.245 # 9/15/21 Increased bootlaoder mode change in multi-mode from 15 second to 12 seconds + 1 second for each device ## 2.1.3.244 # 9/15/21 Updated firmware routines to recognize bootloader A already installed on multi-loading ## 2.1.3.243 # 9/14/21 Increased firmware reboot time from 10 seconds to 15 seconds ## 2.1.3.242 # 9/14/21 Added FirmwareUpdate.cs class with Multi-USB FW Update Routine ## 2.1.3.241 # 9/10/21 Updated firmware update routines for USB/IDG devices ## 2.1.3.240 # 9/10/21 Removed ZMQ logic Updated device reboot routines ## 2.1.3.238 # 9/1/21 Updated reconnect in bootloader mode routines for all devices ## 2.1.3.237 # 8/31/21 Throttle USB connect/disconnect for proper device recogniion ## 2.1.3.236 # 8/30/21 Added logic to SREDKey2 that boots with MSR cert message so it can continue firmware update without error Fixed crash on slower PC CPU during K81 manifest firmware update Fixed polling for correct certificate type on SREDKey2 when MSR Cert message is displaying ## 2.1.3.235 # 8/30/21 Fixed version extraction from file name and not file path when creating Firmware Package selection list ## 2.1.3.234 # 8/30/21 Fixed Production Certificate Checking On Firmware Update by Manifest, will attempt to ping device for connectivity before proceeding ## 2.1.3.233 # 8/27/21 Added SupressTimeOutError Added retry logic to firmware update after reboot ## 2.1.3.231 # 8/27/21 Added RebootDelay for VP5300 Added USB support for MiniMagII (reports as SecureMag) ## 2.1.3.230 # 8/25/21 Updated RKI routines for Multi_Key compatibility Changed device identifiers to attempt to include device serial number ## 2.1.3.229 # 8/24/21 Removed "Bootloader FW 1" checking forceing bootloader a, when it could also be K81 Added device_certificateType to determine if Prod or Demo on NEO2/SREDKEY2 ## 2.1.3.228 # 8/23/21 Updated firmware manifest class definition ## 2.1.3.227 # 8/21/21 Fixed KioskII PID recognition Added support for Concierge Firmware Files Added device_updateDeviceFromManifest Updated device_updateFirmwareFromZip to read concierge format Updated firmware writing routines ## 2.1.2.226 # 8/18/21 Added JsonConfig for saveComm routine Recognize RETURN_CODE.RETURN_CODE_SUCCESS_WAIT_FOR_REBOOT as success condition VC-272 ## 2.1.2.225 # 8/9/21 Removed Void and Return to WorldPay transaction types ## 2.1.2.224 # 8/4/21 Removed Remote API restrictions Fixed firmware update refresh when FW_UPDATE is device type ## 2.1.2.223 # 8/4/21 Removed Application ID for WorldPay Change WorldPay application name to ID Tech Common L2 ## 2.1.2.222 # 8/3/21 Updated WorldPay VP6300 LCD Amount Issue Updated DUKPT AES Decryption Logic ## 2.1.2.221 # 7/28/21 Removed unnecessary nuget dependencies ## 2.1.2.220 # 7/27/21 fixed Sym RKI for NGA Type B not wrapping command ## 2.1.2.219 # 7/22/21 Added WorldPay transaction class acket Updated reboot routines Updated ZMQ connectivity Added the following ZMQ methods: public RETURN_CODE zmq_updateFirmwareFromZip(byte[] zipfile, string ident = "") public RETURN_CODE zmq_updateFirmwareType(FIRMWARE_TYPE type, byte[] firmwareData, string ident = "") public RETURN_CODE zmq_getAnyRKIStatus(ref string status, ref Dictionary keys, string ident = "") public RETURN_CODE zmq_getRKIStatus(bool isProd, ref string status, ref Dictionary keys, string ident = "") public RETURN_CODE zmq_executeRKI(RKI_KEY_TYPE type, string ident, string keyName = "") public RETURN_CODE zmq_sendConfiguration(string file, string ident = "") ## 2.1.2.217 # 7/1/21 ZMQ: Added device_sendConfigurationProxyFile ZMQ: Added device_sendConfigurationBase64 Fixed ZMQ hang when updating firmare from a bootloader device Fixed ZMQ firmware failure incorrect parameter ## 2.1.2.216 # 6/30/21 VC update 9A, 9F21 to UTC when writing to devie ## 2.1.2.215 # 6/30/21 VC ignore dynamic tags 9F1E, 9F21, 9A, DFED22, FFF2 ## 2.1.2.214 # 6/21/21 Fixed VC QCKB reboot on VP3300 ## 2.1.2.212 # 6/21/21 Firmware Timeout Value Updated for RemoteAPI Fixed VC QCKB reboot when mode missing but quickchip mode valid ## 2.1.2.211 # 6/18/21 Firmware Timeout Value Updated for RemoteAPI Fixed VC QCKB reboot when start in QCKB ## 2.1.2.210 # 6/17/21 Fixed verification fail DFED22 ## 2.1.2.209 # 6/15/21 Added Profile.disableUSB Fixed Enter Key Crash on VP6300 Fixed Augusta QCKB ViVOconfig failure ## 2.1.2.208 # 6/14/21 Fixed vivoconfig flag resetting on setting MSR D3 Removed warning when vivoconfig sends a command not supported on a device Fixed unnecessary mode change on SREDKey2 ## 2.1.2.207 # 6/09/21 Fixed out of range exception on NGA firmware updates If getSerialNumber fails, will return error condition instead of SUCCESS with "No Serial Number" ## 2.1.2.206 # 6/09/21 Fixed LogCB Null Reference Exception ## 2.1.2.205 # 6/08/21 Fixed VC reporting missing aid warning when validating aid list ## 2.1.2.204 # 6/07/21 Added device_RemoteKeyInjection ## 2.1.2.203 # 6/07/21 Added additional FW type 256 = ZIP ## 2.1.2.202 # 6/01/21 Added additional FW type 256 = ZIP Fixed ViVOConfig to handle empty data sets ## 2.1.2.201 # 6/01/21 Added Large File Support for Remote Message Queue operation (Z Fixed VC verification failures on CAPK Fixed Terminal Data verification failure ## 2.1.2.199 # 5/14/21 Fixed remote API connection callback added RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS_WITH_WARNING added RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS_WITH_WARNING ## 2.1.2.198 # 5/06/21 fixed parsing UniPay card data over Xamarin SXS-29 Fixed SecureMag RKI update Removed VC mode requirement in .json terminal_configuratin section Fixed missing mode tag producing null reference exception Added emv_getEMVKernelVersionExt ## 2.1.2.197 # 5/04/21 Added device_getRKIStatus Added device_getAllRKIStatus Added device_getPIPMode Added device_setPIPMode Updated VC to recognize new PIP modes (HID, KB, HIDKB) Updated VC file format to 2.0.4 Updated loading DFED22, 9F1E and FFF2 after ctls config. Fixed ViVOConfig Version checking Updated PIP reboot routines when changing modes Updated RKI/SecureMag to correctly recongnize NAK when other data follows ## 2.1.2.196 # 5/02/21 Removed StartExternalAccessory for Xamarin Added ExternalAccessory automatic detection for Xamarin Set early callback queue to capture callback messages before setting callback is executed Fixed capturing UniPay Swipe Data ## 2.1.2.195 # 4/30/21 device_startTransaction will execute emv_startTransaction on UniPay ## 2.1.2.194 # 4/30/21 Fixed recording device mode for SREDKey2 on profile capture Fixed Augusta mode check on profile write ## 2.1.2.193 # 4/29/21 Fixed recognizing install rules ## 2.1.2.192 # 4/27/21 Changed VC Load Order so terminal settings load before AID settings Fixed parsing UniMag/Shuttle card data Fixed duplicate KB mode setting writing on Augusta Updated KB reading of IDG responses ## 2.1.2.191 # 4/26/21 Fixed USB-HID packet reporting on Xamarin . Moved Xamarin DataReceived reporting from thread to direct exeuction ## 2.1.2.190 # 4/23/21 Fixed parsing large packets in KB mode . Fixed parsing small packets in KB mode Fixed bad verification routines Fixed verify SRED d2,d3,d6 Modified TransArmor reporting routines* Document adf_eraseFlash Fixed L80 firmware update in passthrough mode Updated VC format to 2.0.3 Removed mode/qc from config_meta (will use terminal info) Recognize install rule when finalize in KB = false Fixed Enable ADF to stay connected on reboot ## 2.1.2.189 # 4/22/21 Xamarin compatibility updates. ## 2.1.2.188 # 4/22/21 Xamarin compatibility updates. ## 2.1.2.187 # 4/20/21 Xamarin compatibility updates. ## 2.1.2.186 # 4/12/21 Added Xamarin iOS Compatibility methods for iMag data transfers. ## 2.1.2.185 # 4/09/21 Restored CMD_REQUEST_CONNECTED_DEVICES to return all devices before returning command success response. ## 2.1.2.184 # 4/08/21 Fixed recognizing card insert when front insert sensor not operating on NEOII ## 2.1.2.183 # 4/06/21 Fixed multi-device issues with ZeroMQ Fixed VP3300 setTime function crash when response is null ## 2.1.2.182 # 3/31/21 Added the following methods for Xamarin UniMag SDK - msr_getUniMagSettings - msr_setSwipeEncryption - msr_setUniMagDefaultGeneralSettings - msr_getUniMagNextKSN - msr_errorNotificationUniMag; - msr_expirationDateUniMag - msr_forceEncryptionUniMag - msr_setPrePANUniMag - msr_resetBuadRateUniMag Added iMag support for getFirmware, get serial number Updated Json file version to 2.0.2 Added new install rule ViVOconfig Finalize in HID Mode Added capture device original mode Made all locks static for RemoteAPI ## 2.1.2.181 # 3/30/21 Added 0x5D to MSR settings for ViVOConfig CS-3943 Fixed recognizing ITP ACK/NAK on KB mode CS-3939 Adjusted reboot timeout when doing 1050 firmware updates SWCSHAR-566 ## 2.1.2.180 # 3/30/21 Fixed syncronization issues for NetMQ sending ## 2.1.2.179 # 3/26/21 Fixed SDK blocking cancelling commands if command is executed on a device other than default SDK device Stopped FastEMV from converting to new tag format Fixed list all ctls aid when data is returned as 0x63, but next packet does not contain any additional AID data ## 2.1.2.178 # 3/24/21 Removed conflicting tags between old and new versions (tag conversion routines) VC-226 ## 2.1.2.177 # 3/23/21 Fixed KB reading buffer issues CS-3927 Added Device Command Verify Execution on Verify ## 2.1.2.176 # 3/19/21 Added ViVOConfig file versioning and checking. VC file version 2.0.1 Fixed RKI Demo A on VC3300 Fixed Augusta multi-device crash during vc mfg updates ## 2.1.2.175 # 3/18/21 Added possible response checking on transactions to eliminate double command entry ## 2.1.2.175 # 3/18/21 Added possible response checking on transactions to eliminate double command entry ## 2.1.2.174 # 3/16/21 Added config_getKeySlotInfo to NEOII Fixed PAE string recognition on USB/Serial ## 2.1.2.173 # 3/15/21 Added adf_getModuleInfo(ADF_TYPE type, ref byte[] info, string ident = "") Added adf_ApplicationControl(ADF_APP_CONTROL state, string ident = "") Added adf_setADFMode(bool enable, string ident = "") Added adf_setJTAG(bool enable, string ident = "") Added adf_eraseFlash(ADF_TYPE type, string ident = "") Added adf_getADFMode(ref bool enable, string ident = "") ## 2.1.2.172 # 3/12/21 Updated recognizing legacy/new tag formats when working with configuration groups ## 2.1.2.171 # 3/11/21 Fixed USB drivers on Windows 7 ## 2.1.2.170 # 3/11/21 Fixed Device Command executing in ViVOConfig load routines Removed ctls_getAllConfigurationGroups from VP8800 ## 2.1.2.169 # 3/10/21 SecureMag RKI wrapping command ## 2.1.2.168 # 3/03/21 Fixed install rule finish in kb execution ## 2.1.2.167 # 3/03/21 Modified SDK to re-check for USB connection Added delay after reboot to allow device to accept commands Added Get All Configuration Groups for VP8800 Added null reference checking for comm in Message Callback ## 2.1.2.166 # 3/01/21 SREDKey2 Reboot issues on Set Self Check Time SREDKey2 Reboot issues on Firmware Update Changing modes VP3300 updated Fixed last error reporting to eliminate non-printable chars ## 2.1.2.165 # 2/23/21 Fixed multiple device reporting connection issues ## 2.1.2.164 # 2/19/21 Fixed switching from QCKB to HID mode ## 2.1.2.163 # 2/19/21 Added ip_firstConnectToSocket ## 2.1.2.162 # 2/19/21 Removed serial buffer delay causing multiple serial packets to combine incorrectly Fixed device connections not fully reporting properly when all connected on startup Fixed date out of range error ## 2.1.2.161 # 2/18/21 Restored signed message table for Legacy L100 firmware. Restored function: public RETURN_CODE pin_promptForAmountInput(int messageID, int languageID, int minLen, int maxLen) Restored function: public RETURN_CODE pin_promptForKeyInput(int messageID, int languageID, bool maskInput, int minLen, int maxLen) ## 2.1.2.160 # 2/17/21 Removed executing Pin Fail/Cancel callback when Pin Cancel callback is executed ## 2.1.2.159 # 2/17/21 Updated callbacks to execute on separate thread for proper state management ## 2.1.2.158 # 2/17/21 Fixed L100 pin keypress reporting Fixed L100 pin results reporting Fixed L100 sleep mode rejecting commands ## 2.1.2.157 # 2/15/21 Fixed deleting images when empty folder VC-210 Fixed crashing VP3300 on connection VC-209 ## 2.1.2.156 # 2/12/21 Added compatibility with IDT_USBBridge.cs file for UWP USB Communication Fixed deleting images when empty folder VC-210 Fixed crashing VP3300 on connection VC-209 ## 2.1.2.154 # 2/4/21 Updated Android USB connect on startup drivers Added error checking for invalid IP address on ZMQ Changed read timeout to measure time after last data receive, not for all data to be collected. Updated device_getModuleVersion to catch incorrect lenght parsing Fixed serial data parsing when multiple run-on packets Added setBaud to NEOII class ## 2.1.2.153 # 2/2/21 Updated firmware routines for performOnForeground getKCV array checking Fixed KSN checking when AES ## 2.1.2.152 # 2/2/21 Made startRKI isTest required parameter Added additional debug logging for RKI post data ## 2.1.2.151 # 1/29/21 Made production PKI-RKI server configurable Correctly record device serial number to communication class for RKI retrieval ## 2.1.2.150 # 1/26/21 Fixed pin_inputCapture custom callbacks ## 2.1.2.149 # 1/26/21 Recognize Test Firmware as both ".T" and ".Test" ## 2.1.2.148 # 1/26/21 Fixed parsing device string when device = null ## 2.1.2.147 # 1/26/21 Updated version parsing to be only 4 components VC-204 ## 2.1.2.146 # 1/25/21 Fixed validating 1050 firmware version on 5 component compare VC-204 Added checking serial number on RKI update Added recording serial number to comm class on serial number parsing ## 2.1.2.145 # 1/21/22 Fixed ViVOconfig treating all group 0 AID as system AID CS-3785 ## 2.1.2.144 # 1/21/21 Fixed NGA command wrapping when "calcNextNGA" is set SWCSHAR-529 ## 2.1.2.143 # 1/20/21 Fixed reporting status condition when pin entry is cancelled by keypad cancel button SWCSHAR-528 ## 2.1.2.142 # 1/19/21 Removed IsTestCert certificate checking for RKI RKISW-180 ## 2.1.2.141 # 1/19/21 add timeout parameter to pin_capturePinExt SWCSHAR-527 ## 2.1.2.140 # 1/19/21 Fixed L100 Passthrough for RKI updates SWCSHAR-524 Set VP3300 Date/Time upon device connection SWCSHAR-523 ## 2.1.2.139 # 1/18/21 Fixed L80 Passthrough Updated PKI-RKI for L80/L100 ## 2.1.2.138 # 1/14/21 Added flag to bypass rebootpause on fw update for VP3300 Update Utility Return USB PID value with DeviceConnected callback Added minimum 10 second buffer between device reboots ## 2.1.2.137 # 1/12/21 Recognize Vendi and VendIII tap data TS-22579 ## 2.1.2.136 # 1/11/21 Fixed index out of bounds error when terminating program using IP connected device Fixed blocking when waiting for device reboot after FW update on VP6800 Fixed registering FW callback parameter on FW update on VP6800 ## 2.1.2.135 # 1/6/21 Ignore 0x15 when verifying ETX ## 2.1.2.134 # 1/4/21 Added custom delay for HP Reader Added additional reading wait time for KB mode to detect duplicate ETX ## 2.1.2.133 # 12/30/20 device_getUsbBootLoader to report as ASCII instead of hex-ascii Removed sendData Command from IDTechComm Fixed serial data verification process making RKI fail ## 2.1.2.132 # 12/28/20 Added comm.delayWrite for executing delay between last KB read and next kb write Added comm.delayRead for executing delay between KB write and KB read Renamed "Set Symm RKI URL" to "Set RKI URL" Add 50ms delay between reading multiple serial port responses ## 2.1.2.131 # 12/21/20 Removed extra parameter from msr_getMSRTrack ## 2.1.2.130 # 12/18/20 Fixed reconnect to IP when unplugged ## 2.1.2.129 # 12/16/20 Removed device_startRKI from L80 Removed device_SymmetricRKI Added device_StartRKI Added device_Symmetric_RKI Added device_PKI_RKI Fixed Ethernet Reboot Fixed K81 update over Ethernet Fixed reconnect routines over Etherned ## 2.1.2.128 # 12/8/20 Get Transaction Results crashed when card was inserted and auto poll mode - Fixed ## 2.1.2.127 # 12/8/20 Removed KeyInput/AmountInput for Sig/Enc L100/L80 updated promptForKeyInput Embed NetMQ, AsyncIO, NaCL into SDK (remove external dependencies) Xamarin Updates ## 2.1.2.126 # 12/8/20 Recognize ITP Command 37 Added pin_promptForAmountInputEnc pin_promptForKeyInputEnc Added addition usb sync fixes for Xamarin Android communication ## 2.1.2.125 # 12/7/20 Null value checking on getSerialNumber Added Get Key Status L80 Added Get DateTime Status L80 Removed network references Removed block size validation for L80 firmware update Fixed command buffer sync issues after firmware update reboot Added lcd_linkUIWithTransactionMessageId(byte messageID, string screenName, string ident = "") to NEOII ## 2.1.2.124 # 12/4/20 Supress error message if unable to poll quick chip mode Fixed restoring QCKB mode if .json does not have mode setting Fixed partial terminal settings ## 2.1.2.123 # 12/3/20 Fixed restoring QCKB mode for VP3300 ## 2.1.2.122 # 12/3/20 Fixed reading QCKB as mode, instead of KB ## 2.1.2.121 # 12/2/20 Restored QCKB mode on read, not just KB mode ## 2.1.2.120 # 12/2/20 Updated switch to HID mode to turn off QC mode and restore terminal settings from QC mode change ## 2.1.2.119 # 11/30/20 Updated cert server from, 99.93.153.229 to 64.183.79.196 Fixed final terminal config to match vivo config file ## 2.1.2.118 # 11/19/20 Fixed reading config changing modes ## 2.1.2.117 # 11/19/20 Fixed error condition on new swipe request VP5300 ## 2.1.2.116 # 11/18/20 Fixed error condition on new swipe request VP5300 ## 2.1.2.115 # 11/09/20 Added PID for WhiteSands, Olympic, VP6810, VP6820 Added public RETURN_CODE lcd_startScanQR_ext(ushort timeout, ushort xcord, ushort ycord, ushort width, ushort height, string ident = "") Fixed finishing VC write in correct mode fixed RT-1050 firmware update issues ## 2.1.2.114 # 10/28/20 fixed packet terminaltion when serial data snippet ends with 0x0D on IDG device ## 2.1.2.113 # 10/19/20 Fix list CRL crash when unexpected data ## 2.1.2.112 # 10/16/20 Evaluate both VID and PID when attempting to recognize USB devices ## 2.1.2.111 # 10/13/20 Republish nuget because 2.1.2.110 package corrupt ## 2.1.2.110 # 10/12/20 Fixed recognizing K100 over serial Added Remote API Methods ## 2.1.2.109 # 10/1/20 Fixed PINFAILED callback on bad PIN verification VP3600 Fixed whitelist length being included in KB mode ## 2.1.2.108 # 9/25/20 added function device_updateFirmwareKernels to allow multi-kernel updated in one step on NEOII Updated NEOII xml file device names, removing SpectrumPro, BTPay 380, and replacing with VP5300, VP3600 Removed Get White List error reporting for VC Fixed Whitelist capture in KB mode Added Multi-App Controller Support SD Card File Transfers NEOII Added L80 support Fixed whitelist capture Augusta Added Set Whitelist From BDK for Augusta ## 2.1.2.107 # 9/22/20 Removed image loading full path parsing ## 2.1.2.106 # 9/16/20 Fixed white list collection Augusta KB Fixed recognizing bad swipe data output ## 2.1.2.105 # 9/14/20 Fixed crash when plugging in USB device with active COM connection Fixed rs232 disconnect when usb disconnected Fixed rs232 remapping to usb on device reconnect Fixed KB device buffer getting out of sync because of premarture timeout value Fixed K81 update over RS232 ## 2.1.2.104 # 9/14/20 Fixed switching to KB mode when reading VP3300 Fixed whitelist reading/writing VP3300 Updated LoadImages to be at any location ## 2.1.2.103 # 9/10/20 Added Xamarin Compatibility features for iOS Platform ## 2.1.2.102 # 9/1/20 Removed Serial Number and FW reading on startup ## 2.1.2.101 # 9/1/20 Removed fix for ## 2.1.2.101 # 9/1/20 Added Xamarin Supported DeviceState: - BluetoothScanComplete - PlugInserted - PlugRemoved - UniPayICC - DeviceMessage Added IDT_DEVICE_IMAG for Xamarin Added DEVICE_INTERFACE_Types DEVICE_INTERFACE_XAMARIN for Xamarin Fixed setting beeper value "true" when VP3300 Fixed setting/removing group tag when group 0 in config groups ## 2.1.2.100 # 8/27/20 Removed MSR setting 88 for SREDKey2 ## 2.1.2.099 # 8/26/20 Restored SecureMag Protocol support ## 2.1.2.098 # 8/26/20 Fixed crash when invalid data received msr_getSettings Added list of msr settings to ignore Updated reboot mount time to 30 seconds ## 2.1.2.097 # 8/25/20 Removed forcing HID mode for SREDKey2 VC updates Removed SN from device identifier ## 2.1.2.096 # 8/25/20 Updated SREDKey2 MSR setting filtering for VC ## 2.1.2.095 # 8/24/20 Restored reboot mount timeout to 20 seconds removed set/get merchant record for SREDKey2 Fixed msr_getTerminalData to request Tag value input ## 2.1.2.094 # 8/20/20 Fixed checking SDK status issue Fixed serial number SREDKey2 Fixed intedrmittent device not switching modes Fixed MFG tool crashing no serial number units ## 2.1.2.093 # 8/19/20 Fixed checking SDK status issue ## 2.1.2.092 # 8/18/20 Added device_setTransArmorEncryption to SREDKey2 Added msr_setTerminalData to SREDKey2 Added msr_getTerminalData to SREDKey2 Added msr_resetTerminalData to SREDKey2 Added msr_startSwipeTransaction to SREDKey2 Added msr_cancelTransaction to SREDKey2 Added msr_startKeyedTransaction for SREDKey2 Fixed RKI for VP8800 ## 2.1.2.091 # 8/18/20 Restore wait for device reboot to 15 seconds ## 2.1.2.090 # 8/17/20 Added "Set Poll Mode" for SRED Key 2 Updated USB device filtering VC-127 Updated SREDKey2 Firmware Update routines ## 2.1.2.089 # 8/17/20 Updated device reboot routines to not require serial number checking. ## 2.1.2.088 # 8/13/20 Fixed serial number capture when serial number not available on USB Descriptor ## 2.1.2.087 # 8/13/20 Fixed rebooting VP3300 in KB mode ## 2.1.2.086 # 8/12/20 Fixed crash when mounting USB devices with serial number missing from USB descriptor Fixed populating serial number with IDG command when serial number is missing from USB descriptor ## 2.1.2.085 # 8/12/20 Restored Firmware Update reboot condtion to success instead of timeout Moved background image loading in ViVOconfig to be after button loading Updated rebooting devices with no serial number to have them correctly recognize/mount ## 2.1.2.084 # 8/05/20 Add Set Merchant Record / Get Merchant Record to SREDKey2 Added VP3300 Serial Port Support Fixed kernel loading routines Updated error codes NEO2 Rev 95.4 ## 2.1.2.083 # 8/04/20 Added card data recognition routines for cases where card data is returned a command response data Added function to restart transaction by performing cancel when transaction returns busy status ## 2.1.2.082 # 8/03/20 Fixed polling mode PIP CS-3449 ## 2.1.2.081 # 7/30/20 Fixed Device Command Processing/Verification VC-90 Changed KioskIII list aids timeout to 10 seconds Allow timetout = 0 seconds updated image verification Added device reboot after images are loaded VC-115 ## 2.1.2.080 # 7/30/20 Updated USB Device Management Routines ## 2.1.1.079 # 7/24/20 Image Loading broke with verification routines. Now fixed ## 2.1.1.078 # 7/23/20 Adjusted timeout for receive all AID on KioskIII over Serial Fixed getMSRSettings for KB single byte responses Fixed reading 3e on Augusta Fixed Smartcard Writing ## 2.1.1.077 # 7/22/20 Fixed reboot issues with set quickchip mode ## 2.1.1.076 # 7/22/20 Fixed Possible Response command queue sync issues Fixed cancel command when in the middle of receiving transaction data Adjusted timeout for receive all AID on KioskIII over Serial Fixed SREDKey2 msr-read ## 2.1.1.075 # 7/21/20 Added auto-verify to VivoConfig when writing profiles ## 2.1.1.074 # 7/21/20 Added Get/Set MSR Settings to SREDKey2 Removed logging thread that returned log results out of order Fixed multi-byte msr settings for SREDKey2 Fixed reconnect issue over RS-232 during NEOII firmware updates ## 2.1.1.073 # 7/20/20 Map callback response to correct output window ## 2.1.1.072 # 7/20/20 Updated msr multi-setting to recognize single setting response Added usb bus re-scan on reboot failures. ## 2.1.1.071 # 7/16/20 Updated serial number checking routines Added Device Command Verification support Verified multi-type write OK Fixed CRL verification checking ## 2.1.1.070 # 7/16/20 Added PIP support Added Device Command support ## 2.1.1.069 # 7/16/20 IDTechComm class will capture device serial number upon connection Fixed crash if MSR setting are null while writing VP3300 Set 0xd2 and 0xd3 to be multi-byte msr setting For ViVOconfig load/read from KB device, switch to HID mode first ## 2.1.1.068 # 7/15/20 Enhanced FW Upadate over Serial Added VP3350 PID/Support to SDK Fixed Sredkey2 changinging into KB mode after FW update in HID mode ## 2.1.1.067 # 7/14/20 Fixed crash repairing VC files if location is unwritable Updated docs Fixed data checking in lcd_ClearDisplay Fixed data checking emv_retrieveAIDList ## 2.1.1.066 # 7/13/20 Removed timeout option from pin_capturePinExtended Added message lenght checking for pin_capturePinExtended Added VivoConfig MFG Updates ## 2.1.1.065 # 7/09/20 Fixed TransArmor recognition on SREDKey2 Added New Install Rule to VC "Load_Images" ## 2.1.1.064 # 7/08/20 Added recognition of 0x41 commands on SecureMag Added pin_capturePinExt Add logic to allow failure of DFED22/9F1E for ViVOconfig ## 2.1.1.063 # 7/05/20 Recognize 66-31 Cancel Key Press Fix crash if hardware info response is null Added device_pollForToken to NEOII Fixed SREDKEY2 FW Updates Fixed getFirmware L100 passthrough Fixed getKeyStatus L100 passthrough Fixed Reboot L100 passthrough ## 2.1.1.062 # 7/01/20 Added new Install Rule "Set_Self_Check_Time" Added new Install Rule "Set_Date_Time" Fixed install rules erasing data ## 2.1.1.061 # 6/30/20 Fixed passing quickchip value 30/31 to VP3300 Created Install Rules for ViVOconfig Created emv_addTerminalData to add single tags to emv terminal data Restored IDT_NEO2.useUSB functionality. TS21633 ## 2.1.1.060 # 6/23/20 Updated PAE protocol recognition on serial drivers Fixed filtering out 00 at end of ITP packet if packet ends with 0300 Fixed IDT_Device forgetting device type after pause for reboot function Fixed capturing SecureMag on AutoMode ## 2.1.1.059 # 6/23/20 Updated mounting serial devices to validate firmware version Updated PAE protocol recognition on serial drivers Added terminal type reporting to NGA devices Added SmartCard section to ViVOconfig profile ## 2.1.1.058 # 6/23/20 Added Virtual Device Support. ## 2.1.1.057 # 6/15/20 Fixed VP3300 processing NGA rki commands Fixed incorrect device type reporting on ViVOconfig Fixed issue of only being able to load a single NEOII device on startup. ## 2.1.1.056 # 6/13/20 Added VP6800 image and xml processing Added fileDirectory to terminal info .json ## 2.1.1.055 # 6/8/20 Added missing functions to VP3300 class Removed Felica for VP3300 Added IDTechComm.receiveTimeout and IDTechComm.sendTimeout Changed ip_isConnected to allow ping attempts < 3 Added 01-05 to ViVOconfig VC-68 Changed emv_completeTransaction from 300ms to 1000ms timeout value Fixed PiP Firmwarare Update Routines Fixed Version Type Reporting Updated HID/KB switching routines ## 2.1.1.054 # 5/30/20 Added CRC Checking to Serial ITP buffer ## 2.1.1.053 # 5/28/20 Added Rev Z retry logic ## 2.1.1.052 # 5/28/20 Added Rev Z Production Compatiblity ## 2.1.1.051 # 5/28/20 Added LRC validation for ITP packets to verify correct is received ## 2.1.1.050 # 5/26/20 Fixed Ziosk RKI to SDK Fixed exception error when fixing a file with missing hash ## 2.1.1.049 # 5/26/20 Add Ziosk RKI to SDK Fixed SecureMag ITP processing when NGA/IDG packet Fixed SecureMag Reboot correct success condition reporting Fixed firmware update for SREDKey2 Fixed SecureHead MSR capture ## 2.1.1.048 # 5/22/20 Update SDK to recognize TM4 RKI error conditions and report accordingly ## 2.1.1.047 # 5/22/20 Corrected the fixing of missing hash ## 2.1.1.046 # 5/21/20 Updated KB mode parsing to recognize RKI command "55" ## 2.1.1.045 # 5/20/20 ViVOconfig: Updated firmwware recording to be pre-hid mode switch ViVOconfig: Add MSR setting D6 when in HID mode ViVOconfig: Add encryption settings to .json ViVOconfig: Fix security settings section in .json ViVOconfig: Fix HID restart when quickchip setting executed ## 2.1.1.044 # 5/20/20 Fixed broken IDG firmware update introduced in 2.1.1.043 ## 2.1.1.043 # 5/20/20 Fixed SREDKey2 HID mode recognition Fixed Updating Firmware IDG to use C7-41 from firmware file Fixed capturing 0x24, 0x3e Fixed setting 0x2, 0x3e Fixed mode changing failure reporting ## 2.1.1.042 # 5/18/20 Accommodate LCD messages that get transmitted before command response ACK Fixed serial number report in json file Fixed incorrectly validating NGA packet with IDG logic Fixed NGA firmware update issue ## 2.1.1.041 # 5/14/20 Fixed GetDate / GetTime potential crash if null data returned Fixed emv_activateTransaction for KioskIII Fixed parsing SecureKey card swipe data Fixed PIP connection issue ## 2.1.1.040 # 5/12/20 Added Kiosk II VID/PID 1D5F/0100 to be recognized as Kiosk III Fixed Serial Number being written over by firmware version in Hardware Section Fixed FastEMV crashing reading loop Added "pmc_status" F0-00 function to .json read/write ## 2.1.1.039 # 5/11/20 Added memo feature SET-9F1E to automaticaly set tag with sn Fixed reporting incorrect device type on some vivoconfig messages ## 2.1.1.038 # 5/07/20 Added file name checking for valid value when loading vivo config files. Updated 03-05 to keep last AID listing in memory if called on next command Removed FFE4 when saving ctls data group 0 in VivoConfig Fixed getCTLS group parsing in VivoCongif Added Augusta Beeper recordng to VivConfig CS-3280 Added KBtoCard data in Common class, to convert kb card data to binary transaciton data object. Added retryCount to IDTComm class to set command retries on timeout condition Added minTimeout to IDTComm class to override command timeout. Added memo feature SET-DFED22 to automaticaly set tag with sn/kernel ## 2.1.1.037 # 4/29/20 Enabled multi-device handling Add felica_SendCommand to KioskIII,NEO2, VP3300 VP8800 Fixed felica_write command Fixed SecureMag KB->HID switch Fixed SecureMag HID->KB switch Fixed SecureMag card parsing Removed AugustaKB startMSR/cancelMSR functions Update Common.getByteArray to allow odd number characters Update set whitelist sred device Fixed setting transarmor ID on Augusta Fixed ctls configuration group read crash Fixed ctls configuration group delete crash Added VivoConfig routines ## 2.0.1.036 # 4/09/20 increased retry attempts on firmware update SWCSHAR-362 ## 2.0.1.035 # 4/08/20 fixed emv_activateTransaction crash SWCSHAR-360 fixed serial firmware updates to account for no response SWCSHAR-357 ## 2.0.1.034 # 4/03/20 Updated serial drivers to wait when receiving data is incomplete SWCSHAR-358 updated createFastEMVData to return plaintext masked data in swipe ## 2.0.1.033 # 4/02/20 Added SecureMag serial read drivers SWCSHAR-358 ## 2.0.1.032 # 4/02/20 Added patch to SDK in case of multiple SecureMag responses SWCSHAR-358 Added createFastEMVData API to individual device classes ## 2.0.1.031 # 3/27/20 Fixed msr_startMSR capture on SecureMag TS-20661 Fixed Augusta Light Control during EMV Transaction Added createFastEMVData API ## 2.0.1.030 # 3/27/20 Fixed getEncryptionControl ICC reporting status TS-20661 ## 2.0.1.029 # 3/23/20 Removed 50ms delay between fw packets on 1050 update SWCSHAR-356 Recognize either PEM or DER format for set transarmor ID SWCSHAR-346 Fixed msr_startMSR for Augusta CS-3144 ## 2.0.1.028 # 3/17/20 Added Update NEOII Kernels Functionality SWCSHAR-344 ## 2.0.1.027 # 3/13/20 Fixed reboot connect VP6800 TLS IP SWCSHAR-350, SWCSHAR-351 Updated QR_Scan, Camera functions for VP6800 to recoginze 0x63 response code Fixed commands getting out of order on "no response" CS-3124 Added "Insert Card" when attempting to swipe chip card and device_StartTransaction VP3300 CS-3124 ## 2.0.1.026 # 3/11/20 Fixed 1050 FW update USB reboot reconnection SWCSHAR-320 Added PID for VP3320 SRED (0x4511) ## 2.0.1.025 # 3/10/20 Added thread safety to process command ## 2.0.1.024 # 3/10/20 Fixed PIP Firmware Update CS-3104 Removed get Wifi and BLE MAC address SWCSHAR-341 ## 2.0.1.023 # 3/9/20 Fixed K81 FW Update Routines SWCSHAR-327 Fixed 1050 reboot routines SWCSHAR-327 Fixed device reboot routines SWCSHAR-336 Fixed self check reboot routines SWCSHAR-337 ## 2.0.1.022 # 2/27/20 Addeded additional file transfer attempts when fail during 1050 update SWCSHAR-299 Exchange Certificates, Nonces, and Keys (63-07) Generate DUKPT IK Using KEK (63-08) Verify DUKPT IK Loaded on ETC (63-09) Request PIN from ETC (63-0A) Get ETC DUKPT Key KSN (63-0B) Fixed ICC Present status parsing attribute byte when EMV error ## 2.0.1.021 # 2/27/20 Removed invalid K100 routines Added pin_enableKeypad for K100 ## 2.0.1.020 # 2/26/20 Removed SDK Blocking during EMV transaction ## 2.0.1.019 # 2/21/20 Removed SDK Blocking during EMV transaction ## 2.0.1.018 # 2/18/20 fixed endless loop ctls_removeAllCAPK fixed endless loop on ctls_felica commands ## 2.0.1.017 # 2/18/20 Added Linux and Mac OSX support (running .NetCore 3.1) ## 2.0.1.016 # 2/14/20 Removed protocol passing requirement when setting device type or establishing comm class (will use look-up table instead) ## 2.0.1.015 # 2/13/20 Added setting output mode for SREDKey2 Changed pin_PanManualEntry to 100ms possible response ## 2.0.1.014 # 2/12/20 added neo2, vp3300, unipay 1.5 config_getEncryptionControl added neo2, vp3300, unipay 1.5 config_setEncryptionControl Fixed timeout issue with commands on KioskIII/IV USB-HID ## 2.0.1.013 # 2/10/20 Fixed blocking callbacks - now send to thread (03-03/05 cmd) Fixed KB connection - reverted to previous working USB KB connectors Fixed RKI for SPECTURUM PRO, NEOII, VP8800, SREDKEY2 ## 2.0.1.012 # 2/10/20 Fixed serial crash when 0 bytes ## 2.0.1.011 # 2/10/20 Fixed reboot error SREDKey2 ## 2.0.1.009 # 2/07/20 Fixed error reporting on IDG commands ##2.0.1.008 # 2/04/20 Fixed Possible Response returning null data causing crash on some EMV transactions Fixed KB-only device to not spin up listening thread Embedding NEO2_Devices.xml ## 2.0.1.007 #2/04/20 Set Backlight Fixed to new spec SDKCSHARP-25 ## 2.0.1.005 # 1/17/20 Fixed L100 Passthrough Communication Issue ## 2.0.1.004 # 1/09/20 Fixed HP Securehead Support HID If SecureHead RKI, will ignore 0x15 response and retry instead of exiting with error Fixed device_setListenNotifications to properly turn on/off card insert notifications (01-07) ## 2.0.1.003 # 1/07/20 Added HP Securehead Support Added 500 ms to RKI for SecureHead KB devices on last command