Files
wp-fix-plugin-does-not-exis…/.ai-workflows/release-process.md

5.3 KiB

Release Process for AI Assistants

This document provides step-by-step instructions for AI assistants to help with the release process for the Fix Plugin Does Not Exist Notices plugin.

Pre-Release Checklist

  • All features for this release are complete
  • All bug fixes for this release are complete
  • CHANGELOG.md is up to date
  • readme.txt is up to date
  • All tests pass

Determining the New Version Number

Based on the changes made, determine the appropriate version increment:

  1. PATCH (e.g., 1.6.0 → 1.6.1): For bug fixes and minor improvements
    • IMPORTANT: Always increment the patch version for every change, even small ones, to make rollbacks easier if issues are found in testing
  2. MINOR (e.g., 1.6.0 → 1.7.0): For new features and significant improvements
  3. MAJOR (e.g., 1.6.0 → 2.0.0): For breaking changes

Release Steps

1. Create a New Branch

git checkout -b v{MAJOR}.{MINOR}.{PATCH}

Example:

git checkout -b v1.7.0

2. Update Version Numbers

Update the version number in the following files:

a. Main Plugin File (fix-plugin-does-not-exist-notices.php)

/**
 * Plugin Name: Fix 'Plugin file does not exist.' Notices
 * Plugin URI: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
 * Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices.
 * Version: {MAJOR}.{MINOR}.{PATCH}
 * ...
 */

Also update the FPDEN_VERSION constant:

define( 'FPDEN_VERSION', '{MAJOR}.{MINOR}.{PATCH}' );

b. CHANGELOG.md

Add a new section at the top of the CHANGELOG.md file:

## [{MAJOR}.{MINOR}.{PATCH}] - YYYY-MM-DD
### Added
- New feature 1
- New feature 2

### Changed
- Change 1
- Change 2

### Fixed
- Bug fix 1
- Bug fix 2

c. POT File (languages/fix-plugin-does-not-exist-notices.pot)

Update the Project-Id-Version and POT-Creation-Date:

"Project-Id-Version: Fix 'Plugin file does not exist.' Notices {MAJOR}.{MINOR}.{PATCH}\n"
"POT-Creation-Date: YYYY-MM-DDT00:00:00+00:00\n"

d. readme.txt

Update the stable tag:

Stable tag: {MAJOR}.{MINOR}.{PATCH}

Add a new entry to the changelog section:

= {MAJOR}.{MINOR}.{PATCH} =
* New feature 1
* New feature 2
* Change 1
* Change 2
* Fixed bug 1
* Fixed bug 2

Update the upgrade notice section:

= {MAJOR}.{MINOR}.{PATCH} =
Brief description of the most important changes in this release

3. Commit Changes

git add fix-plugin-does-not-exist-notices.php CHANGELOG.md readme.txt README.md languages/fix-plugin-does-not-exist-notices.pot
git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"

4. Test Changes Locally

Test the changes thoroughly on the version branch to ensure everything works as expected:

  • Test with the latest WordPress version
  • Test with PHP 7.0+ (minimum supported version)
  • Verify all features work as expected
  • Check for any PHP warnings or notices

5. Merge to Main

When satisfied with testing, merge the version branch to main:

git checkout main
git merge v{MAJOR}.{MINOR}.{PATCH} --no-ff

The --no-ff flag creates a merge commit even if a fast-forward merge is possible, which helps preserve the branch history.

6. Push Main to Remotes

git push github main
git push gitea main

7. Create and Push Tag

git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}

8. Monitor GitHub Actions

Open the GitHub Actions page to monitor the build and deployment process: https://github.com/wpallstars/fix-plugin-does-not-exist-notices/actions

9. Verify Release

  • Check that the GitHub release was created successfully
  • Verify that the plugin was deployed to WordPress.org
  • Test the plugin from WordPress.org to ensure it works correctly

Testing Previous Versions

To test a previous version of the plugin:

# Checkout a specific tag for testing
git checkout v{MAJOR}.{MINOR}.{PATCH}

# Or create a test branch from a specific tag
git checkout v{MAJOR}.{MINOR}.{PATCH} -b test/some-feature

Rollback Procedure (If Needed)

If issues are discovered after release:

1. Create a Hotfix Branch

git checkout v{MAJOR}.{MINOR}.{PATCH}
git checkout -b hotfix/v{MAJOR}.{MINOR}.{PATCH+1}

2. Fix the Issues

Make the necessary changes to fix the issues.

3. Update Version Numbers

Increment the PATCH version and update all version numbers as described above.

4. Test the Hotfix

Test the hotfix thoroughly to ensure it resolves the issue without introducing new problems.

5. Commit Changes

git add .
git commit -m "Fix issues in v{MAJOR}.{MINOR}.{PATCH}"

6. Merge to Main

git checkout main
git merge hotfix/v{MAJOR}.{MINOR}.{PATCH+1} --no-ff
git push github main
git push gitea main

7. Create and Push Tag

git tag -a v{MAJOR}.{MINOR}.{PATCH+1} -m "Hotfix release version {MAJOR}.{MINOR}.{PATCH+1}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}

8. Monitor and Verify

Follow steps 8 and 9 from the release process to monitor and verify the hotfix release.