2024年の Snowflake Connector for Python リリースノート

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

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

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

ドキュメントについては、 Python用Snowflake Connector をご参照ください。

バージョン3.12.3(2024年10月24日)

セキュリティ修正

  • CVE-2024-49750で提起された問題に対応しました。詳細については、アドバイザリ GHSA-5vvg-pvhp-hv2m をご参照ください。

新機能および更新

  • SSL 関連の問題用エラーメッセージを改善し、より明確な解決ガイダンスを提供するようにしました。

  • タイムアウトによる SQL 実行キャンセルのエラーメッセージを改善しました。

バグ修正

  • なし。

バージョン3.12.2(2024年9月11日)

新機能および更新

  • なし。

バグ修正

  • 非同期クエリのエラー処理が改善され、非同期クエリが失敗した場合に、より詳細で情報量の多いエラーメッセージが表示されるようになりました。

  • 中国内のリージョンを指定したアカウントのトップレベルドメインの推論が改善され、デフォルトは snowflakecomputing.cn になりました。

  • snowflake.connector.util_text.random_string の実装を改善し、競合の可能性を低減しました。

  • OCSP フェールオープン警告メッセージのログレベルを ERROR から WARNING に更新しました。

バージョン3.12.1(2024年8月20日)

新機能および更新

  • なし。

バグ修正

  • セッションの更新時にセッショントークンがログされるバグを修正しました。

  • クライアントテレメトリの無効化が作用しないバグを修正しました。

  • login_timeout 文字列として渡すと、ログイン再試行ステップ中に TypeError が発生するバグを修正しました。

  • デフォルトの構成ファイルの場所を解決するために、 os の代わりに pathlib を使用するようにコネクタを更新しました。

  • cryptogaphy 上位バージョンのピンを削除しました。

  • 以前のバージョンでバックモジュールが削除されたため、 snowflake-export-certs スクリプトへの参照を削除しました。

  • クエリ結果のポーリング中にサーバーから応答がない場合に、一時的なネットワーク障害を処理するための再試行メカニズムが強化されました。

バージョン3.12.0(2024年7月26日)

新機能および更新

  • ファイル転送で HTTP を呼び出す際、デフォルトの接続タイムアウトを10秒に、ソケット読み取り時間を10分に設定します。

  • 複数ドメインへの接続機能を追加しました。

  • 完全並列ダウンロードロジックの使用により、 to_pandas() のパフォーマンスを最適化しました。

  • キーリングの依存関係をg>=23.1.0,<25.0.0からg>=23.1.0,<26.0.0に変更しました。

バグ修正

  • snowflake-sqlalchemyclient_session_keep_alive_heartbeat_frequency を指定するとコネクタが反応しなくなるバグを修正しました。

  • 不正な private_key 接続パラメータータイプのヒントを修正しました。

バージョン3.11.0(2024年6月18日)

新機能および更新

  • Snowflakeへの接続時にファイルから OAuth トークンを読み込むための token_file_path 接続パラメーターのサポートを追加しました。

  • Arrowデータの解析に失敗した場合に生のArrowデータをデバッグできるように、 debug_arrow_chunk 接続パラメーターのサポートを追加しました。

  • OKTA 認証で SAML URL チェックを無効にするための disable_saml_url_check 接続パラメーターのサポートを追加しました。

バグ修正

  • SHA384 アルゴリズムを使用して署名された OCSP 証明書が検証できないバグを修正しました。

  • PUT コマンドが400エラーで失敗した場合に、ステータスコードがアップロード済みと表示されるバグを修正しました。

  • 現在のユーザーが構成ファイルパスの親ディレクトリに対して適切な権限を持っていない場合に、 PermissionError が発生するバグを修正しました。

  • OCSP GET URL にスラッシュが含まれると正しくエンコードされないバグを修正しました。

  • https://sso.abc.com/idp/startSSO.ping?PartnerSpId=https://xyz.snowflakecomputing.com/ のように、 SSO URL がクエリパラメーターで : を受け付けないバグを修正しました。

バージョン3.10.1(2024年5月21日)

新機能および更新

  • なし。

バグ修正

  • arrowデータ変換中に発生する不正なエラーログメッセージを削除しました。

バージョン3.10.0(2024年4月29日)

新機能および更新

  • fetch_pandas_all に構造化型のサポートを追加しました。

バグ修正

  • 中国S3エンドポイントが正しく形成されない問題を修正しました。

バージョン3.9.1(2024年4月22日)

新機能および更新

  • 中国エンドポイントへの接続時に HTTP 400エラーが発生する問題を修正しました。

バグ修正

  • なし。

バージョン3.9.0(2024年4月18日)

新機能および更新

  • ログ構成ファイル でログ設定のサポートを追加しました。

  • 中国エンドポイントに接続する際のS3アクセラレーションロジックを改善しました。

バグ修正

  • なし。

バージョン3.8.1(2024年4月9日)

新機能および更新

  • コンテナ化された環境における externalbrowser 認証コードを改善しました。

    • 成功ページで /favicon をフェッチしないようにブラウザーに指示します。

    • 空の socket.recv 呼び出しに対して、単純な再試行戦略を使用します。

    • SNOWFLAKE_AUTH_SOCKET_REUSE_PORT フラグ(SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true)を追加し、その基になるソケットの SO_REUSEPORT フラグを設定します(ソケットのマニュアルページ で説明されています)。

      • このフラグを設定すると、コンテナエンジンがホストへのポート転送を完了する前に、localhostコールバックurlで使用されているランダムなポートがフォローされている場合に便利です。

      • 次に、ホストとコンテナ間のポートを静的にマッピングし、以下のようなコマンドでそのポートを連続して再利用できるようにします。

        SF_AUTH_SOCKET_PORT=3037 SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true poetry run python somescript.py
        
        Copy
    • ノンブロッキングの socket.recv 呼び出しを行い、エラー時に再試行するための SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT フラグ(SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT=true)を追加します。

  • スキーマクエリにおける構造化型情報の解析のサポートを追加しました。

  • platformdirs を>=2.6.0, <4.0.0から >=2.6.0, <5.0.0に更新しました。

  • system$whitelist の代わりに system$allowlist を使用するように診断を更新しました。

  • 接続が __del__ メソッドの代わりにインタープリターのシャットダウンに依存するようにクリーンアップロジックを改善しました。

  • SnowflakeCursor.execute を使用して実行されたクエリをログ記録する際のログレベルを INFO から DEBUG に更新しました。

バグ修正

  • ログの切り捨てられたパスワードがマスキングされないバグを修正しました。

バージョン3.7.1(2024年2月22日)

新機能および更新

  • 以下の依存関係を変更しました。

    • pandasのバージョンを>=1.0.0,<2.2.0から>=1.0.0,<3.0.0に

    • 暗号化のバージョンを<42.0.0,>=3.1.0から>=3.1.0,<43.0.0に

    • pyOpenSSL バージョンを>=16.2.0,<24.0.0から>=16.2.0,<25.0.0に

  • セキュリティの脆弱性に対処するため、キーリングの依存関係の下限をバージョン23.1.0に変更しました。

バグ修正

  • 10進数データ変換時のメモリリークを修正しました。

  • write_pandas ターゲットテーブルを切り捨てていなかったバグを修正しました。

バージョン3.7.0(2024年1月26日)

新機能および更新

  • Python 3.12のサポートを追加しました。

  • 0行の場合は強制的に pyarrow.Table を返すように、 SnowflakeCursor.fetch_arrow_all に新しいブール値 force_return_table パラメーターを追加しました。

  • いくつかのC++コードの警告とパフォーマンスの問題をクリーンアップしました。

  • 暗黙の仮定に対してより強固なローカルテストを実施しました。

  • セッションとマスタートークンを介した既存の接続を使用した接続のサポートを追加しました。

  • 外部ブラウザーを使用して複数の SAML IDP で認証してSnowflakeに接続するためのサポートを追加しました。

  • 構成権限の警告メッセージを改善しました。

バグ修正

  • PyArrow テーブル型のヒントの問題を修正しました。

  • gcc13で cstdint ヘッダーが欠落していたことによるコンパイルの問題を修正しました。