Skip to content

Latest commit

 

History

History
153 lines (113 loc) · 9.75 KB

File metadata and controls

153 lines (113 loc) · 9.75 KB

Changelog

Upcoming Release

Bug fixes:

  • Fixed default CrlDownloadMaxSize to be 20MB instead of 200MB, as the previous value was set too high and could cause out-of-memory issues (snowflakedb#1735)

Internal changes:

2.0.0

Breaking changes:

  • Removed RaisePutGetError from SnowflakeFileTransferOptions - current behaviour is aligned to always raise errors for PUT/GET operations (snowflakedb#1690).
  • Removed GetFileToStream from SnowflakeFileTransferOptions - using WithFileGetStream automatically enables file streaming for GETs (snowflakedb#1690).
  • Renamed WithFileStream to WithFilePutStream for consistency (snowflakedb#1690).
  • Array function now returns error for unsupported types (snowflakedb#1693).
  • WithMultiStatement does not return error anymore (snowflakedb#1693).
  • WithOriginalTimestamp is removed, use WithArrowBatchesTimestampOption(UseOriginalTimestamp) instead (snowflakedb#1693).
  • WithMapValuesNullable and WithArrayValuesNullable combined into one option WithEmbeddedValuesNullable (snowflakedb#1693).
  • Hid streaming chunk downloader. It will be removed completely in the future (snowflakedb#1696).
  • Maximum number of chunk download goroutines is now configured with CLIENT_PREFETCH_THREADS session parameter (snowflakedb#1696).
  • Fixed typo in GOSNOWFLAKE_SKIP_REGISTRATION env variable (snowflakedb#1696).
  • Removed ClientIP field from Config struct. This field was never used and is not needed for any functionality (snowflakedb#1692).
  • Unexported MfaToken and IdToken (snowflakedb#1692).
  • Removed InsecureMode field from Config struct. Use DisableOCSPChecks instead (snowflakedb#1692).
  • Renamed KeepSessionAlive field in Config struct to ServerSessionKeepAlive to adjust with the remaining drivers (snowflakedb#1692).
  • Removed DisableTelemetry field from Config struct. Use CLIENT_TELEMETRY_ENABLED session parameter instead (snowflakedb#1692).
  • Removed stream chunk downloader. Use a regular, default downloader instead. (snowflakedb#1702).
  • Removed SnowflakeTransport. Use Config.Transporter or simply register your own TLS config with RegisterTLSConfig if you just need a custom root certificates set (snowflakedb#1703).
  • Arrow batches changes (snowflakedb#1706):
    • Arrow batches have been extracted to a separate package. It should significantly drop the compilation size for those who don't need arrow batches (~34MB -> ~18MB).
    • Removed GetArrowBatches from SnowflakeRows and SnowflakeResult. Use arrowbatches.GetArrowBatches(rows.(SnowflakeRows)) instead.
    • Migrated functions:
      • sf.WithArrowBatchesTimestampOption -> arrowbatches.WithTimstampOption
      • sf.WithArrowBatchesUtf8Validation -> arrowbatches.WithUtf8Validation
      • sf.ArrowSnowflakeTimestampToTime -> arrowbatches.ArrowSnowflakeTimestampToTime
  • Logging changes (snowflakedb#1710):
    • Removed Logrus logger and migrated to slog.
    • Simplified SFLogger interface.
    • Added SFSlogLogger interface for setting custom slog handler.

Bug fixes:

  • The query context.Context is now propagated to cloud storage operations for PUT and GET queries, allowing for better cancellation handling (snowflakedb#1690).

New features:

Bug fixes:

  • Added panic recovery block for stage file uploads and downloads operation (snowflakedb#1687).
  • Fixed WIF metadata request from Azure container, manifested with HTTP 400 error (snowflakedb#1701).
  • Fixed SAML authentication port validation bypass in isPrefixEqual where the second URL's port was never checked (snowflakedb#1712).
  • Fixed a race condition in OCSP cache clearer (snowflakedb#1704).
  • The query context.Context is now propagated to cloud storage operations for PUT and GET queries, allowing for better cancellation handling (snowflakedb#1690).
  • Fixed tokenFilePath DSN parameter triggering false validation error claiming both token and tokenFilePath were specified when only tokenFilePath was provided in the DSN string (snowflakedb#1715).
  • Fixed minicore crash (SIGFPE) on fully statically linked Linux binaries by detecting static linking via ELF PT_INTERP inspection and skipping dlopen gracefully (snowflakedb#1721).

Internal changes:

1.19.0

New features:

Bug fixes:

Internal changes:

1.18.1

Bug fixes:

  • Handle HTTP307 & 308 in drivers to achieve better resiliency to backend errors (snowflakedb#1616).
  • Create temp directory only if needed during file transfer (snowflakedb#1647)
  • Fix unnecessary user expansion for file paths (snowflakedb#1646).

Internal changes:

  • Remove spammy "telemetry disabled" log messages (snowflakedb#1638).
  • Introduced shared library (source code) for extended telemetry to identify and prepare testing platform for native rust extensions (snowflakedb#1629)

1.18.0

New features:

Bug fixes:

  • Fixed a data race error in tests caused by platform_detection init() function (snowflakedb#1618)
  • Make secrets detector initialization thread safe and more maintainable (snowflakedb#1621)

Internal changes:

1.17.1

  • Fix unsafe reflection of nil pointer on DECFLOAT func in bind uploader (snowflakedb#1604).
  • Added temporary download files cleanup (snowflakedb#1577)
  • Marked fields as deprecated (snowflakedb#1556)
  • Exposed QueryStatus from SnowflakeResult and SnowflakeRows in GetStatus() function (snowflakedb#1556)
  • Split timeout settings into separate groups based on target service types (snowflakedb#1531)
  • Added small clarification in oauth.go example on token escaping (snowflakedb#1574)
  • Ensured proper permissions for CRL cache directory (snowflakedb#1588)
  • Added CrlDownloadMaxSize to limit the size of CRL downloads (snowflakedb#1588)
  • Added platform telemetry to login requests. Can be disabled with SNOWFLAKE_DISABLE_PLATFORM_DETECTION environment variable (snowflakedb#1601)
  • Bypassed proxy settings for WIF metadata requests (snowflakedb#1593)
  • Fixed a bug where GCP PUT/GET operations would fail when the connection context was cancelled (snowflakedb#1584)
  • Fixed nil pointer dereference while calling long-running queries (snowflakedb#1592) (snowflakedb#1596)
  • Moved keyring-based secure storage manager into separate file to avoid the need to initialize keyring on Linux. (snowflakedb#1595)
  • Enabling official support for RHEL9 by testing and enabling CI/CD checks for Rocky Linux in CICD, (snowflakedb#1597)
  • Improve logging (snowflakedb#1570)

1.17.0

Prior Releases

Release notes available at https://docs.snowflake.com/en/release-notes/clients-drivers/golang