Skip to content

Releases: JiangJie/minigame-std

v2.1.0

11 Feb 15:46

Choose a tag to compare

[2.1.0] - 2026-02-11

新增

  • fs.readFilefs.readFileSyncfs.statfs.statSyncfs.readDirfs.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
  • 改进 bufferSourceToBytesbufferSourceToAb 的错误消息,使其更清晰
  • validateStringvalidatePositiveIntegername 参数改为必选,改进错误消息的可区分性
  • validatePositiveInteger 细化错误类型:类型错误抛出 TypeError,值错误抛出 Error
  • 优化 web_clipboard 模块代码结构
  • 优化 web_socket 模块的 send 错误处理
  • 移除 package.json 中的 predocs 脚本
  • 升级依赖版本

修复

  • 修复 Android 子项目中递归 stat 的路径规范化问题
  • 修复 web_storagegetItem 在 key 不存在时的错误消息
  • 修复部分文件中缺少 .ts 扩展名的相对导入路径
  • 修复 web_video 进度事件中 video.duration 为零时的除零问题
  • 移除 mina_fs_async 中的重复 region 注释

文档

  • 更新 codec 模块文档以反映 happy-codec 迁移
  • 修正 README 中 codec 返回类型描述(ArrayBufferUint8Array
  • 改进 codec 和 defines 模块的 JSDoc 注释
  • 移除 typedoc.json 中不必要的 exclude 选项

测试

  • 新增代码包路径的异步和同步测试用例
  • 新增 normalizeStats 排序行为测试用例
  • 新增 UTF-8 codec 基准测试(对比 wx 原生与纯 JS 实现)
  • 修复 fs 测试断言和格式问题

Full Changelog: v2.0.2...v2.1.0

v2.0.2

29 Jan 12:46

Choose a tag to compare

[2.0.2] - 2026-01-29

文档

  • 为各子模块文件添加 @module JSDoc 注释
  • fs.stat 方法的所有重载签名添加 JSDoc 注释

变更

  • 移除 prepublishOnly 中的文件复制步骤

Full Changelog: v2.0.1...v2.0.2

v2.0.1

29 Jan 12:05

Choose a tag to compare

[2.0.1] - 2026-01-29

文档

  • 为所有导出模块添加 JSDoc 文档注释

变更

  • CI 发布流程添加复制共享文件的步骤

Full Changelog: v2.0.0...v2.0.1

v2.0.0

29 Jan 11:23

Choose a tag to compare

[2.0.0] - 2026-01-29

破坏性变更

  • fs.readFile 返回类型从 ArrayBuffer 改为 Uint8Array<ArrayBuffer>
  • SHA 系列函数返回类型从 Promise<string> 改为 AsyncIOResult<string>
  • HMAC 系列函数返回类型改为 AsyncIOResult
  • RSA 加密函数返回类型改为 AsyncIOResult
  • 重命名 promisifyWithResultasyncResultify
  • 重命名 codec 模块函数以保持命名一致性
  • 简化 base64 API 为统一的 encodeBase64/decodeBase64 函数
  • 移除 tryDOMAsyncOp/tryDOMSyncOp,使用 tryGeneralAsyncOp/tryResult 代替
  • 移除内部 assert 函数的公开导出
  • 适配 @happy-ts/fetch-thappy-opfs 的破坏性变更

新增

  • 新增 video 模块及跨平台 createVideo API
  • 新增 fs.writeJsonFilefs.writeJsonFileSync 方法
  • 新增 decodeHex 函数用于十六进制解码
  • 新增 asyncResultifyasyncIOResultifysyncIOResultify 工具函数
  • 新增 fs.zipSync 内存压缩支持(无文件路径时返回 bytes)
  • 新增 AppendOptions 支持 appendFileappendFileSync
  • 新增 ReadOptionsExistsOptions 支持相应文件操作
  • 新增内部验证模块 (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-rustyLazyOnce 进行延迟初始化
  • 重构 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
  • 修复 Uint8ArrayArrayBufferView 创建的优化
  • 修复各模块错误类型改进

文档

  • 重写 README,添加双语支持和详细功能说明
  • 新增 CODEBUDDY.md 仓库上下文指南
  • 为所有公开 API 添加 @since 版本标签
  • 完善 JSDoc 文档和 @example 示例
  • 将 JSDoc 注释从英文翻译为中文

测试

  • 迁移测试到 Vitest 并大幅扩展测试覆盖率
  • 新增 minigame-test 项目用于小游戏平台测试
  • 新增 mina 平台各模块的综合测试
  • 新增 benchmark 性能测试

Full Changelog: v1.10.0...v2.0.0

v1.10.0

31 Jul 08:40

Choose a tag to compare

Full Changelog: v1.9.7...v1.10.0

v1.9.7

09 Jul 02:17

Choose a tag to compare

Full Changelog: v1.9.6...v1.9.7

v1.9.6

30 Jun 08:37

Choose a tag to compare

Full Changelog: v1.9.5...v1.9.6

v1.9.5

18 Jun 09:57

Choose a tag to compare

Full Changelog: v1.9.4...v1.9.5

v1.9.4

04 Jun 01:49

Choose a tag to compare

Full Changelog: v1.9.3...v1.9.4

v1.9.3

21 May 09:03

Choose a tag to compare

Full Changelog: v1.9.2...v1.9.3