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

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

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

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

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

バージョン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)。