go-mssqldb 有什麼新內容

本文列出了每個驅動程式版本 go-mssqldb 中的重要變更。 該 microsoft/go-mssqldb 儲存庫是 的 denisenkom/go-mssqldb分支。 本文僅列出以 Microsoft 分支發佈的版本,從 v0.16.0 開始。 完整變更日誌請參閱 GitHub 發布頁面。

Note

有些版本號不是連續的。 例如,v1.2.0 到 v1.4.0 版本從未公開。 版本號跳升反映了 Microsoft 分支版本的實際發布歷程。

v1.11.0(2026年8月)

  • 新增 ADO.NET 連接字串的同義詞。 ADO 格式連接字串現在接受替代關鍵字拼寫,如 Data Source、 Initial Catalog、 Connect TimeoutUID、 。 更多資訊請參見 go-mssqldb 連接字串。
  • 修正了在解析 NTLM 挑戰時因伺服器回應異常而觸發的恐慌、PRELOGIN 選項偏移量或長度,以及 SQL Server 瀏覽器專用管理員連線(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 驅動程式名稱。
  • 為日期與時間參數新增可為 Null 的類型(civil、NullDate、NullTime)。
  • 為了與 driver.DriverContext 相容,實作了 database/sql 介面。
  • 偵測由伺服器中止的交易,以防止在啟用 XACT_ABORT 時發生無提示自動提交。
  • 伺服器在代幣耗盡期間出現 Rows.Close() 錯誤。
  • 處理與 COLINFOTABNAME TDS 令牌由帶有觸發器的資料表回傳。
  • 針對 interface{} 個欄位回傳了 sql_variant 掃描類型,而非 nil。
  • 使 readCancelConfirmation 支援內容取消。
  • 在 TrustServerCertificate 中公開 msdsn.Config,並支援 URL 往返。
  • 從 連接字串 解析錯誤中淨化憑證。
  • 已允許 ARM64 版 Windows 支援命名管線通訊協定。

v1.9.8(2026年3月)

  • 更新相依關係以解決 govulncheck 發現。

v1.9.7(2026年2月)

  • 新增了認證擴展保護(EPA)支援。
  • 透過對 columnStruct 使用指標接收器來提升效能,減少記憶體複製。
  • 固定的批量複製欄位逃逸。
  • 已修正批次套件中對 stateSep 的處理問題。

v1.9.6(2026年1月)

  • 新增 serverCertificate 連線參數以進行位元組比較 TLS 憑證驗證。
  • 已更新 golang.org/x/crypto 相依性。

v1.9.4(2025年11月)

  • 已修正在交易回復期間處理注意力封包的問題。
  • 限制命名管線與共享記憶體協定僅限於支援的平台。

v1.9.3(2025年9月)

  • 已修正大量複製 FMTONLY 失敗時會重設的問題。
  • 修正了在建立連線期間傳送 TLS 握手封包的問題。
  • 新增對 ADO 風格連接字串中雙引號值的支援。

v1.8.2(2025年5月)

  • 將 Pwd 識別為連線字串中的密碼欄位別名。
  • 新增 COMMIT 並 ROLLBACK 作為可辨識的內建指令。

v1.8.0(2024年12月)

  • 新增對 hierarchyid、geometry 和 geography 的使用者定義型別(UDT)支援。
  • 已將追蹤資料新增至 prelogin 和 login7 封包。
  • 已修正當資料庫名稱不正確時連線未關閉的問題。
  • 升級 azidentity 到 v1.6.0。

v1.7.2(2024年5月)

  • 修正了 Always Encrypted 在大量複製中對 Nullable 型別的支援問題。
  • 修正了 Entra 驗證範圍處理問題。

v1.7.1(2024年4月)

  • 實作了 Always Encrypted 並使用 columnencryption 連線參數。
  • 新增 Azure Key Vault (akv) 資料行加密金鑰提供者。
  • 新增 ActiveDirectoryDeviceCode 和 ActiveDirectoryAzCli 聯邦認證類型。
  • 在 TDS 8.0 模式中,encrypt 參數可接受其他值。
  • 新增了 DER 證書支援。
  • 新增 multisubnetfailover 了連線參數。
  • 允許透過環境變數設定 Kerberos (krb5)。
  • 登入時已實施更改密碼功能。
  • 已修正 LCID 與代碼頁之間的對應。
  • 固定字串輸出參數截斷。
  • 修正 UniqueIdentifier 中的 Scan() NULL 值處理。
  • 修正了命名管道路徑的處理。

v1.7.0(2024年2月)

  • 新增 NullUniqueIdentifier 了帶有 JSON 與文字整理功能的字型。

v1.6.0(2023年8月)

  • 新增了 TDS 8.0 支援。encrypt=strict

v1.5.0(2023年8月)

  • 已將用於命名管線連線的 npipe 套件納入專案原始碼。
  • 新增 DAC(專用管理員連線)連接埠瀏覽器支援。
  • 新增 UniqueIdentifierMarshalText 與 UnmarshalJSON 方法。
  • 啟用了本地 DNS 解析,並使用自訂撥號器。
  • 已修正 mips 和 mipsel 版本。

v1.1.0(2023年6月)

  • 新增了 DAC 埠瀏覽器服務。

v0.16.0(2022 年 8 月)- Microsoft 分支版本的首次釋出

  • 為了 Microsoft Entra 認證,已遷移到 azidentity v1.0。
  • 新增 tlsmin 連線參數以強制執行最低 TLS 版本。