UNPKG

@cloudbase/js-sdk

Version:
336 lines (235 loc) 13.9 kB
# 更新日志 ## [3.6.4] 2026-07-24 - [Fixed] 自定义登录场景下用户通过 `init({ env, auth: { credentials } })` 传入的私钥无法被 `createTicket` 读取的问题:`getSecretInfo()` 此前仅从顶层 `config.credentials` 读取,现同时兼容 `config.auth.credentials`(js-sdk 风格)与顶层 `credentials`(node-sdk 风格)两种传法 - [Fixed] `dealNodeAdapterConfig()` 回填 `config.auth.credentials` 时会被空值覆盖的问题,改为保留用户显式传入的 `credentials`;并修正其兜底值类型(`ICredentialsInfo` 对象,无有效值时为 `undefined`,不再用空字符串) ## [3.6.3] 2026-07-17 - [Changed] `timeout` 默认值区分运行环境:Node.js 环境(云函数/云托管/自建服务器)默认不设置超时(不限制),以适配服务端长耗时请求;Web 等非 Node.js 环境仍默认 15000ms。显式传入 `timeout` 时以传入值为准 - [Changed] `NodeRequest` 未设置 `timeout` 时不再施加超时中断(`download``createAbortController` 均按需启用超时),仅在显式传入 `timeout` 时启用 - [Changed] Auth `updateUser` 不再支持修改密码:传入 `password` / `new_password` 参数将抛出错误,请改用 `resetPasswordForOld`(旧密码修改)、`resetPasswordForEmail`(验证码重置)或 `reauthenticate`(重新认证后改密) - [Changed] `UpdateUserReq` 类型从基础请求中剔除 `password` / `new_password` 字段(标记为 `never`## [3.6.2] 2026-06-29 - [Fixed] `getSecretInfo()` 中顶层 secretId/secretKey 场景下 `sessionToken` 错误地从环境变量 `TENCENTCLOUD_SESSIONTOKEN` 取值,修正为从 config 顶层 `sessionToken` 字段取值 - [Fixed] `getSecretInfo()``config.auth` 场景下 `sessionToken` 错误地从环境变量取值,修正为从 `config.auth.sessionToken` 取值 - [Fixed] `NodeRequest` V3 签名时 `secretId`/`secretKey`/`sessionToken` 取值逻辑修正为同时支持顶层配置和 `config.auth` 配置(`config.auth` 优先级更高) ## [3.6.1] 2026-06-29 - [Fixed] AI 模块:优先使用原生 Web Streams API(Node.js >= 18 / 现代浏览器),避免 `web-streams-polyfill` 在高版本环境中的兼容问题 - [Fixed] 浏览器端 webpack 构建增加 `resolve.fallback: { crypto: false }`,避免引入 Node.js `crypto` 模块的 polyfill - [Changed] `@cloudbase/database` 依赖 `bson` 版本从 `^7.1.1` 降级为 `^6.10.3` - [Changed] `@cloudbase/mysql``database``typescript` devDependency 升级至 `^5.0.0` - [Changed] `@cloudbase/mysql` tsconfig.esm.json 补充 `moduleResolution: "node"` ## [3.6.0] 2026-06-29 - [Fixed] 修复 Node 端构建时 `webpack.DefinePlugin``process.env` 整体替换为静态对象,导致运行时无法读取 `TENCENTCLOUD_SECRETID``TENCENTCLOUD_SECRETKEY``SCF_NAMESPACE` 等环境变量的问题 - [Fixed] `getSecretInfo()` 改为从 `getCloudbaseContext()` 统一取值(而非直接 `getEnv()`),确保 context 中的环境变量优先级正确 - [Fixed] `getCloudbaseContext()` 新增 `CLOUDBASE_APIKEY` 环境变量的采集 - [Fixed] AI 模块:Node.js 适配器非流式场景下 `responseData` 已是 JSON 对象时,跳过 ReadableStream 解析直接返回结果 ## [3.5.4] 2026-06-25 - [Fixed] 修复 Node.js ESM 环境下初始化时 `getWxDefaultAdapter` 返回空对象导致 `useAdapters` 调用 `isMatch()``TypeError: i is not a function` 的问题 - [Fixed] 修复 GATEWAY 模式下文档型数据库集合查询时,后端返回数据缺少 `list` 字段导致 `formatResDocumentData``TypeError: Cannot read properties of undefined (reading 'map')` 的问题 ## [3.5.3] 2026-06-25 - [Added] App 实例新增 `registerHost(host, protocol?)` 方法,一次性设置所有端点(CLOUD_API / GATEWAY),只需传入 host 地址自动拼接路径 - [Added] `cloudbase.app.App` 类型声明补充 `registerHost`、`getEndPointWithKey`、`registerEndPoint`、`registerEndPointWithKey`、`parseCaptcha` 实例方法 - [Added] `ai(options?)` 支持传入 `baseUrl` 参数自定义 AI 服务地址 - [Fixed] AI 模块支持 `registerEndPointWithKey` 后端点动态变更自动生效(`aiBaseUrl` / `aiBotBaseUrl` 改为动态 getter) - [Fixed] MySQL/RDB 模块支持端点动态变更,`registerEndPointWithKey` 后新请求自动使用最新 GATEWAY 地址 - [Fixed] Auth/OAuth 模块支持端点动态变更,`registerEndPointWithKey` 后认证请求自动跟随最新 apiOrigin ## [3.5.2] 2026-06-24 - [Fixed] 修复 Node 服务端(secretId/secretKey 认证)场景下,`CloudbaseRequest.fetch` 因无 `oauthInstance` 导致请求失败的问题,使 RDB 等模块能正确通过底层 `NodeRequest` 的 V3 签名自动换取 access_token ## [3.5.1] 2026-06-23 - [Added] Auth 模块新增 `AuthErrorCode` 数字错误码枚举及 `AuthError.errorCode``retryAfter` 属性 - [Added] `AuthErrorCategory` 新增 `RATE_LIMITED``CAPTCHA_REQUIRED``CAPTCHA_INVALID``MFA_REQUIRED``PRECONDITION_FAILED``VERIFICATION_FAILED` 分类 - [Fixed] Auth `updateUser``verifyOtp` 校验失败时正确返回错误;仅在实际修改时触发 `USER_UPDATED` 事件 - [Fixed] 验证码发送补充 `target: 'USER'` 参数;修复 abort 监听器泄漏、容错解析非 JSON 响应体 ## [3.5.0] 2026-06-23 - [Added] Storage 模块新增 Neo 环境对象存储能力,`app.storage.from(bucketId)` 返回全新对象存储客户端(上传/下载/删除/移动/复制/签名 URL 等) - [Added] `app.storage` 新增 Bucket 管理 API:`listBuckets` / `getBucket` / `createBucket` / `updateBucket` / `deleteBucket` - [Changed] `app.storage.from()` 无参仍返回 `ClassicStorageFileApi`(行为不变);传入 `bucketId` 返回 Neo 对象存储客户端 - [Deprecated] 传统顶层云存储 API(`uploadFile` / `downloadFile` / `deleteFile` 等)标记为废弃,推荐改用 `app.storage.from(bucketId)` 新 API ## [3.4.8] 2026-06-16 - [Fixed] 修复 `getUser``getSession` 在无凭证或 `accessKey` 模式下返回 `user` 统一返回 `null` ## [3.4.7] 2026-06-16 - [Fixed] Auth 模块 `verifyOtp``token` 参数兼容 `number``string` 类型 ## [3.4.6] 2026-06-12 - [Refactor] 重构 Node.js adapter 层,整合微信云开发相关请求逻辑(callWxOpenApi / callWxPayApi / callCompatibleWxOpenApi / wxCallContainerApi) - [Fixed] 修复微信云开发 form-data 请求返回值格式与旧版不一致的问题,正确返回 Buffer 类型响应 - [Changed] request 模块新增 responseType: 'buffer' 支持,兼容二进制响应场景 ## [3.4.5] 2026-06-10 - [Fixed] 服务端 body 为 stream 时设置 duplex: 'half' ## [3.4.4] 2026-06-10 - [Fixed] 服务端增加 `bson` 依赖 ## [3.4.3] 2026-06-10 - [Fixed] 修复 Node.js 环境下调用 downloadFile 报 `window is not defined` 的问题 ## [3.4.2] 2026-06-10 - [Fixed] 修复 bundledDependencies 子包版本号导致 yarn install 时从 registry 查找失败的问题 ## [3.4.1] 2026-06-10 - [Fixed] 修复 database 模块文档查询相关问题 ## [3.4.0] 2026-06-09 - [Changed] 移除 analytics 模块,不再随主包发布 - [Changed] 子模块随主包一起发布,不再单独进行模块独立版本更新 - [Added] 支持 sub-path exports 按需引入(如 `@cloudbase/js-sdk/auth`## [3.3.13] 2026-05-29 - [Fixed] 修复云函数相关问题 ## [3.3.12] 2026-05-28 - [Fixed] 适配 v1/user/me 接口返回字段变化,hasPassword 改用 password === 'SET' 判断 ## [3.3.11] 2026-05-26 - [Fixed] 修复 _getCredentials 中 credentials 为空时访问 scope 属性报错的问题 ## [3.3.10] 2026-05-19 - [Changed] fetch 请求支持 withCredentials 参数控制是否携带鉴权信息 ## [3.3.9] 2026-05-08 - [Changed] endPointMode 默认值更新为 GATEWAY ## [3.3.8] 2026-05-07 - [Added] getUser 支持从 providers 中匹配当前小程序 appId 对应的 open_id ## [3.3.7] 2026-05-06 - [Fixed] getUser 返回用户信息支持 open_id 字段 ## [3.3.6] 2026-04-30 - [Added] 文档型数据库支持批量新增数据 ## [3.3.5] 2026-04-29 - [Added] 添加类型定义 ## [3.3.4] 2026-04-21 - [Added] database where条件支持事务 ## [3.3.3] 2026-04-17 - [Fixed] signUp 修复 phone_number 为空时格式化报错的问题 ## [3.3.2] 2026-04-13 - [Changed] getUser/getCurrentUser 支持 isRefresh 参数控制是否发请求获取最新用户信息,默认每次请求最新数据 ## [3.3.1] 2026-04-13 - [Added] getUser 支持读缓存和读接口数据可选 ## [3.3.0] 2026-04-08 - [Added] database 支持 http api ## [3.2.2] 2026-04-02 - [Added] signInWithOtp 支持 emailRedirectTo ## [3.2.1] 2026-03-24 - [Added] 增加帮助信息 ## [3.2.0] 2026-03-23 - [Added] 小程序手机号授权支持服务商类型小程序 ## [3.1.12] 2026-03-16 - [Fixed] node 模式下请求参数增加 envName ## [3.1.11] 2026-03-16 - [Fixed] node 模式下 v3 签名兼容 headers 为空场景 ## [3.1.9] 2026-03-13 - [Added] 增强类型声明以及错误提示 ## [3.1.8] 2026-03-12 - [Fixed] 增加 storage 类型定义 ## [3.1.7] 2026-03-12 - [Fixed] getVerification 增加 phone_number 参数格式化 ## [3.1.6] 2026-03-12 - [Added] signInWithOtp 增加可选参数 options.shouldCreateUser 控制是否自动注册用户 ## [3.1.5] 2026-03-11 - [Changed] 完善 database 类型定义 - [Added] 异常时增加 requestId 返回 ## [3.1.4] 2026-03-11 - [Fixed] verifyOAuth 返回预设重定向地址 ## [3.1.3] 2026-03-10 - [Fixed] verifyOAuth 兼容 hash 地址 ## [3.1.2] 2026-03-06 - [Fixed] 修复 HBuilderX 找不到 SourceMap 问题 ## [3.1.1] 2026-03-03 - [Changed] 更新微信小程序端adapter ## [3.1.0] 2026-03-03 - [Fixed] 兼容多端 ## [3.0.6] 2026-03-03 - [Fixed] 修复 Node.js 端签名问题 ## [3.0.5] 2026-03-01 - [Added] Node.js 端支持 SecretId 和 SecretKey ## [3.0.4] 2026-02-27 - [Added] 支持 Node.js 端 ## [3.0.3] 2026-02-26 - [Fixed] 修复用户信息nickName获取问题 ## [3.0.2] 2026-02-12 - [Fixed] 修复用户信息role获取问题 ## [3.0.0] 2026-02-10 - [Changed] endPointMode 默认启用 GATEWAY 模式 ## [2.28.4] 2026-05-06 - [Fixed] getUser 返回用户信息支持 open_id 字段 ## [2.28.3] 2026-04-30 - [Added] 文档型数据库支持批量新增数据 ## [2.28.2] 2026-04-29 - [Added] 类型定义 ## [2.28.1] 2026-04-23 - [Added] 海外支持 ## [2.27.5] 2026-04-21 - [Added] database where条件支持事务 ## [2.27.4] 2026-04-17 - [Fixed] signUp 修复 phone_number 为空时格式化报错的问题 ## [2.27.3] 2026-04-13 - [Added] getUser 支持读缓存和读接口数据可选 ## [2.27.2] 2026-04-02 - [Added] signInWithOtp 支持 emailRedirectTo ## [2.27.1] 2026-03-24 - [Added] 增加帮助信息 ## [2.27.0] 2026-03-23 - [Added] 小程序手机号授权支持服务商类型小程序 ## [2.26.2] 2026-03-13 - [Added] 增强类型声明以及错误提示 ## [2.26.1] 2026-03-12 - [Fixed] getVerification 增加 phone_number 参数格式化 ## [2.26.0] 2026-03-12 - [Added] signInWithOtp 增加可选参数 options.shouldCreateUser 控制是否自动注册用户 ## [2.25.11] 2026-03-11 - [Fixed] verifyOAuth 返回预设重定向地址 ## [2.25.10] 2026-03-10 - [Fixed] verifyOAuth 兼容 hash 地址 ## [2.25.9] 2026-03-06 - [Fixed] 修复 HBuilderX 找不到 SourceMap 问题 ## [2.25.8] 2026-03-03 - [Changed] 更新微信小程序端adapter ## [2.25.5] 2026-02-04 - [Fixed] 修复用户信息role获取问题 ## [2.25.4] 2026-02-04 - [Added] encryptlong 兼容多端 ## [2.25.3] 2026-01-28 - [Fixed] GET/HEAD 请求时,将请求体设置为空 - [Fixed] auth\.wsWebSign action 一直走 tcb api 请求 ## [2.25.2] 2026-01-26 - [Added] 新版本 auth api 上线 ## [2.25.1] 2026-01-22 - [Added] 更新 database 依赖版本 ## [2.25.0] 2026-01-22 - [Changed] 构建 CI 发布、Node.js 版本升级至 22、代码优化 ## [2.24.10] 2026‑01‑14 - [Changed] 更新 getDeviceInfo 和错误处理 ## [2.24.9] 2026‑01‑13 - [Changed] 更新数据库依赖至 0.10.0、多认证支持、清理构建文件 ## [2.24.8] 2026‑01‑12 - [Added] 添加混元 AR 图像模型支持 ## [2.24.7 及更早版本] 2025-12-29 至 2026-01-12 -## [1.4.1] 2021-03-08 - [Fixed] 修复上传文件进度获取异常 bug ## [1.4.0] 2020-12-16 - [Added] 新增 analytics 接口 ## [1.3.3] 2020-09-25 - [Changed] 优化 TypeScript 语法提示 - [Fixed] 修复未登录调用数据库报错问题 ## [1.3.2] 2020-09-24 - [Fixed] 微信小程序插件环境获取 appSign 取插件 AppId - [Fixed] storage 满仓情况下写入抛出错误 ## [1.3.1] 2020-09-23 - [Fixed] 兼容微信小程序插件环境 ## [1.3.0] 2020-09-11 - [Changed] 数据库实时推送功能抽离为独立的模块 ## [1.2.5] 2020-09-07 - [Fixed] 修复微信小程序真机环境报错 ## [1.2.3] 2020-09-03 - [Changed] 优化 API 语法提示 ## [1.2.2] 2020-09-01 - [Changed] 优化开发环境的错误信息 ## [1.2.1] 2020-08-26 - [Added] 新增 `Auth.getAuthHeaderAsync` API ## [1.1.4] 2020-08-25 - [Fixed] 修复微信公众号登录 Bug - [Fixed] 修复微信小程序上传文件 Bug ## [1.1.2] 2020-08-24 - [Fixed] 修复小程序无法直接引用 npm 包问题 ## [1.1.1] 2020-08-19 - [Fixed] 修复用户名密码登录bug ## [1.1.0] 2020-08-18 - [Added] 增加 `cloudbase.registerSdkName` API ## [1.0.4] 2020-08-13 - [Fixed] 修复实时推送多环境混淆问题 ## [1.0.3] 2020-08-11 - [Fixed] 修复由 Crypto-JS 引起的打包体积过大问题 ## [1.0.2] 2020-08-10 - [Changed] 优化版本统计信息 ## [1.0.1] 2020-08-05 - [Fixed] `Storage.downloadFile` 可将文件直接下载到本地 ## [1.0.0] 2020-07-31 - [Added] 发布 1.0.0 版本,旧版本 SDK [tcb-js-sdk](https://github.com/TencentCloudBase/tcb-js-sdk) 未来不再增加新功能