Releases: snowflakedb/snowflake-connector-python
Releases · snowflakedb/snowflake-connector-python
3.12.3
3.12.2
- v3.12.2(September 11,2024)
- Improved error handling for asynchronous queries, providing more detailed and informative error messages when an async query fails.
- Improved inference of top-level domains for accounts specifying a region in China, now defaulting to snowflakecomputing.cn.
- Improved implementation of the
snowflake.connector.util_text.random_string
to reduce the likelihood of collisions. - Updated the log level for OCSP fail-open warning messages from ERROR to WARNING.
3.12.1
- v3.12.1(August 20,2024)
- Fixed a bug that logged the session token when renewing a session.
- Fixed a bug where disabling client telemetry did not work.
- Fixed a bug where passing
login_timeout
as a string raised aTypeError
during the login retry step. - Use
pathlib
instead ofos
for default config file location resolution. - Removed upper
cryptogaphy
version pin. - Removed reference to script
snowflake-export-certs
(its backing module was already removed long ago) - Enhanced retry mechanism for handling transient network failures during query result polling when no server response is received.
3.12.0
- 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
-
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/
.
- Added support for
3.10.1
-
v3.10.1(May 21, 2024)
- Removed an incorrect error log message that could occur during arrow data conversion.
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