Releases: snowflakedb/snowflake-connector-python
Releases · snowflakedb/snowflake-connector-python
3.10.1
3.10.0
-
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
-
v3.9.1(April 22,2024)
- Fixed an issue that caused a HTTP 400 error when connecting to a China endpoint.
3.9.0
-
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.
- Added easy logging configuration so that users can easily generate log file by setup log config in
3.8.1
-
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.
- Reverted the change "Updated
-
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'sSO_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
- Instruct browser to not fetch
- 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.
- Improved
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