Node.js Driver release notes for 2026

This article contains the release notes for the Node.js Driver, including the following when applicable:

  • Behavior changes
  • New features
  • Customer-facing bug fixes

Snowflake uses semantic versioning for Node.js Driver updates.

See Node.js Driver for documentation.

版本 2.4.0(2026 年 4 月 7 日)

新功能和更新

  • Added the browserRedirectPort connection option to customize the port of the local server that receives the EXTERNALBROWSER authentication callback.
  • Bumped @aws-sdk/* dependencies to address a fast-xml-parser vulnerability.
  • 改进了保持活动状态 HTTP 代理,新增 30 秒空闲套接超时机制,可在服务器关闭连接前主动丢弃过期连接,从而防止套接字挂起 ECONNRESET 错误。

错误修复

  • 修复了在使用 EXTERNALBROWSER 或 OAUTH_AUTHORIZATION_CODE 身份验证器时,连接池会为每个池化连接重复触发浏览器身份验证提示的问题。现在,第一个连接会在后续池连接启动之前完成身份验证并缓存令牌。
  • 修复了由于格式错误的请求而导致会话令牌续订失败的问题,该问题会导致长时间运行的连接断开连接,而不是刷新过期的会话令牌。
  • 修复了查询上下文缓存未在查询失败时更新的问题,该问题可能导致后续查询落到不同 GS 节点时仍使用过期缓存。

版本 2.3.6(2026 年 3 月 25 日)

新功能和更新

  • Added support for every authenticator type (including external browser and Okta) in connect(), matching connectAsync().
  • Removed the @google-cloud/storage dependency. GCS transfers now use the JSON API directly. The forceGCPUseDownscopedCredential connection option has been removed as it is no longer needed.
  • Updated the default jsonColumnVariantParser to fall back to eval-based parsing for non-JSON-compliant variant values (such as undefined, NaN, and Infinity), restoring pre-2.3.5 behavior while keeping JSON.parse as the primary parser.

错误修复

  • Fixed the OAUTH_AUTHORIZATION_CODE authenticator not honoring the openExternalBrowserCallback connection option.
  • Fixed createConnection() and createPool() types to accept no arguments, matching the runtime behavior of loading configuration from connections.toml.
  • Fixed the account field in the ConnectionOptions type to be optional, since it can be derived from accessUrl or host.
  • 修复了 SSO URL 请求返回服务器端错误时,外部浏览器 SSO 身份验证崩溃的问题。

版本 2.3.5(2026 年 3 月 17 日)

新功能和更新

  • Added the ability to skip token file permission checks by using the SF_SKIP_TOKEN_FILE_PERMISSIONS_VERIFICATION environment variable.
  • 在引擎中添加了 Node 18+,这是自 2.x 版本以来官方支持的最低版本。
  • Added the PLATFORM field to login-request telemetry.
  • 向以前未发现的查询执行路径添加了请求重试。
  • Added the rowStreamHighWaterMark connection option to control how many rows are buffered when streaming query results through statement.streamRows().
  • 添加了将查询结果转换为具有精度损失的 JavaScript 数字。
  • Added snake_case key support when loading connections.toml through createConnection() with no arguments.
  • Exported the normalizeConnectionOptions() utility to convert snake_case connection keys to camelCase, with key aliases and acronym overrides.
  • Added the LIBC_FAMILY and LIBC_VERSION fields to login-request telemetry.
  • Added the crlDownloadMaxSize configuration option to enforce a maximum response size limit when downloading CRL files.
  • 为 CRL 验证增加了 RSASSA-PSS 签名验证支持。
  • 改进了 OAuth 失败时的错误详细信息。
  • Changed the default jsonColumnVariantParser to JSON.parse.
  • 更新了 Linux GNU minicore 二进制文件,以 glibc 2.18 为目标版本,从而实现对旧版 Linux 发行版更广泛的兼容性。

错误修复

  • 修复了使用捆绑包时 OAuth 崩溃问题。

  • Fixed Binds typing to allow readonly arrays.

  • Fixed the connectAsync() method resolving before the connection is completed.

  • Fixed incorrect handling of a callback argument that should be optional in connect() and connectAsync().

  • 修复了以下错误:如果用户在配置中意外设置了账户和主机,则会生成无效的 JWT。

  • 修复了以下错误:当解析包含 Microsoft Identity Platform v2.0 令牌的可选参数的 JSON 媒体类型失败时,会导致 OAuth 客户端凭证流程失败。

  • Fixed disableSamlUrlCheck typing to use the correct casing: disableSamlURLCheck.

  • Fixed getDefaultCacheDir() crashing in environments where no user home directory is configured by falling back to os.tmpdir().

  • Fixed SF_OCSP_RESPONSE_CACHE_DIR not being used directly as the OCSP cache directory.

  • Fixed bugs in noProxy and NO_PROXY handling:

    • The .domain.com wildcard format was not correctly matching the destination host.
    • . was incorrectly matching as any character instead of a literal dot.
    • 部分字符串被错误地匹配了,而不是要求与目标字符串完全匹配。
  • 修复了 CRL ADVISORY 模式以警告级别而非调试级别记录故障。

  • 修复了在缓存的访问令牌过期时,OAuth 授权码重新认证未使用刷新后的访问令牌的问题。

  • 修复了当 IDP 未返回新的刷新令牌时,OAuth 授权码的刷新令牌被从缓存中移除的问题。

  • 修复了当服务器返回格式错误的查询响应时,未处理的 Promise 拒绝问题。

版本 2.3.4(2026 年 2 月 9 日)

新功能和更新

  • 减少了 PUT 操作期间的内存使用量。
  • Added APPLICATION_PATH to login-request telemetry.
  • Added Linux distribution details parsed from /etc/os-release to login-request telemetry.
  • 将 axios 升级到了版本 1.13.4,以解决 axios 拦截器中的一个错误。
  • 将其他依赖项升级到了最新次要版本。

错误修复

  • 修复了 HTTP 请求中不一致的重试行为,并确保正确重试所有可恢复的失败。
  • Fixed invalid oauth scope when role and oauthScope are missing from the connection configuration.
  • Fixed APPLICATION field not being passed from the connection configuration to login-request telemetry.
  • Fixed build errors in bundlers caused by the minicore module.