[3.0.2] - 2026-04-01
2026/9/17 16:05:41 网站建设 项目流程

[3.0.2] - 2026-04-01

【免费下载链接】puertsPUER(普洱) Typescript. Let's write your game in UE or Unity with TypeScript.项目地址: https://gitcode.com/GitHub_Trending/pu/puerts

中文版 [unity/changelog-hans.md](https://link.gitcode.com/i/a7fbca4c751e6093ba748d243f93e7a5) 同步为: ```markdown ## [3.0.2] - 2026-04-01

Unreal 英文版 unreal/changelog.md 首条版本条目为:

### v1.0.9 2025/7/15

中文版 unreal/changelog-hans.md 为:

### v1.0.9 2025年7月15日

可见 Unity 采用“方括号 + 日期”的标题(## [版本号] - 日期),Unreal 采用“v 前缀 + 日期”的标题(### v版本号 日期),两者取“最新版本号”的位置都在文件正文最顶部,且 SKILL.md 规定版本号只在最后一位递增,保证同一平台内部版本号单调。

第二步:获取两个 tag 之间的 commit

确定新旧版本后,根据平台确定 git tag 命名规则:

  • Unity:tag 格式为Unity_v{版本号},例如Unity_v3.0.1
  • Unreal:tag 格式为Unreal_v{版本号},例如Unreal_v1.0.9

执行git log获取 commit 列表,只关注对应平台目录的改动(通过路径参数过滤),并区分“新版本 tag 是否已存在”两种情况:

Unity 示例(假设上一版本是 3.0.1,新版本是 3.0.2):

# 如果新版本 tag 已存在 git log Unity_v3.0.1..Unity_v3.0.2 --oneline -- unity/ # 如果新版本 tag 尚未打,则对比到 master git log Unity_v3.0.1..master --oneline -- unity/

Unreal 示例(假设上一版本是 1.0.9,新版本是 1.0.10):

# 如果新版本 tag 已存在 git log Unreal_v1.0.9..Unreal_v1.0.10 --oneline -- unreal/ # 如果新版本 tag 尚未打,则对比到 master git log Unreal_v1.0.9..master --oneline -- unreal/

关键点有三:

  • --oneline让每条 commit 只输出一行摘要,便于快速浏览;
  • -- unity/-- unreal/路径过滤保证只关注对应平台的改动,避免把另一个平台的改动混入本平台 changelog;
  • A..B范围语法表达“从上一版本 tag 之后到新版本 tag(或 master)之间”的全部提交。

实践中的印证:仓库内 tag 与 commit

对当前仓库执行git tag --listgit log --oneline -5可以看到,当前检出分支的最新提交形如:

5569875 [unreal]兼容性更好的获取.net版本方式

提交信息使用[unreal]这类平台前缀标注改动归属,这也正是 SKILL.md 要求“用git log ... -- unity//-- unreal/路径过滤”之外的天然辅助信号:即便路径过滤存在遗漏,通过 commit message 的前缀也能交叉确认平台归属。

第三步:筛选和理解 commit

拿到 commit 列表后,SKILL.md 对“写什么、怎么写”给出了明确约束:

  1. 不重要的 commit 可以跳过不写:如纯格式调整、注释修改、CI 配置等;
  2. 从用户影响角度撰写,而非实现层面描述:changelog 的读者是使用该库的开发者,他们关心的是“我的代码行为/API/性能发生了什么变化”,而不是“内部某函数被重构了”;
  3. commit message 无法确定用户影响时,必须深挖:通过git show <commit_hash>git diff查看具体修改内容来确定影响面。

对照真实 changelog 可以验证这一“用户视角”原则。例如 Unity 3.0.1 版本中的条目:

  • 11. 加上UnityEngine.Scripting.Preserve,解决unity2022 webgl默认设置下lua用例会报"no static field v"的问题—— 从“报错现象”而非“加了哪个特性标签”的角度描述;
  • 13. python 使用 InitIsolatedConfig 隔离配置 (#2285)—— 直接给出行为变更与对应 PR 号,便于用户回溯。

Unreal v1.0.8 中的* esm module两次读文件的问题,fix #1779同样属于典型的“用户可见 bug → 修复”表述。

第四步:编写 changelog(格式规范详解)

必须同时编写中文版和英文版,写入对应文件。新版本内容插入到文件最前面(在文件头部注释之后、旧版本之前),并遵循两套完全不同的格式体系。

Unity changelog 格式

英文版 unity/changelog.md 的格式:

## [3.0.2] - 2025-04-01 1. Fixed xxx issue fix #1234 2. Added support for xxx feature (#5678) 3. Optimized xxx performance

中文版 unity/changelog-hans.md 的格式:

## [3.0.2] - 2025-04-01 1. 修复了 xxx 问题 fix #1234 2. 新增 xxx 功能支持 (#5678) 3. 优化了 xxx 性能

格式要点:

  • 标题格式:## [版本号] - 日期,日期格式YYYY-MM-DDYYYY-M-D(真实文件中两种写法均存在,如2026-04-012025-12-5);
  • 内容使用编号列表1. 2. 3. ...
  • 英文版文件头有[跳转中文](https://link.gitcode.com/i/a52fe5919d19d7e413532d4211a7391c)链接,中文版文件头有[english version](https://link.gitcode.com/i/37ce47f3fc095c5a0ee7e7db807d7798)链接,形成互跳;
  • 如果 commit 关联了 issue,在条目末尾附上fix #issue号(#PR号)

真实文件印证:Unity 英文版头部除跳转链接外,还保留了# Changelog大标题、"All notable changes to this package will be documented in this file." 说明、以及基于 Keep a Changelog 与 Semantic Versioning 的格式声明(见 unity/changelog.md),写入新版本时应保持这些头部元信息不被破坏。

最新一条 Unity 中文版 unity/changelog-hans.md 的完整样例:

## [3.0.2] - 2026-04-01 1. 代码生成逻辑重写为C#实现,移除对JS版生成的依赖 (#2311) fix #2305 2. PInvoke(非il2cpp)环境支持静态C# wrapper生成 (#2313) 3. PInvoke版本加入IntPtr的支持(映射到int64) 4. 修复打开THREAD_SAFE宏报错的问题 fix #2299 5. Python使用索引语法创建泛型,移除公开api `puerts.generic` (#2314) 6. Python支持用 `List[String]` 方式使用泛型,同时支持泛型类型前缀的验证和加载 (#2312) 7. Python支持以 `method(this=DynObj)` 的方式调用实例的泛型方法 (#2296) 8. Python调整泛型使用 `__n` 为 `_n` (#2294) 9. Python支持使用 `[]` 传入泛型来构建类,添加 `puerts.generic_method` 方法(目前只支持静态方法),完善 `puerts.gen_iterator` (#2293) 10. Lua泛型类也改为和Python类似的索引语法 11. 新增 PuerTS Agent(编辑器AI助手),支持MCP服务、流式响应等功能

Unreal changelog 格式

英文版 unreal/changelog.md 的格式:

### v1.0.10 2025/4/1 #### New Features * Added support for xxx #### Optimizations * Optimized xxx performance (#1234) #### Changes * Changed xxx behavior #### Bug Fixes * Fixed xxx crash issue (fix #5678)

中文版 unreal/changelog-hans.md 的格式:

### v1.0.10 2025年4月1日 #### 新增特性 * 新增 xxx 支持 #### 优化 * 优化了 xxx 性能 (#1234) #### 变更 * 变更了 xxx 行为 #### bug修复 * 修复了 xxx 崩溃问题 (fix #5678)

【免费下载链接】puertsPUER(普洱) Typescript. Let's write your game in UE or Unity with TypeScript.项目地址: https://gitcode.com/GitHub_Trending/pu/puerts

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询