Go Snowflake Driver release notes for 2026¶
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 2.0.1 (Apr 08, 2026)¶
Bug fixes¶
Reduced the default
CrlDownloadMaxSizesetting from 200 MB to 20 MB to prevent potential out-of-memory errors.Fixed an issue where parameter values could change across connections in the same connection pool.
Fixed Azure multi-part file uploads to properly populate the blob content-MD5 property.
Fixed 403 errors from Google Cloud Storage PUT queries on versioned stages.
Fixed the query context cache not being updated for failed queries, which could result in stale session data.
Improved connection handling performance by optimizing parameter synchronization.
Internal changes¶
Moved configuration to a dedicated internal package.
Modernized Go syntax idioms throughout the codebase.
Added libc family, version, and dynamic linking marker to client environment telemetry.
Updated dependencies to address security vulnerabilities:
golang.org/x/cryptofrom v0.41.0 to v0.46.0golang.org/x/netfrom v0.43.0 to v0.48.0golang.org/x/oauth2from v0.30.0 to v0.34.0golang.org/x/sysfrom v0.35.0 to v0.40.0golang.org/x/modfrom v0.27.0 to v0.30.0golang.org/x/syncfrom v0.16.0 to v0.19.0golang.org/x/termfrom v0.34.0 to v0.38.0golang.org/x/textfrom v0.28.0 to v0.32.0golang.org/x/toolsfrom v0.36.0 to v0.39.0google.golang.org/grpcfrom v1.73.0 to v1.79.3google.golang.org/protobuffrom v1.36.6 to v1.36.10OpenTelemetry packages from v1.37.0 to v1.40.0
Removed pointer indirection from query context cache in
snowflakeConn.
Version 1.9.1 (Apr 08, 2026)¶
New features and updates¶
Added support for Go 1.26 and dropped support for Go 1.23.
Bug fixes¶
Fixed minicore crashes (SIGFPE) on fully statically linked Linux binaries by detecting static linking via ELF PT_INTERP inspection and skipping
dlopengracefully.
Internal changes¶
Added libc family, version, and dynamic linking marker to client environment telemetry.
Version 2.0.0 (Mar 03, 2026)¶
BCR (Behavior Change Release) changes¶
Removed
RaisePutGetErrorfromSnowflakeFileTransferOptionsto ensure errors are raised for PUT/GET operations.Removed
GetFileToStreamfromSnowflakeFileTransferOptions. UseWithFileGetStreamto automatically enable file streaming for GET operations.Removed
WithOriginalTimestamp. UseWithArrowBatchesTimestampOption(UseOriginalTimestamp)instead.Removed the
ClientIPfield from theConfigstruct. This field was never used and is not needed for any functionality.Removed the
InsecureModefield fromConfigstruct. UseDisableOCSPChecksinstead.Removed the
DisableTelemetryfield from theConfigstruct. Use theCLIENT_TELEMETRY_ENABLEDsession parameter instead.Removed the stream chunk downloader. Use the default downloader instead.
Removed
SnowflakeTransport. UseConfig.Transporter, or simply register your own TLS configuration withRegisterTLSConfigif you just need a custom root certificates set.Renamed
WithFileStreamtoWithFilePutStreamfor consistency.Renamed the
KeepSessionAlivefield in theConfigstruct toServerSessionKeepAlivefor consistency with other drivers.The
Arrayfunction now returns an error for unsupported types.WithMultiStatementno longer returns an error.Combined
WithMapValuesNullableandWithArrayValuesNullableinto the singleWithEmbeddedValuesNullableoption.Hid the streaming chunk downloader. It will be removed completely in a future release.
The maximum number of chunk download goroutines is now configured with the
CLIENT_PREFETCH_THREADSsession parameter.Fixed a typo in the
GOSNOWFLAKE_SKIP_REGISTRATIONenvironment variable.Unexported
MfaTokenandIdToken.Arrow batches changes:
Arrow batches have been extracted to a separate package, which should significantly reduce the compilation size for those who don’t need arrow batches (~34MB -> ~18MB).
Removed
GetArrowBatchesfromSnowflakeRowsandSnowflakeResult. Usearrowbatches.GetArrowBatches(rows.(SnowflakeRows))instead.Migrated the following functions:
sf.WithArrowBatchesTimestampOptiontoarrowbatches.WithTimestampOptionsf.WithArrowBatchesUtf8Validationtoarrowbatches.WithUtf8Validationsf.ArrowSnowflakeTimestampToTimetoarrowbatches.ArrowSnowflakeTimestampToTime
Logging changes:
Removed the Logrus logger and migrated to slog.
Simplified the
SFLoggerinterface.Added the
SFSlogLoggerinterface for setting a custom slog handler.
New features and updates¶
Added support for Go 1.26, and dropped support for Go 1.23.
Added support for FIPS-only mode.
Bug fixes¶
Added a panic recovery block for stage file upload and download operations.
Fixed a WIF metadata request from an Azure container that manifested as an HTTP 400 error.
Fixed a SAML authentication port validation bypass in
isPrefixEqualwhere the second URL’s port was never checked.Fixed a race condition in the OCSP cache clearer.
The
context.Contextquery is now propagated to cloud storage operations for PUT and GET queries, allowing for better cancellation handling.Fixed minicore crashes (SIGFPE) on fully statically linked Linux binaries by detecting static linking via ELF PT_INTERP inspection and skipping
dlopengracefully.
Version 1.19.0 (Feb 03, 2026)¶
New features and updates¶
Exposed
tokenFilePathin theConfigstruct, in addition to the existing DSN option.tokenFilePathis now read for every new connection, not only once at driver startup.Added support for identity impersonation when using workload identity federation.
Added the ability to disable minicore from loading at compile time using the
-tags minicore_disabledparameter.
Bug fixes¶
Fixed an issue with getting files from an unencrypted stage.
Fixed the minicore file name gathering in client environment.
Fixed path escaping for GCS URLs that manifested in 403 responses from GCS when a file or directory contained spaces.
Fixed leaking file descriptors when uploading files to stages (especially in GCS).