Notas de lançamento de Snowflake Connector for Python para 2024

Este artigo contém as notas de versão do Snowflake Connector for Python, 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 Snowflake Connector for Python.

Consulte Conector Snowflake para Python para ver a documentação.

Versão 3.12.3 (24 de outubro de 2024)

Correções de segurança

  • Foram abordadas questões levantadas por CVE-2024-49750. Para obter mais informações, consulte o aviso GHSA-5vvg-pvhp-hv2m.

Novos recursos e atualizações

  • Melhoria da mensagem de erro para problemas relacionados a SSL para fornecer orientações de resolução mais claras.

  • Melhoria da mensagem de erro para cancelamentos de execução SQL causados por um tempo limite.

Correções de bugs

  • Nenhum.

Versão 3.12.2 (11 de setembro de 2024)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Tratamento de erro aprimorado para consultas assíncronas, fornecendo mensagens de erro mais detalhadas e informativas quando uma consulta assíncrona falha.

  • Inferência aprimorada de domínios de nível superior para contas que especificam uma região na China, agora com padrão para snowflakecomputing.cn.

  • Implementação aprimorada de snowflake.connector.util_text.random_string para reduzir a probabilidade de colisões.

  • Atualização do nível de log para mensagens de aviso de falha/abertura OCSP de ERROR para WARNING.

Versão 3.12.1 (20 de agosto de 2024)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Correção de um bug que registrava o token de sessão ao renovar uma sessão.

  • Correção de um bug em que a desabilitação da telemetria do cliente não funcionava.

  • Correção de um bug onde a passagem de login_timeout como uma cadeia de caracteres gerava TypeError durante a etapa de nova tentativa de login.

  • Atualização do conector para usar pathlib em vez de os para resolver o local do arquivo de configuração padrão.

  • Remoção do pino da versão cryptogaphy superior.

  • Foram removidas referências ao script snowflake-export-certs, pois seu módulo de suporte foi removido em uma versão anterior.

  • Aprimoramento do mecanismo de nova tentativa para lidar com falhas de rede transitórias durante a pesquisa de resultado de consulta quando nenhuma resposta do servidor é recebida.

Versão 3.12.0 (26 de julho de 2024)

Novos recursos e atualizações

  • Defina o tempo limite de conexão padrão para 10 segundos e o tempo de leitura do soquete para 10 minutos para chamadas HTTP em transferências de arquivo.

  • Adição da capacidade de conectar-se a vários domínios.

  • Desempenho de to_pandas() otimizado usando lógica de download totalmente paralelo.

  • Aumento da dependência do keyring de g>=23.1.0,<25.0.0 para g>=23.1.0,<26.0.0.

Correções de bugs

  • Correção de um bug em que especificar client_session_keep_alive_heartbeat_frequency em snowflake-sqlalchemy poderia fazer com que o conector não respondesse.

  • Correção de uma dica incorreta de tipo de parâmetro de conexão private_key.

Versão 3.11.0 (18 de junho de 2024)

Novos recursos e atualizações

  • Adição de suporte para o parâmetro de conexão token_file_path para ler um token OAuth de um arquivo ao conectar-se ao Snowflake.

  • Adição de suporte ao parâmetro de conexão debug_arrow_chunk para permitir a depuração de dados Arrow brutos em casos de falhas na análise de dados Arrow.

  • Adição de suporte ao parâmetro de conexão disable_saml_url_check para desabilitar verificações SAML URL na autenticação OKTA.

Correções de bugs

  • Correção de um bug em que certificados OCSP assinados usando algoritmo SHA384 não podiam ser verificados.

  • Correção de um bug em que o código de status era exibido como carregado PUT quando um comando falhava com um erro 400.

  • Correção de um bug em que um PermissionError era gerado quando o usuário atual não tinha a permissão correta no diretório pai do caminho do arquivo de configuração.

  • Correção de um bug em que um OCSP GET URL não era codificado corretamente quando continha uma barra.

  • Correção de um bug onde SSO URL não aceitava : em um parâmetro de consulta, como em https://sso.abc.com/idp/startSSO.ping?PartnerSpId=https://xyz.snowflakecomputing.com/.

Versão 3.10.1 (21 de maio de 2024)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Foi removida uma mensagem de log de erro incorreta que poderia ocorrer durante a conversão de dados do arrow.

Versão 3.10.0 (29 de abril de 2024)

Novos recursos e atualizações

  • Adicionado suporte para tipos estruturados para fetch_pandas_all.

Correções de bugs

  • Corrigido um problema relacionado a pontos de extremidade do China S3 formados incorretamente.

Versão 3.9.1 (22 de abril de 2024)

Novos recursos e atualizações

  • Corrigido um problema que causava um erro de HTTP 400 ao conectar a um ponto de extremidade da China.

Correções de bugs

  • Nenhum.

Versão 3.9.0 (18 de abril de 2024)

Novos recursos e atualizações

  • Adicionado suporte para configurações de log em um arquivo de configuração de log.

  • Lógica de aceleração S3 aprimorada ao conectar-se a um ponto de extremidade da China.

Correções de bugs

  • Nenhum.

Versão 3.8.1 (09 de abril de 2024)

Novos recursos e atualizações

  • Autenticação de externalbrowser aprimorada em ambientes conteinerizados:

    • Instrui o navegador a não buscar /favicon em uma página de sucesso.

    • Usa uma estratégia de repetição simples para uma chamada socket.recv vazia.

    • Adiciona uma sinalização SNOWFLAKE_AUTH_SOCKET_REUSE_PORT (SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true) para definir a sinalização SO_REUSEPORT do soquete subjacente (conforme descrito na página de manual do soquete).

      • Definir essa sinalização pode ser útil quando a porta aleatória usada o URL de retorno de chamada do host local estiver sendo seguida antes que o mecanismo de contêiner conclua o encaminhamento de porta para o host.

      • Você pode então mapear estaticamente uma porta entre seu host e o contêiner e permitir que essa porta seja reutilizada em rápida sucessão com um comando semelhante ao seguinte:

        SF_AUTH_SOCKET_PORT=3037 SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true poetry run python somescript.py
        
        Copy
    • Adiciona uma sinalização SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT (SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT=true) para fazer uma chamada socket.recv não bloqueante e tentar novamente em caso de erro.

  • Adicionado suporte para análise de informações de tipo estruturado em consultas de esquema.

  • Atualização de platformdirs de> =2.6.0,< 4.0.0 para> =2.6.0,< 5.0.0.

  • Diagnósticos atualizados para uso do system$allowlist em vez de system$whitelist.

  • Melhorou a lógica de limpeza para que as conexões agora dependam do desligamento do interpretador em vez do método __del__.

  • Atualizou o nível de registro em log de INFO para DEBUG ao registrar a consulta executada usando SnowflakeCursor.execute.

Correções de bugs

  • Corrigido um bug em que a senha truncada no log não era mascarada.

Versão 3.7.1 (22 de fevereiro de 2024)

Novos recursos e atualizações

  • Atualizadas as seguintes dependências:

    • pandas da versão >=1.0.0,<2.2.0 para >=1.0.0,<3.0.0

    • criptografia da versão <42.0.0,>=3.1.0 para >=3.1.0,<43.0.0

    • pyOpenSSL da versão >=16.2.0,<24.0.0 para >=16.2.0,<25.0.0

  • O limite inferior da dependência do token de autenticação foi aumentado para a versão 23.1.0 para resolver uma vulnerabilidade de segurança.

Correções de bugs

  • Corrigido um vazamento de memória na conversão de dados decimais.

  • Corrigido um bug em que write_pandas não truncava a tabela de destino.

Versão 3.7.0 (26 de janeiro de 2024)

Novos recursos e atualizações

  • Adicionado suporte para Python 3.12.

  • Adicionado um novo parâmetro booleano force_return_table a SnowflakeCursor.fetch_arrow_all para forçar o retorno de pyarrow.Table no caso de zero linhas.

  • Limpeza de alguns avisos de código C++ e problemas de desempenho.

  • Tornou os testes locais mais robustos contra suposições implícitas.

  • Adicionado suporte para conexão usando uma conexão existente por meio da sessão e do token mestre.

  • Adicionado suporte para conexão com Snowflake autenticando com vários SAML IDP usando um navegador externo.

  • Mensagem de aviso de permissões de configuração aprimorada.

Correções de bugs

  • Corrigido um problema com dicas de tipo de tabela PyArrow.

  • Corrigido um problema de compilação devido à falta do cabeçalho cstdint no gcc13.