release

作成者: automattic

Jetpack Changeloggerを使用したバージョン管理とリリースプロセス。リリース作成、チェンジログ管理、バージョン更新、パッチ準備などに使用します。

npx skills add https://github.com/automattic/wordpress-activitypub --skill release

ActivityPub Release Process

Quick reference for managing releases and changelogs for the WordPress ActivityPub plugin.

Quick Reference

Release Commands

npm run release              # Create major/minor release PR.

Version File Locations

When updating versions manually, change these files (these are the files bin/release.js touches):

  • activitypub.php - Plugin header (Version: X.Y.Z) and the ACTIVITYPUB_PLUGIN_VERSION constant. Both must change.
  • readme.txt - WordPress.org readme (Stable tag: X.Y.Z).
  • includes/class-migration.php - Version references in the DB-migration version_compare() checks.
  • CHANGELOG.md - Changelog file (auto-updated by release script).

Note: package.json has no version field and is not part of the release bump.

Comprehensive Release Guide

See Release Process for complete release workflow and detailed steps.

Release Workflow

Major/Minor Releases

Quick workflow:

# 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.

See Release Process - Major/Minor for detailed steps.

Patch Releases

Quick workflow:

# 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

Important: Use -m 1 flag when cherry-picking merge commits to select the mainline parent.

See Release Process - Patch Releases for detailed steps.

Changelog Management

How It Works

Changelogs are managed automatically through the PR workflow:

  1. PR Template (.github/PULL_REQUEST_TEMPLATE.md):

    • Check "Automatically create a changelog entry" checkbox.
    • Select significance: Patch/Minor/Major.
    • Select type: Added/Fixed/Changed/Deprecated/Removed/Security.
    • Write message ending with punctuation!
  2. GitHub Action (.github/workflows/changelog.yml):

    • Creates changelog file from PR description.
    • Validates proper punctuation.
    • Saves to .github/changelog/ directory.
  3. Release Process:

    • npm run release aggregates all entries.
    • Updates CHANGELOG.md and readme.txt automatically.

Critical Requirements

Always end changelog messages with punctuation:

✅ Add support for custom post types.
✅ Fix signature verification bug.
❌ Add support for custom post types
❌ Fix signature verification bug

Write end-user friendly messages:

  • Focus on user benefit, not implementation details.
  • Avoid technical jargon where possible.
  • Describe what users can now do, not how it works internally.
✅ 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.

Never mention AI tools or coding assistants in changelog messages.

See PR Workflow - Changelog for complete changelog requirements.

Version Numbering

Semantic versioning:

  • Major (X.0.0) - Breaking changes.
  • Minor (0.X.0) - New features, backward compatible.
  • Patch (0.0.X) - Bug fixes only.

The release script determines version automatically from changelog entry significance levels.

automatticのその他のスキル

wp-phpstan
automattic
WordPressプロジェクト(プラグイン/テーマ/サイト)でPHPStan静的解析の設定、実行、修正を行う際に使用:phpstan.neonのセットアップ、ベースライン、…
official
wp-playground
automattic
WordPress Playgroundのワークフローに使用:ブラウザまたはローカルで@wp-playground/cli(サーバー、run-blueprint、build-snapshot)を介した高速な使い捨てWPインスタンス、…
official
wp-plugin-development
automattic
WordPressプラグイン開発時に使用:アーキテクチャとフック、アクティベーション/ディアクティベーション/アンインストール、管理UIとSettings API、データストレージ、cron/タスク、セキュリティ…
official
wp-project-triage
automattic
WordPressリポジトリ(プラグイン/テーマ/ブロックテーマ/WPコア/Gutenberg/フルサイト)のツール/テスト/バージョンなどを含む決定的な検査が必要な場合に使用します。
official
wp-rest-api
automattic
WordPress REST APIのエンドポイント/ルート(register_rest_route、WP_REST_Controller/コントローラークラス、スキーマ/引数…)の構築、拡張、デバッグ時に使用します。
official
wp-wpcli-and-ops
automattic
WordPressの操作でWP-CLI(wp)を使用する際に利用:安全な検索置換、データベースのエクスポート/インポート、プラグイン/テーマ/ユーザー/コンテンツ管理、cron、キャッシュフラッシュなど
official
wpds
automattic
WordPress Design System(WPDS)とそのコンポーネント、トークン、パターンなどを活用してUIを構築する際に使用します。
official
woocommerce-finalize
automattic
WooCommerceプラグインのプレリリースコード健全性とトレーサビリティ監査。コードレビュー後に実行され、デッドコード、重複、構造的複雑性などに焦点を当てます…
official