go-mssqldb의 새로운 소식

이 글에서는 각 드라이버 릴리스 go-mssqldb 마다 중요한 변경 사항을 나열합니다. microsoft/go-mssqldb 저장소는 denisenkom/go-mssqldb의 포크입니다. 이 글은 Microsoft 포크로 발행된 버전만 나열하며, v0.16.0부터 시작한다. 전체 변경 로그는 GitHub 릴리스 페이지를 참조하세요.

메모

일부 버전 번호는 순차적이지 않습니다. 예를 들어, v1.2.0부터 v1.4.0까지의 버전은 한 번도 공개되지 않았습니다. 버전 이동은 Microsoft 포크의 실제 릴리스 이력을 반영합니다.

v1.11.0 (2026년 8월)

  • ADO.NET 연결 문자열 동의어를 추가했습니다. ADO 형식의 연결 문자열은 이제 Initial Catalog, Connect Timeout, UID, Data Source와 같은 키워드의 대체 표기를 허용합니다. 자세한 내용은 go-mssqldb 연결 문자열을 참조하세요.
  • NTLM 챌린지, PRELOGIN 옵션의 오프셋 또는 길이, 그리고 SQL Server Browser의 전용 관리자 연결(DAC) 응답을 파싱할 때 잘못된 형식의 서버 응답으로 인해 발생하던 패닉을 수정했습니다.
  • 부분 길이 접두사(PLP) 값에 대한 초기 버퍼 할당에 상한선을 두었습니다.
  • 대량 복사 작업에서 테이블 이름과 ORDER 열을 인용했습니다.
  • 모든 connect() 오류 경로에서 TCP 연결을 종료했습니다.
  • 진짜 칼럼을 위해 다시 돌아 float64 왔습니다.
  • 저장 프로시저 호출을 감지할 때 REVERT를 기본 제공 명령으로 인식했습니다.
  • URL 데이터 소스 이름에 대한 NTLM URL 인코딩을 명확히 했습니다.
  • 엔드포인트AllowedLocations와 .에 사용된 Azure Key Vault URL에서 포트를 제거했습니다.
  • 더 이상 지원되지 않는 것을 reflect.SliceHeader .로 unsafe.Slice대체했습니다.
  • ASCII 전용 데이터의 빠른 경로로 문자 집합 디코딩 성능을 향상시켰습니다.

v1.10.0 (2026년 4월)

  • 데이터베이스 미러링 장애 조치용 연결 문자열 매개변수를 추가 FailoverPartnerSPN 했습니다.
  • NewConnectorWithProcessQueryText 드라이버 이름과의 호환성을 위해 mssql 기능을 추가했습니다.
  • 날짜와 시간 매개변수에 대해 nullable civil 타입(NullDate, NullTime, ) NullDateTime을 추가했습니다.
  • 호환성을 위해 driver.DriverContext 인터페이스를 구현했습니다database/sql.
  • XACT_ABORT이 활성화된 경우 사용자에게 알리지 않고 자동 커밋되는 것을 방지하기 위해 서버에 의해 중단된 트랜잭션을 감지했습니다.
  • 토큰 드레인 중 Rows.Close()에서 발생한 서버 오류가 확인되었습니다.
  • 트리거가 있는 테이블에서 반환된 COLINFO TDS 토큰 및 TABNAME TDS 토큰을 처리했습니다.
  • interface{} 열에 대해 sql_variant 대신 nil 스캔 유형을 반환했습니다.
  • readCancelConfirmation가 컨텍스트 취소를 준수하도록 했습니다.
  • TrustServerCertificate 및 URL 왕복 처리에서 msdsn.Config를 노출했습니다.
  • 연결 문자열 파싱 오류로부터 자격 증명을 정제했습니다.
  • ARM64 Windows에서 이름 파이프 프로토콜 지원을 허용했습니다.

v1.9.8 (2026년 3월)

  • 발견 사항을 해결 govulncheck 하기 위해 의존성을 업데이트했습니다.

v1.9.7 (2026년 2월)

  • 인증 확장 보호(EPA) 지원이 추가되었습니다.
  • 포인터 수신기를 columnStruct사용하여 메모리 복사본을 줄여 성능을 향상시켰습니다.
  • 대량 복사 시 열 이스케이프 처리 문제를 수정했습니다.
  • 배치 패키지에서 stateSep 처리 문제를 수정했습니다.

v1.9.6 (2026년 1월)

  • 바이트 비교 TLS 인증서 검증을 위한 연결 매개변수가 추가 serverCertificate 되었습니다.
  • 업데이트된 golang.org/x/crypto 의존성.

v1.9.4 (2025년 11월)

  • 트랜잭션 롤백 중 어텐션 패킷 처리를 수정했습니다.
  • 명명된 파이프 및 공유 메모리 프로토콜을 지원되는 플랫폼으로 제한했습니다.

v1.9.3 (2025년 9월)

  • 실패 시 대량 복사 FMTONLY 재설정을 수정했습니다.
  • 연결 설정 시 TLS 핸드셰이크 패킷 플러시 문제를 해결했습니다.
  • ADO 스타일 연결 문자열에서 이중 따옴표 값을 지원했습니다.

v1.8.2 (2025년 5월)

  • 연결 문자열에서 비밀번호 필드 별칭으로 인식됩니다 Pwd .
  • COMMITROLLBACK를 인식되는 기본 제공 명령으로 추가했습니다.

v1.8.0 (2024년 12월)

  • hierarchyid, geometry, 및 geography에 대한 사용자 정의 형식(UDT) 지원이 추가되었습니다.
  • 사전 로그인과 로그인 7 패킷에 추적 데이터를 추가했습니다.
  • 데이터베이스 이름이 틀렸을 때 연결이 닫히지 않습니다.
  • azidentity를 v1.6.0으로 업데이트했습니다.

v1.7.2 (2024년 5월)

  • Always Encrypted의 대량 복사에서 null 허용 형식 지원 문제를 수정했습니다.
  • Entra 인증 범위 처리를 수정했습니다.

v1.7.1 (2024년 4월)

  • 연결 매개변수로 columnencryption 항상 암호화된 기능을 구현했습니다.
  • Azure Key Vault(akv) 열 암호화 키 공급자를 추가했습니다.
  • ActiveDirectoryDeviceCodeActiveDirectoryAzCli fedauth 유형을 추가했습니다.
  • TDS 8.0 모드에서 매개변수에 encrypt 대한 추가 값을 수용했습니다.
  • DER 인증서 지원이 추가되었습니다.
  • 연결 매개변수를 추가했습니다 multisubnetfailover .
  • 환경 변수를 통해 Kerberos(krb5) 설정을 허용했습니다.
  • 로그인 시 비밀번호 변경을 구현했습니다.
  • LCID와 코드 페이지 간의 매핑을 수정했습니다.
  • 고정된 문자열 출력 매개변수 절단.
  • UniqueIdentifier에서의 Scan() NULL 값 처리를 수정했습니다.
  • 명명된 파이프 경로 처리를 수정했습니다.

v1.7.0 (2024년 2월)

  • JSON 및 텍스트 마샬링 지원이 포함된 타입 추가 NullUniqueIdentifier .

v1.6.0 (2023년 8월)

  • encrypt=strict와 함께 TDS 8.0 지원이 추가되었습니다.

v1.5.0 (2023년 8월)

  • 명명된 파이프 연결을 위해 npipe 패키지를 프로젝트에 포함했습니다.
  • DAC(전용 관리자 연결) 포트 브라우저 지원이 추가되었습니다.
  • UniqueIdentifier MarshalTextUnmarshalJSON 메서드가 추가되었습니다.
  • 커스텀 다이얼러로 로컬 DNS 해석을 활성화했습니다.
  • 수정된 mipsmipsel 빌드.

v1.1.0 (2023년 6월)

  • DAC 포트 브라우저 서비스를 추가했습니다.

v0.16.0 (2022년 8월) - 첫 번째 Microsoft 포크 릴리스

  • Microsoft Entra 인증을 위해 v1.0으로 azidentity 마이그레이션했습니다.
  • 최소 TLS 버전을 강제하는 연결 매개변수를 추가 tlsmin 했습니다.