Skip to content

Releases: snowflakedb/snowflake-connector-python

Release

25 May 17:56
36e20a0

Choose a tag to compare

New Features and Improvements

  • Added the json_result_force_utf8_decoding connection parameter to force decoding JSON content in utf-8 when the result format is JSON.
  • Bumped vendored library urllib3 to 1.26.15
  • Bumped vendored library requests to 2.29.0
  • Bumped pandas dependency from <1.6.0,>=1.0.0 to >=1.0.0,<2.1.0
  • Add support for Geometry types.

Bug Fixes

  • Fixed a bug in which cursor.execute() could modify the argument statement_params dictionary object when executing a multistatement query.
  • Fixed a bug in which we cannot call SnowflakeCursor.nextset before fetching the result of the first query if the cursor runs an async multistatement query.
  • Fixed a bug when _prefetch_hook() was not called before yielding results of execute_async().
  • Fixed a bug where some ResultMetadata fields were marked as required when they were optional.
  • Fixed a bug where bulk insert converts date incorrectly.

Please check our community page for release notes.

Release

20 Apr 23:20
fbf5954

Choose a tag to compare

New Features and Improvements

  • Added a parameter that allows users to skip file uploads to stage if file exists on stage and contents of the file match.
  • Improved type hint of SnowflakeCursor.execute method.
  • Improved GET logging to warn when downloading multiple files with the same name.

Bug Fixes

  • Fixed a bug that prints error in logs for GET command on GCS.
  • Fixed a bug that occurred when writing a Pandas DataFrame with non-default index in snowflake.connector.pandas_tool.write_pandas.
  • Fixed a bug that occurred when writing a Pandas DataFrame with column names containing double quotes in snowflake.connector.pandas_tool.write_pandas.
  • Fixed a bug that occurred when writing a Pandas DataFrame with binary data in snowflake.connector.pandas_tool.write_pandas.

Please check our community page for release notes.

Release

23 Mar 23:39
eda6206

Choose a tag to compare

New Features

  • Improved logging to mask tokens in case of errors.
  • Validate SSO URL before opening it in the browser for External browser authenticator.

Bug Fixes

  • Fixed a memory leak in the logging module of the Cython extension.
  • Fixed a bug where the put command on AWS raised AttributeError when uploading file composed of multiple parts.
  • Fixed a bug of incorrect type hints of SnowflakeCursor.fetch_arrow_all and SnowflakeCursor.fetchall.
  • Fixed a bug where snowflake.connector.util_text.split_statements swallows the final line break in the case when there are no space between lines.

Please check our community page for release notes.

Release

01 Mar 19:38
ec95c56

Choose a tag to compare

New Features

  • Improved the robustness of OCSP response caching to handle errors in cases of serialization and deserialization.
  • Replaced the dependency on setuptools in favor of packaging.
  • Updated async_executes method's doc-string.
  • Errors raised now have a query field that contains the SQL query that caused them when available.

Bug Fixes

  • Fixed a bug where AuthByKeyPair.handle_timeout should pass keyword arguments instead of positional arguments when calling AuthByKeyPair.prepare.
  • Fixed a bug where MFA token caching would refuse to work until restarted instead of reauthenticating.
    Please check our community page for release notes.

Release

27 Jan 21:10
1885b3e

Choose a tag to compare

Behavior Changes

  • Fixed a bug where write_pandas did not use user-specified schemas and databases to create intermediate objects

New Features and Updates

  • Bumped pyarrow dependency from >=8.0.0,<8.1.0 to >=10.0.1,<10.1.0
  • Bumped pyOpenSSL dependency from <23.0.0 to <24.0.0
  • During browser-based authentication, the SSO url is now printed before opening it in the browser
  • Increased the level of a log for when ArrowResult cannot be imported
  • Added a minimum MacOS version check when compiling C-extensions

Bug Fixes

  • Fixed a bug where the HTTP 429 response code was not retried
  • Fixed a bug where MFA token caching was not working

Please check our community page for release notes.

Release

21 Dec 19:07
580c0ae

Choose a tag to compare

New Features

  • Reworked authentication internals to allow users to plug custom key-pair authenticators.
  • Multi-statement query execution is now supported through cursor.execute and cursor.executemany.
    • The Snowflake parameter MULTI_STATEMENT_COUNT can be altered at the account, session, or statement level. An additional argument, num_statements, can be provided to execute to use this parameter at the statement level. It must be provided to executemany to submit a multi-statement query through the method. Note that bulk insert optimizations available through executemany are not available when submitting multi-statement queries.
      • By default the parameter is 1, meaning only a single query can be submitted at a time.
      • Set to 0 to submit any number of statements in a multi-statement query.
      • Set to >1 to submit the specified exact number of statements in a multi-statement query.
    • Bindings are accepted in the same way for multi-statements as they are for single statement queries.
    • Asynchronous multi-statement query execution is supported. Users should still use get_results_from_sfqid to retrieve results.
    • To access the results of each query, users can call SnowflakeCursor.nextset() as specified in the DB 2.0 API (PEP-249), to iterate through each statements results.
      • The first statement's results are accessible immediately after calling execute (or get_results_from_sfqid if asynchronous) through the existing fetch*() methods.

Bug Fixes

  • Fixed a bug where the permission of the file downloaded via GET command is changed.

Released to PyPI on December 14, 2022

Release

29 Nov 00:48
abdd6b9

Choose a tag to compare

  • Bumped cryptography dependency from <39.0.0 to <41.0.0
  • Fixed a bug where expired OCSP response cache caused infinite recursion during cache loading

Release

19 Nov 01:34
d016d81

Choose a tag to compare

  • Improved performance of OCSP response caching
  • During the execution of GET commands we no longer resolve target location on the local machine
  • Improved performance of regexes used for PUT/GET SQL statement detection. CVE-2022-42965

Release

02 Nov 19:30
88843f8

Choose a tag to compare

  • Bumped cryptography dependency from <37.0.0 to <39.0.0
  • Bumped pandas dependency from <1.5.0 to <1.6.0
  • Fixed a bug where write_pandas wouldn't write an empty DataFrame to Snowflake
  • When closing connection async query status checking is now parallelized
  • Fixed a bug where test logging would be enabled on Jenkins workers in non-Snowflake Jenkins machines
  • Enhanced the atomicity of write_pandas when overwrite is set to True

Release

27 Sep 22:39
530d441

Choose a tag to compare

  • Fixed a bug where rowcount was deleted when the cursor was closed
  • Fixed a bug where extTypeName was used even when it was empty
  • Updated how telemetry entries are constructed
  • Added telemetry for imported root packages during run-time
  • Added telemetry for using write_pandas
  • Fixed missing dtypes when calling fetch_pandas_all() on empty result
  • The write_pandas function now supports providing additional arguments to be used by DataFrame.to_parquet
  • All optional parameters of write_pandas can now be provided to pd_writer and make_pd_writer to be used with DataFrame.to_sql