Go Snowflake Driver release notes for 2024¶
This article contains the release notes for the Go Snowflake Driver, including the following when applicable:
- Behavior changes
- New features
- Customer-facing bug fixes
Snowflake uses semantic versioning for Go Snowflake Driver updates.
See Go Snowflake Driver for documentation.
Version 1.12.1 (December 05, 2024)¶
New features and updates¶
- Introduced
golangci-lintand fixed some errors found by this tool. - Introduced S3 logging configuration.
- Changed
RaisePutGetErrorto betrueby default. - Implemented the
DriverContextinterface to reduce the time for creating new connections and to use context when connections are created usingdb.Conn(ctx). - Introduced the
disableOCSPChecksconfiguration option, which replacesinsecureMode. DeprecatedinsecureMode. - Provided the ability to set custom OCSP cache server URLs.
Bug fixes¶
- Propagated context to authentication processes.
- HTTP headers used to communicate with Azure are now case insensitive.
- Use correct length of IV for GCM encryption.
Version 1.12.0 (October 30, 2024)¶
New features and updates¶
- Added support for Golang 1.23, dropped support for Golang 1.20.
- Added support for configuring connections using
connections.toml. - Bumped logrus to version 1.9.3.
- Extended logging when querying with
QueryArrowStream.
Bug fixes¶
- Fixed an issue with duplicate requestIDs and requestGUIDs on session renewal.
- Fixed the proxy configuration for Azure.
- Removed the
*.okta.comnative Okta authenticator URL restriction. - Fixed the
filestransferexample that failed with an incorrect file path.
Version 1.11.2 (October 03, 2024)¶
New features and updates¶
- Changed
GetFileToStreamto an exported member of theSnowflakeFileTransferOptionsstructso GET operations can read files using streams to reduce memory usage.
Bug fixes¶
- Fixed error handling while getting accelerated configurations from S3 bucket.
Version 1.11.1 (August 29, 2024)¶
New features and updates¶
- Added support for downloading files into an in-memory stream when using the GET command.
- Added context propagation to
snowflakeFileTransferAgentto support cancel for file transfer process.
Bug fixes¶
- Removed context propagation in
snowflakeConn, which is used only for dialing purposes. - Prevent panic in the
arrayToStringmethod for Golang slices. - Prevent panic in the
decodeChunkmethod when a download is canceled.
Version 1.11.0 (July 31, 2024)¶
New features and updates¶
- Added support for Go 1.22 and dropped support for Go 1.19.
- Adjusted driver configuration for China deployments.
- Added the ability to bind structured types in queries.
- Added support for using a passcode with MFA token caching enabled.
- Added support for setting session variables in DSN.
- Provided a simpler solution to define structured objects using tags.
- Provided a mechanism to wrap each goroutine in custom code.
Bug fixes¶
- Fixed an issue with handling session expiration when executing long-running queries.
- Fixed an issue OCSP failures when OCSP cache is disabled.
- Fixed an issue with reading arrow batches that contained integer columns whose size is smaller than 64b.
Version 1.10.1 (May 29, 2024)¶
New features and updates¶
- Upgraded AWS SDK dependencies.
- Added automatic password masking in logs.
- Added the
DisableSamlURLCheckparameter to disable SAML URL checks. - Added support for binding semi-structured types.
- Decreased the number of retries to OCSP.
- Added the
OcspMaxRetryCountandOcspResponderTimeoutvariables to define the OCSP maximum retry count and timeout, respectively.
Bug fixes¶
- Fixed an issue with exposed objects in Arrow batches mode.
- Fixed an issue with extracting account names when using key-pair authentication.
Version 1.10.0 (May 8, 2024)¶
New features and updates¶
- Implemented support for structured types (structured objects, arrays, and maps).
- Added an option to skip driver registration during startup.
- Added the
SECURITY.mdfile so customers can review Snowflake’s security policy. - Added the ability to set custom logger fields.
Bug fixes¶
- Fixed an issue with closing the error channel twice when using async mode.
- Fixed a race condition when accessing temporal credentials.
Version 1.9.0 (March 28, 2024)¶
New features and updates¶
- Upgraded to Arrow version 15.
- Added support for the
WithHigherPrecisioncontext in Arrow batches mode. - Added date and time converter from the Snowflake format to the Golang format.
- Added a context that replaces UTF-8 characters in Arrow responses.
Bug fixes¶
- Fixed an issue with handling unavailable Amazon S3 accelerated configuration when transferring files.
- Fixed an issue with dividing big numbers in Arrow mode.
- Fixed a data racing issue during logging initialization.
- Fixed an issue where results were not downloaded when the first batch was missing in a response.
- Fixed an issue with the backoff retry period for non-authenticated requests.
- Fixed an issue where zombie DBus processes were not terminated when a program ended.
Version 1.8.0 (February 21, 2024)¶
New features and updates¶
- Added support for multiple SAML integrations.
- Added support for second, millisecond, and microsecond precision for arrow batch timestamps.
Bug fixes¶
- Fixed an issue with
WithFetchResultByIDby checking for thequeryInProgressAsyncCoderesponse code when fetching results. - Fixed an issue where OKTA authentication failed when receiving an HTTP 429 error.
- Fixed an issue where the driver incorrectly returned an error for empty arrow batches.
Version 1.7.2 (January 17, 2024)¶
New features and updates¶
- Added support for Go version 1.21.
- Upgraded the
arrowlibrary to version v14. - Updated the
jose2goandcryptodependencies. - Allow clients to set the QUERY_TAG parameter via context.
- Standardized using the same
http.Transportfor all cloud providers. - Added an example showing how to insert data into VARIANT and OBJECT columns using variable binding.
Bug fixes¶
-
Fixed the following issues relating to error handling:
- The driver now propagates errors when file upload errors occur.
- The driver now propagates errors that occur during chunk downloading.
- The driver does not start chunk downloading when an error occurs with the first chunk download.
-
Fixed an issue where the driver tried to read an empty chunk, when
arrow_batchesmode is enabled. -
Removed retry attempts for HTTP 400 and 405 statuses.
-
Fixed an issue with unexpected errors that occurred during S3 HEAD calls.
-
Fixed the GET example in documentation.