===== 2.9.1 버전 (V2.9.1.0) =====
==== 날짜 ====
2023-02-23
\\
==== 새로운 기능 ====
* 장치에서 특정 기능 사용에 대한 라이선스 활성화 지원
* 카메라를 이용한 QR 코드 인식 및 인증 지원
* 소켓 읽기/쓰기 실패 시, 재시도 횟수 설정 기능 지원
* 타사 OSDP 리더 연결 지원
1. 장치 라이선스 활성화 기능이 추가되었습니다. \\
* 구조체 [[configuration_api#BS2License]] 추가
* 구조체 [[configuration_api#BS2LicenseConfig]] 추가
* 구조체 [[sdk_api#BS2LicenseBlob]] 추가
* 구조체 [[sdk_api#BS2LicenseResult]] 추가
* 함수 [[BS2_GetLicenseConfig]] 추가
* 함수 [[BS2_EnableDeviceLicense]] 추가
* 함수 [[BS2_DisableDeviceLicense]] 추가
* 함수 [[BS2_QueryDeviceLicense]] 추가
2. 카메라를 통해 QR코드의 인식 및 인증을 지원하는 기능이 추가되었습니다. \\
* 구조체 [[configuration_api#BS2BarcodeConfig]] 참조
3. 통신 도중 소켓에서 패킷을 읽고 쓰는 중에 오류가 발생했을 때 사용되는 통신 재시도 횟수를 추가했습니다. \\
**주의 사항** \\
재시도 횟수를 늘리는 것은 일시적인 오류를 해결할 수 있는 좋은 방법이지만, 네트워크 연결 끊김 등의 직접적인 원인이 발생하여 재연결이 필요할 때 무의미한 읽기/쓰기를 재시도하게 되면서 리소스 낭비가 발생할 수 있으므로 주의가 필요합니다. \\
* 함수 [[BS2_GetSocketRetryCount]] 추가
* 함수 [[BS2_SetSocketRetryCount]] 추가
* 함수 [[BS2_GetSocketSSLRetryCount]] 추가
* 함수 [[BS2_SetSocketSSLRetryCount]] 추가
4. OSDP 표준의 3rd party 장치들을 연결 및 관리를 할 수 있도록 기능이 추가되었습니다. \\
* 구조체 [[slave_control_api#BS2OsdpStandardDevice]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceAvailable]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardNotify]] 추가
* 구조체 [[configuration_api#BS2OsdpStandardConfig]] 추가
* 구조체 [[configuration_api#BS2OsdpStandardActionConfig]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceAdd]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceUpdate]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceCapability]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceResult]] 추가
* 구조체 [[slave_control_api#BS2OsdpStandardDeviceSecurityKey]] 추가
* 함수 [[BS2_GetOsdpStandardConfig]] 추가
* 함수 [[BS2_GetOsdpStandardActionConfig]] 추가
* 함수 [[BS2_SetOsdpStandardActionConfig]] 추가
* 함수 [[BS2_AddOsdpStandardDevice]] 추가
* 함수 [[BS2_GetOsdpStandardDevice]] 추가
* 함수 [[BS2_GetAvailableOsdpStandardDevice]] 추가
* 함수 [[BS2_UpdateOsdpStandardDevice]] 추가
* 함수 [[BS2_RemoveOsdpStandardDevice]] 추가
* 함수 [[BS2_GetOsdpStandardDeviceCapability]] 추가
* 함수 [[BS2_SetOsdpStandardDeviceSecurityKey]] 추가
* 함수 [[BS2_SetOsdpStandardDeviceStatusListener]] 추가
* 콜백함수 [[server_api#OnOsdpStandardDeviceStatusChanged]] 추가
\\
==== 수정 기능 ====
1. 네트워크 switch에서 제공하는 keepalive check 기능처럼, 실제 장치 연결은 아니면서 연결 후 끊기가 반복되는 경우가 있습니다. \\
이 경우 SDK에서 실제 장치 연결로 오인하고 이것이 메모리 누수로 이어질 수 있는 문제가 수정되었습니다. \\
2. ''2.8.3.2 버전에서만'' 발생하는 문제로, 사용자 등록 시 SDK 내부적으로 log dump를 수행하면서, 이 과정에서 비정상 종료로 이어질 수 있는 문제가 수정되었습니다. \\
3. SDK 내부적으로 코드 안정화를 위한 수정이 있었습니다. \\