Skip to content

Releases: snowflakedb/snowflake-connector-python

4.2.0

07 Jan 16:38
aaa2148

Choose a tag to compare

  • v4.2.0(January 07,2026)
    • Added SnowflakeCursor.stats property to expose granular DML statistics (rows inserted, deleted, updated, and duplicates) for operations like CTAS where rowcount is insufficient.
    • Added support for injecting SPCS service identifier token (SPCS_TOKEN) into login requests when present in SPCS containers.
    • Introduced shared library for extended telemetry to identify and prepare testing platform for native rust extensions.

4.1.1

02 Dec 15:37
1b597be

Choose a tag to compare

  • v4.1.1(TBD)
    • Relaxed pandas dependency requirements for Python below 3.12.
    • Changed CRL cache cleanup background task to daemon to avoid blocking main thread.
    • Fixed NO_PROXY issues with PUT operations

4.1.0

19 Nov 13:13
e83e0a7

Choose a tag to compare

  • v4.1.0(November 18,2025)
    • Added the SNOWFLAKE_AUTH_FORCE_SERVER environment variable to force the use of the local-listening server when using the externalbrowser auth method.
      • This allows headless environments (like Docker or Airflow) running locally to auth via a browser URL.
    • Fix compilation error when building from sources with libc++.
    • Pin lower versions of dependencies to oldest version without vulnerabilities.
    • Added no_proxy parameter for proxy configuration without using environmental variables.
    • Added OAUTH_AUTHORIZATION_CODE and OAUTH_CLIENT_CREDENTIALS to list of authenticators that don't require user to be set
    • Added oauth_socket_uri connection parameter allowing to separate server and redirect URIs for local OAuth server.
    • Made platform_detection logs silent and improved its timeout handling. Added support for ENV_VAR_DISABLE_PLATFORM_DETECTION environment variable.
    • Fixed FIPS environments md5 hash issues with multipart upload on Azure.

4.0.0

09 Oct 10:06
1b63402

Choose a tag to compare

  • v4.0.0(October 09,2025)
    • Added support for checking certificates revocation using revocation lists (CRLs)
    • Added CERT_REVOCATION_CHECK_MODE to CLIENT_ENVIRONMENT
    • Added the workload_identity_impersonation_path parameter to support service account impersonation for Workload Identity Federation on GCP and AWS workloads only
    • Fixed get_results_from_sfqid when using DictCursor and executing multiple statements at once
    • Added the oauth_credentials_in_body parameter supporting an option to send the oauth client credentials in the request body
    • Fix retry behavior for ECONNRESET error
    • Added an option to exclude botocore and boto3 dependencies by setting SNOWFLAKE_NO_BOTO environment variable during installation
    • Revert changing exception type in case of token expired scenario for Oauth authenticator back to DatabaseError
    • Enhanced configuration file security checks with stricter permission validation.
      • Configuration files writable by group or others now raise a ConfigSourceError with detailed permission information, preventing potential credential tampering.
    • Fixed the return type of SnowflakeConnection.cursor(cursor_class) to match the type of cursor_class
    • Constrained the types of fetchone, fetchmany, fetchall
      • As part of this fix, DictCursor is no longer a subclass of SnowflakeCursor; use SnowflakeCursorBase as a superclass of both.
    • Fix "No AWS region was found" error if AWS region was set in AWS_DEFAULT_REGION variable instead of AWS_REGION for WORKLOAD_IDENTITY authenticator
    • Add ocsp_root_certs_dict_lock_timeout connection parameter to set the timeout (in seconds) for acquiring the lock on the OCSP root certs dictionary. Default value for this parameter is -1 which indicates no timeout.
    • Fixed behaviour of trying S3 Transfer Accelerate endpoint by default for internal stages, and always getting HTTP403 due to permissions missing on purpose. Now /accelerate is not attempted.

3.18.0

06 Oct 12:10
f246167

Choose a tag to compare

  • v3.18.0(October 03,2025)
    • Added support for pandas conversion for Day-time and Year-Month Interval types

3.17.4

22 Sep 13:21
f84ff67

Choose a tag to compare

  • v3.17.4(September 22,2025)
    • Added support for intermediate certificates as roots when they are stored in the trust store
    • Bumped up vendored urllib3 to 2.5.0 and requests to v2.32.5

3.17.3

03 Sep 10:39
8c32f5e

Choose a tag to compare

  • v3.17.3(September 02,2025)
    • Enhanced configuration file permission warning messages.
      • Improved warning messages for readable permission issues to include clear instructions on how to skip warnings using the SF_SKIP_WARNING_FOR_READ_PERMISSIONS_ON_CONFIG_FILE environment variable.
    • Fixed the bug with staging pandas dataframes on AWS - the regional endpoint is used when required
      • This addresses the issue with create_dataframe call on Snowpark

3.17.2

20 Aug 14:25
ac6bf6c

Choose a tag to compare

  • v3.17.2(August 23,2025)
    • Fixed a bug where platform_detection was retrying failed requests with warnings to non-existent endpoints.
    • Added disabling endpoint-based platform detection by setting platform_detection_timeout_seconds to zero.

3.17.1

14 Aug 20:18
1190042

Choose a tag to compare

  • v3.17.1(August 17,2025)
    • Added infer_schema parameter to write_pandas to perform schema inference on the passed data.
    • Namespace snowlake reverted back to non-module.

3.17.0

14 Aug 00:32
e00b8e7

Choose a tag to compare

  • v3.17.0(August 16,2025)
    • Added in-band HTTP exception telemetry.
    • Added an unsafe_skip_file_permissions_check flag to skip file permission checks on the cache and configuration.
    • Added APPLICATION_PATH within CLIENT_ENVIRONMENT to distinguish between multiple scripts using the Python Connector in the same environment.
    • Added basic JSON support for Interval types.
    • Added in-band OCSP exception telemetry.
    • Added support for new authentication methods with Workload Identity Federation (WIF).
      • Added the WORKLOAD_IDENTITY value for the authenticator type.
      • Added the workload_identity_provider and workload_identity_entra_resource parameters.
    • Added support for the use_vectorized_scanner parameter in the write_pandas function.
    • Added support of proxy setup using connection parameters without emitting environment variables.
    • Added populating of type_code in ResultMetadata for interval types.
    • Introduced the snowflake_version property to the connection.
    • Moved OAUTH_TYPE to CLIENT_ENVIROMENT.
    • Relaxed the pyarrow version constrain; versions >= 19 can now be used.
    • Disabled token caching for OAuth Client Credentials authentication.
    • Fixed OAuth authenticator values.
    • Fixed a bug where a PAT with an external session authenticator was used while external_session_id was not provided in SnowflakeRestful.fetch.
    • Fixed the case-sensitivity of Oauth and programmatic_access_token authenticator values.
    • Fixed unclear error messages for incorrect authenticator values.
    • Fixed GCS staging by ensuring the endpoint has a scheme.
    • Fixed a bug where time-zoned timestamps fetched as a pandas.DataFrame or pyarrow.Table would overflow due to unnecessary precision. A clear error will now be raised if an overflow cannot be prevented.