2026年の Go Snowflake Driver リリースノート

この記事には、 Go Snowflake Driver のリリースノートが含まれています。また、該当する場合は以下が含まれます。

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

Snowflake は、 Go Snowflake Driver の更新にセマンティックバージョニングを使用します。

ドキュメントについては、 Go Snowflakeドライバー をご参照ください。

Version 2.0.2 (Apr 28, 2026)

新機能および更新

  • Added the QueryResultFormatProvider interface, which exposes the server-reported query result format (Arrow or JSON) from QueryArrowStream. This interface enables callers to distinguish Arrow IPC from JSON responses before interpreting batch streams.

バグ修正

  • Fixed an issue where the Account field was empty when connecting with programmatic Config and database/sql.Connector. The driver now derives Account from the first DNS label of Host when it matches the Snowflake hostname pattern.

  • Fixed the PAT (Programmatic Access Token) authenticator to properly require the Token or TokenFilePath field. Previously, the authenticator would silently accept the Password field but never forward it to the authentication service.

  • Fixed the logger reporting incorrect source locations when called without WithContext.

  • Fixed GCP workload identity federation (WIF) attestation to use hostname metadata.google.internal instead of the IPv4 link-local address, enabling support for IPv6-only GCP VMs.

  • Fixed query failures on large inline results (such as 64 MB LOBs) caused by truncated HTTP response bodies. The driver now retries the query when json.Decoder returns io.ErrUnexpectedEOF, reusing the same request ID to retrieve the cached result from Snowflake.

バージョン2.0.1(2026年4月8日)

バグ修正

  • 潜在的なメモリ不足エラーを防ぐため、デフォルトの :codenowrap: CrlDownloadMaxSize 設定を200 MB から20 MB に削減しました。

  • 同じ接続プール内の接続間でパラメーター値が変更されることがある問題を修正しました。

  • BLOBコンテンツ MD5 プロパティを適切に入力するために、Azureのマルチパートファイルアップロードを修正しました。

  • バージョン管理されたステージでのGoogle Cloud Storage PUT クエリからの403エラーを修正しました。

  • 失敗したクエリのクエリコンテキストキャッシュが更新されず、セッションデータが古くなる可能性があった問題を修正しました。

  • パラメーターの同期を最適化することにより、接続処理のパフォーマンスを改善しました。

内部変更

  • 設定を専用の内部パッケージに移動しました。

  • コードベース全体でGo構文の慣用句を最新化しました。

  • クライアント環境のテレメトリーにlibcファミリー、バージョン、動的リンクマーカーを追加しました。

  • セキュリティの脆弱性に対処するために依存関係を更新しました。

    • golang.org/x/crypto v0.41.0からv0.46.0に

    • golang.org/x/net v0.43.0からv0.48.0に

    • golang.org/x/oauth2 v0.30.0からv0.34.0に

    • golang.org/x/sys v0.35.0からv0.40.0に

    • golang.org/x/mod v0.27.0からv0.30.0に

    • golang.org/x/sync v0.16.0からv0.19.0に

    • golang.org/x/term v0.34.0からv0.38.0に

    • golang.org/x/text v0.28.0からv0.32.0に

    • golang.org/x/tools v0.36.0からv0.39.0に

    • google.golang.org/grpc v1.73.0からv1.79.3に

    • google.golang.org/protobuf v1.36.6からv1.36.10に

    • OpenTelemetry パッケージv1.37.0からv1.40.0に

  • Removed pointer indirection from query context cache in snowflakeConn.

バージョン1.9.1(2026年4月8日)

新機能および更新

  • Go 1.26のサポートを追加し、Go 1.23のサポートを終了しました。

バグ修正

  • 完全に静的リンクされたLinuxバイナリにおいて、ELF PT_INTERPを検査して静的リンクを検出し、:code:`dlopen`を適切にスキップするようにしたことで、minicoreのクラッシュ(SIGFPE)を修正しました。

内部変更

  • クライアント環境のテレメトリーにlibcファミリー、バージョン、動的リンクマーカーを追加しました。

バージョン2.0.0(2026年3月3日)

BCR (動作変更リリース)の変更

  • PUT/GET操作で確実にエラーが発生するように、:codenowrap:`SnowflakeFileTransferOptions`から:codenowrap:`RaisePutGetError`を削除しました。

  • :codenowrap:`SnowflakeFileTransferOptions`から:codenowrap:`GetFileToStream`を削除しました。GET操作のファイルストリーミングを自動的に有効にするには、:codenowrap:`WithFileGetStream`を使用します。

  • :codenowrap:`WithOriginalTimestamp`を削除しました。代わりに:codenowrap:`WithArrowBatchesTimestampOption(UseOriginalTimestamp)`を使用します。

  • :codenowrap:`Config`構造体から:codenowrap:`ClientIP`フィールドを削除しました。このフィールドは使用されたことがなく、どの機能にも必要ありません。

  • :codenowrap:`Config`構造体から:codenowrap:`InsecureMode`フィールドを削除しました。代わりに:codenowrap:`DisableOCSPChecks`を使用します。

  • :codenowrap:`Config`構造体から:codenowrap:`DisableTelemetry`フィールドを削除しました。代わりに:codenowrap:`CLIENT_TELEMETRY_ENABLED`セッションパラメーターを使用します。

  • ストリームチャンクダウンローダーを削除しました。代わりにデフォルトのダウンローダーを使用します。

  • :codenowrap:`SnowflakeTransport`を削除しました。今後は:codenowrap:`Config.Transporter`を使用してください。カスタムルート証明書セットが必要なだけであれば、:codenowrap:`RegisterTLSConfig`を使用して独自のTLS構成を登録するだけで対応可能です。

  • 一貫性を保つため、:codenowrap:`WithFileStream`から:codenowrap:`WithFilePutStream`に名前を変更しました。

  • 他のドライバーとの一貫性を保つため、:codenowrap:`Config`構造体の:codenowrap:`KeepSessionAlive`フィールドを:codenowrap:`ServerSessionKeepAlive`へと名前を変更しました。

  • :codenowrap:`Array`関数は、サポートされていない型に対してエラーを返すようになりました。

  • :codenowrap:`WithMultiStatement`はエラーを返さなくなりました。

  • :codenowrap:`WithMapValuesNullable`と:codenowrap:`WithArrayValuesNullable`を単一の:codenowrap:`WithEmbeddedValuesNullable`オプションに統合しました。

  • ストリーミングチャンクダウンローダーを非表示にしました。今後のリリースで完全に削除される予定です。

  • チャンクをダウンロードする際の最大並列数は今後、:codenowrap:`CLIENT_PREFETCH_THREADS`セッションパラメーターによって設定されるようになります。

  • :codenowrap:`GOSNOWFLAKE_SKIP_REGISTRATION`環境変数のタイプミスを修正しました。

  • :codenowrap:`MfaToken`および:codenowrap:`IdToken`を非公開にしました。

  • Arrowバッチの変更:

    • Arrowバッチは別のパッケージに抽出されました。これにより、Arrowバッチを必要としない場合のコンパイルサイズが大幅に削減されます(約34MB -> 約18MB)。

    • :codenowrap:`SnowflakeRows`および:codenowrap:`SnowflakeResult`から:codenowrap:`GetArrowBatches`を削除しました。代わりに:codenowrap:`arrowbatches.GetArrowBatches(rows.(SnowflakeRows))`を使用します。

    • 以下の関数を移行しました。

      • :codenowrap:`sf.WithArrowBatchesTimestampOption`から:codenowrap:`arrowbatches.WithTimestampOption`へ

      • :codenowrap:`sf.WithArrowBatchesUtf8Validation`から:codenowrap:`arrowbatches.WithUtf8Validation`へ

      • :codenowrap:`sf.ArrowSnowflakeTimestampToTime`から:codenowrap:`arrowbatches.ArrowSnowflakeTimestampToTime`へ

  • ログ記録の変更:

    • Logrusロガーを削除し、slogに移行しました。

    • :codenowrap:`SFLogger`インターフェースを簡略化しました。

    • カスタムslogハンドラーを設定するための:codenowrap:`SFSlogLogger`インターフェースを追加しました。

新機能および更新

  • Go 1.26のサポートを追加し、Go 1.23のサポートを終了しました。

  • FIPS専用モードのサポートを追加しました。

バグ修正

  • ステージファイルのアップロードおよびダウンロード操作において、パニックを検知して復旧するための処理を追加しました。

  • HTTP 400エラーとして現れた、AzureコンテナからのWIFメタデータリクエストを修正しました。

  • SAML認証において、:codenowrap:`isPrefixEqual`が2番目のURLのポートを検証せずにチェックを通り抜けてしまう不備を修正しました。

  • OCSPキャッシュクリア機能の競合状態を修正しました。

  • PUTおよびGETクエリのクラウドストレージ操作に:codenowrap:`context.Context`クエリが伝播されるようになり、キャンセル処理が改善されました。

  • 完全に静的リンクされたLinuxバイナリにおいて、ELF PT_INTERPを検査して静的リンクを検出し、:code:`dlopen`を適切にスキップするようにしたことで、minicoreのクラッシュ(SIGFPE)を修正しました。

バージョン1.19.0(2026年2月3日)

新機能および更新

  • Config 構造体に、既存のDSNオプションに加えて tokenFilePath を公開しました。

  • codenowrap:tokenFilePath はドライバーの起動時に1回だけではなく、新しい接続ごとに読み取られるようになりました。

  • ワークロードIDフェデレーション使用時のID偽装のサポートが追加されました。

  • -tags minicore_disabled パラメーターを使用して、コンパイル時にミニコアのロードを無効にする機能を追加しました。

バグ修正

  • 暗号化されていないステージからファイルを取得する際に発生する問題を修正しました。

  • クライアント環境での最小ユーザーファイル名の収集を修正しました。

  • ファイルまたはディレクトリにスペースが含まれている場合に、GCSからの403応答という形で現れるGCS URLsのパスエスケープを修正しました。

  • ステージにファイルをアップロードするときのファイル記述子のリークを修正しました(特にGCS)。