Notas de lançamento do Go Snowflake Driver para 2026

Este artigo contém as notas de versão do Go Snowflake Driver, incluindo o seguinte, quando aplicável:

  • Mudanças de comportamento

  • Novos recursos

  • Correções de bugs voltados para o cliente

Snowflake usa controle de versão semântico para atualizações de Go Snowflake Driver.

Consulte Driver Go Snowflake para ver a documentação.

Versão 2.0.0 (3 de março de 2026)

Mudanças de BCR (versão da mudança de comportamento)

  • Removido RaisePutGetError de SnowflakeFileTransferOptions para garantir que os erros sejam exibidos para operações PUT/GET.

  • Removido GetFileToStream de SnowflakeFileTransferOptions. Use WithFileGetStream para habilitar automaticamente a transmissão de arquivos para operações GET.

  • Removido WithOriginalTimestamp. Use WithArrowBatchesTimestampOption(UseOriginalTimestamp) em vez disso.

  • Removido o campo ClientIP da estrutura Config. Esse campo nunca foi usado e não é necessário para nenhuma funcionalidade.

  • Removido o campo InsecureMode da estrutura Config. Use DisableOCSPChecks em vez disso.

  • Removido o campo DisableTelemetry da estrutura Config. Em vez disso, use o parâmetro de sessão CLIENT_TELEMETRY_ENABLED.

  • Removido o downloader de partes do fluxo. Use o downloader padrão em vez disso.

  • Removido SnowflakeTransport. Use Config.Transporter, ou apenas registre sua própria configuração do TLS com RegisterTLSConfig se precisar apenas de um conjunto personalizado de certificados raiz.

  • WithFileStream renomeado para WithFilePutStream para manter a consistência.

  • O campo KeepSessionAlive foi renomeado na estrutura Config para ServerSessionKeepAlive para manter a consistência com os outros drivers.

  • Agora a função Array retorna um erro para tipos não compatíveis.

  • WithMultiStatement não retorna mais um erro.

  • WithMapValuesNullable e WithArrayValuesNullable combinados na opção única WithEmbeddedValuesNullable.

  • Oculte o downloader de partes do streaming. Ele será removido completamente em um lançamento futuro.

  • O número máximo de goroutines de download de partes agora está configurado com o parâmetro de sessão CLIENT_PREFETCH_THREADS.

  • Corrigido um erro de digitação na variável de ambiente GOSNOWFLAKE_SKIP_REGISTRATION.

  • MfaToken e IdToken não exportados.

  • Mudanças nos lotes arrow:

    • Os lotes arrow foram extraídos para um pacote separado, o que deve reduzir significativamente o tamanho da compilação para aqueles que não precisam de lotes arrow (aprox. 34MB -> aprox. 18MB).

    • GetArrowBatches removido de SnowflakeRows e SnowflakeResult. Use arrowbatches.GetArrowBatches(rows.(SnowflakeRows)) em vez disso.

    • As seguintes funções foram migradas:

      • sf.WithArrowBatchesTimestampOption para arrowbatches.WithTimestampOption

      • sf.WithArrowBatchesUtf8Validation para arrowbatches.WithUtf8Validation

      • sf.ArrowSnowflakeTimestampToTime para arrowbatches.ArrowSnowflakeTimestampToTime

  • Mudanças no registro em log:

    • O agente de log Logrus foi removido e migrado para slog.

    • Simplificada a interface de SFLogger.

    • Adicionada a interface de SFSlogLogger para configurar um manipulador de slog personalizado.

Novos recursos e atualizações

  • Adicionado o suporte para Go 1.26, e descartado o suporte para Go 1.23.

  • Adição de suporte para o modo somente FIPS.

Correções de bugs

  • Adicionado um bloco de recuperação de pânico para operações de carregamento e download de arquivos de estágio.

  • Corrigida uma solicitação de metadados WIF de um contêiner Azure que se manifestou como um erro HTTP 400.

  • Corrigido um contorno de validação de porta de autenticação do SAML em isPrefixEqual em que a porta do segundo URL nunca era verificada.

  • Corrigida uma condição de corrida no limpador de cache do OCSP.

  • Agora a consulta context.Context é propagada para operações de armazenamento em nuvem para consultas PUT e GET, permitindo melhor tratamento do cancelamento.

  • Corrigidas falhas no minicore (SIGFPE) em binários Linux totalmente vinculados estaticamente por meio da detecção da vinculação estática por meio de uma inspeção ELF PT_INTERP e ignorando dlopen totalmente.

Versão 1.19.0 (3 de fevereiro de 2026)

Novos recursos e atualizações

  • Exposto tokenFilePath na estrutura Config, além da opção DSN existente.

  • tokenFilePath agora é lido para cada nova conexão, não apenas uma vez na inicialização do driver.

  • Inclusão de suporte para representação de identidade ao usar a federação de identidade de carga de trabalho.

  • Adição da capacidade de desabilitar o carregamento do minicore em tempo de compilação usando o parâmetro -tags minicore_disabled.

Correções de bugs

  • Correção de um problema com a obtenção de arquivos de uma área de preparação não criptografada.

  • Correção da coleta de nomes de arquivos do minicore no ambiente do cliente.

  • Correção do escape de caminho para URLs do GCS que se manifestava em respostas 403 do GCS quando um arquivo ou diretório continha espaços.

  • Correção do vazamento de descritores de arquivo ao enviar arquivos para áreas de preparação (especialmente no GCS).