Releases: snowflakedb/snowflake-connector-python
Releases ยท snowflakedb/snowflake-connector-python
3.7.1
-
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
-
v3.7.0(January 25,2024)
- Added a new boolean parameter
force_return_table
toSnowflakeCursor.fetch_arrow_all
to force returningpyarrow.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.
- Added a new boolean parameter
3.6.0
-
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
andprivate_key_file_pwd
connection parameters - Added a new flag
expired
toSnowflakeConnection
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.
3.5.0
-
v3.5.0(November 13,2023)
- Version 3.5.0 is the snowflake-connector-python purely built upon apache arrow-nanoarrow project.
- Reduced the wheel size to ~1MB and installation size to ~5MB.
- Removed a hard dependency on a specific version of pyarrow.
- Deprecated the usage of the following class/variable/environment variable for the sake of pure nanoarrow converter:
- Deprecated class
snowflake.connector.cursor.NanoarrowUsage
. - Deprecated environment variable
NANOARROW_USAGE
. - Deprecated module variable
snowflake.connector.cursor.NANOARROW_USAGE
.
- Deprecated class
- Version 3.5.0 is the snowflake-connector-python purely built upon apache arrow-nanoarrow project.
3.4.1
-
v3.4.1(November 08, 2023)
- Bumped vendored urllib3 to 1.26.18
- Bumped vendored requests to 2.31.0
3.4.0
-
v3.4.0(November 03,2023)
- Added support for
use_logical_type
inwrite_pandas
. - Removed dependencies on pycryptodomex and oscrypto. All connections now go through OpenSSL via the cryptography library, which was already a dependency.
- Fixed issue with ingesting files over 80 GB to S3.
- Added the
backoff_policy
argument tosnowflake.connector.connect
allowing for configurable backoff policy between retries of failed requests. See available implementations in thebackoff_policies
module. - Added the
socket_timeout
argument tosnowflake.connector.connect
specifying socket read and connect timeout. - Fixed
login_timeout
andnetwork_timeout
behaviour. Retries of login and network requests are now properly halted after these timeouts expire. - Fixed bug for issue urllib3/urllib3#1878 in vendored
urllib
.
- Added support for
3.3.1
-
v3.3.1(October 18, 2023)
- Added for non-Windows platforms command suggestions (chown/chmod) for insufficient file permissions of config files.
- Fixed issue with connection diagnostics failing to complete certificate checks.
- Fixed issue that arrow iterator causes
ImportError
when the c extensions are not compiled.
3.3.0
-
v3.3.0(October 10,2023)
- Updated to Apache arrow-nanoarrow project for result arrow data conversion.
- Introduced the
NANOARROW_USAGE
environment variable to allows switching between the nanoarrow converter and the arrow converter. Valid values include:FOLLOW_SESSION_PARAMETER
, which uses the converter configured in the server.DISABLE_NANOARROW
, which uses arrow converter, overriding the server setting.ENABLE_NANOARROW
, which uses the nanoarrow converter, overriding the server setting.
- Introduced the
snowflake.connector.cursor.NanoarrowUsage
enum, whose members include:NanoarrowUsage.FOLLOW_SESSION_PARAMETER
, which uses the converter configured in the server.NanoarrowUsage.DISABLE_NANOARROW
, which uses arrow converter, overriding the server setting.NanoarrowUsage.ENABLE_NANOARROW
, which uses the nanoarrow converter, overriding the server setting.
- Introduced the
snowflake.connector.cursor.NANOARROW_USAGE
module variable to allow switching between the nanoarrow converter and the arrow converter. It works in conjunction with thesnowflake.connector.cursor.NanoarrowUsage
enum. - The newly-introduced environment variable, enum, and module variable are temporary. They will be removed in a future release when switch from arrow to nanoarrow for data conversion is complete.
Release
-
v3.2.1(September 26,2023)
- Fixed a bug where url port and path were ignored in private link oscp retry.
- Added thread safety in telemetry when instantiating multiple connections concurrently.
- Bumped platformdirs dependency from >=2.6.0,<3.9.0 to >=2.6.0,<4.0.0.0 and made necessary changes to allow this.
- Removed the deprecation warning from the vendored urllib3 about urllib3.contrib.pyopenssl deprecation.
- Improved robustness in handling authentication response.
v3.3.0b1
- Version 3.3.0b1 is the snowflake-connector-python based on apache nanoarrow project, which
reduces the package size as well as removes a hard dependency on a specific version of pyarrow.
This version is built on top of v3.2.0, and it includes the following nanoarrow related improvements:- Updated arrow-nanoarrow dependency which improved error handling.
- Aligned error experience of handling corrupted arrow data with the GA versions.