Co je nového v go-mssqldb

Tento článek uvádí významné změny v každém vydání ovladače go-mssqldb . Repozitář microsoft/go-mssqldb je forkem repozitáře denisenkom/go-mssqldb. Tento článek uvádí pouze verze publikované pod Microsoft fork, počínaje verzí 0.16.0. Pro kompletní changelog navštivte stránku GitHub releases.

Note

Některá čísla verzí nejsou sekvenční. Například verze v1.2.0 až v1.4.0 nikdy nebyly publikovány. Skoky verzí odrážejí skutečnou historii vydání Microsoft forku.

v1.11.0 (srpen 2026)

  • Byla přidána synonyma pro připojovací řetězec ADO.NET. Spojovací řetězce ve formátu ADO nyní podporují alternativní podoby klíčových slov, například Data Source, Initial Catalog, Connect Timeout a UID. Pro více informací viz go-mssqldb connection strings.
  • Byly opraveny pády vyvolané chybně formátovanými odpověďmi serveru při parsování výzvy NTLM, offsetu nebo délky možnosti PRELOGIN a odpovědi SQL Server Browseru pro připojení vyhrazeného správce (DAC).
  • Omezili jsme počáteční alokaci vyrovnávací paměti pro částečně délkově prefixované (PLP) hodnoty.
  • Citoval jsem název tabulky a ORDER sloupce při hromadných kopírovacích operacích.
  • Uzavřel jsem TCP spojení na každé connect() chybové cestě.
  • Vráceno float64 pro reálné sloupce.
  • Rozpoznáno REVERT jako vestavěný příkaz při detekci volání uložených procedur.
  • Upřesněno kódování URL NTLM pro názvy zdrojů dat URL.
  • Z adres URL služby Azure Key Vault používaných pro koncový bod a AllowedLocations byl odstraněn port.
  • Nahradil jsem zastaralé reflect.SliceHeader za unsafe.Slice.
  • Zlepšený výkon dekódování znakové sady s rychlou cestou pro data pouze v ASCII.

v1.10.0 (duben 2026)

  • Přidán parametr FailoverPartnerSPN připojovacího řetězce pro převzetí služeb při selhání při zrcadlení databáze.
  • Přidána NewConnectorWithProcessQueryText funkce kvůli kompatibilitě s názvem ovladače mssql.
  • Přidány nullable civil typy (NullDate, NullTime, NullDateTime) pro parametry data a času.
  • Implementoval jsem rozhraní driver.DriverContext kvůli kompatibilitě s database/sql.
  • Detekoval transakce přerušené serverem, aby se zabránilo tichému automatickému potvrzení, když XACT_ABORT je zapnuto.
  • Byly zaznamenány chyby serveru z Rows.Close() během vyčerpávání tokenů.
  • Zpracovává tokeny TDS COLINFO a TABNAME, které vracejí tabulky s triggery.
  • Byl vrácen typ skenování interface{} u sloupců sql_variant namísto nil.
  • Upraveno tak, aby readCancelConfirmation respektoval zrušení kontextu.
  • Zveřejněno TrustServerCertificate v msdsn.Config a při zpátečním převodu URL.
  • Očištěné přihlašovací údaje od chyb při parsování připojovací řetězec.
  • Povolena podpora pojmenovaných pipe-protokolů pro ARM64 Windows.

v1.9.8 (březen 2026)

  • Aktualizovány závislosti pro vyřešení govulncheck zjištění.

v1.9.7 (únor 2026)

  • Přidána podpora rozšířené ochrany pro autentizaci (EPA).
  • Zlepšení výkonu použitím přijímačů ukazatelů pro columnStruct, což snižuje množství kopií paměti.
  • Opraveno escapování sloupců při hromadném kopírování.
  • Opraveno zpracování stateSep v balíčku batch.

v1.9.6 (leden 2026)

  • Přidán serverCertificate parametr spojení pro validaci TLS certifikátu s porovnáním bajtů.
  • Aktualizována závislost golang.org/x/crypto.

v1.9.4 (listopad 2025)

  • Opravena chyba při zpracování paketů attention během vrácení transakce zpět.
  • Protokoly pro pojmenované roury a sdílenou paměť byly omezeny na podporované platformy.

v1.9.3 (září 2025)

  • Opraveno resetování hromadného kopírování FMTONLY při selhání.
  • Opraveno vyčištění paketů TLS handshake během navazování připojení.
  • Přidána podpora pro hodnoty uzavřené v dvojitých uvozovkách v připojovacích řetězcích ve stylu ADO.

v1.8.2 (květen 2025)

  • Rozpoznán Pwd jako alias pole hesla v připojovacích řetězcích.
  • COMMIT a ROLLBACK byly přidány jako rozpoznané vestavěné příkazy.

v1.8.0 (prosinec 2024)

  • Přidána podpora uživatelsky definovaných typů (UDT) pro hierarchyid, geometry, a .geography
  • Do paketů prelogin a login7 byla přidána trasovací data.
  • Pevné spojení není uzavřeno, když je nesprávné jméno databáze.
  • Aktualizováno azidentity na verzi 1.6.0.

v1.7.2 (květen 2024)

  • Opravena podpora nulovatelných typů pro Always Encrypted při hromadném kopírování.
  • Opravené zpracování okruhu autentizace pomocí Entra.

v1.7.1 (duben 2024)

  • Implementována funkce Always Encrypted pomocí parametru připojení columnencryption.
  • Byl přidán poskytovatel šifrovacího klíče sloupců Azure Key Vault (akv).
  • Byly přidány typy fedauth ActiveDirectoryDeviceCode a ActiveDirectoryAzCli.
  • Přijímala další hodnoty pro parametr encrypt v režimu TDS 8.0.
  • Přidána podpora DER certifikátů.
  • Přidán multisubnetfailover parametr připojení.
  • Umožněna konfigurace Kerberos (krb5) prostřednictvím proměnných prostředí.
  • Implementováno změna hesla během přihlášení.
  • Opravené mapování LCID na kódovou stránku.
  • Ořezávání výstupních parametrů pevného řetězce.
  • Opraveno zpracování hodnoty NULL v UniqueIdentifier.
  • Opraveno zpracování pojmenovaných cest potrubí.

v1.7.0 (únor 2024)

  • Přidáno NullUniqueIdentifier písmo pomocí JSON a podpory textového marshalingu.

v1.6.0 (srpen 2023)

  • Přidána podpora TDS 8.0 s encrypt=strict.

v1.5.0 (srpen 2023)

  • Do balíčku npipe jsem přidal podporu pro připojení přes pojmenované roury.
  • Přidána podpora prohlížeče portu DAC (Dedicated Administrator Connection).
  • Přidány metody UniqueIdentifierMarshalText a UnmarshalJSON.
  • Byl povolen lokální DNS překlad pomocí vlastních dialerů.
  • Opraveny buildy mips a mipsel.

v1.1.0 (červen 2023)

  • Přidána služba pro prohlížeč portu DAC.

v0.16.0 (srpen 2022) - První vydání Microsoft forku

  • Migroval jsem na azidentity verzi 1.0 pro autentizaci Microsoft Entra.
  • Přidán tlsmin parametr připojení pro vynucení minimální verze TLS.