Skip to content

Releases: snowflakedb/snowflake-connector-python

3.12.0

24 Jul 15:38
91aa0fc
Compare
Choose a tag to compare
  • v3.12.0(July 24,2024)
    • Set default connection timeout of 10 seconds and socket read timeout of 10 minutes for HTTP calls in file transfer.
    • Optimized to_pandas() performance by fully parallel downloading logic.
    • Fixed a bug that specifying client_session_keep_alive_heartbeat_frequency in snowflake-sqlalchemy could crash the connector.
    • Fixed incorrect type hint of connection parameter private_key.
    • Added support for connectivity to multiple domains.
    • Bumped keyring dependency from >=23.1.0,<25.0.0 to >=23.1.0,<26.0.0.
    • Disabled OOB Telemetry.

3.11.0

18 Jun 13:36
3746237
Compare
Choose a tag to compare
  • v3.11.0(June 17,2024)

    • Added support for token_file_path connection parameter to read an OAuth token from a file when connecting to Snowflake.
    • Added support for debug_arrow_chunk connection parameter to allow debugging raw arrow data in case of arrow data parsing failure.
    • Added support for disable_saml_url_check connection parameter to disable SAML URL check in OKTA authentication.
    • Fixed a bug that OCSP certificate signed using SHA384 algorithm cannot be verified.
    • Fixed a bug that status code shown as uploaded when PUT command failed with 400 error.
    • Fixed a bug that a PermissionError was raised when the current user does not have the right permission on parent directory of config file path.
    • Fixed a bug that OCSP GET url is not encoded correctly when it contains a slash.
    • Fixed a bug that an SSO URL didn't accept : in a query parameter, for instance, https://sso.abc.com/idp/startSSO.ping?PartnerSpId=https://xyz.snowflakecomputing.com/.

3.10.1

21 May 20:47
29d3793
Compare
Choose a tag to compare
  • v3.10.1(May 21, 2024)

    • Removed an incorrect error log message that could occur during arrow data conversion.

3.10.0

29 Apr 23:04
8cdca67
Compare
Choose a tag to compare
  • v3.10.0(April 29,2024)

    • Added support for structured types to fetch_pandas_all.
    • Fixed an issue relating to incorrectly formed China S3 endpoints.

3.9.1

22 Apr 19:34
1f7321e
Compare
Choose a tag to compare
  • v3.9.1(April 22,2024)

    • Fixed an issue that caused a HTTP 400 error when connecting to a China endpoint.

3.9.0

18 Apr 21:36
1094a70
Compare
Choose a tag to compare
  • v3.9.0(April 20,2024)

    • Added easy logging configuration so that users can easily generate log file by setup log config in $SNOWFLAKE_HOME/config.toml.
    • Improved s3 acceleration logic when connecting to China endpoint.

3.8.1

09 Apr 18:24
86ba28a
Compare
Choose a tag to compare
  • v3.8.1(April 09, 2024)

    • Reverted the change "Updated write_pandas to skip TABLE IF NOT EXISTS in truncate mode." introduced in v3.8.0 (yanked) as it's a breaking change. write_pandas will be fixed in the future in a non-breaking way.
  • v3.8.0(April 04,2024)

    • Improved externalbrowser auth in containerized environments
      • Instruct browser to not fetch /favicon on success page
      • Simple retry strategy on empty socket.recv
      • Add SNOWFLAKE_AUTH_SOCKET_REUSE_PORT flag (usage: SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true) to set the underlying socket's SO_REUSEPORT flag (described in the socket man page)
        • Useful when the randomized port used in the localhost callback url is being followed before the container engine completes port forwarding to host
        • Statically map a port between your host and container and allow that port to be reused in rapid succession with:
          SF_AUTH_SOCKET_PORT=3037 SNOWFLAKE_AUTH_SOCKET_REUSE_PORT=true poetry run python somescript.py
      • Add SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT flag (usage: SNOWFLAKE_AUTH_SOCKET_MSG_DONTWAIT=true) to make a non-blocking socket.recv call and retry on Error
        • Consider using this if running in a containerized environment and externalbrowser auth frequently hangs while waiting for callback
        • NOTE: this has not been tested extensively, but has been shown to improve the experience when using WSL
    • Added support for parsing structured type information in schema queries.
    • Bumped platformdirs from >=2.6.0,<4.0.0 to >=2.6.0,<5.0.0
    • Updated diagnostics to use system$allowlist instead of system$whitelist.
    • Updated write_pandas to skip TABLE IF NOT EXISTS in truncate mode.
    • Improved cleanup logic for connection to rely on interpreter shutdown instead of the __del__ method.
    • Updated the logging level from INFO to DEBUG when logging the executed query using SnowflakeCursor.execute.
    • Fixed a bug that the truncated password in log is not masked.

3.7.1

22 Feb 23:54
7b7bbeb
Compare
Choose a tag to compare
  • v3.7.1(February 21, 2024)

    • Bumped pandas dependency from >=1.0.0,<2.2.0 to >=1.0.0,<3.0.0.
    • Bumped cryptography dependency from <42.0.0,>=3.1.0 to >=3.1.0,<43.0.0.
    • Bumped pyOpenSSL dependency from >=16.2.0,<24.0.0 to >=16.2.0,<25.0.0.
    • Fixed a memory leak in decimal data conversion.
    • Fixed a bug where write_pandas wasn't truncating the target table.
    • Bumped keyring dependency lower bound to 23.1.0 to address security vulnerability.

3.7.0

26 Jan 01:26
3cced62
Compare
Choose a tag to compare
  • v3.7.0(January 25,2024)

    • Added a new boolean parameter force_return_table to SnowflakeCursor.fetch_arrow_all to force returning pyarrow.Table in case of zero rows.
    • Cleanup some C++ code warnings and performance issues.
    • Added support for Python 3.12
    • Make local testing more robust against implicit assumptions.
    • Fixed PyArrow Table type hinting
    • Added support for connecting using an existing connection via the session and master token.
    • Added support for connecting to Snowflake by authenticating with multiple SAML IDP using external browser.
    • Fixed compilation issue due to missing cstdint header on gcc13.
    • Improved config permissions warning message.

3.6.0

07 Dec 20:32
7bd365c
Compare
Choose a tag to compare
  • v3.6.0(December 09,2023)

    • Added support for Vector types
    • Changed urllib3 version pin to only affect Python versions < 3.10.
    • Support for private_key_file and private_key_file_pwd connection parameters
    • Added a new flag expired to SnowflakeConnection class, that keeps track of whether the connection's master token has expired.
    • Fixed a bug where date insertion failed when date format is set and qmark style binding is used.