[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-01Unreal 英文版 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 --list与git log --oneline -5可以看到,当前检出分支的最新提交形如:
5569875 [unreal]兼容性更好的获取.net版本方式提交信息使用[unreal]这类平台前缀标注改动归属,这也正是 SKILL.md 要求“用git log ... -- unity//-- unreal/路径过滤”之外的天然辅助信号:即便路径过滤存在遗漏,通过 commit message 的前缀也能交叉确认平台归属。
第三步:筛选和理解 commit
拿到 commit 列表后,SKILL.md 对“写什么、怎么写”给出了明确约束:
- 不重要的 commit 可以跳过不写:如纯格式调整、注释修改、CI 配置等;
- 从用户影响角度撰写,而非实现层面描述:changelog 的读者是使用该库的开发者,他们关心的是“我的代码行为/API/性能发生了什么变化”,而不是“内部某函数被重构了”;
- 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-DD或YYYY-M-D(真实文件中两种写法均存在,如2026-04-01与2025-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),仅供参考