ODBC Driver release notes for 2023

This article contains the release notes for the ODBC Driver, including the following when applicable:

  • Behavior changes

  • New features

  • Customer-facing bug fixes

Snowflake uses semantic versioning for ODBC Driver updates.

Version 3.1.4 (December 07, 2023)

New features and updates

  • None.

Bug fixes

  • Added the BROWSER_RESPONSE_TIMEOUT connection parameter to fix an issue with external browser authentication.

  • Added the allowEmptyProxy connection parameter to fix an issue where an empty proxy setting could overwrite the configuration setting.

  • Fixed an issue that caused intermittent crashes when sending telemetry data.

  • Removed CRT functions banned by Microsoft due to security concerns.

Version 3.1.3 (November 13, 2023)

New features and updates

  • Updated the following libraries:

    • openssl from 3.0.9 to 3.0.11

    • curl from 8.1.2 to 8.4.0

  • Updated SQLGetStmtAttr(SQL_SF_STMT_ATTR_LAST_QUERY_ID) to return the query id for failed query.

  • Added support for managing the frequency of retries for unsuccessful connection requests:

    • Added the retryTimeout parameter with a default value of 300 seconds.

    • Updated how the driver uses the LOGIN_TIMEOUT and maxHttpRetries connection parameters and changed the default value of LOGIN_TIMEOUT to 300 seconds.

Bug fixes

  • Fixed an issue where the driver failed when fetching query results due to a timeout in OSCP validation.

  • Fixed an issue where PUT and GET commands failed when a file path contained non-ASCII characters.

  • Fixed an issue where a PUT command on GCP overwrote existing files when overwrite=true is not specified.

  • Removed CRT functions banned by Microsoft due to security concerns.

Version 3.1.1 (September 29, 2023)

New features and updates

  • Updated the cacert bundle used for SSL connections.

Bug fixes

  • Improved error messages related to PUT/GET command failures to provide specific errors instead of “unknown exception”.

  • Fixed an issue where the ODBC driver would continue retrying chunk downloads even after the application canceled the related query.

  • Fixed an issue where using SQLGetData() with the ARROW result format could decrease performance.

  • Fixed an issue where credentials were shown in error messages.

  • Fixed an issue with OCSP fallback requests in AWS PrivateLink environments.

  • Fixed an issue where the driver did not use the entire OCSP URL in the certificate when performing OCSP validation.

Version 3.1.0 (August 23, 2023)

Behavior Change Release (BCR) Changes

  • Fixed an issue where, under certain conditions, the driver could retry HTTP requests indefinitely.

    Previously, during an outage the driver would retry the failed HTTP call continuously until the request succeeds or until someone force kills the operation.

    With this change, the driver disables infinite HTTP retries originating from execute and executeQuery calls. Now, the driver limits HTTP retries to seven, by default. Customers can set the maxHttpRetries connection parameter to customize the maximum number of retries. Customers can set maxHttpRetries=0 to remove the retry limit, but doing so runs the risk of the driver infinitely retrying failed HTTP calls.

  • To improve performance, the SQLExecDirect() function no longer unnecessarily validates parameter bindings for a query.

    Previously, the driver sent two requests for each SQLExecDirect() call: a describe request and an execute request. To improve the performance describe request is omitted. With this change the driver won’t validate the parameter bindings needed by the query. If the parameter bindings from the previous query are not cleared using SQLFreeStmt(SQL_RESET_PARAMS), they could be applied to the following query incorrectly and cause issues.

New features and updates

  • Added the CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED session parameter to enable and disable out-of-band (OOB) telemetry support.

Bug fixes

  • Fixed an issue where the driver might fail when getting a query result for mulit-statement queries that begin with new statement types, such as CALL.

  • Fixed an issue that could cause the SQLColAttribute() function to return an incorrect value of SQL_DESC_OCTET_LENGTH on VARCHAR columns, which could truncate data.

  • Fixed an issue where the driver failed to download query results by incorrectly sending out-of-band (OOB) telemetry timeouts when using private links.

Version 3.0.2 (July 27, 2023)

New features and updates

  • Updated the following software libraries:

    • util-linux to version 2.39.0.

    • curl to version 8.1.2.

  • Enhanced hybrid transactional/analytical processing (HTAP).

  • Set the LogLevel default to OFF for ODBC clients running on Windows platforms.

Bug fixes

  • Fixed an issue that cause intermittent crashes when sending telemetry.

Version 3.0.1 (July 06, 2023)

BCR (Behavior Change Release) changes

Starting with version 3.0.1 of the ODBC driver:

  • Upgraded from openssl 1.1.1 to openssl 3.0.9. Consequently, private keys generated using the deprecated encryption algorithms in previous openssl library version no longer work. When you update to ODBC 3.0.1, you must regenerate your private key file used for key pair authentication.

  • Dropped support for CentOS 6 and MacOS 10.14 and 10.15.

New features and updates

  • Updated the following software libraries:

    • openssl to version 3.0.9.

    • ICU to version 71.1.0.

  • Created a single, unified release package architecture that supports both x86_64 and arm64 Mac systems.

Bug fixes

  • Fixed an issue where the driver crashed intermittently when CLIENT_SESSION_KEEP_ALIVE is set to true on Windows systems.

Version 2.25.12 (June 06, 2023)

New features and updates

None.

Bug fixes

  • Fixed an issue where very large requests with large amounts of parameter bindings could crash an application by exceeding the logging size.

  • Fixed an issue with OCSP validation.

  • Fixed an issue that could inadvertently reveal a proxy password in the Snowflake log file.

Version 2.25.11 (April 20, 2023)

New features and updates

  • Updated the libcurl library from version 7.87.0 to 7.88.1.

  • Updated the zlib library from version 1.2.11 to 1.2.13.

Bug fixes

  • Fixed an invalid URL issue that could occur during OCSP validation when making connections.

  • Fixed an issue where connections would fail when credentials were supplied when using proxies that do not need them.

  • Removed deprecated openssl function calls.

  • Fixed an issue where double type parameter bindings could lose precision.

  • Removed unsafe function calls banned by Microsoft.

Version 2.25.10 (March 22, 2023)

New features and updates

  • Updated the libcurl library from version 7.84.0 to 7.87.0.

Bug fixes

  • Fixed an issue the prevented clients from creating a file DSN (data source name).

  • Fixed an issue where the PUT command failed to replicated data.

  • Fixed an issue a Macintosh application running an the ARM64 architecture would fail to connect to Snowflake using the native Apple Silicon ODBC driver.

Version 2.25.9 (February 28, 2023)

New features and updates

None.

Bug fixes

  • Added support for the GEOMETRY data type in the SnowflakeType enum to fix an issue that occurred when calling the SQLColumns() function to return metadata that included GEOMETRY data.

  • Fixed an issue where timestamp data was wrongly returned as NULL in some cases.

Version 2.25.8 (February 8, 2023)

New features and updates

None.

Bug fixes

  • Fixed an issue where an array binding INSERT statement failed when the schema is not defined in the session.

  • Fixed an issue that occasionally caused the ODBC driver to crash when executing GET and PUT queries.

  • Fixed an issue where the ODBC driver sent SIGPIPE signals after the session was idle for around 120 seconds.

  • Fixed an issue where using Okta authentication failed when receiving an HTTP 429 error.