Novidades no go-mssqldb

Este artigo lista mudanças significativas em cada versão do go-mssqldb driver. O microsoft/go-mssqldb repositório é um fork de denisenkom/go-mssqldb. Este artigo lista apenas os lançamentos publicados sob o fork da Microsoft, começando pela v0.16.0. Para um registro completo de mudanças, veja a página de lançamentos do GitHub.

Note

Alguns números de versão não são sequenciais. Por exemplo, versões v1.2.0 a v1.4.0 nunca foram publicadas. Os saltos de versão refletem o histórico real de lançamento do fork da Microsoft.

v1.11.0 (agosto de 2026)

  • Adicionados sinônimos de cadeia de conexão do ADO.NET. Strings de conexão no formato ADO agora aceitam grafias alternativas de palavras-chave como Data Source, Initial Catalog, Connect Timeout, e UID. Para mais informações, veja cadeias de conexão go-mssqldb.
  • Pânicos corrigidos causados por respostas de servidor mal formadas ao analisar um desafio NTLM, um deslocamento ou comprimento da opção PRELOGIN, e uma resposta de conexão dedicada de administrador (DAC) do SQL Server Browser.
  • Limitava a alocação inicial do buffer para valores parcialmente prefixados por comprimento (PLP).
  • Citei o nome da tabela e colunas ORDER em operações de cópia em massa.
  • Fechei a conexão TCP em todos connect() os caminhos de erro.
  • Retornou float64 para colunas reais.
  • Passou a reconhecer REVERT como um comando interno durante a detecção de chamadas de procedimentos armazenados.
  • Codificação de URL NTLM esclarecida para nomes de fontes de dados de URL.
  • Removida a porta das URLs do Azure Key Vault usadas no endpoint e em AllowedLocations.
  • Substituí o descontinuado reflect.SliceHeader por unsafe.Slice.
  • Desempenho aprimorado na decodificação de conjuntos de caracteres com um caminho rápido para dados apenas ASCII.

v1.10.0 (abril de 2026)

  • Adicionado o parâmetro de cadeia de conexão FailoverPartnerSPN para failover de espelhamento de banco de dados.
  • Adicionada a função NewConnectorWithProcessQueryText para compatibilidade com o nome do driver mssql.
  • Adicionaram tipos anuláveis civil (NullDate, NullTime, NullDateTime) para parâmetros de data e hora.
  • Implementada a interface driver.DriverContext para compatibilidade com database/sql.
  • Detectamos transações abortadas pelo servidor para evitar a confirmação automática de forma silenciosa quando XACT_ABORT está ativado.
  • Erros do servidor de Rows.Close() exibidos durante o esgotamento do token.
  • Tratados os tokens TDS COLINFO e TABNAME retornados por tabelas com gatilhos.
  • Retornou o tipo de varredura interface{} para colunas sql_variant em vez de nil.
  • Fiz com que readCancelConfirmation respeitasse o cancelamento de contexto.
  • Disponibilizado TrustServerCertificate em msdsn.Config e na viagem de ida e volta da URL.
  • Removidas as credenciais dos erro de análise da cadeia de conexão.
  • Passou a oferecer suporte ao protocolo de pipes nomeados no Windows ARM64.

v1.9.8 (março de 2026)

  • Dependências atualizadas para resolver os problemas identificados em govulncheck.

v1.9.7 (fevereiro de 2026)

  • Adicionou suporte à Proteção Estendida para Autenticação (EPA).
  • Desempenho aprimorado ao usar receptores de ponteiro para columnStruct, reduzindo as cópias de memória.
  • Corrigida o escape de colunas na cópia em massa.
  • Corrigido o tratamento de stateSep no pacote em lotes.

v1.9.6 (janeiro de 2026)

  • Adicionado o parâmetro de conexão serverCertificate para validação de certificado TLS por comparação byte a byte.
  • Atualizada a dependência golang.org/x/crypto.

v1.9.4 (novembro de 2025)

  • Corrigido o tratamento de pacotes de atenção durante a reversão da transação.
  • Restringidos os protocolos de pipes nomeados e de memória compartilhada às plataformas compatíveis.

v1.9.3 (setembro de 2025)

  • Corrigida a redefinição de FMTONLY na cópia em massa em caso de falha.
  • Corrigido a liberação dos pacotes do handshake TLS durante a configuração da conexão.
  • Adicionou suporte para valores com aspas duplas em cadeias de conexão no estilo ADO.

v1.8.2 (maio de 2025)

  • Reconhecido Pwd como um alias do campo de senha nas cadeias de conexão.
  • Adicionados COMMIT e ROLLBACK como comandos embutidos reconhecidos.

v1.8.0 (dezembro de 2024)

  • Adicionou suporte ao tipo definido pelo usuário (UDT) para hierarchyid, geometry, e geography.
  • Adicionei dados de rastreamento aos pacotes de pré-login e login7.
  • Corrigido o não fechamento da conexão quando o nome do banco de dados está incorreto.
  • azidentity atualizado para v1.6.0.

v1.7.2 (maio de 2024)

  • Corrigido o suporte a tipos anuláveis para Always Encrypted na cópia em massa.
  • Corrigido o tratamento do escopo de autenticação do Entra.

v1.7.1 (abril de 2024)

  • Implementado Always Encrypted com o parâmetro de conexão columnencryption.
  • Adicionado o provedor de chave de criptografia da coluna Azure Key Vault (akv).
  • Adicionados os tipos fedauth ActiveDirectoryDeviceCode e ActiveDirectoryAzCli.
  • Valores adicionais aceitos para o encrypt parâmetro no modo TDS 8.0.
  • Adicionei suporte a certificados DER.
  • Parâmetro de conexão adicionado multisubnetfailover .
  • Permitiu configuração do Kerberos (krb5) por meio de variáveis de ambiente.
  • Implementei a mudança de senha durante o login.
  • Corrigidos os mapeamentos de LCID para páginas de código.
  • Corrigida a truncagem de parâmetros de saída de cadeia de caracteres.
  • Tratamento de valor NULL fixo UniqueIdentifier em Scan().
  • Corrigido o tratamento de caminhos de pipes nomeados.

v1.7.0 (fevereiro de 2024)

  • Adicionado o tipo NullUniqueIdentifier com suporte a JSON e serialização de texto.

v1.6.0 (agosto de 2023)

  • Adicionado suporte ao TDS 8.0 com encrypt=strict.

v1.5.0 (agosto de 2023)

  • Incorporado o pacote npipe para conexões de pipes nomeados.
  • Adicionado suporte ao navegador de portas DAC (Dedicated Administrator Connection).
  • Adicionados os métodos UniqueIdentifierMarshalText e UnmarshalJSON.
  • Habilitada a resolução DNS local com discadores personalizados.
  • Corrigidas as compilações para mips e mipsel.

v1.1.0 (junho de 2023)

  • Adicionado serviço de navegador de portas DAC.

v0.16.0 (agosto de 2022) - Primeiro lançamento do fork da Microsoft

  • Migramos para a versão 1.0 de azidentity para autenticação do Microsoft Entra.
  • Adicionei tlsmin parâmetro de conexão para impor uma versão mínima de TLS.