카우치베이스 .NET SDK 2.3.5가 출시되었습니다!
오늘 또 다른 버그 수정/유지 관리 릴리스인 Couchbase .NET SDK 2.3.5를 출시합니다. 이번 릴리스에서는 서버에 자격 증명을 전달하기 위한 새롭고 향상된 보안 모델을 추가했습니다: SCRAM-SHA1. 또한 가까운 시일 내에 .NET Core 호환 SDK를 출시한다는 목표를 향해 몇 가지 커밋을 추가했습니다. 다음 달 중으로 개발자 프리뷰를 기대해 주세요!
새로운 기능 및 변경 사항
SCRAM-SHA1 지원
Couchbase Server 4.5 릴리스에는 SCRAM-SHA라는 새롭고 향상된 보안 기능이 추가되었습니다. SCRAM 는 솔티드 챌린지 요청 인증 메커니즘의 약자이며 SHA 는 비밀번호를 서버로 전송하기 전에 해싱하는 데 사용되는 알고리즘을 나타냅니다. 서버는 SHA-1, SHA-256, SHA-512(이전 버전의 서버의 경우 일반 및 CRAM-MD5와 함께)를 지원합니다. SHA 번호가 높을수록 해시의 보안이 강화되지만, 이번 릴리스에서는 클라이언트가 SHA1만 지원합니다. 그 이유는 .NET이 비밀번호를 소금에 절이는 SCRAM 프로세스의 필수 부분인 PBKDF2의 SHA1 버전만 제공하기 때문입니다. 향후 타사 라이브러리를 사용하여 SHA-256 및 SHA-512를 지원할 수 있습니다.
클라이언트 관점에서 SCRAM-SHA1의 가장 좋은 점은 구성을 변경할 필요가 없다는 것입니다! 클라이언트는 서버가 SHA1을 지원하는 것을 감지하면 보안성이 떨어지는 CRAM-MD5 대신 이를 사용합니다.
.NET 핵심 지원 - 업데이트!
이번 릴리스에는 특히 .NET Core 지원을 제공하기 위한 세 가지 커밋이 포함되어 있습니다:
- NCBC-1152: Net Core가 Socket.BeginConnect를 지원하지 않음
- NCBC-1125: 비동기 TPL 패턴을 사용하도록 SslStream 전환
- NCBC-1159: NUnit 3에서 테스트를 실행하는 동안 비동기 호출 교착 상태
특별히 다음과 같은 분들께 감사드립니다. 브랜트 버넷 의 Centeredge 소프트웨어 Couchbase SDK .Net Core 프로젝트에 도움을 주신 것에 대해 감사드립니다! 또한 커뮤니티 기여자 프로그램의 일환으로 카우치베이스 전문가로 승격된 것을 진심으로 축하드립니다!
다시 한 번, 가까운 시일 내에 Couchbase .Net Core SDK의 개발자 프리뷰를 기대해 주세요!
N1QL 쿼리 타이밍
N1QL 쿼리 타이밍은 SDK의 로깅 인프라에 추가된 기능으로 클라이언트와 서버 간의 네트워크 문제를 진단하는 데 유용합니다. 기본적으로 비활성화되어 있으며 ClientConfiguration 클래스에서 EnableQueryTiming 속성을 true로 설정하여 활성화할 수 있습니다:
|
1 2 3 4 5 6 7 |
var 구성 = new 클라이언트 구성 { 서버 = new 목록<Uri>{new Uri("http://yourbootstrapserver:8091"), EnableQueryTiming = true } 클러스터 도우미.초기화(구성); |
다음 분들께 큰 감사를 드립니다. 마이크 골드스미스 에게 이 기능을 제공해 주셔서 감사합니다! 마이크는 이번 릴리스에서도 몇 가지 수정 작업을 수행했으며 앞으로도 더 많은 작업을 할 것으로 예상됩니다!
SDK 컨버전스
카우치베이스의 SDK 팀에서 특히 신경을 쓴 한 가지는 다양한 SDK에서 프로그래밍 모델의 일관성을 보장하는 것이었습니다: Java, Go, Node.js, Python, PHP, Libcouchbase 및 .NET. 플랫폼 간 관용적 차이로 인해 달성하기 어려운 목표이지만, 저희는 항상 이 부분을 개선하기 위해 노력하고 있습니다. 이번 릴리스에서는 하나의 커밋을 추가했습니다. NCBC-1170는 두 가지 작업을 수행합니다:
- 각 문서 결과 또는 작업 결과에 문서 키의 복사본이 있는지 확인하고 해당 문서 결과의 Id 속성을 확인합니다.
- 삽입, 위로 바꾸기 또는 바꾸기 작업이 실행될 때 문서를 DocumentResult에 추가합니다.
이렇게 하면 콘텐츠(문서), 키 및 CAS 값을 모두 DocumentResult에서 사용할 수 있으므로 애플리케이션 로직의 다음 단계로 더 쉽게 진행할 수 있습니다.
릴리스 정보 - Couchbase .NET 클라이언트 라이브러리 - 버전 2.3.5
- [NCBC-1125] - SslStream을 비동기 TPL 패턴을 사용하도록 전환하기
- [NCBC-1152] - 넷 코어가 Socket.BeginConnect를 지원하지 않음
- [NCBC-1080] - 버킷은 구성 .NET SDK에서 제공된 비밀번호로 열립니다.
- [NCBC-1108] - 인덱스 관리 메서드에 ContinueOnAnyContext가 없으며 교착 상태가 발생할 수 있습니다.
- [NCBC-1157] - DefaultSerializer.ContractResolver가 null이면 쿼리가 실패합니다.
- [NCBC-1158] - rb2out 중 하위 문서 가져오기에 대한 예외
- [NCBC-1159] - NUnit 3에서 테스트를 실행하는 동안 비동기 호출 데드락
- [NCBC-1161] - 하위 문서 - MutateIn은 POCO's를 지원하지 않습니다.
- [NCBC-1162] - 문서 변이가 발생했을 때 Observe가 빠르게 실패하도록 설정하기
- [NCBC-1163] - MUX IO - 향상된 내구성이 활성화된 경우 작동 시간 초과
- [NCBC-1164] - CAS 기반 관찰을 수행하는 동안 문서 돌연변이가 잘못 표시됨
- [NCBC-1167] - 깃허브의 README가 현재 사용 시작을 명확하게 가리키는지 확인합니다.
- [NCBC-1170] - 삽입 및 업서트가 문서를 반환하도록 설정 - Java SDK와 유사합니다.
- [NCBC-1094] - SCRAM-SHA1 지원 구현
- [NCBC-1160] - N1QL 타이밍 로깅을 활성화하는 옵션 추가
- [NCBC-1111] - NMV에 대한 노출 백오프를 제거하고 정적 100ms 백오프로 교체합니다.
받는 방법
항상 그렇듯이 Couchbase .NET SDK는 다음에서 사용할 수 있습니다: