===== Version 2.9.1 (V2.9.1.0) =====
==== Date ====
2023-02-23
\\
==== New Features ====
* Supports activating licenses for use of specific features on devices.
* QR code recognition and authentication support using the camera.
* Support setting the number of retries in case of socket read/write failure.
* Supports 3rd party OSDP reader connection.
1. Added device license activation feature. \\
* Add structure [[configuration_api#BS2License]]
* Add structure [[configuration_api#BS2LicenseConfig]]
* Add structure [[sdk_api#BS2LicenseBlob]]
* Add structure [[sdk_api#BS2LicenseResult]]
* Add API [[BS2_GetLicenseConfig]]
* Add API [[BS2_EnableDeviceLicense]]
* Add API [[BS2_DisableDeviceLicense]]
* Add API [[BS2_QueryDeviceLicense]]
2. Added features for QR code authentication by using the camera. \\
* Refer to structure [[configuration_api#BS2BarcodeConfig]]
3. Added retry count for communication used when an error occurs while reading or writing packets from the socket during communication. \\
**CAUTION** \\
Increasing the number of retries is a way to resolve temporary errors, but care must be taken as direct causes such as network disconnection occurs, can lead to wasted resources by meaningless read/write retries when reconnection is required. \\
* Add API [[BS2_GetSocketRetryCount]]
* Add API [[BS2_SetSocketRetryCount]]
* Add API [[BS2_GetSocketSSLRetryCount]]
* Add API [[BS2_SetSocketSSLRetryCount]]
4. Added feature to connect and manage 3rd party OSDP. \\
* Add structure [[slave_control_api#BS2OsdpStandardDevice]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceAvailable]]
* Add structure [[slave_control_api#BS2OsdpStandardNotify]]
* Add structure [[configuration_api#BS2OsdpStandardConfig]]
* Add structure [[configuration_api#BS2OsdpStandardActionConfig]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceAdd]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceUpdate]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceCapability]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceResult]]
* Add structure [[slave_control_api#BS2OsdpStandardDeviceSecurityKey]]
* Add API [[BS2_GetOsdpStandardConfig]]
* Add API [[BS2_GetOsdpStandardActionConfig]]
* Add API [[BS2_SetOsdpStandardActionConfig]]
* Add API [[BS2_AddOsdpStandardDevice]]
* Add API [[BS2_GetOsdpStandardDevice]]
* Add API [[BS2_GetAvailableOsdpStandardDevice]]
* Add API [[BS2_UpdateOsdpStandardDevice]]
* Add API [[BS2_RemoveOsdpStandardDevice]]
* Add API [[BS2_GetOsdpStandardDeviceCapability]]
* Add API [[BS2_SetOsdpStandardDeviceSecurityKey]]
* Add API [[BS2_SetOsdpStandardDeviceStatusListener]]
* Add callback function [[server_api#OnOsdpStandardDeviceStatusChanged]]
\\
==== Modified Features ====
1. Fixed memory leak caused by network switches keepalive check being misunderstood by the SDK. \\
2. This is a problem that occurs ''only in version 2.8.3.2'', and a problem that can lead to abnormal termination during user registration while taking a log dump inside the SDK has been fixed. \\
3. Fixes were made to stabilize the code internally in the SDK. \\