release

द्वारा automattic

जेटपैक चेंजलॉगर का उपयोग करके संस्करण प्रबंधन और रिलीज़ प्रक्रियाएँ। रिलीज़ बनाते समय, चेंजलॉग प्रबंधित करते समय, संस्करण बढ़ाते समय, या पैच तैयार करते समय उपयोग करें…

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.

Pick the significance by what breaks for a real install:

  • major bumps the plugin to the next whole version, so it has to be worth that: a user who keeps doing what they did before gets a materially worse or destructive result on a surface real installs depend on. Removing a public constant or breaking an opt-in experiment is not major. Raising the minimum WordPress or PHP version always is.
  • Check that the break actually broke something before claiming it.

One entry per user-visible change. Split unrelated fixes into separate files, but several fixes to the same visible thing are one entry, however many issues they close.

No entry for a bug that never shipped. A fix for something introduced on the same unreleased branch is net zero for users.

Release PR bodies stay neutral. Use the release script's plain text; never enumerate or spotlight security fixes in a release PR or its notes.

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 की और Skills

testing-js
automattic
जावास्क्रिप्ट फ़ाइलों में सिंटैक्स त्रुटियों की जाँच करने के दिशानिर्देश
setup
automattic
सत्यापित करें कि dn CLI स्थापित और कॉन्फ़िगर किया गया है। इसका उपयोग तब करें जब उपयोगकर्ता पहली बार domain-names प्लगइन स्थापित करता है, या जब dn कमांड CLI के कारण विफल हो जाता है…
studio-cli
automattic
स्टूडियो CLI का उपयोग करके स्थानीय WordPress साइटों, प्रमाणीकरण और पूर्वावलोकन साइटों का प्रबंधन करें। इस कौशल को तब लागू करें जब आपको स्टूडियो CLI कमांड चलाने, प्रबंधित करने की आवश्यकता हो…
dn-info
automattic
dn CLI का उपयोग करके पंजीकृत डोमेन के बारे में विस्तृत जानकारी प्राप्त करें। जब उपयोगकर्ता डोमेन विवरण जैसे समाप्ति तिथि, नेमसर्वर, संपर्क आदि देखना चाहे तब उपयोग करें।
qa
automattic
निकाले गए WXR सामग्री की तुलना मूल स्रोत साइट से पृष्ठ दर पृष्ठ करें। लापता पाठ, शीर्षक, चित्र और लिंक खोजें। WXR को पैच करके या… ठीक करें।
add-skill
automattic
a8c-design प्लगइन में एक नया स्किल जोड़ें। जब आपने Claude Code स्किल बनाया हो और उसे साझा Automattic a8c-design प्लगइन में योगदान देना चाहते हों तो इसका उपयोग करें —…
design-foundations
automattic
मुक्त साइट से एक सुसंगत डिज़ाइन-फाउंडेशन JSON बनाएं — सिमेंटिक रंग/टाइपोग्राफी/स्पेसिंग भूमिकाएँ साक्ष्य-निशानों के साथ। आंशिक स्कैफोल्ड का उपभोग करता है…
wp-phpstan
automattic
वर्डप्रेस प्रोजेक्ट्स (प्लगइन्स/थीम्स/साइट्स) में PHPStan स्टैटिक एनालिसिस को कॉन्फ़िगर करने, चलाने या ठीक करने के लिए उपयोग करें: phpstan.neon सेटअप, बेसलाइन्स,…