2026 年 Node.js Driver 版本说明

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

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 Node.js Driver 更新使用语义版本控制。

有关文档,请参阅 Node.js 驱动程序

版本 2.3.5(2026 年 3 月 17 日)

新功能和更新

  • 添加了通过使用 SF_SKIP_TOKEN_FILE_PERMISSIONS_VERIFICATION 环境变量来跳过令牌文件权限检查的功能。

  • 在引擎中添加了 Node 18+,这是自 2.x 版本以来官方支持的最低版本。

  • PLATFORM 字段添加到了 login-request 遥测。

  • 向以前未发现的查询执行路径添加了请求重试。

  • 添加了 rowStreamHighWaterMark 连接选项,用于控制通过 statement.streamRows() 流式传输查询结果时缓冲的行数。

  • 添加了将查询结果转换为具有精度损失的 JavaScript 数字。

  • 增加了在通过 createConnection() 且不带参数加载 connections.toml 时对 snake_case 键的支持。

  • 导出了 normalizeConnectionOptions() 工具函数,用于将 snake_case(蛇形命名法)的连接配置键转换为 camelCase(驼峰命名法),并支持键别名和特定缩略词的覆盖处理。

  • login-request 遥测中,添加了 LIBC_FAMILYLIBC_VERSION 字段。

  • 添加了 crlDownloadMaxSize 配置选项,用于在下载 CRL 文件时强制执行最大响应大小限制。

  • 为 CRL 验证增加了 RSASSA-PSS 签名验证支持。

  • 改进了 OAuth 失败时的错误详细信息。

  • 将默认的 jsonColumnVariantParser 更改为 JSON.parse

  • 更新了 Linux GNU minicore 二进制文件,以 glibc 2.18 为目标版本,从而实现对旧版 Linux 发行版更广泛的兼容性。

错误修复

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

  • 修复了 Binds 类型,使其允许只读数组。

  • 修复了 connectAsync() 方法在连接完成前就已返回的问题。

  • 修复了 connect()connectAsync() 中应为可选的回调参数处理不正确的问题。

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

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

  • 修复了 disableSamlUrlCheck 的类型,使其使用正确的大小写:disableSamlURLCheck

  • 修复了 getDefaultCacheDir() 在未配置用户主目录的环境中崩溃的问题,现在会回退到 os.tmpdir()

  • 修复了 SF_OCSP_RESPONSE_CACHE_DIR 未被直接用作 OCSP 缓存目录的问题。

  • 修复了 noProxyNO_PROXY 处理中的错误:

    • .domain.com 通配符格式未能正确匹配目标主机。

    • . 被错误地匹配为“任意字符”而非“字面量点号”。

    • 部分字符串被错误地匹配了,而不是要求与目标字符串完全匹配。

  • 修复了 CRL ADVISORY 模式以警告级别而非调试级别记录故障。

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

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

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

版本 2.3.4(2026 年 2 月 9 日)

新功能和更新

  • 减少了 PUT 操作期间的内存使用量。

  • APPLICATION_PATH 添加到了 login-request 遥测。

  • 将从 /etc/os-release 解析的Linux 发行详细信息添加到了 login-request 遥测。

  • 将 axios 升级到了版本 1.13.4,以解决 axios 拦截器中的一个错误。

  • 将其他依赖项升级到了最新次要版本。

错误修复

  • 修复了 HTTP 请求中不一致的重试行为,并确保正确重试所有可恢复的失败。

  • 修复了当连接配置中缺少 roleoauthScope 时,导致的 oauth 范围无效问题。

  • 修复了连接配置中的 APPLICATION 字段未传递到 login-request 遥测的问题。

  • 修复了由 minicore 模块导致的捆绑包构建错误。