UNPKG

minigame-std

Version:

Cross-platform standard library for WeChat minigame and web browsers with unified APIs for crypto, fs, fetch, storage, and more.

567 lines (429 loc) 20.3 kB
# 更新日志 本项目的所有重要更改都将记录在此文件中。 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 ## [2.4.0] - 2026-05-24 ### 新增 - 新增 `path` 模块,提供小游戏平台兼容的 POSIX 路径工具(`basename``dirname``normalize``SEPARATOR`),不依赖 `URL`,可安全在小游戏环境使用 - `platform.isMiniGameHarmonyPC`:新增鸿蒙 PC 平台检测 ### 变更 - 移除 `@std/path` 运行时依赖,改用内置 `path` 模块实现,解决小游戏平台 `URL` 未定义导致的兼容问题 - 升级 `@happy-ts/fetch-t``^1.10.0` ## [2.3.1] - 2026-05-24 ### 修复 - 修复 `fetchT` 在小游戏平台传入带 `byteOffset``BufferSource`(如 `Uint8Array` 子视图)作为 `body` 时,数据未正确截取的问题 ## [2.3.0] - 2026-05-22 ### 新增 - `fetchT``body` 参数现在支持直接传入对象(`WechatMinigame.IAnyObject`),Web 平台自动 `JSON.stringify` 并设置 `Content-Type: application/json`,小游戏平台直接作为 `data` 传递 - `fetchT``connectSocket``fs.downloadFile``fs.uploadFile` 统一使用 `headers``Record<string, string>`)传递请求头,小游戏平台自动映射为 `header` ### 变更 - **⚠️ BREAKING**`UnionFetchInit` 不再包含 `data``header` 属性,请迁移到 `body``headers` - **⚠️ BREAKING**`SocketOptions` 不再包含 `header` 属性,请迁移到 `headers` - **⚠️ BREAKING**`DownloadFileOptions``UploadFileOptions` 不再包含 `header` 属性,请迁移到 `headers` - **⚠️ BREAKING**`MinaFetchInit``DownloadFileOptions``UploadFileOptions` 不再作为公共类型导出 - 内部平台检测从 `isMinaEnv()` 函数改为 `IS_MINA` 常量,对下游 bundler tree-shaking 更友好 ## [2.2.0] - 2026-05-20 ### 新增 - `audio.playWebAudioFromUrl`:支持从远程 URL 下载音频并通过 WebAudio 解码播放 - `video.createVideoFrameSource` / `video.isVideoFrameSourceSupported`:新增视频帧源 API,支持游戏渲染循环获取视频帧并上传到 RenderTexture/WebGL - `video.createVideoFrameSourceFromFile`:支持从本地文件创建视频帧源 - `event.addShowListener` / `event.addHideListener`:新增游戏回到前台、切到后台事件监听;Web 平台 `addShowListener` 会返回当前 URL query ### 变更 - 重命名视频帧源创建选项字段,使 API 语义更贴近 URL / 文件统一来源 - 升级依赖版本 ### 修复 - 修复 `minigame-test` 构建中 `inlineDynamicImports` 弃用警告,改用 `codeSplitting: false` 保持单文件输出 ### 测试 -`audio.playWebAudioFromUrl``VideoFrameSource`、前后台事件监听补充小游戏侧测试 - 调整小游戏测试以兼容微信开发者工具中的视频和事件行为差异 ## [2.1.2] - 2026-05-12 ### 性能优化 - 为模块顶层调用全面添加 `/*#__PURE__*/` 注解,配合更激进的 treeshake 配置后,下游 bundler 可按需消除未使用的顶层副作用,进一步缩小产物体积 ### 变更 - 收紧 Rollup treeshake 选项:`moduleSideEffects: false` + `propertyReadSideEffects: false`,并在 cjs/esm 输出中关闭 `topLevelVar`,使 PURE 注解对 `const` 顶层声明持续生效 - 升级依赖版本(vitest 4.1.5、eslint 10.3.0、rollup 4.60.3、typescript 6.0.3、typescript-eslint 8.59.2、vite 8.0.11、minigame-api-typings 3.8.20、rsa-oaep-encryption 1.2.1 等),并适配 pnpm 11 ### 修复 - 修复 pnpm 11 下 `pnpm run docs` 因新增内置子命令冲突而无法分发到 workspace 的问题(root 脚本显式补 `run` 关键字) ### 风格 - 将仓库内所有 `/*@__PURE__*/` 统一为 `/*#__PURE__*/` 风格,与 Rollup/Vite/Terser/SWC 社区惯例一致 ### 文档 - `tsconfig.base.json``$schema` URL 由 `http` 改为 `https` -`CODEBUDDY.md` 重命名为 `AGENTS.md`,对所有 AI agent 通用,并刷新 PURE 注解、treeshake 配置、pnpm 11 注意事项、release 流程、单测命令等指引 ## [2.1.1] - 2026-03-05 ### 新增 - `decodeUtf8` 新增 `TextDecoderOptions` 参数,支持 `fatal``ignoreBOM` 选项 ### 变更 - 构建前置步骤 (`prebuild`) 增加 lint 检查,确保构建前通过类型检查和代码规范检查 - 升级依赖版本(eslint v10、rollup、typedoc、typescript-eslint、happy-codec、minigame-api-typings 等) ### 修复 - 修复 `mina_utf8.ts``decodeUtf8` 回退到 Web 实现时未传递 `options` 参数的问题 - 修复 `asyncResultify` 对小游戏平台返回非 void 非 PromiseLike 值的 API 的兼容性 ### 测试 - 新增 `decodeUtf8``TextDecoderOptions` 测试用例(Web 平台、mina 模拟、mina-wx 模拟) - 更新 `asyncResultify` 测试用例以匹配新的容错行为 ## [2.1.0] - 2026-02-11 ### 新增 - `fs.readFile``fs.readFileSync``fs.stat``fs.statSync``fs.readDir``fs.readDirSync` 支持读取代码包文件(不以 `./``../` 开头的相对路径) - 新增 `validateReadablePath` 函数用于验证只读操作的路径 - `fs.stat` 递归结果按路径排序,确保跨平台一致性 - Web 平台 UTF-8 编解码新增 `TextEncoder`/`TextDecoder` 不可用时的回退实现 - `getRandomValues` 新增正整数验证 ### 变更 - 重构 codec 模块,将 base64、hex、bytestring、utf8 编解码实现替换为 `happy-codec`- Web 平台 UTF-8 编解码回退到 `happy-codec` 实现(保留微信小游戏平台适配器) - 提取路径类型验证逻辑到 `validatePathType` 辅助函数 - `decodeUtf8` 参数类型从 `AllowSharedBufferSource` 改为 `BufferSource` - 改进 `bufferSourceToBytes``bufferSourceToAb` 的错误消息,使其更清晰 - `validateString``validatePositiveInteger``name` 参数改为必选,改进错误消息的可区分性 - `validatePositiveInteger` 细化错误类型:类型错误抛出 `TypeError`,值错误抛出 `Error` - 优化 `web_clipboard` 模块代码结构 - 优化 `web_socket` 模块的 `send` 错误处理 - 移除 `package.json` 中的 `predocs` 脚本 - 升级依赖版本 ### 修复 - 修复 Android 子项目中递归 stat 的路径规范化问题 - 修复 `web_storage``getItem` 在 key 不存在时的错误消息 - 修复部分文件中缺少 `.ts` 扩展名的相对导入路径 - 修复 `web_video` 进度事件中 `video.duration` 为零时的除零问题 - 移除 `mina_fs_async` 中的重复 region 注释 ### 文档 - 更新 codec 模块文档以反映 `happy-codec` 迁移 - 修正 README 中 codec 返回类型描述(`ArrayBuffer``Uint8Array`- 改进 codec 和 defines 模块的 JSDoc 注释 - 移除 typedoc.json 中不必要的 exclude 选项 ### 测试 - 新增代码包路径的异步和同步测试用例 - 新增 `normalizeStats` 排序行为测试用例 - 新增 UTF-8 codec 基准测试(对比 wx 原生与纯 JS 实现) - 修复 fs 测试断言和格式问题 ## [2.0.2] - 2026-01-29 ### 文档 - 为各子模块文件添加 `@module` JSDoc 注释 -`fs.stat` 方法的所有重载签名添加 JSDoc 注释 ### 变更 - 移除 prepublishOnly 中的文件复制步骤 ## [2.0.1] - 2026-01-29 ### 文档 - 为所有导出模块添加 JSDoc 文档注释 ### 变更 - CI 发布流程添加复制共享文件的步骤 ## [2.0.0] - 2026-01-29 ### 破坏性变更 - `fs.readFile` 返回类型从 `ArrayBuffer` 改为 `Uint8Array<ArrayBuffer>` - SHA 系列函数返回类型从 `Promise<string>` 改为 `AsyncIOResult<string>` - HMAC 系列函数返回类型改为 `AsyncIOResult` - RSA 加密函数返回类型改为 `AsyncIOResult` - 重命名 `promisifyWithResult``asyncResultify` - 重命名 codec 模块函数以保持命名一致性 - 简化 base64 API 为统一的 `encodeBase64`/`decodeBase64` 函数 - 移除 `tryDOMAsyncOp`/`tryDOMSyncOp`,使用 `tryGeneralAsyncOp`/`tryResult` 代替 - 移除内部 assert 函数的公开导出 - 适配 `@happy-ts/fetch-t``happy-opfs` 的破坏性变更 ### 新增 - 新增 `video` 模块及跨平台 `createVideo` API - 新增 `fs.writeJsonFile``fs.writeJsonFileSync` 方法 - 新增 `decodeHex` 函数用于十六进制解码 - 新增 `asyncResultify``asyncIOResultify``syncIOResultify` 工具函数 - 新增 `fs.zipSync` 内存压缩支持(无文件路径时返回 bytes) - 新增 `AppendOptions` 支持 `appendFile``appendFileSync` - 新增 `ReadOptions``ExistsOptions` 支持相应文件操作 - 新增内部验证模块 (`internal/validate`) - 新增 `encodeHex` 支持字符串输入 - 新增 `ASYNC_RESULT_VOID` 常量 - 新增跨平台高精度计时工具 (`performance`) - 新增 `video.requestFullScreen` 方法支持屏幕方向锁定 - 导出 `fs.createAbortError` 辅助函数 ### 变更 - 许可证从 GPL-3.0 切换到 MIT - 迁移到 pnpm monorepo 结构 - 构建工具从 Rollup 迁移到 Vite - 测试框架从 Deno 迁移到 Vitest - 文档生成从 Markdown 切换到 HTML 格式 - 生成的 API 文档不再提交到仓库,改为通过 GitHub Pages 自动部署 - 使用 `happy-rusty``Lazy``Once` 进行延迟初始化 - 重构 codec 模块,将 base64 整合到 codec 模块 - 重构 UTF-8 编码模块到专用子目录 - 重构 SHA/HMAC 实现,提取纯 JS 实现到共享模块 - 统一 `stat` API 在 `recursive=true` 时始终返回 `FileStats[]` - 统一微信和 Web 平台 API 返回类型 - 简化 `mkdir`:目录已存在时直接返回成功 - 优化 `readDir`:可用时使用 `Array.fromAsync` 提升性能 - 错误处理集中化,使用统一的错误转换函数 - 替换 `tiny-invariant` 为自定义实现 - 更新依赖到最新版本 ### 修复 - 修复 UTF-8 解码使用 `fromCodePoint` 替代 `fromCharCode` 处理代理对 - 修复 UTF-8 编码使用 `codePointAt` 正确处理代理对 - 修复 `TextDecoder` 设置 `fatal` 选项以正确处理错误 - 修复 `validateAbsolutePath` 处理多斜杠完整路径 - 修复 `zip` 保留根目录结构 - 修复 `appendFile` 在文件不存在时的处理 - 修复 `getDeviceBenchmarkInfo` 调用前的类型检查 - 修复 `image` 模块加载后撤销 object URL 防止内存泄漏 - 修复 `storage.getLength` 在非 Mina 环境使用 `webGetLength` - 修复 `Uint8Array``ArrayBufferView` 创建的优化 - 修复各模块错误类型改进 ### 文档 - 重写 README,添加双语支持和详细功能说明 - 新增 CODEBUDDY.md 仓库上下文指南 - 为所有公开 API 添加 `@since` 版本标签 - 完善 JSDoc 文档和 `@example` 示例 - 将 JSDoc 注释从英文翻译为中文 ### 测试 - 迁移测试到 Vitest 并大幅扩展测试覆盖率 - 新增 minigame-test 项目用于小游戏平台测试 - 新增 mina 平台各模块的综合测试 - 新增 benchmark 性能测试 ## [1.10.0] - 2025-07-31 ### 新增 - 新增设备性能评级功能 (`getDeviceBenchmarkLevel`) - 新增 `promisify` 工具函数,用于将回调式 API 转换为 AsyncResult ### 变更 - 重构平台检测工具函数 - 升级依赖版本 ## [1.9.7] - 2025-07-09 ### 变更 - 重构 fetch 模块的导入结构 ## [1.9.6] - 2025-06-30 ### 变更 - 二进制数据的编码参数改为 undefined ## [1.9.5] - 2025-06-18 ### 变更 - 重构下载文件时的目录创建逻辑 ## [1.9.4] - 2025-06-04 ### 修复 - 修复 `fetchT` 的响应类型错误 ## [1.9.3] - 2025-05-21 ### 新增 - 新增 `storage.hasItem``storage.hasItemSync` 方法 ## [1.9.2] - 2025-05-06 ### 变更 - 更新 happy-opfs 到 v1.8.6 ## [1.9.1] - 2025-05-06 ### 变更 - 使用 `toLowerCase` 来判断平台类型 - 更新依赖 ## [1.9.0] - 2025-04-24 ### 新增 - 新增更多平台判断方法 ## [1.8.8] - 2025-04-21 ### 修复 - 修复下载文件前未创建目录的问题 ## [1.8.7] - 2025-03-31 ### 新增 - `writeFile` 支持 `WriteOptions` 参数 ### 修复 - 修复 `mkdir` 在目录已存在时返回成功 ## [1.8.6] - 2025-03-31 ### 修复 - 修复 `mkdir` 应过滤根目录的问题 ## [1.8.5] - 2025-03-18 ### 变更 - 更新导出以包含 `happy-opfs` 的所有成员 ## [1.8.4] - 2025-02-27 ### 修复 - 添加对缺少 `wx.encode``wx.decode` 方法的兼容处理 ## [1.8.3] - 2025-02-19 ### 修复 -`wx.getFuzzyLocation` 不存在时回退到 `wx.getLocation` ## [1.8.2] - 2025-01-07 ### 修复 - 修复 `wx.getDeviceInfo` 可能不存在的问题 ## [1.8.1] - 2024-12-25 ### 修复 - 修复文件不存在时 `appendFile` 失败的问题 ## [1.8.0] - 2024-12-19 ### 新增 - 支持 HMAC 计算 - 新增 `DataSource` 类型别名 (`string | BufferSource`) ## [1.7.1] - 2024-12-13 ### 变更 - SHA 方法的键改为字符串类型 ## [1.7.0] - 2024-08-23 ### 新增 - 新增 `cryptos.random` 模块 - 新增 `addResizeListener` 方法 - 新增 `lbs` (位置服务) 模块 - 新增 `image` 模块 - 新增 `getWindowInfo` 方法 ### 变更 - 删除 `getDeviceInfo` 方法 ## [1.6.0] - 2024-08-18 ### 新增 - 支持更多 SHA 算法 - 支持 SHA1 计算 - 支持 RSA 加密 - 新增 `hexFromBuffer` 方法 - 新增 `bufferSource2U8a` 方法 - 新增 `fs.readJsonFile``fs.readJsonFileSync` 方法 - `importPublicKey` 支持设置哈希算法 - `publicKeyFromPem` 支持 `hash` 参数 ### 变更 - 使用 `rsa-oaep-encryption` 替代 `node-forge` - 修改 base64 编解码实现 - 部分函数参数从 `ArrayBuffer` 改为 `BufferSource` - 导出 `SocketReadyState` 常量 ## [1.5.2] - 2024-08-13 ### 修复 - `fs.downloadFile` 失败时应删除未完成的文件 ## [1.5.1] - 2024-08-13 ### 修复 - `fs.downloadFile` 当状态码非 2XX 时应返回 Err ## [1.5.0] - 2024-08-12 ### 新增 - 支持 WebAudio ### 变更 - 调整部分 API 名称和命名空间 ## [1.4.1] - 2024-08-12 ### 变更 - `fs.rename` 重命名为 `fs.move` - 使用 `Result.andThen` 优化流程控制 - 重命名 `move` 的参数 ## [1.4.0] - 2024-08-09 ### 新增 - 新增 `zipFromUrl` 方法,支持压缩到内存 - 新增 `unzipFromUrl` 方法 - `fs.downloadFile` 支持下载到临时文件 - `fs.downloadFile` 支持 `onProgress` 回调 - `fs.copyFile` 自动创建目标目录 - 支持 `fs.copy``fs.copySync` - fetch 支持 `onChunkReceived` (或 `onChunk`) ### 变更 - 使用 `Uint8Array` 进行 base64 编解码 - 使用 `BufferSource` 替代 `ArrayBuffer | ArrayBufferView` - `encode` 返回 `Uint8Array` ### 修复 - 修复临时路径断言失败的问题 ## [1.3.0] - 2024-08-06 ### 新增 - 实现 `fs.zip` 方法 - 实现 `fs.zipSync``fs.unzipSync` 方法 - 新增 `fs.unzip` 方法 ### 变更 - `minaErrorToError` 重命名为 `miniGameFailureToError` - 同步 `fs` API 改为抛出 Error ## [1.2.0] - 2024-08-06 ### 新增 - 新增 `storage.getLength` 方法 - 导出 `utils` 模块 ### 变更 - `storage` 方法返回 `Result` 类型 - 统一 `clipboard` 方法的返回值 - `socket``send` 方法返回 `RESULT_VOID` - 修改 `fs` 方法的返回值 - `toErr` 重命名为 `fileErrorToResult` ## [1.1.0] - 2024-08-04 ### 新增 - 新增 fs 同步方法 - 使用 Future 模式 ### 变更 - 测试工具切换到 Deno - 整理 `fs` 代码结构 - 使用 `AsyncOption` 类型 - 优化 `emptyDir` - `remove` 在文件不存在时返回成功 - 更新 ESLint 到 v9 ## [1.0.9] - 2024-07-26 ### 新增 - 导出 `NetworkType` 类型 - 支持获取网络类型和监听变化 - `addListener` 返回 `removeListener` 委托 - socket 新增 `readyState` 属性 - socket 支持 `removeEventListener` ### 变更 - 移除全局类型增强 ## [1.0.8] - 2024-07-25 ### 变更 - fetch 默认返回 `string | Response` - 更新 happy-opfs 到 v1.0.17 ## [1.0.7] - 2024-07-25 ### 变更 - 上传文件时 `name` 参数改为可选 ## [1.0.6] - 2024-07-24 ### 新增 - 导出所有定义的类型 - fetch 和 download/upload 支持中止操作 ### 变更 - 更新 happy-opfs 到 v1.0.13 - 修改 `fetchT` 返回类型 ## [1.0.5] - 2024-07-23 ### 新增 - 新增请求超时错误 (TimeoutError) ## [1.0.4] - 2024-07-17 ### 变更 - 使用 `asErr` 进行类型转换 ## [1.0.3] - 2024-07-13 ### 变更 - 更新 GitHub Actions 配置 - 重置 typedoc 入口文件名 ## [1.0.2] - 2024-06-11 ### 新增 - 导出部分接口类型 - 添加代码注释 ### 变更 - 移除 rimraf 依赖 - 使用 tiny-invariant ## [1.0.1] - 2024-05-17 ### 新增 - 新增 `fs.emptyDir` 方法 ## [1.0.0] - 2024-05-15 ### 新增 - 首次正式发布 - 支持跨平台 API:小游戏环境 (微信、QQ 等) 和 Web 浏览器 - 模块包括: - `base64` - Base64 编解码 - `clipboard` - 剪贴板操作 - `codec` - 文本编解码 (UTF-8) - `cryptos` - 加密功能 (MD5, SHA) - `fetch` - HTTP 请求 - `fs` - 文件系统操作 - `network` - 网络状态检测 - `platform` - 平台检测 - `socket` - WebSocket - `storage` - 本地存储 [2.2.0]: https://github.com/JiangJie/minigame-std/compare/v2.1.2...v2.2.0 [2.1.2]: https://github.com/JiangJie/minigame-std/compare/v2.1.1...v2.1.2 [2.1.1]: https://github.com/JiangJie/minigame-std/compare/v2.1.0...v2.1.1 [2.1.0]: https://github.com/JiangJie/minigame-std/compare/v2.0.2...v2.1.0 [2.0.2]: https://github.com/JiangJie/minigame-std/compare/v2.0.1...v2.0.2 [2.0.1]: https://github.com/JiangJie/minigame-std/compare/v2.0.0...v2.0.1 [2.0.0]: https://github.com/JiangJie/minigame-std/compare/v1.10.0...v2.0.0 [1.10.0]: https://github.com/JiangJie/minigame-std/compare/v1.9.7...v1.10.0 [1.9.7]: https://github.com/JiangJie/minigame-std/compare/v1.9.6...v1.9.7 [1.9.6]: https://github.com/JiangJie/minigame-std/compare/v1.9.5...v1.9.6 [1.9.5]: https://github.com/JiangJie/minigame-std/compare/v1.9.4...v1.9.5 [1.9.4]: https://github.com/JiangJie/minigame-std/compare/v1.9.3...v1.9.4 [1.9.3]: https://github.com/JiangJie/minigame-std/compare/v1.9.2...v1.9.3 [1.9.2]: https://github.com/JiangJie/minigame-std/compare/v1.9.1...v1.9.2 [1.9.1]: https://github.com/JiangJie/minigame-std/compare/v1.9.0...v1.9.1 [1.9.0]: https://github.com/JiangJie/minigame-std/compare/v1.8.8...v1.9.0 [1.8.8]: https://github.com/JiangJie/minigame-std/compare/v1.8.7...v1.8.8 [1.8.7]: https://github.com/JiangJie/minigame-std/compare/v1.8.6...v1.8.7 [1.8.6]: https://github.com/JiangJie/minigame-std/compare/v1.8.5...v1.8.6 [1.8.5]: https://github.com/JiangJie/minigame-std/compare/v1.8.4...v1.8.5 [1.8.4]: https://github.com/JiangJie/minigame-std/compare/v1.8.3...v1.8.4 [1.8.3]: https://github.com/JiangJie/minigame-std/compare/v1.8.2...v1.8.3 [1.8.2]: https://github.com/JiangJie/minigame-std/compare/v1.8.1...v1.8.2 [1.8.1]: https://github.com/JiangJie/minigame-std/compare/v1.8.0...v1.8.1 [1.8.0]: https://github.com/JiangJie/minigame-std/compare/v1.7.1...v1.8.0 [1.7.1]: https://github.com/JiangJie/minigame-std/compare/v1.7.0...v1.7.1 [1.7.0]: https://github.com/JiangJie/minigame-std/compare/v1.6.0...v1.7.0 [1.6.0]: https://github.com/JiangJie/minigame-std/compare/v1.5.2...v1.6.0 [1.5.2]: https://github.com/JiangJie/minigame-std/compare/v1.5.1...v1.5.2 [1.5.1]: https://github.com/JiangJie/minigame-std/compare/v1.5.0...v1.5.1 [1.5.0]: https://github.com/JiangJie/minigame-std/compare/v1.4.1...v1.5.0 [1.4.1]: https://github.com/JiangJie/minigame-std/compare/v1.4.0...v1.4.1 [1.4.0]: https://github.com/JiangJie/minigame-std/compare/v1.3.0...v1.4.0 [1.3.0]: https://github.com/JiangJie/minigame-std/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/JiangJie/minigame-std/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/JiangJie/minigame-std/compare/v1.0.9...v1.1.0 [1.0.9]: https://github.com/JiangJie/minigame-std/compare/v1.0.8...v1.0.9 [1.0.8]: https://github.com/JiangJie/minigame-std/compare/v1.0.7...v1.0.8 [1.0.7]: https://github.com/JiangJie/minigame-std/compare/v1.0.6...v1.0.7 [1.0.6]: https://github.com/JiangJie/minigame-std/compare/v1.0.5...v1.0.6 [1.0.5]: https://github.com/JiangJie/minigame-std/compare/v1.0.4...v1.0.5 [1.0.4]: https://github.com/JiangJie/minigame-std/compare/v1.0.3...v1.0.4 [1.0.3]: https://github.com/JiangJie/minigame-std/compare/v1.0.2...v1.0.3 [1.0.2]: https://github.com/JiangJie/minigame-std/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/JiangJie/minigame-std/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/JiangJie/minigame-std/releases/tag/v1.0.0