Notes de version de Go Snowflake Driver pour 2026

Cet article contient les notes de version Go Snowflake Driver, 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 Go Snowflake Driver.

Voir Pilote Go Snowflake pour la documentation.

Version 2.0.1 (08 avril 2026)

Corrections de bogues

  • Réduction du paramètre :codenowrap: CrlDownloadMaxSize par défaut de 200 MB à 20 MB pour éviter les erreurs potentielles de mémoire.

  • Correction d’un problème où les valeurs des paramètres pouvaient changer selon les connexions du même pool de connexions.

  • Correction des chargements de fichiers en plusieurs parties Azure pour renseigner correctement la propriété Content-MD5 du blob.

  • Correction des erreurs 403 des requêtes PUT vers Google Cloud Storage sur des zones de préparation versionnées.

  • Correction du cache du contexte de requête qui n’était pas mis à jour pour les requêtes ayant échoué, ce qui pouvait entraîner des données de session obsolètes.

  • Amélioration des performances de la gestion des connexions en optimisant la synchronisation des paramètres.

Changements internes

  • Déplacement de la configuration vers un paquet interne dédié.

  • Modernisation des idiomes de syntaxe Go dans l’ensemble de la base de code.

  • Ajout de la famille de la libc, de sa version et du marqueur de liaison dynamique à la télémétrie de l’environnement client.

  • Dépendances mises à jour pour répondre aux vulnérabilités de sécurité :

    • golang.org/x/crypto de v0.41.0 à v0.46.0

    • golang.org/x/net de v0.43.0 à v0.48.0

    • golang.org/x/oauth2 de v0.30.0 à v0.34.0

    • golang.org/x/sys de v0.35.0 à v0.40.0

    • golang.org/x/mod de v0.27.0 à v0.30.0

    • golang.org/x/sync de v0.16.0 à v0.19.0

    • golang.org/x/term de v0.34.0 à v0.38.0

    • golang.org/x/text de v0.28.0 à v0.32.0

    • golang.org/x/tools de v0.36.0 à v0.39.0

    • :codenowrap :google.golang.org/grpc de v1.73.0 à v1.79.3

    • :codenowrap :google.golang.org/protobuf de v1.36.6 à v1.36.10

    • Paquets OpenTelemetry de v1.37.0 à v1.40.0

  • Suppression de l’indirection de pointeur du cache de contexte de requête dans :codenowrap:` SnowflakeConn` .

Version 1.9.1 (08 avril 2026)

Nouvelles fonctions et mises à jour

  • Suppression de la prise en charge de Go 1.26 et ajout de la prise en charge de Go 1.23.

Corrections de bogues

  • Correction des crashs de minicores (SIGFPE) sur les binaires Linux entièrement liés statiquement, grâce à la détection de la liaison statique par inspection ELF PT_INTERP et au contournement en douceur de dlopen.

Changements internes

  • Ajout de la famille de la libc, de sa version et du marqueur de liaison dynamique à la télémétrie de l’environnement client.

Version 2.0.0 (03 mars 2026)

Changements BCR (Version de changement de comportement)

  • Suppression de RaisePutGetError de SnowflakeFileTransferOptions pour garantir que les erreurs sont détectées pour les opérations PUT/GET.

  • Suppression de GetFileToStream de SnowflakeFileTransferOptions. Utilisez WithFileGetStream pour activer automatiquement le flux de fichiers pour les opérations GET.

  • Suppression de WithOriginalTimestamp. Utilisez WithArrowBatchesTimestampOption (UseOriginalTimestamp) à la place.

  • Suppression du champ ClientIP de la structure Config. Ce champ n’a jamais été utilisé et n’est nécessaire pour aucune fonctionnalité.

  • Suppression du champ InsecureMode de la structure Config. Utilisez DisableOCSPChecks à la place.

  • Suppression du champ DisableTelemetry de la structure Config. Utilisez le paramètre de session CLIENT_TELEMETRY_ENABLED à la place.

  • Suppression du téléchargeur de morceaux de flux. À la place, utilisez le téléchargeur par défaut.

  • Suppression de SnowflakeTransport. Utilisez Config.Transporter, ou enregistrez simplement votre propre configuration TLS avec RegisterTLSConfig si vous avez simplement besoin d’un ensemble de certificats racine personnalisé.

  • Renommage de WithFileStream en WithFilePutStream par souci de cohérence.

  • Renommage du champ KeepSessionAlive dans la structure Config en ServerSessionKeepAlive par souci de cohérence avec les autres pilotes.

  • La fonction Array renvoie désormais une erreur pour les types non pris en charge.

  • WithMultiStatement ne renvoie plus d’erreur.

  • Combinaison de WithMapValuesNullable et WithArrayValuesNullable dans une seule option WithEmbeddedValuesNullable.

  • Masquage du téléchargeur de morceaux de flux. Il sera complètement supprimé dans une prochaine version.

  • Le nombre maximum de goroutines de téléchargement de morceaux est maintenant configuré avec le paramètre de session CLIENT_PREFETCH_THREADS.

  • Correction d’une faute de frappe dans la variable d’environnement GOSNOWFLAKE_SKIP_REGISTRATION.

  • Non exportation de MfaToken et IdToken.

  • Modification des lots Arrow :

    • Les lots Arrow ont été extraits vers un paquet séparé, ce qui devrait réduire considérablement la taille de la compilation pour ceux qui ne nécessitent pas de lots Arrow (~34MB -> ~18MB).

    • Suppression de GetArrowBatches de SnowflakeRows et SnowflakeResult. Utilisez arrowbatches.GetArrowBatches(rows.(SnowflakeRows)) à la place.

    • Migration des fonctions suivantes :

      • sf.WithArrowBatchesTimestampOption en arrowbatches.WithTimestampOption

      • sf.WithArrowBatchesUtf8Validation en arrowbatches.WithUtf8Validation

      • sf.ArrowSnowflakeTimestampToTime en arrowbatches.ArrowSnowflakeTimestampToTime

  • Modifications de la journalisation :

    • Suppression du journaliseur Logrus et migration vers slog.

    • Simplification de l’interface SFLogger.

    • Ajout de l’interface SFSlogLogger pour définir un gestionnaire de slog personnalisé.

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de Go 1.26 et suppression de la prise en charge de Go 1.23.

  • Ajout de la prise en charge du mode FIPS uniquement.

Corrections de bogues

  • Ajout d’un bloc de récupération de panique pour les opérations de chargement et de téléchargement de fichiers de zone de préparation.

  • Correction d’une requête de métadonnées WIF d’un conteneur Azure qui se manifestait sous la forme d’une erreur HTTP 400.

  • Correction d’un contournement de la validation du port d’authentification SAML dans isPrefixEqual, où le port de la deuxième URL n’était jamais vérifié.

  • Correction d’une condition de concurrence dans le nettoyage du cache OCSP.

  • La requête context.Context est désormais propagée aux opérations de stockage Cloud pour les requêtes PUT et GET, ce qui permet une meilleure gestion des annulations.

  • Correction des crashs de minicores (SIGFPE) sur les binaires Linux entièrement liés statiquement, grâce à la détection de la liaison statique par inspection ELF PT_INTERP et au contournement en douceur de dlopen.

Version 1.19.0 (03 février 2026)

Nouvelles fonctions et mises à jour

  • Exposition de tokenFilePath dans la structure Config, en plus de l’option DSN existante.

  • tokenFilePath est maintenant lu pour chaque nouvelle connexion, et pas seulement une fois au démarrage du pilote.

  • Ajout de la prise en charge de l’emprunt d’identité lors de l’utilisation de la fédération d’identité de charge de travail.

  • Ajout de la possibilité de désactiver le chargement de minicore lors de la compilation à l’aide du paramètre -tags minicore_disabled.

Corrections de bogues

  • Correction d’un problème lié à l’obtention de fichiers à partir d’une zone de préparation non chiffrée.

  • Correction de la collecte de noms de fichiers minicore dans l’environnement client.

  • Correction de l’échappement de chemin pour les URLs GCS qui se manifestait dans 403 réponses de GCS lorsqu’un fichier ou un répertoire contenait des espaces.

  • Correction des fuites des descripteurs de fichiers lors du chargement de fichiers vers des zones de préparation (surtout dans GCS).