关于 release
面向 WordPress ActivityPub 插件维护者的发布管理技能,涵盖版本文件、补丁发布和更新日志规则;主次版本发布可由脚本部分自动化。
主要功能
- 01运行 npm run release
- 02更新多个文件中的版本号
- 03汇总更新日志条目
- 04说明补丁版本发布步骤
- 05规范更新日志撰写
适用场景
- 01准备主版本或次版本发布 PR
- 02手动更新插件版本号
- 03从标签创建补丁版本
- 04审核发布用更新日志条目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ automattic/ wordpress-activitypub --skill release安装后在 Claude Code 中输入/release确认已加载。
详细介绍
ActivityPub 发布流程
用于管理 WordPress ActivityPub 插件发布和变更日志的快速参考。
快速参考
发布命令
npm run release # Create major/minor release PR.
版本文件位置
手动更新版本时,请修改以下文件(这些文件会由 bin/release.js 修改):
activitypub.php- 插件头部(Version: X.Y.Z)以及ACTIVITYPUB_PLUGIN_VERSION常量。两者都必须修改。readme.txt- WordPress.org readme(Stable tag: X.Y.Z)。includes/class-migration.php- 数据库迁移version_compare()检查中的版本引用。CHANGELOG.md- 变更日志文件(由发布脚本自动更新)。
注意:package.json 没有 version 字段,不属于版本升级范围。
完整发布指南
完整的发布工作流和详细步骤,请参阅 发布流程。
发布工作流
主版本/次版本发布
快速工作流:
# 1. Run release script from plugin root.
npm run release
# Script automatically:
# - Determines version from changelog entries.
# - Updates version numbers in all files.
# - Updates CHANGELOG.md.
# - Creates PR for review.
# 2. Review and merge the release PR.
# 3. Create GitHub release from trunk using the new tag.
详细步骤请参阅 发布流程 - 主版本/次版本。
补丁版本发布
快速工作流:
# 1. Create branch from the tag to patch.
git fetch --tags
git checkout -b tags/5.3.1 5.3.0 # Patch 5.3.0 -> 5.3.1
# 2. Cherry-pick merge commits from trunk (note -m 1 flag).
git cherry-pick -m 1 <commit-hash>
# 3. Update changelog and versions.
composer changelog:write
# Manually update versions in (see Version File Locations above):
# - activitypub.php (Version header AND ACTIVITYPUB_PLUGIN_VERSION constant)
# - readme.txt
# - includes/class-migration.php
# 4. Push branch and create GitHub release.
git push -u origin tags/5.3.1
重要提示: 对合并提交执行 cherry-pick 时,请使用 -m 1 标志来选择主线父提交。
详细步骤请参阅 发布流程 - 补丁版本发布。
变更日志管理
工作原理
变更日志通过 PR 工作流自动管理:
-
PR 模板(
.github/PULL_REQUEST_TEMPLATE.md):- 勾选“Automatically create a changelog entry”(自动创建变更日志条目)复选框。
- 选择重要性:Patch/Minor/Major。
- 选择类型:Added/Fixed/Changed/Deprecated/Removed/Security。
- 编写以标点符号结尾的消息!
-
GitHub Action(
.github/workflows/changelog.yml):- 根据 PR 描述创建变更日志文件。
- 验证标点符号是否正确。
- 保存到
.github/changelog/目录。
-
发布流程:
npm run release汇总所有条目。- 自动更新
CHANGELOG.md和readme.txt。
关键要求
变更日志消息务必以标点符号结尾:
✅ Add support for custom post types.
✅ Fix signature verification bug.
❌ Add support for custom post types
❌ Fix signature verification bug
编写对终端用户友好的消息:
- 聚焦于用户收益,而非实现细节。
- 尽可能避免技术术语。
- 描述用户现在可以做什么,而不是内部如何运作。
✅ Add pre-built block patterns for easy profile and sidebar setup.
✅ Fix follow button not appearing on author pages.
❌ Add register_patterns() method to class-blocks.php.
❌ Refactor User class to use Actors collection.
根据实际安装会受到什么影响来选择重要性:
major会将插件升级到下一个整数版本,因此必须有充分理由:继续沿用之前操作方式的用户,在实际安装所依赖的功能上会遇到实质性变差或破坏性结果。移除公开常量或破坏选择加入的实验功能不属于major。提高最低 WordPress 或 PHP 版本要求始终属于major。- 声称有破坏性影响前,请先确认它确实造成了破坏。
每项用户可见的变更对应一个条目。 将互不相关的修复拆分到不同文件中,但对同一可见内容的多项修复应合并为一个条目,无论它们解决了多少问题。
未发布的错误不需要条目。 修复同一未发布分支中引入的问题,对用户而言影响为零。
发布 PR 正文保持中立。 使用发布脚本生成的纯文本;绝不要在发布 PR 或其说明中列举或特别强调安全修复。
绝不要在变更日志消息中提及 AI 工具或编码助手。
完整的变更日志要求请参阅 PR 工作流 - 变更日志。
版本编号
语义化版本:
- 主版本(X.0.0) - 破坏性变更。
- 次版本(0.X.0) - 新功能,向后兼容。
- 补丁版本(0.0.X) - 仅修复错误。
发布脚本会根据变更日志条目的重要性级别自动确定版本。