차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:release_note_263 [2019/05/15 16:40]
kkshin
ko:release_note_263 [2023/08/17 13:45] (현재)
줄 1: 줄 1:
-===== 2.6.3 버전 =====+===== 2.6.3 버전 ​(V2.6.3.5) ​=====
 ==== 날짜 ==== ==== 날짜 ====
-2019-05-13+2019-07-24
 \\ \\
  
 ==== 새로운 기능 ==== ==== 새로운 기능 ====
   * XPass D2 Keypad 장치 지원   * XPass D2 Keypad 장치 지원
-  * IPv6 지원+  ​* Face Lite 장치 지원 
 +  * XPass 2, XPass 2 Keypad 장치 지원 
 +  ​* IPv6 지원(BS2 FW 1.8.0 only)
   * 설정된 서버 포트 얻기   * 설정된 서버 포트 얻기
   * 패킷 응답 대기시간 설정 지원   * 패킷 응답 대기시간 설정 지원
   * 사용자 등록 함수 BS2_EnrollUser 및 BS2_EnrollUserEx 지원   * 사용자 등록 함수 BS2_EnrollUser 및 BS2_EnrollUserEx 지원
   * 큰 용량의 BS2UserBlob / BS2UserBlobEx 에 대해서 효율적인 메모리 사용을 위해 BS2UserSmallBlob / BS2UserSmallBlobEx 을 지원 (User Photo 영역을 포인터 처리)   * 큰 용량의 BS2UserBlob / BS2UserBlobEx 에 대해서 효율적인 메모리 사용을 위해 BS2UserSmallBlob / BS2UserSmallBlobEx 을 지원 (User Photo 영역을 포인터 처리)
-  * Admin User 1000 명 이상 지원+  * Admin User 1000 명 이상 ​지원 (BS2 1.8.0, A2 1.7.0, L2 1.5.0, N2 1.2.0, FS 1.3.0, FaceLite 1.0.1, CS40 1.3.0, P2 1.3.0, W2 1.4.0, Xpass 2 1.0.0 이상 버전, 표기되지 않은 장치는 지원되지 않음) 
 +  * 지문템플릿 품질점수 지원 
 +  * 파일로그 출력 ​지원
  
-<text size="​x-large">​1.</​text>​XPass D2 Keypad 장치연결 지원이 추가되었습니다.+<text size="​x-large">​1.</​text>​ XPass D2 Keypad 장치연결 지원이 추가되었습니다.
  
-<text size="​x-large">​2.</​text>​IPv6 연결을 지원합니다. \\+<text size="​x-large">​2.</​text>​ Face Lite 장치연결 지원이 추가되었습니다. 
 + 
 +<text size="​x-large">​3.</​text>​ XPass 2, XPass 2 Keypad 장치연결 지원이 추가되었습니다. 
 + 
 +<text size="​x-large">​4.</​text>​ IPv6 연결을 지원합니다. \\
 SDK가 초기화 되어진 이후 IP V6의 기본값은 비활성화 상태입니다. SDK가 초기화 되어진 이후 IP V6의 기본값은 비활성화 상태입니다.
  
줄 29: 줄 37:
   * 함수 [[BS2_GetIPV6ConfigViaUDPEx]] 추가   * 함수 [[BS2_GetIPV6ConfigViaUDPEx]] 추가
   * 함수 [[BS2_SetIPV6ConfigViaUDPEx]] 추가   * 함수 [[BS2_SetIPV6ConfigViaUDPEx]] 추가
-  * 함수 [[BS2_GetEnableIPV4]]추가 +  * 함수 [[BS2_GetEnableIPV4]] 추가 
-  * 함수 [[BS2_SetEnableIPV4]]추가 +  * 함수 [[BS2_SetEnableIPV4]] 추가 
-  * 함수 [[BS2_GetEnableIPV6]]추가 +  * 함수 [[BS2_GetEnableIPV6]] 추가 
-  * 함수 [[BS2_SetEnableIPV6]]추가 +  * 함수 [[BS2_SetEnableIPV6]] 추가 
-  * 함수 [[BS2_SetServerPortIPV6]]추가 +  * 함수 [[BS2_SetServerPortIPV6]] 추가 
-  * 함수 [[BS2_GetServerPortIPV6]]추가 +  * 함수 [[BS2_GetServerPortIPV6]] 추가 
-  * 함수 [[BS2_SetSSLServerPortIPV6]]추가 +  * 함수 [[BS2_SetSSLServerPortIPV6]] 추가 
-  * 함수 [[BS2_GetSSLServerPortIPV6]]추가 +  * 함수 [[BS2_GetSSLServerPortIPV6]] 추가 
-  * 함수 [[BS2_GetSpecifiedDeviceInfo]]추가 +  * 함수 [[BS2_GetSpecifiedDeviceInfo]] 추가 
-  * 함수 [[BS2_SearchDevicesCoreStationEx]]추가+  * 함수 [[BS2_SearchDevicesCoreStationEx]] 추가
  
-<text size="​x-large">​3.</​text>​설정된 ​서버 포트를 얻을 수 있는 함수가 추가되었습니다.+<text size="​x-large">​5.</​text>​ 서버 포트를 얻을 수 있는 함수가 추가되었습니다.
  
   * 함수 [[BS2_GetServerPort]] 추가   * 함수 [[BS2_GetServerPort]] 추가
   * 함수 [[BS2_GetSSLServerPort]] 추가   * 함수 [[BS2_GetSSLServerPort]] 추가
  
-<text size="​x-large">​4.</​text>​장치와의 패킷 응답 대기시간 변경이 가능하도록 추가되었습니다.+<text size="​x-large">​6.</​text>​ 장치와의 패킷 응답 대기시간 변경이 가능하도록 추가되었습니다.
  
   * 함수 [[BS2_SetDefaultResponseTimeout]] 추가   * 함수 [[BS2_SetDefaultResponseTimeout]] 추가
   * 함수 [[BS2_GetDefaultResponseTimeout]] 추가   * 함수 [[BS2_GetDefaultResponseTimeout]] 추가
  
-<text size="​x-large">​5.</​text>​사용자 등록 함수 BS2_EnrollUser 및 BS2_EnrollUserEx가 추가되었습니다. \\ +<text size="​x-large">​7.</​text>​ 사용자 등록 함수의 미국식 표현인 ​BS2_EnrollUser 및 BS2_EnrollUserEx가 추가되었습니다. \\ 
-기존 BS2_EnrolUser,​ BS2_EnrolUserEx 함수를 계속 사용하는데는 문제없으나,​ 가급적 오타가 정정된 새로운 함수 사을 권장합니다.+기존 BS2_EnrolUser,​ BS2_EnrolUserEx 함수와 내용 동일합니다.
  
   * 함수 [[BS2_EnrollUser]] 추가   * 함수 [[BS2_EnrollUser]] 추가
   * 함수 [[BS2_EnrollUserEx]] 추가   * 함수 [[BS2_EnrollUserEx]] 추가
  
-<text size="​x-large">​6.</​text>​사용자 구조체 BS2UserBlob과 BS2UserBlobEx의 멤버 BS2UserPhoto는 고정메모리를 갖도록 설계되어 있습니다.\\ +<text size="​x-large">​8.</​text>​ 사용자 구조체 ​[[user management api#BS2UserBlob]]과 [[user management api#BS2UserBlobEx]]의 멤버 ​[[user management api#BS2UserPhoto]]는 고정메모리를 갖도록 설계되어 있습니다.\\ 
-photo 기능을 사용하지 않는 경우에도 적지않은 크기의 메모리를 ​차지하며, ​사용자 정보 송수신 시 불필요한 네트워크 리소스를 차지는 문제가 있었습니다. \\ +photo 기능을 사용하지 않는 경우에도 적지않은 크기의 메모리를 ​고정적으로 ​사용하게 됩니다.\\ 
-송수신하는 사용자 수가 많지 않은 경우 크게 문제되지 않으나, 사용자 수가 많아지면 차지하는 메모리의 크기도 비례적으로 커지게 되는 문제가 발생할 수 있습니다. \\ +송수신하는 사용자 수가 많지 않은 경우 크게 문제되지 않으나,\\ 
-따라서 BS2UserPhoto를 포인터 처리하여, 보다 효율적으로 메모리를 사용할 수 있도록 ​추가하였습니다.+사용자 수가 많아지면 차지하는 메모리의 크기도 비례적으로 커지게 되는 문제가 발생할 수 있습니다. \\ 
 +2.6.3에는 [[user management api#BS2UserPhoto]]의 포인터 처리를 통해, 보다 효율적으로 메모리를 사용할 수 있는 함수를 새롭게 ​추가하였습니다.
  
   * 구조체 [[user management api#​BS2UserSmallBlob]] 추가   * 구조체 [[user management api#​BS2UserSmallBlob]] 추가
줄 78: 줄 87:
   * 함수 [[BS2_GetUserSmallDatasExFromDir]] 추가   * 함수 [[BS2_GetUserSmallDatasExFromDir]] 추가
  
-<text size="​x-large">​7.</​text>​장치 관리자를 1000명까지 등록할 수 있도록 추가되었습니다.\\ +<text size="​x-large">​9.</​text>​ 장치 관리자를 1000명까지 등록할 수 있도록 추가되었습니다.\\ 
-기존 [[configuration api#​BS2AuthConfig]]를 이용하여 장치 관리자 등록 시, 10명의 관리자까지 ​등록된다는 한계가 있었습니다.\\ +기존 [[configuration api#​BS2AuthConfig]]를 이용하여 장치 관리자 등록 시, 10명의 관리자까지 ​허용된다는 한계가 있었습니다.\\ 
-앞으로는 아래의 함수를 통해 최대 1000명까지 관리자 등록이 가능합니다.\\ +2.6.3부터는 아래 ​새롭게 제공되는 ​함수를 통해 최대 1000명까지 관리자 등록이 가능합니다.\\ 
-로 [[BS2_SetAuthConfig]]를 통해 ​등록되는 장치 관리자는 무시되게 됩니다.+<callout type="​warning"​ icon="​true">​ 
 +**주의 사항** \\ 
 +아래 새롭게 제공되는 함수를 호출하게되면,​\\ 
 +기존 BS2AuthConfig를 통해 관리되던 관리자 목록을 1000명의 관리자 지원이 가능한 장소로 안전하게 이동시키고,​\\ 
 +해당 장소를 통해 ​장치관리자들을 관리하게 됩니다.\\ 
 +이후부터는 아래의 새롭게 제공되는 ​함수들만을 이용하여 ​장치관리자를 관리해야 합니다.\\ 
 +그리고 기존의 BS2AuthConfig를 통한 관리자 설정은 ​무시되어집니다.\\ 
 +\\ 
 +아래의 장치관리자 확장용 신규함수가 호출되어지지 않는다면\\ 
 +기존의 BS2AuthConfig 관련 함수를 통한 관리자 설정은 유효합니다. 
 +</​callout>​
  
   * 구조체 [[device_api#​BS2AuthOperatorLevel]] 추가   * 구조체 [[device_api#​BS2AuthOperatorLevel]] 추가
줄 91: 줄 110:
  
  
 +<text size="​x-large">​10.</​text>​ 지문템플릿의 품질점수 확인 기능이 추가되었습니다.
 +
 +  * 구조체 [[fingerprint api#​BS2Fingerprint]] 참조
 +  * 함수 [[BS2_GetFingerTemplateQuality]] 추가
 +
 +<text size="​x-large">​11.</​text>​ 디버깅용 파일로그 출력 지원이 추가되었습니다.
 +
 +  * 함수 [[BS2_SetDebugFileLog]] 추가
 +
 +\\
 ==== 수정 기능 ==== ==== 수정 기능 ====
  
-<text size="​x-large">​1.</​text>​기존 BS2_UpgradeFirmware 호출하여 firmware ​file 업그레이드 시, Code sign 체크를 장치에서 수행하였으나,​ 이후 SDK에서 수행하도록 수정되었습니다.\\+<text size="​x-large">​1.</​text> ​Firmware ​file 업그레이드 시, Code sign 체크를 장치에서 수행하였으나,​ 이후 SDK에서 수행하도록 수정되었습니다.\\
 따라서 부적절한 firmware file의 경우 보다 빠르게 오류를 반환할 수 있게되었습니다. 따라서 부적절한 firmware file의 경우 보다 빠르게 오류를 반환할 수 있게되었습니다.
  
   * 함수 [[BS2_UpgradeFirmware]] 참조   * 함수 [[BS2_UpgradeFirmware]] 참조
  
-<text size="​x-large">​2.</​text>​소켓이 연결된 후 바로 끊어지게되면,​ 간헐적으로 모든 통신이 동작되지 않을 수 있는 문제를 수정하였습니다. \\+<text size="​x-large">​2.</​text>​ 소켓이 연결된 후 바로 끊어지게되면,​ 간헐적으로 모든 통신이 동작되지 않을 수 있는 문제를 수정하였습니다. \\
  
-<text size="​x-large">​3.</​text>​다수의 장치가 동시에 SSL 연결 시도 시, 간헐적으로 통신이 연결되지 않을 수 있는 문제를 수정하였습니다. \\+<text size="​x-large">​3.</​text>​ 다수의 장치가 동시에 SSL 연결 시도 시, 간헐적으로 통신이 연결되지 않을 수 있는 문제를 수정하였습니다. \\
  
-<text size="​x-large">​4.</​text>​장치 검색 시 간헐적으로 crash되는 문제를 수정하였습니다. \\+<text size="​x-large">​4.</​text>​ 장치 검색 시 간헐적으로 crash되는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_SearchDevicesEx]] 참조   * 함수 [[BS2_SearchDevicesEx]] 참조
  
-<text size="​x-large">​5.</​text>​SDK 라이브러리의 사용종료 또는 라이브러리 내의 리소스 재할당을 위한 메모리 반납 단계에서 간헐적으로 무응답(hang)이 ​될 수 있는 문제를 수정하였습니다. \\+<text size="​x-large">​5.</​text>​ SDK 라이브러리의 사용종료 또는 라이브러리 내의 리소스 재할당을 위한 메모리 반납 단계에서\\ 
 +간헐적으로 무응답(hang) ​현상이 나타날 ​수 있는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_ReleaseContext]] 참조   * 함수 [[BS2_ReleaseContext]] 참조
   * 함수 [[BS2_SetMaxThreadCount]] 참조   * 함수 [[BS2_SetMaxThreadCount]] 참조
  
-<text size="​x-large">​6.</​text>​iClass SEOS 카드 장치에서 card config 취득 시 BS_SDK_ERROR_NOT_SUPPORTED ​오류가 발생하는 문제를 수정하였습니다. \\+<text size="​x-large">​6.</​text>​ iClass SEOS 카드 장치에서 card config 취득 시 잘못된 ​오류(BS_SDK_ERROR_NOT_SUPPORTED)를 반환하는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_GetCardConfigEx]] 참조   * 함수 [[BS2_GetCardConfigEx]] 참조
  
-<text size="​x-large">​7.</​text>​서로 다른 SSL 인증서 파일을 사용하는 장치들에서 동시에 SSL 연결 시도 시, 간헐적으로 연결이 되지 않는 문제를 수정하였습니다. \\+<text size="​x-large">​7.</​text>​ 서로 다른 SSL 인증서 파일을 사용하는 장치들에서 동시에 SSL 연결 시도 시, 간헐적으로 연결이 되지 않는 문제를 수정하였습니다. \\
  
-<text size="​x-large">​8.</​text>​Lift control에서 잘못된 floor level을 가져오는 문제를 수정하였습니다. \\+<text size="​x-large">​8.</​text>​ Lift control에서 잘못된 floor level을 가져오는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_GetFloorLevel]] 참조   * 함수 [[BS2_GetFloorLevel]] 참조
  
-<text size="​x-large">​9.</​text>​Server ​매칭 사용 시 지문 template이 384byte로 고정되어 있던 제약을 수정하였습니다. \\+<text size="​x-large">​9.</​text> ​서버 ​매칭 사용 시 지문 template이 384byte로 고정되어 있던 제약을 수정하였습니다. \\
  
-<text size="​x-large">​10.</​text>​Slave 장치에서 지문관련 일부 함수가 동작되지 않는 문제를 수정하였습니다. \\+<text size="​x-large">​10.</​text>​ Slave 장치에서 지문관련 일부 함수가 동작되지 않는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_ScanFingerprint]] 참조   * 함수 [[BS2_ScanFingerprint]] 참조
   * 함수 [[BS2_VerifyFingerprint]] 참조   * 함수 [[BS2_VerifyFingerprint]] 참조
  
-<text size="​x-large">​11.</​text>​장치 별로 지원하는 장치설정과 지원하지 않는 장치설정이 다를 수 있는데, \\ +<text size="​x-large">​11.</​text>​ 장치 별로 지원하는 장치설정과 지원하지 않는 장치설정이 다를 수 있는데, \\ 
-특정 설정을 지원하지 않는 장치에게 ​설정을 ​요청하는 경우 timeout까지 기다리는 ​문제를 ​BS_SDK_ERROR_NOT_SUPPORTED를 반환하도록 수정하였습니다. ​+특정 설정을 지원하지 않는 장치로부터 ​설정을 ​가져오는 경우 timeout까지 기다리는 ​부분을\\ 
 +BS_SDK_ERROR_NOT_SUPPORTED를 반환하도록 수정하였습니다. ​
  
   * 함수 [[BS2_GetConfig]] 참조   * 함수 [[BS2_GetConfig]] 참조
  
-<text size="​x-large">​12.</​text>​Access schedule 설정 호출 시, 호출 이후 정상적으로 호출 결과를 반환받지 못하는 문제를 수정하였습니다. \\+<text size="​x-large">​12.</​text>​ Access schedule 설정 호출 시, 호출 이후 정상적으로 호출 결과를 반환받지 못하는 문제를 수정하였습니다. \\
  
   * 함수 [[BS2_SetAccessSchedule]] 참조   * 함수 [[BS2_SetAccessSchedule]] 참조
  
-<text size="​x-large">​13.</​text>​장치가 서버모드로 연결 시, 처리방식을 동기식에서 비동기식으로 처리되도록 수정하였습니다. \\+<text size="​x-large">​13.</​text>​ 장치가 서버모드로 연결 시, 처리방식을 동기식에서 비동기식으로 처리되도록 수정하였습니다. \\
  
-<text size="​x-large">​14.</​text>​SDK 초기화 단계에서 열기에 실패한 소켓을 정리하도록 수정하였습니다. \\+<text size="​x-large">​14.</​text>​ SDK 초기화 단계에서 열기에 실패한 소켓을 정리하도록 수정하였습니다. \\
  
-<text size="​x-large">​15.</​text>​SSL 연결 종료 시 SSL 리소스를 정리하도록 수정하였습니다. \\+<text size="​x-large">​15.</​text>​ SSL 연결 종료 시 SSL 리소스를 정리하도록 수정하였습니다. \\
  
-<text size="​x-large">​16.</​text>​Socket에서 패킷 송수신 시 성능을 개선하였습니다. (오류 발생 시 5ms 간격으로 재시도. 10회의 재시도 또는 100ms 이상 오류 지속 시 끊김 처리)\\+<text size="​x-large">​16.</​text>​ Socket에서 패킷 송수신 시 성능을 개선하였습니다.\\ 
 +(오류 발생 시 5ms 간격으로 재시도. 10회의 재시도 또는 100ms 이상 오류 지속 시 끊김 처리)\\
  
-<text size="​x-large">​17.</​text>​SDK 내부에서 ​이벤트 ​등을 ​처리하기 위한 ​thread ​들의 개수를 조정하였습니다. \\ +<text size="​x-large">​17.</​text>​ 이벤트 처리 thread ​생성 함의 인자의 의미를 조정하였습니다. \\ 
-이전의 ​[[BS2_SetMaxThreadCount]] : +[[BS2_SetMaxThreadCount]] ​(2.6.3 이전):\\ 
-인자로 지정하는 thread의 수는 ​이벤트 처리 thread의 수만을 의미하지 않았습니다.\\ +인자 ​값이 ​이벤트 처리 thread의 수만을 의미하지 않았습니다.\\ 
-실제로는 timer처리용 ​2, server matching용 1, notification용 1, TCP/UDP 처리용 각 1개씩 ​총 6개의 예약 thread를 포함하여 ​지정하였습니다.\\ +실제로는 timer(2), server matching(1), notification(1), TCP/UDP 처리 각(1)\\ 
-인자로 지정되는 thread의 최소값은 8인데, ​실제 8로 설정면 예약 thread 총 6개를 ​빼고 ​실제 이벤트를 처리하기 위한 ​thread의 는 2개를 ​내부적으로 ​설정하였습니다.\\+ 총 6개의 예약 thread를 포함한 이벤트 처리 thread수를 ​지정해야했습니다.\\ 
 +인자로 지정되는 thread의 최소값은 8이었습니다.\\ 
 +실제 ​인자 값 8을 설정면 내부적으로 ​예약 thread 총 6개를 ​뺀 실제 이벤트 처리 thread 수 2개를 설정하였습니다.\\
 \\ \\
-수정된 ​[[BS2_SetMaxThreadCount]] :+[[BS2_SetMaxThreadCount]] ​(2.6.3 이후):\\
 인자로 지정하는 thread수가 이벤트 처리용 thread 수를 의미합니다. 따라서 최소값은 2입니다. 인자로 지정하는 thread수가 이벤트 처리용 thread 수를 의미합니다. 따라서 최소값은 2입니다.
-내부적으로 사용하는 예약된 thread인 timer처리용 2개, server matching용 1개, notification용 1개, TCP/UDP 처리용 각 1개씩 총 6개는 고정된 값으로\\ +<WRAP group>
-BS2_SetMaxThreadCount 함수의 호출과 무관합니다.\\ +
-<WRAP group 50%>+
 ^함수 ^초기값(이전) ^최소값(이전) ^초기값(이후) ^최소값(이후) ^ ^함수 ^초기값(이전) ^최소값(이전) ^초기값(이후) ^최소값(이후) ^
-|BS2_SetMaxThreadCount |MAX(NumberOfCpuCores*5,​ 15) |8 (실제 이벤트 처리 thread는 8-6 = 2로 동작) | |MAX(NumberOfCpuCores*5,​ 15) |2 | +|BS2_SetMaxThreadCount |MAX(NumberOfCpuCores*5,​ 15) |8 |MAX(NumberOfCpuCores*5,​ 15) |2 | 
-|BS2_SetMaxConnectThreadCount |8 |1 |8 |1 |+|BS2_SetMaxConnectThreadCount |8 |1 |8 |1 |
 </​WRAP>​ </​WRAP>​
  
-<text size="​x-large">​18.</​text>​동일한 IP의 장치인 경우 복수 연결을 허용하지 않았으나,​ 동일 IP라도 다른 port인 경우 연결을 허용하도록 수정되었습니다. \\+<text size="​x-large">​18.</​text> ​[[BS2_ConnectDeviceViaIP]] 사용시, ​동일한 IP의 장치인 경우 복수 연결을 허용하지 않았으나,​ 동일 IP라도 다른 port인 경우 연결을 허용하도록 수정되었습니다. \\ 
 + 
 +<text size="​x-large">​19.</​text>​ [C#예제] BS2Door의 멤버 alarmFlags를 unconditionalLock으로 수정되었습니다. \\ 
 + 
 +<text size="​x-large">​20.</​text>​ [C#예제] BS2SoundAction 크기 변경 및 delay 멤버가 추가되었습니다. \\ 
 + 
 +<text size="​x-large">​21.</​text>​ [C#예제] LogControl에서 BS2_GetLogBlob의 BS2EventMaskEnum.JOB_CODE가 BS2EventMaskEnum.ALL로 수정되었습니다.\\ 
 + 
 +<text size="​x-large">​22.</​text>​ [C#예제] CardControl에서 불필요한 blacklist 코드를 제거하였습니다. \\ 
 + 
 +<text size="​x-large">​23.</​text>​ [C#예제] ConfigControl에서 BS2_SetDstConfig의 잘못된 코드 startTime.weekDay를 endTime.weekDay로 수정하였습니다.\\ 
 + 
 +<text size="​x-large">​24.</​text>​ [C#예제] SlaveControl에서 slave device에 대한 예제코드가 추가되었습니다. \\ 
 + 
 +<text size="​x-large">​25.</​text>​장치에서 지원하는 카드를 선택적으로 읽을 수 있도록 켜고 끄는 옵션이 추가되었습니다. \\ 
 + 
 +  * 구조체 [[Configuration API#​BS2SystemConfig]] 참조 
 + 
 +<text size="​x-large">​26.</​text>​ 위조된 얼굴을 여과할 수 있는 민감도 설정항목이 추가되었습니다. \\
  
-<text size="​x-large">​19.</​text>​[C#예제BS2Door의 멤버 alarmFlags를 unconditionalLock으로 수정되었습니다. \\+  * 구조체 ​[[Configuration API#BS2FaceConfig]참조
  
-<text size="​x-large">​20.</​text>​[C#예제] BS2SoundAction 크기 변경 및 delay 멤버가 추가되었습니다. \\+<text size="​x-large">​27.</​text> ​빠른 얼굴 등록 모드가 추가되었습니다. \\
  
-<text size="​x-large">​21.</​text>​[C#예제LogControl에서 BS2_GetLogBlob의 BS2EventMaskEnum.JOB_CODE가 BS2EventMaskEnum.ALL로 수정되었습니다.\\+  * 구조체 ​[[Configuration API#BS2FaceConfig]참조
  
-<text size="​x-large">​22.</​text>​[C#예제] CardControl에서 불필요한 blacklist 코드를 제거하였습니다. \\+<text size="​x-large">​28.</​text> ​중복 얼굴(또는 지문) 검사 기능이 추가되었습니다. \\
  
-<text size="​x-large">​23.</​text>​[C#예제ConfigControl에서 BS2_SetDstConfig의 잘못된 코드 startTime.weekDay를 endTime.weekDay로 수정하였습니다.\\+  * 구조체 ​[[Configuration API#BS2FaceConfig]] 참조 
 +  * 구조체 [[Configuration API#​BS2FingerprintConfig]참조
  
-<text size="​x-large">​24.</​text>​[C#예제] SlaveControl에서 slave device에 대한 예제코드가 ​추가되었습니다. \\+<text size="​x-large">​29.</​text> ​GDPR(개인정보보호 규정) 지원 옵션이 ​추가되었습니다. \\
  
 +  * 구조체 [[Configuration API#​BS2SystemConfig]] 참조