Bluetooth Framework 7.19.4.0 has been released

  • 08.12.2024
  • wclGattClient: Reading connection parameters on Windows 10;
  • wclGattClient: Monitoring connection parameters changes on Windows 10.

Bluetooth Framework


Bluetooth Framework 7.19.3.0 has been released

  • 29.11.2024
  • New error code: WCL_E_BT_AUDIO_FEATURE_NOT_SUPPORTED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_STARTED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_STOPPED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_CREATE_TERM_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_START_THREAD_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_GET_SELECTOR_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_CREATE_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_SET_ADDED_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_SET_REMOVED_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_WATCHER_START_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_CLOSED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_OPENED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_CREATE_TERM_EVENT_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_START_THREAD_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_CREATE_CONNECTION_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_SET_EVENT_HANDLER_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_ENABLE_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_DEVICE_CONNECTED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_START_CONNECT_FAILED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_START_TIMEOUT;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_START_DENIED;
  • New error code: WCL_E_BT_AUDIO_RECEIVER_START_UNKNOWN_FAILED;
  • Bluetooth Audio Receiver;
  • wclBluetoothLeBeaconWatcher: Apple Continuity messages parsing;
  • wclBluetoothLeBeaconWatcher: OnProximityBeaconFrame even removed, use OnAppleiBeaconFrame instead;
  • New class: wclBluetoothAudioWatcher;
  • New class: wclBluetoothAudioReceiver;
  • VCL Edition: new function wclGattCompareUuid to compare TwclGattUuid structures;
  • VCL Edition: new functions wclGattMakeUuid to create TwclGattUuid for short and long GATT UUIDs;
  • C++ Edition: == and != operators to compare wclGattUuid structures;
  • C++ Edition: new functions wclGattMakeUuid to create wclGattUuid for short and long GATT UUIDs;
  • .NET Edition: == and != operators to compare wclGattUuid structures;
  • .NET Edition: new constructors in wclGattUuid to create wclGattUuid for short and long GATT UUIDs.

Bluetooth Framework


Bluetooth Framework 7.19.2.0 has been released

  • 24.10.2024
  • BLED112: Fixed short lock when connection terminating by calling Disconnect() during connect;
  • RfCommClient: Fixed issue when real timeout is less than specified;
  • Code optimization.

Bluetooth Framework


Bluetooth Framework 7.19.1.0 has been released

  • 15.10.2024
  • Messaging subsystem: now works on MacOS (VCL Edition);
  • Microsoft: Fixed dead-lock when terminating (calling Disconnect() during connecting) GATT client connection;
  • Microsoft: GATT implementation code optimization;
  • Microsoft: GATT implementation code refactoring.

Bluetooth Framework


Bluetooth Framework 7.19.0.0 has been released

  • 08.10.2024
  • Error code removed: WCL_E_BLUETOOTH_LE_ADVERTISING;
  • Error code removed: WCL_E_BLUETOOTH_LE_CREATE_ADVERTISING_MUTEX_FAILED;
  • Error code changed: WCL_E_BLUETOOTH_LE_SUBSCRIBE_FAILED;
  • Error code changed: WCL_E_BLUETOOTH_LE_GATT_SERVER_NO_SUBSCRIBED_CLIENTS;
  • New error code: WCL_E_MR_INVALID_THREAD;
  • New error code: WCL_E_MR_UNABLE_CREATE_TERM_EVENT;
  • New error code: WCL_E_MR_INVALID_MESSAGE_PROCESSING_METHOD;
  • New error code: WCL_E_MB_RECEIVER_NOT_FOUND;
  • New error code: WCL_E_PEM_GET_POWER_STATUS_FAILED;
  • New error code: WCL_E_PEM_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_THREAD_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_FAILED;
  • New exception: wclEPowerEvents;
  • New exception: wclEBluetoothManager;
  • New exception: wclEBluetoothLeSniffer;
  • wclECritical exception was deleted, assert() used instead;
  • wclThread class has been removed because it is not required with updated messaging subsystem;
  • Fixed bug with named events when event can be set from other process that uses Wireless Communication Library;
  • Messaging subsystem: Message category definition changed;
  • Messaging subsystem: New message categories;
  • Messaging subsystem: wclWiiCategoryMessage renamed to wclWiiRemoteCategoryMessage;
  • Messaging subsystem: Code refactoring;
  • Messaging subsystem: wclMessageSynchronizationKind type renamed to wclMessageProcessingMethod;
  • Messaging subsystem: wclMessageBroadcaster.GetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster.SetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster new post method to post message to a receiver by ID;
  • Messaging subsystem: timestamps (created, queued and processed) added to the wclMessage class;
  • Messaging subsystem: Unique ID for Message Receiver;
  • Messaging subsystem: APC message processing method remove, use mpAsync instead;
  • Messaging subsystem: mpAsync processing speed increased;
  • Messaging subsystem: re-designed;
  • Messaging subsystem: now each MessageReceiver object may have separate own Message Processing Method;
  • Messaging subsystem: description;
  • wclMessageBroadcaster Wait methods removed;
  • wclOsVersion: class moved from wclHelpers to wclOsVer file;
  • wclOsVersion: OsVersion property of class renamed to OsType;
  • wclOsVersion: read OS Major and Minor version number;
  • wclOsVersion: wclWinVer type changed to wclOsType;
  • wclGetErrorInfo functions removed, use wclErrorInformation class instead;
  • PowerEventsMonitor: new state psPowerStatusChanged;
  • PowerEventsMonitor: new method GetPowerStatus;
  • PowerEventsMonitor: new property MessageProcessing allows to set Message Processing Method;
  • Connections: each connection may have own Message Processing Method;
  • .NET Edition: Windows specific CreateEvent() replaced with .NET Event;
  • .NET Edition: Windows specific CreateMutex() replaced with .NET Mutex;
  • .NET Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • .NET Edition: IoT GattClient sample application re-worked;
  • .NET Edition: Connections assembly refactoring;
  • .NET Edition: wclHelpers.Wait() and wclHelpers.WaitEx() methods removed;
  • C++ Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • C++ Edition: IoT GattClient sample application re-worked;
  • C++ Edition: Windows specific Mutex functions replaced with WCL functions;
  • C++ Edition: Windows specific Event functions replaced with WCL functions;
  • C++ Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Precompiled Lazarus packages updated to Lazarus 3.4 and FPC 3.2.2;
  • VCL Edition: Windows specific RTL_CIRITICAL_SECTION replaced with platform independent TwclCriticalSection;
  • VCL Edition: correct OS reading with Lazarus on MacOS;
  • VCL Edition: msxml dependences removed from OBEX implementation on Lazarus;
  • VCL Edition: msxml dependences removed from wclErrorInformation class on Lazarus;
  • VCL Edition: wclErrorInformation works on MacOS with Lazarus;
  • VCL Edition: new GattClientConsole sample application, shows how to use TwclGattClient class in console or service applications with asynchronous message processing;
  • VCL Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Windows specific Event functions replaced with WCL functions;
  • VCL Edition: Windows specific Mutex functions replaced with WCL functions;
  • VCL Edition: Lazarus fixed some thread function pointers;
  • WSA event API replaced with standard event API;
  • BlueSoleil: memory allocation optimization in RfCommClient and RfCommServerClient;
  • Microsoft: memory allocation optimization in RfCommClient and RfCommServerClient;
  • Microsoft: RfCommClient and RfCommServerClient data reciving error decoding fixed;
  • Microsoft: event handling re-worked;
  • Toshiba: memory allocation optimization in RfCommClient and RfCommServerClient;
  • Data reciving error decoding fixed in client and server;
  • GitHub: AutoGattOperations sample application updated;
  • GitHub: ContinueDiscovering sample application updated;
  • GitHub: DroneRemoteId sample application updated;
  • GitHub: ErrorToText sample application updated;
  • GitHub: FewDevicesPairing sample application updated;
  • GitHub: FewPinsPairDemos sample application updated;
  • GitHub: GattAuth sample application updated;
  • GitHub: DroneRemoteId sample application updated;
  • WeDo Framework updated;
  • Lazarus sample applications updated;
  • BluetoothManager: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • BleSniffer: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • AudioSwitcher: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • AudioMeter: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • AudioVolume: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • All Bluetooth components now automatically switches to mpAsync when running in separate thread (in the thread other than one used when called wclBluetoothManager.Open() method). If the component runs in the same thread it uses the same Message Processing method as wclBluetoothManager.

Bluetooth Framework


IrDA Framework 7.9.0.0 has been released

  • 08.10.2024
  • New error code: WCL_E_MR_INVALID_THREAD;
  • New error code: WCL_E_MR_UNABLE_CREATE_TERM_EVENT;
  • New error code: WCL_E_MR_INVALID_MESSAGE_PROCESSING_METHOD;
  • New error code: WCL_E_MB_RECEIVER_NOT_FOUND;
  • New error code: WCL_E_PEM_GET_POWER_STATUS_FAILED;
  • New error code: WCL_E_PEM_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_THREAD_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_FAILED;
  • New exception: wclEPowerEvents;
  • New exception: wclEIrDAReceiver;
  • wclECritical exception was deleted, assert() used instead;
  • wclThread class has been removed because it is not required with updated messaging subsystem;
  • Fixed bug with named events when event can be set from other process that uses Wireless Communication Library;
  • Messaging subsystem: Message category definition changed;
  • Messaging subsystem: New message categories;
  • Messaging subsystem: wclWiiCategoryMessage renamed to wclWiiRemoteCategoryMessage;
  • Messaging subsystem: Code refactoring;
  • Messaging subsystem: wclMessageSynchronizationKind type renamed to wclMessageProcessingMethod;
  • Messaging subsystem: wclMessageBroadcaster.GetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster.SetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster new post method to post message to a receiver by ID;
  • Messaging subsystem: timestamps (created, queued and processed) added to the wclMessage class;
  • Messaging subsystem: Unique ID for Message Receiver;
  • Messaging subsystem: APC message processing method remove, use mpAsync instead;
  • Messaging subsystem: mpAsync processing speed increased;
  • Messaging subsystem: re-designed;
  • Messaging subsystem: now each MessageReceiver object may have separate own Message Processing Method;
  • Messaging subsystem: description;
  • wclMessageBroadcaster Wait methods removed;
  • wclOsVersion: class moved from wclHelpers to wclOsVer file;
  • wclOsVersion: OsVersion property of class renamed to OsType;
  • wclOsVersion: read OS Major and Minor version number;
  • wclOsVersion: wclWinVer type changed to wclOsType;
  • wclGetErrorInfo functions removed, use wclErrorInformation class instead;
  • PowerEventsMonitor: new state psPowerStatusChanged;
  • PowerEventsMonitor: new method GetPowerStatus;
  • PowerEventsMonitor: new property MessageProcessing allows to set Message Processing Method;
  • Connections: each connection may have own Message Processing Method;
  • .NET Edition: Windows specific CreateEvent() replaced with .NET Event;
  • .NET Edition: Windows specific CreateMutex() replaced with .NET Mutex;
  • .NET Edition: Connections assembly refactoring;
  • .NET Edition: wclHelpers.Wait() and wclHelpers.WaitEx() methods removed;
  • C++ Edition: Windows specific Mutex functions replaced with WCL functions;
  • C++ Edition: Windows specific Event functions replaced with WCL functions;
  • C++ Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Precompiled Lazarus packages updated to Lazarus 3.4 and FPC 3.2.2;
  • VCL Edition: Windows specific RTL_CIRITICAL_SECTION replaced with platform independent TwclCriticalSection;
  • VCL Edition: correct OS reading with Lazarus on MacOS;
  • VCL Edition: msxml dependences removed from OBEX implementation on Lazarus;
  • VCL Edition: msxml dependences removed from wclErrorInformation class on Lazarus;
  • VCL Edition: wclErrorInformation works on MacOS with Lazarus;
  • VCL Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Windows specific Event functions replaced with WCL functions;
  • VCL Edition: Windows specific Mutex functions replaced with WCL functions;
  • VCL Edition: Lazarus fixed some thread function pointers;
  • WSA event API replaced with standard event API;
  • Memory allocation optimization in client and server;
  • Data reciving error decoding fixed in client and server;
  • GitHub: ErrorToText sample application updated;
  • Lazarus sample applications updated;
  • IrDAReceiver: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • IrDAClient: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • IrDAServer: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s).

IrDA Framework


Serial Framework 7.8.0.0 has been released

  • 08.10.2024
  • New error code: WCL_E_MR_INVALID_THREAD;
  • New error code: WCL_E_MR_UNABLE_CREATE_TERM_EVENT;
  • New error code: WCL_E_MR_INVALID_MESSAGE_PROCESSING_METHOD;
  • New error code: WCL_E_MB_RECEIVER_NOT_FOUND;
  • New error code: WCL_E_PEM_GET_POWER_STATUS_FAILED;
  • New error code: WCL_E_PEM_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_THREAD_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_FAILED;
  • New exception: wclEPowerEvents;
  • Error code removed: WCL_E_USB_MONITORING_RUNNING;
  • Error code removed: WCL_E_USB_MONITORING_NOT_RUNNING;
  • New exception: wclESerial;
  • New exception: wclESerialMonitor;
  • New exception: wclESerialClient;
  • wclECritical exception was deleted, assert() used instead;
  • wclThread class has been removed because it is not required with updated messaging subsystem;
  • Fixed bug with named events when event can be set from other process that uses Wireless Communication Library;
  • Messaging subsystem: Message category definition changed;
  • Messaging subsystem: New message categories;
  • Messaging subsystem: wclWiiCategoryMessage renamed to wclWiiRemoteCategoryMessage;
  • Messaging subsystem: Code refactoring;
  • Messaging subsystem: wclMessageSynchronizationKind type renamed to wclMessageProcessingMethod;
  • Messaging subsystem: wclMessageBroadcaster.GetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster.SetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster new post method to post message to a receiver by ID;
  • Messaging subsystem: timestamps (created, queued and processed) added to the wclMessage class;
  • Messaging subsystem: Unique ID for Message Receiver;
  • Messaging subsystem: APC message processing method remove, use mpAsync instead;
  • Messaging subsystem: mpAsync processing speed increased;
  • Messaging subsystem: re-designed;
  • Messaging subsystem: now each MessageReceiver object may have separate own Message Processing Method;
  • Messaging subsystem: description;
  • wclMessageBroadcaster Wait methods removed;
  • wclOsVersion: class moved from wclHelpers to wclOsVer file;
  • wclOsVersion: OsVersion property of class renamed to OsType;
  • wclOsVersion: read OS Major and Minor version number;
  • wclOsVersion: wclWinVer type changed to wclOsType;
  • wclGetErrorInfo functions removed, use wclErrorInformation class instead;
  • PowerEventsMonitor: new state psPowerStatusChanged;
  • PowerEventsMonitor: new method GetPowerStatus;
  • PowerEventsMonitor: new property MessageProcessing allows to set Message Processing Method;
  • Connections: each connection may have own Message Processing Method;
  • .NET Edition: Windows specific CreateEvent() replaced with .NET Event;
  • .NET Edition: Windows specific CreateMutex() replaced with .NET Mutex;
  • .NET Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • .NET Edition: Connections assembly refactoring;
  • .NET Edition: wclHelpers.Wait() and wclHelpers.WaitEx() methods removed;
  • C++ Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • C++ Edition: Windows specific Mutex functions replaced with WCL functions;
  • C++ Edition: Windows specific Event functions replaced with WCL functions;
  • C++ Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Precompiled Lazarus packages updated to Lazarus 3.4 and FPC 3.2.2;
  • VCL Edition: Windows specific RTL_CIRITICAL_SECTION replaced with platform independent TwclCriticalSection;
  • VCL Edition: correct OS reading with Lazarus on MacOS;
  • VCL Edition: msxml dependences removed from OBEX implementation on Lazarus;
  • VCL Edition: msxml dependences removed from wclErrorInformation class on Lazarus;
  • VCL Edition: wclErrorInformation works on MacOS with Lazarus;
  • VCL Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Windows specific Event functions replaced with WCL functions;
  • VCL Edition: Windows specific Mutex functions replaced with WCL functions;
  • VCL Edition: Lazarus fixed some thread function pointers;
  • SerialClient sample updated to correctly get and set UART config;
  • GitHub: ErrorToText sample application updated;
  • Lazarus sample applications updated;
  • SerialMonitor: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • UsbMonitor: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s);
  • SerialClient: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use Serial Framework in console or service application or what to run it completely in separate thread(s).

Serial Framework


Timeline Framework 7.2.0.0 has been released

  • 08.10.2024
  • New error code: WCL_E_MR_INVALID_THREAD;
  • New error code: WCL_E_MR_UNABLE_CREATE_TERM_EVENT;
  • New error code: WCL_E_MR_INVALID_MESSAGE_PROCESSING_METHOD;
  • New error code: WCL_E_MB_RECEIVER_NOT_FOUND;
  • New error code: WCL_E_PEM_GET_POWER_STATUS_FAILED;
  • New error code: WCL_E_PEM_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_THREAD_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_FAILED;
  • New exception: wclEPowerEvents;
  • wclECritical exception was deleted, assert() used instead;
  • wclThread class has been removed because it is not required with updated messaging subsystem;
  • Fixed bug with named events when event can be set from other process that uses Wireless Communication Library;
  • Messaging subsystem: Message category definition changed;
  • Messaging subsystem: New message categories;
  • Messaging subsystem: wclWiiCategoryMessage renamed to wclWiiRemoteCategoryMessage;
  • Messaging subsystem: Code refactoring;
  • Messaging subsystem: wclMessageSynchronizationKind type renamed to wclMessageProcessingMethod;
  • Messaging subsystem: wclMessageBroadcaster.GetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster.SetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster new post method to post message to a receiver by ID;
  • Messaging subsystem: timestamps (created, queued and processed) added to the wclMessage class;
  • Messaging subsystem: Unique ID for Message Receiver;
  • Messaging subsystem: APC message processing method remove, use mpAsync instead;
  • Messaging subsystem: mpAsync processing speed increased;
  • Messaging subsystem: re-designed;
  • Messaging subsystem: now each MessageReceiver object may have separate own Message Processing Method;
  • Messaging subsystem: description;
  • wclMessageBroadcaster Wait methods removed;
  • wclOsVersion: class moved from wclHelpers to wclOsVer file;
  • wclOsVersion: OsVersion property of class renamed to OsType;
  • wclOsVersion: read OS Major and Minor version number;
  • wclOsVersion: wclWinVer type changed to wclOsType;
  • wclGetErrorInfo functions removed, use wclErrorInformation class instead;
  • PowerEventsMonitor: new state psPowerStatusChanged;
  • PowerEventsMonitor: new method GetPowerStatus;
  • PowerEventsMonitor: new property MessageProcessing allows to set Message Processing Method;
  • .NET Edition: Windows specific CreateEvent() replaced with .NET Event;
  • .NET Edition: Windows specific CreateMutex() replaced with .NET Mutex;
  • .NET Edition: wclHelpers.Wait() and wclHelpers.WaitEx() methods removed;
  • C++ Edition: Windows specific Mutex functions replaced with WCL functions;
  • C++ Edition: Windows specific Event functions replaced with WCL functions;
  • C++ Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Precompiled Lazarus packages updated to Lazarus 3.4 and FPC 3.2.2;
  • VCL Edition: Windows specific RTL_CIRITICAL_SECTION replaced with platform independent TwclCriticalSection;
  • VCL Edition: correct OS reading with Lazarus on MacOS;
  • VCL Edition: msxml dependences removed from wclErrorInformation class on Lazarus;
  • VCL Edition: wclErrorInformation works on MacOS with Lazarus;
  • VCL Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Windows specific Event functions replaced with WCL functions;
  • VCL Edition: Windows specific Mutex functions replaced with WCL functions;
  • VCL Edition: Lazarus fixed some thread function pointers;
  • GitHub: ErrorToText sample application updated;
  • Lazarus sample applications updated.

Timeline Framework


WiFi Framework 7.12.0.0 has been released

  • 08.10.2024
  • New error code: WCL_E_MR_INVALID_THREAD;
  • New error code: WCL_E_MR_UNABLE_CREATE_TERM_EVENT;
  • New error code: WCL_E_MR_INVALID_MESSAGE_PROCESSING_METHOD;
  • New error code: WCL_E_MB_RECEIVER_NOT_FOUND;
  • New error code: WCL_E_PEM_GET_POWER_STATUS_FAILED;
  • New error code: WCL_E_PEM_CREATE_INIT_EVENT_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_THREAD_FAILED;
  • New error code: WCL_E_PEM_CREATE_WND_FAILED;
  • New exception: wclEPowerEvents;
  • New exception: wclEWiFiEvents;
  • New exception: wclEWiFiDirect;
  • New exception: wclEWiFiNlm;
  • wclECritical exception was deleted, assert() used instead;
  • wclThread class has been removed because it is not required with updated messaging subsystem;
  • Fixed bug with named events when event can be set from other process that uses Wireless Communication Library;
  • Messaging subsystem: Message category definition changed;
  • Messaging subsystem: New message categories;
  • Messaging subsystem: wclWiiCategoryMessage renamed to wclWiiRemoteCategoryMessage;
  • Messaging subsystem: Code refactoring;
  • Messaging subsystem: wclMessageSynchronizationKind type renamed to wclMessageProcessingMethod;
  • Messaging subsystem: wclMessageBroadcaster.GetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster.SetSyncMethod removed;
  • Messaging subsystem: wclMessageBroadcaster new post method to post message to a receiver by ID;
  • Messaging subsystem: timestamps (created, queued and processed) added to the wclMessage class;
  • Messaging subsystem: Unique ID for Message Receiver;
  • Messaging subsystem: APC message processing method remove, use mpAsync instead;
  • Messaging subsystem: mpAsync processing speed increased;
  • Messaging subsystem: re-designed;
  • Messaging subsystem: now each MessageReceiver object may have separate own Message Processing Method;
  • Messaging subsystem: description;
  • wclMessageBroadcaster Wait methods removed;
  • wclOsVersion: class moved from wclHelpers to wclOsVer file;
  • wclOsVersion: OsVersion property of class renamed to OsType;
  • wclOsVersion: read OS Major and Minor version number;
  • wclOsVersion: wclWinVer type changed to wclOsType;
  • wclGetErrorInfo functions removed, use wclErrorInformation class instead;
  • PowerEventsMonitor: new state psPowerStatusChanged;
  • PowerEventsMonitor: new method GetPowerStatus;
  • PowerEventsMonitor: new property MessageProcessing allows to set Message Processing Method;
  • Events handling re-worked;
  • Fixed possible dead-lock in WiFiDirectAdvertiser implementation;
  • .NET Edition: Windows specific CreateEvent() replaced with .NET Event;
  • .NET Edition: Windows specific CreateMutex() replaced with .NET Mutex;
  • .NET Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • .NET Edition: wclHelpers.Wait() and wclHelpers.WaitEx() methods removed;
  • C++ Edition: IoT demos changed to use mpAsync instead of mpAPC;
  • C++ Edition: Windows specific Mutex functions replaced with WCL functions;
  • C++ Edition: Windows specific Event functions replaced with WCL functions;
  • C++ Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Precompiled Lazarus packages updated to Lazarus 3.4 and FPC 3.2.2;
  • VCL Edition: Windows specific RTL_CIRITICAL_SECTION replaced with platform independent TwclCriticalSection;
  • VCL Edition: correct OS reading with Lazarus on MacOS;
  • VCL Edition: msxml dependences removed from wclErrorInformation class on Lazarus;
  • VCL Edition: wclErrorInformation works on MacOS with Lazarus;
  • VCL Edition: Windows specific Thread functions replaced with WCL functions;
  • VCL Edition: Windows specific Event functions replaced with WCL functions;
  • VCL Edition: Windows specific Mutex functions replaced with WCL functions;
  • VCL Edition: Lazarus fixed some thread function pointers;
  • GitHub: ErrorToText sample application updated;
  • GitHub: DroneRemoteId sample application updated;
  • Lazarus sample applications updated;
  • WiFiEvents: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • NetworkListManager: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • WiFiSniffer: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • WiFiDirectAdvertiser: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • WiFiDirectDeviceWatcher: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • WiFiDirectClient: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s);
  • WiFiSoftAP: new property MessageProcessing allows to specify the message processing method that should be used. Use default (mpSync) for UI applications. Use mpAsync if you use WiFi Framework in console or service application or what to run it completely in separate thread(s).

WiFi Framework


Serial Framework 7.7.24.0 has been released

  • 21.08.2024
  • Fixed bug when WCL_E_SERIAL_UNABLE_CLEAR_BUFFERS returned during opening vCOM.

Serial Framework


Bluetooth Framework 7.18.1.0 has been released

  • 18.07.2024
  • Error code WCL_E_BLUETOOTH_UNABLE_ADD_ADP_RECORD renamed to WCL_E_BLUETOOTH_UNABLE_ADD_SDP_RECORD;
  • New error code: WCL_E_BLUETOOTH_DRIVER_BUSY;
  • wclBluetoothRadioRadio: TurnOn and TurnOff methods now return WCL_E_BLUETOOTH_DRIVER_BUSY if driver is busy;
  • BluetoothManager demo updated to show how to prevent Radio of switching off.

Bluetooth Framework


Bluetooth Framework 7.18.0.0 has been released

  • 27.06.2024
  • BluetoothLeBeaconWatcher: Drone Remote ID message receiving;
  • VCL Edition: CBuilder Beacons demo build issue fixed;
  • Drone Remote ID (DRI) receiving and decoding;
  • The DRI demos can be found by this link.

Bluetooth Framework


WiFi Framework 7.11.3.0 has been released

  • 27.06.2024
  • VCL Edition: Drone remote ID moved to separate package;
  • C++ Edition: Drone remote ID moved to separate library;
  • .NET Edition: Drone remote ID moved to separate assembly;
  • Drone Remote ID parser redesigned.

WiFi Framework


Bluetooth Framework 7.17.14.0 has been released

  • 05.06.2024
  • Bluetooth HCI and LMP version descriptions updated;
  • wclBluetoothLeBeaconWatcher: Start() method parameters removed, use properties instead;
  • wclBluetoothLeBeaconWatcher: new property AllowExtendedAdvertisements controls receiving Extended Advertisements;
  • wclBluetoothLeBeaconWatcher: parsing Microsoft Connected Devices Platform Protocol (CDP) beacon advertisement;
  • wclBluetoothLeAdvertiser: Start() method "Interval" parameter removed, use properties instead;
  • wclBluetoothRadio: new method GetBluetoothVersion() returns Radio's Bluetooth version;
  • Beacons demo application updated to show how to use "AllowExtendedAdvertisements" property;
  • GattServer demo application: fixed bug when "Backspace" button does not work in "Repeats" edit box;
  • CBuilder 12: fixed sample applications build failed issue.

Bluetooth Framework


Bluetooth Framework 7.17.13.0 has been released

  • 28.05.2024
  • Internal message processing optimized;
  • GattServer: wclGattLocalCharacteristic - method Notify(Address...) now returns error if address is 0;
  • GattServer: wclGattLocalCharacteristic - new Notify() method without Address parameter should be used to send notifications to all connected clients;
  • GattServer: Notification sending speed increased;
  • GattServer: Read request processing time decreased;
  • GattServer: Write request processing time decreased;
  • GattServer: Fixed bug when OnUnsubscribed event not called when client disconnected;
  • Error code removed: WCL_E_BLUETOOTH_LE_GATT_SERVER_GET_CLIENTS_LIST_FAILED;
  • Error code removed: WCL_E_BLUETOOTH_LE_GATT_SERVER_GET_CLIENTS_COUNT_FAILED;
  • New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_NO_SUBSCRIBED_CLIENTS;
  • Error codes updated;
  • GattServer demo application redesigned to show how to use all the GATT server features;
  • Lazarus demo applications updated.

Bluetooth Framework


WiFi Framework 7.11.2.0 has been released

  • 22.05.2024
  • wclWiFiDirectDeviceWatcher: GetName() method removed;
  • wclWiFiDirectSoftAp: Fixed bug when Local and Remote IPs can not be read;
  • Fixed freezing issue when disconnecting from WiFi Direct device;
  • Fixed freezing issue when terminating connection to WiFi Direct device;
  • Fixed freezing issue when terminating incoming WiFi Direct connection;
  • Error code deleted: WCL_E_WIFI_DIRECT_DEVICE_GET_NAME_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_GET_ID_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_BUSY;
  • Error codes updated;
  • .NET: Minor updates in WiFi Direct demo applications;
  • Lazarus demo applications updated.

WiFi Framework


WiFi Framework 7.11.1.0 has been released

  • 19.05.2024
  • GetConnectionAttributes returns WCL_E_WIFI_INTERFACE_NOT_CONNECTED when an interface is not connected to a network;
  • New error code: WCL_E_WIFI_DIRECT_PAIR_AUTHENTICATION_FAILURE;
  • New error code: WCL_E_WIFI_DIRECT_ADVERTISER_INVALID_OS_BITS;
  • Some error codes removed;
  • GetCountyOrRegions renamed to GetCountryOrRegions;
  • wclWiFiProfilesManager: new fucntion SsidToHex that helps to get XML profile HEX for SSID;
  • WiFi Direct: fixed connection issue;
  • WiFi Direct: optimization for faster connection;
  • WiFi Direct: fixed bug with not connecting from Linux wpa_supplicant;
  • WiFi Direct: other connection improvements.

WiFi Framework


WiFi Framework 7.11.0.0 has been released

  • 10.05.2024

WiFi Framework


Bluetooth Framework 7.17.12.0 has been released

  • 02.05.2024
  • New error code: WCL_E_BLUETOOTH_LE_INVALID_CONNECTION_PARAMETERS_VALUE;
  • Microsoft: fixed issue when some BLE devices were detected as Classic;
  • GATT: SetConnectionParams() method now returns WCL_E_BLUETOOTH_LE_INVALID_CONNECTION_PARAMETERS_VALUE instead of WCL_E_INVALID_ARGUMENT if a specified connection parameters are not valid;
  • GattServer: fixed bug when GATT Server did not release resource what caused Bluetooth Manager freezing on Close call;
  • Code refactoring.

Bluetooth Framework


WiFi Framework 7.10.26.0 has been released

  • 01.05.2024
  • HostedNetwork: new method GetConnectedPeers(). The method wraps the GetStatus() method to simplify enumerating connected devices;
  • New class wclWiFiInformationElementParser: the class allows to extract Information Elements from BSS raw IE data stream;
  • Code refactoring.

WiFi Framework


WiFi Framework 7.10.25.0 has been released

  • 10.04.2024
  • New error code: WCL_E_WIFI_HN_OPEN_IP_SETTINGS_FAILED;
  • New error code: WCL_E_WIFI_HN_READ_IP_FAILED;
  • New error code: WCL_E_WIFI_HN_FEATURE_NOT_SUPPORTED;
  • New error code: WCL_E_WIFI_HN_GET_IP_TABLE_FAILED;
  • New error code: WCL_E_WIFI_HN_PEER_NOT_FOUND;
  • wclWiFiHostedNetwork: fixed issue with starting Hosted Network if it was disabled (may require administrative rights);
  • wclWiFiHostedNetwork: GetState method now can be called without opening the Hosted Network;
  • wclWiFiHostedNetwork: SetState method now can be called without opening the Hosted Network;
  • wclWiFiHostedNetwork: reading local IP address;
  • wclWiFiHostedNetwork: reading connected peer IP address;
  • C++ Edition: WinAPI definitions updated;
  • Compatibility update.

WiFi Framework


Bluetooth Framework 7.17.11.0 has been released

  • 10.04.2024
  • C++ Edition: WinAPI definitions updated;
  • Compatibility update.

Bluetooth Framework


Serial Framework 7.7.21.0 has been released

  • 09.04.2024
  • C++ Edition: WinAPI definitions updated;
  • Compatibility update.

Serial Framework


IrDA Framework 7.8.21.0 has been released

  • 09.04.2024
  • C++ Edition: WinAPI definitions updated;
  • Compatibility update.

IrDA Framework


Timeline Framework 7.1.20.0 has been released

  • 09.04.2024
  • C++ Edition: WinAPI definitions updated;
  • Compatibility update.

Timeline Framework


Bluetooth Framework 7.17.10.0 has been released

  • 21.03.2024
  • Fixed dead-lock issue when skThread synchronization used;
  • .NET Edition: wclOsVersion resource leak fixed;
  • .NET Edition: WinAPI calls optimization;
  • C++ Edition: internal API definitions updated to prevent from conflicts with WinAPI headers;
  • Compatibility update.

Bluetooth Framework


WiFi Framework 7.10.24.0 has been released

  • 21.03.2024
  • .NET Edition: wclOsVersion resource leak fixed;
  • .NET Edition: WinAPI calls optimization;
  • C++ Edition: internal API definitions updated to prevent from conflicts with WinAPI headers;
  • Compatibility update.

WiFi Framework


Serial Framework 7.7.20.0 has been released

  • 21.03.2024
  • Fixed dead-lock issue when skThread synchronization used;
  • .NET Edition: wclOsVersion resource leak fixed;
  • .NET Edition: WinAPI calls optimization;
  • C++ Edition: internal API definitions updated to prevent from conflicts with WinAPI headers;
  • Compatibility update.

Serial Framework


IrDA Framework 7.8.20.0 has been released

  • 21.03.2024
  • Fixed dead-lock issue when skThread synchronization used;
  • .NET Edition: wclOsVersion resource leak fixed;
  • .NET Edition: WinAPI calls optimization;
  • C++ Edition: internal API definitions updated to prevent from conflicts with WinAPI headers;
  • Compatibility update.

IrDA Framework


Timeline Framework 7.1.19.0 has been released

  • 21.03.2024
  • .NET Edition: wclOsVersion resource leak fixed;
  • .NET Edition: WinAPI calls optimization;
  • C++ Edition: internal API definitions updated to prevent from conflicts with WinAPI headers;
  • Compatibility update.

Timeline Framework


Bluetooth Framework 7.17.9.0 has been released

  • 02.02.2024
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_DRIVER;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_PATH;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_ACCESS_DENIED;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_DEVICE_NOT_FOUND;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_IN_USE;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_PARAM;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_NAME;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_COUNT_LIMIT;
  • Extended error decoding when setting Bluetooth LE scan parameters;
  • Fixed bug when on some machines changing Bluetooth LE scan parameters returns WCL_E_BLUETOOTH_OPEN_RADIO_FAILED.

Bluetooth Framework


Bluetooth Framework 7.17.8.0 has been released

  • 18.01.2024
  • Bluetooth LE appearance constants updated;
  • Bluetooth LE GAP appearance UUID definitions;
  • Bluetooth LE GATT services UUID definitions;
  • Bluetooth LE GATT characteristics UUID definitions;
  • Bluetooth LE GATT descriptors UUID definitions;
  • BeaconsWatcher: Parsing TX Power advertisement frame parsing;
  • BeaconsWatcher: Appearance advertisement frame parsing.

Bluetooth Framework