Qué hay de nuevo en go-mssqldb

Este artículo enumera cambios significativos en cada versión del go-mssqldb driver. El microsoft/go-mssqldb repositorio es un fork de denisenkom/go-mssqldb. Este artículo solo enumera las versiones publicadas bajo el fork de Microsoft, comenzando con la versión 0.16.0. Para un registro completo de cambios, consulta la página de lanzamientos de GitHub.

Note

Algunos números de versión no son secuenciales. Por ejemplo, las versiones v1.2.0 a v1.4.0 nunca se publicaron. Los saltos de versión reflejan el historial real de versiones del fork de Microsoft.

v1.10.0 (abril 2026)

  • Se ha añadido el parámetro de cadena de conexión FailoverPartnerSPN para la conmutación por error de la duplicación de bases de datos.
  • Se añadió la función NewConnectorWithProcessQueryText para que sea compatible con el nombre del controlador mssql.
  • Se añadieron tipos anulables civil (NullDate, NullTime, NullDateTime) para parámetros de fecha y hora.
  • Se implementó la interfaz driver.DriverContext para la compatibilidad con database/sql.
  • Se detectaron transacciones abortadas por el servidor para evitar la confirmación automática silenciosa cuando XACT_ABORT está habilitado.
  • Se han hecho visibles los errores del servidor procedentes de Rows.Close() durante el vaciado de tokens.
  • Se han administrado los tokens TDS COLINFO y TABNAME devueltos por tablas con desencadenadores.
  • Se devolvió el tipo de exploración interface{} para las columnas sql_variant en lugar de nil.
  • Se ha hecho que readCancelConfirmation respete la cancelación de contexto.
  • Se ha expuesto TrustServerCertificate en msdsn.Config y en el recorrido de ida y vuelta de la URL.
  • Se han depurado las credenciales de los errores de análisis de la cadena de conexión.
  • Se ha permitido la compatibilidad con el protocolo de canalización con nombre para Windows ARM64.

v1.9.8 (marzo de 2026)

  • Se actualizaron las dependencias para resolver los hallazgos de govulncheck.

v1.9.7 (febrero de 2026)

  • Se añadió soporte de Protección Extendida para la Autenticación (EPA).
  • Se mejoró el rendimiento al usar receptores de puntero para columnStruct, lo que redujo las copias de memoria.
  • Se ha corregido el escape de columnas en la copia masiva.
  • Se ha corregido el manejo de stateSep en el paquete por lotes.

v1.9.6 (enero de 2026)

  • Se añadió serverCertificate un parámetro de conexión para la validación del certificado TLS de comparación de bytes.
  • Se ha actualizado la dependencia golang.org/x/crypto.

v1.9.4 (noviembre de 2025)

  • Se ha corregido el manejo de paquetes de atención durante la reversión de transacciones.
  • Se limitaron los protocolos de canalizaciones con nombre y de memoria compartida a las plataformas compatibles.

v1.9.3 (septiembre 2025)

  • Se ha corregido el reinicio de FMTONLY en la copia masiva en caso de fallo.
  • Se ha corregido el vaciado de paquetes de establecimiento de conexión TLS durante la configuración de la conexión.
  • Se añadió soporte para valores de doble comilla en cadenas de conexión al estilo ADO.

v1.8.2 (mayo 2025)

  • Se reconoció Pwd como un alias para el campo de contraseña en las cadenas de conexión.
  • Añadido COMMIT y ROLLBACK como comandos incorporados reconocidos.

v1.8.0 (diciembre de 2024)

  • Se añadió soporte para el tipo definido por el usuario (UDT) para hierarchyid, geometry, y geography.
  • Añadimos datos de rastreo a los paquetes de preinicio de sesión y login7.
  • Conexión fija no cerrada cuando el nombre de la base de datos es incorrecto.
  • Se ha actualizado azidentity a la versión 1.6.0.

v1.7.2 (mayo de 2024)

  • Se ha corregido la compatibilidad con tipos nulos para Always Encrypted en la copia masiva.
  • Se corrigió la gestión del ámbito de autenticación de Entra.

v1.7.1 (abril de 2024)

  • Se ha implementado Always Encrypted con el parámetro de conexión columnencryption.
  • Se añadió el proveedor de claves de cifrado de columna Azure Key Vault (akv).
  • Se añadieron los tipos de fedauth ActiveDirectoryDeviceCode y ActiveDirectoryAzCli.
  • Valores adicionales aceptados para el encrypt parámetro en modo TDS 8.0.
  • Se añadió soporte para certificados DER.
  • Se añadió multisubnetfailover un parámetro de conexión.
  • Permitía la configuración de Kerberos (krb5) mediante variables de entorno.
  • Implementé cambiar contraseña durante el inicio de sesión.
  • Se han corregido las asignaciones de LCID a páginas de códigos.
  • Se corrigió el truncamiento de los parámetros de salida de cadena.
  • Manejo de valores NULL fijos UniqueIdentifier en Scan().
  • Se ha corregido el manejo de la ruta de canalizaciones con nombre.

v1.7.0 (febrero de 2024)

  • Se añadió el tipo NullUniqueIdentifier con soporte para JSON y serialización de texto.

v1.6.0 (agosto de 2023)

  • Se añadió soporte para TDS 8.0 con encrypt=strict.

v1.5.0 (agosto de 2023)

  • Se ha incorporado el paquete npipe para conexiones mediante canalizaciones con nombre.
  • Se añadió soporte para navegadores de puertos DAC (Dedicated Administrator Connection).
  • Añadido UniqueIdentifierMarshalText y UnmarshalJSON métodos.
  • Se ha habilitado la resolución de DNS local con marcadores personalizados.
  • Se han corregido las compilaciones mips y mipsel.

v1.1.0 (junio 2023)

  • Se añadió el servicio de navegador de puertos DAC.

v0.16.0 (agosto de 2022) - Primera versión del fork de Microsoft

  • Se ha migrado a azidentity la versión v1.0 de autenticación de Microsoft Entra.
  • Se añadió tlsmin un parámetro de conexión para imponer una versión mínima de TLS.