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 geravaTypeError
durante a etapa de nova tentativa de login.Atualização do conector para usar
pathlib
em vez deos
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
emsnowflake-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 emhttps://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çãoSO_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
Adiciona uma sinalização
SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT
(SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT=true
) para fazer uma chamadasocket.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 desystem$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
aSnowflakeCursor.fetch_arrow_all
para forçar o retorno depyarrow.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.