App Store 更新日志
app-store-changelog
App Store 更新日志 (App Store Changelog)
概述
从自上次标签以来的 git 历史记录中生成全面的、面向用户的变更日志,然后将提交记录转换为清晰的 App Store 发布说明。使用场景
- 当用户要求根据 git 历史记录提供 App Store 的“更新内容”文本或发布说明时。
- 当需要将原始提交记录转换为简洁的、面向用户的发布要点时。
工作流
1) 收集变更
- 在仓库根目录下运行
scripts/collect_release_changes.sh以收集提交记录和受影响的文件。
- 如有需要,可传递特定的标签或引用:
scripts/collect_release_changes.sh v1.2.3 HEAD。
- 如果不存在标签,脚本将回退到完整历史记录。
2) 筛选用户影响
- 扫描提交记录和文件,识别用户可见的变更。
- 按主题(新增、优化、修复)对变更进行分组,并去除重复项。
- 剔除仅限内部的工作(构建脚本、重构、依赖升级、CI)。
3) 起草 App Store 说明
- 为每项面向用户的变更编写简短且侧重于益处的要点。
- 使用清晰的动词和通俗的语言;避免内部专业术语。
- 除非用户要求其他长度,否则建议提供 5 到 10 个要点。
4) 验证
- 确保每个要点都能对应到该范围内的实际变更。
- 检查是否存在重复或过于技术化的措辞。
- 如果任何变更含义模糊或可能是仅限内部的,请请求澄清。
提交记录转要点示例
以下展示了如何将原始提交记录转换为 App Store 要点:
| 原始提交消息 | App Store 要点 |
|---|---|
| fix(auth): resolve token refresh race condition on iOS 17 | • 修复了可能导致部分用户意外登出的登录问题。 |
| feat(search): add voice input to search bar | • 现在可以使用全新的语音输入功能,解放双手搜索您的库。 |
| perf(timeline): lazy-load images to reduce scroll jank | • 时间轴滚动现在更加流畅快速。 |
被剔除的仅限内部提交(无用户影响):
chore: upgrade fastlane to 2.219
refactor(network): extract URLSession wrapper into module
ci: add nightly build job
输出示例
code
版本 3.4 更新内容
• 现在可以使用全新的语音输入功能,解放双手搜索您的库。
• 时间轴滚动现在更加流畅快速。
• 修复了可能导致部分用户意外登出的登录问题。
• 设置界面现已支持深色模式。
• 优化了打开大型相册时的加载速度。
输出格式
- 标题(可选):“更新内容”或 产品名称 + 版本号。
- 仅限列表形式;每条要点仅限一句话。
- 如果用户提供了限制,请遵守商店页面的字数限制。
资源
scripts/collect_release_changes.sh: 收集自上次标签以来的提交记录和受影响文件。
references/release-notes-guidelines.md: App Store 说明的语言、筛选和质量保证规则。
局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。