Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.


[UNRELEASED]

[13.?.?] - 2026-??-??


[13.0.0] - 2026-05-25

⚠️ Breaking

  • Send()/SendReceive() now return "PC Suite: ERR 4020" when not connected (was "ERR Sync: Not Connected!"). Callers using AACommEventArgs.IsError are unaffected.
  • Mixed-mode rejection strings removed — Send and SendReceive no longer reject each other (see Changed).
  • Rename HighPrecGainScale_SupportedHighPrecGainScaleAMAT_Supported
  • AACommServer closed-connection error payload changed to "PC Suite: ERR 4021" (was "AACommServerNotRunning"). Callers using AACommEventArgs.IsError are unaffected.

Added

  • New CommAPI.IsResetting property — true during the post-Reset recovery window.
  • SendReceive returns "ERR Sync: Session terminated" on session death (distinct from "Timeout").
  • New OnUserProgramVarsUpdated event — fired when a User Program download changes cached global vars.
  • AACommSniffer: MaxTotalSizeMB (default 1500) caps total disk usage; MinUserSessionMs (default 2000) filters noise from rapid reconnect cycles.

Fixed

  • SendReceive no longer deadlocks when the internal dispatcher dies unexpectedly.
  • Post-AReset reconnect retries with backoff (5 × 500 ms) instead of failing on first attempt. Eliminates mysterious timeouts when controller is slow to recover.
  • IPC framing: coalesced TCP receives no longer cause spurious disconnects under sustained load (both server and client side).
  • IsConnected now correctly becomes false when AACommServer closes cleanly (was silently stale until next Send failed).
  • OnCommsError no longer silently suppressed during brief dispatcher-iteration gaps.

Changed

  • Send and SendReceive fully thread-safe for concurrent use — no more mutual rejection. FIFO ordering preserved per-flow. Re-entry guard: calling SendReceive from inside an OnReplyReceived callback returns an error instead of deadlocking.
  • Internal transport rebuilt on dual independent pipelines (no public API change).
  • AACommSniffer: default disk footprint reduced from ~9.5 GB to ~1.3 GB; stale snapshots trimmed automatically.

[12.1.1] - 2026-04-17

Changed

  • Packaging: NuGet sidecar selection is now OS-based instead of TFM-based. Windows consumers (net48 or net8.0) always receive the WPF AACommServer.exe (net48 build, runs on any Windows with .NET Framework 4.8 — keeps sniffer/UI available to net8.0 Windows consumers). Non-Windows net8.0 consumers continue to receive AACommServerNetConsole

[12.1.0] - 2026-04-15

Fixed

-AAComm/Services/ARPTools: SendARP multi-NIC discovery fix: scan from all local Ethernet interfaces on the target subnet instead of relying on OS routing (SrcIP=0). Fixes discovery missing controllers when multiple NICs share the same subnet (e.g. 172.1.1.220 and 172.1.1.225). - New GetLocalIPsOnSubnet() returns local IPs matching a subnet - GetSubnetActiveIPs() now scans per-NIC in parallel using ScanSubnetFromSource() with explicit SrcIP binding - New PingAddressFromMatchingNICs() tries ARP from every matching NIC - PingAddress() overload accepts srcIP parameter - Thread-safe results using ConcurrentBag (replaces unsafe List)


[12.0.0] - 2026-04-03

⚠️ Breaking

-AAComm/Services/ControllerIdentityContainer: Removed deprecated const MaxNumOfRecParams (use MaxNumOfRecVectors) -AAComm/Services/AllStatInterpreter: Constructor now requires CommAPI (old int-based constructor removed) -AAComm/Shared/AllStatData: All fields upgraded from int to double -AACommNative/ParseAllStatData: Removed newFeatures parameter -AAComm/Services/CanDescriptionBuilder: Make class static, change methods 0AAComm/Extensions/RemoteFpgaInfo: Change FPGAVersion from 'Version' to 'string'

Changed

-AAComm/Services/Feature_02: Add LockSrcZero_Supported -AAComm/Extensions/RecData: Expose RecParamsResolver class + more functionality -AAComm/Extensions/RecData: Expose RecUploadNext functionality -AAComm/Extensions/RecData: Expose LoggerDataContainer to parse LoggerUpload -AAComm/Extensions/RecData: Expose ScopeDataContainer to parse ScopeUpload -AAComm/Services/AllStatInterpreter: Add float/double support -AAComm/Services: Add a 'SpecialMessages' static class with common controller parameters -AACommServer + API: Ethernet packet sniffer for debugging communication issues - Auto-captures traffic on Ethernet channel open/close - Session snapshots saved to Error/User/Marked folders on disconnect - UI: status indicator, statistics, enable checkbox, mark capture button - Ring buffer with configurable retention policies

Fixed

-AAComm/Extensions/RecData: Correct float/double rec upload data processing -AAComm/Extensions/RecData: Legacy RecUpload header parsing trigger type/mask -AAComm/Services/AllStatInterpreter: Correct float/double AllStat data resolution (was parsing all values as int)

[11.1.0] - 2026-03-08

Changed

-AAComm: 'Push' notifications support + API -AAComm: Read exact 'Identity' indexes at Connect() without 'out of range' controller error break

Fixed

-AACommServer: .NET SDK 10 Resource Loading Fix -AACommServer: multi-threaded debug log access crash

[11.0.0] - 2026-01-07

⚠️ Breaking

-AAComm and AACommServer: Deprecate .NET 4.0 targets

Changed

-AAComm/Extensions/RecData: Fix incorrect trigger initialization at TriggersContainer -AAComm/Services/Feature_02: Add HighPrecGainScaleOFR_Supported -AAComm/FW download: Add 'AACommBinFwInfo' class for AGM800 FW file info -Manage/FPGA: Refresh file contents during Remote FPGA download

[10.0.0] - 2025-12-01

⚠️ Breaking

-AAComm/IdentityContainer: Rename property: IsInBoot -> InBoot Rename property: NewFeatures_1 -> NewFeatures_01 Factor-out 'Features' containers (NewFeatures_1,2) Factor-out 'Versions' container (FW, FPGA, CM, ESI,..) Factor-out 'Connectivity' items (IP, MAC, COM port,..) Move 'IsCiMasterExt' from IdentityContainer to ProductTypes Move 'IsEtherCATExt' from IdentityContainer to ProductTypes Fix: RS-232 and USB connection failed if Ethernet cable disconnected

⚠️ Breaking

-AAComm: Remove: 'MinMsgDelayMsec', 'IgnoreDebug13', 'IsUser1', 'DrawCodeCRC', 'ChannelType.User1UDP', 'ChannelType.User1RS232'

Changed

-AAComm/IdentityContainer: Add support for 'New_Features_02' (Identity[62]) -AAComm/IdentityContainer: DrawModeProfiler_Supported, HomingStep_21_Supported bits -AAComm/FW download: Allow FW download over any IP address -AAComm/FW download: Fix flashing of AGD301 in boot mode -AACommServer CAN connect: Fix native CANLibCLS dependency resolution -AAComm/MessageData: Correctly apply scaling factor to 'float' and 'double' parameters


[9.1.0] - 2025-07-25

Changed

  • AAComm: IdentityContainer: Add 'InjectTypeBeforeMotorOn' flag
  • AACommServer: Improve Ethernet communication to fix 300 msec delay

[9.0.1] - 2025-05-23

Fixed

  • AACommServerAPI: Ethernet: multiple NIC up/down connect issue

[9.0.0] - 2025-05-12

⚠️ Breaking

  • AAComm: Change IsAACommServerRunning() to return 'ConnectResult' enum

Changed

  • AAComm: Remove ParamAbout handling "hack"
  • AAComm: Improve reliability of StartAACommServer() function
  • AAComm: Correct error code for disconnected Ethernet cable at Connect() call

Fixed

  • General: Correct the 'manual' AAComm package .net 6.0 and 8.0 targets

[8.0.0] - 2025-03-21

⚠️ Breaking

  • AAComm/Services/ControllerMessagesContainer: Deprecate 'MnemonicToData' and 'AllMnemonicsHashLow' containers

Changed

  • AAComm/OnResetProgress: Improve behavior and invoke in NEW task
  • AAComm/Shared/ProductTypes: Mark AGM400 as 'deprecated'
  • AAComm: Add implicit ParamAbout handling

[7.1.2] - 2025-02-12

Changed

  • AAComm: Add protection against invalid AACommMessage format
  • AAComm: Increase AGM800 'reset time' to 10 sec.
  • AAComm: Extend FwInfo validations at Connect() with Current Rating
  • General: Update YAML nuget to 16.3.0

Fixed

  • AAComm/Extensions/AACommDownloadFW: Fix AGM800 DL over non-default IP

[7.1.1] - 2025-01-16

Changed

  • AACommServer: Improve faults logging, add "save log" button

[7.1.0] - 2024-11-21

Added

  • AAComm/Extensions/DlFPGA: Add support for EC FPGA DL

Changed

  • AACommServer/API: Add .NET 4.0 target
  • AAComm: Add PULSE_SYNC product type
  • AAComm/Services: Add 'AACommAxisHelper' class
  • AAComm/Extensions/AACommFwInfo: change signature of ValidateFwFiles()

[7.0.4] - 2024-09-16

Changed

  • General: Allow connecting over wifi interfaces

[7.0.3] - 2024-06-16

Fixed

  • General: .NET 4.0 YamlDotNet reference 4.2.2

[7.0.2] - 2024-06-11

Changed

  • AAComm: Add 'MessagesInBulk' property
  • AAComm/Shared/DataRecParams: Add 'ParamsToRecParamArray' helper function

Fixed

  • AACommServer: "Exclusive comms. access" bug

[7.0.1] - 2024-06-01

⚠️ Breaking

  • AAComm/Extensions/AACommFwInfo: Change CTOR signature
  • ControllerIdentityContainer: SlowLoggerByTime -> DataLoggerByTime

Added

  • Extensions: add "RecData" related classes and functionality
  • Support 'float', 'double', 'long' parameters: Terminal, IDE+, Watch and Panel windows
  • Add support for AGD101-EC product type
  • Add support for AGD156-EC product type
  • Add .NET 6.0 and 8.0 targets, deprecate 4.6, core 3.1, 5.0 targets
  • AACommDownloadFW: Support EC ESI image flashing
  • AACommServerAPI: extended logging mechanism, logs saved at Documents\PCSuite\AACommServer_DebugLogs
  • AAComm/Services: Add 'VerifySingleAACommClient' helper class
  • AAComm/Services: Add 'AACommExclusiveCommsManager' helper class

Changed

  • AACommServer Simulator: Improve behavior for LARGE parameters file
  • AACommDownloadFPGA: Add 'Product type' protection to '.ver; file
  • Shared.ProductTypes: Add NameToId and IdToName functions
  • ConFault LocaleProvider resolving for negative values: "Fault by user: xyz"
  • AAComm: Fail initialization if YamlDotNet is missing
  • ControllerIdentityContainer: FloatPhase_1_Supported property
  • ControllerIdentityContainer: MultipleGantry_Supported property
  • AAComm: Disable SendReceive() timeout when DEBUGGER is attached
  • AACommServer window: Add "trim long messages" checkbox
  • AACommServer: Add setting + folder for "implicit shutdown log" functionality
  • AACommDownloadFW: Add protection vs. other device on IP 172.1.1.101
  • AACommDownloadFW: Add protection vs. incorrect EC CM FW file
  • Services/ConnectionData: Add static properties: ET_IP_Default and ET_IP_DefaultSubnet
  • AACommServer window: Improve 'debug log' UI
  • AACommServer: Improve protection vs. connect/disconnect re-entry
  • Services/COMTools: Add support for 'Prolific' RS-232 manufacturer
  • ControllerIdentityContainer: Add Draw Control related property
  • AACommDownloadFPGA: Over Ethernet, allow only IP 172.1.1.101
  • AACommServer: Allow "retrying" socket init. upon process start
  • Services/AllStatInterpreter: Support axes I to L
  • AACommServer: Improve logging
  • AACommServer: don't show a messagebox if sim. file is missing
  • ControllerIdentityContainer: Add DefaultSamplingRate(ProductType) function
  • AAComm/Services/LocaleProvider: Add support for Draw err. 5001-6000
  • ControllerIdentityContainer: HomingSteps_19_20_Supported property

Fixed

  • AACommDownloadFW: Add protection CPU1/CM files mismatch
  • AACommServer: RecUpload (all "continuous" messages) over Ethernet bug
  • AACommServer: 'EA bulk' message: don't append duplicated '>'
  • AACommServer: Download User Program over CAN bus bug
  • ParametersInfoDB: Fix incorrect DB file encoding
  • Services/CanDescriptionBuilder: Fix ParseCanDewscription() wrongly parsing axis > H
  • AACommServer: Linux support: Ethernet socket 'fast ack' related bug
  • AACommServer: Ethernet 'fast ACK': Enable only for Windows >= v.10
  • Params Info: MotionStat bits map strings
  • AACommServer: Protect against Debug Log overflow
  • AACommServer: Ethernet: fix double '>' at end of 'continuous' messages (i.e. ProgInfo)

[6.0.0] - 2023-05-01

⚠️ Breaking

  • Removed multiple unused properties and functions

Added

  • ParametersInfoDB: Refactor + add support for 'values' descriptions

Changed

  • LocaleProvider: Refactor, deprecate functions
  • ControllerMessagesContainer: deprecate GetJerkMessage() function

[5.5.0] - 2023-03-13

Added

  • Support for 'BMI:' prefix: Bulk message that ignores errors

Changed

  • ControllerIdentityContainer: 'MasterPWM_Supported' property
  • AAComm.CommAPIWrapper: Add GetCanDescriptionFromParameter()

Fixed

  • AAComm: Set proper timeout when MotorOn,1 is sent using ','

[5.4.0] - 2023-03-03

Added

  • AAComm.Services: Add ParametersInfoDB class(es) (also add to Services.MessageData)
  • General: Support for RecUploadB - new recording stack

Changed

  • ControllerIdentityContainer: 'DoubleFlash_Supported' property
  • ControllerIdentityContainer: 'HomingSteps_17_18_Supported' property
  • ControllerIdentityContainer: 'CNC_Feature_8_Supported' property
  • ControllerMessagesContainer: properties, CTOR's, etc. ⚠️ Breaking (but no one uses this!)
  • AAComm.Shared.Timeouts: Add DownloadUPBin = 10 sec.
  • AAComm.Extensions.AACommDownloadUP: Increase process timeout

[5.3.1] - 2023-01-19

Changed

  • ControllerIdentityContainer: Add IsEtherCAT property
  • AAC: Improve big packets Rx handling

Fixed

  • AACS: Fix RecUpload and ProgInfo error interpretation
  • Fix nuget YamlDotNet dependency

[5.3.0] - 2022-12-21

Added

  • AACommDownloadFW: Add support for AGD155_EC Core1 and CM FW DL

Changed

  • ControllerIdentityContainer: Deprecate 'MaxNumOfRecParams' property
  • Update YAML nuget
  • AACS/Ethernet: Increase socket receive buffer to 2M bytes
  • AACommDownloadFW: Improve protections
  • AACS/RS232 handler: Refactoring
  • AACS/Log: Trim long messages after 1K characters
  • AAComm/AACS/Ethernet: Decrease 'long' messages handling time by a factor of x100 (i.e. RecUpload, ProgInfo, ...)
  • AACS Wnd: Add 'Stay on top' checkbox

Fixed

  • AACommDownloadFPGA: Deprecate unneeded Reset at end of process

[5.2.0] - 2022-11-15

Added

  • AACS: Controller over Ethernet: 10x speed increase of "continuous messages"

Changed

  • Add public class "Services/HeaderParser.cs"
  • AAComm.Extensions.DL_FPGA: Add "reset" at the end of DL FPGA process
  • AAComm.IdentityContainer: Add "Halls-only Phasing supported" property
  • AAComm.IdentityContainer: Add "CNC 3D Arc supported" property

Fixed

  • AACS: Simulation: Do NOT save changes to the Parameters file
  • AACS: Simulation: Allow parallel use by multiple clients

[5.1.0] - 2022-06-19

Added

  • AACS: Improve 'debug' logging and auto-save log on implicit AACS close

Changed

  • Add support for AGD155-EC
  • Internal: Add lock section for socket closure
  • AAComm: Increase ASave time-out to 60 sec.
  • AAComm.IdentityContainer: Add 'indirect array indexing is supported' flag
  • AAComm.Services.CanDescriptionBuilder: Add new functions for User Program CCC handling (internal use!)

Fixed

  • AAComm.Services.ControllerIdentityContainer.FPGAVersionStr: 'Dyn Brk Mismatch' is NOT an FPGA fault
  • AACS: Fix CAN Tx/Rx bug when connecting to multiple controllers over a 'daisy chain'
  • AACS: Deprecate a LOCK section that prevented send/receive while Connect was in progress

[5.0.1] - 2022-03-07

Changed

  • AAComm.Services.ControllerErrorInterpreter: Add 'IsAssignedValOutOfRange()' static function
  • AACommNative: Fix dependencies and add YAML dll to package
  • Documentation: Some additional details

Fixed

  • Simulator connection: Increase 'Open' timeout to accommodate for large parameters files

[5.0.0] - 2022-02-02

⚠️ Breaking

  • Removed AAComm.Services.ControllerErrorInterpreter.MotionStatTests (now multi-lang.)
  • Removed AAComm.Services.ControllerErrorInterpreter.GetErrorCodeByName() (deprecated)
  • AAComm.ControllerIdentityContainer.AnyFPGA_Fault + IsFaultyFPGA... properties are replaced with "UnitStat" property. Contact Agito for faults interpretation.

Added

  • Add .NET 5.0 target framework
  • AAComm.Services.LocaleProvider class that handles multi-language support
  • Add User Program Download protection (target controller FW version check)
  • Add support for 16 bit (large) arrays

Changed

  • Download FW: Increase MAS02 erase flash to 22 sec
  • AAComm.Shared.ProductTypes: add public GetProductIdByName() function
  • AACommNative: Add IsAACommServerRunning() function wrapper
  • AAComm.Services.GetFTDI_COMs(): Add try-catch

[4.15.1] - 2021-09-29

Changed

  • Add IdentityContainer "CNC_Feature_6_Supported" NewFeatures bit property

Fixed

  • FW DL bug over RS-232

[4.15.0] - 2021-09-16 (DEPRECATED: FW DL bug over RS-232)

Added

  • Introduce AAComm <-> AACommServer "error reporting" and logging protocol

Changed

  • Improve ConnectResultInterpreter class
  • Improve Connect() error reporting

[4.14.0] - 2021-09-10

Added

  • Support for SBCB and BMCB message type for CNCB support
  • Shared/ConnectResultInterpreter class for ConnectResult enum interpretation

Changed

  • ControllerIdentityContainer/IsFPGAVersionEqualOrGreater(): allow 3 "version" values

Fixed

  • Fix FW/UP/FPGA DL bug over non-Ethernet channels (due to 4.13.0 "protections" feature)

[4.13.0] - 2021-09-06 (DEPRECATED: FW/UP/FPGA DL bug over non-Ethernet channels)

Added

  • AAComm property "AACommServerVersion"
  • Add multi-AACommServer client protection for FW, FPGA, remote FPGA, UserProg download

Changed

  • Add IdentityContainer "GearMasterProfiler" NewFeatures bit property
  • Add IdentityContainer "SlowLoggerByTime" NewFeatures bit property
  • Add IdentityContainer "SmoothAutophase" NewFeatures bit property
  • Add IdentityContainer "IsNoGolden" UnitStat bit property
  • Add IdentityContainer "ProductVariant" Identity property
  • Add 'Vector' MotionStat texts

[4.12.1] - 2021-08-24

Changed

  • Add 'Spline Buffer Stop' MotionStat text

[4.12.0] - 2021-08-12

Added

  • AACommDownloadFPGA: Don't allow Ethernet FPGA DL over other than 172.1.1 subnets (non-AGM800 products only)

Changed

  • AGM800 DL FW: Increase sleep time after DL FW from 8 to 12 sec
  • FPGA DL: Don't allow download when BOOT version < 1.013

Fixed

  • Don't sleep after "failed" Reset request

[4.11.0] - 2021-06-24

Added

  • New "Extension": FPGA Download for Master remote unit

Changed

  • FPGA DL: CAN is NOT supported
  • Increase Load and Save timeouts
  • MessagesContainer InitErr property to indicate failure reason

[4.10.0] - 2021-06-08

Added

  • Extensions/DL FW & FPGA: Add FW/FPGA compatibility validation
  • New MotionReason status: Controlled stop by input

Changed

  • ControllerErrorInterpreter: Use random file name for errors list resource
  • FwInfo: Add info item 26: "Additional Bi-Quad Filters bypassed"
  • UserProgVarsAdapter: ignore white-spaces

[4.9.5] - 2021-05-13

Changed

  • ControllerMessagesContainer: Use random file name for default messages list
  • AACommServerAPI: Fix OpenEnded reported assembly version (not used ATM)

[4.9.4] - 2021-05-10

Fixed

  • AGM400: increase reset time for proper reconnect

Added

  • Extend FW/FPGA mismatch indication (Support for UnitStat bits[1,2])

Changed

  • Increase ALoad command timeout from 2 sec to 10 sec

[4.9.3] - 2021-04-18

Changed

  • Add DRV3-V6 controller type (8) to Product Types
  • Connect: Do not fail if AIdentity[22] (RS232 cable type) doesn't exist
  • FullCurrDirOperation property: Indicates that Current Direction operation is fully supported

[4.8.3] - 2021-03-24

Changed

  • Add DRV3-V6 controller type (8) to Product Types
  • Connect: Do not fail if AIdentity[22] (RS232 cable type) doesn't exist

[4.7.3] - 2021-02-05

Changed

  • AACommCore must use explicit AACS file StartAACommServer() parameter
  • Change LoggerUpload message from "Continuous" to "Regular"
  • Don't allow RecUploadNext in a "bulk" message
  • Add delay between "Discover connection" IP pings to not stress the connection. Introduced to fix a fault at AGD155 when user program is running

[4.7.2] - 2020-12-25

Fixed

  • FPGA Download over RS-232

Changed

  • AAComm Core: start AACS process improvement
  • AAComm Core: default AACS: AACSCoreConsole on non-Win32 OS

[4.7.0] - 2020-12-07

Added

  • AACommDownloadFW: Don't allow Ethernet FW DL over other than 172.1.1 subnets (non-AGM800 products only)

[4.6.1] - 2020-11-29

Added

  • Support for recognition of User Program defined Global Variables and Task names (See CommAPI.Services.UserProgramInfo class for more details.)
  • Add ControllerErrorInterpreter.GetErrorDescriptionByAACommEventArgs() function

Changed

  • Support detection of multiple IP's set on a single NIC

[4.5.1] - 2020-11-09

Fixed

  • AACommServer simulation mode 'file name' bug

Changed

  • Add 'Bulk' error code 4002 - "unexpected reply format"

[4.5.0] - 2020-11-08

Added

  • Improve FPGA Download error message

Changed

  • Add ConnectResult.FailMacAddress error code

[4.4.0] - 2020-10-29

Added

  • ControllerIdentityContainer.IsFPGAVersionEqualOrGreater function

[4.3.0] - 2020-10-18

Added

  • Add "CNC_TrueJerk_Supported" property to ControllerIdentityContainer
  • Add .NET 4.8, remove 4.62. target frameworks
  • Add .Net Core RS-232 support (in dev!)

Changed

  • Improve ConnectResult.CorruptAboutFile error code file logic
  • Support "old" '/' FW info names: AGD200orAGC300 and AGD301/AGC301
  • 'Bulk message': Add error code '4000' for empty, and '4001' for longer than 100 components
  • 'Bulk message': Add protections for (bulk) unsupported keywords

[4.2.0] - 2020-09-17

Added

  • Add "Group 10" to AllStatData: DInPortHigh and BoardTemp
  • Add "HomingByLock_Supported" property to ControllerIdentityContainer
  • Add "VectorMotion_Supported" property to ControllerIdentityContainer

[4.1.0] - 2020-09-10

Added

  • Improve AAComm.StartAACommServer() capabilities to support .NET Core server

[4.0.0] - 2020-09-09

Added

  • Resolve AAComm <=> AACommServer socket port number according to OS (instead of target framework) (results in interoperability between .NET and .NET Core assemblies on Windows)
  • Add .NET 4.6.2 target framework

Changed

  • Introduce Semantic Versioning 2.0.0 (https://semver.org/) to AAComm and AACommServer (no compilation breaking, or backwards incompatibility changes introduced)

[3.0.3.1] - 2020-09-06 (.101 for NUGET)

⚠️ Compilation-breaking AAComm changes

  • Introduce new "AAComm.Shared.ProductTypes" class to manage product names and enums
    • Products names were changed according to new names convention
    • All previous ControllerIdentityContainer and AACommFwInfo references that relate to Product ID and name, must be redirected to ProductTypes
    • CiG1-MAS01 => AGM400
    • CiG1-MAS02 => AGM800
    • AG100-DRV50 => AGD155
    • AG300-CTL01 => AGD200/AGC300
    • AG300-CTL02 => AGD301/AGC301
  • Make property CommAPI.IsAACommServerRunning STATIC
  • Make function CommAPI.StartAACommServer() STATIC

Changed

  • Improve AAComm documentation (including 'Bulk' message type)
  • Protection against LocalHost loopback "rogue" connect requests

Fixed

  • AllStat handling time bug (MAS02)

Added

  • Protect all synchronous API functions against multi-thread re-entry (mutual lock)
  • Package and NUGET for .NET 4.0 and 4.6
  • CNC_Feature_5_Supported ControllerIdentityContainer property

[3.0.2.8] - 2020-08-27

Fixed

  • AllStat handling time bug

Added

  • ControllerIdentityContainer.IsFaultyFPGA property, supported for FW >= 1.3.0.1-142

[3.0.2.7] - 2020-08-17 (DEPRECATED: AllStat handling time bug!!)

Fixed

  • Protect AACommServer startup vs. corrupt user.config file
  • AGD301/AGC301 product names

Added

  • Backwards compatibility for old products names

[3.0.2.6] - 2020-08-16 (DEPRECATED: AllStat handling time bug!!)

Added

  • AAComm.Extensions.AACommFwInfo: Rename products according to new definitions
  • Services.COMTools.GetFTDI_COMs: add default "GetAllCOMPorts" parameter (no backwards compatibility issues)

Changed

  • Update documentation
  • CommAPI.DocsAppFolder to "PCSuite" (default folder for FW connection history)

[3.0.2.5] - 2020-08-05 (DEPRECATED: AllStat handling time bug!!)

Added

  • FPGA download: rolling progress bar

Changed

  • Remove Microsoft.Windows.Compatibility dependency
  • Improve 'special' messages handling (implicit CTOR: need "BM:", explicit CTOR: NO "BM:")

[3.0.2.4] - 2020-08-04 (DEPRECATED)

Added

  • FPGA download support

[3.0.2.3] - 2020-08-02

Changed

  • StartAACommServer(string AACSFile = "") => AACS file NAME instead of path (defaults to "" -> look within working directory)
  • Default timeout to IsCommServerRunning(int timeoutMS = 100)
  • Rename TemwoutMs.ResetProceesType to TemwoutMs.Reset
  • Rename MessageType.Reset to MessageType.ResetRequest
  • Rename MessageType.RecUpload and TimeoutsMs.RecUploadTimeout to "Continuous"
  • Remove MessageType.About and TimeoutsMs.AboutTimeout (now "Continuous" is used)
  • Rename all TimeoutMs enums (remove "Timeout" from items names)
  • Simplify AACommMessage class and CTORs - resolve messageType and timeout automatically!!
  • Add SetTimeoutMs to AACommMessage
  • AACommFwInfo.ValidateFwFiles() is no longer static
  • New function: AACommFwInfo.VerifyCurrents()
  • AACommDownloadFW.StartDownloadingSafe() now has a new parameter: "verifyCurrents" (does NOT work in BOOT mode, does NOT work with MAS02; FW DL will "fail" with an error, user must uncheck the checkbox, or pass "false" to the API function)