mcpField
R
release

release

github.com/automattic开发58379 次安装今天更新
代码仓库

关于 release

面向 WordPress ActivityPub 插件维护者的发布管理技能,涵盖版本文件、补丁发布和更新日志规则;主次版本发布可由脚本部分自动化。

主要功能

  1. 01运行 npm run release
  2. 02更新多个文件中的版本号
  3. 03汇总更新日志条目
  4. 04说明补丁版本发布步骤
  5. 05规范更新日志撰写

适用场景

  1. 01准备主版本或次版本发布 PR
  2. 02手动更新插件版本号
  3. 03从标签创建补丁版本
  4. 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 工作流自动管理:

  1. PR 模板(.github/PULL_REQUEST_TEMPLATE.md):

    • 勾选“Automatically create a changelog entry”(自动创建变更日志条目)复选框。
    • 选择重要性:Patch/Minor/Major。
    • 选择类型:Added/Fixed/Changed/Deprecated/Removed/Security。
    • 编写以标点符号结尾的消息!
  2. GitHub Action(.github/workflows/changelog.yml):

    • 根据 PR 描述创建变更日志文件。
    • 验证标点符号是否正确。
    • 保存到 .github/changelog/ 目录。
  3. 发布流程:

    • 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) - 仅修复错误。

发布脚本会根据变更日志条目的重要性级别自动确定版本。

评论

支持 Markdown