Co nowego w go-mssqldb

W tym artykule wymieniono istotne zmiany w każdej wersji sterownika go-mssqldb . Repozytorium microsoft/go-mssqldb jest forkiem denisenkom/go-mssqldb. Ten artykuł zawiera tylko wydania opublikowane w ramach forku Microsoft, zaczynając od wersji 0.16.0. Pełny dziennik zmian znajdziesz na stronie GitHub releases.

Uwaga / Notatka

Niektóre numery wersji nie są sekwencyjne. Na przykład wersje od 1.2.0 do 1.4.0 nigdy nie zostały opublikowane. Skoki w wersji odzwierciedlają rzeczywistą historię wydań forka Microsoft.

v1.10.0 (kwiecień 2026)

  • Dodano FailoverPartnerSPN parametr parametry połączenia do przełączania awaryjnego mirroringu bazy danych.
  • Dodano funkcję NewConnectorWithProcessQueryText w celu zapewnienia zgodności z nazwą sterownika mssql.
  • Dodano typy nullable civil (NullDate, NullTime, NullDateTime) dla parametrów daty i czasu.
  • Zaimplementowano interfejs driver.DriverContext w celu zapewnienia zgodności z database/sql.
  • Wykryto przerwane transakcje serwera, aby zapobiec cichemu automatycznemu zatwierdzaniu po XACT_ABORT włączeniu.
  • Wyświetlono błędy serwera z Rows.Close() podczas opróżniania tokenów.
  • Obsługiwane COLINFO i TABNAME TDS tokeny zwracane przez tabele z wyzwalaczami.
  • Zwrócono typ skanowania interface{} dla kolumn sql_variant zamiast nil.
  • Sprawiono, że readCancelConfirmation uwzględnia anulowanie kontekstu.
  • Ujawniono TrustServerCertificate w msdsn.Config oraz podczas przesyłania adresu URL tam i z powrotem.
  • Oczyścił poświadczenia z błędów parsowania parametry połączenia.
  • Umożliwiono obsługę protokołu nazwanego pipe'u dla ARM64 Windows.

v1.9.8 (marzec 2026)

  • Zaktualizowano zależności w celu rozwiązania ustaleń govulncheck.

v1.9.7 (luty 2026)

  • Dodano wsparcie dla rozszerzonej ochrony uwierzytelniania (EPA).
  • Poprawiono wydajność dzięki użyciu odbiorników wskaźnikowych dla columnStruct, zmniejszając liczbę kopii pamięci.
  • Naprawiono obsługę znaków ucieczki w kolumnie kopiowania zbiorczego.
  • Poprawiono obsługę stateSep w pakiecie wsadowym.

v1.9.6 (styczeń 2026)

  • Dodano serverCertificate parametr połączenia do walidacji certyfikatu TLS z porównaniem bajtów.
  • Zaktualizowano zależność golang.org/x/crypto.

v1.9.4 (listopad 2025)

  • Naprawiono obsługę pakietów attention podczas wycofywania transakcji.
  • Ograniczono protokoły potoków nazwanych i pamięci współdzielonej do obsługiwanych platform.

v1.9.3 (wrzesień 2025)

  • Naprawiono reset FMTONLY podczas kopiowania zbiorczego w razie niepowodzenia.
  • Naprawiono opróżnianie bufora pakietu uzgadniania TLS podczas nawiązywania połączenia.
  • Dodano obsługę wartości ujętych w podwójny cudzysłów w ciągach połączenia w stylu ADO.

v1.8.2 (maj 2025)

  • Rozpoznano Pwd jako alias pola hasła w parametrach połączenia.
  • Dodano COMMIT i ROLLBACK jako rozpoznawane wbudowane polecenia.

v1.8.0 (grudzień 2024)

  • Dodano wsparcie dla typów definiowanych przez użytkownika (UDT) dla hierarchyid, geometry, oraz geography.
  • Dodano dane śledzenia do pakietów prelogin i login7.
  • Stałe połączenie nie zamyka się, gdy nazwa bazy danych jest błędna.
  • Zaktualizowano azidentity do wersji 1.6.0.

v1.7.2 (maj 2024)

  • Naprawiono obsługę typów dopuszczających wartość null dla Always Encrypted podczas kopiowania zbiorczego.
  • Naprawiono obsługę zakresu uwierzytelniania Entra.

v1.7.1 (kwiecień 2024)

  • Zaimplementowano funkcję Always Encrypted za pomocą parametru połączenia columnencryption.
  • Dodano dostawcę klucza szyfrowania kolumn Azure Key Vault (akv).
  • Dodano typy fedauth ActiveDirectoryDeviceCode i ActiveDirectoryAzCli.
  • Akceptowano dodatkowe wartości dla parametru encrypt w trybie TDS 8.0.
  • Dodano wsparcie dla certyfikatów DER.
  • Dodano multisubnetfailover parametr połączenia.
  • Dozwolona konfiguracja Kerberos (krb5) za pomocą zmiennych środowiskowych.
  • Wprowadzono możliwość zmiany hasła podczas logowania.
  • Poprawiono mapowania LCID na stronę kodową.
  • Naprawiono problem z obcinaniem parametru wyjściowego typu ciąg znaków.
  • Naprawiono obsługę wartości UniqueIdentifier NULL w Scan().
  • Naprawiono obsługę ścieżki potoku nazwanego.

v1.7.0 (luty 2024)

  • Dodano typ NullUniqueIdentifier z obsługą JSON i marshalowania tekstu.

v1.6.0 (sierpień 2023)

  • Dodano wsparcie TDS 8.0 za pomocą encrypt=strict.

v1.5.0 (sierpień 2023)

  • Dodano do repozytorium pakiet npipe do połączeń za pomocą nazwanych potoków.
  • Dodano wsparcie dla portów DAC (Dedicated Administrator Connection) w przeglądarce.
  • Dodano metody UniqueIdentifierMarshalText i UnmarshalJSON.
  • Włączono lokalne rozwiązywanie nazw DNS za pomocą niestandardowych dialerów.
  • Naprawiono kompilacje mips i mipsel.

v1.1.0 (czerwiec 2023)

  • Dodano usługę przeglądarki portów DAC.

v0.16.0 (sierpień 2022) - Pierwsze wydanie forka Microsoft

  • Przeszedłem na azidentity v1.0 dla uwierzytelniania Microsoft Entra.
  • Dodano tlsmin parametr połączenia, aby wymusić minimalną wersję TLS.