2025 年 JDBC Driver 版本说明

本文包含 JDBC Driver 的版本说明,包括以下内容(如果适用):

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 JDBC Driver 更新使用语义版本控制。

有关文档,请参阅 JDBC 驱动程序

Version 3.27.0 (October 6, 2025)

新功能和更新

  • Added retries for HTTP responses 307 and 308 to handle internal IP redirects.

  • PAT creation with the execute method now returns a ResultSet.

  • Bumped netty to 4.1.127.Final to address CVE-2025-58056 and CVE-2025-58057.

  • Added support for Interval Year-Month and Day-Time types in JDBC.

  • Added support for Decfloat types in JDBC.

  • Implemented a new CRL (Certificate Revocation List) checking mechanism.

    Enabling CRLs improves security by checking for revoked certificates during the TLS handshake process. For more information, see the Replacing OCSP with CRL as the method of certificate revocation checking (https://community.snowflake.com/s/article/Replacing-OCSP-with-CRL-as-the-method-of-certificate-revocation-checking) Knowledge Base article.

    This feature is disabled by default. For information on enabling this feature, see Certificate revocation list (CRL) options. We recommend you test this feature in advisory mode before enabling it in production.

错误修复

  • Fixed permission check of the .toml configuration file.

  • Fixed pattern search for file when QUOTED_IDENTIFIERS_IGNORE_CASE is enabled.

Version 3.26.1 (August 29, 2025)

新功能和更新

  • Added support for TLS version 1.3, including the following parameter:

    • MIN_TLS_VERSION specifies the minimum SSL/TLS version to use when initiating a TLS handshake.

    • MAX_TLS_VERSION specifies the maximum SSL/TLS version to use when initiating a TLS handshake.

错误修复

  • Fixed an issue with a NullPointerException when MFA is enabled in Okta and native Okta authentication is used.

  • Fixed an issue with CloseableHttpClient being cached indefinitely.

  • Increased netty to version 4.1.124.Final to address CVE-2025-3823 (https://github.com/netty/netty/security/advisories/GHSA-4v5m-5c5m-5c5m).

Version 3.26.0 (August 13, 2025)

新功能和更新

  • Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms.

    • Added the workloadIdentityProvider connection parameter.

    • Added WORKLOAD_IDENTITY to the values for the authenticator connection parameter.

错误修复

  • Fixed the OAuth Authorization Code's default value for redirect URI removing a trailing / (slash) to be compliant with RFC 6749 Section 3.1.2.

  • Fixed a bug resulting in NullPointerException when using SnowflakeChunkDownloader with connection pooling.

  • Fixed a bug preventing the use of auto-config with connection pooling.

  • Fixed a bug preventing application termination immediately because of telemetry threads.

  • Forced proxy basic authentication for an S3 client.

  • Removed the requirement for SF_ENABLE_EXPERIMENTAL_AUTHENTICATION environment variable in order to use workload identity federation.

  • Fixed array binding for the Date datatype.

版本 3.25.1(2025 年 7 月 21 日)

新功能和更新

  • 添加了 ENABLE_WILDCARDS_IN_SHOW_METADATA_COMMANDS 参数,以在 DatabaseMetaData SHOW ... IN ... 命令中使用模式。

  • 添加了 OWNER_ONLY_STAGE_FILE_PERMISSIONS_ENABLED 参数,该参数强制包含暂存区文件的目录仅具有所有者权限 (0600)。

错误修复

  • 修复了网络重试期间不必要的异常包装。

  • 增加了 TLS 协商期间 protocol_version 错误的重试次数。

  • 修复了默认信任管理器无法扩展 X509ExtendedTrustManager 的问题。

  • 在会话日志中添加了缺失的日志参数。

版本 3.25.0(2025 年 7 月 9 日)

新功能和更新

  • 增加了对主权云的支持,并移除了对工作负载联合身份验证的过时发放者检查。

错误修复

  • 修复了导致 TelemetryThreadPool 无法根据工作负载进行扩展的错误。

  • 修复了传统 OAuth 流程的访问令牌到期处理问题。

  • 移除了 HTTP 响应检查中的过时错误日志。

版本 3.18.1(2025 年 6 月 5 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.17.1(2025 年 6 月 5 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.21.1(2025 年 6 月 4 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.20.1(2025 年 6 月 4 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.22.1(2025 年 6 月 3 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.24.2(2025 年 5 月 31 日)

新功能和更新

  • 无。

错误修复

  • 修复了使用信任管理器的默认 JVM 算法初始化信任管理器时出现的问题。

版本 3.24.1(2025 年 5 月 28 日)

新功能和更新

  • 添加了 HttpHeadersCustomizer 接口,为向 Snowflake JDBC 驱动程序发起的各种请求注入自定义 HTTP 标头提供了一种灵活的方式

  • clientIdclientSecret OAUTH 参数添加了 LOCAL_APPLICATION 默认值。

错误修复

  • 修复了使用 BindUploader 插入时对 04.10.1582(格里高利改革)之前的时间戳进行处理时的问题。

  • 修复了当无法访问缓存文件时写入缓存文件的 NPE 处理问题。

  • 修复了 AWS 的工作负载身份联合请求签名。

版本 3.24.0(2025 年 4 月 30 日)

非公开预览版 (PrPr) 功能

添加了对 AWS、Azure、GCP 和 Kubernetes 平台中工作负载身份联合的支持。

免责声明:

  • 只有将 SF_ENABLE_EXPERIMENTAL_AUTHENTICATION 环境变量设置为 true 时,才能使用此功能。

  • 应仅在非生产数据中使用此功能。

  • 此 PrPr 功能不在支持范围内。但在 PrPr 阶段,产品和工程团队可提供服务。

  • 如需了解参与情况和相关文档,请联系您的客户团队。

新功能和更新

  • 添加了对 PAT、OAuth 2.0 授权代码流、OAuth 2.0 客户端凭据流及 OAuth 令牌缓存的支持。

    • 对于 PAT:为参数身份验证器添加了 PROGRAMMATIC_ACCESS_TOKEN 参数。

    • 对于 OAuth 2.0 授权代码流:

      • 添加了 oauthClientIdoauthClientSecretoauthAuthorizationUrloauthTokenRequestUrloauthScope 参数。

      • 为参数身份验证器添加了 OAUTH_AUTHORIZATION_CODE 参数。

    • 对于 OAuth 2.0 客户端凭据流:

      • 添加了 oauthClientIdoauthClientSecretoauthTokenRequestUrloauthScope 参数。

      • 为参数身份验证器添加了 OAUTH_CLIENT_CREDENTIALS 参数。

    • 对于 OAuth 令牌缓存:需要将用户名传递给驱动程序配置,并且 clientStoreTemporaryCredential 属性不能设置为 false

  • 移除了 joda-timegoogle-http-client 库的依赖项。

错误修复

  • 修复了使用代理时的 OCSP 缓存服务器 URL。

  • 修复了对 TIMESTAMP_LTZ 类型的绑定执行导致其他日期时间类型绑定不正确的问题。

  • 修复了使用 BindUploader 插入时对 04.10.1582(格里高利改革)之前的日期进行处理时的问题。

  • 通过添加 CLIENT_TREAT_TIME_AS_WALL_CLOCK_TIME 参数,修复了将 TIME 类型作为挂钟时间时的处理问题。

版本 3.23.2(2025 年 4 月 3 日)

新功能和更新

错误修复

  • 修复了缓存文件夹无法访问时发生的 null 指针异常。

版本 3.23.1(2025 年 3 月 13 日)

新功能和更新

错误修复

  • 修复了 nimbusds 库缺少依赖项版本声明的问题。

  • 修复了创建用于 Windows 环境中缓存的文件时出现的问题。

  • 修复了以下问题:在GET/PUT 命令执行期间,目标暂存区的客户端加密主密钥在本地进行日志记录时,调试级别的日志记录问题。密钥本身会授予对任何敏感数据的访问权限。有关更多信息,请参阅 CVE-2025-27496 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-q298-375f-5q63)。

  • 修复了在与存储通信期间,优先使用 GCS 凭据而非 Snowflake 凭据的问题。将参数 disableGcsDefaultCredentials 的默认值更改为 true

  • 修复了使用 OKTA 的身份验证过程中使用的重试机制.

版本 3.23.0(2025 年 2 月 27 日)

非公开预览版 (PrPr) 功能

添加了对 PAT、OAuth 2.0 授权代码流、OAuth 2.0 客户端凭据流及 OAuth 令牌缓存的支持(非公开预览版)。

  • 对于 PAT:为参数身份验证器添加了 PROGRAMMATIC_ACCESS_TOKEN 参数。

  • 对于 OAuth 2.0 授权代码流:

    • 添加了 oauthClientIdoauthClientSecretoauthAuthorizationUrloauthTokenRequestUrloauthScope 参数。

    • 为参数身份验证器添加了 OAUTH_AUTHORIZATION_CODE 参数。

  • 对于 OAuth 2.0 客户端凭据流:

    • 添加了 oauthClientIdoauthClientSecretoauthTokenRequestUrloauthScope 参数。

    • 为参数身份验证器添加了 OAUTH_CLIENT_CREDENTIALS 参数。

  • 对于 OAuth 令牌缓存:需要将用户名传递给驱动程序配置,并且 clientStoreTemporaryCredential 属性不能设置为 false

免责声明:

  • 这些功能只能通过将 SF_ENABLE_EXPERIMENTAL_AUTHENTICATION 环境变量设置为 true 来访问。

  • 这些功能仅应在非生产数据中使用。

  • 这些 PrPr 功能不在支持服务的覆盖范围内。但在 PrPr 阶段,产品和工程团队可提供服务。

  • 如需了解参与情况和相关文档,请联系您的客户团队。

新功能和更新

  • 改进了获取查询元数据时的异常消息。

  • 添加了 ENABLE_EXACT_SCHEMA_SEARCH_ENABLED 参数,以在某些 DatabaseMetaData 方法中启用确切架构搜索。

  • 当 DataSource 中的用户名或密码缺失时,添加了更明确的错误消息。

  • 升级了以下依赖项:

    • 将 netty 升级到版本 4.1.118.Final

    • 将 json-smart 升级到版本 2.5.2

    • 将 asm 升级到版本 9.7.1

  • 添加了将 CLIENT_REQUEST_MFA_TOKEN 标志从 string 转换为 boolean 的能力。

  • 添加了为服务器端或客户端(而非同时为两者)设置查询超时的功能。

  • Implemented and improved the file-based credentials cache for Linux, including enhanced token caching.

错误修复

  • 修复了在全局请求配置中设置代理的错误行为。

  • 修复了在日志级别设置为 OFF 时的非空日志。

  • 修复了在 PUT 命令中允许三斜杠文件前缀 (file:///) 的问题。

  • uploadFileCallable 引发的异常现在会传播到主线程,而不是静默失败。

版本 3.22.0(2025 年 1 月 29 日)

新功能和更新

  • 添加了以下连接参数:

    • CLEAR_BATCH_ONLY_AFTER_SUCCESSFUL_EXECUTION 参数,仅在成功执行后清除批次。

    • disableOCSPChecks 参数,以替换已弃用的 insecureMode 参数。

    • IMPLICIT_SERVER_SIDE_QUERY_TIMEOUT 参数,用于设置客户端和服务器上同步查询的超时时间。

  • 向服务器上的超时异步查询添加了 SnowflakeStatement.setAsyncQueryTimeout 方法。

  • 添加了 net.snowflake.jdbc.commons_logging_wrapper java 属性,以配置来自 commons-logging 的处理日志。

错误修复

  • 修复 GCS (Google Cloud Storage) 的 PUT/GET 操作中处理没有协议的端点的错误。

  • 修复了在提取包含结构化类型的结果时过于频繁地调用 toString 的性能问题。

  • 修复了 createArrayOf 不区分大小写的问题。

  • 修复了 downloadStream 可以下载具有相同前缀的不同文件的问题。

  • 修复了当身份验证设置为 EXTERNALBROWSER 并在 Windows 环境中使用时,%PATH% 权限提升的可能性。有关更多信息,请参阅 CVE-2025-24789 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-7hpq-3g6w-pvhf)。

  • 修复了在 Linux 环境中创建的文件权限和所有者的验证问题,当身份验证设置为 EXTERNALBROWSER 或 :codenowrap: USERNAME_PASSWORD_MFA 时,这些文件权限和所有者将用于缓存令牌。有关更多信息,请参阅 CVE-2025-24790 (https://github.com/snowflakedb/snowflake-jdbc/security/advisories/GHSA-33g6-495w-v8j2)。

语言: 中文