用途:面向 WordPress ActivityPub 插件(automattic/wordpress-activitypub)的版本管理与发布流程,使用 Jetpack Changelogger 管理变更日志。适用于创建发布、管理 changelog、升版本号或准备补丁发布。
主要能力:
- 正式发布:在插件根目录运行 npm run release,脚本会依据 changelog 条目自动判定版本号、更新各文件版本号、更新 CHANGELOG.md,并创建用于评审的 PR。随后评审并合并 PR,再从 trunk 以新标签创建 GitHub release。
- 补丁发布:从待补丁的标签建分支(如 git fetch --tags 后 git checkout -b tags/5.3.1 5.3.0),用 git cherry-pick -m 1 <commit-hash> 挑选 trunk 上的合并提交,再执行 composer changelog:write 并手动更新版本文件,最后 git push -u origin tags/5.3.1 并创建 GitHub release。cherry-pick 合并提交时必须使用 -m 1 指定主线父提交。
- Changelog 流程:通过 PR 模板勾选自动创建 changelog 条目,选择 Patch/Minor/Major 重要级别与 Added/Fixed/Changed/Deprecated/Removed/Security 类型;GitHub Action 会据 PR 描述生成文件、校验标点并保存到 .github/changelog/ 目录。npm run release 会聚合全部条目并更新 CHANGELOG.md 与 readme.txt。
需手动更新的版本文件:activitypub.php(插件头部 Version 与 ACTIVITYPUB_PLUGIN_VERSION 常量都需改)、readme.txt(Stable tag)、includes/class-migration.php(DB 迁移 version_compare 检查中的版本引用)、CHANGELOG.md(发布脚本自动更新)。package.json 无 version 字段,不参与版本提升。
版本号遵循语义化:Major 为破坏性变更,Minor 为向后兼容的新功能,Patch 仅为缺陷修复;发布脚本据 changelog 条目的重要级别自动判定版本。
限制与要求:changelog 消息必须以标点结尾,需面向最终用户描述收益而非实现细节,且不得提及 AI 工具或编码助手;完整工作流详见其 Release Process 文档。其余细节资料暂未提供。