Bluetooth Framework 7.17.7.0 has been released

  • 07.12.2023
  • AudioSwitcher: Get default audio device for given Role and Data Flow;
  • New error code: WCL_E_AUDIO_SWITCHER_GET_DEFAULT_DEVICE_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_GET_DEVICE_ID_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_DEFAULT_DEVICE_NOT_FOUND;
  • New demo shows how to connect to more than one GATT enabled device in UI app with threads;
  • VCL Edition: new data type SByte;
  • VCL Edition: wclBluetoothLeBeaconWatcher events declarations have been changed; ShortInt (Delphi) or char/signed char (CBuilder) data type changed to the new SByte data type;
  • VCL Edition: fixed not able assign wclBluetoothLeBeaconWatcher event handler in design time when Bluetooth Framework used with CBuilder.

Bluetooth Framework


Bluetooth Framework 7.17.6.0 has been released

  • 16.11.2023
  • Fixed bug with crash during enumerating remote Classic Bluetooth device services;
  • Fixed incorrect Mixed device type detection.

Bluetooth Framework


VCL Edition RAD Studio 12 support

  • 13.11.2023

Wireless Communication Library (Bluetooth, IrDA, Serial, Timeline, WiFi Frameworks) VCL Edition now supports RAD Studio 12 Athens.


Bluetooth Framework 7.17.5.0 has been released

  • 06.11.2023
  • GattServer: fixed issue with not restarning Server after client disconnectiong;
  • GattServer: fixed issue when server does not restart advertising after client disconnectiong;
  • GattServer: fixed issue when re-connecting to server rejected after client disconnected;
  • GattServer: fixed issue with incorrect event orders;
  • GattClient: workaround for data sequence broken issue if data sent too often using notifications;
  • C++ Edition: fixed bug when BLE devices can not be discovered.

Bluetooth Framework


Bluetooth Framework 7.17.4.0 has been released

  • 23.10.2023
  • GattClient demo application updated for better show Bluetooth Framework GATT features;
  • wclBluetoothRadio: EnumPairedDevice now can return only LE or only Classic devices (or all);
  • Audio Switcher error codes changed (refer to Errors List);
  • .NET Edition: Audio Switcher error codes moved to wclAudioErrors class (wclAudio namespace);
  • Delphi: Audio Switcher error codes moved to wclAudioErrors.pas file;
  • CBuilder: Audio Switcher error codes moved to wclAudioErrors.hpp file;
  • C++ Edition: Audio Switcher error codes moved to wclAudioErrors.h file (wclAudio namespace);
  • Delphi: TwclAudioSwitcher class moved to wclAudio.pas file;
  • CBuilder: TwclAudioSwitcher class moved to wclAudio.hpp file;
  • .NET Edition: wclAudioSwitcher class moved to wclAudio namespace;
  • C++ Edition: CwclAudioSwitcher class moved to wclAudio.h file (wclAudio namespace);
  • Audio Switcher error codes changed;
  • Common Audio Framework error codes changed;
  • New class wclAudioMeter allows to monitor audio volume level;
  • New class wclAudioVolume allows to control audio volume;
  • New AudioVolume demo;
  • New error code: WCL_E_AUDIO_METER_GET_PEAK_VALUE_FAILED;
  • New error code: WCL_E_AUDIO_METER_CREATE_FAILED;
  • New error code: WCL_E_AUDIO_VOLUME_CREATE_FAILED;
  • New error code: WCL_E_AUDIO_VOLUME_GET_VOLUME_FAILED;
  • New error code: WCL_E_AUDIO_VOLUME_SET_VOLUME_FAILED;
  • New error code: WCL_E_AUDIO_VOLUME_GET_MUTE_FAILED;
  • New error code: WCL_E_AUDIO_VOLUME_SET_MUTE_FAILED.

Bluetooth Framework


IrDA Framework 7.8.19.0 has been released

  • 23.10.2023
  • Compatibility update.

IrDA Framework


Serial Framework 7.7.19.0 has been released

  • 23.10.2023
  • SerialClient demo updated to send CR, LF and CR+LF;
  • Compatibility update.

Serial Framework


Timeline Framework 7.1.18.0 has been released

  • 23.10.2023
  • Compatibility update.

Timeline Framework


WiFi Framework 7.10.23.0 has been released

  • 23.10.2023
  • Compatibility update.

WiFi Framework


Bluetooth Framework 7.17.3.0 has been released

  • 13.10.2023
  • Fixed issue with incorrect error (WCL_E_BLUETOOTH_LE_GATT_SERVER_START_FAILED) returned when starting GATT server if Bluetooth hardware does not support peripheral mode. Now it returns correct error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_PERIPHERAL_MODE_NOT_SUPPORTED;
  • AudioSwitcher: connect to and disconnect from Bluetooth enabled audio device by device address.

Bluetooth Framework


Bluetooth Framework 7.17.2.0 has been released

  • 26.09.2023
  • wclGattClient: fixed long disconnecting from paired device;
  • Minor changes in wclGattClient;
  • Minor GattClient demo update.

Bluetooth Framework


Bluetooth Framework 7.17.1.0 has been released

  • 16.09.2023
  • Microsoft: fixed bug when all BLE devices detected as Mixed;
  • wclBluetoothManager: fixed application crash bug when the Close method called twice;
  • BluetoothManager demo updated to show how to disable pairing handling by Bluetooth Framework;
  • GattClient demo updated to use HandlePairing feature;
  • GattClient demo updated to use MITM protection pairing feature;
  • GattClient demo updated to use IO Capabilities pairing feature;
  • .NET Edition: fixed issue with GattClient freezing during wclBluetoothManager closing;
  • Do not forget about out GitHub repository, you can find lot of demo code.

Bluetooth Framework


Bluetooth Framework 7.17.0.0 has been released

  • 05.09.2023
  • Microsoft: Device type reading code update for better device type detection;
  • VCL Edition: Fixed build issue with CBuilder demos;
  • Common Microsoft API definitions updated;
  • New error code: WCL_E_AUDIO_SWITCHER_CLOSED;
  • New error code: WCL_E_AUDIO_SWITCHER_OPENED;
  • New error code: WCL_E_AUDIO_SWITCHER_NOT_OPENED;
  • New error code: WCL_E_AUDIO_SWITCHER_COM_INIT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_CREATE_ENUMERATOR_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_REGISTER_EVENT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_ENUM_ENDPOINTS_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_GET_ENDPOIN_COUNT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_CREATE_CONFIGURATOR_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_SET_DEFAULT_DEVICE_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_FEATURE_NOT_SUPPORTED;
  • New error code: WCL_E_AUDIO_SWITCHER_DEVICE_NOT_FOUND;
  • New error code: WCL_E_AUDIO_SWITCHER_INVALID_DEVICE;
  • New error code: WCL_E_AUDIO_SWITCHER_DEVICE_CONNECTED;
  • New error code: WCL_E_AUDIO_SWITCHER_DEVICE_DISCONNECTED;
  • New error code: WCL_E_AUDIO_SWITCHER_CREATE_TOPOLOGY_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_GET_CONNECTORS_COUNT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_CONNECT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_DISCONNECT_FAILED;
  • New error code: WCL_E_AUDIO_SWITCHER_NO_CONNECTORS_FOUND;
  • New wclAudioSwitcher class;
  • Enumerate Audio Devices;
  • Monitor Audio Device states;
  • Changing system default Audio Device;
  • Connect to already paired Bluetooth Audio Device;
  • Disconnect from connect Bluetooth Audio Device;
  • New AudioSwitcher demo application.

Bluetooth Framework


WiFi Framework 7.10.22.0 has been released

  • 05.09.2023
  • Common Microsoft API definitions updated;
  • VCL Edition: Fixed build issue with CBuilder demos;
  • C++ Edition: Fixed build issue with IoT demos;
  • Compatibility update.

WiFi Framework


Serial Framework 7.7.18.0 has been released

  • 05.09.2023
  • Common Microsoft API definitions updated;
  • VCL Edition: Fixed build issue with CBuilder demos;
  • C++ Edition: Fixed build issue with IoT demos;
  • Compatibility update.

Serial Framework


IrDA Framework 7.8.18.0 has been released

  • 05.09.2023
  • Common Microsoft API definitions updated;
  • VCL Edition: Fixed build issue with CBuilder demos;
  • Compatibility update.

IrDA Framework


Timeline Framework 7.1.17.0 has been released

  • 05.09.2023
  • Common Microsoft API definitions updated;
  • Compatibility update.

Timeline Framework


Bluetooth Framework 7.16.23.0 has been released

  • 29.08.2023
  • wclGattClient: new method FindService - helps to find a GATT service with a specified UUID;
  • wclGattClient: new method FindCharacteristic - helps to find a GATT characteristic with a specified UUID;
  • wclGattClient: optimization (some methods moved from wclGattClientConnection to wclGattClient);
  • GattClient demo application updated.

Bluetooth Framework


Bluetooth Framework 7.16.22.0 has been released

  • 27.07.2023
  • .NET Edition: Fixed bug in VB.NET GattServer demo app;
  • BLED112: Set discoverable property to True when BLE advertising is running;
  • Fixed issue when power events was not received on some systems;
  • New PowerEvents demo.

Bluetooth Framework


Wifi Framework 7.10.21.0 has been released

  • 26.07.2023
  • Fixed issue when power events was not received on some systems;
  • New PowerEvents demo.

WiFi Framework


Serial Framework 7.7.17.0 has been released

  • 25.07.2023
  • Fixed issue when power events was not received on some systems;
  • New PowerEvents demo.

Serial Framework


IrDA Framework 7.8.17.0 has been released

  • 25.07.2023
  • Fixed issue when power events was not received on some systems;
  • New PowerEvents demo.

IrDA Framework


Timeline Framework 7.1.16.0 has been released

  • 24.07.2023
  • Fixed issue when power events was not received on some systems;
  • New PowerEvents demo.

Timeline Framework


Bluetooth Framework 7.16.21.0 has been released

  • 17.06.2023
  • Enumerating installed services for the specified remote device;
  • Compatibility update.

Bluetooth Framework


Serial Framework 7.7.16.0 has been released

  • 15.06.2023
  • Compatibility update.

Serial Framework


IrDA Framework 7.8.16.0 has been released

  • 28.05.2023
  • Compatibility update.

IrDA Framework


Timeline Framework 7.1.15.0 has been released

  • 23.05.2023
  • Compatibility update.

Timeline Framework


WiFi Framework 7.10.20.0 has been released

  • 18.05.2023
  • Definitions updated for support latest authentication and encryption algorithms;
  • New error code: WCL_E_WIFI_RES_NO_VISIBLE_AP;
  • wclWiFiEvents: new event OnLinkDegraded;
  • wclWiFiEvents: new event OnLinkImproved.

WiFi Framework


Bluetooth Framework 7.16.20.0 has been released

  • 28.04.2023
  • .NET Edition: Fixed issue when GetRemoteRssi() always returns 4 instead of correct RSSI value;
  • Minor bug fixes;
  • Compatibility update.

Bluetooth Framework


IrDA Framework 7.8.15.0 has been released

  • 28.04.2023
  • Minor bug fixes;
  • Compatibility update.

IrDA Framework


Serial Framework 7.7.15.0 has been released

  • 28.04.2023
  • Minor bug fixes;
  • Compatibility update.

Serial Framework


Timeline Framework 7.1.14.0 has been released

  • 28.04.2023
  • Minor bug fixes;
  • Compatibility update.

Timeline Framework


WiFi Framework 7.10.19.0 has been released

  • 28.04.2023
  • Minor bug fixes;
  • Compatibility update.

WiFi Framework


Bluetooth Framework 7.16.19.0 has been released

  • 10.04.2023
  • GATT Client: OnConnectionPhyChanged event (Windows 11);
  • GATT Server: reading connection PHY (Windows 11);
  • GATT Server: reading connection parameters (Windows 11);
  • GATT Server: changing connection parameters (Windows 11);
  • GATT Server: connection parameters changed event (Windows 11);
  • GATT Server: connection PHY changed event (Windows 11);
  • GATT Server demo updated to show how to read connection parameters;
  • GATT Server demo updated to show how to read connection PHY;
  • WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SEND changed to WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SENT;
  • New error code: WCL_E_BLUETOOTH_LE_CLIENT_NOT_CONNECTED;
  • New error code: WCL_E_BLUETOOTH_LE_SUBSCRIBE_FAILED;
  • New error code: WCL_E_BLUETOOTH_LE_UNSUBSCRIBE_FAILED;
  • C++ Edition: fixed bug when Write Client Configuration Descriptor (Subscribe) failed on Windows 11;
  • .NET Edition: fixed freezing issue when closing console application that uses Bluetooth Framework;
  • .NET Edition: fixed bug when BLE devices was not discovered on Windows 10 IoT Core platform;
  • .NET Edition: fixed bug when not all BLE advertisements were captured on Windows 10 IoT Core platform.

Bluetooth Framework


Bluetooth Framework 7.16.18.0 has been released

  • 30.03.2023
  • new class wclGattLocalCharacteristicReadRequest: the class provides information about GATT server characteristic value read request and allows to respond to the request with data or with error code;
  • new class wclGattLocalCharacteristicWriteRequest: the class provides information about GATT server characteristic value write request and allows to receive data provided by a GATT client and to respond to the request with processing result if Write With Response operation executed;
  • wclGattLocalCharacteristicValue class removed;
  • GATT server OnRead even changed: now it takes the wclGattLocalCharacteristicReadRequest object as a Request parameter that provides more information about read operation and allows to control request processing;
  • GATT server OnRead even changed: the Value parameter removed;
  • GATT server OnWrite even changed: now it takes the wclGattLocalCharacteristicWriteRequest object as a Request parameter that provides more information about write operation and allows to control request processing;
  • GATT server OnWrite even changed: the Data and Size parameters removed;
  • GattServer demo updated to show how to work with Long Characteristic read and write operations;
  • New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SEND_RESPONSE_FAILED;
  • New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_WRITE_WITHOUT_RESPONSE;
  • New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SENT.

These changes require some small modifications in your code: you need to change GattServer OnRead and OnWrite event handlers. But these changes allows to control read and write operations. Now it allows to correctly process Long Read as well as Long Write operations and, in case of Write With Response, allows to check data and reply with error code if data is incorrect. New OnRead event implementation allows to reject read operation if something is wrong, for example, if client does not passed authentication or something like that.
GattServer demos were updated to show how to use these new features so before changing your code take a look on those demos. The demos also includes one more readable characteristic and shows how to decide which one was requested to read: one sends "short" data and other one sends "long" data.
The writable characteristic from the GattServer demos now includes "Writable Without Response" flag so you can test long and short write operations as well as Write With and Write Without Response operations.
Also please do not forget that the library package now includes the errors.xml file that can be used locally for error to test translation and can be shipped with your application if needed. Sample application that show how to translate WCL error code to human readable text can be found by this link.

Bluetooth Framework


Bluetooth Framework 7.16.17.0 has been released

  • 22.03.2023
  • WCL_E_BLUETOOTH_LE_GET_ADV_PARAMS_FAILED error code removed;
  • WCL_E_BLUETOOTH_LE_RESET_ADV_PARAMS_FAILED error code removed;
  • New error code: WCL_E_BLUETOOTH_LE_NOTHING_ADVERTISE;
  • New error code: WCL_E_BLUETOOTH_LE_TOO_MANY_ADVERTISEMENTS;
  • wclBluetoothLeAdvertiser: Number of concurrent advertisements limited to 3 but with Microsoft it is better to have 2;
  • wclBluetoothLeAdvertiser: OnAdvertisingBegin event removed;
  • wclBluetoothLeAdvertiser: OnAdvertisingEnd event removed;
  • wclBluetoothLeAdvertiser: OnAdvertisingError event removed;
  • BLED112: Bluetooth LE advertisement reworked to make it more stable;
  • Microsoft: Bluetooth LE advertisement reworked to make it more stable;
  • Microsoft: fixed issue when MAC changed for each advertisement;
  • C++ Edition: code refactoring, use properties instead Get_ and Set_ methods.

Bluetooth Framework


Bluetooth Framework 7.16.16.0 has been released

  • 17.03.2023
  • wclBluetoothRadio: SetLeScanParams method removed;
  • wclBluetoothRadio: GetLeScanParams method removed;
  • wclBluetoothRadio: ResetLeScanParams method removed;
  • wclBluetoothRadio: SetLeAdvParams method removed;
  • wclBluetoothRadio: GetLeAdvParams method removed;
  • wclBluetoothRadio: ResetLeAdvParams method removed;
  • wclBluetoothLeBeaconWatcher: Start() method updated to take ScanInterval and ScanWindow parameters;
  • wclBluetoothLeAdvertiser: Start() method updated to take Interval parameter;
  • Advertisement interval changing temporary does not work with Microsoft drivers (only with BLED112);
  • Now changing scan parameters does not require administrative rights;
  • Now changing advertisement interval does not require administrative rights;
  • WCL_E_BLUETOOTH_LE_GET_SCAN_PARAMS_FAILED error code removed;
  • WCL_E_BLUETOOTH_LE_RESET_SCAN_PARAMS_FAILED error code removed;
  • New error code: WCL_E_BLUETOOTH_LE_CREATE_SCAN_PARAMS_SET_EVENT_FAILED;
  • New error code: WCL_E_BLUETOOTH_LE_GET_ADV_PARAMS_FAILED;
  • New error code: WCL_E_BLUETOOTH_RADIO_INSTANCE_NOT_FOUND;
  • New error code: WCL_E_BLUETOOTH_OPEN_RADIO_FAILED.

Bluetooth Framework


Bluetooth Framework 7.16.15.0 has been released

  • 13.03.2023
  • wclBluetoothRadio: new property LeSupported;
  • wclBluetoothRadio: new property ClassicSupported;
  • wclBluetoothManager: Fixed issue if the OnStatusChanged event called before the AfterOpen event the Radio object passed to the OnStatusChanged event is not in the radios list;
  • wclBluetoothManager: Fixed issue if the OnStatusChanged event called after then BeforeClose event the Radio object passed to the OnStatusChanged event can be destroyed before OnClosed event.

Bluetooth Framework


Bluetooth Framework 7.16.14.0 has been released

  • 15.02.2023
  • Now Data Processors allow manual data flow management;
  • Minor update in WinAPI declarations (com0com class GUID);
  • OBEX: now you can provide custom maximum OBEX packet size.

Bluetooth Framework


WiFi Framework 7.10.18.0 has been released

  • 14.02.2023
  • Minor update in WinAPI declarations (com0com class GUID).

WiFi Framework


Serial Framework 7.7.14.0 has been released

  • 14.02.2023
  • Now Data Processors allow manual data flow management;
  • Fixed issue with enumerating com0com ports on Windows 10 and above;
  • Fixed issue when com0com ports creationg not detected on Windows 10 and above;
  • Minor update in WinAPI declarations (com0com class GUID);
  • .NET Edition: fixed bug with accessing Processor property of the wclSerialClient;
  • OBEX: now you can provide custom maximum OBEX packet size;
  • New demos show how to use OBEX with Serial Port connection (Serial OBEX).

Serial Framework


IrDA Framework 7.8.14.0 has been released

  • 14.02.2023
  • Now Data Processors allow manual data flow management;
  • Minor update in WinAPI declarations (com0com class GUID);
  • OBEX: now you can provide custom maximum OBEX packet size.

IrDA Framework


Timeline Framework 7.1.13.0 has been released

  • 14.02.2023
  • Minor update in WinAPI declarations (com0com class GUID).

Timeline Framework


WiFi Framework 7.10.17.0 has been released

  • 10.02.2023
  • Error code WCL_E_WIFI_DIRECT_DEVICE_START_GET_PAIRED_THREAD_FAILED changed to WCL_E_WIFI_DIRECT_DEVICE_WATCHER_START_GET_PAIRED_THREAD_FAILED;
  • Error code WCL_E_WIFI_DIRECT_DEVICE_START_UNPAIR_THREAD_FAILED changed to WCL_E_WIFI_DIRECT_DEVICE_WATCHER_START_UNPAIR_THREAD_FAILED;
  • Error code WCL_E_WIFI_DIRECT_DEVICE_START_NAME_RESOLVING_THREAD_FAILED changed to WCL_E_WIFI_DIRECT_DEVICE_WATCHER_START_NAME_RESOLVING_THREAD_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_START_ENUM_PAIRED_DEVICES_THREAD_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_ENUMERATE_DEVICES_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_QUERY_ASYNC_INFO_FAILED;
  • New error code: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_GET_ENUM_RESULT_FAILED;
  • Enumerating paired WiFi Direct devices (wclWiFiDirectDeviceWatcher class).

WiFi Framework


Bluetooth Framework 7.16.13.0 has been released

  • 04.02.2023
  • BLE error codes re-encoding;
  • RfCommServer demo application updated to show how to make local Bluetooth radio Discoverable and Connectable;
  • OppServer demo application updated to show how to make local Bluetooth radio Discoverable and Connectable;
  • Minor fixes in OBEX OPP Server.

Bluetooth Framework


IrDA Framework 7.8.13.0 has been released

  • 03.02.2023
  • Minor fixes in OBEX OPP Server.

IrDA Framework


Serial Framework 7.7.13.0 has been released

  • 03.02.2023
  • Minor fixes in OBEX OPP Server.

Serial Framework


Bluetooth Framework 7.16.12.0 has been released

  • 16.01.2023
  • New GATT error decoding;
  • New error code: WCL_E_BLUETOOTH_LE_WRITE_WITHOUT_RESPONSE_NOT_SUPPORTED;
  • WriteCharacteristicValue method: new parameter WriteKind. It allows to control write operation (with/without response or auto mode). Tnstead of changing a characteristic's property use this parameter;
  • WriteClientConfiguration method: new parameter SubscribeKind. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
  • Subscribe method: new parameter SubscribeKind. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
  • Unsubscribe: new parameter SubscribeKind. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
  • SubscribeForNotifications: new parameter SubscribeKind. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
  • UnsubscribeFromNotifications: new parameter SubscribeKind. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
  • wclGattLocalDescriptor new field ReadProtectionLevel. It allows to provide different from characteristic read protection level;
  • wclGattLocalDescriptor new field WriteProtectionLevel. It allows to provide different from characteristic write protection level.

Bluetooth Framework