Notes de version de Snowflake Connector for Python pour 2025

Cet article contient les notes de version Snowflake Connector for Python, y compris les éléments suivants, le cas échéant :

  • Changements de comportement

  • Nouvelles fonctionnalités

  • Corrections de bogues pour les clients

Snowflake utilise la version sémantique pour les mises à jour Snowflake Connector for Python.

Voir Connecteur Snowflake pour Python pour la documentation.

Version 4.1.0 (Nov 13, 2025)

Nouvelles fonctions et mises à jour

  • Added official support for RHEL9 (Red Hat Enterprise Linux 9).

  • Added the oauth_socket_uri connection parameter to allow users to specify separate server and redirect URIs for local OAuth server.

  • Added the no_proxy parameter for proxy configuration without using environmental variables.

  • Added the SNOWFLAKE_AUTH_FORCE_SERVER environment variable to force the driver to receive SAML tokens even without opening a browser when using the externalbrowser authentication method. The variable allows headless environments, such as Docker or Airflow) that run locally to authenticate the connection using a browser URL.

Corrections de bogues

  • Fixed a compilation error when building from sources with libc++.

  • Added OAUTH_AUTHORIZATION_CODE and OAUTH_CLIENT_CREDENTIALS to the list of authenticators that don’t require users to set the user parameter.

Version 4.0.0 (9 octobre 2025)

Changements BCR (Version de changement de comportement)

  • Les fichiers de configuration modifiables en écriture par un groupe ou d’autres génèrent désormais une ConfigSourceError avec des informations d’autorisation détaillées, empêchant ainsi la falsification potentielle des informations d’identification.

  • Rétablissement du type d’exception en cas d’expiration du jeton pour l’authentificateur Oauth vers :codenowrap :DatabaseError.

Nouvelles fonctions et mises à jour

  • Mise en place d’un nouveau mécanisme de vérification CRL (liste de révocation de certificats).

    Activer les CRLs améliore la sécurité en vérifiant la présence de certificats révoqués pendant le processus de négociation TLS. Pour plus d’informations, voir l’article de la base de connaissances Remplacement OCSP avec CRL comme méthode de vérification de la révocation de certificat.

    Cette fonction est désactivée par défaut. Pour plus d’informations sur l’activation de cette fonctionnalité, voir CertRevocationCheckMode. Nous vous recommandons de tester cette fonctionnalité en mode Conseil avant de l’activer en production.

  • Ajout du paramètre workload_identity_impersonation_path pour prendre en charge l’identité du compte de service pour la Fédération d’identité de charge de travail. L’identité est disponible uniquement pour les charges de travail Google Cloud et AWS.

  • Ajout du paramètre oauth_credentials_in_body pour prendre en charge l’envoi des identifiants de connexion client OAuth dans un corps de requête de connexion.

  • Ajout d’une option pour exclure les dépendances botocore et boto3 lors de l’installation en définissant la variable d’environnement``SNOWFLAKE_NO_BOTO`` sur true. Pour en savoir plus, voir Installation du connecteur Python.

  • Ajout du paramètre de connexion ocsp_root_certs_dict_lock_timeout pour définir le délai d’attente (en secondes) d’acquisition du verrou sur le dictionnaire de certificats racine OCSP. La valeur par défaut est -1, qui représente l’absence de délai d’attente.

Corrections de bogues

  • Correction de get_results_from_sfqid lorsque de l’utilisation de DictCursor et de l’exécution de plusieurs instructions à la fois.

  • Correction du comportement de relance pour les erreurs ECONNRESET.

  • Correction du type de retour de SnowflakeConnection.cursor(cursor_class) pour correspondre au type de cursor_class.

  • Contrainte des types de fetchone, :code:fetchmany et fetchall.

  • Correction de l’erreur « Aucune région AWS n’a été trouvée » lorsque la région AWS était définie dans la variable AWS_DEFAULT_REGION au lieu de AWS_REGION pour l’authentificateur WORKLOAD_IDENTITY.

Version 3.18.0 (6 octobre 2025)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de la conversion pandas pour les types d’intervalle jour-heure et année-mois.

Corrections de bogues

  • Aucun.

Version 3.17.4 (22 septembre 2025)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de l’autorisation des certificats intermédiaires du magasin de confiance à agir en tant que certificats racine.

  • Mise à jour du bundle urllib3 vers la version v2.5.0.

  • Mise à jour du bundle de requêtes vers la version v2.32.5.

  • Suppression de la prise en charge des versions OpenSSL antérieures à la version 1.1.1.

Corrections de bogues

  • Aucun.

Version 3.17.3 (3 septembre 2025)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Amélioration des messages d’avertissement concernant l’autorisation des fichiers de configuration.

    • Amélioration des messages d’avertissement pour les problèmes d’autorisation lisibles afin d’inclure des instructions claires sur la façon d’ignorer les avertissements à l’aide de la variable d’environnement SF_SKIP_WARNING_FOR_READ_PERMISSIONS_ON_CONFIG_FILE.

  • Correction du bogue lié à la mise en zone de préparation des dataframes pandas sur AWS — le point de terminaison régional est utilisé lorsque cela est nécessaire.

    • Cette correction résout le problème avec l’appel créer_cadre_données sur Snowpark.

Version 3.17.2 (20 août 2025)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Ajout de la possibilité de désactiver la détection de plateforme basée sur les points de terminaison en définissant plateforme_detection_timeout_seconds sur zéro.

  • Correction d’un bogue à cause duquel platform_detection relançait les requêtes ayant échoué avec des avertissements vers des points de terminaison inexistants.

Version 3.17.1 (14 août 2025)

Nouvelles fonctions et mises à jour

  • Ajout du paramètre infer_schema à write_pandas pour effectuer une inférence de schéma sur les données transmises.

Corrections de bogues

  • Réinitialisation de l’espace de noms Snowflake vers le non-module.

Version 3.17.0 (13 août 2025)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de la fédération d’identité de charge de travail sur les plateformes AWS, Azure, Google Cloud et Kubernetes.

    • Ajout du paramètre de connexion workload_identity_provider.

    • Ajout de WORKLOAD_IDENTITY aux valeurs pour le paramètre de connexion authenticator.

  • Ajout d’un indicateur unsafe_skip_file_permissions_check pour ignorer les contrôles d’autorisation des fichiers sur le cache et la configuration.

  • Ajout d’une prise en charge JSON de base pour les types Interval.

  • Ajout du remplissage de type_code dans ResultMetadata pour les types d’intervalle.

  • Assouplissement de la contrainte de version pyarrow ; Les versions > = 19 peuvent maintenant être utilisées.

  • Lancement de snowflake_version property à la connexion.

  • Ajout de la prise en charge du paramètre use_vectorized_scanner dans la fonction write_pandas .

  • Ajout de la prise en charge de la configuration du proxy en utilisant des paramètres de connexion sans émettre de variables d’environnement.

Corrections de bogues

  • Correction des valeurs d’authentificateur OAuth.

  • Correction d’un bogue où un PAT avec un authentificateur de session externe était utilisé alors que:codenowrap:external_session_id n’était pas fourni dans SnowflakeRestful.fetch.

  • Correction de la sensibilité à la casse de Oauth et des valeurs d’authentificateur programmatic_access_token.

  • Correction de messages d’erreur peu clairs pour les valeurs d’authentificateur incorrectes.

  • Correction de la mise en zone de préparation GCS en s’assurant que le point de terminaison dispose d’un schéma.

  • Correction d’un bogue où les horodatages par fuseaux horaires récupérés sous la forme de pandas.DataFrame ou pyarrow.Table se trouvaient débordés en raison d’une précision inutile. Une erreur claire est maintenant levée si un débordement ne peut être évité.

Version 3.16.0 (1er juillet 2025)

Nouvelles fonctions et mises à jour

  • Ajout du paramètre de connexion client_fetch_use_mp qui permet la récupération multi-traitements de lots de résultats, ce qui réduit généralement le temps de récupération.

  • Ajout de la prise en charge du nouveau mécanisme d’authentification Personal Access Token (PAT) avec ID de session externe.

  • Ajout du paramètre bulk_upload_chunks à la fonction write_pandas. En définissant ce paramètre sur True, le comportement de la fonction write_pandas est modifié de façon à écrire d’abord tous les morceaux de données sur le disque local, puis à effectuer le chargement générique du dossier des morceaux vers la zone de préparation. Lorsque définis sur False (par défaut), les morceaux sont enregistrés, téléchargés et supprimés un à un.

  • Ajout de la prise en charge de Windows pour Python 3.13.

  • Ajout de la prise en charge des flèches de base pour les types Interval.

  • Ajout de la prise en charge de Snowflake OAuth pour les applications locales.

Corrections de bogues

  • Correction de l’utilisation des caractères spéciaux write_pandas pour les noms d’emplacement.

  • Correction de l’utilisation de use_virtual_url lors de la création de l’emplacement pour un client Google Cloud Storage (GCS).

Version 3.15.0 (28 avril 2025)

Fonctions de l’aperçu privé (PrPr)

Ajout de la prise en charge de la fédération d’identité de charge de travail sur les plateformes AWS, Azure, GCP et Kubernetes.

Clause de non-responsabilité :

  • Cette fonction n’est accessible qu’en paramétrant la variable d’environnement SF_ENABLE_EXPERIMENTAL_AUTHENTICATION sur true.

  • N’utilisez cette fonction qu’avec des données hors production.

  • Cette fonction PrPr n’est pas couverte par l’assistance. Toutefois, les équipes du produit et de l’ingénierie sont disponibles pendant la phase PrPr.

  • Veuillez contacter votre équipe de compte pour la participation et la documentation.

Nouvelles fonctions et mises à jour

  • Ajout de nouvelles méthodes d’authentification pour le flux par code d’autorisation OAuth 2.0, le flux par identifiants clients OAuth 2.0 et la mise en cache des jetons OAuth.

    • Pour le flux par code d’autorisation OAuth 2.0 :

      • Ajout des paramètres oauth_client_id, oauth_client_secret, oauth_authorization_url, oauth_token_request_url, oauth_redirect_uri, oauth_scope, oauth_disable_pkce, oauth_enable_refresh_tokens et oauth_enable_single_use_refresh_tokens.

      • Ajout de la valeur OAUTH_AUTHORIZATION_CODE pour le paramètre authentificateur.

    • Pour le flux par identifiants clients OAuth 2.0 :

      • Ajout des paramètres oauth_client_id, oauth_client_secret, oauth_token_request_url et oauth_scope.

      • Ajout de la valeur OAUTH_CLIENT_CREDENTIALS pour le paramètre authentificateur.

    • Pour la mise en cache des jetons OAuth : il est nécessaire de transmettre un nom d’utilisateur à la configuration du pilote, et la propriété client_store_temporary_credential doit être définie sur true.

Corrections de bogues

  • Augmentation des versions minimales requises boto et botocore à 1.24.

  • Correction d’un problème avec OSCP en mettant fin à la traversée de la chaîne d’un certificat si un certificat de confiance était déjà atteint.

Version 3.14.1 (21 avril 2025)

Fonctions de l’aperçu privé (PrPr)

  • Ajout du paramètre expérimental client_fetch_threads pour mieux utiliser les threads lors de la récupération des résultats de requête.

  • Ajout de nouvelles méthodes d’authentification expérimentales :

    • Flux par code d’autorisation et par identifiants clients OAuth

    • Fédération d’identité de charge de travail pour les plateformes AWS, Azure, GCP et Kubernetes.

Clause de non-responsabilité :

  • Ces fonctions ne sont accessibles qu’en paramétrant la variable d’environnement SF_ENABLE_EXPERIMENTAL_AUTHENTICATION sur true.

  • N’utilisez ces fonctions qu’avec des données hors production.

  • Ces fonctions PrPr ne sont pas couvertes par l’assistance. Toutefois, les équipes du produit et de l’ingénierie sont disponibles pendant la phase PrPr.

  • Veuillez contacter votre équipe de compte pour la participation et la documentation.

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de Python 3.13.

    Note

    La prise en charge de Windows 64 est encore expérimentale et ne doit pas encore être utilisée pour les environnements de production.

  • Suppression de la prise en charge de Python 3.8.

  • Ajout de la prise en charge du type décimal de base flotating-point.

  • Ajout de la possibilité de fournir un PAT dans le champ password.

  • Ajout de la prise en charge des points de terminaison régionaux de GCS.

  • Ajout de la prise en charge des URLs virtuelles GCS. Pour plus d’informations, voir Points de terminaison des requêtes.

  • Ajout d’un support permettant au connecteur d’hériter d’un UUID4 généré en amont, fourni dans les paramètres de l’instruction (champ : requestId), plutôt que de générer automatiquement un UUID4 à utiliser pour l’ID de requête HTTP.

  • Amélioration de la connexion dans les bibliothèques urllib3, boto3 et botocore afin d’assurer le masquage des données même après une future migration vers la bibliothèque externe.

  • Diminution des niveaux de journalisation de info à debug pour certains messages afin de rendre la sortie plus facile à suivre.

  • Amélioration de la sécurité et de la robustesse du stockage temporaire du cache des identifiants.

  • Déclassement de la propriété de connexion insecure_mode et remplacement par disable_ocsp_checks avec le même comportement que l’ancienne propriété.

  • Implémentation et amélioration du cache des identifiants de connexion basé sur les fichiers pour Linux, y compris la mise en cache des jetons.

Corrections de bogues

  • Amélioration du message d’erreur pour les annulations de requêtes côté client dues à des délais d’expiration.

  • Correction d’un bogue qui provoquait l’échec silencieux du pilote lors de la conversion TO_DATE arrow to python lorsqu’une date invalide était suivie d’une date correcte.

  • Ajout de la propriété de connexion check_arrow_conversion_error_on_every_column qui peut être définie sur False pour rétablir le comportement précédent dans lequel le pilote ignore les erreurs jusqu’à ce qu’elles se produisent dans la dernière colonne. Cette option vous permet de débloquer les flux de travail qui pourraient être affectés par la correction du bogue et qui seront supprimés dans les versions ultérieures.

  • Correction d’un problème avec la mise à jour des identifiants S3 expirés et la nouvelle tentative d’incrémentation lorsque des identifiants expirés sont trouvés.

Version 3.14.0 (03 mars 2025)

Nouvelles fonctions et mises à jour

  • La limite supérieure de la dépendance pyOpenSSL est passée de <25.0.0 à <26.0.0.

  • Optimisation de la recherche des paquets de distribution pour améliorer la vitesse d’importation.

  • Ajout de la prise en charge des tables iceberg à write_pandas.

  • Ajout de la prise en charge des types File.

Corrections de bogues

  • Ajout d’un lot <19.0.0 à pyarrow comme solution de contournement à un bogue affectant Azure Batch.

  • Correction d’un bogue qui empêchait de déterminer l’url du cache OCSP privatelink si le nom du compte privatelink était spécifié en majuscules.

  • Correction des tests de clés privées encodées en base64.

  • Correction d’un bogue dans la vérification des autorisations de fichiers sous Windows.

  • Ajout du paramètre de connexion unsafe_file_write qui rétablit le comportement précédent d’enregistrement des fichiers téléchargés avec GET avec des autorisations 644.

Version 3.13.2 (30 janvier 2025)

Nouvelles fonctions et mises à jour

  • Le connecteur n’utilise plus d’objets temporaires avec un champ d’application.

Corrections de bogues

  • Aucun.

Version 3.13.1 (29 janvier 2025)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Durcissement du module snowflake.connector.pandas_tools contre l’injection SQL. Pour plus d’informations, voir CVE-2025-24793.

  • Le cache OCSP local a été mis à jour de sorte à utiliser le module json au lieu de pickle pour sérialiser son contenu. Pour plus d’informations, voir CVE-2025-24794.

  • Les autorisations du fichier cache d’identifiants de connexion Linux ont été mises à jour explicitement pour n’être lisibles que par le propriétaire. Pour plus d’informations, voir CVE-2025-24795.

  • Mise à jour des autorisations pour les fichiers téléchargés avec GET afin qu’ils ne soient lisibles que par le propriétaire du fichier.

Version 3.13.0 (23 janvier 2025)

Nouvelles fonctions et mises à jour

  • Ajout du paramètre de connexion iobound_tpe_limit pour limiter les tailles de IO-bound ThreadPoolExecutors lors des commandes PUT et GET. Par défaut, la taille est calculée en fonction du nombre de fichiers ou du nombre de cœurs de CPU, selon la valeur la plus faible.

  • Ajout de la méthode Connection.is_valid() qui vérifie si une connexion est suffisamment stable pour recevoir des requêtes.

  • Mise à jour du niveau de journalisation pour le morceau du curseur rowcount, passant de INFO à DEBUG.

  • Ajout de la prise en charge des chaînes de clés privées DER encodées en base64 dans le type d’authentification private_key.

  • Mise à jour de README.md de sorte à inclure des instructions sur la façon de vérifier les signatures des paquets à l’aide de cosign.

Corrections de bogues

  • Aucun.